Home | History | Annotate | Download | only in aarch32
      1 // Copyright 2016, VIXL authors
      2 // All rights reserved.
      3 //
      4 // Redistribution and use in source and binary forms, with or without
      5 // modification, are permitted provided that the following conditions are met:
      6 //
      7 //   * Redistributions of source code must retain the above copyright notice,
      8 //     this list of conditions and the following disclaimer.
      9 //   * Redistributions in binary form must reproduce the above copyright notice,
     10 //     this list of conditions and the following disclaimer in the documentation
     11 //     and/or other materials provided with the distribution.
     12 //   * Neither the name of ARM Limited nor the names of its contributors may be
     13 //     used to endorse or promote products derived from this software without
     14 //     specific prior written permission.
     15 //
     16 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS CONTRIBUTORS "AS IS" AND
     17 // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
     18 // WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
     19 // DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
     20 // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
     21 // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
     22 // SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
     23 // CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
     24 // OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
     25 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
     26 
     27 
     28 // -----------------------------------------------------------------------------
     29 // This file is auto generated from the
     30 // test/aarch32/config/template-assembler-aarch32.cc.in template file using
     31 // tools/generate_tests.py.
     32 //
     33 // PLEASE DO NOT EDIT.
     34 // -----------------------------------------------------------------------------
     35 
     36 
     37 #include "test-runner.h"
     38 
     39 #include "test-utils.h"
     40 #include "test-utils-aarch32.h"
     41 
     42 #include "aarch32/assembler-aarch32.h"
     43 #include "aarch32/macro-assembler-aarch32.h"
     44 
     45 #define BUF_SIZE (4096)
     46 
     47 namespace vixl {
     48 namespace aarch32 {
     49 
     50 // List of instruction mnemonics.
     51 #define FOREACH_INSTRUCTION(M) \
     52   M(cmp)                       \
     53   M(mov)
     54 
     55 
     56 // The following definitions are defined again in each generated test, therefore
     57 // we need to place them in an anomymous namespace. It expresses that they are
     58 // local to this file only, and the compiler is not allowed to share these types
     59 // across test files during template instantiation. Specifically, `Operands` has
     60 // various layouts across generated tests so it absolutely cannot be shared.
     61 
     62 #ifdef VIXL_INCLUDE_TARGET_T32
     63 namespace {
     64 
     65 // Values to be passed to the assembler to produce the instruction under test.
     66 struct Operands {
     67   Condition cond;
     68   Register rd;
     69   int32_t immediate;
     70 };
     71 
     72 // This structure contains all data needed to test one specific
     73 // instruction.
     74 struct TestData {
     75   // The `operands` field represents what to pass to the assembler to
     76   // produce the instruction.
     77   Operands operands;
     78   // True if we need to generate an IT instruction for this test to be valid.
     79   bool in_it_block;
     80   // The condition to give the IT instruction, this will be set to "al" by
     81   // default.
     82   Condition it_condition;
     83   // Description of the operands, used for error reporting.
     84   const char* operands_description;
     85   // Unique identifier, used for generating traces.
     86   const char* identifier;
     87 };
     88 
     89 struct TestResult {
     90   size_t size;
     91   const byte* encoding;
     92 };
     93 
     94 // Each element of this array produce one instruction encoding.
     95 const TestData kTests[] = {{{vc, r1, 111}, true, vc, "vc r1 111", "vc_r1_111"},
     96                            {{ne, r1, 134}, true, ne, "ne r1 134", "ne_r1_134"},
     97                            {{ne, r5, 21}, true, ne, "ne r5 21", "ne_r5_21"},
     98                            {{cs, r6, 221}, true, cs, "cs r6 221", "cs_r6_221"},
     99                            {{cs, r3, 100}, true, cs, "cs r3 100", "cs_r3_100"},
    100                            {{le, r2, 209}, true, le, "le r2 209", "le_r2_209"},
    101                            {{ls, r7, 8}, true, ls, "ls r7 8", "ls_r7_8"},
    102                            {{cs, r7, 201}, true, cs, "cs r7 201", "cs_r7_201"},
    103                            {{ne, r3, 112}, true, ne, "ne r3 112", "ne_r3_112"},
    104                            {{lt, r4, 152}, true, lt, "lt r4 152", "lt_r4_152"},
    105                            {{mi, r4, 165}, true, mi, "mi r4 165", "mi_r4_165"},
    106                            {{eq, r6, 175}, true, eq, "eq r6 175", "eq_r6_175"},
    107                            {{hi, r3, 187}, true, hi, "hi r3 187", "hi_r3_187"},
    108                            {{ne, r0, 192}, true, ne, "ne r0 192", "ne_r0_192"},
    109                            {{vc, r7, 207}, true, vc, "vc r7 207", "vc_r7_207"},
    110                            {{vs, r3, 135}, true, vs, "vs r3 135", "vs_r3_135"},
    111                            {{cs, r4, 204}, true, cs, "cs r4 204", "cs_r4_204"},
    112                            {{gt, r0, 122}, true, gt, "gt r0 122", "gt_r0_122"},
    113                            {{lt, r4, 185}, true, lt, "lt r4 185", "lt_r4_185"},
    114                            {{eq, r2, 187}, true, eq, "eq r2 187", "eq_r2_187"},
    115                            {{ne, r5, 226}, true, ne, "ne r5 226", "ne_r5_226"},
    116                            {{ge, r1, 250}, true, ge, "ge r1 250", "ge_r1_250"},
    117                            {{lt, r7, 97}, true, lt, "lt r7 97", "lt_r7_97"},
    118                            {{cs, r4, 21}, true, cs, "cs r4 21", "cs_r4_21"},
    119                            {{vc, r0, 217}, true, vc, "vc r0 217", "vc_r0_217"},
    120                            {{mi, r1, 81}, true, mi, "mi r1 81", "mi_r1_81"},
    121                            {{cc, r5, 156}, true, cc, "cc r5 156", "cc_r5_156"},
    122                            {{ne, r7, 171}, true, ne, "ne r7 171", "ne_r7_171"},
    123                            {{vs, r2, 252}, true, vs, "vs r2 252", "vs_r2_252"},
    124                            {{lt, r4, 103}, true, lt, "lt r4 103", "lt_r4_103"},
    125                            {{ge, r6, 203}, true, ge, "ge r6 203", "ge_r6_203"},
    126                            {{ne, r4, 234}, true, ne, "ne r4 234", "ne_r4_234"},
    127                            {{mi, r2, 27}, true, mi, "mi r2 27", "mi_r2_27"},
    128                            {{ne, r4, 224}, true, ne, "ne r4 224", "ne_r4_224"},
    129                            {{gt, r3, 124}, true, gt, "gt r3 124", "gt_r3_124"},
    130                            {{lt, r4, 49}, true, lt, "lt r4 49", "lt_r4_49"},
    131                            {{gt, r1, 201}, true, gt, "gt r1 201", "gt_r1_201"},
    132                            {{ge, r4, 133}, true, ge, "ge r4 133", "ge_r4_133"},
    133                            {{hi, r4, 176}, true, hi, "hi r4 176", "hi_r4_176"},
    134                            {{pl, r3, 94}, true, pl, "pl r3 94", "pl_r3_94"},
    135                            {{le, r2, 69}, true, le, "le r2 69", "le_r2_69"},
    136                            {{hi, r0, 145}, true, hi, "hi r0 145", "hi_r0_145"},
    137                            {{ne, r1, 119}, true, ne, "ne r1 119", "ne_r1_119"},
    138                            {{hi, r0, 124}, true, hi, "hi r0 124", "hi_r0_124"},
    139                            {{vc, r6, 221}, true, vc, "vc r6 221", "vc_r6_221"},
    140                            {{cs, r2, 71}, true, cs, "cs r2 71", "cs_r2_71"},
    141                            {{eq, r0, 87}, true, eq, "eq r0 87", "eq_r0_87"},
    142                            {{cc, r3, 42}, true, cc, "cc r3 42", "cc_r3_42"},
    143                            {{cs, r7, 98}, true, cs, "cs r7 98", "cs_r7_98"},
    144                            {{vc, r3, 28}, true, vc, "vc r3 28", "vc_r3_28"},
    145                            {{eq, r4, 94}, true, eq, "eq r4 94", "eq_r4_94"},
    146                            {{gt, r7, 84}, true, gt, "gt r7 84", "gt_r7_84"},
    147                            {{hi, r3, 101}, true, hi, "hi r3 101", "hi_r3_101"},
    148                            {{pl, r5, 197}, true, pl, "pl r5 197", "pl_r5_197"},
    149                            {{pl, r6, 214}, true, pl, "pl r6 214", "pl_r6_214"},
    150                            {{hi, r7, 32}, true, hi, "hi r7 32", "hi_r7_32"},
    151                            {{ge, r7, 217}, true, ge, "ge r7 217", "ge_r7_217"},
    152                            {{cc, r3, 21}, true, cc, "cc r3 21", "cc_r3_21"},
    153                            {{le, r2, 216}, true, le, "le r2 216", "le_r2_216"},
    154                            {{le, r5, 199}, true, le, "le r5 199", "le_r5_199"},
    155                            {{cc, r3, 162}, true, cc, "cc r3 162", "cc_r3_162"},
    156                            {{cs, r5, 39}, true, cs, "cs r5 39", "cs_r5_39"},
    157                            {{cc, r5, 204}, true, cc, "cc r5 204", "cc_r5_204"},
    158                            {{ge, r1, 182}, true, ge, "ge r1 182", "ge_r1_182"},
    159                            {{ne, r5, 12}, true, ne, "ne r5 12", "ne_r5_12"},
    160                            {{lt, r4, 39}, true, lt, "lt r4 39", "lt_r4_39"},
    161                            {{vc, r5, 205}, true, vc, "vc r5 205", "vc_r5_205"},
    162                            {{cc, r7, 36}, true, cc, "cc r7 36", "cc_r7_36"},
    163                            {{pl, r1, 121}, true, pl, "pl r1 121", "pl_r1_121"},
    164                            {{lt, r3, 206}, true, lt, "lt r3 206", "lt_r3_206"},
    165                            {{ne, r5, 130}, true, ne, "ne r5 130", "ne_r5_130"},
    166                            {{pl, r2, 84}, true, pl, "pl r2 84", "pl_r2_84"},
    167                            {{pl, r5, 180}, true, pl, "pl r5 180", "pl_r5_180"},
    168                            {{ne, r1, 126}, true, ne, "ne r1 126", "ne_r1_126"},
    169                            {{ge, r5, 91}, true, ge, "ge r5 91", "ge_r5_91"},
    170                            {{pl, r6, 48}, true, pl, "pl r6 48", "pl_r6_48"},
    171                            {{mi, r3, 241}, true, mi, "mi r3 241", "mi_r3_241"},
    172                            {{le, r3, 197}, true, le, "le r3 197", "le_r3_197"},
    173                            {{gt, r3, 154}, true, gt, "gt r3 154", "gt_r3_154"},
    174                            {{vc, r1, 31}, true, vc, "vc r1 31", "vc_r1_31"},
    175                            {{ls, r4, 218}, true, ls, "ls r4 218", "ls_r4_218"},
    176                            {{ne, r0, 237}, true, ne, "ne r0 237", "ne_r0_237"},
    177                            {{ge, r0, 171}, true, ge, "ge r0 171", "ge_r0_171"},
    178                            {{cc, r7, 102}, true, cc, "cc r7 102", "cc_r7_102"},
    179                            {{ge, r5, 245}, true, ge, "ge r5 245", "ge_r5_245"},
    180                            {{ne, r4, 28}, true, ne, "ne r4 28", "ne_r4_28"},
    181                            {{cs, r7, 186}, true, cs, "cs r7 186", "cs_r7_186"},
    182                            {{ls, r0, 30}, true, ls, "ls r0 30", "ls_r0_30"},
    183                            {{ge, r1, 17}, true, ge, "ge r1 17", "ge_r1_17"},
    184                            {{cc, r5, 92}, true, cc, "cc r5 92", "cc_r5_92"},
    185                            {{mi, r1, 71}, true, mi, "mi r1 71", "mi_r1_71"},
    186                            {{vs, r4, 250}, true, vs, "vs r4 250", "vs_r4_250"},
    187                            {{le, r3, 170}, true, le, "le r3 170", "le_r3_170"},
    188                            {{mi, r3, 64}, true, mi, "mi r3 64", "mi_r3_64"},
    189                            {{ls, r2, 177}, true, ls, "ls r2 177", "ls_r2_177"},
    190                            {{vs, r5, 70}, true, vs, "vs r5 70", "vs_r5_70"},
    191                            {{vs, r4, 51}, true, vs, "vs r4 51", "vs_r4_51"},
    192                            {{vs, r3, 176}, true, vs, "vs r3 176", "vs_r3_176"},
    193                            {{le, r1, 101}, true, le, "le r1 101", "le_r1_101"},
    194                            {{ne, r3, 74}, true, ne, "ne r3 74", "ne_r3_74"},
    195                            {{ge, r0, 210}, true, ge, "ge r0 210", "ge_r0_210"},
    196                            {{gt, r1, 181}, true, gt, "gt r1 181", "gt_r1_181"},
    197                            {{eq, r7, 223}, true, eq, "eq r7 223", "eq_r7_223"},
    198                            {{ge, r3, 175}, true, ge, "ge r3 175", "ge_r3_175"},
    199                            {{eq, r3, 106}, true, eq, "eq r3 106", "eq_r3_106"},
    200                            {{ge, r5, 127}, true, ge, "ge r5 127", "ge_r5_127"},
    201                            {{cc, r5, 59}, true, cc, "cc r5 59", "cc_r5_59"},
    202                            {{cs, r4, 0}, true, cs, "cs r4 0", "cs_r4_0"},
    203                            {{gt, r6, 133}, true, gt, "gt r6 133", "gt_r6_133"},
    204                            {{ls, r1, 56}, true, ls, "ls r1 56", "ls_r1_56"},
    205                            {{le, r3, 25}, true, le, "le r3 25", "le_r3_25"},
    206                            {{vc, r1, 24}, true, vc, "vc r1 24", "vc_r1_24"},
    207                            {{eq, r2, 59}, true, eq, "eq r2 59", "eq_r2_59"},
    208                            {{eq, r3, 35}, true, eq, "eq r3 35", "eq_r3_35"},
    209                            {{ls, r1, 68}, true, ls, "ls r1 68", "ls_r1_68"},
    210                            {{hi, r5, 240}, true, hi, "hi r5 240", "hi_r5_240"},
    211                            {{ls, r1, 58}, true, ls, "ls r1 58", "ls_r1_58"},
    212                            {{cc, r7, 207}, true, cc, "cc r7 207", "cc_r7_207"},
    213                            {{ls, r6, 138}, true, ls, "ls r6 138", "ls_r6_138"},
    214                            {{lt, r5, 192}, true, lt, "lt r5 192", "lt_r5_192"},
    215                            {{ne, r7, 210}, true, ne, "ne r7 210", "ne_r7_210"},
    216                            {{eq, r3, 82}, true, eq, "eq r3 82", "eq_r3_82"},
    217                            {{gt, r3, 174}, true, gt, "gt r3 174", "gt_r3_174"},
    218                            {{ge, r6, 10}, true, ge, "ge r6 10", "ge_r6_10"},
    219                            {{vs, r3, 113}, true, vs, "vs r3 113", "vs_r3_113"},
    220                            {{hi, r2, 102}, true, hi, "hi r2 102", "hi_r2_102"},
    221                            {{le, r1, 81}, true, le, "le r1 81", "le_r1_81"},
    222                            {{vc, r3, 8}, true, vc, "vc r3 8", "vc_r3_8"},
    223                            {{mi, r4, 60}, true, mi, "mi r4 60", "mi_r4_60"},
    224                            {{pl, r7, 133}, true, pl, "pl r7 133", "pl_r7_133"},
    225                            {{le, r0, 41}, true, le, "le r0 41", "le_r0_41"},
    226                            {{vc, r6, 4}, true, vc, "vc r6 4", "vc_r6_4"},
    227                            {{ls, r7, 243}, true, ls, "ls r7 243", "ls_r7_243"},
    228                            {{mi, r3, 129}, true, mi, "mi r3 129", "mi_r3_129"},
    229                            {{eq, r6, 3}, true, eq, "eq r6 3", "eq_r6_3"},
    230                            {{ge, r0, 28}, true, ge, "ge r0 28", "ge_r0_28"},
    231                            {{pl, r3, 129}, true, pl, "pl r3 129", "pl_r3_129"},
    232                            {{ne, r6, 202}, true, ne, "ne r6 202", "ne_r6_202"},
    233                            {{gt, r0, 84}, true, gt, "gt r0 84", "gt_r0_84"},
    234                            {{hi, r7, 3}, true, hi, "hi r7 3", "hi_r7_3"},
    235                            {{vs, r1, 14}, true, vs, "vs r1 14", "vs_r1_14"},
    236                            {{eq, r3, 107}, true, eq, "eq r3 107", "eq_r3_107"},
    237                            {{pl, r1, 57}, true, pl, "pl r1 57", "pl_r1_57"},
    238                            {{pl, r0, 138}, true, pl, "pl r0 138", "pl_r0_138"},
    239                            {{cs, r6, 158}, true, cs, "cs r6 158", "cs_r6_158"},
    240                            {{ne, r2, 120}, true, ne, "ne r2 120", "ne_r2_120"},
    241                            {{ge, r1, 132}, true, ge, "ge r1 132", "ge_r1_132"},
    242                            {{hi, r6, 204}, true, hi, "hi r6 204", "hi_r6_204"},
    243                            {{ge, r5, 228}, true, ge, "ge r5 228", "ge_r5_228"},
    244                            {{gt, r5, 55}, true, gt, "gt r5 55", "gt_r5_55"},
    245                            {{vc, r7, 55}, true, vc, "vc r7 55", "vc_r7_55"},
    246                            {{ge, r3, 90}, true, ge, "ge r3 90", "ge_r3_90"},
    247                            {{vs, r7, 252}, true, vs, "vs r7 252", "vs_r7_252"},
    248                            {{le, r5, 168}, true, le, "le r5 168", "le_r5_168"},
    249                            {{vc, r6, 9}, true, vc, "vc r6 9", "vc_r6_9"},
    250                            {{eq, r7, 153}, true, eq, "eq r7 153", "eq_r7_153"},
    251                            {{cs, r2, 129}, true, cs, "cs r2 129", "cs_r2_129"},
    252                            {{eq, r4, 232}, true, eq, "eq r4 232", "eq_r4_232"},
    253                            {{le, r3, 86}, true, le, "le r3 86", "le_r3_86"},
    254                            {{vs, r1, 138}, true, vs, "vs r1 138", "vs_r1_138"},
    255                            {{vs, r6, 107}, true, vs, "vs r6 107", "vs_r6_107"},
    256                            {{gt, r0, 59}, true, gt, "gt r0 59", "gt_r0_59"},
    257                            {{mi, r3, 81}, true, mi, "mi r3 81", "mi_r3_81"},
    258                            {{le, r5, 74}, true, le, "le r5 74", "le_r5_74"},
    259                            {{le, r6, 207}, true, le, "le r6 207", "le_r6_207"},
    260                            {{vs, r0, 64}, true, vs, "vs r0 64", "vs_r0_64"},
    261                            {{le, r7, 146}, true, le, "le r7 146", "le_r7_146"},
    262                            {{cc, r4, 160}, true, cc, "cc r4 160", "cc_r4_160"},
    263                            {{vs, r5, 10}, true, vs, "vs r5 10", "vs_r5_10"},
    264                            {{gt, r2, 126}, true, gt, "gt r2 126", "gt_r2_126"},
    265                            {{le, r0, 94}, true, le, "le r0 94", "le_r0_94"},
    266                            {{ne, r6, 168}, true, ne, "ne r6 168", "ne_r6_168"},
    267                            {{cc, r4, 34}, true, cc, "cc r4 34", "cc_r4_34"},
    268                            {{hi, r5, 197}, true, hi, "hi r5 197", "hi_r5_197"},
    269                            {{eq, r0, 103}, true, eq, "eq r0 103", "eq_r0_103"},
    270                            {{cs, r4, 32}, true, cs, "cs r4 32", "cs_r4_32"},
    271                            {{hi, r7, 221}, true, hi, "hi r7 221", "hi_r7_221"},
    272                            {{mi, r0, 0}, true, mi, "mi r0 0", "mi_r0_0"},
    273                            {{pl, r0, 163}, true, pl, "pl r0 163", "pl_r0_163"},
    274                            {{cc, r2, 167}, true, cc, "cc r2 167", "cc_r2_167"},
    275                            {{gt, r4, 37}, true, gt, "gt r4 37", "gt_r4_37"},
    276                            {{mi, r5, 35}, true, mi, "mi r5 35", "mi_r5_35"},
    277                            {{cc, r7, 131}, true, cc, "cc r7 131", "cc_r7_131"},
    278                            {{pl, r4, 187}, true, pl, "pl r4 187", "pl_r4_187"},
    279                            {{ls, r2, 26}, true, ls, "ls r2 26", "ls_r2_26"},
    280                            {{mi, r7, 10}, true, mi, "mi r7 10", "mi_r7_10"},
    281                            {{le, r2, 113}, true, le, "le r2 113", "le_r2_113"},
    282                            {{vc, r2, 26}, true, vc, "vc r2 26", "vc_r2_26"},
    283                            {{vs, r1, 255}, true, vs, "vs r1 255", "vs_r1_255"},
    284                            {{ls, r5, 238}, true, ls, "ls r5 238", "ls_r5_238"},
    285                            {{ge, r0, 86}, true, ge, "ge r0 86", "ge_r0_86"},
    286                            {{gt, r0, 104}, true, gt, "gt r0 104", "gt_r0_104"},
    287                            {{eq, r2, 78}, true, eq, "eq r2 78", "eq_r2_78"},
    288                            {{cc, r1, 102}, true, cc, "cc r1 102", "cc_r1_102"},
    289                            {{cc, r0, 16}, true, cc, "cc r0 16", "cc_r0_16"},
    290                            {{mi, r4, 48}, true, mi, "mi r4 48", "mi_r4_48"},
    291                            {{cc, r2, 210}, true, cc, "cc r2 210", "cc_r2_210"},
    292                            {{hi, r5, 184}, true, hi, "hi r5 184", "hi_r5_184"},
    293                            {{vs, r5, 156}, true, vs, "vs r5 156", "vs_r5_156"},
    294                            {{cc, r2, 241}, true, cc, "cc r2 241", "cc_r2_241"},
    295                            {{le, r5, 169}, true, le, "le r5 169", "le_r5_169"},
    296                            {{pl, r5, 114}, true, pl, "pl r5 114", "pl_r5_114"},
    297                            {{eq, r6, 200}, true, eq, "eq r6 200", "eq_r6_200"},
    298                            {{vs, r4, 174}, true, vs, "vs r4 174", "vs_r4_174"},
    299                            {{vc, r5, 233}, true, vc, "vc r5 233", "vc_r5_233"},
    300                            {{hi, r2, 233}, true, hi, "hi r2 233", "hi_r2_233"},
    301                            {{ne, r5, 210}, true, ne, "ne r5 210", "ne_r5_210"},
    302                            {{le, r1, 109}, true, le, "le r1 109", "le_r1_109"},
    303                            {{eq, r7, 188}, true, eq, "eq r7 188", "eq_r7_188"},
    304                            {{hi, r2, 66}, true, hi, "hi r2 66", "hi_r2_66"},
    305                            {{le, r7, 109}, true, le, "le r7 109", "le_r7_109"},
    306                            {{ge, r6, 175}, true, ge, "ge r6 175", "ge_r6_175"},
    307                            {{mi, r2, 25}, true, mi, "mi r2 25", "mi_r2_25"},
    308                            {{pl, r2, 137}, true, pl, "pl r2 137", "pl_r2_137"},
    309                            {{pl, r0, 249}, true, pl, "pl r0 249", "pl_r0_249"},
    310                            {{lt, r1, 139}, true, lt, "lt r1 139", "lt_r1_139"},
    311                            {{cs, r2, 165}, true, cs, "cs r2 165", "cs_r2_165"},
    312                            {{ne, r6, 174}, true, ne, "ne r6 174", "ne_r6_174"},
    313                            {{le, r7, 90}, true, le, "le r7 90", "le_r7_90"},
    314                            {{gt, r5, 67}, true, gt, "gt r5 67", "gt_r5_67"},
    315                            {{gt, r0, 175}, true, gt, "gt r0 175", "gt_r0_175"},
    316                            {{hi, r3, 81}, true, hi, "hi r3 81", "hi_r3_81"},
    317                            {{le, r4, 144}, true, le, "le r4 144", "le_r4_144"},
    318                            {{vs, r4, 23}, true, vs, "vs r4 23", "vs_r4_23"},
    319                            {{eq, r7, 85}, true, eq, "eq r7 85", "eq_r7_85"},
    320                            {{eq, r7, 202}, true, eq, "eq r7 202", "eq_r7_202"},
    321                            {{cs, r1, 201}, true, cs, "cs r1 201", "cs_r1_201"},
    322                            {{lt, r4, 67}, true, lt, "lt r4 67", "lt_r4_67"},
    323                            {{pl, r2, 206}, true, pl, "pl r2 206", "pl_r2_206"},
    324                            {{vc, r0, 87}, true, vc, "vc r0 87", "vc_r0_87"},
    325                            {{lt, r1, 35}, true, lt, "lt r1 35", "lt_r1_35"},
    326                            {{pl, r7, 192}, true, pl, "pl r7 192", "pl_r7_192"},
    327                            {{cc, r5, 213}, true, cc, "cc r5 213", "cc_r5_213"},
    328                            {{vs, r5, 86}, true, vs, "vs r5 86", "vs_r5_86"},
    329                            {{ls, r1, 182}, true, ls, "ls r1 182", "ls_r1_182"},
    330                            {{vc, r0, 227}, true, vc, "vc r0 227", "vc_r0_227"},
    331                            {{cs, r1, 206}, true, cs, "cs r1 206", "cs_r1_206"},
    332                            {{vs, r7, 194}, true, vs, "vs r7 194", "vs_r7_194"},
    333                            {{gt, r1, 242}, true, gt, "gt r1 242", "gt_r1_242"},
    334                            {{le, r3, 222}, true, le, "le r3 222", "le_r3_222"},
    335                            {{mi, r2, 194}, true, mi, "mi r2 194", "mi_r2_194"},
    336                            {{vs, r2, 19}, true, vs, "vs r2 19", "vs_r2_19"},
    337                            {{cs, r6, 230}, true, cs, "cs r6 230", "cs_r6_230"},
    338                            {{ls, r1, 141}, true, ls, "ls r1 141", "ls_r1_141"},
    339                            {{le, r1, 144}, true, le, "le r1 144", "le_r1_144"},
    340                            {{ls, r1, 184}, true, ls, "ls r1 184", "ls_r1_184"},
    341                            {{pl, r0, 175}, true, pl, "pl r0 175", "pl_r0_175"},
    342                            {{cs, r3, 0}, true, cs, "cs r3 0", "cs_r3_0"},
    343                            {{cs, r0, 142}, true, cs, "cs r0 142", "cs_r0_142"},
    344                            {{le, r4, 5}, true, le, "le r4 5", "le_r4_5"},
    345                            {{pl, r4, 123}, true, pl, "pl r4 123", "pl_r4_123"},
    346                            {{cs, r3, 128}, true, cs, "cs r3 128", "cs_r3_128"},
    347                            {{pl, r7, 112}, true, pl, "pl r7 112", "pl_r7_112"},
    348                            {{vs, r2, 186}, true, vs, "vs r2 186", "vs_r2_186"},
    349                            {{pl, r6, 200}, true, pl, "pl r6 200", "pl_r6_200"},
    350                            {{ne, r7, 200}, true, ne, "ne r7 200", "ne_r7_200"},
    351                            {{le, r6, 223}, true, le, "le r6 223", "le_r6_223"},
    352                            {{vs, r4, 117}, true, vs, "vs r4 117", "vs_r4_117"},
    353                            {{cs, r4, 6}, true, cs, "cs r4 6", "cs_r4_6"},
    354                            {{ls, r6, 86}, true, ls, "ls r6 86", "ls_r6_86"},
    355                            {{cc, r2, 37}, true, cc, "cc r2 37", "cc_r2_37"},
    356                            {{ge, r6, 28}, true, ge, "ge r6 28", "ge_r6_28"},
    357                            {{ls, r3, 247}, true, ls, "ls r3 247", "ls_r3_247"},
    358                            {{ge, r4, 193}, true, ge, "ge r4 193", "ge_r4_193"},
    359                            {{le, r4, 108}, true, le, "le r4 108", "le_r4_108"},
    360                            {{vc, r0, 106}, true, vc, "vc r0 106", "vc_r0_106"},
    361                            {{gt, r0, 64}, true, gt, "gt r0 64", "gt_r0_64"},
    362                            {{pl, r0, 247}, true, pl, "pl r0 247", "pl_r0_247"},
    363                            {{eq, r0, 88}, true, eq, "eq r0 88", "eq_r0_88"},
    364                            {{mi, r4, 88}, true, mi, "mi r4 88", "mi_r4_88"},
    365                            {{ne, r6, 118}, true, ne, "ne r6 118", "ne_r6_118"},
    366                            {{vc, r2, 79}, true, vc, "vc r2 79", "vc_r2_79"},
    367                            {{vc, r0, 104}, true, vc, "vc r0 104", "vc_r0_104"},
    368                            {{vs, r3, 128}, true, vs, "vs r3 128", "vs_r3_128"},
    369                            {{pl, r1, 129}, true, pl, "pl r1 129", "pl_r1_129"},
    370                            {{mi, r6, 149}, true, mi, "mi r6 149", "mi_r6_149"},
    371                            {{mi, r4, 226}, true, mi, "mi r4 226", "mi_r4_226"},
    372                            {{pl, r5, 232}, true, pl, "pl r5 232", "pl_r5_232"},
    373                            {{hi, r1, 88}, true, hi, "hi r1 88", "hi_r1_88"},
    374                            {{mi, r3, 13}, true, mi, "mi r3 13", "mi_r3_13"},
    375                            {{vs, r1, 44}, true, vs, "vs r1 44", "vs_r1_44"},
    376                            {{le, r3, 88}, true, le, "le r3 88", "le_r3_88"},
    377                            {{pl, r7, 224}, true, pl, "pl r7 224", "pl_r7_224"},
    378                            {{eq, r2, 117}, true, eq, "eq r2 117", "eq_r2_117"},
    379                            {{cc, r5, 94}, true, cc, "cc r5 94", "cc_r5_94"},
    380                            {{gt, r3, 43}, true, gt, "gt r3 43", "gt_r3_43"},
    381                            {{vs, r4, 159}, true, vs, "vs r4 159", "vs_r4_159"},
    382                            {{mi, r7, 205}, true, mi, "mi r7 205", "mi_r7_205"},
    383                            {{eq, r6, 161}, true, eq, "eq r6 161", "eq_r6_161"},
    384                            {{le, r6, 150}, true, le, "le r6 150", "le_r6_150"},
    385                            {{ls, r2, 144}, true, ls, "ls r2 144", "ls_r2_144"},
    386                            {{le, r2, 240}, true, le, "le r2 240", "le_r2_240"},
    387                            {{pl, r1, 11}, true, pl, "pl r1 11", "pl_r1_11"},
    388                            {{pl, r2, 116}, true, pl, "pl r2 116", "pl_r2_116"},
    389                            {{ne, r3, 122}, true, ne, "ne r3 122", "ne_r3_122"},
    390                            {{cs, r7, 146}, true, cs, "cs r7 146", "cs_r7_146"},
    391                            {{eq, r5, 21}, true, eq, "eq r5 21", "eq_r5_21"},
    392                            {{ge, r0, 49}, true, ge, "ge r0 49", "ge_r0_49"},
    393                            {{gt, r2, 170}, true, gt, "gt r2 170", "gt_r2_170"},
    394                            {{mi, r3, 208}, true, mi, "mi r3 208", "mi_r3_208"},
    395                            {{le, r4, 47}, true, le, "le r4 47", "le_r4_47"},
    396                            {{ne, r4, 176}, true, ne, "ne r4 176", "ne_r4_176"},
    397                            {{le, r1, 153}, true, le, "le r1 153", "le_r1_153"},
    398                            {{cs, r3, 136}, true, cs, "cs r3 136", "cs_r3_136"},
    399                            {{le, r7, 166}, true, le, "le r7 166", "le_r7_166"},
    400                            {{vc, r2, 148}, true, vc, "vc r2 148", "vc_r2_148"},
    401                            {{ge, r6, 226}, true, ge, "ge r6 226", "ge_r6_226"},
    402                            {{mi, r7, 224}, true, mi, "mi r7 224", "mi_r7_224"},
    403                            {{le, r0, 88}, true, le, "le r0 88", "le_r0_88"},
    404                            {{lt, r3, 131}, true, lt, "lt r3 131", "lt_r3_131"},
    405                            {{gt, r6, 70}, true, gt, "gt r6 70", "gt_r6_70"},
    406                            {{cc, r5, 212}, true, cc, "cc r5 212", "cc_r5_212"},
    407                            {{pl, r7, 184}, true, pl, "pl r7 184", "pl_r7_184"},
    408                            {{gt, r0, 170}, true, gt, "gt r0 170", "gt_r0_170"},
    409                            {{ne, r7, 227}, true, ne, "ne r7 227", "ne_r7_227"},
    410                            {{cs, r7, 129}, true, cs, "cs r7 129", "cs_r7_129"},
    411                            {{lt, r2, 214}, true, lt, "lt r2 214", "lt_r2_214"},
    412                            {{le, r3, 68}, true, le, "le r3 68", "le_r3_68"},
    413                            {{cs, r1, 174}, true, cs, "cs r1 174", "cs_r1_174"},
    414                            {{mi, r6, 224}, true, mi, "mi r6 224", "mi_r6_224"},
    415                            {{gt, r3, 107}, true, gt, "gt r3 107", "gt_r3_107"},
    416                            {{pl, r6, 62}, true, pl, "pl r6 62", "pl_r6_62"},
    417                            {{mi, r2, 173}, true, mi, "mi r2 173", "mi_r2_173"},
    418                            {{cs, r3, 208}, true, cs, "cs r3 208", "cs_r3_208"},
    419                            {{cc, r3, 214}, true, cc, "cc r3 214", "cc_r3_214"},
    420                            {{lt, r5, 20}, true, lt, "lt r5 20", "lt_r5_20"},
    421                            {{vs, r2, 9}, true, vs, "vs r2 9", "vs_r2_9"},
    422                            {{le, r1, 55}, true, le, "le r1 55", "le_r1_55"},
    423                            {{vc, r3, 14}, true, vc, "vc r3 14", "vc_r3_14"},
    424                            {{eq, r5, 74}, true, eq, "eq r5 74", "eq_r5_74"},
    425                            {{cs, r0, 40}, true, cs, "cs r0 40", "cs_r0_40"},
    426                            {{ge, r6, 98}, true, ge, "ge r6 98", "ge_r6_98"},
    427                            {{cs, r3, 79}, true, cs, "cs r3 79", "cs_r3_79"},
    428                            {{ne, r0, 199}, true, ne, "ne r0 199", "ne_r0_199"},
    429                            {{lt, r0, 163}, true, lt, "lt r0 163", "lt_r0_163"},
    430                            {{cs, r6, 42}, true, cs, "cs r6 42", "cs_r6_42"},
    431                            {{eq, r6, 32}, true, eq, "eq r6 32", "eq_r6_32"},
    432                            {{vs, r1, 64}, true, vs, "vs r1 64", "vs_r1_64"},
    433                            {{hi, r4, 91}, true, hi, "hi r4 91", "hi_r4_91"},
    434                            {{ls, r3, 79}, true, ls, "ls r3 79", "ls_r3_79"},
    435                            {{gt, r3, 68}, true, gt, "gt r3 68", "gt_r3_68"},
    436                            {{eq, r0, 133}, true, eq, "eq r0 133", "eq_r0_133"},
    437                            {{vs, r4, 8}, true, vs, "vs r4 8", "vs_r4_8"},
    438                            {{cs, r2, 248}, true, cs, "cs r2 248", "cs_r2_248"},
    439                            {{cs, r2, 153}, true, cs, "cs r2 153", "cs_r2_153"},
    440                            {{cc, r1, 21}, true, cc, "cc r1 21", "cc_r1_21"},
    441                            {{mi, r3, 171}, true, mi, "mi r3 171", "mi_r3_171"},
    442                            {{gt, r6, 126}, true, gt, "gt r6 126", "gt_r6_126"},
    443                            {{hi, r0, 155}, true, hi, "hi r0 155", "hi_r0_155"},
    444                            {{cs, r0, 224}, true, cs, "cs r0 224", "cs_r0_224"},
    445                            {{cc, r2, 38}, true, cc, "cc r2 38", "cc_r2_38"},
    446                            {{lt, r3, 127}, true, lt, "lt r3 127", "lt_r3_127"},
    447                            {{gt, r6, 21}, true, gt, "gt r6 21", "gt_r6_21"},
    448                            {{gt, r4, 39}, true, gt, "gt r4 39", "gt_r4_39"},
    449                            {{ge, r4, 40}, true, ge, "ge r4 40", "ge_r4_40"},
    450                            {{hi, r4, 228}, true, hi, "hi r4 228", "hi_r4_228"},
    451                            {{le, r6, 51}, true, le, "le r6 51", "le_r6_51"},
    452                            {{ge, r3, 3}, true, ge, "ge r3 3", "ge_r3_3"},
    453                            {{ge, r5, 24}, true, ge, "ge r5 24", "ge_r5_24"},
    454                            {{ge, r0, 52}, true, ge, "ge r0 52", "ge_r0_52"},
    455                            {{vs, r6, 84}, true, vs, "vs r6 84", "vs_r6_84"},
    456                            {{gt, r7, 238}, true, gt, "gt r7 238", "gt_r7_238"},
    457                            {{pl, r2, 118}, true, pl, "pl r2 118", "pl_r2_118"},
    458                            {{cc, r0, 96}, true, cc, "cc r0 96", "cc_r0_96"},
    459                            {{gt, r1, 241}, true, gt, "gt r1 241", "gt_r1_241"},
    460                            {{lt, r5, 231}, true, lt, "lt r5 231", "lt_r5_231"},
    461                            {{vs, r0, 223}, true, vs, "vs r0 223", "vs_r0_223"},
    462                            {{vc, r6, 85}, true, vc, "vc r6 85", "vc_r6_85"},
    463                            {{vs, r4, 171}, true, vs, "vs r4 171", "vs_r4_171"},
    464                            {{hi, r7, 34}, true, hi, "hi r7 34", "hi_r7_34"},
    465                            {{hi, r4, 243}, true, hi, "hi r4 243", "hi_r4_243"},
    466                            {{cc, r6, 16}, true, cc, "cc r6 16", "cc_r6_16"},
    467                            {{cs, r2, 179}, true, cs, "cs r2 179", "cs_r2_179"},
    468                            {{cs, r5, 128}, true, cs, "cs r5 128", "cs_r5_128"},
    469                            {{lt, r6, 43}, true, lt, "lt r6 43", "lt_r6_43"},
    470                            {{lt, r1, 116}, true, lt, "lt r1 116", "lt_r1_116"},
    471                            {{mi, r4, 176}, true, mi, "mi r4 176", "mi_r4_176"},
    472                            {{hi, r3, 158}, true, hi, "hi r3 158", "hi_r3_158"},
    473                            {{cs, r6, 21}, true, cs, "cs r6 21", "cs_r6_21"},
    474                            {{ge, r5, 114}, true, ge, "ge r5 114", "ge_r5_114"},
    475                            {{vs, r3, 109}, true, vs, "vs r3 109", "vs_r3_109"},
    476                            {{ne, r4, 249}, true, ne, "ne r4 249", "ne_r4_249"},
    477                            {{ls, r5, 96}, true, ls, "ls r5 96", "ls_r5_96"},
    478                            {{hi, r0, 135}, true, hi, "hi r0 135", "hi_r0_135"},
    479                            {{vc, r2, 63}, true, vc, "vc r2 63", "vc_r2_63"},
    480                            {{le, r0, 169}, true, le, "le r0 169", "le_r0_169"},
    481                            {{vc, r4, 230}, true, vc, "vc r4 230", "vc_r4_230"},
    482                            {{gt, r3, 181}, true, gt, "gt r3 181", "gt_r3_181"},
    483                            {{eq, r6, 202}, true, eq, "eq r6 202", "eq_r6_202"},
    484                            {{mi, r4, 57}, true, mi, "mi r4 57", "mi_r4_57"},
    485                            {{lt, r7, 220}, true, lt, "lt r7 220", "lt_r7_220"},
    486                            {{lt, r3, 43}, true, lt, "lt r3 43", "lt_r3_43"},
    487                            {{pl, r3, 210}, true, pl, "pl r3 210", "pl_r3_210"},
    488                            {{cc, r4, 182}, true, cc, "cc r4 182", "cc_r4_182"},
    489                            {{vc, r5, 105}, true, vc, "vc r5 105", "vc_r5_105"},
    490                            {{ls, r4, 150}, true, ls, "ls r4 150", "ls_r4_150"},
    491                            {{ls, r0, 2}, true, ls, "ls r0 2", "ls_r0_2"},
    492                            {{eq, r0, 0}, true, eq, "eq r0 0", "eq_r0_0"},
    493                            {{cc, r6, 204}, true, cc, "cc r6 204", "cc_r6_204"},
    494                            {{lt, r4, 226}, true, lt, "lt r4 226", "lt_r4_226"},
    495                            {{pl, r2, 37}, true, pl, "pl r2 37", "pl_r2_37"},
    496                            {{ge, r3, 208}, true, ge, "ge r3 208", "ge_r3_208"},
    497                            {{mi, r1, 75}, true, mi, "mi r1 75", "mi_r1_75"},
    498                            {{hi, r7, 249}, true, hi, "hi r7 249", "hi_r7_249"},
    499                            {{vc, r6, 61}, true, vc, "vc r6 61", "vc_r6_61"},
    500                            {{eq, r1, 185}, true, eq, "eq r1 185", "eq_r1_185"},
    501                            {{vs, r5, 55}, true, vs, "vs r5 55", "vs_r5_55"},
    502                            {{pl, r2, 243}, true, pl, "pl r2 243", "pl_r2_243"},
    503                            {{eq, r0, 111}, true, eq, "eq r0 111", "eq_r0_111"},
    504                            {{cc, r5, 75}, true, cc, "cc r5 75", "cc_r5_75"},
    505                            {{mi, r1, 103}, true, mi, "mi r1 103", "mi_r1_103"},
    506                            {{mi, r5, 201}, true, mi, "mi r5 201", "mi_r5_201"},
    507                            {{eq, r6, 13}, true, eq, "eq r6 13", "eq_r6_13"},
    508                            {{le, r1, 117}, true, le, "le r1 117", "le_r1_117"},
    509                            {{le, r4, 245}, true, le, "le r4 245", "le_r4_245"},
    510                            {{vc, r5, 253}, true, vc, "vc r5 253", "vc_r5_253"},
    511                            {{vc, r1, 245}, true, vc, "vc r1 245", "vc_r1_245"},
    512                            {{hi, r0, 160}, true, hi, "hi r0 160", "hi_r0_160"},
    513                            {{ne, r6, 139}, true, ne, "ne r6 139", "ne_r6_139"},
    514                            {{cc, r3, 71}, true, cc, "cc r3 71", "cc_r3_71"},
    515                            {{lt, r0, 155}, true, lt, "lt r0 155", "lt_r0_155"},
    516                            {{ls, r4, 100}, true, ls, "ls r4 100", "ls_r4_100"},
    517                            {{vs, r5, 117}, true, vs, "vs r5 117", "vs_r5_117"},
    518                            {{gt, r7, 9}, true, gt, "gt r7 9", "gt_r7_9"},
    519                            {{lt, r5, 30}, true, lt, "lt r5 30", "lt_r5_30"},
    520                            {{pl, r6, 32}, true, pl, "pl r6 32", "pl_r6_32"},
    521                            {{mi, r1, 105}, true, mi, "mi r1 105", "mi_r1_105"},
    522                            {{hi, r1, 34}, true, hi, "hi r1 34", "hi_r1_34"},
    523                            {{cs, r7, 213}, true, cs, "cs r7 213", "cs_r7_213"},
    524                            {{le, r7, 218}, true, le, "le r7 218", "le_r7_218"},
    525                            {{pl, r3, 131}, true, pl, "pl r3 131", "pl_r3_131"},
    526                            {{cs, r6, 117}, true, cs, "cs r6 117", "cs_r6_117"},
    527                            {{cc, r1, 177}, true, cc, "cc r1 177", "cc_r1_177"},
    528                            {{cs, r1, 74}, true, cs, "cs r1 74", "cs_r1_74"},
    529                            {{ls, r7, 176}, true, ls, "ls r7 176", "ls_r7_176"},
    530                            {{lt, r7, 208}, true, lt, "lt r7 208", "lt_r7_208"},
    531                            {{ge, r2, 252}, true, ge, "ge r2 252", "ge_r2_252"},
    532                            {{gt, r7, 135}, true, gt, "gt r7 135", "gt_r7_135"},
    533                            {{cs, r4, 128}, true, cs, "cs r4 128", "cs_r4_128"},
    534                            {{le, r6, 44}, true, le, "le r6 44", "le_r6_44"},
    535                            {{cs, r5, 184}, true, cs, "cs r5 184", "cs_r5_184"},
    536                            {{cc, r5, 17}, true, cc, "cc r5 17", "cc_r5_17"},
    537                            {{le, r1, 48}, true, le, "le r1 48", "le_r1_48"},
    538                            {{vs, r7, 152}, true, vs, "vs r7 152", "vs_r7_152"},
    539                            {{cs, r3, 236}, true, cs, "cs r3 236", "cs_r3_236"},
    540                            {{cc, r1, 68}, true, cc, "cc r1 68", "cc_r1_68"},
    541                            {{cs, r6, 179}, true, cs, "cs r6 179", "cs_r6_179"},
    542                            {{eq, r5, 35}, true, eq, "eq r5 35", "eq_r5_35"},
    543                            {{le, r5, 220}, true, le, "le r5 220", "le_r5_220"},
    544                            {{pl, r1, 63}, true, pl, "pl r1 63", "pl_r1_63"},
    545                            {{vs, r5, 255}, true, vs, "vs r5 255", "vs_r5_255"},
    546                            {{pl, r5, 193}, true, pl, "pl r5 193", "pl_r5_193"},
    547                            {{gt, r3, 165}, true, gt, "gt r3 165", "gt_r3_165"},
    548                            {{le, r0, 120}, true, le, "le r0 120", "le_r0_120"},
    549                            {{cc, r0, 21}, true, cc, "cc r0 21", "cc_r0_21"},
    550                            {{ge, r3, 203}, true, ge, "ge r3 203", "ge_r3_203"},
    551                            {{ne, r0, 25}, true, ne, "ne r0 25", "ne_r0_25"},
    552                            {{mi, r6, 6}, true, mi, "mi r6 6", "mi_r6_6"},
    553                            {{ne, r7, 194}, true, ne, "ne r7 194", "ne_r7_194"},
    554                            {{lt, r6, 20}, true, lt, "lt r6 20", "lt_r6_20"},
    555                            {{ls, r3, 94}, true, ls, "ls r3 94", "ls_r3_94"},
    556                            {{gt, r6, 222}, true, gt, "gt r6 222", "gt_r6_222"},
    557                            {{cc, r1, 247}, true, cc, "cc r1 247", "cc_r1_247"},
    558                            {{cc, r0, 127}, true, cc, "cc r0 127", "cc_r0_127"},
    559                            {{mi, r2, 252}, true, mi, "mi r2 252", "mi_r2_252"},
    560                            {{ge, r0, 150}, true, ge, "ge r0 150", "ge_r0_150"},
    561                            {{mi, r4, 18}, true, mi, "mi r4 18", "mi_r4_18"},
    562                            {{vs, r5, 182}, true, vs, "vs r5 182", "vs_r5_182"},
    563                            {{pl, r1, 125}, true, pl, "pl r1 125", "pl_r1_125"},
    564                            {{pl, r6, 159}, true, pl, "pl r6 159", "pl_r6_159"},
    565                            {{le, r3, 218}, true, le, "le r3 218", "le_r3_218"},
    566                            {{hi, r2, 163}, true, hi, "hi r2 163", "hi_r2_163"},
    567                            {{mi, r7, 246}, true, mi, "mi r7 246", "mi_r7_246"},
    568                            {{lt, r7, 1}, true, lt, "lt r7 1", "lt_r7_1"},
    569                            {{pl, r4, 82}, true, pl, "pl r4 82", "pl_r4_82"},
    570                            {{le, r2, 115}, true, le, "le r2 115", "le_r2_115"},
    571                            {{vc, r0, 74}, true, vc, "vc r0 74", "vc_r0_74"},
    572                            {{gt, r3, 11}, true, gt, "gt r3 11", "gt_r3_11"},
    573                            {{cs, r7, 225}, true, cs, "cs r7 225", "cs_r7_225"},
    574                            {{gt, r2, 245}, true, gt, "gt r2 245", "gt_r2_245"},
    575                            {{lt, r4, 13}, true, lt, "lt r4 13", "lt_r4_13"},
    576                            {{le, r3, 83}, true, le, "le r3 83", "le_r3_83"},
    577                            {{eq, r7, 83}, true, eq, "eq r7 83", "eq_r7_83"},
    578                            {{vc, r6, 86}, true, vc, "vc r6 86", "vc_r6_86"},
    579                            {{le, r2, 99}, true, le, "le r2 99", "le_r2_99"},
    580                            {{hi, r0, 139}, true, hi, "hi r0 139", "hi_r0_139"},
    581                            {{gt, r6, 122}, true, gt, "gt r6 122", "gt_r6_122"},
    582                            {{cs, r2, 190}, true, cs, "cs r2 190", "cs_r2_190"},
    583                            {{pl, r0, 97}, true, pl, "pl r0 97", "pl_r0_97"},
    584                            {{ls, r7, 41}, true, ls, "ls r7 41", "ls_r7_41"},
    585                            {{pl, r2, 111}, true, pl, "pl r2 111", "pl_r2_111"},
    586                            {{ls, r5, 239}, true, ls, "ls r5 239", "ls_r5_239"},
    587                            {{le, r3, 104}, true, le, "le r3 104", "le_r3_104"},
    588                            {{gt, r3, 29}, true, gt, "gt r3 29", "gt_r3_29"},
    589                            {{ge, r7, 247}, true, ge, "ge r7 247", "ge_r7_247"},
    590                            {{le, r6, 1}, true, le, "le r6 1", "le_r6_1"},
    591                            {{hi, r0, 161}, true, hi, "hi r0 161", "hi_r0_161"},
    592                            {{vs, r1, 143}, true, vs, "vs r1 143", "vs_r1_143"},
    593                            {{cs, r7, 14}, true, cs, "cs r7 14", "cs_r7_14"},
    594                            {{gt, r3, 80}, true, gt, "gt r3 80", "gt_r3_80"},
    595                            {{ls, r6, 207}, true, ls, "ls r6 207", "ls_r6_207"},
    596                            {{vs, r1, 187}, true, vs, "vs r1 187", "vs_r1_187"},
    597                            {{ne, r6, 193}, true, ne, "ne r6 193", "ne_r6_193"},
    598                            {{le, r5, 202}, true, le, "le r5 202", "le_r5_202"},
    599                            {{vs, r3, 23}, true, vs, "vs r3 23", "vs_r3_23"},
    600                            {{mi, r2, 141}, true, mi, "mi r2 141", "mi_r2_141"},
    601                            {{mi, r1, 145}, true, mi, "mi r1 145", "mi_r1_145"},
    602                            {{lt, r0, 176}, true, lt, "lt r0 176", "lt_r0_176"},
    603                            {{hi, r2, 18}, true, hi, "hi r2 18", "hi_r2_18"},
    604                            {{gt, r4, 247}, true, gt, "gt r4 247", "gt_r4_247"},
    605                            {{lt, r1, 144}, true, lt, "lt r1 144", "lt_r1_144"},
    606                            {{cc, r5, 174}, true, cc, "cc r5 174", "cc_r5_174"},
    607                            {{ge, r6, 66}, true, ge, "ge r6 66", "ge_r6_66"},
    608                            {{vc, r0, 223}, true, vc, "vc r0 223", "vc_r0_223"},
    609                            {{cc, r7, 211}, true, cc, "cc r7 211", "cc_r7_211"},
    610                            {{le, r1, 186}, true, le, "le r1 186", "le_r1_186"},
    611                            {{ne, r4, 73}, true, ne, "ne r4 73", "ne_r4_73"},
    612                            {{ls, r4, 64}, true, ls, "ls r4 64", "ls_r4_64"},
    613                            {{cc, r3, 100}, true, cc, "cc r3 100", "cc_r3_100"},
    614                            {{ls, r7, 83}, true, ls, "ls r7 83", "ls_r7_83"},
    615                            {{ge, r7, 253}, true, ge, "ge r7 253", "ge_r7_253"},
    616                            {{lt, r1, 190}, true, lt, "lt r1 190", "lt_r1_190"},
    617                            {{hi, r0, 132}, true, hi, "hi r0 132", "hi_r0_132"},
    618                            {{cc, r1, 172}, true, cc, "cc r1 172", "cc_r1_172"},
    619                            {{cs, r4, 24}, true, cs, "cs r4 24", "cs_r4_24"},
    620                            {{vs, r0, 183}, true, vs, "vs r0 183", "vs_r0_183"},
    621                            {{eq, r3, 231}, true, eq, "eq r3 231", "eq_r3_231"},
    622                            {{cc, r4, 6}, true, cc, "cc r4 6", "cc_r4_6"},
    623                            {{le, r6, 151}, true, le, "le r6 151", "le_r6_151"},
    624                            {{eq, r4, 123}, true, eq, "eq r4 123", "eq_r4_123"},
    625                            {{lt, r2, 110}, true, lt, "lt r2 110", "lt_r2_110"},
    626                            {{vc, r2, 39}, true, vc, "vc r2 39", "vc_r2_39"},
    627                            {{gt, r5, 45}, true, gt, "gt r5 45", "gt_r5_45"},
    628                            {{eq, r2, 120}, true, eq, "eq r2 120", "eq_r2_120"},
    629                            {{ge, r0, 6}, true, ge, "ge r0 6", "ge_r0_6"},
    630                            {{vs, r3, 54}, true, vs, "vs r3 54", "vs_r3_54"},
    631                            {{cc, r0, 164}, true, cc, "cc r0 164", "cc_r0_164"},
    632                            {{eq, r6, 198}, true, eq, "eq r6 198", "eq_r6_198"},
    633                            {{cc, r0, 254}, true, cc, "cc r0 254", "cc_r0_254"},
    634                            {{ne, r1, 167}, true, ne, "ne r1 167", "ne_r1_167"},
    635                            {{hi, r7, 89}, true, hi, "hi r7 89", "hi_r7_89"},
    636                            {{mi, r6, 220}, true, mi, "mi r6 220", "mi_r6_220"},
    637                            {{vs, r5, 199}, true, vs, "vs r5 199", "vs_r5_199"},
    638                            {{ls, r4, 166}, true, ls, "ls r4 166", "ls_r4_166"},
    639                            {{le, r2, 139}, true, le, "le r2 139", "le_r2_139"},
    640                            {{vs, r5, 112}, true, vs, "vs r5 112", "vs_r5_112"},
    641                            {{cs, r3, 13}, true, cs, "cs r3 13", "cs_r3_13"},
    642                            {{gt, r3, 95}, true, gt, "gt r3 95", "gt_r3_95"},
    643                            {{pl, r2, 94}, true, pl, "pl r2 94", "pl_r2_94"},
    644                            {{ne, r2, 227}, true, ne, "ne r2 227", "ne_r2_227"},
    645                            {{ne, r7, 251}, true, ne, "ne r7 251", "ne_r7_251"},
    646                            {{ge, r5, 97}, true, ge, "ge r5 97", "ge_r5_97"},
    647                            {{gt, r5, 253}, true, gt, "gt r5 253", "gt_r5_253"},
    648                            {{hi, r7, 95}, true, hi, "hi r7 95", "hi_r7_95"},
    649                            {{gt, r3, 253}, true, gt, "gt r3 253", "gt_r3_253"},
    650                            {{le, r7, 162}, true, le, "le r7 162", "le_r7_162"},
    651                            {{gt, r4, 36}, true, gt, "gt r4 36", "gt_r4_36"},
    652                            {{ne, r3, 58}, true, ne, "ne r3 58", "ne_r3_58"},
    653                            {{vs, r0, 25}, true, vs, "vs r0 25", "vs_r0_25"},
    654                            {{ne, r7, 116}, true, ne, "ne r7 116", "ne_r7_116"},
    655                            {{cs, r1, 198}, true, cs, "cs r1 198", "cs_r1_198"},
    656                            {{cc, r0, 122}, true, cc, "cc r0 122", "cc_r0_122"},
    657                            {{le, r4, 57}, true, le, "le r4 57", "le_r4_57"},
    658                            {{vc, r3, 150}, true, vc, "vc r3 150", "vc_r3_150"},
    659                            {{eq, r1, 54}, true, eq, "eq r1 54", "eq_r1_54"},
    660                            {{ge, r1, 146}, true, ge, "ge r1 146", "ge_r1_146"},
    661                            {{vc, r1, 124}, true, vc, "vc r1 124", "vc_r1_124"},
    662                            {{ne, r6, 165}, true, ne, "ne r6 165", "ne_r6_165"},
    663                            {{vc, r6, 54}, true, vc, "vc r6 54", "vc_r6_54"},
    664                            {{hi, r3, 226}, true, hi, "hi r3 226", "hi_r3_226"},
    665                            {{eq, r1, 167}, true, eq, "eq r1 167", "eq_r1_167"},
    666                            {{mi, r3, 162}, true, mi, "mi r3 162", "mi_r3_162"},
    667                            {{mi, r5, 8}, true, mi, "mi r5 8", "mi_r5_8"},
    668                            {{mi, r3, 67}, true, mi, "mi r3 67", "mi_r3_67"},
    669                            {{ge, r6, 113}, true, ge, "ge r6 113", "ge_r6_113"},
    670                            {{lt, r2, 51}, true, lt, "lt r2 51", "lt_r2_51"},
    671                            {{vc, r2, 131}, true, vc, "vc r2 131", "vc_r2_131"},
    672                            {{ne, r4, 196}, true, ne, "ne r4 196", "ne_r4_196"},
    673                            {{mi, r5, 189}, true, mi, "mi r5 189", "mi_r5_189"},
    674                            {{cs, r1, 62}, true, cs, "cs r1 62", "cs_r1_62"},
    675                            {{hi, r4, 142}, true, hi, "hi r4 142", "hi_r4_142"},
    676                            {{ne, r5, 91}, true, ne, "ne r5 91", "ne_r5_91"},
    677                            {{eq, r3, 38}, true, eq, "eq r3 38", "eq_r3_38"},
    678                            {{ls, r3, 155}, true, ls, "ls r3 155", "ls_r3_155"},
    679                            {{le, r5, 0}, true, le, "le r5 0", "le_r5_0"},
    680                            {{vc, r1, 106}, true, vc, "vc r1 106", "vc_r1_106"},
    681                            {{lt, r0, 212}, true, lt, "lt r0 212", "lt_r0_212"},
    682                            {{lt, r1, 87}, true, lt, "lt r1 87", "lt_r1_87"},
    683                            {{mi, r2, 62}, true, mi, "mi r2 62", "mi_r2_62"},
    684                            {{vc, r0, 2}, true, vc, "vc r0 2", "vc_r0_2"},
    685                            {{ls, r7, 24}, true, ls, "ls r7 24", "ls_r7_24"},
    686                            {{ls, r3, 12}, true, ls, "ls r3 12", "ls_r3_12"},
    687                            {{pl, r0, 181}, true, pl, "pl r0 181", "pl_r0_181"},
    688                            {{gt, r2, 43}, true, gt, "gt r2 43", "gt_r2_43"},
    689                            {{cc, r5, 130}, true, cc, "cc r5 130", "cc_r5_130"},
    690                            {{eq, r6, 170}, true, eq, "eq r6 170", "eq_r6_170"},
    691                            {{hi, r4, 208}, true, hi, "hi r4 208", "hi_r4_208"},
    692                            {{cc, r2, 196}, true, cc, "cc r2 196", "cc_r2_196"},
    693                            {{lt, r4, 131}, true, lt, "lt r4 131", "lt_r4_131"},
    694                            {{vs, r7, 122}, true, vs, "vs r7 122", "vs_r7_122"},
    695                            {{cs, r0, 212}, true, cs, "cs r0 212", "cs_r0_212"},
    696                            {{eq, r2, 50}, true, eq, "eq r2 50", "eq_r2_50"},
    697                            {{gt, r3, 202}, true, gt, "gt r3 202", "gt_r3_202"},
    698                            {{eq, r4, 197}, true, eq, "eq r4 197", "eq_r4_197"},
    699                            {{cc, r3, 7}, true, cc, "cc r3 7", "cc_r3_7"},
    700                            {{vs, r5, 206}, true, vs, "vs r5 206", "vs_r5_206"},
    701                            {{lt, r6, 137}, true, lt, "lt r6 137", "lt_r6_137"},
    702                            {{cs, r4, 154}, true, cs, "cs r4 154", "cs_r4_154"},
    703                            {{hi, r0, 16}, true, hi, "hi r0 16", "hi_r0_16"},
    704                            {{le, r1, 110}, true, le, "le r1 110", "le_r1_110"},
    705                            {{ge, r5, 67}, true, ge, "ge r5 67", "ge_r5_67"},
    706                            {{lt, r2, 58}, true, lt, "lt r2 58", "lt_r2_58"},
    707                            {{gt, r4, 45}, true, gt, "gt r4 45", "gt_r4_45"},
    708                            {{gt, r7, 227}, true, gt, "gt r7 227", "gt_r7_227"},
    709                            {{lt, r6, 143}, true, lt, "lt r6 143", "lt_r6_143"},
    710                            {{cs, r5, 168}, true, cs, "cs r5 168", "cs_r5_168"},
    711                            {{hi, r5, 74}, true, hi, "hi r5 74", "hi_r5_74"},
    712                            {{gt, r6, 165}, true, gt, "gt r6 165", "gt_r6_165"},
    713                            {{le, r2, 191}, true, le, "le r2 191", "le_r2_191"},
    714                            {{pl, r3, 212}, true, pl, "pl r3 212", "pl_r3_212"},
    715                            {{lt, r2, 108}, true, lt, "lt r2 108", "lt_r2_108"},
    716                            {{gt, r4, 225}, true, gt, "gt r4 225", "gt_r4_225"},
    717                            {{cc, r3, 181}, true, cc, "cc r3 181", "cc_r3_181"},
    718                            {{ge, r7, 39}, true, ge, "ge r7 39", "ge_r7_39"},
    719                            {{gt, r2, 212}, true, gt, "gt r2 212", "gt_r2_212"},
    720                            {{cc, r2, 32}, true, cc, "cc r2 32", "cc_r2_32"},
    721                            {{vs, r1, 92}, true, vs, "vs r1 92", "vs_r1_92"},
    722                            {{cs, r0, 64}, true, cs, "cs r0 64", "cs_r0_64"},
    723                            {{mi, r3, 195}, true, mi, "mi r3 195", "mi_r3_195"},
    724                            {{ne, r7, 168}, true, ne, "ne r7 168", "ne_r7_168"},
    725                            {{vc, r2, 84}, true, vc, "vc r2 84", "vc_r2_84"},
    726                            {{hi, r1, 105}, true, hi, "hi r1 105", "hi_r1_105"},
    727                            {{vc, r4, 91}, true, vc, "vc r4 91", "vc_r4_91"},
    728                            {{pl, r0, 103}, true, pl, "pl r0 103", "pl_r0_103"},
    729                            {{cc, r7, 122}, true, cc, "cc r7 122", "cc_r7_122"},
    730                            {{vs, r7, 228}, true, vs, "vs r7 228", "vs_r7_228"},
    731                            {{ls, r4, 154}, true, ls, "ls r4 154", "ls_r4_154"},
    732                            {{mi, r5, 159}, true, mi, "mi r5 159", "mi_r5_159"},
    733                            {{gt, r6, 207}, true, gt, "gt r6 207", "gt_r6_207"},
    734                            {{lt, r0, 75}, true, lt, "lt r0 75", "lt_r0_75"},
    735                            {{gt, r4, 106}, true, gt, "gt r4 106", "gt_r4_106"},
    736                            {{gt, r0, 236}, true, gt, "gt r0 236", "gt_r0_236"},
    737                            {{le, r7, 127}, true, le, "le r7 127", "le_r7_127"},
    738                            {{vs, r0, 138}, true, vs, "vs r0 138", "vs_r0_138"},
    739                            {{vs, r3, 145}, true, vs, "vs r3 145", "vs_r3_145"},
    740                            {{cs, r1, 70}, true, cs, "cs r1 70", "cs_r1_70"},
    741                            {{cs, r3, 69}, true, cs, "cs r3 69", "cs_r3_69"},
    742                            {{hi, r3, 28}, true, hi, "hi r3 28", "hi_r3_28"},
    743                            {{le, r5, 122}, true, le, "le r5 122", "le_r5_122"},
    744                            {{cc, r7, 212}, true, cc, "cc r7 212", "cc_r7_212"},
    745                            {{mi, r4, 186}, true, mi, "mi r4 186", "mi_r4_186"},
    746                            {{ne, r1, 171}, true, ne, "ne r1 171", "ne_r1_171"},
    747                            {{vs, r4, 205}, true, vs, "vs r4 205", "vs_r4_205"},
    748                            {{ls, r1, 26}, true, ls, "ls r1 26", "ls_r1_26"},
    749                            {{le, r5, 58}, true, le, "le r5 58", "le_r5_58"},
    750                            {{gt, r2, 140}, true, gt, "gt r2 140", "gt_r2_140"},
    751                            {{pl, r5, 121}, true, pl, "pl r5 121", "pl_r5_121"},
    752                            {{vc, r3, 183}, true, vc, "vc r3 183", "vc_r3_183"},
    753                            {{vs, r5, 110}, true, vs, "vs r5 110", "vs_r5_110"},
    754                            {{ls, r2, 89}, true, ls, "ls r2 89", "ls_r2_89"},
    755                            {{vc, r3, 173}, true, vc, "vc r3 173", "vc_r3_173"},
    756                            {{le, r7, 57}, true, le, "le r7 57", "le_r7_57"},
    757                            {{eq, r5, 111}, true, eq, "eq r5 111", "eq_r5_111"},
    758                            {{mi, r4, 180}, true, mi, "mi r4 180", "mi_r4_180"},
    759                            {{vs, r1, 252}, true, vs, "vs r1 252", "vs_r1_252"},
    760                            {{le, r2, 168}, true, le, "le r2 168", "le_r2_168"},
    761                            {{ne, r7, 240}, true, ne, "ne r7 240", "ne_r7_240"},
    762                            {{hi, r5, 177}, true, hi, "hi r5 177", "hi_r5_177"},
    763                            {{cc, r7, 156}, true, cc, "cc r7 156", "cc_r7_156"},
    764                            {{ls, r0, 140}, true, ls, "ls r0 140", "ls_r0_140"},
    765                            {{vc, r2, 206}, true, vc, "vc r2 206", "vc_r2_206"},
    766                            {{ge, r3, 198}, true, ge, "ge r3 198", "ge_r3_198"},
    767                            {{pl, r1, 154}, true, pl, "pl r1 154", "pl_r1_154"},
    768                            {{eq, r5, 118}, true, eq, "eq r5 118", "eq_r5_118"},
    769                            {{le, r7, 173}, true, le, "le r7 173", "le_r7_173"},
    770                            {{mi, r6, 174}, true, mi, "mi r6 174", "mi_r6_174"},
    771                            {{pl, r2, 159}, true, pl, "pl r2 159", "pl_r2_159"},
    772                            {{lt, r0, 97}, true, lt, "lt r0 97", "lt_r0_97"},
    773                            {{ge, r2, 145}, true, ge, "ge r2 145", "ge_r2_145"},
    774                            {{cc, r5, 196}, true, cc, "cc r5 196", "cc_r5_196"},
    775                            {{vs, r3, 152}, true, vs, "vs r3 152", "vs_r3_152"},
    776                            {{le, r3, 85}, true, le, "le r3 85", "le_r3_85"},
    777                            {{le, r7, 155}, true, le, "le r7 155", "le_r7_155"},
    778                            {{cc, r1, 160}, true, cc, "cc r1 160", "cc_r1_160"},
    779                            {{gt, r2, 195}, true, gt, "gt r2 195", "gt_r2_195"},
    780                            {{vc, r3, 67}, true, vc, "vc r3 67", "vc_r3_67"},
    781                            {{lt, r0, 119}, true, lt, "lt r0 119", "lt_r0_119"},
    782                            {{ne, r3, 123}, true, ne, "ne r3 123", "ne_r3_123"},
    783                            {{le, r5, 23}, true, le, "le r5 23", "le_r5_23"},
    784                            {{lt, r6, 208}, true, lt, "lt r6 208", "lt_r6_208"},
    785                            {{cc, r5, 245}, true, cc, "cc r5 245", "cc_r5_245"},
    786                            {{vs, r4, 111}, true, vs, "vs r4 111", "vs_r4_111"},
    787                            {{pl, r4, 75}, true, pl, "pl r4 75", "pl_r4_75"},
    788                            {{le, r6, 59}, true, le, "le r6 59", "le_r6_59"},
    789                            {{pl, r6, 70}, true, pl, "pl r6 70", "pl_r6_70"},
    790                            {{vc, r1, 191}, true, vc, "vc r1 191", "vc_r1_191"},
    791                            {{le, r2, 125}, true, le, "le r2 125", "le_r2_125"},
    792                            {{ls, r4, 249}, true, ls, "ls r4 249", "ls_r4_249"},
    793                            {{vs, r2, 41}, true, vs, "vs r2 41", "vs_r2_41"},
    794                            {{pl, r4, 199}, true, pl, "pl r4 199", "pl_r4_199"},
    795                            {{cc, r3, 180}, true, cc, "cc r3 180", "cc_r3_180"},
    796                            {{ls, r0, 225}, true, ls, "ls r0 225", "ls_r0_225"},
    797                            {{ne, r2, 93}, true, ne, "ne r2 93", "ne_r2_93"},
    798                            {{cc, r3, 16}, true, cc, "cc r3 16", "cc_r3_16"},
    799                            {{pl, r1, 223}, true, pl, "pl r1 223", "pl_r1_223"},
    800                            {{ge, r0, 129}, true, ge, "ge r0 129", "ge_r0_129"},
    801                            {{lt, r5, 34}, true, lt, "lt r5 34", "lt_r5_34"},
    802                            {{vc, r5, 156}, true, vc, "vc r5 156", "vc_r5_156"},
    803                            {{hi, r0, 29}, true, hi, "hi r0 29", "hi_r0_29"},
    804                            {{eq, r5, 228}, true, eq, "eq r5 228", "eq_r5_228"},
    805                            {{ls, r5, 86}, true, ls, "ls r5 86", "ls_r5_86"},
    806                            {{cs, r5, 99}, true, cs, "cs r5 99", "cs_r5_99"},
    807                            {{eq, r4, 217}, true, eq, "eq r4 217", "eq_r4_217"},
    808                            {{ne, r0, 15}, true, ne, "ne r0 15", "ne_r0_15"},
    809                            {{ls, r2, 17}, true, ls, "ls r2 17", "ls_r2_17"},
    810                            {{cs, r3, 70}, true, cs, "cs r3 70", "cs_r3_70"},
    811                            {{ge, r0, 60}, true, ge, "ge r0 60", "ge_r0_60"},
    812                            {{cc, r0, 107}, true, cc, "cc r0 107", "cc_r0_107"},
    813                            {{gt, r3, 192}, true, gt, "gt r3 192", "gt_r3_192"},
    814                            {{ne, r1, 175}, true, ne, "ne r1 175", "ne_r1_175"},
    815                            {{le, r1, 88}, true, le, "le r1 88", "le_r1_88"},
    816                            {{mi, r5, 216}, true, mi, "mi r5 216", "mi_r5_216"},
    817                            {{pl, r4, 149}, true, pl, "pl r4 149", "pl_r4_149"},
    818                            {{cs, r6, 28}, true, cs, "cs r6 28", "cs_r6_28"},
    819                            {{vs, r1, 65}, true, vs, "vs r1 65", "vs_r1_65"},
    820                            {{vs, r2, 169}, true, vs, "vs r2 169", "vs_r2_169"},
    821                            {{eq, r3, 108}, true, eq, "eq r3 108", "eq_r3_108"},
    822                            {{eq, r5, 127}, true, eq, "eq r5 127", "eq_r5_127"},
    823                            {{vc, r1, 23}, true, vc, "vc r1 23", "vc_r1_23"},
    824                            {{pl, r7, 132}, true, pl, "pl r7 132", "pl_r7_132"},
    825                            {{vc, r3, 90}, true, vc, "vc r3 90", "vc_r3_90"},
    826                            {{pl, r3, 195}, true, pl, "pl r3 195", "pl_r3_195"},
    827                            {{ne, r7, 28}, true, ne, "ne r7 28", "ne_r7_28"},
    828                            {{vs, r2, 233}, true, vs, "vs r2 233", "vs_r2_233"},
    829                            {{ge, r5, 3}, true, ge, "ge r5 3", "ge_r5_3"},
    830                            {{ge, r3, 231}, true, ge, "ge r3 231", "ge_r3_231"},
    831                            {{pl, r2, 10}, true, pl, "pl r2 10", "pl_r2_10"},
    832                            {{le, r1, 56}, true, le, "le r1 56", "le_r1_56"},
    833                            {{eq, r5, 232}, true, eq, "eq r5 232", "eq_r5_232"},
    834                            {{mi, r5, 124}, true, mi, "mi r5 124", "mi_r5_124"},
    835                            {{vc, r2, 198}, true, vc, "vc r2 198", "vc_r2_198"},
    836                            {{lt, r5, 86}, true, lt, "lt r5 86", "lt_r5_86"},
    837                            {{eq, r1, 199}, true, eq, "eq r1 199", "eq_r1_199"},
    838                            {{eq, r2, 21}, true, eq, "eq r2 21", "eq_r2_21"},
    839                            {{mi, r4, 194}, true, mi, "mi r4 194", "mi_r4_194"},
    840                            {{ge, r1, 235}, true, ge, "ge r1 235", "ge_r1_235"},
    841                            {{gt, r6, 164}, true, gt, "gt r6 164", "gt_r6_164"},
    842                            {{ne, r0, 132}, true, ne, "ne r0 132", "ne_r0_132"},
    843                            {{mi, r2, 188}, true, mi, "mi r2 188", "mi_r2_188"},
    844                            {{ls, r7, 136}, true, ls, "ls r7 136", "ls_r7_136"},
    845                            {{mi, r3, 248}, true, mi, "mi r3 248", "mi_r3_248"},
    846                            {{pl, r1, 248}, true, pl, "pl r1 248", "pl_r1_248"},
    847                            {{gt, r1, 4}, true, gt, "gt r1 4", "gt_r1_4"},
    848                            {{eq, r3, 171}, true, eq, "eq r3 171", "eq_r3_171"},
    849                            {{ge, r5, 75}, true, ge, "ge r5 75", "ge_r5_75"},
    850                            {{ne, r6, 115}, true, ne, "ne r6 115", "ne_r6_115"},
    851                            {{mi, r1, 218}, true, mi, "mi r1 218", "mi_r1_218"},
    852                            {{pl, r6, 160}, true, pl, "pl r6 160", "pl_r6_160"},
    853                            {{ls, r3, 69}, true, ls, "ls r3 69", "ls_r3_69"},
    854                            {{hi, r3, 73}, true, hi, "hi r3 73", "hi_r3_73"},
    855                            {{cc, r2, 248}, true, cc, "cc r2 248", "cc_r2_248"},
    856                            {{le, r0, 1}, true, le, "le r0 1", "le_r0_1"},
    857                            {{gt, r0, 43}, true, gt, "gt r0 43", "gt_r0_43"},
    858                            {{pl, r7, 202}, true, pl, "pl r7 202", "pl_r7_202"},
    859                            {{le, r3, 8}, true, le, "le r3 8", "le_r3_8"},
    860                            {{ls, r1, 235}, true, ls, "ls r1 235", "ls_r1_235"},
    861                            {{cs, r5, 223}, true, cs, "cs r5 223", "cs_r5_223"},
    862                            {{le, r7, 89}, true, le, "le r7 89", "le_r7_89"},
    863                            {{ls, r5, 45}, true, ls, "ls r5 45", "ls_r5_45"},
    864                            {{pl, r6, 206}, true, pl, "pl r6 206", "pl_r6_206"},
    865                            {{ne, r3, 12}, true, ne, "ne r3 12", "ne_r3_12"},
    866                            {{vc, r3, 37}, true, vc, "vc r3 37", "vc_r3_37"},
    867                            {{cs, r3, 112}, true, cs, "cs r3 112", "cs_r3_112"},
    868                            {{cs, r3, 10}, true, cs, "cs r3 10", "cs_r3_10"},
    869                            {{cs, r0, 206}, true, cs, "cs r0 206", "cs_r0_206"},
    870                            {{vs, r2, 215}, true, vs, "vs r2 215", "vs_r2_215"},
    871                            {{hi, r2, 171}, true, hi, "hi r2 171", "hi_r2_171"},
    872                            {{ge, r3, 117}, true, ge, "ge r3 117", "ge_r3_117"},
    873                            {{vc, r7, 211}, true, vc, "vc r7 211", "vc_r7_211"},
    874                            {{hi, r6, 147}, true, hi, "hi r6 147", "hi_r6_147"},
    875                            {{gt, r4, 64}, true, gt, "gt r4 64", "gt_r4_64"},
    876                            {{ge, r2, 17}, true, ge, "ge r2 17", "ge_r2_17"},
    877                            {{lt, r0, 242}, true, lt, "lt r0 242", "lt_r0_242"},
    878                            {{ls, r5, 144}, true, ls, "ls r5 144", "ls_r5_144"},
    879                            {{cc, r7, 44}, true, cc, "cc r7 44", "cc_r7_44"},
    880                            {{vs, r7, 214}, true, vs, "vs r7 214", "vs_r7_214"},
    881                            {{ge, r3, 132}, true, ge, "ge r3 132", "ge_r3_132"},
    882                            {{hi, r4, 36}, true, hi, "hi r4 36", "hi_r4_36"},
    883                            {{cs, r1, 5}, true, cs, "cs r1 5", "cs_r1_5"},
    884                            {{mi, r6, 194}, true, mi, "mi r6 194", "mi_r6_194"},
    885                            {{ge, r1, 134}, true, ge, "ge r1 134", "ge_r1_134"},
    886                            {{ls, r2, 90}, true, ls, "ls r2 90", "ls_r2_90"},
    887                            {{vc, r1, 207}, true, vc, "vc r1 207", "vc_r1_207"},
    888                            {{cc, r7, 13}, true, cc, "cc r7 13", "cc_r7_13"},
    889                            {{cc, r6, 117}, true, cc, "cc r6 117", "cc_r6_117"},
    890                            {{mi, r2, 113}, true, mi, "mi r2 113", "mi_r2_113"},
    891                            {{vc, r0, 107}, true, vc, "vc r0 107", "vc_r0_107"},
    892                            {{mi, r6, 156}, true, mi, "mi r6 156", "mi_r6_156"},
    893                            {{hi, r0, 193}, true, hi, "hi r0 193", "hi_r0_193"},
    894                            {{gt, r5, 5}, true, gt, "gt r5 5", "gt_r5_5"},
    895                            {{cc, r5, 137}, true, cc, "cc r5 137", "cc_r5_137"},
    896                            {{vs, r1, 60}, true, vs, "vs r1 60", "vs_r1_60"},
    897                            {{ge, r5, 156}, true, ge, "ge r5 156", "ge_r5_156"},
    898                            {{hi, r5, 246}, true, hi, "hi r5 246", "hi_r5_246"},
    899                            {{pl, r1, 228}, true, pl, "pl r1 228", "pl_r1_228"},
    900                            {{mi, r6, 214}, true, mi, "mi r6 214", "mi_r6_214"},
    901                            {{ls, r1, 39}, true, ls, "ls r1 39", "ls_r1_39"},
    902                            {{ge, r2, 201}, true, ge, "ge r2 201", "ge_r2_201"},
    903                            {{ls, r5, 250}, true, ls, "ls r5 250", "ls_r5_250"},
    904                            {{mi, r2, 40}, true, mi, "mi r2 40", "mi_r2_40"},
    905                            {{cc, r4, 225}, true, cc, "cc r4 225", "cc_r4_225"},
    906                            {{ne, r1, 96}, true, ne, "ne r1 96", "ne_r1_96"},
    907                            {{ge, r5, 162}, true, ge, "ge r5 162", "ge_r5_162"},
    908                            {{eq, r5, 176}, true, eq, "eq r5 176", "eq_r5_176"},
    909                            {{lt, r1, 246}, true, lt, "lt r1 246", "lt_r1_246"},
    910                            {{ls, r4, 44}, true, ls, "ls r4 44", "ls_r4_44"},
    911                            {{lt, r2, 96}, true, lt, "lt r2 96", "lt_r2_96"},
    912                            {{ge, r5, 54}, true, ge, "ge r5 54", "ge_r5_54"},
    913                            {{lt, r6, 13}, true, lt, "lt r6 13", "lt_r6_13"},
    914                            {{mi, r5, 106}, true, mi, "mi r5 106", "mi_r5_106"},
    915                            {{vs, r5, 62}, true, vs, "vs r5 62", "vs_r5_62"},
    916                            {{vs, r5, 235}, true, vs, "vs r5 235", "vs_r5_235"},
    917                            {{hi, r1, 49}, true, hi, "hi r1 49", "hi_r1_49"},
    918                            {{cs, r5, 32}, true, cs, "cs r5 32", "cs_r5_32"},
    919                            {{cc, r7, 43}, true, cc, "cc r7 43", "cc_r7_43"},
    920                            {{pl, r6, 122}, true, pl, "pl r6 122", "pl_r6_122"},
    921                            {{eq, r7, 87}, true, eq, "eq r7 87", "eq_r7_87"},
    922                            {{cc, r1, 250}, true, cc, "cc r1 250", "cc_r1_250"},
    923                            {{vc, r1, 236}, true, vc, "vc r1 236", "vc_r1_236"},
    924                            {{pl, r1, 83}, true, pl, "pl r1 83", "pl_r1_83"},
    925                            {{gt, r2, 228}, true, gt, "gt r2 228", "gt_r2_228"},
    926                            {{mi, r1, 41}, true, mi, "mi r1 41", "mi_r1_41"},
    927                            {{hi, r1, 42}, true, hi, "hi r1 42", "hi_r1_42"},
    928                            {{hi, r0, 242}, true, hi, "hi r0 242", "hi_r0_242"},
    929                            {{ne, r7, 9}, true, ne, "ne r7 9", "ne_r7_9"},
    930                            {{lt, r3, 0}, true, lt, "lt r3 0", "lt_r3_0"},
    931                            {{pl, r0, 183}, true, pl, "pl r0 183", "pl_r0_183"},
    932                            {{hi, r2, 117}, true, hi, "hi r2 117", "hi_r2_117"},
    933                            {{hi, r0, 77}, true, hi, "hi r0 77", "hi_r0_77"},
    934                            {{ls, r3, 159}, true, ls, "ls r3 159", "ls_r3_159"},
    935                            {{cc, r4, 5}, true, cc, "cc r4 5", "cc_r4_5"},
    936                            {{vc, r4, 244}, true, vc, "vc r4 244", "vc_r4_244"},
    937                            {{hi, r2, 121}, true, hi, "hi r2 121", "hi_r2_121"},
    938                            {{le, r3, 90}, true, le, "le r3 90", "le_r3_90"},
    939                            {{vc, r6, 10}, true, vc, "vc r6 10", "vc_r6_10"},
    940                            {{cs, r5, 150}, true, cs, "cs r5 150", "cs_r5_150"},
    941                            {{vc, r7, 117}, true, vc, "vc r7 117", "vc_r7_117"},
    942                            {{cs, r7, 211}, true, cs, "cs r7 211", "cs_r7_211"},
    943                            {{cs, r0, 18}, true, cs, "cs r0 18", "cs_r0_18"},
    944                            {{ne, r2, 60}, true, ne, "ne r2 60", "ne_r2_60"},
    945                            {{ge, r0, 223}, true, ge, "ge r0 223", "ge_r0_223"},
    946                            {{lt, r1, 176}, true, lt, "lt r1 176", "lt_r1_176"},
    947                            {{eq, r6, 15}, true, eq, "eq r6 15", "eq_r6_15"},
    948                            {{vs, r7, 74}, true, vs, "vs r7 74", "vs_r7_74"},
    949                            {{ne, r5, 68}, true, ne, "ne r5 68", "ne_r5_68"},
    950                            {{ne, r7, 49}, true, ne, "ne r7 49", "ne_r7_49"},
    951                            {{le, r0, 139}, true, le, "le r0 139", "le_r0_139"},
    952                            {{ge, r3, 218}, true, ge, "ge r3 218", "ge_r3_218"},
    953                            {{ge, r2, 25}, true, ge, "ge r2 25", "ge_r2_25"},
    954                            {{mi, r5, 117}, true, mi, "mi r5 117", "mi_r5_117"},
    955                            {{pl, r7, 57}, true, pl, "pl r7 57", "pl_r7_57"},
    956                            {{gt, r7, 7}, true, gt, "gt r7 7", "gt_r7_7"},
    957                            {{ne, r4, 55}, true, ne, "ne r4 55", "ne_r4_55"},
    958                            {{ne, r7, 56}, true, ne, "ne r7 56", "ne_r7_56"},
    959                            {{cc, r5, 55}, true, cc, "cc r5 55", "cc_r5_55"},
    960                            {{cc, r7, 84}, true, cc, "cc r7 84", "cc_r7_84"},
    961                            {{cs, r5, 229}, true, cs, "cs r5 229", "cs_r5_229"},
    962                            {{ne, r1, 205}, true, ne, "ne r1 205", "ne_r1_205"},
    963                            {{ge, r1, 133}, true, ge, "ge r1 133", "ge_r1_133"},
    964                            {{vc, r0, 25}, true, vc, "vc r0 25", "vc_r0_25"},
    965                            {{ge, r0, 114}, true, ge, "ge r0 114", "ge_r0_114"},
    966                            {{le, r5, 135}, true, le, "le r5 135", "le_r5_135"},
    967                            {{pl, r3, 145}, true, pl, "pl r3 145", "pl_r3_145"},
    968                            {{le, r5, 197}, true, le, "le r5 197", "le_r5_197"},
    969                            {{vc, r0, 14}, true, vc, "vc r0 14", "vc_r0_14"},
    970                            {{vc, r3, 113}, true, vc, "vc r3 113", "vc_r3_113"},
    971                            {{le, r3, 224}, true, le, "le r3 224", "le_r3_224"},
    972                            {{le, r1, 99}, true, le, "le r1 99", "le_r1_99"},
    973                            {{le, r6, 222}, true, le, "le r6 222", "le_r6_222"},
    974                            {{vc, r6, 15}, true, vc, "vc r6 15", "vc_r6_15"},
    975                            {{ge, r5, 59}, true, ge, "ge r5 59", "ge_r5_59"},
    976                            {{mi, r2, 187}, true, mi, "mi r2 187", "mi_r2_187"},
    977                            {{ls, r0, 107}, true, ls, "ls r0 107", "ls_r0_107"},
    978                            {{le, r6, 111}, true, le, "le r6 111", "le_r6_111"},
    979                            {{hi, r7, 58}, true, hi, "hi r7 58", "hi_r7_58"},
    980                            {{le, r1, 143}, true, le, "le r1 143", "le_r1_143"},
    981                            {{cs, r7, 181}, true, cs, "cs r7 181", "cs_r7_181"},
    982                            {{hi, r4, 235}, true, hi, "hi r4 235", "hi_r4_235"},
    983                            {{vs, r3, 69}, true, vs, "vs r3 69", "vs_r3_69"},
    984                            {{ls, r1, 100}, true, ls, "ls r1 100", "ls_r1_100"},
    985                            {{ne, r7, 93}, true, ne, "ne r7 93", "ne_r7_93"},
    986                            {{pl, r5, 10}, true, pl, "pl r5 10", "pl_r5_10"},
    987                            {{eq, r0, 158}, true, eq, "eq r0 158", "eq_r0_158"},
    988                            {{pl, r5, 8}, true, pl, "pl r5 8", "pl_r5_8"},
    989                            {{vc, r5, 172}, true, vc, "vc r5 172", "vc_r5_172"},
    990                            {{ne, r6, 0}, true, ne, "ne r6 0", "ne_r6_0"},
    991                            {{mi, r0, 106}, true, mi, "mi r0 106", "mi_r0_106"},
    992                            {{vs, r7, 229}, true, vs, "vs r7 229", "vs_r7_229"},
    993                            {{ne, r6, 75}, true, ne, "ne r6 75", "ne_r6_75"},
    994                            {{cc, r7, 247}, true, cc, "cc r7 247", "cc_r7_247"},
    995                            {{ne, r0, 171}, true, ne, "ne r0 171", "ne_r0_171"},
    996                            {{lt, r6, 76}, true, lt, "lt r6 76", "lt_r6_76"},
    997                            {{ls, r6, 20}, true, ls, "ls r6 20", "ls_r6_20"},
    998                            {{ne, r3, 79}, true, ne, "ne r3 79", "ne_r3_79"},
    999                            {{lt, r4, 214}, true, lt, "lt r4 214", "lt_r4_214"},
   1000                            {{gt, r1, 108}, true, gt, "gt r1 108", "gt_r1_108"},
   1001                            {{ls, r0, 149}, true, ls, "ls r0 149", "ls_r0_149"},
   1002                            {{vc, r5, 218}, true, vc, "vc r5 218", "vc_r5_218"},
   1003                            {{hi, r3, 65}, true, hi, "hi r3 65", "hi_r3_65"},
   1004                            {{ge, r4, 9}, true, ge, "ge r4 9", "ge_r4_9"},
   1005                            {{ls, r2, 252}, true, ls, "ls r2 252", "ls_r2_252"},
   1006                            {{vs, r1, 107}, true, vs, "vs r1 107", "vs_r1_107"},
   1007                            {{le, r7, 32}, true, le, "le r7 32", "le_r7_32"},
   1008                            {{cs, r7, 22}, true, cs, "cs r7 22", "cs_r7_22"},
   1009                            {{le, r1, 145}, true, le, "le r1 145", "le_r1_145"},
   1010                            {{ne, r2, 144}, true, ne, "ne r2 144", "ne_r2_144"},
   1011                            {{mi, r4, 79}, true, mi, "mi r4 79", "mi_r4_79"},
   1012                            {{ne, r5, 240}, true, ne, "ne r5 240", "ne_r5_240"},
   1013                            {{lt, r7, 251}, true, lt, "lt r7 251", "lt_r7_251"},
   1014                            {{le, r0, 118}, true, le, "le r0 118", "le_r0_118"},
   1015                            {{eq, r0, 199}, true, eq, "eq r0 199", "eq_r0_199"},
   1016                            {{hi, r3, 105}, true, hi, "hi r3 105", "hi_r3_105"},
   1017                            {{cs, r3, 215}, true, cs, "cs r3 215", "cs_r3_215"},
   1018                            {{ge, r7, 19}, true, ge, "ge r7 19", "ge_r7_19"},
   1019                            {{le, r4, 94}, true, le, "le r4 94", "le_r4_94"},
   1020                            {{hi, r4, 100}, true, hi, "hi r4 100", "hi_r4_100"},
   1021                            {{cc, r7, 116}, true, cc, "cc r7 116", "cc_r7_116"},
   1022                            {{ls, r4, 168}, true, ls, "ls r4 168", "ls_r4_168"},
   1023                            {{lt, r5, 5}, true, lt, "lt r5 5", "lt_r5_5"},
   1024                            {{vc, r4, 121}, true, vc, "vc r4 121", "vc_r4_121"},
   1025                            {{ls, r2, 235}, true, ls, "ls r2 235", "ls_r2_235"},
   1026                            {{gt, r2, 65}, true, gt, "gt r2 65", "gt_r2_65"},
   1027                            {{le, r0, 153}, true, le, "le r0 153", "le_r0_153"},
   1028                            {{ge, r2, 92}, true, ge, "ge r2 92", "ge_r2_92"},
   1029                            {{cs, r7, 183}, true, cs, "cs r7 183", "cs_r7_183"},
   1030                            {{vs, r7, 90}, true, vs, "vs r7 90", "vs_r7_90"},
   1031                            {{ge, r7, 83}, true, ge, "ge r7 83", "ge_r7_83"},
   1032                            {{vc, r6, 170}, true, vc, "vc r6 170", "vc_r6_170"},
   1033                            {{vs, r7, 13}, true, vs, "vs r7 13", "vs_r7_13"},
   1034                            {{cc, r2, 26}, true, cc, "cc r2 26", "cc_r2_26"},
   1035                            {{ls, r3, 118}, true, ls, "ls r3 118", "ls_r3_118"},
   1036                            {{vc, r4, 78}, true, vc, "vc r4 78", "vc_r4_78"},
   1037                            {{vc, r1, 222}, true, vc, "vc r1 222", "vc_r1_222"},
   1038                            {{ls, r7, 16}, true, ls, "ls r7 16", "ls_r7_16"},
   1039                            {{vs, r4, 41}, true, vs, "vs r4 41", "vs_r4_41"},
   1040                            {{lt, r3, 21}, true, lt, "lt r3 21", "lt_r3_21"},
   1041                            {{gt, r5, 73}, true, gt, "gt r5 73", "gt_r5_73"},
   1042                            {{vs, r2, 21}, true, vs, "vs r2 21", "vs_r2_21"},
   1043                            {{gt, r6, 212}, true, gt, "gt r6 212", "gt_r6_212"},
   1044                            {{ge, r0, 217}, true, ge, "ge r0 217", "ge_r0_217"},
   1045                            {{ge, r3, 163}, true, ge, "ge r3 163", "ge_r3_163"},
   1046                            {{hi, r4, 180}, true, hi, "hi r4 180", "hi_r4_180"},
   1047                            {{cs, r3, 163}, true, cs, "cs r3 163", "cs_r3_163"},
   1048                            {{hi, r3, 3}, true, hi, "hi r3 3", "hi_r3_3"},
   1049                            {{gt, r3, 121}, true, gt, "gt r3 121", "gt_r3_121"},
   1050                            {{cs, r0, 82}, true, cs, "cs r0 82", "cs_r0_82"},
   1051                            {{cc, r1, 204}, true, cc, "cc r1 204", "cc_r1_204"},
   1052                            {{cc, r2, 16}, true, cc, "cc r2 16", "cc_r2_16"},
   1053                            {{le, r4, 152}, true, le, "le r4 152", "le_r4_152"},
   1054                            {{ls, r6, 168}, true, ls, "ls r6 168", "ls_r6_168"},
   1055                            {{cs, r4, 85}, true, cs, "cs r4 85", "cs_r4_85"},
   1056                            {{lt, r7, 175}, true, lt, "lt r7 175", "lt_r7_175"},
   1057                            {{cs, r7, 165}, true, cs, "cs r7 165", "cs_r7_165"},
   1058                            {{ge, r1, 6}, true, ge, "ge r1 6", "ge_r1_6"},
   1059                            {{cs, r3, 59}, true, cs, "cs r3 59", "cs_r3_59"},
   1060                            {{ne, r1, 223}, true, ne, "ne r1 223", "ne_r1_223"},
   1061                            {{vs, r1, 222}, true, vs, "vs r1 222", "vs_r1_222"},
   1062                            {{cs, r0, 102}, true, cs, "cs r0 102", "cs_r0_102"},
   1063                            {{ls, r0, 62}, true, ls, "ls r0 62", "ls_r0_62"},
   1064                            {{vs, r6, 97}, true, vs, "vs r6 97", "vs_r6_97"},
   1065                            {{gt, r6, 60}, true, gt, "gt r6 60", "gt_r6_60"},
   1066                            {{mi, r7, 144}, true, mi, "mi r7 144", "mi_r7_144"},
   1067                            {{vs, r4, 0}, true, vs, "vs r4 0", "vs_r4_0"},
   1068                            {{hi, r5, 62}, true, hi, "hi r5 62", "hi_r5_62"},
   1069                            {{le, r1, 49}, true, le, "le r1 49", "le_r1_49"},
   1070                            {{le, r4, 178}, true, le, "le r4 178", "le_r4_178"},
   1071                            {{lt, r3, 149}, true, lt, "lt r3 149", "lt_r3_149"},
   1072                            {{vs, r7, 64}, true, vs, "vs r7 64", "vs_r7_64"},
   1073                            {{ne, r3, 202}, true, ne, "ne r3 202", "ne_r3_202"},
   1074                            {{ne, r2, 164}, true, ne, "ne r2 164", "ne_r2_164"},
   1075                            {{gt, r3, 193}, true, gt, "gt r3 193", "gt_r3_193"},
   1076                            {{le, r7, 164}, true, le, "le r7 164", "le_r7_164"},
   1077                            {{eq, r6, 151}, true, eq, "eq r6 151", "eq_r6_151"},
   1078                            {{hi, r3, 38}, true, hi, "hi r3 38", "hi_r3_38"},
   1079                            {{gt, r7, 191}, true, gt, "gt r7 191", "gt_r7_191"},
   1080                            {{ge, r6, 42}, true, ge, "ge r6 42", "ge_r6_42"},
   1081                            {{vc, r6, 247}, true, vc, "vc r6 247", "vc_r6_247"},
   1082                            {{hi, r5, 236}, true, hi, "hi r5 236", "hi_r5_236"},
   1083                            {{hi, r5, 234}, true, hi, "hi r5 234", "hi_r5_234"},
   1084                            {{le, r4, 126}, true, le, "le r4 126", "le_r4_126"},
   1085                            {{gt, r7, 241}, true, gt, "gt r7 241", "gt_r7_241"},
   1086                            {{hi, r7, 116}, true, hi, "hi r7 116", "hi_r7_116"},
   1087                            {{cs, r7, 119}, true, cs, "cs r7 119", "cs_r7_119"},
   1088                            {{ge, r3, 148}, true, ge, "ge r3 148", "ge_r3_148"},
   1089                            {{gt, r7, 88}, true, gt, "gt r7 88", "gt_r7_88"},
   1090                            {{vc, r6, 58}, true, vc, "vc r6 58", "vc_r6_58"},
   1091                            {{mi, r6, 157}, true, mi, "mi r6 157", "mi_r6_157"},
   1092                            {{cs, r0, 129}, true, cs, "cs r0 129", "cs_r0_129"},
   1093                            {{vc, r1, 161}, true, vc, "vc r1 161", "vc_r1_161"},
   1094                            {{mi, r0, 34}, true, mi, "mi r0 34", "mi_r0_34"}};
   1095 
   1096 // These headers each contain an array of `TestResult` with the reference output
   1097 // values. The reference arrays are names `kReference{mnemonic}`.
   1098 #include "aarch32/traces/assembler-cond-rdlow-operand-imm8-t32-in-it-block-cmp.h"
   1099 #include "aarch32/traces/assembler-cond-rdlow-operand-imm8-t32-in-it-block-mov.h"
   1100 
   1101 
   1102 // The maximum number of errors to report in detail for each test.
   1103 const unsigned kErrorReportLimit = 8;
   1104 
   1105 typedef void (MacroAssembler::*Fn)(Condition cond,
   1106                                    Register rd,
   1107                                    const Operand& op);
   1108 
   1109 void TestHelper(Fn instruction,
   1110                 const char* mnemonic,
   1111                 const TestResult reference[]) {
   1112   unsigned total_error_count = 0;
   1113   MacroAssembler masm(BUF_SIZE);
   1114 
   1115   masm.UseT32();
   1116 
   1117   for (unsigned i = 0; i < ARRAY_SIZE(kTests); i++) {
   1118     // Values to pass to the macro-assembler.
   1119     Condition cond = kTests[i].operands.cond;
   1120     Register rd = kTests[i].operands.rd;
   1121     int32_t immediate = kTests[i].operands.immediate;
   1122     Operand op(immediate);
   1123 
   1124     int32_t start = masm.GetCursorOffset();
   1125     {
   1126       // We never generate more that 4 bytes, as IT instructions are only
   1127       // allowed for narrow encodings.
   1128       ExactAssemblyScope scope(&masm, 4, ExactAssemblyScope::kMaximumSize);
   1129       if (kTests[i].in_it_block) {
   1130         masm.it(kTests[i].it_condition);
   1131       }
   1132       (masm.*instruction)(cond, rd, op);
   1133     }
   1134     int32_t end = masm.GetCursorOffset();
   1135 
   1136     const byte* result_ptr =
   1137         masm.GetBuffer()->GetOffsetAddress<const byte*>(start);
   1138     VIXL_ASSERT(start < end);
   1139     uint32_t result_size = end - start;
   1140 
   1141     if (Test::generate_test_trace()) {
   1142       // Print the result bytes.
   1143       printf("const byte kInstruction_%s_%s[] = {\n",
   1144              mnemonic,
   1145              kTests[i].identifier);
   1146       for (uint32_t j = 0; j < result_size; j++) {
   1147         if (j == 0) {
   1148           printf("  0x%02" PRIx8, result_ptr[j]);
   1149         } else {
   1150           printf(", 0x%02" PRIx8, result_ptr[j]);
   1151         }
   1152       }
   1153       // This comment is meant to be used by external tools to validate
   1154       // the encoding. We can parse the comment to figure out what
   1155       // instruction this corresponds to.
   1156       if (kTests[i].in_it_block) {
   1157         printf(" // It %s; %s %s\n};\n",
   1158                kTests[i].it_condition.GetName(),
   1159                mnemonic,
   1160                kTests[i].operands_description);
   1161       } else {
   1162         printf(" // %s %s\n};\n", mnemonic, kTests[i].operands_description);
   1163       }
   1164     } else {
   1165       // Check we've emitted the exact same encoding as present in the
   1166       // trace file. Only print up to `kErrorReportLimit` errors.
   1167       if (((result_size != reference[i].size) ||
   1168            (memcmp(result_ptr, reference[i].encoding, reference[i].size) !=
   1169             0)) &&
   1170           (++total_error_count <= kErrorReportLimit)) {
   1171         printf("Error when testing \"%s\" with operands \"%s\":\n",
   1172                mnemonic,
   1173                kTests[i].operands_description);
   1174         printf("  Expected: ");
   1175         for (uint32_t j = 0; j < reference[i].size; j++) {
   1176           if (j == 0) {
   1177             printf("0x%02" PRIx8, reference[i].encoding[j]);
   1178           } else {
   1179             printf(", 0x%02" PRIx8, reference[i].encoding[j]);
   1180           }
   1181         }
   1182         printf("\n");
   1183         printf("  Found:    ");
   1184         for (uint32_t j = 0; j < result_size; j++) {
   1185           if (j == 0) {
   1186             printf("0x%02" PRIx8, result_ptr[j]);
   1187           } else {
   1188             printf(", 0x%02" PRIx8, result_ptr[j]);
   1189           }
   1190         }
   1191         printf("\n");
   1192       }
   1193     }
   1194   }
   1195 
   1196   masm.FinalizeCode();
   1197 
   1198   if (Test::generate_test_trace()) {
   1199     // Finalize the trace file by writing the final `TestResult` array
   1200     // which links all generated instruction encodings.
   1201     printf("const TestResult kReference%s[] = {\n", mnemonic);
   1202     for (unsigned i = 0; i < ARRAY_SIZE(kTests); i++) {
   1203       printf("  {\n");
   1204       printf("    ARRAY_SIZE(kInstruction_%s_%s),\n",
   1205              mnemonic,
   1206              kTests[i].identifier);
   1207       printf("    kInstruction_%s_%s,\n", mnemonic, kTests[i].identifier);
   1208       printf("  },\n");
   1209     }
   1210     printf("};\n");
   1211   } else {
   1212     if (total_error_count > kErrorReportLimit) {
   1213       printf("%u other errors follow.\n",
   1214              total_error_count - kErrorReportLimit);
   1215     }
   1216     // Crash if the test failed.
   1217     VIXL_CHECK(total_error_count == 0);
   1218   }
   1219 }
   1220 
   1221 // Instantiate tests for each instruction in the list.
   1222 #define TEST(mnemonic)                                                        \
   1223   void Test_##mnemonic() {                                                    \
   1224     TestHelper(&MacroAssembler::mnemonic, #mnemonic, kReference##mnemonic);   \
   1225   }                                                                           \
   1226   Test test_##mnemonic(                                                       \
   1227       "AARCH32_ASSEMBLER_COND_RDLOW_OPERAND_IMM8_T32_IN_IT_BLOCK_" #mnemonic, \
   1228       &Test_##mnemonic);
   1229 FOREACH_INSTRUCTION(TEST)
   1230 #undef TEST
   1231 
   1232 }  // namespace
   1233 #endif
   1234 
   1235 }  // namespace aarch32
   1236 }  // namespace vixl
   1237