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) M(add)
     52 
     53 
     54 // The following definitions are defined again in each generated test, therefore
     55 // we need to place them in an anomymous namespace. It expresses that they are
     56 // local to this file only, and the compiler is not allowed to share these types
     57 // across test files during template instantiation. Specifically, `Operands` has
     58 // various layouts across generated tests so it absolutely cannot be shared.
     59 
     60 #ifdef VIXL_INCLUDE_TARGET_T32
     61 namespace {
     62 
     63 // Values to be passed to the assembler to produce the instruction under test.
     64 struct Operands {
     65   Condition cond;
     66   Register rd;
     67   Register rn;
     68   int32_t immediate;
     69 };
     70 
     71 // This structure contains all data needed to test one specific
     72 // instruction.
     73 struct TestData {
     74   // The `operands` field represents what to pass to the assembler to
     75   // produce the instruction.
     76   Operands operands;
     77   // True if we need to generate an IT instruction for this test to be valid.
     78   bool in_it_block;
     79   // The condition to give the IT instruction, this will be set to "al" by
     80   // default.
     81   Condition it_condition;
     82   // Description of the operands, used for error reporting.
     83   const char* operands_description;
     84   // Unique identifier, used for generating traces.
     85   const char* identifier;
     86 };
     87 
     88 struct TestResult {
     89   size_t size;
     90   const byte* encoding;
     91 };
     92 
     93 // Each element of this array produce one instruction encoding.
     94 const TestData kTests[] =
     95     {{{al, r7, pc, 19}, false, al, "al r7 pc 19", "al_r7_pc_19"},
     96      {{al, r6, pc, 78}, false, al, "al r6 pc 78", "al_r6_pc_78"},
     97      {{al, r7, pc, 92}, false, al, "al r7 pc 92", "al_r7_pc_92"},
     98      {{al, r7, pc, 195}, false, al, "al r7 pc 195", "al_r7_pc_195"},
     99      {{al, r4, pc, 17}, false, al, "al r4 pc 17", "al_r4_pc_17"},
    100      {{al, r6, pc, 150}, false, al, "al r6 pc 150", "al_r6_pc_150"},
    101      {{al, r4, pc, 166}, false, al, "al r4 pc 166", "al_r4_pc_166"},
    102      {{al, r1, pc, 63}, false, al, "al r1 pc 63", "al_r1_pc_63"},
    103      {{al, r3, pc, 15}, false, al, "al r3 pc 15", "al_r3_pc_15"},
    104      {{al, r6, pc, 49}, false, al, "al r6 pc 49", "al_r6_pc_49"},
    105      {{al, r2, pc, 205}, false, al, "al r2 pc 205", "al_r2_pc_205"},
    106      {{al, r6, pc, 107}, false, al, "al r6 pc 107", "al_r6_pc_107"},
    107      {{al, r4, pc, 226}, false, al, "al r4 pc 226", "al_r4_pc_226"},
    108      {{al, r5, pc, 128}, false, al, "al r5 pc 128", "al_r5_pc_128"},
    109      {{al, r6, pc, 54}, false, al, "al r6 pc 54", "al_r6_pc_54"},
    110      {{al, r3, pc, 63}, false, al, "al r3 pc 63", "al_r3_pc_63"},
    111      {{al, r1, pc, 9}, false, al, "al r1 pc 9", "al_r1_pc_9"},
    112      {{al, r1, pc, 214}, false, al, "al r1 pc 214", "al_r1_pc_214"},
    113      {{al, r0, pc, 148}, false, al, "al r0 pc 148", "al_r0_pc_148"},
    114      {{al, r1, pc, 70}, false, al, "al r1 pc 70", "al_r1_pc_70"},
    115      {{al, r2, pc, 167}, false, al, "al r2 pc 167", "al_r2_pc_167"},
    116      {{al, r0, pc, 1}, false, al, "al r0 pc 1", "al_r0_pc_1"},
    117      {{al, r0, pc, 97}, false, al, "al r0 pc 97", "al_r0_pc_97"},
    118      {{al, r7, pc, 66}, false, al, "al r7 pc 66", "al_r7_pc_66"},
    119      {{al, r7, pc, 179}, false, al, "al r7 pc 179", "al_r7_pc_179"},
    120      {{al, r4, pc, 183}, false, al, "al r4 pc 183", "al_r4_pc_183"},
    121      {{al, r7, pc, 150}, false, al, "al r7 pc 150", "al_r7_pc_150"},
    122      {{al, r5, pc, 241}, false, al, "al r5 pc 241", "al_r5_pc_241"},
    123      {{al, r6, pc, 31}, false, al, "al r6 pc 31", "al_r6_pc_31"},
    124      {{al, r7, pc, 224}, false, al, "al r7 pc 224", "al_r7_pc_224"},
    125      {{al, r6, pc, 235}, false, al, "al r6 pc 235", "al_r6_pc_235"},
    126      {{al, r3, pc, 220}, false, al, "al r3 pc 220", "al_r3_pc_220"},
    127      {{al, r7, pc, 201}, false, al, "al r7 pc 201", "al_r7_pc_201"},
    128      {{al, r2, pc, 70}, false, al, "al r2 pc 70", "al_r2_pc_70"},
    129      {{al, r4, pc, 174}, false, al, "al r4 pc 174", "al_r4_pc_174"},
    130      {{al, r4, pc, 142}, false, al, "al r4 pc 142", "al_r4_pc_142"},
    131      {{al, r1, pc, 249}, false, al, "al r1 pc 249", "al_r1_pc_249"},
    132      {{al, r5, pc, 244}, false, al, "al r5 pc 244", "al_r5_pc_244"},
    133      {{al, r2, pc, 26}, false, al, "al r2 pc 26", "al_r2_pc_26"},
    134      {{al, r4, pc, 177}, false, al, "al r4 pc 177", "al_r4_pc_177"},
    135      {{al, r3, pc, 150}, false, al, "al r3 pc 150", "al_r3_pc_150"},
    136      {{al, r2, pc, 85}, false, al, "al r2 pc 85", "al_r2_pc_85"},
    137      {{al, r6, pc, 48}, false, al, "al r6 pc 48", "al_r6_pc_48"},
    138      {{al, r5, pc, 25}, false, al, "al r5 pc 25", "al_r5_pc_25"},
    139      {{al, r6, pc, 95}, false, al, "al r6 pc 95", "al_r6_pc_95"},
    140      {{al, r7, pc, 228}, false, al, "al r7 pc 228", "al_r7_pc_228"},
    141      {{al, r5, pc, 20}, false, al, "al r5 pc 20", "al_r5_pc_20"},
    142      {{al, r1, pc, 8}, false, al, "al r1 pc 8", "al_r1_pc_8"},
    143      {{al, r6, pc, 222}, false, al, "al r6 pc 222", "al_r6_pc_222"},
    144      {{al, r5, pc, 221}, false, al, "al r5 pc 221", "al_r5_pc_221"},
    145      {{al, r3, pc, 109}, false, al, "al r3 pc 109", "al_r3_pc_109"},
    146      {{al, r6, pc, 165}, false, al, "al r6 pc 165", "al_r6_pc_165"},
    147      {{al, r5, pc, 114}, false, al, "al r5 pc 114", "al_r5_pc_114"},
    148      {{al, r6, pc, 207}, false, al, "al r6 pc 207", "al_r6_pc_207"},
    149      {{al, r7, pc, 197}, false, al, "al r7 pc 197", "al_r7_pc_197"},
    150      {{al, r4, pc, 121}, false, al, "al r4 pc 121", "al_r4_pc_121"},
    151      {{al, r4, pc, 233}, false, al, "al r4 pc 233", "al_r4_pc_233"},
    152      {{al, r6, pc, 141}, false, al, "al r6 pc 141", "al_r6_pc_141"},
    153      {{al, r3, pc, 175}, false, al, "al r3 pc 175", "al_r3_pc_175"},
    154      {{al, r3, pc, 182}, false, al, "al r3 pc 182", "al_r3_pc_182"},
    155      {{al, r0, pc, 206}, false, al, "al r0 pc 206", "al_r0_pc_206"},
    156      {{al, r2, pc, 123}, false, al, "al r2 pc 123", "al_r2_pc_123"},
    157      {{al, r5, pc, 118}, false, al, "al r5 pc 118", "al_r5_pc_118"},
    158      {{al, r1, pc, 127}, false, al, "al r1 pc 127", "al_r1_pc_127"},
    159      {{al, r0, pc, 234}, false, al, "al r0 pc 234", "al_r0_pc_234"},
    160      {{al, r0, pc, 132}, false, al, "al r0 pc 132", "al_r0_pc_132"},
    161      {{al, r7, pc, 13}, false, al, "al r7 pc 13", "al_r7_pc_13"},
    162      {{al, r0, pc, 157}, false, al, "al r0 pc 157", "al_r0_pc_157"},
    163      {{al, r5, pc, 37}, false, al, "al r5 pc 37", "al_r5_pc_37"},
    164      {{al, r7, pc, 227}, false, al, "al r7 pc 227", "al_r7_pc_227"},
    165      {{al, r0, pc, 127}, false, al, "al r0 pc 127", "al_r0_pc_127"},
    166      {{al, r4, pc, 154}, false, al, "al r4 pc 154", "al_r4_pc_154"},
    167      {{al, r6, pc, 237}, false, al, "al r6 pc 237", "al_r6_pc_237"},
    168      {{al, r1, pc, 104}, false, al, "al r1 pc 104", "al_r1_pc_104"},
    169      {{al, r6, pc, 79}, false, al, "al r6 pc 79", "al_r6_pc_79"},
    170      {{al, r6, pc, 174}, false, al, "al r6 pc 174", "al_r6_pc_174"},
    171      {{al, r1, pc, 206}, false, al, "al r1 pc 206", "al_r1_pc_206"},
    172      {{al, r1, pc, 244}, false, al, "al r1 pc 244", "al_r1_pc_244"},
    173      {{al, r7, pc, 138}, false, al, "al r7 pc 138", "al_r7_pc_138"},
    174      {{al, r6, pc, 17}, false, al, "al r6 pc 17", "al_r6_pc_17"},
    175      {{al, r1, pc, 135}, false, al, "al r1 pc 135", "al_r1_pc_135"},
    176      {{al, r0, pc, 147}, false, al, "al r0 pc 147", "al_r0_pc_147"},
    177      {{al, r5, pc, 200}, false, al, "al r5 pc 200", "al_r5_pc_200"},
    178      {{al, r2, pc, 62}, false, al, "al r2 pc 62", "al_r2_pc_62"},
    179      {{al, r5, pc, 188}, false, al, "al r5 pc 188", "al_r5_pc_188"},
    180      {{al, r6, pc, 180}, false, al, "al r6 pc 180", "al_r6_pc_180"},
    181      {{al, r3, pc, 155}, false, al, "al r3 pc 155", "al_r3_pc_155"},
    182      {{al, r3, pc, 185}, false, al, "al r3 pc 185", "al_r3_pc_185"},
    183      {{al, r6, pc, 87}, false, al, "al r6 pc 87", "al_r6_pc_87"},
    184      {{al, r0, pc, 243}, false, al, "al r0 pc 243", "al_r0_pc_243"},
    185      {{al, r2, pc, 68}, false, al, "al r2 pc 68", "al_r2_pc_68"},
    186      {{al, r3, pc, 99}, false, al, "al r3 pc 99", "al_r3_pc_99"},
    187      {{al, r0, pc, 15}, false, al, "al r0 pc 15", "al_r0_pc_15"},
    188      {{al, r7, pc, 91}, false, al, "al r7 pc 91", "al_r7_pc_91"},
    189      {{al, r7, pc, 75}, false, al, "al r7 pc 75", "al_r7_pc_75"},
    190      {{al, r0, pc, 14}, false, al, "al r0 pc 14", "al_r0_pc_14"},
    191      {{al, r4, pc, 246}, false, al, "al r4 pc 246", "al_r4_pc_246"},
    192      {{al, r5, pc, 92}, false, al, "al r5 pc 92", "al_r5_pc_92"},
    193      {{al, r2, pc, 23}, false, al, "al r2 pc 23", "al_r2_pc_23"},
    194      {{al, r0, pc, 150}, false, al, "al r0 pc 150", "al_r0_pc_150"},
    195      {{al, r0, pc, 196}, false, al, "al r0 pc 196", "al_r0_pc_196"},
    196      {{al, r1, pc, 126}, false, al, "al r1 pc 126", "al_r1_pc_126"},
    197      {{al, r1, pc, 141}, false, al, "al r1 pc 141", "al_r1_pc_141"},
    198      {{al, r3, pc, 191}, false, al, "al r3 pc 191", "al_r3_pc_191"},
    199      {{al, r7, pc, 187}, false, al, "al r7 pc 187", "al_r7_pc_187"},
    200      {{al, r4, pc, 238}, false, al, "al r4 pc 238", "al_r4_pc_238"},
    201      {{al, r0, pc, 114}, false, al, "al r0 pc 114", "al_r0_pc_114"},
    202      {{al, r3, pc, 34}, false, al, "al r3 pc 34", "al_r3_pc_34"},
    203      {{al, r5, pc, 189}, false, al, "al r5 pc 189", "al_r5_pc_189"},
    204      {{al, r7, pc, 252}, false, al, "al r7 pc 252", "al_r7_pc_252"},
    205      {{al, r3, pc, 116}, false, al, "al r3 pc 116", "al_r3_pc_116"},
    206      {{al, r0, pc, 154}, false, al, "al r0 pc 154", "al_r0_pc_154"},
    207      {{al, r1, pc, 84}, false, al, "al r1 pc 84", "al_r1_pc_84"},
    208      {{al, r0, pc, 214}, false, al, "al r0 pc 214", "al_r0_pc_214"},
    209      {{al, r5, pc, 139}, false, al, "al r5 pc 139", "al_r5_pc_139"},
    210      {{al, r6, pc, 138}, false, al, "al r6 pc 138", "al_r6_pc_138"},
    211      {{al, r6, pc, 212}, false, al, "al r6 pc 212", "al_r6_pc_212"},
    212      {{al, r3, pc, 112}, false, al, "al r3 pc 112", "al_r3_pc_112"},
    213      {{al, r7, pc, 140}, false, al, "al r7 pc 140", "al_r7_pc_140"},
    214      {{al, r6, pc, 33}, false, al, "al r6 pc 33", "al_r6_pc_33"},
    215      {{al, r2, pc, 207}, false, al, "al r2 pc 207", "al_r2_pc_207"},
    216      {{al, r4, pc, 208}, false, al, "al r4 pc 208", "al_r4_pc_208"},
    217      {{al, r2, pc, 61}, false, al, "al r2 pc 61", "al_r2_pc_61"},
    218      {{al, r3, pc, 43}, false, al, "al r3 pc 43", "al_r3_pc_43"},
    219      {{al, r5, pc, 192}, false, al, "al r5 pc 192", "al_r5_pc_192"},
    220      {{al, r5, pc, 67}, false, al, "al r5 pc 67", "al_r5_pc_67"},
    221      {{al, r3, pc, 193}, false, al, "al r3 pc 193", "al_r3_pc_193"},
    222      {{al, r2, pc, 255}, false, al, "al r2 pc 255", "al_r2_pc_255"},
    223      {{al, r7, pc, 58}, false, al, "al r7 pc 58", "al_r7_pc_58"},
    224      {{al, r0, pc, 198}, false, al, "al r0 pc 198", "al_r0_pc_198"},
    225      {{al, r4, pc, 34}, false, al, "al r4 pc 34", "al_r4_pc_34"},
    226      {{al, r7, pc, 73}, false, al, "al r7 pc 73", "al_r7_pc_73"},
    227      {{al, r2, pc, 118}, false, al, "al r2 pc 118", "al_r2_pc_118"},
    228      {{al, r0, pc, 123}, false, al, "al r0 pc 123", "al_r0_pc_123"},
    229      {{al, r6, pc, 226}, false, al, "al r6 pc 226", "al_r6_pc_226"},
    230      {{al, r7, pc, 109}, false, al, "al r7 pc 109", "al_r7_pc_109"},
    231      {{al, r1, pc, 29}, false, al, "al r1 pc 29", "al_r1_pc_29"},
    232      {{al, r0, pc, 140}, false, al, "al r0 pc 140", "al_r0_pc_140"},
    233      {{al, r0, pc, 121}, false, al, "al r0 pc 121", "al_r0_pc_121"},
    234      {{al, r6, pc, 178}, false, al, "al r6 pc 178", "al_r6_pc_178"},
    235      {{al, r3, pc, 236}, false, al, "al r3 pc 236", "al_r3_pc_236"},
    236      {{al, r6, pc, 195}, false, al, "al r6 pc 195", "al_r6_pc_195"},
    237      {{al, r2, pc, 138}, false, al, "al r2 pc 138", "al_r2_pc_138"},
    238      {{al, r5, pc, 199}, false, al, "al r5 pc 199", "al_r5_pc_199"},
    239      {{al, r7, pc, 134}, false, al, "al r7 pc 134", "al_r7_pc_134"},
    240      {{al, r5, pc, 206}, false, al, "al r5 pc 206", "al_r5_pc_206"},
    241      {{al, r6, pc, 43}, false, al, "al r6 pc 43", "al_r6_pc_43"},
    242      {{al, r2, pc, 120}, false, al, "al r2 pc 120", "al_r2_pc_120"},
    243      {{al, r7, pc, 27}, false, al, "al r7 pc 27", "al_r7_pc_27"},
    244      {{al, r5, pc, 108}, false, al, "al r5 pc 108", "al_r5_pc_108"},
    245      {{al, r0, pc, 142}, false, al, "al r0 pc 142", "al_r0_pc_142"},
    246      {{al, r0, pc, 95}, false, al, "al r0 pc 95", "al_r0_pc_95"},
    247      {{al, r4, pc, 115}, false, al, "al r4 pc 115", "al_r4_pc_115"},
    248      {{al, r2, pc, 212}, false, al, "al r2 pc 212", "al_r2_pc_212"},
    249      {{al, r4, pc, 253}, false, al, "al r4 pc 253", "al_r4_pc_253"},
    250      {{al, r2, pc, 77}, false, al, "al r2 pc 77", "al_r2_pc_77"},
    251      {{al, r4, pc, 218}, false, al, "al r4 pc 218", "al_r4_pc_218"},
    252      {{al, r4, pc, 72}, false, al, "al r4 pc 72", "al_r4_pc_72"},
    253      {{al, r4, pc, 85}, false, al, "al r4 pc 85", "al_r4_pc_85"},
    254      {{al, r7, pc, 137}, false, al, "al r7 pc 137", "al_r7_pc_137"},
    255      {{al, r3, pc, 91}, false, al, "al r3 pc 91", "al_r3_pc_91"},
    256      {{al, r3, pc, 90}, false, al, "al r3 pc 90", "al_r3_pc_90"},
    257      {{al, r0, pc, 125}, false, al, "al r0 pc 125", "al_r0_pc_125"},
    258      {{al, r1, pc, 0}, false, al, "al r1 pc 0", "al_r1_pc_0"},
    259      {{al, r1, pc, 90}, false, al, "al r1 pc 90", "al_r1_pc_90"},
    260      {{al, r1, pc, 245}, false, al, "al r1 pc 245", "al_r1_pc_245"},
    261      {{al, r6, pc, 152}, false, al, "al r6 pc 152", "al_r6_pc_152"},
    262      {{al, r4, pc, 130}, false, al, "al r4 pc 130", "al_r4_pc_130"},
    263      {{al, r2, pc, 218}, false, al, "al r2 pc 218", "al_r2_pc_218"},
    264      {{al, r4, pc, 156}, false, al, "al r4 pc 156", "al_r4_pc_156"},
    265      {{al, r5, pc, 239}, false, al, "al r5 pc 239", "al_r5_pc_239"},
    266      {{al, r2, pc, 140}, false, al, "al r2 pc 140", "al_r2_pc_140"},
    267      {{al, r5, pc, 147}, false, al, "al r5 pc 147", "al_r5_pc_147"},
    268      {{al, r5, pc, 226}, false, al, "al r5 pc 226", "al_r5_pc_226"},
    269      {{al, r1, pc, 95}, false, al, "al r1 pc 95", "al_r1_pc_95"},
    270      {{al, r2, pc, 58}, false, al, "al r2 pc 58", "al_r2_pc_58"},
    271      {{al, r4, pc, 41}, false, al, "al r4 pc 41", "al_r4_pc_41"},
    272      {{al, r3, pc, 76}, false, al, "al r3 pc 76", "al_r3_pc_76"},
    273      {{al, r4, pc, 38}, false, al, "al r4 pc 38", "al_r4_pc_38"},
    274      {{al, r5, pc, 155}, false, al, "al r5 pc 155", "al_r5_pc_155"},
    275      {{al, r6, pc, 255}, false, al, "al r6 pc 255", "al_r6_pc_255"},
    276      {{al, r4, pc, 144}, false, al, "al r4 pc 144", "al_r4_pc_144"},
    277      {{al, r2, pc, 86}, false, al, "al r2 pc 86", "al_r2_pc_86"},
    278      {{al, r1, pc, 60}, false, al, "al r1 pc 60", "al_r1_pc_60"},
    279      {{al, r4, pc, 33}, false, al, "al r4 pc 33", "al_r4_pc_33"},
    280      {{al, r4, pc, 170}, false, al, "al r4 pc 170", "al_r4_pc_170"},
    281      {{al, r5, pc, 121}, false, al, "al r5 pc 121", "al_r5_pc_121"},
    282      {{al, r7, pc, 170}, false, al, "al r7 pc 170", "al_r7_pc_170"},
    283      {{al, r2, pc, 133}, false, al, "al r2 pc 133", "al_r2_pc_133"},
    284      {{al, r7, pc, 14}, false, al, "al r7 pc 14", "al_r7_pc_14"},
    285      {{al, r5, pc, 180}, false, al, "al r5 pc 180", "al_r5_pc_180"},
    286      {{al, r2, pc, 116}, false, al, "al r2 pc 116", "al_r2_pc_116"},
    287      {{al, r3, pc, 173}, false, al, "al r3 pc 173", "al_r3_pc_173"},
    288      {{al, r2, pc, 48}, false, al, "al r2 pc 48", "al_r2_pc_48"},
    289      {{al, r0, pc, 63}, false, al, "al r0 pc 63", "al_r0_pc_63"},
    290      {{al, r1, pc, 43}, false, al, "al r1 pc 43", "al_r1_pc_43"},
    291      {{al, r6, pc, 253}, false, al, "al r6 pc 253", "al_r6_pc_253"},
    292      {{al, r7, pc, 247}, false, al, "al r7 pc 247", "al_r7_pc_247"},
    293      {{al, r5, pc, 186}, false, al, "al r5 pc 186", "al_r5_pc_186"},
    294      {{al, r0, pc, 90}, false, al, "al r0 pc 90", "al_r0_pc_90"},
    295      {{al, r0, pc, 111}, false, al, "al r0 pc 111", "al_r0_pc_111"},
    296      {{al, r5, pc, 124}, false, al, "al r5 pc 124", "al_r5_pc_124"},
    297      {{al, r2, pc, 254}, false, al, "al r2 pc 254", "al_r2_pc_254"},
    298      {{al, r2, pc, 150}, false, al, "al r2 pc 150", "al_r2_pc_150"},
    299      {{al, r1, pc, 198}, false, al, "al r1 pc 198", "al_r1_pc_198"},
    300      {{al, r5, pc, 156}, false, al, "al r5 pc 156", "al_r5_pc_156"},
    301      {{al, r5, pc, 80}, false, al, "al r5 pc 80", "al_r5_pc_80"},
    302      {{al, r2, pc, 73}, false, al, "al r2 pc 73", "al_r2_pc_73"},
    303      {{al, r5, pc, 17}, false, al, "al r5 pc 17", "al_r5_pc_17"},
    304      {{al, r3, pc, 136}, false, al, "al r3 pc 136", "al_r3_pc_136"},
    305      {{al, r1, pc, 105}, false, al, "al r1 pc 105", "al_r1_pc_105"},
    306      {{al, r0, pc, 122}, false, al, "al r0 pc 122", "al_r0_pc_122"},
    307      {{al, r2, pc, 240}, false, al, "al r2 pc 240", "al_r2_pc_240"},
    308      {{al, r6, pc, 242}, false, al, "al r6 pc 242", "al_r6_pc_242"},
    309      {{al, r0, pc, 251}, false, al, "al r0 pc 251", "al_r0_pc_251"},
    310      {{al, r7, pc, 98}, false, al, "al r7 pc 98", "al_r7_pc_98"},
    311      {{al, r4, pc, 254}, false, al, "al r4 pc 254", "al_r4_pc_254"},
    312      {{al, r1, pc, 251}, false, al, "al r1 pc 251", "al_r1_pc_251"},
    313      {{al, r4, pc, 212}, false, al, "al r4 pc 212", "al_r4_pc_212"},
    314      {{al, r6, pc, 173}, false, al, "al r6 pc 173", "al_r6_pc_173"},
    315      {{al, r6, pc, 69}, false, al, "al r6 pc 69", "al_r6_pc_69"},
    316      {{al, r3, pc, 145}, false, al, "al r3 pc 145", "al_r3_pc_145"},
    317      {{al, r4, pc, 152}, false, al, "al r4 pc 152", "al_r4_pc_152"},
    318      {{al, r7, pc, 164}, false, al, "al r7 pc 164", "al_r7_pc_164"},
    319      {{al, r4, pc, 96}, false, al, "al r4 pc 96", "al_r4_pc_96"},
    320      {{al, r7, pc, 37}, false, al, "al r7 pc 37", "al_r7_pc_37"},
    321      {{al, r4, pc, 69}, false, al, "al r4 pc 69", "al_r4_pc_69"},
    322      {{al, r2, pc, 7}, false, al, "al r2 pc 7", "al_r2_pc_7"},
    323      {{al, r2, pc, 59}, false, al, "al r2 pc 59", "al_r2_pc_59"},
    324      {{al, r7, pc, 44}, false, al, "al r7 pc 44", "al_r7_pc_44"},
    325      {{al, r5, pc, 23}, false, al, "al r5 pc 23", "al_r5_pc_23"},
    326      {{al, r3, pc, 231}, false, al, "al r3 pc 231", "al_r3_pc_231"},
    327      {{al, r7, pc, 169}, false, al, "al r7 pc 169", "al_r7_pc_169"},
    328      {{al, r5, pc, 127}, false, al, "al r5 pc 127", "al_r5_pc_127"},
    329      {{al, r2, pc, 229}, false, al, "al r2 pc 229", "al_r2_pc_229"},
    330      {{al, r7, pc, 163}, false, al, "al r7 pc 163", "al_r7_pc_163"},
    331      {{al, r0, pc, 104}, false, al, "al r0 pc 104", "al_r0_pc_104"},
    332      {{al, r1, pc, 227}, false, al, "al r1 pc 227", "al_r1_pc_227"},
    333      {{al, r2, pc, 235}, false, al, "al r2 pc 235", "al_r2_pc_235"},
    334      {{al, r7, pc, 182}, false, al, "al r7 pc 182", "al_r7_pc_182"},
    335      {{al, r1, pc, 149}, false, al, "al r1 pc 149", "al_r1_pc_149"},
    336      {{al, r4, pc, 35}, false, al, "al r4 pc 35", "al_r4_pc_35"},
    337      {{al, r2, pc, 250}, false, al, "al r2 pc 250", "al_r2_pc_250"},
    338      {{al, r2, pc, 109}, false, al, "al r2 pc 109", "al_r2_pc_109"},
    339      {{al, r5, pc, 178}, false, al, "al r5 pc 178", "al_r5_pc_178"},
    340      {{al, r1, pc, 78}, false, al, "al r1 pc 78", "al_r1_pc_78"},
    341      {{al, r4, pc, 78}, false, al, "al r4 pc 78", "al_r4_pc_78"},
    342      {{al, r6, pc, 121}, false, al, "al r6 pc 121", "al_r6_pc_121"},
    343      {{al, r2, pc, 202}, false, al, "al r2 pc 202", "al_r2_pc_202"},
    344      {{al, r0, pc, 228}, false, al, "al r0 pc 228", "al_r0_pc_228"},
    345      {{al, r6, pc, 56}, false, al, "al r6 pc 56", "al_r6_pc_56"},
    346      {{al, r7, pc, 191}, false, al, "al r7 pc 191", "al_r7_pc_191"},
    347      {{al, r7, pc, 213}, false, al, "al r7 pc 213", "al_r7_pc_213"},
    348      {{al, r4, pc, 20}, false, al, "al r4 pc 20", "al_r4_pc_20"},
    349      {{al, r7, pc, 111}, false, al, "al r7 pc 111", "al_r7_pc_111"},
    350      {{al, r6, pc, 130}, false, al, "al r6 pc 130", "al_r6_pc_130"},
    351      {{al, r5, pc, 28}, false, al, "al r5 pc 28", "al_r5_pc_28"},
    352      {{al, r7, pc, 96}, false, al, "al r7 pc 96", "al_r7_pc_96"},
    353      {{al, r5, pc, 10}, false, al, "al r5 pc 10", "al_r5_pc_10"},
    354      {{al, r7, pc, 88}, false, al, "al r7 pc 88", "al_r7_pc_88"},
    355      {{al, r2, pc, 142}, false, al, "al r2 pc 142", "al_r2_pc_142"},
    356      {{al, r2, pc, 49}, false, al, "al r2 pc 49", "al_r2_pc_49"},
    357      {{al, r4, pc, 214}, false, al, "al r4 pc 214", "al_r4_pc_214"},
    358      {{al, r7, pc, 1}, false, al, "al r7 pc 1", "al_r7_pc_1"},
    359      {{al, r1, pc, 88}, false, al, "al r1 pc 88", "al_r1_pc_88"},
    360      {{al, r5, pc, 160}, false, al, "al r5 pc 160", "al_r5_pc_160"},
    361      {{al, r7, pc, 82}, false, al, "al r7 pc 82", "al_r7_pc_82"},
    362      {{al, r1, pc, 220}, false, al, "al r1 pc 220", "al_r1_pc_220"},
    363      {{al, r0, pc, 254}, false, al, "al r0 pc 254", "al_r0_pc_254"},
    364      {{al, r6, pc, 119}, false, al, "al r6 pc 119", "al_r6_pc_119"},
    365      {{al, r2, pc, 55}, false, al, "al r2 pc 55", "al_r2_pc_55"},
    366      {{al, r7, pc, 71}, false, al, "al r7 pc 71", "al_r7_pc_71"},
    367      {{al, r1, pc, 142}, false, al, "al r1 pc 142", "al_r1_pc_142"},
    368      {{al, r1, pc, 109}, false, al, "al r1 pc 109", "al_r1_pc_109"},
    369      {{al, r7, pc, 35}, false, al, "al r7 pc 35", "al_r7_pc_35"},
    370      {{al, r4, pc, 249}, false, al, "al r4 pc 249", "al_r4_pc_249"},
    371      {{al, r3, pc, 134}, false, al, "al r3 pc 134", "al_r3_pc_134"},
    372      {{al, r6, pc, 81}, false, al, "al r6 pc 81", "al_r6_pc_81"},
    373      {{al, r7, pc, 249}, false, al, "al r7 pc 249", "al_r7_pc_249"},
    374      {{al, r0, pc, 81}, false, al, "al r0 pc 81", "al_r0_pc_81"},
    375      {{al, r7, pc, 233}, false, al, "al r7 pc 233", "al_r7_pc_233"},
    376      {{al, r6, pc, 162}, false, al, "al r6 pc 162", "al_r6_pc_162"},
    377      {{al, r4, pc, 123}, false, al, "al r4 pc 123", "al_r4_pc_123"},
    378      {{al, r1, pc, 229}, false, al, "al r1 pc 229", "al_r1_pc_229"},
    379      {{al, r0, pc, 51}, false, al, "al r0 pc 51", "al_r0_pc_51"},
    380      {{al, r6, pc, 44}, false, al, "al r6 pc 44", "al_r6_pc_44"},
    381      {{al, r3, pc, 132}, false, al, "al r3 pc 132", "al_r3_pc_132"},
    382      {{al, r5, pc, 246}, false, al, "al r5 pc 246", "al_r5_pc_246"},
    383      {{al, r2, pc, 156}, false, al, "al r2 pc 156", "al_r2_pc_156"},
    384      {{al, r3, pc, 74}, false, al, "al r3 pc 74", "al_r3_pc_74"},
    385      {{al, r4, pc, 199}, false, al, "al r4 pc 199", "al_r4_pc_199"},
    386      {{al, r5, pc, 181}, false, al, "al r5 pc 181", "al_r5_pc_181"},
    387      {{al, r4, pc, 180}, false, al, "al r4 pc 180", "al_r4_pc_180"},
    388      {{al, r4, pc, 93}, false, al, "al r4 pc 93", "al_r4_pc_93"},
    389      {{al, r3, pc, 23}, false, al, "al r3 pc 23", "al_r3_pc_23"},
    390      {{al, r2, pc, 204}, false, al, "al r2 pc 204", "al_r2_pc_204"},
    391      {{al, r0, pc, 83}, false, al, "al r0 pc 83", "al_r0_pc_83"},
    392      {{al, r0, pc, 39}, false, al, "al r0 pc 39", "al_r0_pc_39"},
    393      {{al, r3, pc, 158}, false, al, "al r3 pc 158", "al_r3_pc_158"},
    394      {{al, r5, pc, 137}, false, al, "al r5 pc 137", "al_r5_pc_137"},
    395      {{al, r4, pc, 209}, false, al, "al r4 pc 209", "al_r4_pc_209"},
    396      {{al, r0, pc, 43}, false, al, "al r0 pc 43", "al_r0_pc_43"},
    397      {{al, r6, pc, 65}, false, al, "al r6 pc 65", "al_r6_pc_65"},
    398      {{al, r7, pc, 128}, false, al, "al r7 pc 128", "al_r7_pc_128"},
    399      {{al, r5, pc, 176}, false, al, "al r5 pc 176", "al_r5_pc_176"},
    400      {{al, r5, pc, 143}, false, al, "al r5 pc 143", "al_r5_pc_143"},
    401      {{al, r1, pc, 123}, false, al, "al r1 pc 123", "al_r1_pc_123"},
    402      {{al, r2, pc, 181}, false, al, "al r2 pc 181", "al_r2_pc_181"},
    403      {{al, r3, pc, 10}, false, al, "al r3 pc 10", "al_r3_pc_10"},
    404      {{al, r7, pc, 40}, false, al, "al r7 pc 40", "al_r7_pc_40"},
    405      {{al, r5, pc, 94}, false, al, "al r5 pc 94", "al_r5_pc_94"},
    406      {{al, r3, pc, 117}, false, al, "al r3 pc 117", "al_r3_pc_117"},
    407      {{al, r3, pc, 65}, false, al, "al r3 pc 65", "al_r3_pc_65"},
    408      {{al, r7, pc, 209}, false, al, "al r7 pc 209", "al_r7_pc_209"},
    409      {{al, r0, pc, 181}, false, al, "al r0 pc 181", "al_r0_pc_181"},
    410      {{al, r7, pc, 151}, false, al, "al r7 pc 151", "al_r7_pc_151"},
    411      {{al, r1, pc, 207}, false, al, "al r1 pc 207", "al_r1_pc_207"},
    412      {{al, r3, pc, 58}, false, al, "al r3 pc 58", "al_r3_pc_58"},
    413      {{al, r6, pc, 118}, false, al, "al r6 pc 118", "al_r6_pc_118"},
    414      {{al, r5, pc, 58}, false, al, "al r5 pc 58", "al_r5_pc_58"},
    415      {{al, r5, pc, 138}, false, al, "al r5 pc 138", "al_r5_pc_138"},
    416      {{al, r0, pc, 204}, false, al, "al r0 pc 204", "al_r0_pc_204"},
    417      {{al, r1, pc, 138}, false, al, "al r1 pc 138", "al_r1_pc_138"},
    418      {{al, r6, pc, 221}, false, al, "al r6 pc 221", "al_r6_pc_221"},
    419      {{al, r3, pc, 125}, false, al, "al r3 pc 125", "al_r3_pc_125"},
    420      {{al, r4, pc, 2}, false, al, "al r4 pc 2", "al_r4_pc_2"},
    421      {{al, r3, pc, 8}, false, al, "al r3 pc 8", "al_r3_pc_8"},
    422      {{al, r7, pc, 188}, false, al, "al r7 pc 188", "al_r7_pc_188"},
    423      {{al, r2, pc, 237}, false, al, "al r2 pc 237", "al_r2_pc_237"},
    424      {{al, r2, pc, 22}, false, al, "al r2 pc 22", "al_r2_pc_22"},
    425      {{al, r4, pc, 179}, false, al, "al r4 pc 179", "al_r4_pc_179"},
    426      {{al, r2, pc, 65}, false, al, "al r2 pc 65", "al_r2_pc_65"},
    427      {{al, r4, pc, 30}, false, al, "al r4 pc 30", "al_r4_pc_30"},
    428      {{al, r1, pc, 239}, false, al, "al r1 pc 239", "al_r1_pc_239"},
    429      {{al, r6, pc, 169}, false, al, "al r6 pc 169", "al_r6_pc_169"},
    430      {{al, r7, pc, 30}, false, al, "al r7 pc 30", "al_r7_pc_30"},
    431      {{al, r3, pc, 184}, false, al, "al r3 pc 184", "al_r3_pc_184"},
    432      {{al, r0, pc, 112}, false, al, "al r0 pc 112", "al_r0_pc_112"},
    433      {{al, r0, pc, 25}, false, al, "al r0 pc 25", "al_r0_pc_25"},
    434      {{al, r4, pc, 77}, false, al, "al r4 pc 77", "al_r4_pc_77"},
    435      {{al, r7, pc, 142}, false, al, "al r7 pc 142", "al_r7_pc_142"},
    436      {{al, r1, pc, 33}, false, al, "al r1 pc 33", "al_r1_pc_33"},
    437      {{al, r2, pc, 64}, false, al, "al r2 pc 64", "al_r2_pc_64"},
    438      {{al, r4, pc, 230}, false, al, "al r4 pc 230", "al_r4_pc_230"},
    439      {{al, r5, pc, 40}, false, al, "al r5 pc 40", "al_r5_pc_40"},
    440      {{al, r3, pc, 209}, false, al, "al r3 pc 209", "al_r3_pc_209"},
    441      {{al, r4, pc, 227}, false, al, "al r4 pc 227", "al_r4_pc_227"},
    442      {{al, r7, pc, 219}, false, al, "al r7 pc 219", "al_r7_pc_219"},
    443      {{al, r4, pc, 46}, false, al, "al r4 pc 46", "al_r4_pc_46"},
    444      {{al, r2, pc, 245}, false, al, "al r2 pc 245", "al_r2_pc_245"},
    445      {{al, r2, pc, 146}, false, al, "al r2 pc 146", "al_r2_pc_146"},
    446      {{al, r6, pc, 191}, false, al, "al r6 pc 191", "al_r6_pc_191"},
    447      {{al, r4, pc, 106}, false, al, "al r4 pc 106", "al_r4_pc_106"},
    448      {{al, r3, pc, 92}, false, al, "al r3 pc 92", "al_r3_pc_92"},
    449      {{al, r2, pc, 153}, false, al, "al r2 pc 153", "al_r2_pc_153"},
    450      {{al, r4, pc, 155}, false, al, "al r4 pc 155", "al_r4_pc_155"},
    451      {{al, r4, pc, 164}, false, al, "al r4 pc 164", "al_r4_pc_164"},
    452      {{al, r4, pc, 252}, false, al, "al r4 pc 252", "al_r4_pc_252"},
    453      {{al, r0, pc, 107}, false, al, "al r0 pc 107", "al_r0_pc_107"},
    454      {{al, r2, pc, 198}, false, al, "al r2 pc 198", "al_r2_pc_198"},
    455      {{al, r2, pc, 191}, false, al, "al r2 pc 191", "al_r2_pc_191"},
    456      {{al, r3, pc, 59}, false, al, "al r3 pc 59", "al_r3_pc_59"},
    457      {{al, r7, pc, 156}, false, al, "al r7 pc 156", "al_r7_pc_156"},
    458      {{al, r2, pc, 244}, false, al, "al r2 pc 244", "al_r2_pc_244"},
    459      {{al, r1, pc, 11}, false, al, "al r1 pc 11", "al_r1_pc_11"},
    460      {{al, r6, pc, 82}, false, al, "al r6 pc 82", "al_r6_pc_82"},
    461      {{al, r4, pc, 28}, false, al, "al r4 pc 28", "al_r4_pc_28"},
    462      {{al, r3, pc, 211}, false, al, "al r3 pc 211", "al_r3_pc_211"},
    463      {{al, r2, pc, 1}, false, al, "al r2 pc 1", "al_r2_pc_1"},
    464      {{al, r2, pc, 195}, false, al, "al r2 pc 195", "al_r2_pc_195"},
    465      {{al, r0, pc, 60}, false, al, "al r0 pc 60", "al_r0_pc_60"},
    466      {{al, r4, pc, 193}, false, al, "al r4 pc 193", "al_r4_pc_193"},
    467      {{al, r7, pc, 171}, false, al, "al r7 pc 171", "al_r7_pc_171"},
    468      {{al, r6, pc, 45}, false, al, "al r6 pc 45", "al_r6_pc_45"},
    469      {{al, r4, pc, 167}, false, al, "al r4 pc 167", "al_r4_pc_167"},
    470      {{al, r6, pc, 185}, false, al, "al r6 pc 185", "al_r6_pc_185"},
    471      {{al, r4, pc, 148}, false, al, "al r4 pc 148", "al_r4_pc_148"},
    472      {{al, r0, pc, 88}, false, al, "al r0 pc 88", "al_r0_pc_88"},
    473      {{al, r1, pc, 167}, false, al, "al r1 pc 167", "al_r1_pc_167"},
    474      {{al, r3, pc, 80}, false, al, "al r3 pc 80", "al_r3_pc_80"},
    475      {{al, r1, pc, 180}, false, al, "al r1 pc 180", "al_r1_pc_180"},
    476      {{al, r4, pc, 150}, false, al, "al r4 pc 150", "al_r4_pc_150"},
    477      {{al, r6, pc, 201}, false, al, "al r6 pc 201", "al_r6_pc_201"},
    478      {{al, r0, pc, 24}, false, al, "al r0 pc 24", "al_r0_pc_24"},
    479      {{al, r3, pc, 41}, false, al, "al r3 pc 41", "al_r3_pc_41"},
    480      {{al, r0, pc, 41}, false, al, "al r0 pc 41", "al_r0_pc_41"},
    481      {{al, r3, pc, 84}, false, al, "al r3 pc 84", "al_r3_pc_84"},
    482      {{al, r1, pc, 164}, false, al, "al r1 pc 164", "al_r1_pc_164"},
    483      {{al, r0, pc, 32}, false, al, "al r0 pc 32", "al_r0_pc_32"},
    484      {{al, r7, pc, 240}, false, al, "al r7 pc 240", "al_r7_pc_240"},
    485      {{al, r4, pc, 53}, false, al, "al r4 pc 53", "al_r4_pc_53"},
    486      {{al, r4, pc, 117}, false, al, "al r4 pc 117", "al_r4_pc_117"},
    487      {{al, r2, pc, 243}, false, al, "al r2 pc 243", "al_r2_pc_243"},
    488      {{al, r7, pc, 43}, false, al, "al r7 pc 43", "al_r7_pc_43"},
    489      {{al, r4, pc, 153}, false, al, "al r4 pc 153", "al_r4_pc_153"},
    490      {{al, r3, pc, 159}, false, al, "al r3 pc 159", "al_r3_pc_159"},
    491      {{al, r6, pc, 137}, false, al, "al r6 pc 137", "al_r6_pc_137"},
    492      {{al, r1, pc, 205}, false, al, "al r1 pc 205", "al_r1_pc_205"},
    493      {{al, r7, pc, 16}, false, al, "al r7 pc 16", "al_r7_pc_16"},
    494      {{al, r1, pc, 174}, false, al, "al r1 pc 174", "al_r1_pc_174"},
    495      {{al, r1, pc, 102}, false, al, "al r1 pc 102", "al_r1_pc_102"},
    496      {{al, r3, pc, 148}, false, al, "al r3 pc 148", "al_r3_pc_148"},
    497      {{al, r6, pc, 28}, false, al, "al r6 pc 28", "al_r6_pc_28"},
    498      {{al, r4, pc, 127}, false, al, "al r4 pc 127", "al_r4_pc_127"},
    499      {{al, r5, pc, 237}, false, al, "al r5 pc 237", "al_r5_pc_237"},
    500      {{al, r4, pc, 215}, false, al, "al r4 pc 215", "al_r4_pc_215"},
    501      {{al, r2, pc, 80}, false, al, "al r2 pc 80", "al_r2_pc_80"},
    502      {{al, r4, pc, 160}, false, al, "al r4 pc 160", "al_r4_pc_160"},
    503      {{al, r5, pc, 132}, false, al, "al r5 pc 132", "al_r5_pc_132"},
    504      {{al, r6, pc, 158}, false, al, "al r6 pc 158", "al_r6_pc_158"},
    505      {{al, r4, pc, 139}, false, al, "al r4 pc 139", "al_r4_pc_139"},
    506      {{al, r7, pc, 218}, false, al, "al r7 pc 218", "al_r7_pc_218"},
    507      {{al, r5, pc, 1}, false, al, "al r5 pc 1", "al_r5_pc_1"},
    508      {{al, r1, pc, 106}, false, al, "al r1 pc 106", "al_r1_pc_106"},
    509      {{al, r0, pc, 36}, false, al, "al r0 pc 36", "al_r0_pc_36"},
    510      {{al, r2, pc, 186}, false, al, "al r2 pc 186", "al_r2_pc_186"},
    511      {{al, r1, pc, 217}, false, al, "al r1 pc 217", "al_r1_pc_217"},
    512      {{al, r2, pc, 110}, false, al, "al r2 pc 110", "al_r2_pc_110"},
    513      {{al, r4, pc, 22}, false, al, "al r4 pc 22", "al_r4_pc_22"},
    514      {{al, r1, pc, 44}, false, al, "al r1 pc 44", "al_r1_pc_44"},
    515      {{al, r5, pc, 70}, false, al, "al r5 pc 70", "al_r5_pc_70"},
    516      {{al, r3, pc, 222}, false, al, "al r3 pc 222", "al_r3_pc_222"},
    517      {{al, r1, pc, 45}, false, al, "al r1 pc 45", "al_r1_pc_45"},
    518      {{al, r2, pc, 152}, false, al, "al r2 pc 152", "al_r2_pc_152"},
    519      {{al, r1, pc, 37}, false, al, "al r1 pc 37", "al_r1_pc_37"},
    520      {{al, r7, pc, 174}, false, al, "al r7 pc 174", "al_r7_pc_174"},
    521      {{al, r0, pc, 23}, false, al, "al r0 pc 23", "al_r0_pc_23"},
    522      {{al, r7, pc, 83}, false, al, "al r7 pc 83", "al_r7_pc_83"},
    523      {{al, r5, pc, 203}, false, al, "al r5 pc 203", "al_r5_pc_203"},
    524      {{al, r0, pc, 241}, false, al, "al r0 pc 241", "al_r0_pc_241"},
    525      {{al, r1, pc, 89}, false, al, "al r1 pc 89", "al_r1_pc_89"},
    526      {{al, r6, pc, 145}, false, al, "al r6 pc 145", "al_r6_pc_145"},
    527      {{al, r5, pc, 91}, false, al, "al r5 pc 91", "al_r5_pc_91"},
    528      {{al, r2, pc, 15}, false, al, "al r2 pc 15", "al_r2_pc_15"},
    529      {{al, r4, pc, 8}, false, al, "al r4 pc 8", "al_r4_pc_8"},
    530      {{al, r5, pc, 53}, false, al, "al r5 pc 53", "al_r5_pc_53"},
    531      {{al, r5, pc, 173}, false, al, "al r5 pc 173", "al_r5_pc_173"},
    532      {{al, r2, pc, 10}, false, al, "al r2 pc 10", "al_r2_pc_10"},
    533      {{al, r2, pc, 175}, false, al, "al r2 pc 175", "al_r2_pc_175"},
    534      {{al, r7, pc, 186}, false, al, "al r7 pc 186", "al_r7_pc_186"},
    535      {{al, r4, pc, 66}, false, al, "al r4 pc 66", "al_r4_pc_66"},
    536      {{al, r3, pc, 27}, false, al, "al r3 pc 27", "al_r3_pc_27"},
    537      {{al, r7, pc, 99}, false, al, "al r7 pc 99", "al_r7_pc_99"},
    538      {{al, r0, pc, 126}, false, al, "al r0 pc 126", "al_r0_pc_126"},
    539      {{al, r0, pc, 130}, false, al, "al r0 pc 130", "al_r0_pc_130"},
    540      {{al, r7, pc, 60}, false, al, "al r7 pc 60", "al_r7_pc_60"},
    541      {{al, r5, pc, 2}, false, al, "al r5 pc 2", "al_r5_pc_2"},
    542      {{al, r3, pc, 107}, false, al, "al r3 pc 107", "al_r3_pc_107"},
    543      {{al, r6, pc, 113}, false, al, "al r6 pc 113", "al_r6_pc_113"},
    544      {{al, r2, pc, 18}, false, al, "al r2 pc 18", "al_r2_pc_18"},
    545      {{al, r5, pc, 219}, false, al, "al r5 pc 219", "al_r5_pc_219"},
    546      {{al, r6, pc, 115}, false, al, "al r6 pc 115", "al_r6_pc_115"},
    547      {{al, r7, pc, 159}, false, al, "al r7 pc 159", "al_r7_pc_159"},
    548      {{al, r7, pc, 206}, false, al, "al r7 pc 206", "al_r7_pc_206"},
    549      {{al, r6, pc, 193}, false, al, "al r6 pc 193", "al_r6_pc_193"},
    550      {{al, r4, pc, 119}, false, al, "al r4 pc 119", "al_r4_pc_119"},
    551      {{al, r0, pc, 98}, false, al, "al r0 pc 98", "al_r0_pc_98"},
    552      {{al, r5, pc, 201}, false, al, "al r5 pc 201", "al_r5_pc_201"},
    553      {{al, r0, pc, 182}, false, al, "al r0 pc 182", "al_r0_pc_182"},
    554      {{al, r4, pc, 118}, false, al, "al r4 pc 118", "al_r4_pc_118"},
    555      {{al, r6, pc, 18}, false, al, "al r6 pc 18", "al_r6_pc_18"},
    556      {{al, r0, pc, 185}, false, al, "al r0 pc 185", "al_r0_pc_185"},
    557      {{al, r0, pc, 106}, false, al, "al r0 pc 106", "al_r0_pc_106"},
    558      {{al, r0, pc, 92}, false, al, "al r0 pc 92", "al_r0_pc_92"},
    559      {{al, r5, pc, 215}, false, al, "al r5 pc 215", "al_r5_pc_215"},
    560      {{al, r0, pc, 153}, false, al, "al r0 pc 153", "al_r0_pc_153"},
    561      {{al, r5, pc, 75}, false, al, "al r5 pc 75", "al_r5_pc_75"},
    562      {{al, r6, pc, 211}, false, al, "al r6 pc 211", "al_r6_pc_211"},
    563      {{al, r0, pc, 244}, false, al, "al r0 pc 244", "al_r0_pc_244"},
    564      {{al, r0, pc, 255}, false, al, "al r0 pc 255", "al_r0_pc_255"},
    565      {{al, r7, pc, 100}, false, al, "al r7 pc 100", "al_r7_pc_100"},
    566      {{al, r7, pc, 105}, false, al, "al r7 pc 105", "al_r7_pc_105"},
    567      {{al, r3, pc, 243}, false, al, "al r3 pc 243", "al_r3_pc_243"},
    568      {{al, r3, pc, 120}, false, al, "al r3 pc 120", "al_r3_pc_120"},
    569      {{al, r0, pc, 143}, false, al, "al r0 pc 143", "al_r0_pc_143"},
    570      {{al, r5, pc, 45}, false, al, "al r5 pc 45", "al_r5_pc_45"},
    571      {{al, r6, pc, 205}, false, al, "al r6 pc 205", "al_r6_pc_205"},
    572      {{al, r3, pc, 200}, false, al, "al r3 pc 200", "al_r3_pc_200"},
    573      {{al, r6, pc, 167}, false, al, "al r6 pc 167", "al_r6_pc_167"},
    574      {{al, r6, pc, 220}, false, al, "al r6 pc 220", "al_r6_pc_220"},
    575      {{al, r3, pc, 216}, false, al, "al r3 pc 216", "al_r3_pc_216"},
    576      {{al, r2, pc, 217}, false, al, "al r2 pc 217", "al_r2_pc_217"},
    577      {{al, r2, pc, 67}, false, al, "al r2 pc 67", "al_r2_pc_67"},
    578      {{al, r0, pc, 119}, false, al, "al r0 pc 119", "al_r0_pc_119"},
    579      {{al, r2, pc, 130}, false, al, "al r2 pc 130", "al_r2_pc_130"},
    580      {{al, r6, pc, 97}, false, al, "al r6 pc 97", "al_r6_pc_97"},
    581      {{al, r1, pc, 35}, false, al, "al r1 pc 35", "al_r1_pc_35"},
    582      {{al, r5, pc, 243}, false, al, "al r5 pc 243", "al_r5_pc_243"},
    583      {{al, r7, pc, 222}, false, al, "al r7 pc 222", "al_r7_pc_222"},
    584      {{al, r7, pc, 56}, false, al, "al r7 pc 56", "al_r7_pc_56"},
    585      {{al, r4, pc, 52}, false, al, "al r4 pc 52", "al_r4_pc_52"},
    586      {{al, r3, pc, 4}, false, al, "al r3 pc 4", "al_r3_pc_4"},
    587      {{al, r2, pc, 119}, false, al, "al r2 pc 119", "al_r2_pc_119"},
    588      {{al, r7, pc, 212}, false, al, "al r7 pc 212", "al_r7_pc_212"},
    589      {{al, r0, pc, 195}, false, al, "al r0 pc 195", "al_r0_pc_195"},
    590      {{al, r3, pc, 232}, false, al, "al r3 pc 232", "al_r3_pc_232"},
    591      {{al, r3, pc, 98}, false, al, "al r3 pc 98", "al_r3_pc_98"},
    592      {{al, r4, pc, 149}, false, al, "al r4 pc 149", "al_r4_pc_149"},
    593      {{al, r0, pc, 233}, false, al, "al r0 pc 233", "al_r0_pc_233"},
    594      {{al, r6, pc, 247}, false, al, "al r6 pc 247", "al_r6_pc_247"},
    595      {{al, r2, pc, 113}, false, al, "al r2 pc 113", "al_r2_pc_113"},
    596      {{al, r4, pc, 104}, false, al, "al r4 pc 104", "al_r4_pc_104"},
    597      {{al, r5, pc, 195}, false, al, "al r5 pc 195", "al_r5_pc_195"},
    598      {{al, r0, pc, 9}, false, al, "al r0 pc 9", "al_r0_pc_9"},
    599      {{al, r1, pc, 16}, false, al, "al r1 pc 16", "al_r1_pc_16"},
    600      {{al, r2, pc, 126}, false, al, "al r2 pc 126", "al_r2_pc_126"},
    601      {{al, r5, pc, 223}, false, al, "al r5 pc 223", "al_r5_pc_223"},
    602      {{al, r2, pc, 94}, false, al, "al r2 pc 94", "al_r2_pc_94"},
    603      {{al, r4, pc, 57}, false, al, "al r4 pc 57", "al_r4_pc_57"},
    604      {{al, r0, pc, 68}, false, al, "al r0 pc 68", "al_r0_pc_68"},
    605      {{al, r6, pc, 216}, false, al, "al r6 pc 216", "al_r6_pc_216"},
    606      {{al, r6, pc, 88}, false, al, "al r6 pc 88", "al_r6_pc_88"},
    607      {{al, r2, pc, 196}, false, al, "al r2 pc 196", "al_r2_pc_196"},
    608      {{al, r4, pc, 132}, false, al, "al r4 pc 132", "al_r4_pc_132"},
    609      {{al, r4, pc, 90}, false, al, "al r4 pc 90", "al_r4_pc_90"},
    610      {{al, r0, pc, 66}, false, al, "al r0 pc 66", "al_r0_pc_66"},
    611      {{al, r7, pc, 180}, false, al, "al r7 pc 180", "al_r7_pc_180"},
    612      {{al, r3, pc, 53}, false, al, "al r3 pc 53", "al_r3_pc_53"},
    613      {{al, r7, pc, 189}, false, al, "al r7 pc 189", "al_r7_pc_189"},
    614      {{al, r1, pc, 145}, false, al, "al r1 pc 145", "al_r1_pc_145"},
    615      {{al, r3, pc, 83}, false, al, "al r3 pc 83", "al_r3_pc_83"},
    616      {{al, r4, pc, 206}, false, al, "al r4 pc 206", "al_r4_pc_206"},
    617      {{al, r4, pc, 184}, false, al, "al r4 pc 184", "al_r4_pc_184"},
    618      {{al, r4, pc, 173}, false, al, "al r4 pc 173", "al_r4_pc_173"},
    619      {{al, r1, pc, 162}, false, al, "al r1 pc 162", "al_r1_pc_162"},
    620      {{al, r3, pc, 35}, false, al, "al r3 pc 35", "al_r3_pc_35"},
    621      {{al, r7, pc, 129}, false, al, "al r7 pc 129", "al_r7_pc_129"},
    622      {{al, r7, pc, 4}, false, al, "al r7 pc 4", "al_r7_pc_4"},
    623      {{al, r2, pc, 163}, false, al, "al r2 pc 163", "al_r2_pc_163"},
    624      {{al, r6, pc, 29}, false, al, "al r6 pc 29", "al_r6_pc_29"},
    625      {{al, r3, pc, 28}, false, al, "al r3 pc 28", "al_r3_pc_28"},
    626      {{al, r7, pc, 176}, false, al, "al r7 pc 176", "al_r7_pc_176"},
    627      {{al, r7, pc, 0}, false, al, "al r7 pc 0", "al_r7_pc_0"},
    628      {{al, r2, pc, 84}, false, al, "al r2 pc 84", "al_r2_pc_84"},
    629      {{al, r6, pc, 232}, false, al, "al r6 pc 232", "al_r6_pc_232"},
    630      {{al, r0, pc, 77}, false, al, "al r0 pc 77", "al_r0_pc_77"},
    631      {{al, r5, pc, 230}, false, al, "al r5 pc 230", "al_r5_pc_230"},
    632      {{al, r5, pc, 102}, false, al, "al r5 pc 102", "al_r5_pc_102"},
    633      {{al, r6, pc, 177}, false, al, "al r6 pc 177", "al_r6_pc_177"},
    634      {{al, r3, pc, 111}, false, al, "al r3 pc 111", "al_r3_pc_111"},
    635      {{al, r0, pc, 57}, false, al, "al r0 pc 57", "al_r0_pc_57"},
    636      {{al, r3, pc, 85}, false, al, "al r3 pc 85", "al_r3_pc_85"},
    637      {{al, r0, pc, 240}, false, al, "al r0 pc 240", "al_r0_pc_240"},
    638      {{al, r6, pc, 125}, false, al, "al r6 pc 125", "al_r6_pc_125"},
    639      {{al, r3, pc, 14}, false, al, "al r3 pc 14", "al_r3_pc_14"},
    640      {{al, r5, pc, 14}, false, al, "al r5 pc 14", "al_r5_pc_14"},
    641      {{al, r2, pc, 199}, false, al, "al r2 pc 199", "al_r2_pc_199"},
    642      {{al, r1, pc, 155}, false, al, "al r1 pc 155", "al_r1_pc_155"},
    643      {{al, r6, pc, 248}, false, al, "al r6 pc 248", "al_r6_pc_248"},
    644      {{al, r7, pc, 54}, false, al, "al r7 pc 54", "al_r7_pc_54"},
    645      {{al, r3, pc, 228}, false, al, "al r3 pc 228", "al_r3_pc_228"},
    646      {{al, r2, pc, 221}, false, al, "al r2 pc 221", "al_r2_pc_221"},
    647      {{al, r4, pc, 176}, false, al, "al r4 pc 176", "al_r4_pc_176"},
    648      {{al, r7, pc, 194}, false, al, "al r7 pc 194", "al_r7_pc_194"},
    649      {{al, r2, pc, 52}, false, al, "al r2 pc 52", "al_r2_pc_52"},
    650      {{al, r3, pc, 46}, false, al, "al r3 pc 46", "al_r3_pc_46"},
    651      {{al, r1, pc, 163}, false, al, "al r1 pc 163", "al_r1_pc_163"},
    652      {{al, r0, pc, 247}, false, al, "al r0 pc 247", "al_r0_pc_247"},
    653      {{al, r5, pc, 87}, false, al, "al r5 pc 87", "al_r5_pc_87"},
    654      {{al, r6, pc, 6}, false, al, "al r6 pc 6", "al_r6_pc_6"},
    655      {{al, r6, pc, 181}, false, al, "al r6 pc 181", "al_r6_pc_181"},
    656      {{al, r6, pc, 37}, false, al, "al r6 pc 37", "al_r6_pc_37"},
    657      {{al, r1, pc, 158}, false, al, "al r1 pc 158", "al_r1_pc_158"},
    658      {{al, r6, pc, 187}, false, al, "al r6 pc 187", "al_r6_pc_187"},
    659      {{al, r3, pc, 215}, false, al, "al r3 pc 215", "al_r3_pc_215"},
    660      {{al, r4, pc, 45}, false, al, "al r4 pc 45", "al_r4_pc_45"},
    661      {{al, r4, pc, 124}, false, al, "al r4 pc 124", "al_r4_pc_124"},
    662      {{al, r7, pc, 127}, false, al, "al r7 pc 127", "al_r7_pc_127"},
    663      {{al, r3, pc, 194}, false, al, "al r3 pc 194", "al_r3_pc_194"},
    664      {{al, r0, pc, 159}, false, al, "al r0 pc 159", "al_r0_pc_159"},
    665      {{al, r2, pc, 241}, false, al, "al r2 pc 241", "al_r2_pc_241"},
    666      {{al, r5, pc, 84}, false, al, "al r5 pc 84", "al_r5_pc_84"},
    667      {{al, r2, pc, 149}, false, al, "al r2 pc 149", "al_r2_pc_149"},
    668      {{al, r3, pc, 171}, false, al, "al r3 pc 171", "al_r3_pc_171"},
    669      {{al, r3, pc, 143}, false, al, "al r3 pc 143", "al_r3_pc_143"},
    670      {{al, r0, pc, 85}, false, al, "al r0 pc 85", "al_r0_pc_85"},
    671      {{al, r1, pc, 134}, false, al, "al r1 pc 134", "al_r1_pc_134"},
    672      {{al, r1, pc, 39}, false, al, "al r1 pc 39", "al_r1_pc_39"},
    673      {{al, r6, pc, 200}, false, al, "al r6 pc 200", "al_r6_pc_200"},
    674      {{al, r5, pc, 110}, false, al, "al r5 pc 110", "al_r5_pc_110"},
    675      {{al, r6, pc, 35}, false, al, "al r6 pc 35", "al_r6_pc_35"},
    676      {{al, r7, pc, 237}, false, al, "al r7 pc 237", "al_r7_pc_237"},
    677      {{al, r0, pc, 42}, false, al, "al r0 pc 42", "al_r0_pc_42"},
    678      {{al, r2, pc, 36}, false, al, "al r2 pc 36", "al_r2_pc_36"},
    679      {{al, r4, pc, 55}, false, al, "al r4 pc 55", "al_r4_pc_55"},
    680      {{al, r2, pc, 5}, false, al, "al r2 pc 5", "al_r2_pc_5"},
    681      {{al, r2, pc, 103}, false, al, "al r2 pc 103", "al_r2_pc_103"},
    682      {{al, r7, pc, 104}, false, al, "al r7 pc 104", "al_r7_pc_104"},
    683      {{al, r1, pc, 116}, false, al, "al r1 pc 116", "al_r1_pc_116"},
    684      {{al, r1, pc, 156}, false, al, "al r1 pc 156", "al_r1_pc_156"},
    685      {{al, r6, pc, 100}, false, al, "al r6 pc 100", "al_r6_pc_100"},
    686      {{al, r6, pc, 108}, false, al, "al r6 pc 108", "al_r6_pc_108"},
    687      {{al, r0, pc, 237}, false, al, "al r0 pc 237", "al_r0_pc_237"},
    688      {{al, r5, pc, 182}, false, al, "al r5 pc 182", "al_r5_pc_182"},
    689      {{al, r1, pc, 189}, false, al, "al r1 pc 189", "al_r1_pc_189"},
    690      {{al, r6, pc, 16}, false, al, "al r6 pc 16", "al_r6_pc_16"},
    691      {{al, r5, pc, 184}, false, al, "al r5 pc 184", "al_r5_pc_184"},
    692      {{al, r3, pc, 67}, false, al, "al r3 pc 67", "al_r3_pc_67"},
    693      {{al, r2, pc, 107}, false, al, "al r2 pc 107", "al_r2_pc_107"},
    694      {{al, r1, pc, 182}, false, al, "al r1 pc 182", "al_r1_pc_182"},
    695      {{al, r7, pc, 69}, false, al, "al r7 pc 69", "al_r7_pc_69"},
    696      {{al, r3, pc, 164}, false, al, "al r3 pc 164", "al_r3_pc_164"},
    697      {{al, r7, pc, 119}, false, al, "al r7 pc 119", "al_r7_pc_119"},
    698      {{al, r4, pc, 239}, false, al, "al r4 pc 239", "al_r4_pc_239"},
    699      {{al, r7, pc, 11}, false, al, "al r7 pc 11", "al_r7_pc_11"},
    700      {{al, r0, pc, 138}, false, al, "al r0 pc 138", "al_r0_pc_138"},
    701      {{al, r1, pc, 59}, false, al, "al r1 pc 59", "al_r1_pc_59"},
    702      {{al, r4, pc, 157}, false, al, "al r4 pc 157", "al_r4_pc_157"},
    703      {{al, r0, pc, 177}, false, al, "al r0 pc 177", "al_r0_pc_177"},
    704      {{al, r7, pc, 214}, false, al, "al r7 pc 214", "al_r7_pc_214"},
    705      {{al, r1, pc, 157}, false, al, "al r1 pc 157", "al_r1_pc_157"},
    706      {{al, r6, pc, 227}, false, al, "al r6 pc 227", "al_r6_pc_227"},
    707      {{al, r1, pc, 85}, false, al, "al r1 pc 85", "al_r1_pc_85"},
    708      {{al, r5, pc, 85}, false, al, "al r5 pc 85", "al_r5_pc_85"},
    709      {{al, r4, pc, 234}, false, al, "al r4 pc 234", "al_r4_pc_234"},
    710      {{al, r0, pc, 7}, false, al, "al r0 pc 7", "al_r0_pc_7"},
    711      {{al, r1, pc, 61}, false, al, "al r1 pc 61", "al_r1_pc_61"},
    712      {{al, r6, pc, 154}, false, al, "al r6 pc 154", "al_r6_pc_154"},
    713      {{al, r0, pc, 19}, false, al, "al r0 pc 19", "al_r0_pc_19"},
    714      {{al, r7, pc, 200}, false, al, "al r7 pc 200", "al_r7_pc_200"},
    715      {{al, r0, pc, 223}, false, al, "al r0 pc 223", "al_r0_pc_223"},
    716      {{al, r0, pc, 187}, false, al, "al r0 pc 187", "al_r0_pc_187"},
    717      {{al, r2, pc, 213}, false, al, "al r2 pc 213", "al_r2_pc_213"},
    718      {{al, r4, pc, 42}, false, al, "al r4 pc 42", "al_r4_pc_42"},
    719      {{al, r6, pc, 217}, false, al, "al r6 pc 217", "al_r6_pc_217"},
    720      {{al, r7, pc, 45}, false, al, "al r7 pc 45", "al_r7_pc_45"},
    721      {{al, r3, pc, 124}, false, al, "al r3 pc 124", "al_r3_pc_124"},
    722      {{al, r0, pc, 102}, false, al, "al r0 pc 102", "al_r0_pc_102"},
    723      {{al, r3, pc, 96}, false, al, "al r3 pc 96", "al_r3_pc_96"},
    724      {{al, r7, pc, 114}, false, al, "al r7 pc 114", "al_r7_pc_114"},
    725      {{al, r3, pc, 139}, false, al, "al r3 pc 139", "al_r3_pc_139"},
    726      {{al, r6, pc, 241}, false, al, "al r6 pc 241", "al_r6_pc_241"},
    727      {{al, r7, pc, 199}, false, al, "al r7 pc 199", "al_r7_pc_199"},
    728      {{al, r0, pc, 13}, false, al, "al r0 pc 13", "al_r0_pc_13"},
    729      {{al, r5, pc, 109}, false, al, "al r5 pc 109", "al_r5_pc_109"},
    730      {{al, r1, pc, 50}, false, al, "al r1 pc 50", "al_r1_pc_50"},
    731      {{al, r5, pc, 62}, false, al, "al r5 pc 62", "al_r5_pc_62"},
    732      {{al, r5, pc, 136}, false, al, "al r5 pc 136", "al_r5_pc_136"},
    733      {{al, r7, pc, 133}, false, al, "al r7 pc 133", "al_r7_pc_133"},
    734      {{al, r1, pc, 150}, false, al, "al r1 pc 150", "al_r1_pc_150"},
    735      {{al, r3, pc, 100}, false, al, "al r3 pc 100", "al_r3_pc_100"},
    736      {{al, r3, pc, 129}, false, al, "al r3 pc 129", "al_r3_pc_129"},
    737      {{al, r4, pc, 105}, false, al, "al r4 pc 105", "al_r4_pc_105"},
    738      {{al, r3, pc, 133}, false, al, "al r3 pc 133", "al_r3_pc_133"},
    739      {{al, r1, pc, 225}, false, al, "al r1 pc 225", "al_r1_pc_225"},
    740      {{al, r3, pc, 130}, false, al, "al r3 pc 130", "al_r3_pc_130"},
    741      {{al, r0, pc, 209}, false, al, "al r0 pc 209", "al_r0_pc_209"},
    742      {{al, r2, pc, 14}, false, al, "al r2 pc 14", "al_r2_pc_14"},
    743      {{al, r0, pc, 72}, false, al, "al r0 pc 72", "al_r0_pc_72"},
    744      {{al, r7, pc, 221}, false, al, "al r7 pc 221", "al_r7_pc_221"},
    745      {{al, r4, pc, 4}, false, al, "al r4 pc 4", "al_r4_pc_4"},
    746      {{al, r7, pc, 112}, false, al, "al r7 pc 112", "al_r7_pc_112"},
    747      {{al, r6, pc, 59}, false, al, "al r6 pc 59", "al_r6_pc_59"},
    748      {{al, r3, pc, 140}, false, al, "al r3 pc 140", "al_r3_pc_140"},
    749      {{al, r1, pc, 186}, false, al, "al r1 pc 186", "al_r1_pc_186"},
    750      {{al, r3, pc, 61}, false, al, "al r3 pc 61", "al_r3_pc_61"},
    751      {{al, r1, pc, 32}, false, al, "al r1 pc 32", "al_r1_pc_32"},
    752      {{al, r3, pc, 42}, false, al, "al r3 pc 42", "al_r3_pc_42"},
    753      {{al, r3, pc, 72}, false, al, "al r3 pc 72", "al_r3_pc_72"},
    754      {{al, r0, pc, 152}, false, al, "al r0 pc 152", "al_r0_pc_152"},
    755      {{al, r5, pc, 104}, false, al, "al r5 pc 104", "al_r5_pc_104"},
    756      {{al, r1, pc, 136}, false, al, "al r1 pc 136", "al_r1_pc_136"},
    757      {{al, r7, pc, 161}, false, al, "al r7 pc 161", "al_r7_pc_161"},
    758      {{al, r1, pc, 188}, false, al, "al r1 pc 188", "al_r1_pc_188"},
    759      {{al, r1, pc, 42}, false, al, "al r1 pc 42", "al_r1_pc_42"},
    760      {{al, r4, pc, 145}, false, al, "al r4 pc 145", "al_r4_pc_145"},
    761      {{al, r3, pc, 75}, false, al, "al r3 pc 75", "al_r3_pc_75"},
    762      {{al, r1, pc, 219}, false, al, "al r1 pc 219", "al_r1_pc_219"},
    763      {{al, r4, pc, 133}, false, al, "al r4 pc 133", "al_r4_pc_133"},
    764      {{al, r1, pc, 176}, false, al, "al r1 pc 176", "al_r1_pc_176"},
    765      {{al, r5, pc, 73}, false, al, "al r5 pc 73", "al_r5_pc_73"},
    766      {{al, r6, pc, 127}, false, al, "al r6 pc 127", "al_r6_pc_127"},
    767      {{al, r4, pc, 40}, false, al, "al r4 pc 40", "al_r4_pc_40"},
    768      {{al, r0, pc, 89}, false, al, "al r0 pc 89", "al_r0_pc_89"},
    769      {{al, r4, pc, 125}, false, al, "al r4 pc 125", "al_r4_pc_125"},
    770      {{al, r0, pc, 124}, false, al, "al r0 pc 124", "al_r0_pc_124"},
    771      {{al, r5, pc, 212}, false, al, "al r5 pc 212", "al_r5_pc_212"},
    772      {{al, r1, pc, 121}, false, al, "al r1 pc 121", "al_r1_pc_121"},
    773      {{al, r4, pc, 181}, false, al, "al r4 pc 181", "al_r4_pc_181"},
    774      {{al, r6, pc, 2}, false, al, "al r6 pc 2", "al_r6_pc_2"},
    775      {{al, r7, pc, 51}, false, al, "al r7 pc 51", "al_r7_pc_51"},
    776      {{al, r7, pc, 39}, false, al, "al r7 pc 39", "al_r7_pc_39"},
    777      {{al, r4, pc, 178}, false, al, "al r4 pc 178", "al_r4_pc_178"},
    778      {{al, r7, pc, 121}, false, al, "al r7 pc 121", "al_r7_pc_121"},
    779      {{al, r5, pc, 29}, false, al, "al r5 pc 29", "al_r5_pc_29"},
    780      {{al, r6, pc, 105}, false, al, "al r6 pc 105", "al_r6_pc_105"},
    781      {{al, r5, pc, 234}, false, al, "al r5 pc 234", "al_r5_pc_234"},
    782      {{al, r6, pc, 50}, false, al, "al r6 pc 50", "al_r6_pc_50"},
    783      {{al, r3, pc, 183}, false, al, "al r3 pc 183", "al_r3_pc_183"},
    784      {{al, r2, pc, 121}, false, al, "al r2 pc 121", "al_r2_pc_121"},
    785      {{al, r1, pc, 213}, false, al, "al r1 pc 213", "al_r1_pc_213"},
    786      {{al, r1, pc, 168}, false, al, "al r1 pc 168", "al_r1_pc_168"},
    787      {{al, r1, pc, 153}, false, al, "al r1 pc 153", "al_r1_pc_153"},
    788      {{al, r6, pc, 254}, false, al, "al r6 pc 254", "al_r6_pc_254"},
    789      {{al, r4, pc, 112}, false, al, "al r4 pc 112", "al_r4_pc_112"},
    790      {{al, r4, pc, 162}, false, al, "al r4 pc 162", "al_r4_pc_162"},
    791      {{al, r5, pc, 253}, false, al, "al r5 pc 253", "al_r5_pc_253"},
    792      {{al, r6, pc, 22}, false, al, "al r6 pc 22", "al_r6_pc_22"},
    793      {{al, r6, pc, 128}, false, al, "al r6 pc 128", "al_r6_pc_128"},
    794      {{al, r5, pc, 248}, false, al, "al r5 pc 248", "al_r5_pc_248"},
    795      {{al, r2, pc, 239}, false, al, "al r2 pc 239", "al_r2_pc_239"},
    796      {{al, r1, pc, 223}, false, al, "al r1 pc 223", "al_r1_pc_223"},
    797      {{al, r7, pc, 93}, false, al, "al r7 pc 93", "al_r7_pc_93"},
    798      {{al, r4, pc, 91}, false, al, "al r4 pc 91", "al_r4_pc_91"},
    799      {{al, r3, pc, 26}, false, al, "al r3 pc 26", "al_r3_pc_26"},
    800      {{al, r4, pc, 21}, false, al, "al r4 pc 21", "al_r4_pc_21"},
    801      {{al, r3, pc, 0}, false, al, "al r3 pc 0", "al_r3_pc_0"},
    802      {{al, r0, pc, 216}, false, al, "al r0 pc 216", "al_r0_pc_216"},
    803      {{al, r7, pc, 86}, false, al, "al r7 pc 86", "al_r7_pc_86"},
    804      {{al, r2, pc, 114}, false, al, "al r2 pc 114", "al_r2_pc_114"},
    805      {{al, r1, pc, 55}, false, al, "al r1 pc 55", "al_r1_pc_55"},
    806      {{al, r1, pc, 154}, false, al, "al r1 pc 154", "al_r1_pc_154"},
    807      {{al, r1, pc, 159}, false, al, "al r1 pc 159", "al_r1_pc_159"},
    808      {{al, r6, pc, 93}, false, al, "al r6 pc 93", "al_r6_pc_93"},
    809      {{al, r1, pc, 184}, false, al, "al r1 pc 184", "al_r1_pc_184"},
    810      {{al, r2, pc, 83}, false, al, "al r2 pc 83", "al_r2_pc_83"},
    811      {{al, r7, pc, 208}, false, al, "al r7 pc 208", "al_r7_pc_208"},
    812      {{al, r2, pc, 124}, false, al, "al r2 pc 124", "al_r2_pc_124"},
    813      {{al, r5, pc, 254}, false, al, "al r5 pc 254", "al_r5_pc_254"},
    814      {{al, r2, pc, 139}, false, al, "al r2 pc 139", "al_r2_pc_139"},
    815      {{al, r4, pc, 48}, false, al, "al r4 pc 48", "al_r4_pc_48"},
    816      {{al, r1, pc, 15}, false, al, "al r1 pc 15", "al_r1_pc_15"},
    817      {{al, r7, pc, 87}, false, al, "al r7 pc 87", "al_r7_pc_87"},
    818      {{al, r0, pc, 27}, false, al, "al r0 pc 27", "al_r0_pc_27"},
    819      {{al, r1, pc, 80}, false, al, "al r1 pc 80", "al_r1_pc_80"},
    820      {{al, r6, pc, 91}, false, al, "al r6 pc 91", "al_r6_pc_91"},
    821      {{al, r2, pc, 166}, false, al, "al r2 pc 166", "al_r2_pc_166"},
    822      {{al, r5, pc, 242}, false, al, "al r5 pc 242", "al_r5_pc_242"},
    823      {{al, r5, pc, 229}, false, al, "al r5 pc 229", "al_r5_pc_229"},
    824      {{al, r1, pc, 7}, false, al, "al r1 pc 7", "al_r1_pc_7"},
    825      {{al, r1, pc, 96}, false, al, "al r1 pc 96", "al_r1_pc_96"},
    826      {{al, r3, pc, 56}, false, al, "al r3 pc 56", "al_r3_pc_56"},
    827      {{al, r2, pc, 179}, false, al, "al r2 pc 179", "al_r2_pc_179"},
    828      {{al, r4, pc, 27}, false, al, "al r4 pc 27", "al_r4_pc_27"},
    829      {{al, r4, pc, 12}, false, al, "al r4 pc 12", "al_r4_pc_12"},
    830      {{al, r2, pc, 79}, false, al, "al r2 pc 79", "al_r2_pc_79"},
    831      {{al, r5, pc, 247}, false, al, "al r5 pc 247", "al_r5_pc_247"},
    832      {{al, r0, pc, 18}, false, al, "al r0 pc 18", "al_r0_pc_18"},
    833      {{al, r5, pc, 205}, false, al, "al r5 pc 205", "al_r5_pc_205"},
    834      {{al, r2, pc, 66}, false, al, "al r2 pc 66", "al_r2_pc_66"},
    835      {{al, r0, pc, 133}, false, al, "al r0 pc 133", "al_r0_pc_133"},
    836      {{al, r6, pc, 58}, false, al, "al r6 pc 58", "al_r6_pc_58"},
    837      {{al, r5, pc, 32}, false, al, "al r5 pc 32", "al_r5_pc_32"},
    838      {{al, r0, pc, 99}, false, al, "al r0 pc 99", "al_r0_pc_99"},
    839      {{al, r2, pc, 32}, false, al, "al r2 pc 32", "al_r2_pc_32"},
    840      {{al, r3, pc, 89}, false, al, "al r3 pc 89", "al_r3_pc_89"},
    841      {{al, r6, pc, 114}, false, al, "al r6 pc 114", "al_r6_pc_114"},
    842      {{al, r2, pc, 100}, false, al, "al r2 pc 100", "al_r2_pc_100"},
    843      {{al, r1, pc, 82}, false, al, "al r1 pc 82", "al_r1_pc_82"},
    844      {{al, r2, pc, 210}, false, al, "al r2 pc 210", "al_r2_pc_210"},
    845      {{al, r2, pc, 29}, false, al, "al r2 pc 29", "al_r2_pc_29"},
    846      {{al, r6, pc, 20}, false, al, "al r6 pc 20", "al_r6_pc_20"},
    847      {{al, r0, pc, 120}, false, al, "al r0 pc 120", "al_r0_pc_120"},
    848      {{al, r6, pc, 75}, false, al, "al r6 pc 75", "al_r6_pc_75"},
    849      {{al, r5, pc, 164}, false, al, "al r5 pc 164", "al_r5_pc_164"},
    850      {{al, r6, pc, 32}, false, al, "al r6 pc 32", "al_r6_pc_32"},
    851      {{al, r7, pc, 59}, false, al, "al r7 pc 59", "al_r7_pc_59"},
    852      {{al, r0, pc, 71}, false, al, "al r0 pc 71", "al_r0_pc_71"},
    853      {{al, r6, pc, 98}, false, al, "al r6 pc 98", "al_r6_pc_98"},
    854      {{al, r0, pc, 236}, false, al, "al r0 pc 236", "al_r0_pc_236"},
    855      {{al, r4, pc, 25}, false, al, "al r4 pc 25", "al_r4_pc_25"},
    856      {{al, r1, pc, 131}, false, al, "al r1 pc 131", "al_r1_pc_131"},
    857      {{al, r2, pc, 215}, false, al, "al r2 pc 215", "al_r2_pc_215"},
    858      {{al, r5, pc, 44}, false, al, "al r5 pc 44", "al_r5_pc_44"},
    859      {{al, r3, pc, 226}, false, al, "al r3 pc 226", "al_r3_pc_226"},
    860      {{al, r1, pc, 34}, false, al, "al r1 pc 34", "al_r1_pc_34"},
    861      {{al, r0, pc, 96}, false, al, "al r0 pc 96", "al_r0_pc_96"},
    862      {{al, r4, pc, 245}, false, al, "al r4 pc 245", "al_r4_pc_245"},
    863      {{al, r1, pc, 140}, false, al, "al r1 pc 140", "al_r1_pc_140"},
    864      {{al, r6, pc, 83}, false, al, "al r6 pc 83", "al_r6_pc_83"},
    865      {{al, r5, pc, 168}, false, al, "al r5 pc 168", "al_r5_pc_168"},
    866      {{al, r6, pc, 183}, false, al, "al r6 pc 183", "al_r6_pc_183"},
    867      {{al, r6, pc, 9}, false, al, "al r6 pc 9", "al_r6_pc_9"},
    868      {{al, r7, pc, 110}, false, al, "al r7 pc 110", "al_r7_pc_110"},
    869      {{al, r6, pc, 30}, false, al, "al r6 pc 30", "al_r6_pc_30"},
    870      {{al, r3, pc, 253}, false, al, "al r3 pc 253", "al_r3_pc_253"},
    871      {{al, r2, pc, 3}, false, al, "al r2 pc 3", "al_r2_pc_3"},
    872      {{al, r3, pc, 177}, false, al, "al r3 pc 177", "al_r3_pc_177"},
    873      {{al, r5, pc, 159}, false, al, "al r5 pc 159", "al_r5_pc_159"},
    874      {{al, r0, pc, 110}, false, al, "al r0 pc 110", "al_r0_pc_110"},
    875      {{al, r7, pc, 255}, false, al, "al r7 pc 255", "al_r7_pc_255"},
    876      {{al, r5, pc, 9}, false, al, "al r5 pc 9", "al_r5_pc_9"},
    877      {{al, r3, pc, 138}, false, al, "al r3 pc 138", "al_r3_pc_138"},
    878      {{al, r0, pc, 10}, false, al, "al r0 pc 10", "al_r0_pc_10"},
    879      {{al, r2, pc, 225}, false, al, "al r2 pc 225", "al_r2_pc_225"},
    880      {{al, r3, pc, 70}, false, al, "al r3 pc 70", "al_r3_pc_70"},
    881      {{al, r4, pc, 76}, false, al, "al r4 pc 76", "al_r4_pc_76"},
    882      {{al, r2, pc, 105}, false, al, "al r2 pc 105", "al_r2_pc_105"},
    883      {{al, r4, pc, 137}, false, al, "al r4 pc 137", "al_r4_pc_137"},
    884      {{al, r4, pc, 5}, false, al, "al r4 pc 5", "al_r4_pc_5"},
    885      {{al, r4, pc, 18}, false, al, "al r4 pc 18", "al_r4_pc_18"},
    886      {{al, r5, pc, 174}, false, al, "al r5 pc 174", "al_r5_pc_174"},
    887      {{al, r3, pc, 146}, false, al, "al r3 pc 146", "al_r3_pc_146"},
    888      {{al, r1, pc, 201}, false, al, "al r1 pc 201", "al_r1_pc_201"},
    889      {{al, r7, pc, 46}, false, al, "al r7 pc 46", "al_r7_pc_46"},
    890      {{al, r4, pc, 37}, false, al, "al r4 pc 37", "al_r4_pc_37"},
    891      {{al, r0, pc, 69}, false, al, "al r0 pc 69", "al_r0_pc_69"},
    892      {{al, r2, pc, 188}, false, al, "al r2 pc 188", "al_r2_pc_188"},
    893      {{al, r1, pc, 68}, false, al, "al r1 pc 68", "al_r1_pc_68"},
    894      {{al, r3, pc, 3}, false, al, "al r3 pc 3", "al_r3_pc_3"},
    895      {{al, r2, pc, 211}, false, al, "al r2 pc 211", "al_r2_pc_211"},
    896      {{al, r3, pc, 137}, false, al, "al r3 pc 137", "al_r3_pc_137"},
    897      {{al, r5, pc, 129}, false, al, "al r5 pc 129", "al_r5_pc_129"},
    898      {{al, r3, pc, 241}, false, al, "al r3 pc 241", "al_r3_pc_241"},
    899      {{al, r7, pc, 184}, false, al, "al r7 pc 184", "al_r7_pc_184"},
    900      {{al, r6, pc, 89}, false, al, "al r6 pc 89", "al_r6_pc_89"},
    901      {{al, r2, pc, 132}, false, al, "al r2 pc 132", "al_r2_pc_132"},
    902      {{al, r2, pc, 246}, false, al, "al r2 pc 246", "al_r2_pc_246"},
    903      {{al, r0, pc, 20}, false, al, "al r0 pc 20", "al_r0_pc_20"},
    904      {{al, r4, pc, 224}, false, al, "al r4 pc 224", "al_r4_pc_224"},
    905      {{al, r4, pc, 68}, false, al, "al r4 pc 68", "al_r4_pc_68"},
    906      {{al, r1, pc, 19}, false, al, "al r1 pc 19", "al_r1_pc_19"},
    907      {{al, r6, pc, 36}, false, al, "al r6 pc 36", "al_r6_pc_36"},
    908      {{al, r1, pc, 52}, false, al, "al r1 pc 52", "al_r1_pc_52"},
    909      {{al, r5, pc, 185}, false, al, "al r5 pc 185", "al_r5_pc_185"},
    910      {{al, r3, pc, 118}, false, al, "al r3 pc 118", "al_r3_pc_118"},
    911      {{al, r0, pc, 183}, false, al, "al r0 pc 183", "al_r0_pc_183"},
    912      {{al, r7, pc, 50}, false, al, "al r7 pc 50", "al_r7_pc_50"},
    913      {{al, r1, pc, 204}, false, al, "al r1 pc 204", "al_r1_pc_204"},
    914      {{al, r2, pc, 25}, false, al, "al r2 pc 25", "al_r2_pc_25"},
    915      {{al, r0, pc, 202}, false, al, "al r0 pc 202", "al_r0_pc_202"},
    916      {{al, r6, pc, 186}, false, al, "al r6 pc 186", "al_r6_pc_186"},
    917      {{al, r1, pc, 139}, false, al, "al r1 pc 139", "al_r1_pc_139"},
    918      {{al, r5, pc, 148}, false, al, "al r5 pc 148", "al_r5_pc_148"},
    919      {{al, r0, pc, 70}, false, al, "al r0 pc 70", "al_r0_pc_70"},
    920      {{al, r0, pc, 101}, false, al, "al r0 pc 101", "al_r0_pc_101"},
    921      {{al, r6, pc, 175}, false, al, "al r6 pc 175", "al_r6_pc_175"},
    922      {{al, r7, pc, 253}, false, al, "al r7 pc 253", "al_r7_pc_253"},
    923      {{al, r3, pc, 221}, false, al, "al r3 pc 221", "al_r3_pc_221"},
    924      {{al, r4, pc, 19}, false, al, "al r4 pc 19", "al_r4_pc_19"},
    925      {{al, r2, pc, 16}, false, al, "al r2 pc 16", "al_r2_pc_16"},
    926      {{al, r2, pc, 74}, false, al, "al r2 pc 74", "al_r2_pc_74"},
    927      {{al, r5, pc, 228}, false, al, "al r5 pc 228", "al_r5_pc_228"},
    928      {{al, r5, pc, 251}, false, al, "al r5 pc 251", "al_r5_pc_251"},
    929      {{al, r4, pc, 94}, false, al, "al r4 pc 94", "al_r4_pc_94"},
    930      {{al, r5, pc, 48}, false, al, "al r5 pc 48", "al_r5_pc_48"},
    931      {{al, r3, pc, 225}, false, al, "al r3 pc 225", "al_r3_pc_225"},
    932      {{al, r2, pc, 247}, false, al, "al r2 pc 247", "al_r2_pc_247"},
    933      {{al, r4, pc, 29}, false, al, "al r4 pc 29", "al_r4_pc_29"},
    934      {{al, r7, pc, 89}, false, al, "al r7 pc 89", "al_r7_pc_89"},
    935      {{al, r5, pc, 162}, false, al, "al r5 pc 162", "al_r5_pc_162"},
    936      {{al, r6, pc, 104}, false, al, "al r6 pc 104", "al_r6_pc_104"},
    937      {{al, r1, pc, 3}, false, al, "al r1 pc 3", "al_r1_pc_3"},
    938      {{al, r6, pc, 229}, false, al, "al r6 pc 229", "al_r6_pc_229"},
    939      {{al, r5, pc, 232}, false, al, "al r5 pc 232", "al_r5_pc_232"},
    940      {{al, r1, pc, 94}, false, al, "al r1 pc 94", "al_r1_pc_94"},
    941      {{al, r7, pc, 28}, false, al, "al r7 pc 28", "al_r7_pc_28"},
    942      {{al, r6, pc, 206}, false, al, "al r6 pc 206", "al_r6_pc_206"},
    943      {{al, r7, pc, 126}, false, al, "al r7 pc 126", "al_r7_pc_126"},
    944      {{al, r4, pc, 109}, false, al, "al r4 pc 109", "al_r4_pc_109"},
    945      {{al, r3, pc, 21}, false, al, "al r3 pc 21", "al_r3_pc_21"},
    946      {{al, r5, pc, 227}, false, al, "al r5 pc 227", "al_r5_pc_227"},
    947      {{al, r2, pc, 242}, false, al, "al r2 pc 242", "al_r2_pc_242"},
    948      {{al, r3, pc, 51}, false, al, "al r3 pc 51", "al_r3_pc_51"},
    949      {{al, r0, pc, 116}, false, al, "al r0 pc 116", "al_r0_pc_116"},
    950      {{al, r7, pc, 84}, false, al, "al r7 pc 84", "al_r7_pc_84"},
    951      {{al, r1, pc, 23}, false, al, "al r1 pc 23", "al_r1_pc_23"},
    952      {{al, r3, pc, 192}, false, al, "al r3 pc 192", "al_r3_pc_192"},
    953      {{al, r4, pc, 49}, false, al, "al r4 pc 49", "al_r4_pc_49"},
    954      {{al, r2, pc, 222}, false, al, "al r2 pc 222", "al_r2_pc_222"},
    955      {{al, r4, pc, 255}, false, al, "al r4 pc 255", "al_r4_pc_255"},
    956      {{al, r3, pc, 55}, false, al, "al r3 pc 55", "al_r3_pc_55"},
    957      {{al, r1, pc, 47}, false, al, "al r1 pc 47", "al_r1_pc_47"},
    958      {{al, r7, pc, 141}, false, al, "al r7 pc 141", "al_r7_pc_141"},
    959      {{al, r5, pc, 252}, false, al, "al r5 pc 252", "al_r5_pc_252"},
    960      {{al, r0, pc, 62}, false, al, "al r0 pc 62", "al_r0_pc_62"},
    961      {{al, r7, pc, 185}, false, al, "al r7 pc 185", "al_r7_pc_185"},
    962      {{al, r0, pc, 194}, false, al, "al r0 pc 194", "al_r0_pc_194"},
    963      {{al, r4, pc, 107}, false, al, "al r4 pc 107", "al_r4_pc_107"},
    964      {{al, r5, pc, 100}, false, al, "al r5 pc 100", "al_r5_pc_100"},
    965      {{al, r3, pc, 48}, false, al, "al r3 pc 48", "al_r3_pc_48"},
    966      {{al, r7, pc, 118}, false, al, "al r7 pc 118", "al_r7_pc_118"},
    967      {{al, r5, pc, 210}, false, al, "al r5 pc 210", "al_r5_pc_210"},
    968      {{al, r7, pc, 178}, false, al, "al r7 pc 178", "al_r7_pc_178"},
    969      {{al, r0, pc, 78}, false, al, "al r0 pc 78", "al_r0_pc_78"},
    970      {{al, r7, pc, 15}, false, al, "al r7 pc 15", "al_r7_pc_15"},
    971      {{al, r1, pc, 177}, false, al, "al r1 pc 177", "al_r1_pc_177"},
    972      {{al, r6, pc, 208}, false, al, "al r6 pc 208", "al_r6_pc_208"},
    973      {{al, r2, pc, 88}, false, al, "al r2 pc 88", "al_r2_pc_88"},
    974      {{al, r4, pc, 241}, false, al, "al r4 pc 241", "al_r4_pc_241"},
    975      {{al, r1, pc, 119}, false, al, "al r1 pc 119", "al_r1_pc_119"},
    976      {{al, r6, pc, 143}, false, al, "al r6 pc 143", "al_r6_pc_143"},
    977      {{al, r6, pc, 112}, false, al, "al r6 pc 112", "al_r6_pc_112"},
    978      {{al, r5, pc, 96}, false, al, "al r5 pc 96", "al_r5_pc_96"},
    979      {{al, r5, pc, 74}, false, al, "al r5 pc 74", "al_r5_pc_74"},
    980      {{al, r6, pc, 84}, false, al, "al r6 pc 84", "al_r6_pc_84"},
    981      {{al, r7, pc, 234}, false, al, "al r7 pc 234", "al_r7_pc_234"},
    982      {{al, r7, pc, 211}, false, al, "al r7 pc 211", "al_r7_pc_211"},
    983      {{al, r6, pc, 74}, false, al, "al r6 pc 74", "al_r6_pc_74"},
    984      {{al, r4, pc, 36}, false, al, "al r4 pc 36", "al_r4_pc_36"},
    985      {{al, r6, pc, 26}, false, al, "al r6 pc 26", "al_r6_pc_26"},
    986      {{al, r5, pc, 133}, false, al, "al r5 pc 133", "al_r5_pc_133"},
    987      {{al, r7, pc, 216}, false, al, "al r7 pc 216", "al_r7_pc_216"},
    988      {{al, r4, pc, 159}, false, al, "al r4 pc 159", "al_r4_pc_159"},
    989      {{al, r2, pc, 0}, false, al, "al r2 pc 0", "al_r2_pc_0"},
    990      {{al, r6, pc, 172}, false, al, "al r6 pc 172", "al_r6_pc_172"},
    991      {{al, r6, pc, 80}, false, al, "al r6 pc 80", "al_r6_pc_80"},
    992      {{al, r4, pc, 250}, false, al, "al r4 pc 250", "al_r4_pc_250"},
    993      {{al, r0, pc, 163}, false, al, "al r0 pc 163", "al_r0_pc_163"},
    994      {{al, r6, pc, 190}, false, al, "al r6 pc 190", "al_r6_pc_190"},
    995      {{al, r1, pc, 17}, false, al, "al r1 pc 17", "al_r1_pc_17"},
    996      {{al, r5, pc, 238}, false, al, "al r5 pc 238", "al_r5_pc_238"},
    997      {{al, r4, pc, 231}, false, al, "al r4 pc 231", "al_r4_pc_231"},
    998      {{al, r3, pc, 197}, false, al, "al r3 pc 197", "al_r3_pc_197"},
    999      {{al, r5, pc, 167}, false, al, "al r5 pc 167", "al_r5_pc_167"},
   1000      {{al, r3, pc, 36}, false, al, "al r3 pc 36", "al_r3_pc_36"},
   1001      {{al, r3, pc, 110}, false, al, "al r3 pc 110", "al_r3_pc_110"},
   1002      {{al, r7, pc, 157}, false, al, "al r7 pc 157", "al_r7_pc_157"},
   1003      {{al, r0, pc, 160}, false, al, "al r0 pc 160", "al_r0_pc_160"},
   1004      {{al, r1, pc, 187}, false, al, "al r1 pc 187", "al_r1_pc_187"},
   1005      {{al, r6, pc, 213}, false, al, "al r6 pc 213", "al_r6_pc_213"},
   1006      {{al, r1, pc, 175}, false, al, "al r1 pc 175", "al_r1_pc_175"},
   1007      {{al, r1, pc, 58}, false, al, "al r1 pc 58", "al_r1_pc_58"},
   1008      {{al, r1, pc, 30}, false, al, "al r1 pc 30", "al_r1_pc_30"},
   1009      {{al, r3, pc, 234}, false, al, "al r3 pc 234", "al_r3_pc_234"},
   1010      {{al, r4, pc, 129}, false, al, "al r4 pc 129", "al_r4_pc_129"},
   1011      {{al, r0, pc, 49}, false, al, "al r0 pc 49", "al_r0_pc_49"},
   1012      {{al, r6, pc, 140}, false, al, "al r6 pc 140", "al_r6_pc_140"},
   1013      {{al, r4, pc, 64}, false, al, "al r4 pc 64", "al_r4_pc_64"},
   1014      {{al, r1, pc, 250}, false, al, "al r1 pc 250", "al_r1_pc_250"},
   1015      {{al, r3, pc, 233}, false, al, "al r3 pc 233", "al_r3_pc_233"},
   1016      {{al, r6, pc, 194}, false, al, "al r6 pc 194", "al_r6_pc_194"},
   1017      {{al, r7, pc, 245}, false, al, "al r7 pc 245", "al_r7_pc_245"},
   1018      {{al, r1, pc, 200}, false, al, "al r1 pc 200", "al_r1_pc_200"},
   1019      {{al, r4, pc, 175}, false, al, "al r4 pc 175", "al_r4_pc_175"},
   1020      {{al, r3, pc, 68}, false, al, "al r3 pc 68", "al_r3_pc_68"},
   1021      {{al, r0, pc, 221}, false, al, "al r0 pc 221", "al_r0_pc_221"},
   1022      {{al, r7, pc, 130}, false, al, "al r7 pc 130", "al_r7_pc_130"},
   1023      {{al, r2, pc, 187}, false, al, "al r2 pc 187", "al_r2_pc_187"},
   1024      {{al, r2, pc, 159}, false, al, "al r2 pc 159", "al_r2_pc_159"},
   1025      {{al, r1, pc, 210}, false, al, "al r1 pc 210", "al_r1_pc_210"},
   1026      {{al, r3, pc, 141}, false, al, "al r3 pc 141", "al_r3_pc_141"},
   1027      {{al, r2, pc, 148}, false, al, "al r2 pc 148", "al_r2_pc_148"},
   1028      {{al, r7, pc, 26}, false, al, "al r7 pc 26", "al_r7_pc_26"},
   1029      {{al, r6, pc, 153}, false, al, "al r6 pc 153", "al_r6_pc_153"},
   1030      {{al, r2, pc, 252}, false, al, "al r2 pc 252", "al_r2_pc_252"},
   1031      {{al, r6, pc, 101}, false, al, "al r6 pc 101", "al_r6_pc_101"},
   1032      {{al, r3, pc, 128}, false, al, "al r3 pc 128", "al_r3_pc_128"},
   1033      {{al, r2, pc, 69}, false, al, "al r2 pc 69", "al_r2_pc_69"},
   1034      {{al, r2, pc, 208}, false, al, "al r2 pc 208", "al_r2_pc_208"},
   1035      {{al, r1, pc, 199}, false, al, "al r1 pc 199", "al_r1_pc_199"},
   1036      {{al, r7, pc, 202}, false, al, "al r7 pc 202", "al_r7_pc_202"},
   1037      {{al, r5, pc, 16}, false, al, "al r5 pc 16", "al_r5_pc_16"},
   1038      {{al, r7, pc, 172}, false, al, "al r7 pc 172", "al_r7_pc_172"},
   1039      {{al, r3, pc, 205}, false, al, "al r3 pc 205", "al_r3_pc_205"},
   1040      {{al, r1, pc, 111}, false, al, "al r1 pc 111", "al_r1_pc_111"},
   1041      {{al, r3, pc, 163}, false, al, "al r3 pc 163", "al_r3_pc_163"},
   1042      {{al, r7, pc, 217}, false, al, "al r7 pc 217", "al_r7_pc_217"},
   1043      {{al, r1, pc, 254}, false, al, "al r1 pc 254", "al_r1_pc_254"},
   1044      {{al, r2, pc, 117}, false, al, "al r2 pc 117", "al_r2_pc_117"},
   1045      {{al, r0, pc, 188}, false, al, "al r0 pc 188", "al_r0_pc_188"},
   1046      {{al, r5, pc, 209}, false, al, "al r5 pc 209", "al_r5_pc_209"},
   1047      {{al, r4, pc, 13}, false, al, "al r4 pc 13", "al_r4_pc_13"},
   1048      {{al, r7, pc, 165}, false, al, "al r7 pc 165", "al_r7_pc_165"},
   1049      {{al, r4, pc, 172}, false, al, "al r4 pc 172", "al_r4_pc_172"},
   1050      {{al, r3, pc, 106}, false, al, "al r3 pc 106", "al_r3_pc_106"},
   1051      {{al, r0, pc, 201}, false, al, "al r0 pc 201", "al_r0_pc_201"},
   1052      {{al, r4, pc, 7}, false, al, "al r4 pc 7", "al_r4_pc_7"},
   1053      {{al, r1, pc, 197}, false, al, "al r1 pc 197", "al_r1_pc_197"},
   1054      {{al, r4, pc, 204}, false, al, "al r4 pc 204", "al_r4_pc_204"},
   1055      {{al, r7, pc, 64}, false, al, "al r7 pc 64", "al_r7_pc_64"},
   1056      {{al, r3, pc, 20}, false, al, "al r3 pc 20", "al_r3_pc_20"},
   1057      {{al, r6, pc, 12}, false, al, "al r6 pc 12", "al_r6_pc_12"},
   1058      {{al, r1, pc, 193}, false, al, "al r1 pc 193", "al_r1_pc_193"},
   1059      {{al, r6, pc, 156}, false, al, "al r6 pc 156", "al_r6_pc_156"},
   1060      {{al, r7, pc, 166}, false, al, "al r7 pc 166", "al_r7_pc_166"},
   1061      {{al, r5, pc, 154}, false, al, "al r5 pc 154", "al_r5_pc_154"},
   1062      {{al, r3, pc, 144}, false, al, "al r3 pc 144", "al_r3_pc_144"},
   1063      {{al, r0, pc, 21}, false, al, "al r0 pc 21", "al_r0_pc_21"},
   1064      {{al, r0, pc, 128}, false, al, "al r0 pc 128", "al_r0_pc_128"},
   1065      {{al, r6, pc, 163}, false, al, "al r6 pc 163", "al_r6_pc_163"},
   1066      {{al, r2, pc, 216}, false, al, "al r2 pc 216", "al_r2_pc_216"},
   1067      {{al, r3, pc, 122}, false, al, "al r3 pc 122", "al_r3_pc_122"},
   1068      {{al, r5, pc, 81}, false, al, "al r5 pc 81", "al_r5_pc_81"},
   1069      {{al, r4, pc, 31}, false, al, "al r4 pc 31", "al_r4_pc_31"},
   1070      {{al, r1, pc, 2}, false, al, "al r1 pc 2", "al_r1_pc_2"},
   1071      {{al, r6, pc, 111}, false, al, "al r6 pc 111", "al_r6_pc_111"},
   1072      {{al, r3, pc, 247}, false, al, "al r3 pc 247", "al_r3_pc_247"},
   1073      {{al, r1, pc, 62}, false, al, "al r1 pc 62", "al_r1_pc_62"},
   1074      {{al, r2, pc, 82}, false, al, "al r2 pc 82", "al_r2_pc_82"},
   1075      {{al, r4, pc, 43}, false, al, "al r4 pc 43", "al_r4_pc_43"},
   1076      {{al, r1, pc, 25}, false, al, "al r1 pc 25", "al_r1_pc_25"},
   1077      {{al, r0, pc, 35}, false, al, "al r0 pc 35", "al_r0_pc_35"},
   1078      {{al, r3, pc, 204}, false, al, "al r3 pc 204", "al_r3_pc_204"},
   1079      {{al, r5, pc, 0}, false, al, "al r5 pc 0", "al_r5_pc_0"},
   1080      {{al, r0, pc, 100}, false, al, "al r0 pc 100", "al_r0_pc_100"},
   1081      {{al, r5, pc, 140}, false, al, "al r5 pc 140", "al_r5_pc_140"},
   1082      {{al, r0, pc, 252}, false, al, "al r0 pc 252", "al_r0_pc_252"},
   1083      {{al, r5, pc, 117}, false, al, "al r5 pc 117", "al_r5_pc_117"},
   1084      {{al, r2, pc, 131}, false, al, "al r2 pc 131", "al_r2_pc_131"},
   1085      {{al, r1, pc, 99}, false, al, "al r1 pc 99", "al_r1_pc_99"},
   1086      {{al, r0, pc, 189}, false, al, "al r0 pc 189", "al_r0_pc_189"},
   1087      {{al, r1, pc, 18}, false, al, "al r1 pc 18", "al_r1_pc_18"},
   1088      {{al, r7, pc, 205}, false, al, "al r7 pc 205", "al_r7_pc_205"},
   1089      {{al, r0, pc, 213}, false, al, "al r0 pc 213", "al_r0_pc_213"},
   1090      {{al, r5, pc, 249}, false, al, "al r5 pc 249", "al_r5_pc_249"},
   1091      {{al, r3, pc, 57}, false, al, "al r3 pc 57", "al_r3_pc_57"},
   1092      {{al, r2, pc, 38}, false, al, "al r2 pc 38", "al_r2_pc_38"},
   1093      {{al, r6, pc, 106}, false, al, "al r6 pc 106", "al_r6_pc_106"},
   1094      {{al, r5, pc, 224}, false, al, "al r5 pc 224", "al_r5_pc_224"}};
   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-rd-pc-operand-imm8-add-t32.h"
   1099 
   1100 
   1101 // The maximum number of errors to report in detail for each test.
   1102 const unsigned kErrorReportLimit = 8;
   1103 
   1104 typedef void (MacroAssembler::*Fn)(Condition cond,
   1105                                    Register rd,
   1106                                    Register rn,
   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     Register rn = kTests[i].operands.rn;
   1122     int32_t immediate = kTests[i].operands.immediate;
   1123     Operand op(immediate);
   1124 
   1125     int32_t start = masm.GetCursorOffset();
   1126     {
   1127       // We never generate more that 4 bytes, as IT instructions are only
   1128       // allowed for narrow encodings.
   1129       ExactAssemblyScope scope(&masm, 4, ExactAssemblyScope::kMaximumSize);
   1130       if (kTests[i].in_it_block) {
   1131         masm.it(kTests[i].it_condition);
   1132       }
   1133       (masm.*instruction)(cond, rd, rn, op);
   1134     }
   1135     int32_t end = masm.GetCursorOffset();
   1136 
   1137     const byte* result_ptr =
   1138         masm.GetBuffer()->GetOffsetAddress<const byte*>(start);
   1139     VIXL_ASSERT(start < end);
   1140     uint32_t result_size = end - start;
   1141 
   1142     if (Test::generate_test_trace()) {
   1143       // Print the result bytes.
   1144       printf("const byte kInstruction_%s_%s[] = {\n",
   1145              mnemonic,
   1146              kTests[i].identifier);
   1147       for (uint32_t j = 0; j < result_size; j++) {
   1148         if (j == 0) {
   1149           printf("  0x%02" PRIx8, result_ptr[j]);
   1150         } else {
   1151           printf(", 0x%02" PRIx8, result_ptr[j]);
   1152         }
   1153       }
   1154       // This comment is meant to be used by external tools to validate
   1155       // the encoding. We can parse the comment to figure out what
   1156       // instruction this corresponds to.
   1157       if (kTests[i].in_it_block) {
   1158         printf(" // It %s; %s %s\n};\n",
   1159                kTests[i].it_condition.GetName(),
   1160                mnemonic,
   1161                kTests[i].operands_description);
   1162       } else {
   1163         printf(" // %s %s\n};\n", mnemonic, kTests[i].operands_description);
   1164       }
   1165     } else {
   1166       // Check we've emitted the exact same encoding as present in the
   1167       // trace file. Only print up to `kErrorReportLimit` errors.
   1168       if (((result_size != reference[i].size) ||
   1169            (memcmp(result_ptr, reference[i].encoding, reference[i].size) !=
   1170             0)) &&
   1171           (++total_error_count <= kErrorReportLimit)) {
   1172         printf("Error when testing \"%s\" with operands \"%s\":\n",
   1173                mnemonic,
   1174                kTests[i].operands_description);
   1175         printf("  Expected: ");
   1176         for (uint32_t j = 0; j < reference[i].size; j++) {
   1177           if (j == 0) {
   1178             printf("0x%02" PRIx8, reference[i].encoding[j]);
   1179           } else {
   1180             printf(", 0x%02" PRIx8, reference[i].encoding[j]);
   1181           }
   1182         }
   1183         printf("\n");
   1184         printf("  Found:    ");
   1185         for (uint32_t j = 0; j < result_size; j++) {
   1186           if (j == 0) {
   1187             printf("0x%02" PRIx8, result_ptr[j]);
   1188           } else {
   1189             printf(", 0x%02" PRIx8, result_ptr[j]);
   1190           }
   1191         }
   1192         printf("\n");
   1193       }
   1194     }
   1195   }
   1196 
   1197   masm.FinalizeCode();
   1198 
   1199   if (Test::generate_test_trace()) {
   1200     // Finalize the trace file by writing the final `TestResult` array
   1201     // which links all generated instruction encodings.
   1202     printf("const TestResult kReference%s[] = {\n", mnemonic);
   1203     for (unsigned i = 0; i < ARRAY_SIZE(kTests); i++) {
   1204       printf("  {\n");
   1205       printf("    ARRAY_SIZE(kInstruction_%s_%s),\n",
   1206              mnemonic,
   1207              kTests[i].identifier);
   1208       printf("    kInstruction_%s_%s,\n", mnemonic, kTests[i].identifier);
   1209       printf("  },\n");
   1210     }
   1211     printf("};\n");
   1212   } else {
   1213     if (total_error_count > kErrorReportLimit) {
   1214       printf("%u other errors follow.\n",
   1215              total_error_count - kErrorReportLimit);
   1216     }
   1217     // Crash if the test failed.
   1218     VIXL_CHECK(total_error_count == 0);
   1219   }
   1220 }
   1221 
   1222 // Instantiate tests for each instruction in the list.
   1223 #define TEST(mnemonic)                                                        \
   1224   void Test_##mnemonic() {                                                    \
   1225     TestHelper(&MacroAssembler::mnemonic, #mnemonic, kReference##mnemonic);   \
   1226   }                                                                           \
   1227   Test test_##mnemonic("AARCH32_ASSEMBLER_COND_RD_PC_OPERAND_IMM8_" #mnemonic \
   1228                        "_T32",                                                \
   1229                        &Test_##mnemonic);
   1230 FOREACH_INSTRUCTION(TEST)
   1231 #undef TEST
   1232 
   1233 }  // namespace
   1234 #endif
   1235 
   1236 }  // namespace aarch32
   1237 }  // namespace vixl
   1238