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