1b78f13911bfe6eda303e91ef215c87a165aae8aeAlexandre Rames// Copyright 2016, VIXL authors
288c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois// All rights reserved.
388c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois//
488c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois// Redistribution and use in source and binary forms, with or without
588c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois// modification, are permitted provided that the following conditions are met:
688c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois//
788c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois//   * Redistributions of source code must retain the above copyright notice,
888c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois//     this list of conditions and the following disclaimer.
988c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois//   * Redistributions in binary form must reproduce the above copyright notice,
1088c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois//     this list of conditions and the following disclaimer in the documentation
1188c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois//     and/or other materials provided with the distribution.
1288c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois//   * Neither the name of ARM Limited nor the names of its contributors may be
1388c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois//     used to endorse or promote products derived from this software without
1488c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois//     specific prior written permission.
1588c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois//
1688c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS CONTRIBUTORS "AS IS" AND
1788c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
1888c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
1988c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
2088c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
2188c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
2288c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
2388c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
2488c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
2588c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
2688c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois
2719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois
2888c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois// -----------------------------------------------------------------------------
2988c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois// This file is auto generated from the
30d3832965c62a8ad461b9ea9eb0994ca6b0a3da2cAlexandre Rames// test/aarch32/config/template-assembler-aarch32.cc.in template file using
3188c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois// tools/generate_tests.py.
3288c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois//
3388c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois// PLEASE DO NOT EDIT.
3488c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois// -----------------------------------------------------------------------------
3588c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois
3619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois
3788c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois#include "test-runner.h"
3888c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois
3988c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois#include "test-utils.h"
40d3832965c62a8ad461b9ea9eb0994ca6b0a3da2cAlexandre Rames#include "test-utils-aarch32.h"
4188c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois
42d3832965c62a8ad461b9ea9eb0994ca6b0a3da2cAlexandre Rames#include "aarch32/assembler-aarch32.h"
43d3832965c62a8ad461b9ea9eb0994ca6b0a3da2cAlexandre Rames#include "aarch32/macro-assembler-aarch32.h"
4488c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois
4588c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois#define BUF_SIZE (4096)
4688c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois
4788c46b84df005638546de5e4e965bdcc31352f48Pierre Langloisnamespace vixl {
4888c46b84df005638546de5e4e965bdcc31352f48Pierre Langloisnamespace aarch32 {
4988c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois
5088c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois// List of instruction mnemonics.
515b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois#define FOREACH_INSTRUCTION(M) M(mov)
5288c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois
5319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois
541d451fce2580f360ef249893135526156985a85cPierre Langlois// The following definitions are defined again in each generated test, therefore
551d451fce2580f360ef249893135526156985a85cPierre Langlois// we need to place them in an anomymous namespace. It expresses that they are
561d451fce2580f360ef249893135526156985a85cPierre Langlois// local to this file only, and the compiler is not allowed to share these types
571d451fce2580f360ef249893135526156985a85cPierre Langlois// across test files during template instantiation. Specifically, `Operands` has
581d451fce2580f360ef249893135526156985a85cPierre Langlois// various layouts across generated tests so it absolutely cannot be shared.
591d451fce2580f360ef249893135526156985a85cPierre Langlois
609a9331faeba996d6c85e6e2a6355ccfc22c6cab6Rodolph Perfetta#ifdef VIXL_INCLUDE_TARGET_T32
611d451fce2580f360ef249893135526156985a85cPierre Langloisnamespace {
621d451fce2580f360ef249893135526156985a85cPierre Langlois
6388c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois// Values to be passed to the assembler to produce the instruction under test.
6488c46b84df005638546de5e4e965bdcc31352f48Pierre Langloisstruct Operands {
6588c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois  Condition cond;
6688c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois  Register rd;
6788c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois  Register rn;
6888c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois  ShiftType shift;
6988c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois  Register rs;
7088c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois};
7188c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois
7288c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois// This structure contains all data needed to test one specific
7388c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois// instruction.
7488c46b84df005638546de5e4e965bdcc31352f48Pierre Langloisstruct TestData {
7588c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois  // The `operands` field represents what to pass to the assembler to
7688c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois  // produce the instruction.
7788c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois  Operands operands;
785b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois  // True if we need to generate an IT instruction for this test to be valid.
795b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois  bool in_it_block;
805b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois  // The condition to give the IT instruction, this will be set to "al" by
815b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois  // default.
825b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois  Condition it_condition;
8388c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois  // Description of the operands, used for error reporting.
8488c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois  const char* operands_description;
8588c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois  // Unique identifier, used for generating traces.
8688c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois  const char* identifier;
8788c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois};
8888c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois
8988c46b84df005638546de5e4e965bdcc31352f48Pierre Langloisstruct TestResult {
9088c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois  size_t size;
9188c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois  const byte* encoding;
9288c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois};
9388c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois
9488c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois// Each element of this array produce one instruction encoding.
951d451fce2580f360ef249893135526156985a85cPierre Langloisconst TestData kTests[] =
965b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois    {{{ge, r1, r1, LSL, r6}, true, ge, "ge r1 r1 LSL r6", "ge_r1_r1_LSL_r6"},
975b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{cs, r7, r7, LSL, r2}, true, cs, "cs r7 r7 LSL r2", "cs_r7_r7_LSL_r2"},
985b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{gt, r1, r1, LSL, r0}, true, gt, "gt r1 r1 LSL r0", "gt_r1_r1_LSL_r0"},
995b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{pl, r3, r3, ROR, r3}, true, pl, "pl r3 r3 ROR r3", "pl_r3_r3_ROR_r3"},
1005b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{vc, r4, r4, ROR, r1}, true, vc, "vc r4 r4 ROR r1", "vc_r4_r4_ROR_r1"},
1015b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{vs, r2, r2, LSL, r0}, true, vs, "vs r2 r2 LSL r0", "vs_r2_r2_LSL_r0"},
1025b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{vc, r4, r4, LSR, r4}, true, vc, "vc r4 r4 LSR r4", "vc_r4_r4_LSR_r4"},
1035b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{le, r6, r6, ASR, r6}, true, le, "le r6 r6 ASR r6", "le_r6_r6_ASR_r6"},
1045b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{hi, r6, r6, ROR, r5}, true, hi, "hi r6 r6 ROR r5", "hi_r6_r6_ROR_r5"},
1055b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{le, r3, r3, ASR, r6}, true, le, "le r3 r3 ASR r6", "le_r3_r3_ASR_r6"},
1065b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{le, r7, r7, LSL, r0}, true, le, "le r7 r7 LSL r0", "le_r7_r7_LSL_r0"},
1075b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{pl, r3, r3, ASR, r2}, true, pl, "pl r3 r3 ASR r2", "pl_r3_r3_ASR_r2"},
1085b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{mi, r4, r4, LSL, r5}, true, mi, "mi r4 r4 LSL r5", "mi_r4_r4_LSL_r5"},
1095b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{le, r5, r5, LSR, r6}, true, le, "le r5 r5 LSR r6", "le_r5_r5_LSR_r6"},
1105b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{cs, r0, r0, ASR, r6}, true, cs, "cs r0 r0 ASR r6", "cs_r0_r0_ASR_r6"},
1115b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{vs, r2, r2, LSL, r1}, true, vs, "vs r2 r2 LSL r1", "vs_r2_r2_LSL_r1"},
1125b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{hi, r5, r5, LSL, r6}, true, hi, "hi r5 r5 LSL r6", "hi_r5_r5_LSL_r6"},
1135b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ls, r6, r6, LSL, r3}, true, ls, "ls r6 r6 LSL r3", "ls_r6_r6_LSL_r3"},
1145b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{pl, r2, r2, ASR, r7}, true, pl, "pl r2 r2 ASR r7", "pl_r2_r2_ASR_r7"},
1155b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ls, r0, r0, LSR, r2}, true, ls, "ls r0 r0 LSR r2", "ls_r0_r0_LSR_r2"},
1165b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{eq, r5, r5, ROR, r2}, true, eq, "eq r5 r5 ROR r2", "eq_r5_r5_ROR_r2"},
1175b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{eq, r5, r5, LSR, r1}, true, eq, "eq r5 r5 LSR r1", "eq_r5_r5_LSR_r1"},
1185b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ge, r4, r4, ASR, r1}, true, ge, "ge r4 r4 ASR r1", "ge_r4_r4_ASR_r1"},
1195b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ls, r6, r6, LSR, r0}, true, ls, "ls r6 r6 LSR r0", "ls_r6_r6_LSR_r0"},
1205b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ls, r0, r0, ASR, r2}, true, ls, "ls r0 r0 ASR r2", "ls_r0_r0_ASR_r2"},
1215b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{cc, r1, r1, LSL, r6}, true, cc, "cc r1 r1 LSL r6", "cc_r1_r1_LSL_r6"},
1225b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ge, r6, r6, ROR, r3}, true, ge, "ge r6 r6 ROR r3", "ge_r6_r6_ROR_r3"},
1235b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{cs, r7, r7, ASR, r3}, true, cs, "cs r7 r7 ASR r3", "cs_r7_r7_ASR_r3"},
1245b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ne, r3, r3, ROR, r4}, true, ne, "ne r3 r3 ROR r4", "ne_r3_r3_ROR_r4"},
1255b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{hi, r1, r1, ASR, r6}, true, hi, "hi r1 r1 ASR r6", "hi_r1_r1_ASR_r6"},
1265b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ls, r7, r7, LSL, r4}, true, ls, "ls r7 r7 LSL r4", "ls_r7_r7_LSL_r4"},
1275b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ge, r4, r4, LSL, r0}, true, ge, "ge r4 r4 LSL r0", "ge_r4_r4_LSL_r0"},
1285b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{vs, r4, r4, LSR, r4}, true, vs, "vs r4 r4 LSR r4", "vs_r4_r4_LSR_r4"},
1295b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{cc, r0, r0, LSR, r0}, true, cc, "cc r0 r0 LSR r0", "cc_r0_r0_LSR_r0"},
1305b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{mi, r5, r5, LSL, r5}, true, mi, "mi r5 r5 LSL r5", "mi_r5_r5_LSL_r5"},
1315b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ls, r1, r1, LSR, r0}, true, ls, "ls r1 r1 LSR r0", "ls_r1_r1_LSR_r0"},
1325b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ge, r1, r1, ASR, r7}, true, ge, "ge r1 r1 ASR r7", "ge_r1_r1_ASR_r7"},
1335b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{eq, r4, r4, ROR, r4}, true, eq, "eq r4 r4 ROR r4", "eq_r4_r4_ROR_r4"},
1345b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{vc, r5, r5, ROR, r3}, true, vc, "vc r5 r5 ROR r3", "vc_r5_r5_ROR_r3"},
1355b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ls, r3, r3, LSL, r2}, true, ls, "ls r3 r3 LSL r2", "ls_r3_r3_LSL_r2"},
1365b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ls, r6, r6, ASR, r3}, true, ls, "ls r6 r6 ASR r3", "ls_r6_r6_ASR_r3"},
1375b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{lt, r4, r4, ROR, r3}, true, lt, "lt r4 r4 ROR r3", "lt_r4_r4_ROR_r3"},
1385b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{vc, r6, r6, ASR, r7}, true, vc, "vc r6 r6 ASR r7", "vc_r6_r6_ASR_r7"},
1395b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ls, r1, r1, LSR, r3}, true, ls, "ls r1 r1 LSR r3", "ls_r1_r1_LSR_r3"},
1405b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ne, r6, r6, ROR, r6}, true, ne, "ne r6 r6 ROR r6", "ne_r6_r6_ROR_r6"},
1415b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{cc, r3, r3, LSL, r7}, true, cc, "cc r3 r3 LSL r7", "cc_r3_r3_LSL_r7"},
1425b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{hi, r3, r3, LSR, r0}, true, hi, "hi r3 r3 LSR r0", "hi_r3_r3_LSR_r0"},
1435b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{gt, r5, r5, ROR, r0}, true, gt, "gt r5 r5 ROR r0", "gt_r5_r5_ROR_r0"},
1445b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{cc, r3, r3, LSL, r0}, true, cc, "cc r3 r3 LSL r0", "cc_r3_r3_LSL_r0"},
1455b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{le, r1, r1, LSL, r0}, true, le, "le r1 r1 LSL r0", "le_r1_r1_LSL_r0"},
1465b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{vs, r5, r5, ASR, r2}, true, vs, "vs r5 r5 ASR r2", "vs_r5_r5_ASR_r2"},
1475b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{mi, r2, r2, ASR, r6}, true, mi, "mi r2 r2 ASR r6", "mi_r2_r2_ASR_r6"},
1485b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ls, r7, r7, LSR, r5}, true, ls, "ls r7 r7 LSR r5", "ls_r7_r7_LSR_r5"},
1495b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{lt, r0, r0, LSR, r0}, true, lt, "lt r0 r0 LSR r0", "lt_r0_r0_LSR_r0"},
1505b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{mi, r6, r6, ROR, r1}, true, mi, "mi r6 r6 ROR r1", "mi_r6_r6_ROR_r1"},
1515b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{cs, r1, r1, ASR, r3}, true, cs, "cs r1 r1 ASR r3", "cs_r1_r1_ASR_r3"},
1525b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{le, r0, r0, ROR, r3}, true, le, "le r0 r0 ROR r3", "le_r0_r0_ROR_r3"},
1535b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{mi, r7, r7, LSR, r5}, true, mi, "mi r7 r7 LSR r5", "mi_r7_r7_LSR_r5"},
1545b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{mi, r0, r0, LSL, r7}, true, mi, "mi r0 r0 LSL r7", "mi_r0_r0_LSL_r7"},
1555b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{vc, r3, r3, LSR, r7}, true, vc, "vc r3 r3 LSR r7", "vc_r3_r3_LSR_r7"},
1565b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ge, r3, r3, ROR, r7}, true, ge, "ge r3 r3 ROR r7", "ge_r3_r3_ROR_r7"},
1575b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{vc, r1, r1, LSL, r7}, true, vc, "vc r1 r1 LSL r7", "vc_r1_r1_LSL_r7"},
1585b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{hi, r3, r3, LSL, r3}, true, hi, "hi r3 r3 LSL r3", "hi_r3_r3_LSL_r3"},
1595b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{eq, r1, r1, ASR, r5}, true, eq, "eq r1 r1 ASR r5", "eq_r1_r1_ASR_r5"},
1605b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{lt, r5, r5, LSR, r4}, true, lt, "lt r5 r5 LSR r4", "lt_r5_r5_LSR_r4"},
1615b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{gt, r1, r1, ASR, r4}, true, gt, "gt r1 r1 ASR r4", "gt_r1_r1_ASR_r4"},
1625b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ge, r4, r4, ROR, r1}, true, ge, "ge r4 r4 ROR r1", "ge_r4_r4_ROR_r1"},
1635b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{vs, r5, r5, LSL, r0}, true, vs, "vs r5 r5 LSL r0", "vs_r5_r5_LSL_r0"},
1645b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{eq, r0, r0, ASR, r4}, true, eq, "eq r0 r0 ASR r4", "eq_r0_r0_ASR_r4"},
1655b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ge, r3, r3, LSL, r4}, true, ge, "ge r3 r3 LSL r4", "ge_r3_r3_LSL_r4"},
1665b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{pl, r3, r3, ASR, r6}, true, pl, "pl r3 r3 ASR r6", "pl_r3_r3_ASR_r6"},
1675b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{cc, r2, r2, LSL, r3}, true, cc, "cc r2 r2 LSL r3", "cc_r2_r2_LSL_r3"},
1685b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{pl, r3, r3, ASR, r1}, true, pl, "pl r3 r3 ASR r1", "pl_r3_r3_ASR_r1"},
1695b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{vc, r2, r2, LSR, r7}, true, vc, "vc r2 r2 LSR r7", "vc_r2_r2_LSR_r7"},
1705b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ge, r1, r1, ASR, r2}, true, ge, "ge r1 r1 ASR r2", "ge_r1_r1_ASR_r2"},
1715b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ge, r7, r7, LSR, r4}, true, ge, "ge r7 r7 LSR r4", "ge_r7_r7_LSR_r4"},
1725b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ls, r5, r5, LSR, r3}, true, ls, "ls r5 r5 LSR r3", "ls_r5_r5_LSR_r3"},
1735b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{eq, r4, r4, LSR, r5}, true, eq, "eq r4 r4 LSR r5", "eq_r4_r4_LSR_r5"},
1745b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ne, r7, r7, ROR, r6}, true, ne, "ne r7 r7 ROR r6", "ne_r7_r7_ROR_r6"},
1755b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{mi, r5, r5, LSL, r7}, true, mi, "mi r5 r5 LSL r7", "mi_r5_r5_LSL_r7"},
1765b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{cs, r7, r7, ROR, r4}, true, cs, "cs r7 r7 ROR r4", "cs_r7_r7_ROR_r4"},
1775b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{mi, r1, r1, ASR, r6}, true, mi, "mi r1 r1 ASR r6", "mi_r1_r1_ASR_r6"},
1785b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{pl, r6, r6, ASR, r0}, true, pl, "pl r6 r6 ASR r0", "pl_r6_r6_ASR_r0"},
1795b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{cs, r3, r3, ASR, r2}, true, cs, "cs r3 r3 ASR r2", "cs_r3_r3_ASR_r2"},
1805b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{eq, r2, r2, LSL, r1}, true, eq, "eq r2 r2 LSL r1", "eq_r2_r2_LSL_r1"},
1815b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{lt, r6, r6, LSR, r5}, true, lt, "lt r6 r6 LSR r5", "lt_r6_r6_LSR_r5"},
1825b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{cc, r0, r0, ASR, r5}, true, cc, "cc r0 r0 ASR r5", "cc_r0_r0_ASR_r5"},
1835b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{cs, r1, r1, LSL, r7}, true, cs, "cs r1 r1 LSL r7", "cs_r1_r1_LSL_r7"},
1845b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ge, r0, r0, LSR, r0}, true, ge, "ge r0 r0 LSR r0", "ge_r0_r0_LSR_r0"},
1855b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{cc, r4, r4, ROR, r7}, true, cc, "cc r4 r4 ROR r7", "cc_r4_r4_ROR_r7"},
1865b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{cs, r5, r5, ASR, r4}, true, cs, "cs r5 r5 ASR r4", "cs_r5_r5_ASR_r4"},
1875b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{vc, r6, r6, LSL, r0}, true, vc, "vc r6 r6 LSL r0", "vc_r6_r6_LSL_r0"},
1885b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{gt, r5, r5, LSL, r4}, true, gt, "gt r5 r5 LSL r4", "gt_r5_r5_LSL_r4"},
1895b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{hi, r2, r2, ROR, r3}, true, hi, "hi r2 r2 ROR r3", "hi_r2_r2_ROR_r3"},
1905b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{cc, r4, r4, ROR, r3}, true, cc, "cc r4 r4 ROR r3", "cc_r4_r4_ROR_r3"},
1915b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{hi, r0, r0, ROR, r4}, true, hi, "hi r0 r0 ROR r4", "hi_r0_r0_ROR_r4"},
1925b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{vs, r1, r1, ROR, r3}, true, vs, "vs r1 r1 ROR r3", "vs_r1_r1_ROR_r3"},
1935b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{gt, r4, r4, ROR, r5}, true, gt, "gt r4 r4 ROR r5", "gt_r4_r4_ROR_r5"},
1945b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{lt, r1, r1, LSR, r2}, true, lt, "lt r1 r1 LSR r2", "lt_r1_r1_LSR_r2"},
1955b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{lt, r4, r4, LSL, r4}, true, lt, "lt r4 r4 LSL r4", "lt_r4_r4_LSL_r4"},
1965b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{mi, r3, r3, LSL, r2}, true, mi, "mi r3 r3 LSL r2", "mi_r3_r3_LSL_r2"},
1975b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{cs, r6, r6, ROR, r7}, true, cs, "cs r6 r6 ROR r7", "cs_r6_r6_ROR_r7"},
1985b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{vc, r5, r5, LSR, r3}, true, vc, "vc r5 r5 LSR r3", "vc_r5_r5_LSR_r3"},
1995b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{vc, r4, r4, LSL, r4}, true, vc, "vc r4 r4 LSL r4", "vc_r4_r4_LSL_r4"},
2005b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{pl, r0, r0, LSL, r2}, true, pl, "pl r0 r0 LSL r2", "pl_r0_r0_LSL_r2"},
2015b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ne, r3, r3, LSL, r5}, true, ne, "ne r3 r3 LSL r5", "ne_r3_r3_LSL_r5"},
2025b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{mi, r7, r7, ROR, r5}, true, mi, "mi r7 r7 ROR r5", "mi_r7_r7_ROR_r5"},
2035b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ls, r4, r4, LSL, r4}, true, ls, "ls r4 r4 LSL r4", "ls_r4_r4_LSL_r4"},
2045b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{hi, r0, r0, ASR, r1}, true, hi, "hi r0 r0 ASR r1", "hi_r0_r0_ASR_r1"},
2055b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{vs, r5, r5, ROR, r0}, true, vs, "vs r5 r5 ROR r0", "vs_r5_r5_ROR_r0"},
2065b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{hi, r1, r1, ROR, r4}, true, hi, "hi r1 r1 ROR r4", "hi_r1_r1_ROR_r4"},
2075b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{vs, r7, r7, ROR, r2}, true, vs, "vs r7 r7 ROR r2", "vs_r7_r7_ROR_r2"},
2085b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{gt, r5, r5, ROR, r2}, true, gt, "gt r5 r5 ROR r2", "gt_r5_r5_ROR_r2"},
2095b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ge, r0, r0, LSR, r7}, true, ge, "ge r0 r0 LSR r7", "ge_r0_r0_LSR_r7"},
2105b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{cs, r7, r7, LSR, r0}, true, cs, "cs r7 r7 LSR r0", "cs_r7_r7_LSR_r0"},
2115b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ge, r1, r1, LSL, r3}, true, ge, "ge r1 r1 LSL r3", "ge_r1_r1_LSL_r3"},
2125b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{lt, r5, r5, LSL, r5}, true, lt, "lt r5 r5 LSL r5", "lt_r5_r5_LSL_r5"},
2135b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ls, r3, r3, ROR, r0}, true, ls, "ls r3 r3 ROR r0", "ls_r3_r3_ROR_r0"},
2145b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{cs, r0, r0, LSL, r7}, true, cs, "cs r0 r0 LSL r7", "cs_r0_r0_LSL_r7"},
2155b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{pl, r7, r7, ASR, r0}, true, pl, "pl r7 r7 ASR r0", "pl_r7_r7_ASR_r0"},
2165b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{vs, r2, r2, LSL, r3}, true, vs, "vs r2 r2 LSL r3", "vs_r2_r2_LSL_r3"},
2175b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ne, r0, r0, ROR, r1}, true, ne, "ne r0 r0 ROR r1", "ne_r0_r0_ROR_r1"},
2185b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{vs, r2, r2, ASR, r2}, true, vs, "vs r2 r2 ASR r2", "vs_r2_r2_ASR_r2"},
2195b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{pl, r6, r6, LSR, r3}, true, pl, "pl r6 r6 LSR r3", "pl_r6_r6_LSR_r3"},
2205b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{gt, r3, r3, ROR, r0}, true, gt, "gt r3 r3 ROR r0", "gt_r3_r3_ROR_r0"},
2215b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{vc, r3, r3, LSL, r7}, true, vc, "vc r3 r3 LSL r7", "vc_r3_r3_LSL_r7"},
2225b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ge, r6, r6, LSL, r6}, true, ge, "ge r6 r6 LSL r6", "ge_r6_r6_LSL_r6"},
2235b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ls, r2, r2, LSL, r3}, true, ls, "ls r2 r2 LSL r3", "ls_r2_r2_LSL_r3"},
2245b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{vc, r4, r4, ROR, r5}, true, vc, "vc r4 r4 ROR r5", "vc_r4_r4_ROR_r5"},
2255b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{hi, r7, r7, LSL, r1}, true, hi, "hi r7 r7 LSL r1", "hi_r7_r7_LSL_r1"},
2265b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{cs, r1, r1, ROR, r2}, true, cs, "cs r1 r1 ROR r2", "cs_r1_r1_ROR_r2"},
2275b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{vs, r1, r1, ROR, r7}, true, vs, "vs r1 r1 ROR r7", "vs_r1_r1_ROR_r7"},
2285b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{lt, r3, r3, ASR, r2}, true, lt, "lt r3 r3 ASR r2", "lt_r3_r3_ASR_r2"},
2295b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ne, r0, r0, LSR, r7}, true, ne, "ne r0 r0 LSR r7", "ne_r0_r0_LSR_r7"},
2305b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{vs, r6, r6, ROR, r1}, true, vs, "vs r6 r6 ROR r1", "vs_r6_r6_ROR_r1"},
2315b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{hi, r3, r3, ROR, r1}, true, hi, "hi r3 r3 ROR r1", "hi_r3_r3_ROR_r1"},
2325b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ls, r1, r1, ASR, r0}, true, ls, "ls r1 r1 ASR r0", "ls_r1_r1_ASR_r0"},
2335b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{cs, r1, r1, LSL, r0}, true, cs, "cs r1 r1 LSL r0", "cs_r1_r1_LSL_r0"},
2345b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{cc, r7, r7, ROR, r6}, true, cc, "cc r7 r7 ROR r6", "cc_r7_r7_ROR_r6"},
2355b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{mi, r2, r2, LSL, r5}, true, mi, "mi r2 r2 LSL r5", "mi_r2_r2_LSL_r5"},
2365b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{gt, r6, r6, LSL, r5}, true, gt, "gt r6 r6 LSL r5", "gt_r6_r6_LSL_r5"},
2375b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{gt, r4, r4, LSL, r5}, true, gt, "gt r4 r4 LSL r5", "gt_r4_r4_LSL_r5"},
2385b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{vc, r3, r3, LSL, r4}, true, vc, "vc r3 r3 LSL r4", "vc_r3_r3_LSL_r4"},
2395b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{gt, r7, r7, LSR, r2}, true, gt, "gt r7 r7 LSR r2", "gt_r7_r7_LSR_r2"},
2405b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{le, r5, r5, ROR, r2}, true, le, "le r5 r5 ROR r2", "le_r5_r5_ROR_r2"},
2415b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{vs, r6, r6, LSL, r3}, true, vs, "vs r6 r6 LSL r3", "vs_r6_r6_LSL_r3"},
2425b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{gt, r1, r1, LSL, r6}, true, gt, "gt r1 r1 LSL r6", "gt_r1_r1_LSL_r6"},
2435b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{cc, r0, r0, LSR, r5}, true, cc, "cc r0 r0 LSR r5", "cc_r0_r0_LSR_r5"},
2445b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{eq, r4, r4, LSR, r3}, true, eq, "eq r4 r4 LSR r3", "eq_r4_r4_LSR_r3"},
2455b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{hi, r6, r6, LSR, r6}, true, hi, "hi r6 r6 LSR r6", "hi_r6_r6_LSR_r6"},
2465b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{hi, r5, r5, LSR, r4}, true, hi, "hi r5 r5 LSR r4", "hi_r5_r5_LSR_r4"},
2475b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{vs, r6, r6, ASR, r0}, true, vs, "vs r6 r6 ASR r0", "vs_r6_r6_ASR_r0"},
2485b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{hi, r6, r6, LSL, r6}, true, hi, "hi r6 r6 LSL r6", "hi_r6_r6_LSL_r6"},
2495b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{eq, r6, r6, ROR, r1}, true, eq, "eq r6 r6 ROR r1", "eq_r6_r6_ROR_r1"},
2505b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ne, r1, r1, LSL, r5}, true, ne, "ne r1 r1 LSL r5", "ne_r1_r1_LSL_r5"},
2515b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{lt, r0, r0, ASR, r4}, true, lt, "lt r0 r0 ASR r4", "lt_r0_r0_ASR_r4"},
2525b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{le, r2, r2, LSL, r0}, true, le, "le r2 r2 LSL r0", "le_r2_r2_LSL_r0"},
2535b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ls, r4, r4, ASR, r2}, true, ls, "ls r4 r4 ASR r2", "ls_r4_r4_ASR_r2"},
2545b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{pl, r4, r4, ASR, r2}, true, pl, "pl r4 r4 ASR r2", "pl_r4_r4_ASR_r2"},
2555b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{lt, r6, r6, ROR, r3}, true, lt, "lt r6 r6 ROR r3", "lt_r6_r6_ROR_r3"},
2565b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ne, r4, r4, ROR, r5}, true, ne, "ne r4 r4 ROR r5", "ne_r4_r4_ROR_r5"},
2575b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{cc, r7, r7, LSL, r7}, true, cc, "cc r7 r7 LSL r7", "cc_r7_r7_LSL_r7"},
2585b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{le, r7, r7, LSR, r6}, true, le, "le r7 r7 LSR r6", "le_r7_r7_LSR_r6"},
2595b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{vc, r4, r4, LSL, r7}, true, vc, "vc r4 r4 LSL r7", "vc_r4_r4_LSL_r7"},
2605b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{vs, r1, r1, LSL, r3}, true, vs, "vs r1 r1 LSL r3", "vs_r1_r1_LSL_r3"},
2615b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{eq, r3, r3, LSL, r2}, true, eq, "eq r3 r3 LSL r2", "eq_r3_r3_LSL_r2"},
2625b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ls, r7, r7, LSL, r3}, true, ls, "ls r7 r7 LSL r3", "ls_r7_r7_LSL_r3"},
2635b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{lt, r2, r2, ROR, r3}, true, lt, "lt r2 r2 ROR r3", "lt_r2_r2_ROR_r3"},
2645b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{lt, r2, r2, LSR, r2}, true, lt, "lt r2 r2 LSR r2", "lt_r2_r2_LSR_r2"},
2655b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{eq, r0, r0, LSL, r5}, true, eq, "eq r0 r0 LSL r5", "eq_r0_r0_LSL_r5"},
2665b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{vc, r2, r2, LSR, r1}, true, vc, "vc r2 r2 LSR r1", "vc_r2_r2_LSR_r1"},
2675b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ge, r6, r6, ROR, r2}, true, ge, "ge r6 r6 ROR r2", "ge_r6_r6_ROR_r2"},
2685b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ls, r1, r1, LSL, r4}, true, ls, "ls r1 r1 LSL r4", "ls_r1_r1_LSL_r4"},
2695b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{le, r6, r6, ROR, r2}, true, le, "le r6 r6 ROR r2", "le_r6_r6_ROR_r2"},
2705b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{vc, r6, r6, LSL, r5}, true, vc, "vc r6 r6 LSL r5", "vc_r6_r6_LSL_r5"},
2715b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{le, r0, r0, LSL, r5}, true, le, "le r0 r0 LSL r5", "le_r0_r0_LSL_r5"},
2725b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{vc, r3, r3, LSR, r1}, true, vc, "vc r3 r3 LSR r1", "vc_r3_r3_LSR_r1"},
2735b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ge, r2, r2, LSR, r0}, true, ge, "ge r2 r2 LSR r0", "ge_r2_r2_LSR_r0"},
2745b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{vc, r4, r4, LSR, r0}, true, vc, "vc r4 r4 LSR r0", "vc_r4_r4_LSR_r0"},
2755b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{pl, r7, r7, LSR, r0}, true, pl, "pl r7 r7 LSR r0", "pl_r7_r7_LSR_r0"},
2765b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{vs, r7, r7, ROR, r4}, true, vs, "vs r7 r7 ROR r4", "vs_r7_r7_ROR_r4"},
2775b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{cs, r6, r6, ASR, r5}, true, cs, "cs r6 r6 ASR r5", "cs_r6_r6_ASR_r5"},
2785b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ls, r6, r6, ROR, r4}, true, ls, "ls r6 r6 ROR r4", "ls_r6_r6_ROR_r4"},
2795b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{pl, r2, r2, LSR, r4}, true, pl, "pl r2 r2 LSR r4", "pl_r2_r2_LSR_r4"},
2805b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{lt, r4, r4, ASR, r0}, true, lt, "lt r4 r4 ASR r0", "lt_r4_r4_ASR_r0"},
2815b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{vc, r0, r0, LSL, r6}, true, vc, "vc r0 r0 LSL r6", "vc_r0_r0_LSL_r6"},
2825b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{lt, r7, r7, LSL, r6}, true, lt, "lt r7 r7 LSL r6", "lt_r7_r7_LSL_r6"},
2835b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{gt, r2, r2, LSL, r2}, true, gt, "gt r2 r2 LSL r2", "gt_r2_r2_LSL_r2"},
2845b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{vc, r2, r2, ROR, r7}, true, vc, "vc r2 r2 ROR r7", "vc_r2_r2_ROR_r7"},
2855b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{cc, r5, r5, ASR, r6}, true, cc, "cc r5 r5 ASR r6", "cc_r5_r5_ASR_r6"},
2865b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{cc, r0, r0, LSL, r0}, true, cc, "cc r0 r0 LSL r0", "cc_r0_r0_LSL_r0"},
2875b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{vc, r4, r4, ROR, r6}, true, vc, "vc r4 r4 ROR r6", "vc_r4_r4_ROR_r6"},
2885b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{gt, r6, r6, LSR, r3}, true, gt, "gt r6 r6 LSR r3", "gt_r6_r6_LSR_r3"},
2895b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ne, r5, r5, LSR, r1}, true, ne, "ne r5 r5 LSR r1", "ne_r5_r5_LSR_r1"},
2905b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ne, r3, r3, ROR, r3}, true, ne, "ne r3 r3 ROR r3", "ne_r3_r3_ROR_r3"},
2915b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ge, r3, r3, LSL, r2}, true, ge, "ge r3 r3 LSL r2", "ge_r3_r3_LSL_r2"},
2925b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{pl, r3, r3, LSL, r2}, true, pl, "pl r3 r3 LSL r2", "pl_r3_r3_LSL_r2"},
2935b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{eq, r7, r7, LSL, r2}, true, eq, "eq r7 r7 LSL r2", "eq_r7_r7_LSL_r2"},
2945b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{pl, r6, r6, LSL, r7}, true, pl, "pl r6 r6 LSL r7", "pl_r6_r6_LSL_r7"},
2955b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ls, r2, r2, LSL, r0}, true, ls, "ls r2 r2 LSL r0", "ls_r2_r2_LSL_r0"},
2965b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{cs, r7, r7, LSL, r1}, true, cs, "cs r7 r7 LSL r1", "cs_r7_r7_LSL_r1"},
2975b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{mi, r7, r7, LSR, r4}, true, mi, "mi r7 r7 LSR r4", "mi_r7_r7_LSR_r4"},
2985b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{gt, r7, r7, ROR, r4}, true, gt, "gt r7 r7 ROR r4", "gt_r7_r7_ROR_r4"},
2995b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{pl, r7, r7, LSL, r3}, true, pl, "pl r7 r7 LSL r3", "pl_r7_r7_LSL_r3"},
3005b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{cc, r7, r7, ASR, r3}, true, cc, "cc r7 r7 ASR r3", "cc_r7_r7_ASR_r3"},
3015b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{hi, r6, r6, ASR, r0}, true, hi, "hi r6 r6 ASR r0", "hi_r6_r6_ASR_r0"},
3025b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ge, r0, r0, ROR, r5}, true, ge, "ge r0 r0 ROR r5", "ge_r0_r0_ROR_r5"},
3035b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ne, r3, r3, LSR, r1}, true, ne, "ne r3 r3 LSR r1", "ne_r3_r3_LSR_r1"},
3045b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{le, r0, r0, ROR, r1}, true, le, "le r0 r0 ROR r1", "le_r0_r0_ROR_r1"},
3055b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{cc, r6, r6, LSL, r0}, true, cc, "cc r6 r6 LSL r0", "cc_r6_r6_LSL_r0"},
3065b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{eq, r4, r4, LSL, r5}, true, eq, "eq r4 r4 LSL r5", "eq_r4_r4_LSL_r5"},
3075b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{le, r3, r3, ASR, r7}, true, le, "le r3 r3 ASR r7", "le_r3_r3_ASR_r7"},
3085b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{pl, r6, r6, ROR, r6}, true, pl, "pl r6 r6 ROR r6", "pl_r6_r6_ROR_r6"},
3095b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{gt, r6, r6, LSR, r4}, true, gt, "gt r6 r6 LSR r4", "gt_r6_r6_LSR_r4"},
3105b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{hi, r2, r2, LSL, r0}, true, hi, "hi r2 r2 LSL r0", "hi_r2_r2_LSL_r0"},
3115b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{eq, r1, r1, LSR, r7}, true, eq, "eq r1 r1 LSR r7", "eq_r1_r1_LSR_r7"},
3125b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{eq, r1, r1, LSR, r1}, true, eq, "eq r1 r1 LSR r1", "eq_r1_r1_LSR_r1"},
3135b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{vs, r5, r5, ASR, r5}, true, vs, "vs r5 r5 ASR r5", "vs_r5_r5_ASR_r5"},
3145b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{gt, r0, r0, LSR, r0}, true, gt, "gt r0 r0 LSR r0", "gt_r0_r0_LSR_r0"},
3155b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{hi, r7, r7, ROR, r2}, true, hi, "hi r7 r7 ROR r2", "hi_r7_r7_ROR_r2"},
3165b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{vc, r0, r0, ROR, r7}, true, vc, "vc r0 r0 ROR r7", "vc_r0_r0_ROR_r7"},
3175b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{eq, r2, r2, ASR, r2}, true, eq, "eq r2 r2 ASR r2", "eq_r2_r2_ASR_r2"},
3185b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{vc, r0, r0, LSR, r3}, true, vc, "vc r0 r0 LSR r3", "vc_r0_r0_LSR_r3"},
3195b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{le, r7, r7, ASR, r2}, true, le, "le r7 r7 ASR r2", "le_r7_r7_ASR_r2"},
3205b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ls, r4, r4, ASR, r6}, true, ls, "ls r4 r4 ASR r6", "ls_r4_r4_ASR_r6"},
3215b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{pl, r1, r1, ROR, r5}, true, pl, "pl r1 r1 ROR r5", "pl_r1_r1_ROR_r5"},
3225b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{le, r4, r4, ASR, r2}, true, le, "le r4 r4 ASR r2", "le_r4_r4_ASR_r2"},
3235b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{mi, r7, r7, LSL, r6}, true, mi, "mi r7 r7 LSL r6", "mi_r7_r7_LSL_r6"},
3245b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{cc, r0, r0, ROR, r6}, true, cc, "cc r0 r0 ROR r6", "cc_r0_r0_ROR_r6"},
3255b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{le, r6, r6, LSL, r7}, true, le, "le r6 r6 LSL r7", "le_r6_r6_LSL_r7"},
3265b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{hi, r0, r0, ASR, r0}, true, hi, "hi r0 r0 ASR r0", "hi_r0_r0_ASR_r0"},
3275b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{cs, r7, r7, ASR, r5}, true, cs, "cs r7 r7 ASR r5", "cs_r7_r7_ASR_r5"},
3285b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{eq, r2, r2, ASR, r7}, true, eq, "eq r2 r2 ASR r7", "eq_r2_r2_ASR_r7"},
3295b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{eq, r5, r5, LSL, r0}, true, eq, "eq r5 r5 LSL r0", "eq_r5_r5_LSL_r0"},
3305b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{hi, r5, r5, ASR, r6}, true, hi, "hi r5 r5 ASR r6", "hi_r5_r5_ASR_r6"},
3315b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ne, r3, r3, ASR, r7}, true, ne, "ne r3 r3 ASR r7", "ne_r3_r3_ASR_r7"},
3325b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{vs, r6, r6, ROR, r7}, true, vs, "vs r6 r6 ROR r7", "vs_r6_r6_ROR_r7"},
3335b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{le, r0, r0, LSL, r1}, true, le, "le r0 r0 LSL r1", "le_r0_r0_LSL_r1"},
3345b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{le, r7, r7, ROR, r1}, true, le, "le r7 r7 ROR r1", "le_r7_r7_ROR_r1"},
3355b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ne, r6, r6, LSL, r0}, true, ne, "ne r6 r6 LSL r0", "ne_r6_r6_LSL_r0"},
3365b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{hi, r2, r2, LSL, r7}, true, hi, "hi r2 r2 LSL r7", "hi_r2_r2_LSL_r7"},
3375b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{lt, r0, r0, ASR, r0}, true, lt, "lt r0 r0 ASR r0", "lt_r0_r0_ASR_r0"},
3385b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{cc, r2, r2, ROR, r6}, true, cc, "cc r2 r2 ROR r6", "cc_r2_r2_ROR_r6"},
3395b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{pl, r5, r5, LSR, r2}, true, pl, "pl r5 r5 LSR r2", "pl_r5_r5_LSR_r2"},
3405b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{lt, r0, r0, ROR, r4}, true, lt, "lt r0 r0 ROR r4", "lt_r0_r0_ROR_r4"},
3415b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ls, r6, r6, ASR, r1}, true, ls, "ls r6 r6 ASR r1", "ls_r6_r6_ASR_r1"},
3425b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ne, r3, r3, LSR, r7}, true, ne, "ne r3 r3 LSR r7", "ne_r3_r3_LSR_r7"},
3435b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{vs, r0, r0, ROR, r4}, true, vs, "vs r0 r0 ROR r4", "vs_r0_r0_ROR_r4"},
3445b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ge, r5, r5, ASR, r7}, true, ge, "ge r5 r5 ASR r7", "ge_r5_r5_ASR_r7"},
3455b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{pl, r5, r5, ROR, r2}, true, pl, "pl r5 r5 ROR r2", "pl_r5_r5_ROR_r2"},
3465b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{le, r1, r1, ROR, r5}, true, le, "le r1 r1 ROR r5", "le_r1_r1_ROR_r5"},
3475b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ls, r4, r4, LSR, r1}, true, ls, "ls r4 r4 LSR r1", "ls_r4_r4_LSR_r1"},
3485b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{vc, r0, r0, LSL, r3}, true, vc, "vc r0 r0 LSL r3", "vc_r0_r0_LSL_r3"},
3495b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{vc, r0, r0, ASR, r3}, true, vc, "vc r0 r0 ASR r3", "vc_r0_r0_ASR_r3"},
3505b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{pl, r7, r7, ASR, r1}, true, pl, "pl r7 r7 ASR r1", "pl_r7_r7_ASR_r1"},
3515b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{cc, r0, r0, LSL, r1}, true, cc, "cc r0 r0 LSL r1", "cc_r0_r0_LSL_r1"},
3525b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{hi, r1, r1, LSL, r0}, true, hi, "hi r1 r1 LSL r0", "hi_r1_r1_LSL_r0"},
3535b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{gt, r6, r6, LSL, r2}, true, gt, "gt r6 r6 LSL r2", "gt_r6_r6_LSL_r2"},
3545b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{vc, r2, r2, LSR, r6}, true, vc, "vc r2 r2 LSR r6", "vc_r2_r2_LSR_r6"},
3555b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{vc, r5, r5, LSL, r5}, true, vc, "vc r5 r5 LSL r5", "vc_r5_r5_LSL_r5"},
3565b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{vc, r4, r4, LSR, r1}, true, vc, "vc r4 r4 LSR r1", "vc_r4_r4_LSR_r1"},
3575b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{lt, r4, r4, LSL, r6}, true, lt, "lt r4 r4 LSL r6", "lt_r4_r4_LSL_r6"},
3585b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{gt, r6, r6, ASR, r1}, true, gt, "gt r6 r6 ASR r1", "gt_r6_r6_ASR_r1"},
3595b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{hi, r1, r1, ASR, r1}, true, hi, "hi r1 r1 ASR r1", "hi_r1_r1_ASR_r1"},
3605b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{gt, r6, r6, ROR, r4}, true, gt, "gt r6 r6 ROR r4", "gt_r6_r6_ROR_r4"},
3615b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{gt, r3, r3, LSL, r3}, true, gt, "gt r3 r3 LSL r3", "gt_r3_r3_LSL_r3"},
3625b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{vs, r3, r3, ROR, r0}, true, vs, "vs r3 r3 ROR r0", "vs_r3_r3_ROR_r0"},
3635b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{lt, r4, r4, ROR, r1}, true, lt, "lt r4 r4 ROR r1", "lt_r4_r4_ROR_r1"},
3645b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{gt, r7, r7, LSL, r5}, true, gt, "gt r7 r7 LSL r5", "gt_r7_r7_LSL_r5"},
3655b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{hi, r0, r0, ASR, r5}, true, hi, "hi r0 r0 ASR r5", "hi_r0_r0_ASR_r5"},
3665b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{vc, r4, r4, ROR, r4}, true, vc, "vc r4 r4 ROR r4", "vc_r4_r4_ROR_r4"},
3675b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{gt, r5, r5, ASR, r0}, true, gt, "gt r5 r5 ASR r0", "gt_r5_r5_ASR_r0"},
3685b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{gt, r4, r4, LSR, r0}, true, gt, "gt r4 r4 LSR r0", "gt_r4_r4_LSR_r0"},
3695b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{gt, r3, r3, ASR, r3}, true, gt, "gt r3 r3 ASR r3", "gt_r3_r3_ASR_r3"},
3705b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{lt, r5, r5, ROR, r3}, true, lt, "lt r5 r5 ROR r3", "lt_r5_r5_ROR_r3"},
3715b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{cc, r7, r7, LSL, r1}, true, cc, "cc r7 r7 LSL r1", "cc_r7_r7_LSL_r1"},
3725b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{vc, r1, r1, LSR, r2}, true, vc, "vc r1 r1 LSR r2", "vc_r1_r1_LSR_r2"},
3735b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{pl, r3, r3, ASR, r5}, true, pl, "pl r3 r3 ASR r5", "pl_r3_r3_ASR_r5"},
3745b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ls, r3, r3, LSL, r0}, true, ls, "ls r3 r3 LSL r0", "ls_r3_r3_LSL_r0"},
3755b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{vs, r5, r5, ROR, r4}, true, vs, "vs r5 r5 ROR r4", "vs_r5_r5_ROR_r4"},
3765b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{hi, r2, r2, LSL, r6}, true, hi, "hi r2 r2 LSL r6", "hi_r2_r2_LSL_r6"},
3775b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{cc, r5, r5, ROR, r0}, true, cc, "cc r5 r5 ROR r0", "cc_r5_r5_ROR_r0"},
3785b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{cs, r2, r2, ASR, r5}, true, cs, "cs r2 r2 ASR r5", "cs_r2_r2_ASR_r5"},
3795b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ge, r1, r1, ROR, r3}, true, ge, "ge r1 r1 ROR r3", "ge_r1_r1_ROR_r3"},
3805b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ne, r0, r0, ROR, r3}, true, ne, "ne r0 r0 ROR r3", "ne_r0_r0_ROR_r3"},
3815b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{cs, r7, r7, ASR, r6}, true, cs, "cs r7 r7 ASR r6", "cs_r7_r7_ASR_r6"},
3825b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{mi, r1, r1, LSR, r0}, true, mi, "mi r1 r1 LSR r0", "mi_r1_r1_LSR_r0"},
3835b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{mi, r5, r5, LSL, r1}, true, mi, "mi r5 r5 LSL r1", "mi_r5_r5_LSL_r1"},
3845b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{mi, r4, r4, LSR, r3}, true, mi, "mi r4 r4 LSR r3", "mi_r4_r4_LSR_r3"},
3855b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{pl, r3, r3, ASR, r7}, true, pl, "pl r3 r3 ASR r7", "pl_r3_r3_ASR_r7"},
3865b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ls, r2, r2, ASR, r2}, true, ls, "ls r2 r2 ASR r2", "ls_r2_r2_ASR_r2"},
3875b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{eq, r7, r7, LSL, r3}, true, eq, "eq r7 r7 LSL r3", "eq_r7_r7_LSL_r3"},
3885b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{gt, r4, r4, LSL, r2}, true, gt, "gt r4 r4 LSL r2", "gt_r4_r4_LSL_r2"},
3895b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ne, r6, r6, LSL, r6}, true, ne, "ne r6 r6 LSL r6", "ne_r6_r6_LSL_r6"},
3905b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{eq, r7, r7, LSL, r0}, true, eq, "eq r7 r7 LSL r0", "eq_r7_r7_LSL_r0"},
3915b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{le, r7, r7, LSL, r7}, true, le, "le r7 r7 LSL r7", "le_r7_r7_LSL_r7"},
3925b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{eq, r0, r0, ROR, r1}, true, eq, "eq r0 r0 ROR r1", "eq_r0_r0_ROR_r1"},
3935b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{hi, r2, r2, LSR, r6}, true, hi, "hi r2 r2 LSR r6", "hi_r2_r2_LSR_r6"},
3945b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{vs, r6, r6, LSL, r5}, true, vs, "vs r6 r6 LSL r5", "vs_r6_r6_LSL_r5"},
3955b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{gt, r5, r5, ASR, r1}, true, gt, "gt r5 r5 ASR r1", "gt_r5_r5_ASR_r1"},
3965b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ne, r4, r4, ASR, r3}, true, ne, "ne r4 r4 ASR r3", "ne_r4_r4_ASR_r3"},
3975b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{lt, r6, r6, LSL, r3}, true, lt, "lt r6 r6 LSL r3", "lt_r6_r6_LSL_r3"},
3985b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ls, r3, r3, ASR, r3}, true, ls, "ls r3 r3 ASR r3", "ls_r3_r3_ASR_r3"},
3995b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{le, r4, r4, LSL, r1}, true, le, "le r4 r4 LSL r1", "le_r4_r4_LSL_r1"},
4005b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{gt, r7, r7, LSL, r6}, true, gt, "gt r7 r7 LSL r6", "gt_r7_r7_LSL_r6"},
4015b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{vc, r2, r2, ROR, r1}, true, vc, "vc r2 r2 ROR r1", "vc_r2_r2_ROR_r1"},
4025b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ne, r1, r1, ROR, r1}, true, ne, "ne r1 r1 ROR r1", "ne_r1_r1_ROR_r1"},
4035b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{cc, r3, r3, ASR, r0}, true, cc, "cc r3 r3 ASR r0", "cc_r3_r3_ASR_r0"},
4045b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{lt, r4, r4, LSR, r0}, true, lt, "lt r4 r4 LSR r0", "lt_r4_r4_LSR_r0"},
4055b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{cc, r3, r3, LSR, r7}, true, cc, "cc r3 r3 LSR r7", "cc_r3_r3_LSR_r7"},
4065b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{eq, r0, r0, LSR, r5}, true, eq, "eq r0 r0 LSR r5", "eq_r0_r0_LSR_r5"},
4075b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{lt, r5, r5, ROR, r5}, true, lt, "lt r5 r5 ROR r5", "lt_r5_r5_ROR_r5"},
4085b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{vc, r0, r0, LSL, r7}, true, vc, "vc r0 r0 LSL r7", "vc_r0_r0_LSL_r7"},
4095b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{cs, r7, r7, LSR, r5}, true, cs, "cs r7 r7 LSR r5", "cs_r7_r7_LSR_r5"},
4105b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{lt, r4, r4, ROR, r0}, true, lt, "lt r4 r4 ROR r0", "lt_r4_r4_ROR_r0"},
4115b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{vc, r4, r4, ROR, r3}, true, vc, "vc r4 r4 ROR r3", "vc_r4_r4_ROR_r3"},
4125b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{le, r6, r6, LSL, r6}, true, le, "le r6 r6 LSL r6", "le_r6_r6_LSL_r6"},
4135b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{cc, r4, r4, LSR, r7}, true, cc, "cc r4 r4 LSR r7", "cc_r4_r4_LSR_r7"},
4145b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{pl, r7, r7, ROR, r2}, true, pl, "pl r7 r7 ROR r2", "pl_r7_r7_ROR_r2"},
4155b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{hi, r0, r0, LSL, r6}, true, hi, "hi r0 r0 LSL r6", "hi_r0_r0_LSL_r6"},
4165b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{gt, r1, r1, LSR, r4}, true, gt, "gt r1 r1 LSR r4", "gt_r1_r1_LSR_r4"},
4175b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{vs, r2, r2, LSR, r1}, true, vs, "vs r2 r2 LSR r1", "vs_r2_r2_LSR_r1"},
4185b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{cc, r3, r3, ROR, r0}, true, cc, "cc r3 r3 ROR r0", "cc_r3_r3_ROR_r0"},
4195b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ge, r6, r6, LSR, r5}, true, ge, "ge r6 r6 LSR r5", "ge_r6_r6_LSR_r5"},
4205b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ne, r2, r2, ASR, r2}, true, ne, "ne r2 r2 ASR r2", "ne_r2_r2_ASR_r2"},
4215b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{lt, r5, r5, LSR, r7}, true, lt, "lt r5 r5 LSR r7", "lt_r5_r5_LSR_r7"},
4225b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{vs, r3, r3, LSL, r4}, true, vs, "vs r3 r3 LSL r4", "vs_r3_r3_LSL_r4"},
4235b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{lt, r7, r7, LSR, r5}, true, lt, "lt r7 r7 LSR r5", "lt_r7_r7_LSR_r5"},
4245b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{vc, r2, r2, LSL, r5}, true, vc, "vc r2 r2 LSL r5", "vc_r2_r2_LSL_r5"},
4255b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{le, r6, r6, ASR, r7}, true, le, "le r6 r6 ASR r7", "le_r6_r6_ASR_r7"},
4265b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ne, r1, r1, LSL, r6}, true, ne, "ne r1 r1 LSL r6", "ne_r1_r1_LSL_r6"},
4275b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{le, r6, r6, ASR, r1}, true, le, "le r6 r6 ASR r1", "le_r6_r6_ASR_r1"},
4285b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ls, r1, r1, ROR, r7}, true, ls, "ls r1 r1 ROR r7", "ls_r1_r1_ROR_r7"},
4295b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{pl, r0, r0, LSL, r0}, true, pl, "pl r0 r0 LSL r0", "pl_r0_r0_LSL_r0"},
4305b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{pl, r4, r4, ROR, r1}, true, pl, "pl r4 r4 ROR r1", "pl_r4_r4_ROR_r1"},
4315b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ne, r7, r7, ASR, r3}, true, ne, "ne r7 r7 ASR r3", "ne_r7_r7_ASR_r3"},
4325b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{hi, r6, r6, LSR, r7}, true, hi, "hi r6 r6 LSR r7", "hi_r6_r6_LSR_r7"},
4335b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{eq, r5, r5, LSL, r4}, true, eq, "eq r5 r5 LSL r4", "eq_r5_r5_LSL_r4"},
4345b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{hi, r7, r7, LSR, r4}, true, hi, "hi r7 r7 LSR r4", "hi_r7_r7_LSR_r4"},
4355b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ls, r3, r3, ASR, r0}, true, ls, "ls r3 r3 ASR r0", "ls_r3_r3_ASR_r0"},
4365b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{mi, r2, r2, ASR, r0}, true, mi, "mi r2 r2 ASR r0", "mi_r2_r2_ASR_r0"},
4375b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{gt, r7, r7, ROR, r3}, true, gt, "gt r7 r7 ROR r3", "gt_r7_r7_ROR_r3"},
4385b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ge, r1, r1, ASR, r5}, true, ge, "ge r1 r1 ASR r5", "ge_r1_r1_ASR_r5"},
4395b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{vc, r3, r3, LSR, r3}, true, vc, "vc r3 r3 LSR r3", "vc_r3_r3_LSR_r3"},
4405b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{gt, r6, r6, LSR, r2}, true, gt, "gt r6 r6 LSR r2", "gt_r6_r6_LSR_r2"},
4415b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{vc, r6, r6, LSL, r2}, true, vc, "vc r6 r6 LSL r2", "vc_r6_r6_LSL_r2"},
4425b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{le, r7, r7, ASR, r1}, true, le, "le r7 r7 ASR r1", "le_r7_r7_ASR_r1"},
4435b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{pl, r1, r1, LSR, r7}, true, pl, "pl r1 r1 LSR r7", "pl_r1_r1_LSR_r7"},
4445b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{mi, r1, r1, ROR, r5}, true, mi, "mi r1 r1 ROR r5", "mi_r1_r1_ROR_r5"},
4455b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{eq, r6, r6, ASR, r1}, true, eq, "eq r6 r6 ASR r1", "eq_r6_r6_ASR_r1"},
4465b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{vs, r4, r4, LSR, r6}, true, vs, "vs r4 r4 LSR r6", "vs_r4_r4_LSR_r6"},
4475b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ls, r0, r0, ASR, r0}, true, ls, "ls r0 r0 ASR r0", "ls_r0_r0_ASR_r0"},
4485b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{cc, r0, r0, LSL, r2}, true, cc, "cc r0 r0 LSL r2", "cc_r0_r0_LSL_r2"},
4495b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{cc, r3, r3, ROR, r7}, true, cc, "cc r3 r3 ROR r7", "cc_r3_r3_ROR_r7"},
4505b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ge, r2, r2, ROR, r7}, true, ge, "ge r2 r2 ROR r7", "ge_r2_r2_ROR_r7"},
4515b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{mi, r7, r7, LSL, r4}, true, mi, "mi r7 r7 LSL r4", "mi_r7_r7_LSL_r4"},
4525b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{le, r4, r4, LSR, r5}, true, le, "le r4 r4 LSR r5", "le_r4_r4_LSR_r5"},
4535b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{cc, r5, r5, ASR, r3}, true, cc, "cc r5 r5 ASR r3", "cc_r5_r5_ASR_r3"},
4545b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ls, r0, r0, ASR, r6}, true, ls, "ls r0 r0 ASR r6", "ls_r0_r0_ASR_r6"},
4555b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ge, r4, r4, LSL, r1}, true, ge, "ge r4 r4 LSL r1", "ge_r4_r4_LSL_r1"},
4565b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{pl, r1, r1, LSL, r5}, true, pl, "pl r1 r1 LSL r5", "pl_r1_r1_LSL_r5"},
4575b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ne, r2, r2, ASR, r5}, true, ne, "ne r2 r2 ASR r5", "ne_r2_r2_ASR_r5"},
4585b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{eq, r4, r4, ROR, r3}, true, eq, "eq r4 r4 ROR r3", "eq_r4_r4_ROR_r3"},
4595b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{mi, r2, r2, LSL, r3}, true, mi, "mi r2 r2 LSL r3", "mi_r2_r2_LSL_r3"},
4605b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{lt, r2, r2, ROR, r4}, true, lt, "lt r2 r2 ROR r4", "lt_r2_r2_ROR_r4"},
4615b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ge, r7, r7, LSR, r2}, true, ge, "ge r7 r7 LSR r2", "ge_r7_r7_LSR_r2"},
4625b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{gt, r4, r4, ASR, r5}, true, gt, "gt r4 r4 ASR r5", "gt_r4_r4_ASR_r5"},
4635b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{le, r2, r2, LSL, r2}, true, le, "le r2 r2 LSL r2", "le_r2_r2_LSL_r2"},
4645b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{eq, r3, r3, LSR, r5}, true, eq, "eq r3 r3 LSR r5", "eq_r3_r3_LSR_r5"},
4655b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ge, r7, r7, ASR, r1}, true, ge, "ge r7 r7 ASR r1", "ge_r7_r7_ASR_r1"},
4665b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{vc, r1, r1, LSL, r2}, true, vc, "vc r1 r1 LSL r2", "vc_r1_r1_LSL_r2"},
4675b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{cs, r2, r2, ASR, r3}, true, cs, "cs r2 r2 ASR r3", "cs_r2_r2_ASR_r3"},
4685b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ge, r6, r6, LSL, r7}, true, ge, "ge r6 r6 LSL r7", "ge_r6_r6_LSL_r7"},
4695b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{hi, r5, r5, LSL, r0}, true, hi, "hi r5 r5 LSL r0", "hi_r5_r5_LSL_r0"},
4705b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{eq, r4, r4, LSR, r1}, true, eq, "eq r4 r4 LSR r1", "eq_r4_r4_LSR_r1"},
4715b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{gt, r5, r5, LSL, r1}, true, gt, "gt r5 r5 LSL r1", "gt_r5_r5_LSL_r1"},
4725b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{vs, r5, r5, LSL, r7}, true, vs, "vs r5 r5 LSL r7", "vs_r5_r5_LSL_r7"},
4735b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ge, r7, r7, LSL, r2}, true, ge, "ge r7 r7 LSL r2", "ge_r7_r7_LSL_r2"},
4745b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{hi, r0, r0, ASR, r7}, true, hi, "hi r0 r0 ASR r7", "hi_r0_r0_ASR_r7"},
4755b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{cs, r3, r3, LSL, r3}, true, cs, "cs r3 r3 LSL r3", "cs_r3_r3_LSL_r3"},
4765b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{lt, r2, r2, LSL, r6}, true, lt, "lt r2 r2 LSL r6", "lt_r2_r2_LSL_r6"},
4775b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{pl, r1, r1, ASR, r4}, true, pl, "pl r1 r1 ASR r4", "pl_r1_r1_ASR_r4"},
4785b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{vc, r1, r1, ASR, r5}, true, vc, "vc r1 r1 ASR r5", "vc_r1_r1_ASR_r5"},
4795b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{lt, r4, r4, ROR, r5}, true, lt, "lt r4 r4 ROR r5", "lt_r4_r4_ROR_r5"},
4805b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{cc, r0, r0, ASR, r3}, true, cc, "cc r0 r0 ASR r3", "cc_r0_r0_ASR_r3"},
4815b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{vs, r4, r4, LSL, r5}, true, vs, "vs r4 r4 LSL r5", "vs_r4_r4_LSL_r5"},
4825b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{vs, r0, r0, LSL, r3}, true, vs, "vs r0 r0 LSL r3", "vs_r0_r0_LSL_r3"},
4835b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{hi, r1, r1, ROR, r7}, true, hi, "hi r1 r1 ROR r7", "hi_r1_r1_ROR_r7"},
4845b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{hi, r1, r1, LSL, r5}, true, hi, "hi r1 r1 LSL r5", "hi_r1_r1_LSL_r5"},
4855b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{le, r0, r0, LSR, r7}, true, le, "le r0 r0 LSR r7", "le_r0_r0_LSR_r7"},
4865b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ls, r2, r2, ASR, r3}, true, ls, "ls r2 r2 ASR r3", "ls_r2_r2_ASR_r3"},
4875b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{mi, r3, r3, LSL, r3}, true, mi, "mi r3 r3 LSL r3", "mi_r3_r3_LSL_r3"},
4885b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ne, r6, r6, ASR, r1}, true, ne, "ne r6 r6 ASR r1", "ne_r6_r6_ASR_r1"},
4895b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{le, r6, r6, LSL, r5}, true, le, "le r6 r6 LSL r5", "le_r6_r6_LSL_r5"},
4905b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{gt, r5, r5, LSR, r6}, true, gt, "gt r5 r5 LSR r6", "gt_r5_r5_LSR_r6"},
4915b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{vs, r5, r5, ASR, r1}, true, vs, "vs r5 r5 ASR r1", "vs_r5_r5_ASR_r1"},
4925b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ne, r3, r3, LSL, r1}, true, ne, "ne r3 r3 LSL r1", "ne_r3_r3_LSL_r1"},
4935b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{lt, r2, r2, LSL, r4}, true, lt, "lt r2 r2 LSL r4", "lt_r2_r2_LSL_r4"},
4945b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{eq, r1, r1, ROR, r1}, true, eq, "eq r1 r1 ROR r1", "eq_r1_r1_ROR_r1"},
4955b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{cs, r1, r1, LSL, r6}, true, cs, "cs r1 r1 LSL r6", "cs_r1_r1_LSL_r6"},
4965b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{hi, r7, r7, ASR, r2}, true, hi, "hi r7 r7 ASR r2", "hi_r7_r7_ASR_r2"},
4975b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{mi, r4, r4, LSL, r3}, true, mi, "mi r4 r4 LSL r3", "mi_r4_r4_LSL_r3"},
4985b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{eq, r3, r3, LSL, r4}, true, eq, "eq r3 r3 LSL r4", "eq_r3_r3_LSL_r4"},
4995b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ne, r6, r6, LSL, r3}, true, ne, "ne r6 r6 LSL r3", "ne_r6_r6_LSL_r3"},
5005b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{vs, r4, r4, LSR, r0}, true, vs, "vs r4 r4 LSR r0", "vs_r4_r4_LSR_r0"},
5015b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{eq, r6, r6, ASR, r4}, true, eq, "eq r6 r6 ASR r4", "eq_r6_r6_ASR_r4"},
5025b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{pl, r0, r0, ASR, r1}, true, pl, "pl r0 r0 ASR r1", "pl_r0_r0_ASR_r1"},
5035b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{cs, r7, r7, LSR, r3}, true, cs, "cs r7 r7 LSR r3", "cs_r7_r7_LSR_r3"},
5045b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{le, r2, r2, LSR, r2}, true, le, "le r2 r2 LSR r2", "le_r2_r2_LSR_r2"},
5055b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ge, r3, r3, LSR, r5}, true, ge, "ge r3 r3 LSR r5", "ge_r3_r3_LSR_r5"},
5065b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ls, r0, r0, ASR, r4}, true, ls, "ls r0 r0 ASR r4", "ls_r0_r0_ASR_r4"},
5075b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{lt, r6, r6, LSR, r1}, true, lt, "lt r6 r6 LSR r1", "lt_r6_r6_LSR_r1"},
5085b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{vc, r0, r0, ASR, r5}, true, vc, "vc r0 r0 ASR r5", "vc_r0_r0_ASR_r5"},
5095b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{lt, r2, r2, LSR, r0}, true, lt, "lt r2 r2 LSR r0", "lt_r2_r2_LSR_r0"},
5105b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{pl, r5, r5, ASR, r0}, true, pl, "pl r5 r5 ASR r0", "pl_r5_r5_ASR_r0"},
5115b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{pl, r1, r1, ROR, r6}, true, pl, "pl r1 r1 ROR r6", "pl_r1_r1_ROR_r6"},
5125b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{hi, r4, r4, ASR, r7}, true, hi, "hi r4 r4 ASR r7", "hi_r4_r4_ASR_r7"},
5135b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{le, r6, r6, ROR, r3}, true, le, "le r6 r6 ROR r3", "le_r6_r6_ROR_r3"},
5145b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{cc, r1, r1, LSL, r3}, true, cc, "cc r1 r1 LSL r3", "cc_r1_r1_LSL_r3"},
5155b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{vc, r1, r1, ROR, r1}, true, vc, "vc r1 r1 ROR r1", "vc_r1_r1_ROR_r1"},
5165b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{vc, r0, r0, ROR, r4}, true, vc, "vc r0 r0 ROR r4", "vc_r0_r0_ROR_r4"},
5175b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ls, r3, r3, LSL, r5}, true, ls, "ls r3 r3 LSL r5", "ls_r3_r3_LSL_r5"},
5185b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ls, r5, r5, ROR, r2}, true, ls, "ls r5 r5 ROR r2", "ls_r5_r5_ROR_r2"},
5195b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{lt, r0, r0, ROR, r5}, true, lt, "lt r0 r0 ROR r5", "lt_r0_r0_ROR_r5"},
5205b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{le, r7, r7, ROR, r4}, true, le, "le r7 r7 ROR r4", "le_r7_r7_ROR_r4"},
5215b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{eq, r1, r1, ROR, r0}, true, eq, "eq r1 r1 ROR r0", "eq_r1_r1_ROR_r0"},
5225b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{gt, r3, r3, LSL, r7}, true, gt, "gt r3 r3 LSL r7", "gt_r3_r3_LSL_r7"},
5235b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{vc, r0, r0, ASR, r6}, true, vc, "vc r0 r0 ASR r6", "vc_r0_r0_ASR_r6"},
5245b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ge, r7, r7, LSL, r5}, true, ge, "ge r7 r7 LSL r5", "ge_r7_r7_LSL_r5"},
5255b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{pl, r5, r5, LSL, r4}, true, pl, "pl r5 r5 LSL r4", "pl_r5_r5_LSL_r4"},
5265b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{pl, r0, r0, ROR, r6}, true, pl, "pl r0 r0 ROR r6", "pl_r0_r0_ROR_r6"},
5275b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{hi, r1, r1, ROR, r1}, true, hi, "hi r1 r1 ROR r1", "hi_r1_r1_ROR_r1"},
5285b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{lt, r1, r1, ASR, r2}, true, lt, "lt r1 r1 ASR r2", "lt_r1_r1_ASR_r2"},
5295b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{cs, r4, r4, LSR, r6}, true, cs, "cs r4 r4 LSR r6", "cs_r4_r4_LSR_r6"},
5305b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{hi, r1, r1, ASR, r0}, true, hi, "hi r1 r1 ASR r0", "hi_r1_r1_ASR_r0"},
5315b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{le, r7, r7, ROR, r5}, true, le, "le r7 r7 ROR r5", "le_r7_r7_ROR_r5"},
5325b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{cs, r6, r6, LSL, r0}, true, cs, "cs r6 r6 LSL r0", "cs_r6_r6_LSL_r0"},
5335b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{hi, r3, r3, ROR, r3}, true, hi, "hi r3 r3 ROR r3", "hi_r3_r3_ROR_r3"},
5345b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{vs, r6, r6, LSR, r0}, true, vs, "vs r6 r6 LSR r0", "vs_r6_r6_LSR_r0"},
5355b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ls, r5, r5, LSR, r6}, true, ls, "ls r5 r5 LSR r6", "ls_r5_r5_LSR_r6"},
5365b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{vs, r1, r1, ROR, r0}, true, vs, "vs r1 r1 ROR r0", "vs_r1_r1_ROR_r0"},
5375b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ge, r3, r3, ASR, r4}, true, ge, "ge r3 r3 ASR r4", "ge_r3_r3_ASR_r4"},
5385b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ne, r5, r5, ROR, r7}, true, ne, "ne r5 r5 ROR r7", "ne_r5_r5_ROR_r7"},
5395b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ls, r5, r5, LSL, r2}, true, ls, "ls r5 r5 LSL r2", "ls_r5_r5_LSL_r2"},
5405b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{mi, r4, r4, ROR, r1}, true, mi, "mi r4 r4 ROR r1", "mi_r4_r4_ROR_r1"},
5415b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{cs, r6, r6, LSR, r6}, true, cs, "cs r6 r6 LSR r6", "cs_r6_r6_LSR_r6"},
5425b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{cs, r1, r1, ROR, r1}, true, cs, "cs r1 r1 ROR r1", "cs_r1_r1_ROR_r1"},
5435b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ls, r5, r5, ROR, r3}, true, ls, "ls r5 r5 ROR r3", "ls_r5_r5_ROR_r3"},
5445b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{vs, r7, r7, LSR, r3}, true, vs, "vs r7 r7 LSR r3", "vs_r7_r7_LSR_r3"},
5455b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{le, r0, r0, ROR, r2}, true, le, "le r0 r0 ROR r2", "le_r0_r0_ROR_r2"},
5465b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{vc, r5, r5, LSR, r5}, true, vc, "vc r5 r5 LSR r5", "vc_r5_r5_LSR_r5"},
5475b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{vc, r4, r4, LSL, r3}, true, vc, "vc r4 r4 LSL r3", "vc_r4_r4_LSL_r3"},
5485b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{vc, r2, r2, LSR, r4}, true, vc, "vc r2 r2 LSR r4", "vc_r2_r2_LSR_r4"},
5495b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ge, r5, r5, ROR, r2}, true, ge, "ge r5 r5 ROR r2", "ge_r5_r5_ROR_r2"},
5505b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{cc, r6, r6, ASR, r7}, true, cc, "cc r6 r6 ASR r7", "cc_r6_r6_ASR_r7"},
5515b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{hi, r6, r6, ASR, r5}, true, hi, "hi r6 r6 ASR r5", "hi_r6_r6_ASR_r5"},
5525b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{vs, r0, r0, LSR, r1}, true, vs, "vs r0 r0 LSR r1", "vs_r0_r0_LSR_r1"},
5535b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ls, r4, r4, LSL, r0}, true, ls, "ls r4 r4 LSL r0", "ls_r4_r4_LSL_r0"},
5545b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{mi, r6, r6, ASR, r4}, true, mi, "mi r6 r6 ASR r4", "mi_r6_r6_ASR_r4"},
5555b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{le, r6, r6, LSL, r4}, true, le, "le r6 r6 LSL r4", "le_r6_r6_LSL_r4"},
5565b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{cs, r6, r6, ASR, r6}, true, cs, "cs r6 r6 ASR r6", "cs_r6_r6_ASR_r6"},
5575b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{mi, r6, r6, ROR, r7}, true, mi, "mi r6 r6 ROR r7", "mi_r6_r6_ROR_r7"},
5585b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{hi, r5, r5, LSL, r4}, true, hi, "hi r5 r5 LSL r4", "hi_r5_r5_LSL_r4"},
5595b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{hi, r6, r6, LSL, r7}, true, hi, "hi r6 r6 LSL r7", "hi_r6_r6_LSL_r7"},
5605b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{cc, r6, r6, ROR, r5}, true, cc, "cc r6 r6 ROR r5", "cc_r6_r6_ROR_r5"},
5615b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ge, r0, r0, ASR, r2}, true, ge, "ge r0 r0 ASR r2", "ge_r0_r0_ASR_r2"},
5625b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{eq, r1, r1, LSR, r6}, true, eq, "eq r1 r1 LSR r6", "eq_r1_r1_LSR_r6"},
5635b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{le, r1, r1, LSR, r7}, true, le, "le r1 r1 LSR r7", "le_r1_r1_LSR_r7"},
5645b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ls, r4, r4, LSR, r5}, true, ls, "ls r4 r4 LSR r5", "ls_r4_r4_LSR_r5"},
5655b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{hi, r6, r6, LSR, r4}, true, hi, "hi r6 r6 LSR r4", "hi_r6_r6_LSR_r4"},
5665b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{cc, r1, r1, ROR, r6}, true, cc, "cc r1 r1 ROR r6", "cc_r1_r1_ROR_r6"},
5675b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{mi, r3, r3, ROR, r4}, true, mi, "mi r3 r3 ROR r4", "mi_r3_r3_ROR_r4"},
5685b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{vc, r2, r2, LSL, r4}, true, vc, "vc r2 r2 LSL r4", "vc_r2_r2_LSL_r4"},
5695b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{hi, r3, r3, LSL, r0}, true, hi, "hi r3 r3 LSL r0", "hi_r3_r3_LSL_r0"},
5705b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{vc, r6, r6, ASR, r1}, true, vc, "vc r6 r6 ASR r1", "vc_r6_r6_ASR_r1"},
5715b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{pl, r6, r6, LSR, r1}, true, pl, "pl r6 r6 LSR r1", "pl_r6_r6_LSR_r1"},
5725b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{hi, r1, r1, ASR, r4}, true, hi, "hi r1 r1 ASR r4", "hi_r1_r1_ASR_r4"},
5735b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ne, r3, r3, ASR, r0}, true, ne, "ne r3 r3 ASR r0", "ne_r3_r3_ASR_r0"},
5745b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{gt, r4, r4, ROR, r2}, true, gt, "gt r4 r4 ROR r2", "gt_r4_r4_ROR_r2"},
5755b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ls, r7, r7, ASR, r2}, true, ls, "ls r7 r7 ASR r2", "ls_r7_r7_ASR_r2"},
5765b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{lt, r2, r2, LSL, r3}, true, lt, "lt r2 r2 LSL r3", "lt_r2_r2_LSL_r3"},
5775b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{pl, r4, r4, LSL, r7}, true, pl, "pl r4 r4 LSL r7", "pl_r4_r4_LSL_r7"},
5785b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ge, r0, r0, ASR, r0}, true, ge, "ge r0 r0 ASR r0", "ge_r0_r0_ASR_r0"},
5795b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{gt, r4, r4, ASR, r4}, true, gt, "gt r4 r4 ASR r4", "gt_r4_r4_ASR_r4"},
5805b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{eq, r7, r7, ROR, r3}, true, eq, "eq r7 r7 ROR r3", "eq_r7_r7_ROR_r3"},
5815b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ne, r2, r2, LSL, r0}, true, ne, "ne r2 r2 LSL r0", "ne_r2_r2_LSL_r0"},
5825b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ge, r1, r1, LSR, r3}, true, ge, "ge r1 r1 LSR r3", "ge_r1_r1_LSR_r3"},
5835b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ge, r4, r4, ROR, r5}, true, ge, "ge r4 r4 ROR r5", "ge_r4_r4_ROR_r5"},
5845b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ne, r6, r6, LSR, r6}, true, ne, "ne r6 r6 LSR r6", "ne_r6_r6_LSR_r6"},
5855b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{le, r1, r1, ASR, r0}, true, le, "le r1 r1 ASR r0", "le_r1_r1_ASR_r0"},
5865b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ge, r6, r6, LSR, r6}, true, ge, "ge r6 r6 LSR r6", "ge_r6_r6_LSR_r6"},
5875b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{pl, r5, r5, ROR, r6}, true, pl, "pl r5 r5 ROR r6", "pl_r5_r5_ROR_r6"},
5885b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{lt, r2, r2, LSL, r2}, true, lt, "lt r2 r2 LSL r2", "lt_r2_r2_LSL_r2"},
5895b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{hi, r7, r7, LSL, r0}, true, hi, "hi r7 r7 LSL r0", "hi_r7_r7_LSL_r0"},
5905b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{lt, r6, r6, ASR, r4}, true, lt, "lt r6 r6 ASR r4", "lt_r6_r6_ASR_r4"},
5915b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ge, r3, r3, LSR, r6}, true, ge, "ge r3 r3 LSR r6", "ge_r3_r3_LSR_r6"},
5925b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{eq, r4, r4, ASR, r0}, true, eq, "eq r4 r4 ASR r0", "eq_r4_r4_ASR_r0"},
5935b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ne, r7, r7, ROR, r0}, true, ne, "ne r7 r7 ROR r0", "ne_r7_r7_ROR_r0"},
5945b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{pl, r5, r5, LSR, r1}, true, pl, "pl r5 r5 LSR r1", "pl_r5_r5_LSR_r1"},
5955b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{pl, r3, r3, ROR, r2}, true, pl, "pl r3 r3 ROR r2", "pl_r3_r3_ROR_r2"},
5965b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{vc, r1, r1, ASR, r0}, true, vc, "vc r1 r1 ASR r0", "vc_r1_r1_ASR_r0"},
5975b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{eq, r0, r0, ASR, r6}, true, eq, "eq r0 r0 ASR r6", "eq_r0_r0_ASR_r6"},
5985b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{le, r3, r3, ROR, r4}, true, le, "le r3 r3 ROR r4", "le_r3_r3_ROR_r4"},
5995b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{lt, r7, r7, LSR, r2}, true, lt, "lt r7 r7 LSR r2", "lt_r7_r7_LSR_r2"},
6005b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ls, r5, r5, ASR, r1}, true, ls, "ls r5 r5 ASR r1", "ls_r5_r5_ASR_r1"},
6015b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{cc, r6, r6, ROR, r6}, true, cc, "cc r6 r6 ROR r6", "cc_r6_r6_ROR_r6"},
6025b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{vs, r1, r1, ROR, r2}, true, vs, "vs r1 r1 ROR r2", "vs_r1_r1_ROR_r2"},
6035b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{mi, r5, r5, LSL, r6}, true, mi, "mi r5 r5 LSL r6", "mi_r5_r5_LSL_r6"},
6045b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{le, r1, r1, ROR, r1}, true, le, "le r1 r1 ROR r1", "le_r1_r1_ROR_r1"},
6055b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{vs, r2, r2, LSL, r4}, true, vs, "vs r2 r2 LSL r4", "vs_r2_r2_LSL_r4"},
6065b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{mi, r7, r7, LSR, r1}, true, mi, "mi r7 r7 LSR r1", "mi_r7_r7_LSR_r1"},
6075b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{vc, r5, r5, ASR, r3}, true, vc, "vc r5 r5 ASR r3", "vc_r5_r5_ASR_r3"},
6085b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{pl, r6, r6, ASR, r6}, true, pl, "pl r6 r6 ASR r6", "pl_r6_r6_ASR_r6"},
6095b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{pl, r6, r6, ROR, r5}, true, pl, "pl r6 r6 ROR r5", "pl_r6_r6_ROR_r5"},
6105b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{cs, r6, r6, LSL, r4}, true, cs, "cs r6 r6 LSL r4", "cs_r6_r6_LSL_r4"},
6115b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{mi, r5, r5, LSR, r3}, true, mi, "mi r5 r5 LSR r3", "mi_r5_r5_LSR_r3"},
6125b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{lt, r5, r5, ROR, r0}, true, lt, "lt r5 r5 ROR r0", "lt_r5_r5_ROR_r0"},
6135b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{gt, r0, r0, LSR, r1}, true, gt, "gt r0 r0 LSR r1", "gt_r0_r0_LSR_r1"},
6145b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{cs, r7, r7, LSL, r6}, true, cs, "cs r7 r7 LSL r6", "cs_r7_r7_LSL_r6"},
6155b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{cs, r5, r5, LSL, r1}, true, cs, "cs r5 r5 LSL r1", "cs_r5_r5_LSL_r1"},
6165b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ge, r5, r5, ROR, r4}, true, ge, "ge r5 r5 ROR r4", "ge_r5_r5_ROR_r4"},
6175b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{le, r2, r2, LSR, r5}, true, le, "le r2 r2 LSR r5", "le_r2_r2_LSR_r5"},
6185b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{lt, r1, r1, LSL, r1}, true, lt, "lt r1 r1 LSL r1", "lt_r1_r1_LSL_r1"},
6195b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{hi, r7, r7, LSR, r6}, true, hi, "hi r7 r7 LSR r6", "hi_r7_r7_LSR_r6"},
6205b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{cs, r5, r5, LSR, r3}, true, cs, "cs r5 r5 LSR r3", "cs_r5_r5_LSR_r3"},
6215b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{cc, r2, r2, ROR, r7}, true, cc, "cc r2 r2 ROR r7", "cc_r2_r2_ROR_r7"},
6225b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{gt, r1, r1, ASR, r3}, true, gt, "gt r1 r1 ASR r3", "gt_r1_r1_ASR_r3"},
6235b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{le, r2, r2, ASR, r2}, true, le, "le r2 r2 ASR r2", "le_r2_r2_ASR_r2"},
6245b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{pl, r0, r0, ASR, r2}, true, pl, "pl r0 r0 ASR r2", "pl_r0_r0_ASR_r2"},
6255b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ls, r2, r2, LSR, r0}, true, ls, "ls r2 r2 LSR r0", "ls_r2_r2_LSR_r0"},
6265b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{mi, r6, r6, LSR, r2}, true, mi, "mi r6 r6 LSR r2", "mi_r6_r6_LSR_r2"},
6275b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{vs, r0, r0, ASR, r5}, true, vs, "vs r0 r0 ASR r5", "vs_r0_r0_ASR_r5"},
6285b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{lt, r4, r4, LSL, r2}, true, lt, "lt r4 r4 LSL r2", "lt_r4_r4_LSL_r2"},
6295b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{le, r3, r3, LSR, r7}, true, le, "le r3 r3 LSR r7", "le_r3_r3_LSR_r7"},
6305b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{vs, r1, r1, ROR, r1}, true, vs, "vs r1 r1 ROR r1", "vs_r1_r1_ROR_r1"},
6315b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{gt, r5, r5, ASR, r3}, true, gt, "gt r5 r5 ASR r3", "gt_r5_r5_ASR_r3"},
6325b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{le, r2, r2, ROR, r5}, true, le, "le r2 r2 ROR r5", "le_r2_r2_ROR_r5"},
6335b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{le, r2, r2, ASR, r4}, true, le, "le r2 r2 ASR r4", "le_r2_r2_ASR_r4"},
6345b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ls, r1, r1, LSL, r6}, true, ls, "ls r1 r1 LSL r6", "ls_r1_r1_LSL_r6"},
6355b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{cc, r6, r6, LSR, r3}, true, cc, "cc r6 r6 LSR r3", "cc_r6_r6_LSR_r3"},
6365b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ne, r5, r5, LSL, r0}, true, ne, "ne r5 r5 LSL r0", "ne_r5_r5_LSL_r0"},
6375b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{mi, r1, r1, LSL, r2}, true, mi, "mi r1 r1 LSL r2", "mi_r1_r1_LSL_r2"},
6385b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ne, r2, r2, ASR, r3}, true, ne, "ne r2 r2 ASR r3", "ne_r2_r2_ASR_r3"},
6395b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{hi, r1, r1, ROR, r3}, true, hi, "hi r1 r1 ROR r3", "hi_r1_r1_ROR_r3"},
6405b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{lt, r7, r7, ROR, r0}, true, lt, "lt r7 r7 ROR r0", "lt_r7_r7_ROR_r0"},
6415b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{pl, r4, r4, LSL, r6}, true, pl, "pl r4 r4 LSL r6", "pl_r4_r4_LSL_r6"},
6425b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{mi, r0, r0, ASR, r4}, true, mi, "mi r0 r0 ASR r4", "mi_r0_r0_ASR_r4"},
6435b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{cc, r1, r1, ROR, r1}, true, cc, "cc r1 r1 ROR r1", "cc_r1_r1_ROR_r1"},
6445b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{vc, r1, r1, LSL, r3}, true, vc, "vc r1 r1 LSL r3", "vc_r1_r1_LSL_r3"},
6455b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{pl, r1, r1, ROR, r2}, true, pl, "pl r1 r1 ROR r2", "pl_r1_r1_ROR_r2"},
6465b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{mi, r3, r3, ASR, r1}, true, mi, "mi r3 r3 ASR r1", "mi_r3_r3_ASR_r1"},
6475b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{vs, r5, r5, ROR, r2}, true, vs, "vs r5 r5 ROR r2", "vs_r5_r5_ROR_r2"},
6485b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{mi, r0, r0, ROR, r2}, true, mi, "mi r0 r0 ROR r2", "mi_r0_r0_ROR_r2"},
6495b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ne, r7, r7, LSR, r1}, true, ne, "ne r7 r7 LSR r1", "ne_r7_r7_LSR_r1"},
6505b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ne, r0, r0, LSL, r2}, true, ne, "ne r0 r0 LSL r2", "ne_r0_r0_LSL_r2"},
6515b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{gt, r5, r5, ROR, r4}, true, gt, "gt r5 r5 ROR r4", "gt_r5_r5_ROR_r4"},
6525b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ls, r4, r4, ROR, r2}, true, ls, "ls r4 r4 ROR r2", "ls_r4_r4_ROR_r2"},
6535b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{gt, r5, r5, LSL, r0}, true, gt, "gt r5 r5 LSL r0", "gt_r5_r5_LSL_r0"},
6545b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{pl, r0, r0, LSL, r7}, true, pl, "pl r0 r0 LSL r7", "pl_r0_r0_LSL_r7"},
6555b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{vc, r3, r3, ROR, r2}, true, vc, "vc r3 r3 ROR r2", "vc_r3_r3_ROR_r2"},
6565b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{vs, r4, r4, LSL, r0}, true, vs, "vs r4 r4 LSL r0", "vs_r4_r4_LSL_r0"},
6575b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{vc, r6, r6, ROR, r0}, true, vc, "vc r6 r6 ROR r0", "vc_r6_r6_ROR_r0"},
6585b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{cc, r7, r7, LSR, r4}, true, cc, "cc r7 r7 LSR r4", "cc_r7_r7_LSR_r4"},
6595b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{cs, r0, r0, ASR, r7}, true, cs, "cs r0 r0 ASR r7", "cs_r0_r0_ASR_r7"},
6605b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{lt, r3, r3, ASR, r5}, true, lt, "lt r3 r3 ASR r5", "lt_r3_r3_ASR_r5"},
6615b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{cs, r6, r6, ROR, r4}, true, cs, "cs r6 r6 ROR r4", "cs_r6_r6_ROR_r4"},
6625b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{vs, r7, r7, ASR, r2}, true, vs, "vs r7 r7 ASR r2", "vs_r7_r7_ASR_r2"},
6635b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ls, r4, r4, LSL, r2}, true, ls, "ls r4 r4 LSL r2", "ls_r4_r4_LSL_r2"},
6645b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{cc, r6, r6, LSL, r4}, true, cc, "cc r6 r6 LSL r4", "cc_r6_r6_LSL_r4"},
6655b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ne, r7, r7, LSR, r3}, true, ne, "ne r7 r7 LSR r3", "ne_r7_r7_LSR_r3"},
6665b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{lt, r1, r1, LSR, r0}, true, lt, "lt r1 r1 LSR r0", "lt_r1_r1_LSR_r0"},
6675b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ne, r6, r6, LSR, r1}, true, ne, "ne r6 r6 LSR r1", "ne_r6_r6_LSR_r1"},
6685b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{mi, r4, r4, ROR, r4}, true, mi, "mi r4 r4 ROR r4", "mi_r4_r4_ROR_r4"},
6695b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{eq, r4, r4, ASR, r1}, true, eq, "eq r4 r4 ASR r1", "eq_r4_r4_ASR_r1"},
6705b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{vc, r0, r0, LSL, r4}, true, vc, "vc r0 r0 LSL r4", "vc_r0_r0_LSL_r4"},
6715b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ls, r3, r3, ROR, r6}, true, ls, "ls r3 r3 ROR r6", "ls_r3_r3_ROR_r6"},
6725b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{pl, r3, r3, LSL, r1}, true, pl, "pl r3 r3 LSL r1", "pl_r3_r3_LSL_r1"},
6735b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{mi, r4, r4, ASR, r6}, true, mi, "mi r4 r4 ASR r6", "mi_r4_r4_ASR_r6"},
6745b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ne, r5, r5, ROR, r1}, true, ne, "ne r5 r5 ROR r1", "ne_r5_r5_ROR_r1"},
6755b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{le, r4, r4, ASR, r5}, true, le, "le r4 r4 ASR r5", "le_r4_r4_ASR_r5"},
6765b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{gt, r0, r0, ASR, r1}, true, gt, "gt r0 r0 ASR r1", "gt_r0_r0_ASR_r1"},
6775b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{cc, r3, r3, LSR, r0}, true, cc, "cc r3 r3 LSR r0", "cc_r3_r3_LSR_r0"},
6785b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ge, r1, r1, LSL, r5}, true, ge, "ge r1 r1 LSL r5", "ge_r1_r1_LSL_r5"},
6795b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{gt, r4, r4, LSR, r4}, true, gt, "gt r4 r4 LSR r4", "gt_r4_r4_LSR_r4"},
6805b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{mi, r6, r6, ROR, r4}, true, mi, "mi r6 r6 ROR r4", "mi_r6_r6_ROR_r4"},
6815b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{pl, r4, r4, LSR, r7}, true, pl, "pl r4 r4 LSR r7", "pl_r4_r4_LSR_r7"},
6825b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{hi, r7, r7, ASR, r6}, true, hi, "hi r7 r7 ASR r6", "hi_r7_r7_ASR_r6"},
6835b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{vc, r1, r1, ROR, r4}, true, vc, "vc r1 r1 ROR r4", "vc_r1_r1_ROR_r4"},
6845b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{le, r4, r4, LSR, r7}, true, le, "le r4 r4 LSR r7", "le_r4_r4_LSR_r7"},
6855b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{le, r2, r2, ASR, r6}, true, le, "le r2 r2 ASR r6", "le_r2_r2_ASR_r6"},
6865b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{le, r4, r4, LSL, r2}, true, le, "le r4 r4 LSL r2", "le_r4_r4_LSL_r2"},
6875b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{eq, r7, r7, ASR, r4}, true, eq, "eq r7 r7 ASR r4", "eq_r7_r7_ASR_r4"},
6885b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ls, r2, r2, LSL, r6}, true, ls, "ls r2 r2 LSL r6", "ls_r2_r2_LSL_r6"},
6895b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{pl, r3, r3, LSL, r6}, true, pl, "pl r3 r3 LSL r6", "pl_r3_r3_LSL_r6"},
6905b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{cc, r7, r7, LSR, r5}, true, cc, "cc r7 r7 LSR r5", "cc_r7_r7_LSR_r5"},
6915b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{cc, r1, r1, LSL, r7}, true, cc, "cc r1 r1 LSL r7", "cc_r1_r1_LSL_r7"},
6925b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{gt, r5, r5, LSR, r4}, true, gt, "gt r5 r5 LSR r4", "gt_r5_r5_LSR_r4"},
6935b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ne, r2, r2, LSL, r4}, true, ne, "ne r2 r2 LSL r4", "ne_r2_r2_LSL_r4"},
6945b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ge, r2, r2, ASR, r7}, true, ge, "ge r2 r2 ASR r7", "ge_r2_r2_ASR_r7"},
6955b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{gt, r2, r2, ROR, r7}, true, gt, "gt r2 r2 ROR r7", "gt_r2_r2_ROR_r7"},
6965b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{gt, r6, r6, ROR, r5}, true, gt, "gt r6 r6 ROR r5", "gt_r6_r6_ROR_r5"},
6975b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{lt, r4, r4, ASR, r3}, true, lt, "lt r4 r4 ASR r3", "lt_r4_r4_ASR_r3"},
6985b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{vc, r1, r1, LSR, r7}, true, vc, "vc r1 r1 LSR r7", "vc_r1_r1_LSR_r7"},
6995b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ne, r2, r2, LSR, r7}, true, ne, "ne r2 r2 LSR r7", "ne_r2_r2_LSR_r7"},
7005b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ls, r0, r0, LSR, r5}, true, ls, "ls r0 r0 LSR r5", "ls_r0_r0_LSR_r5"},
7015b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{cs, r3, r3, ASR, r1}, true, cs, "cs r3 r3 ASR r1", "cs_r3_r3_ASR_r1"},
7025b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{gt, r2, r2, ROR, r1}, true, gt, "gt r2 r2 ROR r1", "gt_r2_r2_ROR_r1"},
7035b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{eq, r0, r0, LSL, r3}, true, eq, "eq r0 r0 LSL r3", "eq_r0_r0_LSL_r3"},
7045b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ls, r5, r5, ASR, r5}, true, ls, "ls r5 r5 ASR r5", "ls_r5_r5_ASR_r5"},
7055b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{cs, r5, r5, ROR, r5}, true, cs, "cs r5 r5 ROR r5", "cs_r5_r5_ROR_r5"},
7065b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{gt, r3, r3, ROR, r7}, true, gt, "gt r3 r3 ROR r7", "gt_r3_r3_ROR_r7"},
7075b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{vc, r3, r3, LSL, r6}, true, vc, "vc r3 r3 LSL r6", "vc_r3_r3_LSL_r6"},
7085b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ge, r3, r3, LSR, r1}, true, ge, "ge r3 r3 LSR r1", "ge_r3_r3_LSR_r1"},
7095b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{cc, r2, r2, ROR, r3}, true, cc, "cc r2 r2 ROR r3", "cc_r2_r2_ROR_r3"},
7105b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{mi, r5, r5, ROR, r7}, true, mi, "mi r5 r5 ROR r7", "mi_r5_r5_ROR_r7"},
7115b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{eq, r6, r6, ASR, r3}, true, eq, "eq r6 r6 ASR r3", "eq_r6_r6_ASR_r3"},
7125b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ne, r2, r2, LSL, r1}, true, ne, "ne r2 r2 LSL r1", "ne_r2_r2_LSL_r1"},
7135b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{mi, r5, r5, ROR, r6}, true, mi, "mi r5 r5 ROR r6", "mi_r5_r5_ROR_r6"},
7145b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{vc, r2, r2, ROR, r2}, true, vc, "vc r2 r2 ROR r2", "vc_r2_r2_ROR_r2"},
7155b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{pl, r7, r7, LSR, r1}, true, pl, "pl r7 r7 LSR r1", "pl_r7_r7_LSR_r1"},
7165b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{eq, r7, r7, ROR, r4}, true, eq, "eq r7 r7 ROR r4", "eq_r7_r7_ROR_r4"},
7175b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{eq, r1, r1, ASR, r4}, true, eq, "eq r1 r1 ASR r4", "eq_r1_r1_ASR_r4"},
7185b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{mi, r5, r5, LSL, r2}, true, mi, "mi r5 r5 LSL r2", "mi_r5_r5_LSL_r2"},
7195b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{pl, r0, r0, LSL, r4}, true, pl, "pl r0 r0 LSL r4", "pl_r0_r0_LSL_r4"},
7205b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{hi, r4, r4, LSR, r2}, true, hi, "hi r4 r4 LSR r2", "hi_r4_r4_LSR_r2"},
7215b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{lt, r5, r5, LSL, r6}, true, lt, "lt r5 r5 LSL r6", "lt_r5_r5_LSL_r6"},
7225b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{lt, r6, r6, ASR, r5}, true, lt, "lt r6 r6 ASR r5", "lt_r6_r6_ASR_r5"},
7235b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{eq, r1, r1, ASR, r0}, true, eq, "eq r1 r1 ASR r0", "eq_r1_r1_ASR_r0"},
7245b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{mi, r6, r6, ASR, r3}, true, mi, "mi r6 r6 ASR r3", "mi_r6_r6_ASR_r3"},
7255b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{lt, r0, r0, LSR, r4}, true, lt, "lt r0 r0 LSR r4", "lt_r0_r0_LSR_r4"},
7265b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{lt, r5, r5, ROR, r4}, true, lt, "lt r5 r5 ROR r4", "lt_r5_r5_ROR_r4"},
7275b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ne, r1, r1, ASR, r7}, true, ne, "ne r1 r1 ASR r7", "ne_r1_r1_ASR_r7"},
7285b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{gt, r3, r3, LSL, r4}, true, gt, "gt r3 r3 LSL r4", "gt_r3_r3_LSL_r4"},
7295b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{le, r3, r3, ROR, r6}, true, le, "le r3 r3 ROR r6", "le_r3_r3_ROR_r6"},
7305b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ne, r5, r5, ASR, r7}, true, ne, "ne r5 r5 ASR r7", "ne_r5_r5_ASR_r7"},
7315b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{hi, r5, r5, ROR, r6}, true, hi, "hi r5 r5 ROR r6", "hi_r5_r5_ROR_r6"},
7325b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{vs, r3, r3, LSR, r2}, true, vs, "vs r3 r3 LSR r2", "vs_r3_r3_LSR_r2"},
7335b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ls, r1, r1, LSR, r1}, true, ls, "ls r1 r1 LSR r1", "ls_r1_r1_LSR_r1"},
7345b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ls, r4, r4, LSR, r2}, true, ls, "ls r4 r4 LSR r2", "ls_r4_r4_LSR_r2"},
7355b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{gt, r7, r7, LSL, r1}, true, gt, "gt r7 r7 LSL r1", "gt_r7_r7_LSL_r1"},
7365b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ge, r0, r0, ROR, r3}, true, ge, "ge r0 r0 ROR r3", "ge_r0_r0_ROR_r3"},
7375b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{gt, r7, r7, ASR, r4}, true, gt, "gt r7 r7 ASR r4", "gt_r7_r7_ASR_r4"},
7385b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ne, r0, r0, LSL, r7}, true, ne, "ne r0 r0 LSL r7", "ne_r0_r0_LSL_r7"},
7395b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ge, r2, r2, ROR, r1}, true, ge, "ge r2 r2 ROR r1", "ge_r2_r2_ROR_r1"},
7405b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ge, r5, r5, LSR, r3}, true, ge, "ge r5 r5 LSR r3", "ge_r5_r5_LSR_r3"},
7415b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ls, r2, r2, ASR, r0}, true, ls, "ls r2 r2 ASR r0", "ls_r2_r2_ASR_r0"},
7425b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{le, r5, r5, ASR, r7}, true, le, "le r5 r5 ASR r7", "le_r5_r5_ASR_r7"},
7435b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{le, r0, r0, LSR, r6}, true, le, "le r0 r0 LSR r6", "le_r0_r0_LSR_r6"},
7445b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ne, r6, r6, ROR, r1}, true, ne, "ne r6 r6 ROR r1", "ne_r6_r6_ROR_r1"},
7455b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{vs, r2, r2, ASR, r0}, true, vs, "vs r2 r2 ASR r0", "vs_r2_r2_ASR_r0"},
7465b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{mi, r0, r0, LSR, r1}, true, mi, "mi r0 r0 LSR r1", "mi_r0_r0_LSR_r1"},
7475b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{cs, r1, r1, LSL, r5}, true, cs, "cs r1 r1 LSL r5", "cs_r1_r1_LSL_r5"},
7485b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{vc, r3, r3, ROR, r7}, true, vc, "vc r3 r3 ROR r7", "vc_r3_r3_ROR_r7"},
7495b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{gt, r6, r6, ASR, r0}, true, gt, "gt r6 r6 ASR r0", "gt_r6_r6_ASR_r0"},
7505b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{le, r2, r2, LSR, r3}, true, le, "le r2 r2 LSR r3", "le_r2_r2_LSR_r3"},
7515b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{lt, r4, r4, LSR, r3}, true, lt, "lt r4 r4 LSR r3", "lt_r4_r4_LSR_r3"},
7525b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{gt, r1, r1, ROR, r6}, true, gt, "gt r1 r1 ROR r6", "gt_r1_r1_ROR_r6"},
7535b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ls, r6, r6, LSR, r4}, true, ls, "ls r6 r6 LSR r4", "ls_r6_r6_LSR_r4"},
7545b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{vc, r5, r5, ROR, r0}, true, vc, "vc r5 r5 ROR r0", "vc_r5_r5_ROR_r0"},
7555b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ge, r2, r2, LSR, r2}, true, ge, "ge r2 r2 LSR r2", "ge_r2_r2_LSR_r2"},
7565b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ls, r0, r0, LSR, r3}, true, ls, "ls r0 r0 LSR r3", "ls_r0_r0_LSR_r3"},
7575b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{gt, r6, r6, ASR, r6}, true, gt, "gt r6 r6 ASR r6", "gt_r6_r6_ASR_r6"},
7585b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ne, r0, r0, LSL, r3}, true, ne, "ne r0 r0 LSL r3", "ne_r0_r0_LSL_r3"},
7595b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{mi, r0, r0, ASR, r1}, true, mi, "mi r0 r0 ASR r1", "mi_r0_r0_ASR_r1"},
7605b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ge, r6, r6, ASR, r6}, true, ge, "ge r6 r6 ASR r6", "ge_r6_r6_ASR_r6"},
7615b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{pl, r2, r2, ASR, r2}, true, pl, "pl r2 r2 ASR r2", "pl_r2_r2_ASR_r2"},
7625b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{eq, r5, r5, LSL, r2}, true, eq, "eq r5 r5 LSL r2", "eq_r5_r5_LSL_r2"},
7635b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{vc, r2, r2, LSL, r3}, true, vc, "vc r2 r2 LSL r3", "vc_r2_r2_LSL_r3"},
7645b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ls, r1, r1, LSL, r2}, true, ls, "ls r1 r1 LSL r2", "ls_r1_r1_LSL_r2"},
7655b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{vc, r3, r3, LSR, r0}, true, vc, "vc r3 r3 LSR r0", "vc_r3_r3_LSR_r0"},
7665b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{vc, r4, r4, ASR, r5}, true, vc, "vc r4 r4 ASR r5", "vc_r4_r4_ASR_r5"},
7675b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ls, r2, r2, ASR, r1}, true, ls, "ls r2 r2 ASR r1", "ls_r2_r2_ASR_r1"},
7685b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ls, r3, r3, LSL, r6}, true, ls, "ls r3 r3 LSL r6", "ls_r3_r3_LSL_r6"},
7695b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{vs, r6, r6, ROR, r5}, true, vs, "vs r6 r6 ROR r5", "vs_r6_r6_ROR_r5"},
7705b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{eq, r2, r2, LSR, r6}, true, eq, "eq r2 r2 LSR r6", "eq_r2_r2_LSR_r6"},
7715b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{hi, r3, r3, LSR, r5}, true, hi, "hi r3 r3 LSR r5", "hi_r3_r3_LSR_r5"},
7725b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{eq, r2, r2, ASR, r6}, true, eq, "eq r2 r2 ASR r6", "eq_r2_r2_ASR_r6"},
7735b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{mi, r2, r2, ASR, r4}, true, mi, "mi r2 r2 ASR r4", "mi_r2_r2_ASR_r4"},
7745b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{le, r6, r6, ROR, r6}, true, le, "le r6 r6 ROR r6", "le_r6_r6_ROR_r6"},
7755b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{eq, r0, r0, ROR, r7}, true, eq, "eq r0 r0 ROR r7", "eq_r0_r0_ROR_r7"},
7765b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{vs, r4, r4, LSL, r2}, true, vs, "vs r4 r4 LSL r2", "vs_r4_r4_LSL_r2"},
7775b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{vc, r2, r2, LSR, r5}, true, vc, "vc r2 r2 LSR r5", "vc_r2_r2_LSR_r5"},
7785b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{cc, r0, r0, ROR, r1}, true, cc, "cc r0 r0 ROR r1", "cc_r0_r0_ROR_r1"},
7795b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{lt, r5, r5, ASR, r0}, true, lt, "lt r5 r5 ASR r0", "lt_r5_r5_ASR_r0"},
7805b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{mi, r0, r0, LSL, r5}, true, mi, "mi r0 r0 LSL r5", "mi_r0_r0_LSL_r5"},
7815b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{eq, r6, r6, LSR, r1}, true, eq, "eq r6 r6 LSR r1", "eq_r6_r6_LSR_r1"},
7825b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{gt, r3, r3, ROR, r3}, true, gt, "gt r3 r3 ROR r3", "gt_r3_r3_ROR_r3"},
7835b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{gt, r6, r6, LSR, r7}, true, gt, "gt r6 r6 LSR r7", "gt_r6_r6_LSR_r7"},
7845b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ne, r3, r3, LSL, r7}, true, ne, "ne r3 r3 LSL r7", "ne_r3_r3_LSL_r7"},
7855b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{cs, r2, r2, ASR, r4}, true, cs, "cs r2 r2 ASR r4", "cs_r2_r2_ASR_r4"},
7865b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ge, r6, r6, ASR, r7}, true, ge, "ge r6 r6 ASR r7", "ge_r6_r6_ASR_r7"},
7875b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{hi, r7, r7, ASR, r0}, true, hi, "hi r7 r7 ASR r0", "hi_r7_r7_ASR_r0"},
7885b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{le, r2, r2, ASR, r1}, true, le, "le r2 r2 ASR r1", "le_r2_r2_ASR_r1"},
7895b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{vs, r6, r6, LSR, r5}, true, vs, "vs r6 r6 LSR r5", "vs_r6_r6_LSR_r5"},
7905b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{cs, r3, r3, ROR, r5}, true, cs, "cs r3 r3 ROR r5", "cs_r3_r3_ROR_r5"},
7915b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{le, r7, r7, LSR, r3}, true, le, "le r7 r7 LSR r3", "le_r7_r7_LSR_r3"},
7925b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{vc, r2, r2, ASR, r0}, true, vc, "vc r2 r2 ASR r0", "vc_r2_r2_ASR_r0"},
7935b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ne, r7, r7, LSL, r3}, true, ne, "ne r7 r7 LSL r3", "ne_r7_r7_LSL_r3"},
7945b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{vs, r6, r6, ASR, r1}, true, vs, "vs r6 r6 ASR r1", "vs_r6_r6_ASR_r1"},
7955b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{cs, r4, r4, LSL, r0}, true, cs, "cs r4 r4 LSL r0", "cs_r4_r4_LSL_r0"},
7965b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{hi, r3, r3, ASR, r7}, true, hi, "hi r3 r3 ASR r7", "hi_r3_r3_ASR_r7"},
7975b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{eq, r5, r5, ASR, r2}, true, eq, "eq r5 r5 ASR r2", "eq_r5_r5_ASR_r2"},
7985b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ge, r0, r0, ASR, r1}, true, ge, "ge r0 r0 ASR r1", "ge_r0_r0_ASR_r1"},
7995b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{cs, r1, r1, LSR, r0}, true, cs, "cs r1 r1 LSR r0", "cs_r1_r1_LSR_r0"},
8005b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ne, r7, r7, LSL, r1}, true, ne, "ne r7 r7 LSL r1", "ne_r7_r7_LSL_r1"},
8015b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{cc, r1, r1, LSR, r0}, true, cc, "cc r1 r1 LSR r0", "cc_r1_r1_LSR_r0"},
8025b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{cs, r0, r0, LSL, r3}, true, cs, "cs r0 r0 LSL r3", "cs_r0_r0_LSL_r3"},
8035b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{hi, r3, r3, ASR, r6}, true, hi, "hi r3 r3 ASR r6", "hi_r3_r3_ASR_r6"},
8045b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{cs, r4, r4, ROR, r1}, true, cs, "cs r4 r4 ROR r1", "cs_r4_r4_ROR_r1"},
8055b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{eq, r0, r0, LSL, r6}, true, eq, "eq r0 r0 LSL r6", "eq_r0_r0_LSL_r6"},
8065b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{vc, r3, r3, ROR, r3}, true, vc, "vc r3 r3 ROR r3", "vc_r3_r3_ROR_r3"},
8075b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{le, r0, r0, ASR, r0}, true, le, "le r0 r0 ASR r0", "le_r0_r0_ASR_r0"},
8085b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{vs, r4, r4, LSR, r5}, true, vs, "vs r4 r4 LSR r5", "vs_r4_r4_LSR_r5"},
8095b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ne, r4, r4, ROR, r2}, true, ne, "ne r4 r4 ROR r2", "ne_r4_r4_ROR_r2"},
8105b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{gt, r5, r5, ASR, r6}, true, gt, "gt r5 r5 ASR r6", "gt_r5_r5_ASR_r6"},
8115b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{hi, r7, r7, LSR, r0}, true, hi, "hi r7 r7 LSR r0", "hi_r7_r7_LSR_r0"},
8125b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{vc, r1, r1, ROR, r3}, true, vc, "vc r1 r1 ROR r3", "vc_r1_r1_ROR_r3"},
8135b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{pl, r0, r0, ASR, r4}, true, pl, "pl r0 r0 ASR r4", "pl_r0_r0_ASR_r4"},
8145b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{mi, r1, r1, LSL, r3}, true, mi, "mi r1 r1 LSL r3", "mi_r1_r1_LSL_r3"},
8155b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{pl, r2, r2, ASR, r0}, true, pl, "pl r2 r2 ASR r0", "pl_r2_r2_ASR_r0"},
8165b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{mi, r2, r2, ROR, r5}, true, mi, "mi r2 r2 ROR r5", "mi_r2_r2_ROR_r5"},
8175b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{vs, r1, r1, ROR, r4}, true, vs, "vs r1 r1 ROR r4", "vs_r1_r1_ROR_r4"},
8185b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{hi, r6, r6, ROR, r0}, true, hi, "hi r6 r6 ROR r0", "hi_r6_r6_ROR_r0"},
8195b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{cc, r7, r7, ASR, r7}, true, cc, "cc r7 r7 ASR r7", "cc_r7_r7_ASR_r7"},
8205b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ls, r3, r3, ROR, r4}, true, ls, "ls r3 r3 ROR r4", "ls_r3_r3_ROR_r4"},
8215b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{hi, r0, r0, LSL, r0}, true, hi, "hi r0 r0 LSL r0", "hi_r0_r0_LSL_r0"},
8225b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{hi, r3, r3, LSL, r6}, true, hi, "hi r3 r3 LSL r6", "hi_r3_r3_LSL_r6"},
8235b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{le, r6, r6, ROR, r5}, true, le, "le r6 r6 ROR r5", "le_r6_r6_ROR_r5"},
8245b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{vs, r5, r5, ASR, r7}, true, vs, "vs r5 r5 ASR r7", "vs_r5_r5_ASR_r7"},
8255b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{pl, r5, r5, ROR, r5}, true, pl, "pl r5 r5 ROR r5", "pl_r5_r5_ROR_r5"},
8265b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{vc, r0, r0, LSR, r6}, true, vc, "vc r0 r0 LSR r6", "vc_r0_r0_LSR_r6"},
8275b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ne, r2, r2, LSR, r3}, true, ne, "ne r2 r2 LSR r3", "ne_r2_r2_LSR_r3"},
8285b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ls, r7, r7, ROR, r1}, true, ls, "ls r7 r7 ROR r1", "ls_r7_r7_ROR_r1"},
8295b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ls, r2, r2, ROR, r3}, true, ls, "ls r2 r2 ROR r3", "ls_r2_r2_ROR_r3"},
8305b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{gt, r4, r4, LSR, r7}, true, gt, "gt r4 r4 LSR r7", "gt_r4_r4_LSR_r7"},
8315b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{hi, r4, r4, ASR, r4}, true, hi, "hi r4 r4 ASR r4", "hi_r4_r4_ASR_r4"},
8325b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{hi, r6, r6, ROR, r3}, true, hi, "hi r6 r6 ROR r3", "hi_r6_r6_ROR_r3"},
8335b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{vs, r5, r5, LSL, r3}, true, vs, "vs r5 r5 LSL r3", "vs_r5_r5_LSL_r3"},
8345b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{cs, r0, r0, LSR, r3}, true, cs, "cs r0 r0 LSR r3", "cs_r0_r0_LSR_r3"},
8355b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{cc, r4, r4, LSL, r7}, true, cc, "cc r4 r4 LSL r7", "cc_r4_r4_LSL_r7"},
8365b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{eq, r4, r4, ROR, r1}, true, eq, "eq r4 r4 ROR r1", "eq_r4_r4_ROR_r1"},
8375b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{vs, r7, r7, ASR, r3}, true, vs, "vs r7 r7 ASR r3", "vs_r7_r7_ASR_r3"},
8385b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{le, r5, r5, LSR, r7}, true, le, "le r5 r5 LSR r7", "le_r5_r5_LSR_r7"},
8395b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{lt, r7, r7, LSL, r1}, true, lt, "lt r7 r7 LSL r1", "lt_r7_r7_LSL_r1"},
8405b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{gt, r6, r6, ROR, r2}, true, gt, "gt r6 r6 ROR r2", "gt_r6_r6_ROR_r2"},
8415b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{vc, r0, r0, ASR, r0}, true, vc, "vc r0 r0 ASR r0", "vc_r0_r0_ASR_r0"},
8425b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ls, r4, r4, LSR, r4}, true, ls, "ls r4 r4 LSR r4", "ls_r4_r4_LSR_r4"},
8435b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{hi, r4, r4, LSL, r5}, true, hi, "hi r4 r4 LSL r5", "hi_r4_r4_LSL_r5"},
8445b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{hi, r6, r6, LSR, r0}, true, hi, "hi r6 r6 LSR r0", "hi_r6_r6_LSR_r0"},
8455b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ge, r3, r3, ASR, r0}, true, ge, "ge r3 r3 ASR r0", "ge_r3_r3_ASR_r0"},
8465b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{vs, r7, r7, ASR, r7}, true, vs, "vs r7 r7 ASR r7", "vs_r7_r7_ASR_r7"},
8475b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{hi, r1, r1, LSL, r3}, true, hi, "hi r1 r1 LSL r3", "hi_r1_r1_LSL_r3"},
8485b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ls, r4, r4, ASR, r3}, true, ls, "ls r4 r4 ASR r3", "ls_r4_r4_ASR_r3"},
8495b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{eq, r7, r7, ASR, r6}, true, eq, "eq r7 r7 ASR r6", "eq_r7_r7_ASR_r6"},
8505b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{cc, r1, r1, ASR, r7}, true, cc, "cc r1 r1 ASR r7", "cc_r1_r1_ASR_r7"},
8515b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{hi, r4, r4, ROR, r1}, true, hi, "hi r4 r4 ROR r1", "hi_r4_r4_ROR_r1"},
8525b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{gt, r0, r0, ROR, r0}, true, gt, "gt r0 r0 ROR r0", "gt_r0_r0_ROR_r0"},
8535b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{hi, r0, r0, LSR, r3}, true, hi, "hi r0 r0 LSR r3", "hi_r0_r0_LSR_r3"},
8545b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{cc, r0, r0, LSL, r3}, true, cc, "cc r0 r0 LSL r3", "cc_r0_r0_LSL_r3"},
8555b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ls, r6, r6, LSL, r6}, true, ls, "ls r6 r6 LSL r6", "ls_r6_r6_LSL_r6"},
8565b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{cs, r2, r2, LSR, r5}, true, cs, "cs r2 r2 LSR r5", "cs_r2_r2_LSR_r5"},
8575b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{le, r5, r5, LSL, r3}, true, le, "le r5 r5 LSL r3", "le_r5_r5_LSL_r3"},
8585b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ge, r1, r1, LSR, r7}, true, ge, "ge r1 r1 LSR r7", "ge_r1_r1_LSR_r7"},
8595b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{cs, r4, r4, ASR, r7}, true, cs, "cs r4 r4 ASR r7", "cs_r4_r4_ASR_r7"},
8605b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{lt, r1, r1, ASR, r7}, true, lt, "lt r1 r1 ASR r7", "lt_r1_r1_ASR_r7"},
8615b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{mi, r4, r4, LSR, r5}, true, mi, "mi r4 r4 LSR r5", "mi_r4_r4_LSR_r5"},
8625b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{cc, r6, r6, ROR, r0}, true, cc, "cc r6 r6 ROR r0", "cc_r6_r6_ROR_r0"},
8635b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{mi, r4, r4, LSR, r1}, true, mi, "mi r4 r4 LSR r1", "mi_r4_r4_LSR_r1"},
8645b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{gt, r1, r1, ROR, r5}, true, gt, "gt r1 r1 ROR r5", "gt_r1_r1_ROR_r5"},
8655b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{vs, r2, r2, LSR, r2}, true, vs, "vs r2 r2 LSR r2", "vs_r2_r2_LSR_r2"},
8665b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{cs, r3, r3, LSL, r4}, true, cs, "cs r3 r3 LSL r4", "cs_r3_r3_LSL_r4"},
8675b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{le, r5, r5, ASR, r5}, true, le, "le r5 r5 ASR r5", "le_r5_r5_ASR_r5"},
8685b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{vs, r1, r1, LSR, r0}, true, vs, "vs r1 r1 LSR r0", "vs_r1_r1_LSR_r0"},
8695b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{le, r7, r7, LSL, r5}, true, le, "le r7 r7 LSL r5", "le_r7_r7_LSL_r5"},
8705b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ne, r6, r6, LSR, r4}, true, ne, "ne r6 r6 LSR r4", "ne_r6_r6_LSR_r4"},
8715b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{le, r0, r0, ASR, r4}, true, le, "le r0 r0 ASR r4", "le_r0_r0_ASR_r4"},
8725b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ls, r4, r4, ASR, r1}, true, ls, "ls r4 r4 ASR r1", "ls_r4_r4_ASR_r1"},
8735b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{gt, r1, r1, ASR, r6}, true, gt, "gt r1 r1 ASR r6", "gt_r1_r1_ASR_r6"},
8745b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{cs, r6, r6, LSL, r2}, true, cs, "cs r6 r6 LSL r2", "cs_r6_r6_LSL_r2"},
8755b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{cc, r2, r2, ROR, r0}, true, cc, "cc r2 r2 ROR r0", "cc_r2_r2_ROR_r0"},
8765b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{cc, r7, r7, ASR, r1}, true, cc, "cc r7 r7 ASR r1", "cc_r7_r7_ASR_r1"},
8775b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ls, r6, r6, ASR, r0}, true, ls, "ls r6 r6 ASR r0", "ls_r6_r6_ASR_r0"},
8785b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ls, r1, r1, LSL, r5}, true, ls, "ls r1 r1 LSL r5", "ls_r1_r1_LSL_r5"},
8795b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{le, r0, r0, LSR, r5}, true, le, "le r0 r0 LSR r5", "le_r0_r0_LSR_r5"},
8805b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{vs, r3, r3, LSR, r5}, true, vs, "vs r3 r3 LSR r5", "vs_r3_r3_LSR_r5"},
8815b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{vs, r3, r3, LSL, r1}, true, vs, "vs r3 r3 LSL r1", "vs_r3_r3_LSL_r1"},
8825b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{cc, r3, r3, ROR, r3}, true, cc, "cc r3 r3 ROR r3", "cc_r3_r3_ROR_r3"},
8835b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{le, r4, r4, ASR, r4}, true, le, "le r4 r4 ASR r4", "le_r4_r4_ASR_r4"},
8845b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{vs, r4, r4, ASR, r1}, true, vs, "vs r4 r4 ASR r1", "vs_r4_r4_ASR_r1"},
8855b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{pl, r2, r2, LSR, r0}, true, pl, "pl r2 r2 LSR r0", "pl_r2_r2_LSR_r0"},
8865b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{vs, r1, r1, LSL, r0}, true, vs, "vs r1 r1 LSL r0", "vs_r1_r1_LSL_r0"},
8875b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{cs, r6, r6, ASR, r7}, true, cs, "cs r6 r6 ASR r7", "cs_r6_r6_ASR_r7"},
8885b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{cs, r3, r3, ROR, r2}, true, cs, "cs r3 r3 ROR r2", "cs_r3_r3_ROR_r2"},
8895b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{mi, r4, r4, ROR, r7}, true, mi, "mi r4 r4 ROR r7", "mi_r4_r4_ROR_r7"},
8905b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{eq, r5, r5, ROR, r0}, true, eq, "eq r5 r5 ROR r0", "eq_r5_r5_ROR_r0"},
8915b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{cs, r3, r3, ROR, r0}, true, cs, "cs r3 r3 ROR r0", "cs_r3_r3_ROR_r0"},
8925b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{mi, r6, r6, LSR, r4}, true, mi, "mi r6 r6 LSR r4", "mi_r6_r6_LSR_r4"},
8935b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{hi, r2, r2, LSL, r4}, true, hi, "hi r2 r2 LSL r4", "hi_r2_r2_LSL_r4"},
8945b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ge, r7, r7, LSR, r3}, true, ge, "ge r7 r7 LSR r3", "ge_r7_r7_LSR_r3"},
8955b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{mi, r0, r0, LSR, r6}, true, mi, "mi r0 r0 LSR r6", "mi_r0_r0_LSR_r6"},
8965b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ne, r0, r0, ASR, r1}, true, ne, "ne r0 r0 ASR r1", "ne_r0_r0_ASR_r1"},
8975b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ls, r0, r0, ROR, r3}, true, ls, "ls r0 r0 ROR r3", "ls_r0_r0_ROR_r3"},
8985b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{le, r1, r1, LSR, r4}, true, le, "le r1 r1 LSR r4", "le_r1_r1_LSR_r4"},
8995b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ls, r3, r3, ROR, r5}, true, ls, "ls r3 r3 ROR r5", "ls_r3_r3_ROR_r5"},
9005b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{lt, r6, r6, ASR, r6}, true, lt, "lt r6 r6 ASR r6", "lt_r6_r6_ASR_r6"},
9015b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{cs, r5, r5, ASR, r3}, true, cs, "cs r5 r5 ASR r3", "cs_r5_r5_ASR_r3"},
9025b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ls, r0, r0, LSR, r0}, true, ls, "ls r0 r0 LSR r0", "ls_r0_r0_LSR_r0"},
9035b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ls, r5, r5, ASR, r4}, true, ls, "ls r5 r5 ASR r4", "ls_r5_r5_ASR_r4"},
9045b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{gt, r2, r2, ROR, r3}, true, gt, "gt r2 r2 ROR r3", "gt_r2_r2_ROR_r3"},
9055b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{hi, r4, r4, ASR, r3}, true, hi, "hi r4 r4 ASR r3", "hi_r4_r4_ASR_r3"},
9065b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{lt, r2, r2, ROR, r0}, true, lt, "lt r2 r2 ROR r0", "lt_r2_r2_ROR_r0"},
9075b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ge, r0, r0, LSR, r3}, true, ge, "ge r0 r0 LSR r3", "ge_r0_r0_LSR_r3"},
9085b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{pl, r1, r1, ROR, r7}, true, pl, "pl r1 r1 ROR r7", "pl_r1_r1_ROR_r7"},
9095b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{gt, r0, r0, ROR, r5}, true, gt, "gt r0 r0 ROR r5", "gt_r0_r0_ROR_r5"},
9105b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ls, r5, r5, LSR, r5}, true, ls, "ls r5 r5 LSR r5", "ls_r5_r5_LSR_r5"},
9115b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{cs, r3, r3, LSL, r5}, true, cs, "cs r3 r3 LSL r5", "cs_r3_r3_LSL_r5"},
9125b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{cs, r1, r1, LSL, r2}, true, cs, "cs r1 r1 LSL r2", "cs_r1_r1_LSL_r2"},
9135b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ge, r5, r5, LSL, r3}, true, ge, "ge r5 r5 LSL r3", "ge_r5_r5_LSL_r3"},
9145b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ls, r6, r6, ASR, r2}, true, ls, "ls r6 r6 ASR r2", "ls_r6_r6_ASR_r2"},
9155b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{pl, r7, r7, LSR, r7}, true, pl, "pl r7 r7 LSR r7", "pl_r7_r7_LSR_r7"},
9165b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{gt, r7, r7, LSR, r3}, true, gt, "gt r7 r7 LSR r3", "gt_r7_r7_LSR_r3"},
9175b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ne, r5, r5, LSR, r5}, true, ne, "ne r5 r5 LSR r5", "ne_r5_r5_LSR_r5"},
9185b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ne, r3, r3, ASR, r6}, true, ne, "ne r3 r3 ASR r6", "ne_r3_r3_ASR_r6"},
9195b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{eq, r3, r3, ASR, r6}, true, eq, "eq r3 r3 ASR r6", "eq_r3_r3_ASR_r6"},
9205b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{pl, r1, r1, ROR, r1}, true, pl, "pl r1 r1 ROR r1", "pl_r1_r1_ROR_r1"},
9215b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{lt, r7, r7, ROR, r6}, true, lt, "lt r7 r7 ROR r6", "lt_r7_r7_ROR_r6"},
9225b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{pl, r4, r4, ROR, r5}, true, pl, "pl r4 r4 ROR r5", "pl_r4_r4_ROR_r5"},
9235b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ls, r7, r7, ASR, r0}, true, ls, "ls r7 r7 ASR r0", "ls_r7_r7_ASR_r0"},
9245b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{cs, r1, r1, ROR, r4}, true, cs, "cs r1 r1 ROR r4", "cs_r1_r1_ROR_r4"},
9255b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{eq, r0, r0, LSL, r1}, true, eq, "eq r0 r0 LSL r1", "eq_r0_r0_LSL_r1"},
9265b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ls, r7, r7, ASR, r1}, true, ls, "ls r7 r7 ASR r1", "ls_r7_r7_ASR_r1"},
9275b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{le, r2, r2, LSL, r6}, true, le, "le r2 r2 LSL r6", "le_r2_r2_LSL_r6"},
9285b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{pl, r3, r3, ROR, r7}, true, pl, "pl r3 r3 ROR r7", "pl_r3_r3_ROR_r7"},
9295b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{lt, r7, r7, LSL, r0}, true, lt, "lt r7 r7 LSL r0", "lt_r7_r7_LSL_r0"},
9305b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{cc, r1, r1, LSL, r0}, true, cc, "cc r1 r1 LSL r0", "cc_r1_r1_LSL_r0"},
9315b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{mi, r0, r0, LSR, r3}, true, mi, "mi r0 r0 LSR r3", "mi_r0_r0_LSR_r3"},
9325b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ls, r0, r0, LSL, r3}, true, ls, "ls r0 r0 LSL r3", "ls_r0_r0_LSL_r3"},
9335b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{lt, r4, r4, LSR, r6}, true, lt, "lt r4 r4 LSR r6", "lt_r4_r4_LSR_r6"},
9345b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{eq, r2, r2, ASR, r5}, true, eq, "eq r2 r2 ASR r5", "eq_r2_r2_ASR_r5"},
9355b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ls, r6, r6, ROR, r0}, true, ls, "ls r6 r6 ROR r0", "ls_r6_r6_ROR_r0"},
9365b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{vc, r1, r1, ASR, r1}, true, vc, "vc r1 r1 ASR r1", "vc_r1_r1_ASR_r1"},
9375b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{pl, r0, r0, LSL, r6}, true, pl, "pl r0 r0 LSL r6", "pl_r0_r0_LSL_r6"},
9385b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{hi, r4, r4, LSL, r1}, true, hi, "hi r4 r4 LSL r1", "hi_r4_r4_LSL_r1"},
9395b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{vc, r7, r7, LSL, r2}, true, vc, "vc r7 r7 LSL r2", "vc_r7_r7_LSL_r2"},
9405b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{eq, r1, r1, LSR, r4}, true, eq, "eq r1 r1 LSR r4", "eq_r1_r1_LSR_r4"},
9415b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{hi, r2, r2, ASR, r0}, true, hi, "hi r2 r2 ASR r0", "hi_r2_r2_ASR_r0"},
9425b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{pl, r2, r2, LSL, r0}, true, pl, "pl r2 r2 LSL r0", "pl_r2_r2_LSL_r0"},
9435b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{lt, r2, r2, ASR, r3}, true, lt, "lt r2 r2 ASR r3", "lt_r2_r2_ASR_r3"},
9445b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{pl, r5, r5, ASR, r5}, true, pl, "pl r5 r5 ASR r5", "pl_r5_r5_ASR_r5"},
9455b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{le, r7, r7, LSL, r4}, true, le, "le r7 r7 LSL r4", "le_r7_r7_LSL_r4"},
9465b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{eq, r4, r4, ROR, r5}, true, eq, "eq r4 r4 ROR r5", "eq_r4_r4_ROR_r5"},
9475b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{vc, r4, r4, LSR, r2}, true, vc, "vc r4 r4 LSR r2", "vc_r4_r4_LSR_r2"},
9485b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ne, r3, r3, ROR, r7}, true, ne, "ne r3 r3 ROR r7", "ne_r3_r3_ROR_r7"},
9495b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{gt, r3, r3, ROR, r4}, true, gt, "gt r3 r3 ROR r4", "gt_r3_r3_ROR_r4"},
9505b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{cs, r1, r1, ASR, r4}, true, cs, "cs r1 r1 ASR r4", "cs_r1_r1_ASR_r4"},
9515b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{cs, r4, r4, LSL, r3}, true, cs, "cs r4 r4 LSL r3", "cs_r4_r4_LSL_r3"},
9525b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{lt, r6, r6, ASR, r1}, true, lt, "lt r6 r6 ASR r1", "lt_r6_r6_ASR_r1"},
9535b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{hi, r3, r3, LSL, r5}, true, hi, "hi r3 r3 LSL r5", "hi_r3_r3_LSL_r5"},
9545b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{mi, r6, r6, ASR, r6}, true, mi, "mi r6 r6 ASR r6", "mi_r6_r6_ASR_r6"},
9555b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{le, r4, r4, LSR, r3}, true, le, "le r4 r4 LSR r3", "le_r4_r4_LSR_r3"},
9565b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{lt, r2, r2, LSL, r1}, true, lt, "lt r2 r2 LSL r1", "lt_r2_r2_LSL_r1"},
9575b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ne, r5, r5, LSR, r2}, true, ne, "ne r5 r5 LSR r2", "ne_r5_r5_LSR_r2"},
9585b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{mi, r3, r3, ASR, r2}, true, mi, "mi r3 r3 ASR r2", "mi_r3_r3_ASR_r2"},
9595b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ge, r0, r0, LSR, r2}, true, ge, "ge r0 r0 LSR r2", "ge_r0_r0_LSR_r2"},
9605b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ls, r6, r6, LSR, r3}, true, ls, "ls r6 r6 LSR r3", "ls_r6_r6_LSR_r3"},
9615b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{cc, r2, r2, LSR, r0}, true, cc, "cc r2 r2 LSR r0", "cc_r2_r2_LSR_r0"},
9625b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{vs, r7, r7, LSL, r7}, true, vs, "vs r7 r7 LSL r7", "vs_r7_r7_LSL_r7"},
9635b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{vc, r7, r7, ASR, r7}, true, vc, "vc r7 r7 ASR r7", "vc_r7_r7_ASR_r7"},
9645b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{eq, r6, r6, LSR, r0}, true, eq, "eq r6 r6 LSR r0", "eq_r6_r6_LSR_r0"},
9655b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{vc, r6, r6, ASR, r3}, true, vc, "vc r6 r6 ASR r3", "vc_r6_r6_ASR_r3"},
9665b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{gt, r4, r4, ROR, r4}, true, gt, "gt r4 r4 ROR r4", "gt_r4_r4_ROR_r4"},
9675b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ls, r5, r5, LSL, r4}, true, ls, "ls r5 r5 LSL r4", "ls_r5_r5_LSL_r4"},
9685b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ge, r1, r1, ROR, r1}, true, ge, "ge r1 r1 ROR r1", "ge_r1_r1_ROR_r1"},
9695b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{cc, r5, r5, ASR, r0}, true, cc, "cc r5 r5 ASR r0", "cc_r5_r5_ASR_r0"},
9705b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{gt, r2, r2, LSL, r3}, true, gt, "gt r2 r2 LSL r3", "gt_r2_r2_LSL_r3"},
9715b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ls, r0, r0, LSL, r5}, true, ls, "ls r0 r0 LSL r5", "ls_r0_r0_LSL_r5"},
9725b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{lt, r3, r3, LSL, r4}, true, lt, "lt r3 r3 LSL r4", "lt_r3_r3_LSL_r4"},
9735b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{eq, r6, r6, LSR, r3}, true, eq, "eq r6 r6 LSR r3", "eq_r6_r6_LSR_r3"},
9745b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ne, r1, r1, ROR, r2}, true, ne, "ne r1 r1 ROR r2", "ne_r1_r1_ROR_r2"},
9755b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{vc, r2, r2, ROR, r0}, true, vc, "vc r2 r2 ROR r0", "vc_r2_r2_ROR_r0"},
9765b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ls, r0, r0, LSR, r7}, true, ls, "ls r0 r0 LSR r7", "ls_r0_r0_LSR_r7"},
9775b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{mi, r3, r3, LSR, r2}, true, mi, "mi r3 r3 LSR r2", "mi_r3_r3_LSR_r2"},
9785b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{hi, r1, r1, LSL, r4}, true, hi, "hi r1 r1 LSL r4", "hi_r1_r1_LSL_r4"},
9795b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{cc, r1, r1, ROR, r3}, true, cc, "cc r1 r1 ROR r3", "cc_r1_r1_ROR_r3"},
9805b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{eq, r4, r4, ROR, r0}, true, eq, "eq r4 r4 ROR r0", "eq_r4_r4_ROR_r0"},
9815b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{vc, r6, r6, ASR, r2}, true, vc, "vc r6 r6 ASR r2", "vc_r6_r6_ASR_r2"},
9825b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ls, r4, r4, LSR, r7}, true, ls, "ls r4 r4 LSR r7", "ls_r4_r4_LSR_r7"},
9835b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{vc, r1, r1, LSR, r1}, true, vc, "vc r1 r1 LSR r1", "vc_r1_r1_LSR_r1"},
9845b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{mi, r4, r4, ROR, r2}, true, mi, "mi r4 r4 ROR r2", "mi_r4_r4_ROR_r2"},
9855b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ge, r7, r7, ROR, r5}, true, ge, "ge r7 r7 ROR r5", "ge_r7_r7_ROR_r5"},
9865b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{mi, r5, r5, LSR, r1}, true, mi, "mi r5 r5 LSR r1", "mi_r5_r5_LSR_r1"},
9875b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{cc, r3, r3, ASR, r6}, true, cc, "cc r3 r3 ASR r6", "cc_r3_r3_ASR_r6"},
9885b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{vc, r6, r6, ROR, r5}, true, vc, "vc r6 r6 ROR r5", "vc_r6_r6_ROR_r5"},
9895b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{mi, r7, r7, LSL, r0}, true, mi, "mi r7 r7 LSL r0", "mi_r7_r7_LSL_r0"},
9905b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{mi, r5, r5, LSR, r4}, true, mi, "mi r5 r5 LSR r4", "mi_r5_r5_LSR_r4"},
9915b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{lt, r6, r6, LSL, r5}, true, lt, "lt r6 r6 LSL r5", "lt_r6_r6_LSL_r5"},
9925b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ne, r0, r0, ASR, r6}, true, ne, "ne r0 r0 ASR r6", "ne_r0_r0_ASR_r6"},
9935b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{le, r2, r2, ROR, r6}, true, le, "le r2 r2 ROR r6", "le_r2_r2_ROR_r6"},
9945b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{cc, r7, r7, LSL, r3}, true, cc, "cc r7 r7 LSL r3", "cc_r7_r7_LSL_r3"},
9955b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{cc, r6, r6, ASR, r6}, true, cc, "cc r6 r6 ASR r6", "cc_r6_r6_ASR_r6"},
9965b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{le, r2, r2, ASR, r3}, true, le, "le r2 r2 ASR r3", "le_r2_r2_ASR_r3"},
9975b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ne, r6, r6, LSL, r2}, true, ne, "ne r6 r6 LSL r2", "ne_r6_r6_LSL_r2"},
9985b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{pl, r5, r5, LSL, r0}, true, pl, "pl r5 r5 LSL r0", "pl_r5_r5_LSL_r0"},
9995b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{vs, r1, r1, ASR, r3}, true, vs, "vs r1 r1 ASR r3", "vs_r1_r1_ASR_r3"},
10005b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{le, r7, r7, LSR, r1}, true, le, "le r7 r7 LSR r1", "le_r7_r7_LSR_r1"},
10015b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ge, r3, r3, ROR, r4}, true, ge, "ge r3 r3 ROR r4", "ge_r3_r3_ROR_r4"},
10025b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{le, r1, r1, LSL, r4}, true, le, "le r1 r1 LSL r4", "le_r1_r1_LSL_r4"},
10035b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ge, r2, r2, LSL, r6}, true, ge, "ge r2 r2 LSL r6", "ge_r2_r2_LSL_r6"},
10045b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{cs, r3, r3, ROR, r3}, true, cs, "cs r3 r3 ROR r3", "cs_r3_r3_ROR_r3"},
10055b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{vs, r0, r0, ROR, r1}, true, vs, "vs r0 r0 ROR r1", "vs_r0_r0_ROR_r1"},
10065b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{gt, r3, r3, LSR, r3}, true, gt, "gt r3 r3 LSR r3", "gt_r3_r3_LSR_r3"},
10075b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{pl, r2, r2, ASR, r4}, true, pl, "pl r2 r2 ASR r4", "pl_r2_r2_ASR_r4"},
10085b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{vs, r0, r0, ROR, r3}, true, vs, "vs r0 r0 ROR r3", "vs_r0_r0_ROR_r3"},
10095b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{mi, r7, r7, ASR, r0}, true, mi, "mi r7 r7 ASR r0", "mi_r7_r7_ASR_r0"},
10105b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{le, r6, r6, LSR, r2}, true, le, "le r6 r6 LSR r2", "le_r6_r6_LSR_r2"},
10115b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ne, r4, r4, ROR, r6}, true, ne, "ne r4 r4 ROR r6", "ne_r4_r4_ROR_r6"},
10125b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{gt, r5, r5, ASR, r4}, true, gt, "gt r5 r5 ASR r4", "gt_r5_r5_ASR_r4"},
10135b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ne, r1, r1, LSL, r2}, true, ne, "ne r1 r1 LSL r2", "ne_r1_r1_LSL_r2"},
10145b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{cs, r7, r7, ASR, r7}, true, cs, "cs r7 r7 ASR r7", "cs_r7_r7_ASR_r7"},
10155b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ls, r2, r2, ROR, r2}, true, ls, "ls r2 r2 ROR r2", "ls_r2_r2_ROR_r2"},
10165b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{le, r3, r3, ASR, r5}, true, le, "le r3 r3 ASR r5", "le_r3_r3_ASR_r5"},
10175b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{lt, r5, r5, LSL, r4}, true, lt, "lt r5 r5 LSL r4", "lt_r5_r5_LSL_r4"},
10185b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{le, r0, r0, LSL, r2}, true, le, "le r0 r0 LSL r2", "le_r0_r0_LSL_r2"},
10195b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{pl, r3, r3, LSL, r5}, true, pl, "pl r3 r3 LSL r5", "pl_r3_r3_LSL_r5"},
10205b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ge, r0, r0, ASR, r5}, true, ge, "ge r0 r0 ASR r5", "ge_r0_r0_ASR_r5"},
10215b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ls, r3, r3, ASR, r6}, true, ls, "ls r3 r3 ASR r6", "ls_r3_r3_ASR_r6"},
10225b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{cs, r4, r4, LSL, r5}, true, cs, "cs r4 r4 LSL r5", "cs_r4_r4_LSL_r5"},
10235b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{cc, r4, r4, LSL, r1}, true, cc, "cc r4 r4 LSL r1", "cc_r4_r4_LSL_r1"},
10245b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{cs, r6, r6, LSL, r7}, true, cs, "cs r6 r6 LSL r7", "cs_r6_r6_LSL_r7"},
10255b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ne, r4, r4, LSL, r6}, true, ne, "ne r4 r4 LSL r6", "ne_r4_r4_LSL_r6"},
10265b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{cs, r7, r7, ASR, r1}, true, cs, "cs r7 r7 ASR r1", "cs_r7_r7_ASR_r1"},
10275b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{cc, r2, r2, ASR, r1}, true, cc, "cc r2 r2 ASR r1", "cc_r2_r2_ASR_r1"},
10285b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ne, r6, r6, ASR, r2}, true, ne, "ne r6 r6 ASR r2", "ne_r6_r6_ASR_r2"},
10295b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{mi, r6, r6, LSL, r3}, true, mi, "mi r6 r6 LSL r3", "mi_r6_r6_LSL_r3"},
10305b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{lt, r6, r6, ASR, r0}, true, lt, "lt r6 r6 ASR r0", "lt_r6_r6_ASR_r0"},
10315b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{mi, r1, r1, LSL, r0}, true, mi, "mi r1 r1 LSL r0", "mi_r1_r1_LSL_r0"},
10325b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{pl, r1, r1, LSL, r0}, true, pl, "pl r1 r1 LSL r0", "pl_r1_r1_LSL_r0"},
10335b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{gt, r0, r0, LSL, r5}, true, gt, "gt r0 r0 LSL r5", "gt_r0_r0_LSL_r5"},
10345b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{gt, r4, r4, ASR, r3}, true, gt, "gt r4 r4 ASR r3", "gt_r4_r4_ASR_r3"},
10355b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{pl, r1, r1, LSR, r2}, true, pl, "pl r1 r1 LSR r2", "pl_r1_r1_LSR_r2"},
10365b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{vc, r1, r1, ROR, r6}, true, vc, "vc r1 r1 ROR r6", "vc_r1_r1_ROR_r6"},
10375b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ge, r4, r4, ROR, r0}, true, ge, "ge r4 r4 ROR r0", "ge_r4_r4_ROR_r0"},
10385b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{le, r1, r1, LSR, r0}, true, le, "le r1 r1 LSR r0", "le_r1_r1_LSR_r0"},
10395b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{cs, r5, r5, LSL, r2}, true, cs, "cs r5 r5 LSL r2", "cs_r5_r5_LSL_r2"},
10405b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ge, r5, r5, ROR, r1}, true, ge, "ge r5 r5 ROR r1", "ge_r5_r5_ROR_r1"},
10415b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{mi, r3, r3, ROR, r7}, true, mi, "mi r3 r3 ROR r7", "mi_r3_r3_ROR_r7"},
10425b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ls, r3, r3, ASR, r2}, true, ls, "ls r3 r3 ASR r2", "ls_r3_r3_ASR_r2"},
10435b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{le, r1, r1, LSL, r3}, true, le, "le r1 r1 LSL r3", "le_r1_r1_LSL_r3"},
10445b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ls, r2, r2, ASR, r4}, true, ls, "ls r2 r2 ASR r4", "ls_r2_r2_ASR_r4"},
10455b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{lt, r5, r5, ASR, r2}, true, lt, "lt r5 r5 ASR r2", "lt_r5_r5_ASR_r2"},
10465b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{cs, r0, r0, ASR, r0}, true, cs, "cs r0 r0 ASR r0", "cs_r0_r0_ASR_r0"},
10475b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{cs, r2, r2, ROR, r1}, true, cs, "cs r2 r2 ROR r1", "cs_r2_r2_ROR_r1"},
10485b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{hi, r2, r2, ROR, r1}, true, hi, "hi r2 r2 ROR r1", "hi_r2_r2_ROR_r1"},
10495b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ge, r0, r0, ASR, r4}, true, ge, "ge r0 r0 ASR r4", "ge_r0_r0_ASR_r4"},
10505b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{le, r7, r7, LSR, r5}, true, le, "le r7 r7 LSR r5", "le_r7_r7_LSR_r5"},
10515b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{eq, r2, r2, ROR, r3}, true, eq, "eq r2 r2 ROR r3", "eq_r2_r2_ROR_r3"},
10525b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{hi, r2, r2, LSL, r1}, true, hi, "hi r2 r2 LSL r1", "hi_r2_r2_LSL_r1"},
10535b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{hi, r4, r4, LSR, r0}, true, hi, "hi r4 r4 LSR r0", "hi_r4_r4_LSR_r0"},
10545b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{gt, r6, r6, ASR, r5}, true, gt, "gt r6 r6 ASR r5", "gt_r6_r6_ASR_r5"},
10555b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{pl, r0, r0, ASR, r7}, true, pl, "pl r0 r0 ASR r7", "pl_r0_r0_ASR_r7"},
10565b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{cc, r3, r3, LSL, r2}, true, cc, "cc r3 r3 LSL r2", "cc_r3_r3_LSL_r2"},
10575b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{mi, r0, r0, ASR, r7}, true, mi, "mi r0 r0 ASR r7", "mi_r0_r0_ASR_r7"},
10585b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{eq, r4, r4, LSR, r7}, true, eq, "eq r4 r4 LSR r7", "eq_r4_r4_LSR_r7"},
10595b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{vs, r0, r0, ASR, r1}, true, vs, "vs r0 r0 ASR r1", "vs_r0_r0_ASR_r1"},
10605b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ge, r1, r1, LSR, r2}, true, ge, "ge r1 r1 LSR r2", "ge_r1_r1_LSR_r2"},
10615b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ge, r4, r4, LSR, r4}, true, ge, "ge r4 r4 LSR r4", "ge_r4_r4_LSR_r4"},
10625b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{le, r3, r3, LSL, r6}, true, le, "le r3 r3 LSL r6", "le_r3_r3_LSL_r6"},
10635b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{pl, r6, r6, ASR, r4}, true, pl, "pl r6 r6 ASR r4", "pl_r6_r6_ASR_r4"},
10645b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ne, r3, r3, LSR, r6}, true, ne, "ne r3 r3 LSR r6", "ne_r3_r3_LSR_r6"},
10655b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{gt, r3, r3, LSR, r6}, true, gt, "gt r3 r3 LSR r6", "gt_r3_r3_LSR_r6"},
10665b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{lt, r1, r1, LSL, r3}, true, lt, "lt r1 r1 LSL r3", "lt_r1_r1_LSL_r3"},
10675b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ne, r1, r1, LSR, r7}, true, ne, "ne r1 r1 LSR r7", "ne_r1_r1_LSR_r7"},
10685b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ne, r1, r1, ROR, r4}, true, ne, "ne r1 r1 ROR r4", "ne_r1_r1_ROR_r4"},
10695b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{le, r7, r7, LSR, r7}, true, le, "le r7 r7 LSR r7", "le_r7_r7_LSR_r7"},
10705b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{lt, r1, r1, ASR, r5}, true, lt, "lt r1 r1 ASR r5", "lt_r1_r1_ASR_r5"},
10715b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ls, r6, r6, LSR, r6}, true, ls, "ls r6 r6 LSR r6", "ls_r6_r6_LSR_r6"},
10725b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{gt, r2, r2, LSL, r5}, true, gt, "gt r2 r2 LSL r5", "gt_r2_r2_LSL_r5"},
10735b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{gt, r1, r1, LSL, r4}, true, gt, "gt r1 r1 LSL r4", "gt_r1_r1_LSL_r4"},
10745b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{gt, r0, r0, LSL, r0}, true, gt, "gt r0 r0 LSL r0", "gt_r0_r0_LSL_r0"},
10755b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{lt, r0, r0, ASR, r7}, true, lt, "lt r0 r0 ASR r7", "lt_r0_r0_ASR_r7"},
10765b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ge, r0, r0, LSL, r5}, true, ge, "ge r0 r0 LSL r5", "ge_r0_r0_LSL_r5"},
10775b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{eq, r2, r2, LSR, r7}, true, eq, "eq r2 r2 LSR r7", "eq_r2_r2_LSR_r7"},
10785b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{pl, r2, r2, LSL, r4}, true, pl, "pl r2 r2 LSL r4", "pl_r2_r2_LSL_r4"},
10795b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{gt, r7, r7, LSR, r7}, true, gt, "gt r7 r7 LSR r7", "gt_r7_r7_LSR_r7"},
10805b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{lt, r5, r5, ROR, r6}, true, lt, "lt r5 r5 ROR r6", "lt_r5_r5_ROR_r6"},
10815b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{vc, r0, r0, LSL, r5}, true, vc, "vc r0 r0 LSL r5", "vc_r0_r0_LSL_r5"},
10825b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{cc, r2, r2, LSR, r3}, true, cc, "cc r2 r2 LSR r3", "cc_r2_r2_LSR_r3"},
10835b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ne, r6, r6, LSR, r2}, true, ne, "ne r6 r6 LSR r2", "ne_r6_r6_LSR_r2"},
10845b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{mi, r6, r6, LSR, r7}, true, mi, "mi r6 r6 LSR r7", "mi_r6_r6_LSR_r7"},
10855b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{gt, r2, r2, LSR, r4}, true, gt, "gt r2 r2 LSR r4", "gt_r2_r2_LSR_r4"},
10865b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{pl, r6, r6, ASR, r5}, true, pl, "pl r6 r6 ASR r5", "pl_r6_r6_ASR_r5"},
10875b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ge, r6, r6, ASR, r5}, true, ge, "ge r6 r6 ASR r5", "ge_r6_r6_ASR_r5"},
10885b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{pl, r0, r0, LSR, r1}, true, pl, "pl r0 r0 LSR r1", "pl_r0_r0_LSR_r1"},
10895b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ls, r3, r3, ROR, r3}, true, ls, "ls r3 r3 ROR r3", "ls_r3_r3_ROR_r3"},
10905b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{gt, r7, r7, LSL, r3}, true, gt, "gt r7 r7 LSL r3", "gt_r7_r7_LSL_r3"},
10915b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{mi, r2, r2, LSR, r6}, true, mi, "mi r2 r2 LSR r6", "mi_r2_r2_LSR_r6"},
10925b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{ge, r0, r0, ROR, r4}, true, ge, "ge r0 r0 ROR r4", "ge_r0_r0_ROR_r4"},
10935b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{le, r5, r5, ROR, r6}, true, le, "le r5 r5 ROR r6", "le_r5_r5_ROR_r6"},
10945b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{mi, r1, r1, LSL, r1}, true, mi, "mi r1 r1 LSL r1", "mi_r1_r1_LSL_r1"},
10955b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois     {{cc, r4, r4, LSL, r5}, true, cc, "cc r4 r4 LSL r5", "cc_r4_r4_LSL_r5"}};
109688c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois
109788c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois// These headers each contain an array of `TestResult` with the reference output
109888c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois// values. The reference arrays are names `kReference{mnemonic}`.
1099d1bf2784420717dcd20888a6eaecb18ab7f01d56Pierre Langlois#include "aarch32/traces/assembler-cond-rd-operand-rn-shift-rs-in-it-block-mov-t32.h"
110088c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois
110119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois
110288c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois// The maximum number of errors to report in detail for each test.
11031d451fce2580f360ef249893135526156985a85cPierre Langloisconst unsigned kErrorReportLimit = 8;
110488c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois
110519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langloistypedef void (MacroAssembler::*Fn)(Condition cond,
110619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois                                   Register rd,
110788c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois                                   const Operand& op);
110888c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois
11091d451fce2580f360ef249893135526156985a85cPierre Langloisvoid TestHelper(Fn instruction,
11101d451fce2580f360ef249893135526156985a85cPierre Langlois                const char* mnemonic,
11111d451fce2580f360ef249893135526156985a85cPierre Langlois                const TestResult reference[]) {
111288c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois  unsigned total_error_count = 0;
111388c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois  MacroAssembler masm(BUF_SIZE);
111488c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois
111510dae1a549308bddc1931f29754d6a4459f70c9bJacob Bramley  masm.UseT32();
111688c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois
111788c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois  for (unsigned i = 0; i < ARRAY_SIZE(kTests); i++) {
111888c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois    // Values to pass to the macro-assembler.
111988c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois    Condition cond = kTests[i].operands.cond;
112088c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois    Register rd = kTests[i].operands.rd;
112188c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois    Register rn = kTests[i].operands.rn;
112288c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois    ShiftType shift = kTests[i].operands.shift;
112388c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois    Register rs = kTests[i].operands.rs;
112488c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois    Operand op(rn, shift, rs);
112588c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois
1126f5348cedd702124c90fc75e75d0195e2e485c620Pierre Langlois    int32_t start = masm.GetCursorOffset();
11275b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois    {
11285b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois      // We never generate more that 4 bytes, as IT instructions are only
11295b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois      // allowed for narrow encodings.
11301661f51a172e7c3dcce6caca55b6fe6d10ebd416Alexandre Rames      ExactAssemblyScope scope(&masm, 4, ExactAssemblyScope::kMaximumSize);
11315b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois      if (kTests[i].in_it_block) {
11325b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois        masm.it(kTests[i].it_condition);
11335b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois      }
11345b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois      (masm.*instruction)(cond, rd, op);
11355b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois    }
1136f5348cedd702124c90fc75e75d0195e2e485c620Pierre Langlois    int32_t end = masm.GetCursorOffset();
113788c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois
113888c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois    const byte* result_ptr =
1139919e3fe28a5024c53ede42922092bbc32e89dcb8Alexandre Rames        masm.GetBuffer()->GetOffsetAddress<const byte*>(start);
1140f5348cedd702124c90fc75e75d0195e2e485c620Pierre Langlois    VIXL_ASSERT(start < end);
114188c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois    uint32_t result_size = end - start;
114288c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois
114388c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois    if (Test::generate_test_trace()) {
114488c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois      // Print the result bytes.
11451d451fce2580f360ef249893135526156985a85cPierre Langlois      printf("const byte kInstruction_%s_%s[] = {\n",
114619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois             mnemonic,
114788c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois             kTests[i].identifier);
114888c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois      for (uint32_t j = 0; j < result_size; j++) {
114988c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois        if (j == 0) {
115088c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois          printf("  0x%02" PRIx8, result_ptr[j]);
115188c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois        } else {
115288c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois          printf(", 0x%02" PRIx8, result_ptr[j]);
115388c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois        }
115488c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois      }
115588c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois      // This comment is meant to be used by external tools to validate
115688c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois      // the encoding. We can parse the comment to figure out what
115788c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois      // instruction this corresponds to.
11585b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois      if (kTests[i].in_it_block) {
11595b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois        printf(" // It %s; %s %s\n};\n",
11605b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois               kTests[i].it_condition.GetName(),
11615b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois               mnemonic,
11625b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois               kTests[i].operands_description);
11635b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois      } else {
11645b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois        printf(" // %s %s\n};\n", mnemonic, kTests[i].operands_description);
11655b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois      }
116688c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois    } else {
116788c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois      // Check we've emitted the exact same encoding as present in the
116888c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois      // trace file. Only print up to `kErrorReportLimit` errors.
116988c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois      if (((result_size != reference[i].size) ||
117088c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois           (memcmp(result_ptr, reference[i].encoding, reference[i].size) !=
117188c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois            0)) &&
117288c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois          (++total_error_count <= kErrorReportLimit)) {
117319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois        printf("Error when testing \"%s\" with operands \"%s\":\n",
117419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois               mnemonic,
117588c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois               kTests[i].operands_description);
117688c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois        printf("  Expected: ");
117788c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois        for (uint32_t j = 0; j < reference[i].size; j++) {
117888c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois          if (j == 0) {
117988c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois            printf("0x%02" PRIx8, reference[i].encoding[j]);
118088c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois          } else {
118188c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois            printf(", 0x%02" PRIx8, reference[i].encoding[j]);
118288c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois          }
118388c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois        }
118488c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois        printf("\n");
118588c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois        printf("  Found:    ");
118688c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois        for (uint32_t j = 0; j < result_size; j++) {
118788c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois          if (j == 0) {
118888c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois            printf("0x%02" PRIx8, result_ptr[j]);
118988c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois          } else {
119088c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois            printf(", 0x%02" PRIx8, result_ptr[j]);
119188c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois          }
119288c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois        }
119388c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois        printf("\n");
119488c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois      }
119588c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois    }
119688c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois  }
119788c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois
119888c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois  masm.FinalizeCode();
119988c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois
120088c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois  if (Test::generate_test_trace()) {
120188c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois    // Finalize the trace file by writing the final `TestResult` array
120288c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois    // which links all generated instruction encodings.
12031d451fce2580f360ef249893135526156985a85cPierre Langlois    printf("const TestResult kReference%s[] = {\n", mnemonic);
120488c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois    for (unsigned i = 0; i < ARRAY_SIZE(kTests); i++) {
120588c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois      printf("  {\n");
120619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      printf("    ARRAY_SIZE(kInstruction_%s_%s),\n",
120719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois             mnemonic,
120888c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois             kTests[i].identifier);
120988c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois      printf("    kInstruction_%s_%s,\n", mnemonic, kTests[i].identifier);
121088c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois      printf("  },\n");
121188c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois    }
121288c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois    printf("};\n");
121388c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois  } else {
121488c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois    if (total_error_count > kErrorReportLimit) {
121588c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois      printf("%u other errors follow.\n",
121688c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois             total_error_count - kErrorReportLimit);
121788c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois    }
12185b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois    // Crash if the test failed.
12195b0cbc8d721ff369c76e09ff1e7ab878ffcae4e9Pierre Langlois    VIXL_CHECK(total_error_count == 0);
122088c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois  }
122188c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois}
122288c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois
122388c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois// Instantiate tests for each instruction in the list.
1224d1bf2784420717dcd20888a6eaecb18ab7f01d56Pierre Langlois#define TEST(mnemonic)                                                       \
1225d1bf2784420717dcd20888a6eaecb18ab7f01d56Pierre Langlois  void Test_##mnemonic() {                                                   \
1226d1bf2784420717dcd20888a6eaecb18ab7f01d56Pierre Langlois    TestHelper(&MacroAssembler::mnemonic, #mnemonic, kReference##mnemonic);  \
1227d1bf2784420717dcd20888a6eaecb18ab7f01d56Pierre Langlois  }                                                                          \
1228d1bf2784420717dcd20888a6eaecb18ab7f01d56Pierre Langlois  Test test_##mnemonic(                                                      \
1229d1bf2784420717dcd20888a6eaecb18ab7f01d56Pierre Langlois      "AARCH32_ASSEMBLER_COND_RD_OPERAND_RN_SHIFT_RS_IN_IT_BLOCK_" #mnemonic \
1230d1bf2784420717dcd20888a6eaecb18ab7f01d56Pierre Langlois      "_T32",                                                                \
123188c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois      &Test_##mnemonic);
123288c46b84df005638546de5e4e965bdcc31352f48Pierre LangloisFOREACH_INSTRUCTION(TEST)
123388c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois#undef TEST
123488c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois
12351d451fce2580f360ef249893135526156985a85cPierre Langlois}  // namespace
12369a9331faeba996d6c85e6e2a6355ccfc22c6cab6Rodolph Perfetta#endif
12371d451fce2580f360ef249893135526156985a85cPierre Langlois
12381d451fce2580f360ef249893135526156985a85cPierre Langlois}  // namespace aarch32
12391d451fce2580f360ef249893135526156985a85cPierre Langlois}  // namespace vixl
1240