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(sxtb) \ 53 M(sxtb16) \ 54 M(sxth) \ 55 M(uxtb) \ 56 M(uxtb16) \ 57 M(uxth) 58 59 60 // The following definitions are defined again in each generated test, therefore 61 // we need to place them in an anomymous namespace. It expresses that they are 62 // local to this file only, and the compiler is not allowed to share these types 63 // across test files during template instantiation. Specifically, `Operands` has 64 // various layouts across generated tests so it absolutely cannot be shared. 65 66 #ifdef VIXL_INCLUDE_TARGET_A32 67 namespace { 68 69 // Values to be passed to the assembler to produce the instruction under test. 70 struct Operands { 71 Condition cond; 72 Register rd; 73 Register rn; 74 ShiftType ror; 75 uint32_t amount; 76 }; 77 78 // This structure contains all data needed to test one specific 79 // instruction. 80 struct TestData { 81 // The `operands` field represents what to pass to the assembler to 82 // produce the instruction. 83 Operands operands; 84 // True if we need to generate an IT instruction for this test to be valid. 85 bool in_it_block; 86 // The condition to give the IT instruction, this will be set to "al" by 87 // default. 88 Condition it_condition; 89 // Description of the operands, used for error reporting. 90 const char* operands_description; 91 // Unique identifier, used for generating traces. 92 const char* identifier; 93 }; 94 95 struct TestResult { 96 size_t size; 97 const byte* encoding; 98 }; 99 100 // Each element of this array produce one instruction encoding. 101 const TestData kTests[] = { 102 {{vc, r2, r5, ROR, 0}, false, al, "vc r2 r5 ROR 0", "vc_r2_r5_ROR_0"}, 103 {{eq, r5, r7, ROR, 0}, false, al, "eq r5 r7 ROR 0", "eq_r5_r7_ROR_0"}, 104 {{ge, r3, r2, ROR, 8}, false, al, "ge r3 r2 ROR 8", "ge_r3_r2_ROR_8"}, 105 {{cc, r11, r3, ROR, 16}, false, al, "cc r11 r3 ROR 16", "cc_r11_r3_ROR_16"}, 106 {{cs, r13, r6, ROR, 0}, false, al, "cs r13 r6 ROR 0", "cs_r13_r6_ROR_0"}, 107 {{al, r6, r7, ROR, 16}, false, al, "al r6 r7 ROR 16", "al_r6_r7_ROR_16"}, 108 {{le, r12, r12, ROR, 0}, false, al, "le r12 r12 ROR 0", "le_r12_r12_ROR_0"}, 109 {{mi, r4, r5, ROR, 16}, false, al, "mi r4 r5 ROR 16", "mi_r4_r5_ROR_16"}, 110 {{pl, r9, r2, ROR, 16}, false, al, "pl r9 r2 ROR 16", "pl_r9_r2_ROR_16"}, 111 {{vs, r5, r11, ROR, 8}, false, al, "vs r5 r11 ROR 8", "vs_r5_r11_ROR_8"}, 112 {{vs, r0, r3, ROR, 0}, false, al, "vs r0 r3 ROR 0", "vs_r0_r3_ROR_0"}, 113 {{vs, r5, r4, ROR, 24}, false, al, "vs r5 r4 ROR 24", "vs_r5_r4_ROR_24"}, 114 {{le, r14, r12, ROR, 24}, 115 false, 116 al, 117 "le r14 r12 ROR 24", 118 "le_r14_r12_ROR_24"}, 119 {{ne, r6, r12, ROR, 16}, false, al, "ne r6 r12 ROR 16", "ne_r6_r12_ROR_16"}, 120 {{cs, r0, r9, ROR, 16}, false, al, "cs r0 r9 ROR 16", "cs_r0_r9_ROR_16"}, 121 {{ne, r12, r2, ROR, 0}, false, al, "ne r12 r2 ROR 0", "ne_r12_r2_ROR_0"}, 122 {{cc, r9, r6, ROR, 8}, false, al, "cc r9 r6 ROR 8", "cc_r9_r6_ROR_8"}, 123 {{pl, r7, r14, ROR, 8}, false, al, "pl r7 r14 ROR 8", "pl_r7_r14_ROR_8"}, 124 {{vs, r0, r1, ROR, 24}, false, al, "vs r0 r1 ROR 24", "vs_r0_r1_ROR_24"}, 125 {{ls, r8, r6, ROR, 24}, false, al, "ls r8 r6 ROR 24", "ls_r8_r6_ROR_24"}, 126 {{cs, r13, r14, ROR, 0}, false, al, "cs r13 r14 ROR 0", "cs_r13_r14_ROR_0"}, 127 {{al, r11, r7, ROR, 8}, false, al, "al r11 r7 ROR 8", "al_r11_r7_ROR_8"}, 128 {{ne, r12, r11, ROR, 0}, false, al, "ne r12 r11 ROR 0", "ne_r12_r11_ROR_0"}, 129 {{cc, r0, r5, ROR, 24}, false, al, "cc r0 r5 ROR 24", "cc_r0_r5_ROR_24"}, 130 {{vc, r12, r0, ROR, 0}, false, al, "vc r12 r0 ROR 0", "vc_r12_r0_ROR_0"}, 131 {{al, r7, r7, ROR, 0}, false, al, "al r7 r7 ROR 0", "al_r7_r7_ROR_0"}, 132 {{ne, r3, r11, ROR, 0}, false, al, "ne r3 r11 ROR 0", "ne_r3_r11_ROR_0"}, 133 {{ge, r5, r10, ROR, 16}, false, al, "ge r5 r10 ROR 16", "ge_r5_r10_ROR_16"}, 134 {{cc, r14, r9, ROR, 8}, false, al, "cc r14 r9 ROR 8", "cc_r14_r9_ROR_8"}, 135 {{cc, r0, r3, ROR, 0}, false, al, "cc r0 r3 ROR 0", "cc_r0_r3_ROR_0"}, 136 {{le, r14, r2, ROR, 16}, false, al, "le r14 r2 ROR 16", "le_r14_r2_ROR_16"}, 137 {{vs, r5, r14, ROR, 24}, false, al, "vs r5 r14 ROR 24", "vs_r5_r14_ROR_24"}, 138 {{pl, r1, r2, ROR, 16}, false, al, "pl r1 r2 ROR 16", "pl_r1_r2_ROR_16"}, 139 {{lt, r4, r4, ROR, 0}, false, al, "lt r4 r4 ROR 0", "lt_r4_r4_ROR_0"}, 140 {{vs, r2, r12, ROR, 0}, false, al, "vs r2 r12 ROR 0", "vs_r2_r12_ROR_0"}, 141 {{cc, r9, r10, ROR, 8}, false, al, "cc r9 r10 ROR 8", "cc_r9_r10_ROR_8"}, 142 {{ge, r5, r13, ROR, 0}, false, al, "ge r5 r13 ROR 0", "ge_r5_r13_ROR_0"}, 143 {{hi, r12, r10, ROR, 8}, false, al, "hi r12 r10 ROR 8", "hi_r12_r10_ROR_8"}, 144 {{cs, r13, r14, ROR, 8}, false, al, "cs r13 r14 ROR 8", "cs_r13_r14_ROR_8"}, 145 {{cc, r10, r10, ROR, 0}, false, al, "cc r10 r10 ROR 0", "cc_r10_r10_ROR_0"}, 146 {{gt, r4, r6, ROR, 16}, false, al, "gt r4 r6 ROR 16", "gt_r4_r6_ROR_16"}, 147 {{al, r13, r5, ROR, 16}, false, al, "al r13 r5 ROR 16", "al_r13_r5_ROR_16"}, 148 {{pl, r4, r8, ROR, 0}, false, al, "pl r4 r8 ROR 0", "pl_r4_r8_ROR_0"}, 149 {{gt, r11, r13, ROR, 24}, 150 false, 151 al, 152 "gt r11 r13 ROR 24", 153 "gt_r11_r13_ROR_24"}, 154 {{cs, r10, r14, ROR, 0}, false, al, "cs r10 r14 ROR 0", "cs_r10_r14_ROR_0"}, 155 {{ne, r3, r14, ROR, 8}, false, al, "ne r3 r14 ROR 8", "ne_r3_r14_ROR_8"}, 156 {{vc, r10, r5, ROR, 8}, false, al, "vc r10 r5 ROR 8", "vc_r10_r5_ROR_8"}, 157 {{lt, r0, r1, ROR, 0}, false, al, "lt r0 r1 ROR 0", "lt_r0_r1_ROR_0"}, 158 {{le, r10, r10, ROR, 16}, 159 false, 160 al, 161 "le r10 r10 ROR 16", 162 "le_r10_r10_ROR_16"}, 163 {{eq, r10, r5, ROR, 24}, false, al, "eq r10 r5 ROR 24", "eq_r10_r5_ROR_24"}, 164 {{gt, r7, r5, ROR, 16}, false, al, "gt r7 r5 ROR 16", "gt_r7_r5_ROR_16"}, 165 {{ne, r1, r14, ROR, 24}, false, al, "ne r1 r14 ROR 24", "ne_r1_r14_ROR_24"}, 166 {{cc, r8, r13, ROR, 0}, false, al, "cc r8 r13 ROR 0", "cc_r8_r13_ROR_0"}, 167 {{lt, r3, r14, ROR, 0}, false, al, "lt r3 r14 ROR 0", "lt_r3_r14_ROR_0"}, 168 {{ne, r3, r5, ROR, 24}, false, al, "ne r3 r5 ROR 24", "ne_r3_r5_ROR_24"}, 169 {{ls, r1, r1, ROR, 8}, false, al, "ls r1 r1 ROR 8", "ls_r1_r1_ROR_8"}, 170 {{mi, r5, r8, ROR, 0}, false, al, "mi r5 r8 ROR 0", "mi_r5_r8_ROR_0"}, 171 {{pl, r3, r2, ROR, 0}, false, al, "pl r3 r2 ROR 0", "pl_r3_r2_ROR_0"}, 172 {{lt, r6, r5, ROR, 24}, false, al, "lt r6 r5 ROR 24", "lt_r6_r5_ROR_24"}, 173 {{ne, r6, r10, ROR, 0}, false, al, "ne r6 r10 ROR 0", "ne_r6_r10_ROR_0"}, 174 {{ls, r11, r5, ROR, 24}, false, al, "ls r11 r5 ROR 24", "ls_r11_r5_ROR_24"}, 175 {{gt, r12, r2, ROR, 24}, false, al, "gt r12 r2 ROR 24", "gt_r12_r2_ROR_24"}, 176 {{vc, r11, r2, ROR, 8}, false, al, "vc r11 r2 ROR 8", "vc_r11_r2_ROR_8"}, 177 {{vc, r9, r14, ROR, 0}, false, al, "vc r9 r14 ROR 0", "vc_r9_r14_ROR_0"}, 178 {{le, r1, r1, ROR, 0}, false, al, "le r1 r1 ROR 0", "le_r1_r1_ROR_0"}, 179 {{lt, r13, r6, ROR, 24}, false, al, "lt r13 r6 ROR 24", "lt_r13_r6_ROR_24"}, 180 {{cs, r6, r11, ROR, 8}, false, al, "cs r6 r11 ROR 8", "cs_r6_r11_ROR_8"}, 181 {{ge, r13, r0, ROR, 16}, false, al, "ge r13 r0 ROR 16", "ge_r13_r0_ROR_16"}, 182 {{gt, r9, r5, ROR, 16}, false, al, "gt r9 r5 ROR 16", "gt_r9_r5_ROR_16"}, 183 {{al, r9, r0, ROR, 0}, false, al, "al r9 r0 ROR 0", "al_r9_r0_ROR_0"}, 184 {{hi, r12, r12, ROR, 16}, 185 false, 186 al, 187 "hi r12 r12 ROR 16", 188 "hi_r12_r12_ROR_16"}, 189 {{al, r9, r1, ROR, 24}, false, al, "al r9 r1 ROR 24", "al_r9_r1_ROR_24"}, 190 {{pl, r13, r3, ROR, 8}, false, al, "pl r13 r3 ROR 8", "pl_r13_r3_ROR_8"}, 191 {{eq, r10, r2, ROR, 24}, false, al, "eq r10 r2 ROR 24", "eq_r10_r2_ROR_24"}, 192 {{cc, r4, r11, ROR, 16}, false, al, "cc r4 r11 ROR 16", "cc_r4_r11_ROR_16"}, 193 {{vs, r4, r4, ROR, 8}, false, al, "vs r4 r4 ROR 8", "vs_r4_r4_ROR_8"}, 194 {{cs, r9, r0, ROR, 16}, false, al, "cs r9 r0 ROR 16", "cs_r9_r0_ROR_16"}, 195 {{hi, r1, r2, ROR, 8}, false, al, "hi r1 r2 ROR 8", "hi_r1_r2_ROR_8"}, 196 {{vs, r4, r6, ROR, 16}, false, al, "vs r4 r6 ROR 16", "vs_r4_r6_ROR_16"}, 197 {{hi, r2, r12, ROR, 16}, false, al, "hi r2 r12 ROR 16", "hi_r2_r12_ROR_16"}, 198 {{vs, r14, r4, ROR, 24}, false, al, "vs r14 r4 ROR 24", "vs_r14_r4_ROR_24"}, 199 {{pl, r0, r6, ROR, 24}, false, al, "pl r0 r6 ROR 24", "pl_r0_r6_ROR_24"}, 200 {{vs, r3, r6, ROR, 0}, false, al, "vs r3 r6 ROR 0", "vs_r3_r6_ROR_0"}, 201 {{eq, r14, r13, ROR, 0}, false, al, "eq r14 r13 ROR 0", "eq_r14_r13_ROR_0"}, 202 {{ge, r1, r12, ROR, 8}, false, al, "ge r1 r12 ROR 8", "ge_r1_r12_ROR_8"}, 203 {{gt, r12, r6, ROR, 24}, false, al, "gt r12 r6 ROR 24", "gt_r12_r6_ROR_24"}, 204 {{al, r12, r8, ROR, 24}, false, al, "al r12 r8 ROR 24", "al_r12_r8_ROR_24"}, 205 {{mi, r8, r10, ROR, 0}, false, al, "mi r8 r10 ROR 0", "mi_r8_r10_ROR_0"}, 206 {{gt, r0, r4, ROR, 0}, false, al, "gt r0 r4 ROR 0", "gt_r0_r4_ROR_0"}, 207 {{vs, r1, r11, ROR, 8}, false, al, "vs r1 r11 ROR 8", "vs_r1_r11_ROR_8"}, 208 {{cc, r7, r3, ROR, 8}, false, al, "cc r7 r3 ROR 8", "cc_r7_r3_ROR_8"}, 209 {{eq, r14, r6, ROR, 0}, false, al, "eq r14 r6 ROR 0", "eq_r14_r6_ROR_0"}, 210 {{le, r3, r7, ROR, 16}, false, al, "le r3 r7 ROR 16", "le_r3_r7_ROR_16"}, 211 {{eq, r13, r13, ROR, 24}, 212 false, 213 al, 214 "eq r13 r13 ROR 24", 215 "eq_r13_r13_ROR_24"}, 216 {{le, r13, r12, ROR, 8}, false, al, "le r13 r12 ROR 8", "le_r13_r12_ROR_8"}, 217 {{eq, r11, r10, ROR, 24}, 218 false, 219 al, 220 "eq r11 r10 ROR 24", 221 "eq_r11_r10_ROR_24"}, 222 {{le, r3, r3, ROR, 0}, false, al, "le r3 r3 ROR 0", "le_r3_r3_ROR_0"}, 223 {{hi, r7, r1, ROR, 0}, false, al, "hi r7 r1 ROR 0", "hi_r7_r1_ROR_0"}, 224 {{lt, r5, r5, ROR, 24}, false, al, "lt r5 r5 ROR 24", "lt_r5_r5_ROR_24"}, 225 {{hi, r11, r3, ROR, 0}, false, al, "hi r11 r3 ROR 0", "hi_r11_r3_ROR_0"}, 226 {{vs, r2, r10, ROR, 0}, false, al, "vs r2 r10 ROR 0", "vs_r2_r10_ROR_0"}, 227 {{vc, r7, r6, ROR, 0}, false, al, "vc r7 r6 ROR 0", "vc_r7_r6_ROR_0"}, 228 {{cs, r14, r7, ROR, 8}, false, al, "cs r14 r7 ROR 8", "cs_r14_r7_ROR_8"}, 229 {{ge, r4, r11, ROR, 16}, false, al, "ge r4 r11 ROR 16", "ge_r4_r11_ROR_16"}, 230 {{mi, r5, r3, ROR, 16}, false, al, "mi r5 r3 ROR 16", "mi_r5_r3_ROR_16"}, 231 {{al, r4, r11, ROR, 8}, false, al, "al r4 r11 ROR 8", "al_r4_r11_ROR_8"}, 232 {{vs, r14, r10, ROR, 16}, 233 false, 234 al, 235 "vs r14 r10 ROR 16", 236 "vs_r14_r10_ROR_16"}, 237 {{cc, r9, r5, ROR, 8}, false, al, "cc r9 r5 ROR 8", "cc_r9_r5_ROR_8"}, 238 {{vs, r4, r12, ROR, 24}, false, al, "vs r4 r12 ROR 24", "vs_r4_r12_ROR_24"}, 239 {{hi, r13, r9, ROR, 24}, false, al, "hi r13 r9 ROR 24", "hi_r13_r9_ROR_24"}, 240 {{cc, r5, r4, ROR, 0}, false, al, "cc r5 r4 ROR 0", "cc_r5_r4_ROR_0"}, 241 {{mi, r2, r0, ROR, 16}, false, al, "mi r2 r0 ROR 16", "mi_r2_r0_ROR_16"}, 242 {{hi, r14, r14, ROR, 8}, false, al, "hi r14 r14 ROR 8", "hi_r14_r14_ROR_8"}, 243 {{eq, r2, r9, ROR, 24}, false, al, "eq r2 r9 ROR 24", "eq_r2_r9_ROR_24"}, 244 {{mi, r14, r13, ROR, 24}, 245 false, 246 al, 247 "mi r14 r13 ROR 24", 248 "mi_r14_r13_ROR_24"}, 249 {{ne, r13, r4, ROR, 8}, false, al, "ne r13 r4 ROR 8", "ne_r13_r4_ROR_8"}, 250 {{pl, r9, r8, ROR, 24}, false, al, "pl r9 r8 ROR 24", "pl_r9_r8_ROR_24"}, 251 {{hi, r4, r9, ROR, 8}, false, al, "hi r4 r9 ROR 8", "hi_r4_r9_ROR_8"}, 252 {{mi, r9, r6, ROR, 0}, false, al, "mi r9 r6 ROR 0", "mi_r9_r6_ROR_0"}, 253 {{ge, r8, r12, ROR, 8}, false, al, "ge r8 r12 ROR 8", "ge_r8_r12_ROR_8"}, 254 {{pl, r1, r1, ROR, 16}, false, al, "pl r1 r1 ROR 16", "pl_r1_r1_ROR_16"}, 255 {{mi, r8, r0, ROR, 16}, false, al, "mi r8 r0 ROR 16", "mi_r8_r0_ROR_16"}, 256 {{le, r0, r4, ROR, 16}, false, al, "le r0 r4 ROR 16", "le_r0_r4_ROR_16"}, 257 {{mi, r10, r2, ROR, 16}, false, al, "mi r10 r2 ROR 16", "mi_r10_r2_ROR_16"}, 258 {{ne, r11, r12, ROR, 0}, false, al, "ne r11 r12 ROR 0", "ne_r11_r12_ROR_0"}, 259 {{lt, r12, r11, ROR, 24}, 260 false, 261 al, 262 "lt r12 r11 ROR 24", 263 "lt_r12_r11_ROR_24"}, 264 {{ne, r0, r10, ROR, 0}, false, al, "ne r0 r10 ROR 0", "ne_r0_r10_ROR_0"}, 265 {{ls, r2, r14, ROR, 8}, false, al, "ls r2 r14 ROR 8", "ls_r2_r14_ROR_8"}, 266 {{al, r2, r1, ROR, 8}, false, al, "al r2 r1 ROR 8", "al_r2_r1_ROR_8"}, 267 {{pl, r12, r5, ROR, 0}, false, al, "pl r12 r5 ROR 0", "pl_r12_r5_ROR_0"}, 268 {{le, r1, r14, ROR, 8}, false, al, "le r1 r14 ROR 8", "le_r1_r14_ROR_8"}, 269 {{pl, r0, r14, ROR, 0}, false, al, "pl r0 r14 ROR 0", "pl_r0_r14_ROR_0"}, 270 {{eq, r2, r1, ROR, 0}, false, al, "eq r2 r1 ROR 0", "eq_r2_r1_ROR_0"}, 271 {{al, r0, r14, ROR, 16}, false, al, "al r0 r14 ROR 16", "al_r0_r14_ROR_16"}, 272 {{eq, r1, r8, ROR, 0}, false, al, "eq r1 r8 ROR 0", "eq_r1_r8_ROR_0"}, 273 {{mi, r13, r0, ROR, 8}, false, al, "mi r13 r0 ROR 8", "mi_r13_r0_ROR_8"}, 274 {{mi, r6, r13, ROR, 0}, false, al, "mi r6 r13 ROR 0", "mi_r6_r13_ROR_0"}, 275 {{vs, r0, r7, ROR, 8}, false, al, "vs r0 r7 ROR 8", "vs_r0_r7_ROR_8"}, 276 {{ge, r11, r6, ROR, 24}, false, al, "ge r11 r6 ROR 24", "ge_r11_r6_ROR_24"}, 277 {{lt, r14, r14, ROR, 16}, 278 false, 279 al, 280 "lt r14 r14 ROR 16", 281 "lt_r14_r14_ROR_16"}, 282 {{hi, r11, r6, ROR, 16}, false, al, "hi r11 r6 ROR 16", "hi_r11_r6_ROR_16"}, 283 {{cc, r2, r12, ROR, 24}, false, al, "cc r2 r12 ROR 24", "cc_r2_r12_ROR_24"}, 284 {{lt, r0, r6, ROR, 8}, false, al, "lt r0 r6 ROR 8", "lt_r0_r6_ROR_8"}, 285 {{cs, r6, r10, ROR, 24}, false, al, "cs r6 r10 ROR 24", "cs_r6_r10_ROR_24"}, 286 {{mi, r12, r13, ROR, 8}, false, al, "mi r12 r13 ROR 8", "mi_r12_r13_ROR_8"}, 287 {{cs, r4, r6, ROR, 16}, false, al, "cs r4 r6 ROR 16", "cs_r4_r6_ROR_16"}, 288 {{gt, r8, r2, ROR, 0}, false, al, "gt r8 r2 ROR 0", "gt_r8_r2_ROR_0"}, 289 {{mi, r4, r14, ROR, 8}, false, al, "mi r4 r14 ROR 8", "mi_r4_r14_ROR_8"}, 290 {{ne, r1, r5, ROR, 0}, false, al, "ne r1 r5 ROR 0", "ne_r1_r5_ROR_0"}, 291 {{hi, r11, r6, ROR, 8}, false, al, "hi r11 r6 ROR 8", "hi_r11_r6_ROR_8"}, 292 {{pl, r1, r8, ROR, 16}, false, al, "pl r1 r8 ROR 16", "pl_r1_r8_ROR_16"}, 293 {{cc, r2, r3, ROR, 8}, false, al, "cc r2 r3 ROR 8", "cc_r2_r3_ROR_8"}, 294 {{ne, r14, r5, ROR, 16}, false, al, "ne r14 r5 ROR 16", "ne_r14_r5_ROR_16"}, 295 {{hi, r8, r2, ROR, 0}, false, al, "hi r8 r2 ROR 0", "hi_r8_r2_ROR_0"}, 296 {{eq, r12, r9, ROR, 8}, false, al, "eq r12 r9 ROR 8", "eq_r12_r9_ROR_8"}, 297 {{cs, r3, r0, ROR, 0}, false, al, "cs r3 r0 ROR 0", "cs_r3_r0_ROR_0"}, 298 {{ne, r2, r6, ROR, 16}, false, al, "ne r2 r6 ROR 16", "ne_r2_r6_ROR_16"}, 299 {{eq, r1, r13, ROR, 8}, false, al, "eq r1 r13 ROR 8", "eq_r1_r13_ROR_8"}, 300 {{vc, r6, r0, ROR, 8}, false, al, "vc r6 r0 ROR 8", "vc_r6_r0_ROR_8"}, 301 {{pl, r9, r3, ROR, 16}, false, al, "pl r9 r3 ROR 16", "pl_r9_r3_ROR_16"}, 302 {{al, r1, r14, ROR, 0}, false, al, "al r1 r14 ROR 0", "al_r1_r14_ROR_0"}, 303 {{ls, r4, r8, ROR, 0}, false, al, "ls r4 r8 ROR 0", "ls_r4_r8_ROR_0"}, 304 {{ge, r10, r7, ROR, 16}, false, al, "ge r10 r7 ROR 16", "ge_r10_r7_ROR_16"}, 305 {{ls, r1, r8, ROR, 16}, false, al, "ls r1 r8 ROR 16", "ls_r1_r8_ROR_16"}, 306 {{cs, r12, r13, ROR, 24}, 307 false, 308 al, 309 "cs r12 r13 ROR 24", 310 "cs_r12_r13_ROR_24"}, 311 {{le, r8, r10, ROR, 8}, false, al, "le r8 r10 ROR 8", "le_r8_r10_ROR_8"}, 312 {{eq, r3, r3, ROR, 16}, false, al, "eq r3 r3 ROR 16", "eq_r3_r3_ROR_16"}, 313 {{ge, r13, r11, ROR, 16}, 314 false, 315 al, 316 "ge r13 r11 ROR 16", 317 "ge_r13_r11_ROR_16"}, 318 {{hi, r4, r11, ROR, 0}, false, al, "hi r4 r11 ROR 0", "hi_r4_r11_ROR_0"}, 319 {{mi, r4, r9, ROR, 8}, false, al, "mi r4 r9 ROR 8", "mi_r4_r9_ROR_8"}, 320 {{eq, r4, r10, ROR, 16}, false, al, "eq r4 r10 ROR 16", "eq_r4_r10_ROR_16"}, 321 {{mi, r9, r11, ROR, 8}, false, al, "mi r9 r11 ROR 8", "mi_r9_r11_ROR_8"}, 322 {{vc, r5, r5, ROR, 24}, false, al, "vc r5 r5 ROR 24", "vc_r5_r5_ROR_24"}, 323 {{hi, r13, r8, ROR, 16}, false, al, "hi r13 r8 ROR 16", "hi_r13_r8_ROR_16"}, 324 {{pl, r2, r10, ROR, 0}, false, al, "pl r2 r10 ROR 0", "pl_r2_r10_ROR_0"}, 325 {{le, r0, r6, ROR, 24}, false, al, "le r0 r6 ROR 24", "le_r0_r6_ROR_24"}, 326 {{ls, r11, r6, ROR, 16}, false, al, "ls r11 r6 ROR 16", "ls_r11_r6_ROR_16"}, 327 {{eq, r7, r3, ROR, 0}, false, al, "eq r7 r3 ROR 0", "eq_r7_r3_ROR_0"}, 328 {{cs, r13, r1, ROR, 24}, false, al, "cs r13 r1 ROR 24", "cs_r13_r1_ROR_24"}, 329 {{gt, r7, r11, ROR, 8}, false, al, "gt r7 r11 ROR 8", "gt_r7_r11_ROR_8"}, 330 {{le, r5, r11, ROR, 0}, false, al, "le r5 r11 ROR 0", "le_r5_r11_ROR_0"}, 331 {{ne, r11, r4, ROR, 24}, false, al, "ne r11 r4 ROR 24", "ne_r11_r4_ROR_24"}, 332 {{cs, r3, r5, ROR, 16}, false, al, "cs r3 r5 ROR 16", "cs_r3_r5_ROR_16"}, 333 {{lt, r10, r14, ROR, 0}, false, al, "lt r10 r14 ROR 0", "lt_r10_r14_ROR_0"}, 334 {{ls, r4, r0, ROR, 24}, false, al, "ls r4 r0 ROR 24", "ls_r4_r0_ROR_24"}, 335 {{le, r0, r13, ROR, 24}, false, al, "le r0 r13 ROR 24", "le_r0_r13_ROR_24"}, 336 {{lt, r10, r0, ROR, 0}, false, al, "lt r10 r0 ROR 0", "lt_r10_r0_ROR_0"}, 337 {{cc, r11, r14, ROR, 24}, 338 false, 339 al, 340 "cc r11 r14 ROR 24", 341 "cc_r11_r14_ROR_24"}, 342 {{mi, r4, r14, ROR, 16}, false, al, "mi r4 r14 ROR 16", "mi_r4_r14_ROR_16"}, 343 {{ls, r11, r0, ROR, 0}, false, al, "ls r11 r0 ROR 0", "ls_r11_r0_ROR_0"}, 344 {{ge, r6, r4, ROR, 16}, false, al, "ge r6 r4 ROR 16", "ge_r6_r4_ROR_16"}, 345 {{cc, r8, r6, ROR, 16}, false, al, "cc r8 r6 ROR 16", "cc_r8_r6_ROR_16"}, 346 {{mi, r12, r11, ROR, 8}, false, al, "mi r12 r11 ROR 8", "mi_r12_r11_ROR_8"}, 347 {{lt, r1, r6, ROR, 0}, false, al, "lt r1 r6 ROR 0", "lt_r1_r6_ROR_0"}, 348 {{lt, r4, r12, ROR, 8}, false, al, "lt r4 r12 ROR 8", "lt_r4_r12_ROR_8"}, 349 {{al, r3, r5, ROR, 24}, false, al, "al r3 r5 ROR 24", "al_r3_r5_ROR_24"}, 350 {{le, r4, r12, ROR, 16}, false, al, "le r4 r12 ROR 16", "le_r4_r12_ROR_16"}, 351 {{eq, r9, r8, ROR, 16}, false, al, "eq r9 r8 ROR 16", "eq_r9_r8_ROR_16"}, 352 {{ge, r7, r1, ROR, 0}, false, al, "ge r7 r1 ROR 0", "ge_r7_r1_ROR_0"}, 353 {{vc, r2, r6, ROR, 16}, false, al, "vc r2 r6 ROR 16", "vc_r2_r6_ROR_16"}, 354 {{ne, r9, r4, ROR, 16}, false, al, "ne r9 r4 ROR 16", "ne_r9_r4_ROR_16"}, 355 {{mi, r0, r12, ROR, 24}, false, al, "mi r0 r12 ROR 24", "mi_r0_r12_ROR_24"}, 356 {{vc, r5, r8, ROR, 16}, false, al, "vc r5 r8 ROR 16", "vc_r5_r8_ROR_16"}, 357 {{pl, r1, r13, ROR, 24}, false, al, "pl r1 r13 ROR 24", "pl_r1_r13_ROR_24"}, 358 {{mi, r14, r14, ROR, 8}, false, al, "mi r14 r14 ROR 8", "mi_r14_r14_ROR_8"}, 359 {{eq, r9, r6, ROR, 16}, false, al, "eq r9 r6 ROR 16", "eq_r9_r6_ROR_16"}, 360 {{cc, r6, r0, ROR, 0}, false, al, "cc r6 r0 ROR 0", "cc_r6_r0_ROR_0"}, 361 {{gt, r2, r14, ROR, 8}, false, al, "gt r2 r14 ROR 8", "gt_r2_r14_ROR_8"}, 362 {{vs, r2, r11, ROR, 16}, false, al, "vs r2 r11 ROR 16", "vs_r2_r11_ROR_16"}, 363 {{al, r10, r9, ROR, 0}, false, al, "al r10 r9 ROR 0", "al_r10_r9_ROR_0"}, 364 {{lt, r4, r3, ROR, 16}, false, al, "lt r4 r3 ROR 16", "lt_r4_r3_ROR_16"}, 365 {{hi, r7, r10, ROR, 24}, false, al, "hi r7 r10 ROR 24", "hi_r7_r10_ROR_24"}, 366 {{vs, r14, r11, ROR, 16}, 367 false, 368 al, 369 "vs r14 r11 ROR 16", 370 "vs_r14_r11_ROR_16"}, 371 {{cs, r3, r6, ROR, 24}, false, al, "cs r3 r6 ROR 24", "cs_r3_r6_ROR_24"}, 372 {{eq, r5, r0, ROR, 24}, false, al, "eq r5 r0 ROR 24", "eq_r5_r0_ROR_24"}, 373 {{hi, r3, r5, ROR, 24}, false, al, "hi r3 r5 ROR 24", "hi_r3_r5_ROR_24"}, 374 {{al, r10, r10, ROR, 16}, 375 false, 376 al, 377 "al r10 r10 ROR 16", 378 "al_r10_r10_ROR_16"}, 379 {{le, r7, r14, ROR, 16}, false, al, "le r7 r14 ROR 16", "le_r7_r14_ROR_16"}, 380 {{ne, r7, r2, ROR, 24}, false, al, "ne r7 r2 ROR 24", "ne_r7_r2_ROR_24"}, 381 {{mi, r6, r6, ROR, 24}, false, al, "mi r6 r6 ROR 24", "mi_r6_r6_ROR_24"}, 382 {{gt, r1, r5, ROR, 16}, false, al, "gt r1 r5 ROR 16", "gt_r1_r5_ROR_16"}, 383 {{al, r7, r5, ROR, 8}, false, al, "al r7 r5 ROR 8", "al_r7_r5_ROR_8"}, 384 {{le, r13, r6, ROR, 8}, false, al, "le r13 r6 ROR 8", "le_r13_r6_ROR_8"}, 385 {{cc, r12, r12, ROR, 8}, false, al, "cc r12 r12 ROR 8", "cc_r12_r12_ROR_8"}, 386 {{pl, r1, r12, ROR, 8}, false, al, "pl r1 r12 ROR 8", "pl_r1_r12_ROR_8"}, 387 {{ls, r2, r10, ROR, 16}, false, al, "ls r2 r10 ROR 16", "ls_r2_r10_ROR_16"}, 388 {{le, r4, r12, ROR, 8}, false, al, "le r4 r12 ROR 8", "le_r4_r12_ROR_8"}, 389 {{ne, r2, r0, ROR, 24}, false, al, "ne r2 r0 ROR 24", "ne_r2_r0_ROR_24"}, 390 {{ne, r4, r2, ROR, 8}, false, al, "ne r4 r2 ROR 8", "ne_r4_r2_ROR_8"}, 391 {{mi, r7, r5, ROR, 0}, false, al, "mi r7 r5 ROR 0", "mi_r7_r5_ROR_0"}, 392 {{vs, r5, r12, ROR, 16}, false, al, "vs r5 r12 ROR 16", "vs_r5_r12_ROR_16"}, 393 {{al, r7, r13, ROR, 24}, false, al, "al r7 r13 ROR 24", "al_r7_r13_ROR_24"}, 394 {{cs, r2, r3, ROR, 0}, false, al, "cs r2 r3 ROR 0", "cs_r2_r3_ROR_0"}, 395 {{al, r7, r14, ROR, 0}, false, al, "al r7 r14 ROR 0", "al_r7_r14_ROR_0"}, 396 {{lt, r5, r7, ROR, 16}, false, al, "lt r5 r7 ROR 16", "lt_r5_r7_ROR_16"}, 397 {{al, r7, r5, ROR, 24}, false, al, "al r7 r5 ROR 24", "al_r7_r5_ROR_24"}, 398 {{vs, r2, r3, ROR, 0}, false, al, "vs r2 r3 ROR 0", "vs_r2_r3_ROR_0"}, 399 {{ne, r7, r10, ROR, 8}, false, al, "ne r7 r10 ROR 8", "ne_r7_r10_ROR_8"}, 400 {{eq, r10, r8, ROR, 8}, false, al, "eq r10 r8 ROR 8", "eq_r10_r8_ROR_8"}, 401 {{al, r7, r2, ROR, 0}, false, al, "al r7 r2 ROR 0", "al_r7_r2_ROR_0"}, 402 {{vc, r11, r6, ROR, 24}, false, al, "vc r11 r6 ROR 24", "vc_r11_r6_ROR_24"}, 403 {{eq, r10, r3, ROR, 24}, false, al, "eq r10 r3 ROR 24", "eq_r10_r3_ROR_24"}, 404 {{gt, r14, r11, ROR, 0}, false, al, "gt r14 r11 ROR 0", "gt_r14_r11_ROR_0"}, 405 {{al, r14, r11, ROR, 0}, false, al, "al r14 r11 ROR 0", "al_r14_r11_ROR_0"}, 406 {{pl, r7, r7, ROR, 8}, false, al, "pl r7 r7 ROR 8", "pl_r7_r7_ROR_8"}, 407 {{hi, r7, r8, ROR, 0}, false, al, "hi r7 r8 ROR 0", "hi_r7_r8_ROR_0"}, 408 {{lt, r7, r5, ROR, 16}, false, al, "lt r7 r5 ROR 16", "lt_r7_r5_ROR_16"}, 409 {{eq, r7, r9, ROR, 16}, false, al, "eq r7 r9 ROR 16", "eq_r7_r9_ROR_16"}, 410 {{cs, r1, r12, ROR, 24}, false, al, "cs r1 r12 ROR 24", "cs_r1_r12_ROR_24"}, 411 {{al, r10, r9, ROR, 8}, false, al, "al r10 r9 ROR 8", "al_r10_r9_ROR_8"}, 412 {{ge, r2, r6, ROR, 24}, false, al, "ge r2 r6 ROR 24", "ge_r2_r6_ROR_24"}, 413 {{mi, r5, r12, ROR, 0}, false, al, "mi r5 r12 ROR 0", "mi_r5_r12_ROR_0"}, 414 {{al, r11, r8, ROR, 24}, false, al, "al r11 r8 ROR 24", "al_r11_r8_ROR_24"}, 415 {{mi, r10, r1, ROR, 0}, false, al, "mi r10 r1 ROR 0", "mi_r10_r1_ROR_0"}, 416 {{ls, r11, r7, ROR, 0}, false, al, "ls r11 r7 ROR 0", "ls_r11_r7_ROR_0"}, 417 {{vs, r13, r14, ROR, 8}, false, al, "vs r13 r14 ROR 8", "vs_r13_r14_ROR_8"}, 418 {{gt, r0, r6, ROR, 8}, false, al, "gt r0 r6 ROR 8", "gt_r0_r6_ROR_8"}, 419 {{cs, r3, r4, ROR, 16}, false, al, "cs r3 r4 ROR 16", "cs_r3_r4_ROR_16"}, 420 {{eq, r0, r7, ROR, 0}, false, al, "eq r0 r7 ROR 0", "eq_r0_r7_ROR_0"}, 421 {{le, r12, r11, ROR, 16}, 422 false, 423 al, 424 "le r12 r11 ROR 16", 425 "le_r12_r11_ROR_16"}, 426 {{pl, r8, r7, ROR, 8}, false, al, "pl r8 r7 ROR 8", "pl_r8_r7_ROR_8"}, 427 {{ls, r5, r3, ROR, 8}, false, al, "ls r5 r3 ROR 8", "ls_r5_r3_ROR_8"}, 428 {{vs, r2, r12, ROR, 16}, false, al, "vs r2 r12 ROR 16", "vs_r2_r12_ROR_16"}, 429 {{ls, r4, r3, ROR, 0}, false, al, "ls r4 r3 ROR 0", "ls_r4_r3_ROR_0"}, 430 {{pl, r9, r3, ROR, 8}, false, al, "pl r9 r3 ROR 8", "pl_r9_r3_ROR_8"}, 431 {{vs, r10, r8, ROR, 0}, false, al, "vs r10 r8 ROR 0", "vs_r10_r8_ROR_0"}, 432 {{pl, r7, r13, ROR, 0}, false, al, "pl r7 r13 ROR 0", "pl_r7_r13_ROR_0"}, 433 {{ls, r0, r0, ROR, 16}, false, al, "ls r0 r0 ROR 16", "ls_r0_r0_ROR_16"}, 434 {{le, r14, r7, ROR, 16}, false, al, "le r14 r7 ROR 16", "le_r14_r7_ROR_16"}, 435 {{pl, r13, r4, ROR, 24}, false, al, "pl r13 r4 ROR 24", "pl_r13_r4_ROR_24"}, 436 {{ls, r3, r4, ROR, 24}, false, al, "ls r3 r4 ROR 24", "ls_r3_r4_ROR_24"}, 437 {{hi, r1, r3, ROR, 8}, false, al, "hi r1 r3 ROR 8", "hi_r1_r3_ROR_8"}, 438 {{hi, r2, r7, ROR, 0}, false, al, "hi r2 r7 ROR 0", "hi_r2_r7_ROR_0"}, 439 {{ls, r12, r11, ROR, 8}, false, al, "ls r12 r11 ROR 8", "ls_r12_r11_ROR_8"}, 440 {{mi, r7, r12, ROR, 0}, false, al, "mi r7 r12 ROR 0", "mi_r7_r12_ROR_0"}, 441 {{gt, r2, r6, ROR, 16}, false, al, "gt r2 r6 ROR 16", "gt_r2_r6_ROR_16"}, 442 {{cs, r7, r14, ROR, 24}, false, al, "cs r7 r14 ROR 24", "cs_r7_r14_ROR_24"}, 443 {{vc, r0, r0, ROR, 8}, false, al, "vc r0 r0 ROR 8", "vc_r0_r0_ROR_8"}, 444 {{al, r10, r10, ROR, 0}, false, al, "al r10 r10 ROR 0", "al_r10_r10_ROR_0"}, 445 {{al, r1, r4, ROR, 0}, false, al, "al r1 r4 ROR 0", "al_r1_r4_ROR_0"}, 446 {{vc, r2, r8, ROR, 0}, false, al, "vc r2 r8 ROR 0", "vc_r2_r8_ROR_0"}, 447 {{vc, r4, r6, ROR, 16}, false, al, "vc r4 r6 ROR 16", "vc_r4_r6_ROR_16"}, 448 {{pl, r1, r9, ROR, 0}, false, al, "pl r1 r9 ROR 0", "pl_r1_r9_ROR_0"}, 449 {{le, r2, r9, ROR, 0}, false, al, "le r2 r9 ROR 0", "le_r2_r9_ROR_0"}, 450 {{mi, r14, r5, ROR, 16}, false, al, "mi r14 r5 ROR 16", "mi_r14_r5_ROR_16"}, 451 {{le, r3, r5, ROR, 24}, false, al, "le r3 r5 ROR 24", "le_r3_r5_ROR_24"}, 452 {{lt, r4, r14, ROR, 0}, false, al, "lt r4 r14 ROR 0", "lt_r4_r14_ROR_0"}, 453 {{al, r9, r9, ROR, 0}, false, al, "al r9 r9 ROR 0", "al_r9_r9_ROR_0"}, 454 {{lt, r13, r12, ROR, 24}, 455 false, 456 al, 457 "lt r13 r12 ROR 24", 458 "lt_r13_r12_ROR_24"}, 459 {{mi, r7, r7, ROR, 16}, false, al, "mi r7 r7 ROR 16", "mi_r7_r7_ROR_16"}, 460 {{lt, r0, r10, ROR, 0}, false, al, "lt r0 r10 ROR 0", "lt_r0_r10_ROR_0"}, 461 {{al, r0, r12, ROR, 16}, false, al, "al r0 r12 ROR 16", "al_r0_r12_ROR_16"}, 462 {{mi, r12, r5, ROR, 8}, false, al, "mi r12 r5 ROR 8", "mi_r12_r5_ROR_8"}, 463 {{vc, r13, r1, ROR, 0}, false, al, "vc r13 r1 ROR 0", "vc_r13_r1_ROR_0"}, 464 {{mi, r1, r11, ROR, 24}, false, al, "mi r1 r11 ROR 24", "mi_r1_r11_ROR_24"}, 465 {{cc, r1, r3, ROR, 0}, false, al, "cc r1 r3 ROR 0", "cc_r1_r3_ROR_0"}, 466 {{mi, r6, r7, ROR, 0}, false, al, "mi r6 r7 ROR 0", "mi_r6_r7_ROR_0"}, 467 {{cs, r1, r13, ROR, 24}, false, al, "cs r1 r13 ROR 24", "cs_r1_r13_ROR_24"}, 468 {{pl, r8, r3, ROR, 24}, false, al, "pl r8 r3 ROR 24", "pl_r8_r3_ROR_24"}, 469 {{mi, r11, r12, ROR, 16}, 470 false, 471 al, 472 "mi r11 r12 ROR 16", 473 "mi_r11_r12_ROR_16"}, 474 {{cs, r3, r12, ROR, 0}, false, al, "cs r3 r12 ROR 0", "cs_r3_r12_ROR_0"}, 475 {{cs, r0, r2, ROR, 24}, false, al, "cs r0 r2 ROR 24", "cs_r0_r2_ROR_24"}, 476 {{vs, r0, r8, ROR, 8}, false, al, "vs r0 r8 ROR 8", "vs_r0_r8_ROR_8"}, 477 {{lt, r3, r13, ROR, 0}, false, al, "lt r3 r13 ROR 0", "lt_r3_r13_ROR_0"}, 478 {{mi, r11, r14, ROR, 16}, 479 false, 480 al, 481 "mi r11 r14 ROR 16", 482 "mi_r11_r14_ROR_16"}, 483 {{mi, r10, r9, ROR, 0}, false, al, "mi r10 r9 ROR 0", "mi_r10_r9_ROR_0"}, 484 {{cc, r8, r6, ROR, 8}, false, al, "cc r8 r6 ROR 8", "cc_r8_r6_ROR_8"}, 485 {{le, r4, r5, ROR, 24}, false, al, "le r4 r5 ROR 24", "le_r4_r5_ROR_24"}, 486 {{le, r12, r4, ROR, 8}, false, al, "le r12 r4 ROR 8", "le_r12_r4_ROR_8"}, 487 {{ge, r8, r11, ROR, 0}, false, al, "ge r8 r11 ROR 0", "ge_r8_r11_ROR_0"}, 488 {{ne, r5, r1, ROR, 8}, false, al, "ne r5 r1 ROR 8", "ne_r5_r1_ROR_8"}, 489 {{vc, r10, r6, ROR, 0}, false, al, "vc r10 r6 ROR 0", "vc_r10_r6_ROR_0"}, 490 {{le, r7, r8, ROR, 24}, false, al, "le r7 r8 ROR 24", "le_r7_r8_ROR_24"}, 491 {{ge, r10, r11, ROR, 8}, false, al, "ge r10 r11 ROR 8", "ge_r10_r11_ROR_8"}, 492 {{lt, r13, r11, ROR, 0}, false, al, "lt r13 r11 ROR 0", "lt_r13_r11_ROR_0"}, 493 {{ge, r7, r10, ROR, 16}, false, al, "ge r7 r10 ROR 16", "ge_r7_r10_ROR_16"}, 494 {{ge, r5, r9, ROR, 0}, false, al, "ge r5 r9 ROR 0", "ge_r5_r9_ROR_0"}, 495 {{ne, r5, r2, ROR, 0}, false, al, "ne r5 r2 ROR 0", "ne_r5_r2_ROR_0"}, 496 {{cc, r12, r7, ROR, 0}, false, al, "cc r12 r7 ROR 0", "cc_r12_r7_ROR_0"}, 497 {{le, r11, r7, ROR, 0}, false, al, "le r11 r7 ROR 0", "le_r11_r7_ROR_0"}, 498 {{al, r1, r11, ROR, 0}, false, al, "al r1 r11 ROR 0", "al_r1_r11_ROR_0"}, 499 {{eq, r4, r2, ROR, 24}, false, al, "eq r4 r2 ROR 24", "eq_r4_r2_ROR_24"}, 500 {{ne, r8, r12, ROR, 8}, false, al, "ne r8 r12 ROR 8", "ne_r8_r12_ROR_8"}, 501 {{al, r9, r11, ROR, 0}, false, al, "al r9 r11 ROR 0", "al_r9_r11_ROR_0"}, 502 {{le, r9, r0, ROR, 8}, false, al, "le r9 r0 ROR 8", "le_r9_r0_ROR_8"}, 503 {{mi, r6, r2, ROR, 0}, false, al, "mi r6 r2 ROR 0", "mi_r6_r2_ROR_0"}, 504 {{ne, r0, r10, ROR, 16}, false, al, "ne r0 r10 ROR 16", "ne_r0_r10_ROR_16"}, 505 {{ne, r4, r9, ROR, 24}, false, al, "ne r4 r9 ROR 24", "ne_r4_r9_ROR_24"}, 506 {{lt, r7, r10, ROR, 0}, false, al, "lt r7 r10 ROR 0", "lt_r7_r10_ROR_0"}, 507 {{hi, r2, r0, ROR, 8}, false, al, "hi r2 r0 ROR 8", "hi_r2_r0_ROR_8"}, 508 {{eq, r1, r6, ROR, 16}, false, al, "eq r1 r6 ROR 16", "eq_r1_r6_ROR_16"}, 509 {{pl, r4, r2, ROR, 24}, false, al, "pl r4 r2 ROR 24", "pl_r4_r2_ROR_24"}, 510 {{vs, r11, r10, ROR, 24}, 511 false, 512 al, 513 "vs r11 r10 ROR 24", 514 "vs_r11_r10_ROR_24"}, 515 {{lt, r3, r11, ROR, 8}, false, al, "lt r3 r11 ROR 8", "lt_r3_r11_ROR_8"}, 516 {{hi, r8, r0, ROR, 0}, false, al, "hi r8 r0 ROR 0", "hi_r8_r0_ROR_0"}, 517 {{lt, r11, r11, ROR, 16}, 518 false, 519 al, 520 "lt r11 r11 ROR 16", 521 "lt_r11_r11_ROR_16"}, 522 {{cs, r7, r6, ROR, 24}, false, al, "cs r7 r6 ROR 24", "cs_r7_r6_ROR_24"}, 523 {{pl, r8, r9, ROR, 24}, false, al, "pl r8 r9 ROR 24", "pl_r8_r9_ROR_24"}, 524 {{ne, r5, r4, ROR, 8}, false, al, "ne r5 r4 ROR 8", "ne_r5_r4_ROR_8"}, 525 {{ne, r5, r4, ROR, 0}, false, al, "ne r5 r4 ROR 0", "ne_r5_r4_ROR_0"}, 526 {{gt, r0, r14, ROR, 24}, false, al, "gt r0 r14 ROR 24", "gt_r0_r14_ROR_24"}, 527 {{mi, r10, r12, ROR, 8}, false, al, "mi r10 r12 ROR 8", "mi_r10_r12_ROR_8"}, 528 {{le, r3, r14, ROR, 0}, false, al, "le r3 r14 ROR 0", "le_r3_r14_ROR_0"}, 529 {{ne, r10, r14, ROR, 16}, 530 false, 531 al, 532 "ne r10 r14 ROR 16", 533 "ne_r10_r14_ROR_16"}, 534 {{ls, r14, r9, ROR, 24}, false, al, "ls r14 r9 ROR 24", "ls_r14_r9_ROR_24"}, 535 {{ge, r2, r10, ROR, 24}, false, al, "ge r2 r10 ROR 24", "ge_r2_r10_ROR_24"}, 536 {{lt, r12, r14, ROR, 0}, false, al, "lt r12 r14 ROR 0", "lt_r12_r14_ROR_0"}, 537 {{eq, r7, r14, ROR, 0}, false, al, "eq r7 r14 ROR 0", "eq_r7_r14_ROR_0"}, 538 {{al, r1, r8, ROR, 0}, false, al, "al r1 r8 ROR 0", "al_r1_r8_ROR_0"}, 539 {{vc, r12, r13, ROR, 0}, false, al, "vc r12 r13 ROR 0", "vc_r12_r13_ROR_0"}, 540 {{le, r4, r6, ROR, 24}, false, al, "le r4 r6 ROR 24", "le_r4_r6_ROR_24"}, 541 {{vc, r12, r5, ROR, 24}, false, al, "vc r12 r5 ROR 24", "vc_r12_r5_ROR_24"}, 542 {{al, r10, r12, ROR, 8}, false, al, "al r10 r12 ROR 8", "al_r10_r12_ROR_8"}, 543 {{pl, r12, r4, ROR, 8}, false, al, "pl r12 r4 ROR 8", "pl_r12_r4_ROR_8"}, 544 {{eq, r1, r7, ROR, 8}, false, al, "eq r1 r7 ROR 8", "eq_r1_r7_ROR_8"}, 545 {{hi, r2, r8, ROR, 16}, false, al, "hi r2 r8 ROR 16", "hi_r2_r8_ROR_16"}, 546 {{gt, r0, r11, ROR, 16}, false, al, "gt r0 r11 ROR 16", "gt_r0_r11_ROR_16"}, 547 {{ge, r10, r6, ROR, 24}, false, al, "ge r10 r6 ROR 24", "ge_r10_r6_ROR_24"}, 548 {{ne, r1, r5, ROR, 24}, false, al, "ne r1 r5 ROR 24", "ne_r1_r5_ROR_24"}, 549 {{vc, r8, r10, ROR, 16}, false, al, "vc r8 r10 ROR 16", "vc_r8_r10_ROR_16"}, 550 {{eq, r13, r7, ROR, 8}, false, al, "eq r13 r7 ROR 8", "eq_r13_r7_ROR_8"}, 551 {{pl, r14, r6, ROR, 8}, false, al, "pl r14 r6 ROR 8", "pl_r14_r6_ROR_8"}, 552 {{vs, r6, r2, ROR, 16}, false, al, "vs r6 r2 ROR 16", "vs_r6_r2_ROR_16"}, 553 {{gt, r9, r8, ROR, 0}, false, al, "gt r9 r8 ROR 0", "gt_r9_r8_ROR_0"}, 554 {{al, r6, r9, ROR, 16}, false, al, "al r6 r9 ROR 16", "al_r6_r9_ROR_16"}, 555 {{cc, r6, r3, ROR, 0}, false, al, "cc r6 r3 ROR 0", "cc_r6_r3_ROR_0"}, 556 {{cc, r2, r5, ROR, 24}, false, al, "cc r2 r5 ROR 24", "cc_r2_r5_ROR_24"}, 557 {{mi, r4, r1, ROR, 16}, false, al, "mi r4 r1 ROR 16", "mi_r4_r1_ROR_16"}, 558 {{vc, r4, r4, ROR, 0}, false, al, "vc r4 r4 ROR 0", "vc_r4_r4_ROR_0"}, 559 {{cc, r2, r10, ROR, 24}, false, al, "cc r2 r10 ROR 24", "cc_r2_r10_ROR_24"}, 560 {{vs, r9, r8, ROR, 0}, false, al, "vs r9 r8 ROR 0", "vs_r9_r8_ROR_0"}, 561 {{gt, r0, r9, ROR, 8}, false, al, "gt r0 r9 ROR 8", "gt_r0_r9_ROR_8"}, 562 {{ls, r10, r11, ROR, 8}, false, al, "ls r10 r11 ROR 8", "ls_r10_r11_ROR_8"}, 563 {{al, r11, r9, ROR, 16}, false, al, "al r11 r9 ROR 16", "al_r11_r9_ROR_16"}, 564 {{vs, r0, r10, ROR, 16}, false, al, "vs r0 r10 ROR 16", "vs_r0_r10_ROR_16"}, 565 {{ls, r14, r10, ROR, 0}, false, al, "ls r14 r10 ROR 0", "ls_r14_r10_ROR_0"}, 566 {{gt, r10, r5, ROR, 24}, false, al, "gt r10 r5 ROR 24", "gt_r10_r5_ROR_24"}, 567 {{al, r14, r14, ROR, 0}, false, al, "al r14 r14 ROR 0", "al_r14_r14_ROR_0"}, 568 {{ge, r6, r9, ROR, 16}, false, al, "ge r6 r9 ROR 16", "ge_r6_r9_ROR_16"}, 569 {{vs, r1, r2, ROR, 8}, false, al, "vs r1 r2 ROR 8", "vs_r1_r2_ROR_8"}, 570 {{lt, r11, r1, ROR, 8}, false, al, "lt r11 r1 ROR 8", "lt_r11_r1_ROR_8"}, 571 {{mi, r12, r5, ROR, 0}, false, al, "mi r12 r5 ROR 0", "mi_r12_r5_ROR_0"}, 572 {{pl, r0, r0, ROR, 24}, false, al, "pl r0 r0 ROR 24", "pl_r0_r0_ROR_24"}, 573 {{gt, r5, r2, ROR, 8}, false, al, "gt r5 r2 ROR 8", "gt_r5_r2_ROR_8"}, 574 {{ne, r10, r10, ROR, 0}, false, al, "ne r10 r10 ROR 0", "ne_r10_r10_ROR_0"}, 575 {{mi, r11, r12, ROR, 8}, false, al, "mi r11 r12 ROR 8", "mi_r11_r12_ROR_8"}, 576 {{vs, r9, r9, ROR, 16}, false, al, "vs r9 r9 ROR 16", "vs_r9_r9_ROR_16"}, 577 {{mi, r9, r6, ROR, 16}, false, al, "mi r9 r6 ROR 16", "mi_r9_r6_ROR_16"}, 578 {{vs, r12, r11, ROR, 24}, 579 false, 580 al, 581 "vs r12 r11 ROR 24", 582 "vs_r12_r11_ROR_24"}, 583 {{eq, r0, r1, ROR, 0}, false, al, "eq r0 r1 ROR 0", "eq_r0_r1_ROR_0"}, 584 {{vc, r12, r11, ROR, 24}, 585 false, 586 al, 587 "vc r12 r11 ROR 24", 588 "vc_r12_r11_ROR_24"}, 589 {{cs, r14, r13, ROR, 16}, 590 false, 591 al, 592 "cs r14 r13 ROR 16", 593 "cs_r14_r13_ROR_16"}, 594 {{vs, r12, r1, ROR, 8}, false, al, "vs r12 r1 ROR 8", "vs_r12_r1_ROR_8"}, 595 {{cc, r13, r9, ROR, 0}, false, al, "cc r13 r9 ROR 0", "cc_r13_r9_ROR_0"}, 596 {{ne, r3, r8, ROR, 8}, false, al, "ne r3 r8 ROR 8", "ne_r3_r8_ROR_8"}, 597 {{ne, r8, r6, ROR, 8}, false, al, "ne r8 r6 ROR 8", "ne_r8_r6_ROR_8"}, 598 {{cc, r6, r8, ROR, 16}, false, al, "cc r6 r8 ROR 16", "cc_r6_r8_ROR_16"}, 599 {{gt, r14, r14, ROR, 16}, 600 false, 601 al, 602 "gt r14 r14 ROR 16", 603 "gt_r14_r14_ROR_16"}, 604 {{lt, r7, r6, ROR, 16}, false, al, "lt r7 r6 ROR 16", "lt_r7_r6_ROR_16"}, 605 {{pl, r10, r6, ROR, 8}, false, al, "pl r10 r6 ROR 8", "pl_r10_r6_ROR_8"}, 606 {{ne, r5, r12, ROR, 0}, false, al, "ne r5 r12 ROR 0", "ne_r5_r12_ROR_0"}, 607 {{al, r8, r11, ROR, 16}, false, al, "al r8 r11 ROR 16", "al_r8_r11_ROR_16"}, 608 {{pl, r7, r9, ROR, 8}, false, al, "pl r7 r9 ROR 8", "pl_r7_r9_ROR_8"}, 609 {{mi, r2, r7, ROR, 8}, false, al, "mi r2 r7 ROR 8", "mi_r2_r7_ROR_8"}, 610 {{ls, r4, r3, ROR, 16}, false, al, "ls r4 r3 ROR 16", "ls_r4_r3_ROR_16"}, 611 {{mi, r10, r8, ROR, 8}, false, al, "mi r10 r8 ROR 8", "mi_r10_r8_ROR_8"}, 612 {{mi, r3, r3, ROR, 24}, false, al, "mi r3 r3 ROR 24", "mi_r3_r3_ROR_24"}, 613 {{hi, r14, r7, ROR, 0}, false, al, "hi r14 r7 ROR 0", "hi_r14_r7_ROR_0"}, 614 {{al, r3, r6, ROR, 16}, false, al, "al r3 r6 ROR 16", "al_r3_r6_ROR_16"}, 615 {{gt, r3, r4, ROR, 0}, false, al, "gt r3 r4 ROR 0", "gt_r3_r4_ROR_0"}, 616 {{pl, r14, r14, ROR, 0}, false, al, "pl r14 r14 ROR 0", "pl_r14_r14_ROR_0"}, 617 {{hi, r3, r4, ROR, 0}, false, al, "hi r3 r4 ROR 0", "hi_r3_r4_ROR_0"}, 618 {{le, r6, r3, ROR, 24}, false, al, "le r6 r3 ROR 24", "le_r6_r3_ROR_24"}, 619 {{eq, r6, r10, ROR, 0}, false, al, "eq r6 r10 ROR 0", "eq_r6_r10_ROR_0"}, 620 {{vs, r2, r11, ROR, 0}, false, al, "vs r2 r11 ROR 0", "vs_r2_r11_ROR_0"}, 621 {{lt, r1, r0, ROR, 24}, false, al, "lt r1 r0 ROR 24", "lt_r1_r0_ROR_24"}, 622 {{hi, r3, r7, ROR, 8}, false, al, "hi r3 r7 ROR 8", "hi_r3_r7_ROR_8"}, 623 {{eq, r2, r0, ROR, 24}, false, al, "eq r2 r0 ROR 24", "eq_r2_r0_ROR_24"}, 624 {{vs, r0, r7, ROR, 0}, false, al, "vs r0 r7 ROR 0", "vs_r0_r7_ROR_0"}, 625 {{hi, r5, r11, ROR, 24}, false, al, "hi r5 r11 ROR 24", "hi_r5_r11_ROR_24"}, 626 {{lt, r4, r9, ROR, 8}, false, al, "lt r4 r9 ROR 8", "lt_r4_r9_ROR_8"}, 627 {{mi, r8, r4, ROR, 16}, false, al, "mi r8 r4 ROR 16", "mi_r8_r4_ROR_16"}, 628 {{eq, r6, r5, ROR, 0}, false, al, "eq r6 r5 ROR 0", "eq_r6_r5_ROR_0"}, 629 {{ne, r4, r1, ROR, 8}, false, al, "ne r4 r1 ROR 8", "ne_r4_r1_ROR_8"}, 630 {{mi, r8, r5, ROR, 0}, false, al, "mi r8 r5 ROR 0", "mi_r8_r5_ROR_0"}, 631 {{hi, r5, r14, ROR, 8}, false, al, "hi r5 r14 ROR 8", "hi_r5_r14_ROR_8"}, 632 {{gt, r4, r2, ROR, 24}, false, al, "gt r4 r2 ROR 24", "gt_r4_r2_ROR_24"}, 633 {{ls, r9, r9, ROR, 16}, false, al, "ls r9 r9 ROR 16", "ls_r9_r9_ROR_16"}, 634 {{cs, r5, r2, ROR, 8}, false, al, "cs r5 r2 ROR 8", "cs_r5_r2_ROR_8"}, 635 {{gt, r10, r6, ROR, 16}, false, al, "gt r10 r6 ROR 16", "gt_r10_r6_ROR_16"}, 636 {{ls, r5, r7, ROR, 8}, false, al, "ls r5 r7 ROR 8", "ls_r5_r7_ROR_8"}, 637 {{ls, r13, r8, ROR, 16}, false, al, "ls r13 r8 ROR 16", "ls_r13_r8_ROR_16"}, 638 {{ls, r4, r11, ROR, 0}, false, al, "ls r4 r11 ROR 0", "ls_r4_r11_ROR_0"}, 639 {{mi, r14, r3, ROR, 24}, false, al, "mi r14 r3 ROR 24", "mi_r14_r3_ROR_24"}, 640 {{hi, r0, r14, ROR, 8}, false, al, "hi r0 r14 ROR 8", "hi_r0_r14_ROR_8"}, 641 {{ne, r3, r0, ROR, 8}, false, al, "ne r3 r0 ROR 8", "ne_r3_r0_ROR_8"}, 642 {{cs, r12, r10, ROR, 0}, false, al, "cs r12 r10 ROR 0", "cs_r12_r10_ROR_0"}, 643 {{ne, r10, r0, ROR, 24}, false, al, "ne r10 r0 ROR 24", "ne_r10_r0_ROR_24"}, 644 {{pl, r11, r6, ROR, 24}, false, al, "pl r11 r6 ROR 24", "pl_r11_r6_ROR_24"}, 645 {{mi, r3, r10, ROR, 16}, false, al, "mi r3 r10 ROR 16", "mi_r3_r10_ROR_16"}, 646 {{vc, r2, r5, ROR, 16}, false, al, "vc r2 r5 ROR 16", "vc_r2_r5_ROR_16"}, 647 {{eq, r5, r11, ROR, 16}, false, al, "eq r5 r11 ROR 16", "eq_r5_r11_ROR_16"}, 648 {{al, r4, r11, ROR, 24}, false, al, "al r4 r11 ROR 24", "al_r4_r11_ROR_24"}, 649 {{pl, r13, r4, ROR, 0}, false, al, "pl r13 r4 ROR 0", "pl_r13_r4_ROR_0"}, 650 {{ls, r14, r13, ROR, 8}, false, al, "ls r14 r13 ROR 8", "ls_r14_r13_ROR_8"}, 651 {{ge, r12, r2, ROR, 24}, false, al, "ge r12 r2 ROR 24", "ge_r12_r2_ROR_24"}, 652 {{eq, r10, r1, ROR, 16}, false, al, "eq r10 r1 ROR 16", "eq_r10_r1_ROR_16"}, 653 {{le, r0, r14, ROR, 24}, false, al, "le r0 r14 ROR 24", "le_r0_r14_ROR_24"}, 654 {{al, r3, r9, ROR, 8}, false, al, "al r3 r9 ROR 8", "al_r3_r9_ROR_8"}, 655 {{cc, r11, r12, ROR, 8}, false, al, "cc r11 r12 ROR 8", "cc_r11_r12_ROR_8"}, 656 {{ls, r3, r0, ROR, 24}, false, al, "ls r3 r0 ROR 24", "ls_r3_r0_ROR_24"}, 657 {{hi, r6, r6, ROR, 16}, false, al, "hi r6 r6 ROR 16", "hi_r6_r6_ROR_16"}, 658 {{cs, r10, r5, ROR, 8}, false, al, "cs r10 r5 ROR 8", "cs_r10_r5_ROR_8"}, 659 {{mi, r13, r0, ROR, 0}, false, al, "mi r13 r0 ROR 0", "mi_r13_r0_ROR_0"}, 660 {{le, r6, r3, ROR, 16}, false, al, "le r6 r3 ROR 16", "le_r6_r3_ROR_16"}, 661 {{ls, r11, r12, ROR, 16}, 662 false, 663 al, 664 "ls r11 r12 ROR 16", 665 "ls_r11_r12_ROR_16"}, 666 {{gt, r11, r10, ROR, 16}, 667 false, 668 al, 669 "gt r11 r10 ROR 16", 670 "gt_r11_r10_ROR_16"}, 671 {{le, r4, r11, ROR, 0}, false, al, "le r4 r11 ROR 0", "le_r4_r11_ROR_0"}, 672 {{gt, r3, r7, ROR, 16}, false, al, "gt r3 r7 ROR 16", "gt_r3_r7_ROR_16"}, 673 {{ne, r10, r0, ROR, 8}, false, al, "ne r10 r0 ROR 8", "ne_r10_r0_ROR_8"}, 674 {{cc, r7, r5, ROR, 16}, false, al, "cc r7 r5 ROR 16", "cc_r7_r5_ROR_16"}, 675 {{vc, r10, r0, ROR, 8}, false, al, "vc r10 r0 ROR 8", "vc_r10_r0_ROR_8"}, 676 {{le, r7, r12, ROR, 8}, false, al, "le r7 r12 ROR 8", "le_r7_r12_ROR_8"}, 677 {{ls, r1, r4, ROR, 24}, false, al, "ls r1 r4 ROR 24", "ls_r1_r4_ROR_24"}, 678 {{al, r11, r7, ROR, 16}, false, al, "al r11 r7 ROR 16", "al_r11_r7_ROR_16"}, 679 {{pl, r8, r4, ROR, 16}, false, al, "pl r8 r4 ROR 16", "pl_r8_r4_ROR_16"}, 680 {{ne, r5, r9, ROR, 16}, false, al, "ne r5 r9 ROR 16", "ne_r5_r9_ROR_16"}, 681 {{lt, r7, r13, ROR, 16}, false, al, "lt r7 r13 ROR 16", "lt_r7_r13_ROR_16"}, 682 {{vc, r5, r7, ROR, 16}, false, al, "vc r5 r7 ROR 16", "vc_r5_r7_ROR_16"}, 683 {{ls, r3, r10, ROR, 8}, false, al, "ls r3 r10 ROR 8", "ls_r3_r10_ROR_8"}, 684 {{al, r1, r7, ROR, 16}, false, al, "al r1 r7 ROR 16", "al_r1_r7_ROR_16"}, 685 {{al, r9, r12, ROR, 8}, false, al, "al r9 r12 ROR 8", "al_r9_r12_ROR_8"}, 686 {{vc, r14, r9, ROR, 8}, false, al, "vc r14 r9 ROR 8", "vc_r14_r9_ROR_8"}, 687 {{vs, r4, r1, ROR, 24}, false, al, "vs r4 r1 ROR 24", "vs_r4_r1_ROR_24"}, 688 {{lt, r11, r9, ROR, 24}, false, al, "lt r11 r9 ROR 24", "lt_r11_r9_ROR_24"}, 689 {{eq, r12, r8, ROR, 8}, false, al, "eq r12 r8 ROR 8", "eq_r12_r8_ROR_8"}, 690 {{eq, r5, r5, ROR, 24}, false, al, "eq r5 r5 ROR 24", "eq_r5_r5_ROR_24"}, 691 {{gt, r2, r4, ROR, 16}, false, al, "gt r2 r4 ROR 16", "gt_r2_r4_ROR_16"}, 692 {{cs, r12, r0, ROR, 0}, false, al, "cs r12 r0 ROR 0", "cs_r12_r0_ROR_0"}, 693 {{ge, r11, r9, ROR, 16}, false, al, "ge r11 r9 ROR 16", "ge_r11_r9_ROR_16"}, 694 {{le, r3, r12, ROR, 0}, false, al, "le r3 r12 ROR 0", "le_r3_r12_ROR_0"}, 695 {{al, r6, r3, ROR, 0}, false, al, "al r6 r3 ROR 0", "al_r6_r3_ROR_0"}, 696 {{cc, r8, r3, ROR, 0}, false, al, "cc r8 r3 ROR 0", "cc_r8_r3_ROR_0"}, 697 {{le, r14, r8, ROR, 8}, false, al, "le r14 r8 ROR 8", "le_r14_r8_ROR_8"}, 698 {{al, r12, r5, ROR, 8}, false, al, "al r12 r5 ROR 8", "al_r12_r5_ROR_8"}, 699 {{hi, r2, r11, ROR, 24}, false, al, "hi r2 r11 ROR 24", "hi_r2_r11_ROR_24"}, 700 {{cc, r2, r7, ROR, 16}, false, al, "cc r2 r7 ROR 16", "cc_r2_r7_ROR_16"}, 701 {{le, r3, r1, ROR, 0}, false, al, "le r3 r1 ROR 0", "le_r3_r1_ROR_0"}, 702 {{vs, r14, r2, ROR, 0}, false, al, "vs r14 r2 ROR 0", "vs_r14_r2_ROR_0"}, 703 {{lt, r1, r3, ROR, 24}, false, al, "lt r1 r3 ROR 24", "lt_r1_r3_ROR_24"}, 704 {{cc, r0, r9, ROR, 16}, false, al, "cc r0 r9 ROR 16", "cc_r0_r9_ROR_16"}, 705 {{ne, r11, r6, ROR, 0}, false, al, "ne r11 r6 ROR 0", "ne_r11_r6_ROR_0"}, 706 {{cs, r4, r5, ROR, 16}, false, al, "cs r4 r5 ROR 16", "cs_r4_r5_ROR_16"}, 707 {{eq, r9, r5, ROR, 16}, false, al, "eq r9 r5 ROR 16", "eq_r9_r5_ROR_16"}, 708 {{cs, r11, r8, ROR, 8}, false, al, "cs r11 r8 ROR 8", "cs_r11_r8_ROR_8"}, 709 {{al, r13, r7, ROR, 8}, false, al, "al r13 r7 ROR 8", "al_r13_r7_ROR_8"}, 710 {{al, r5, r13, ROR, 16}, false, al, "al r5 r13 ROR 16", "al_r5_r13_ROR_16"}, 711 {{ge, r9, r7, ROR, 16}, false, al, "ge r9 r7 ROR 16", "ge_r9_r7_ROR_16"}, 712 {{vs, r1, r9, ROR, 24}, false, al, "vs r1 r9 ROR 24", "vs_r1_r9_ROR_24"}, 713 {{lt, r0, r3, ROR, 8}, false, al, "lt r0 r3 ROR 8", "lt_r0_r3_ROR_8"}, 714 {{pl, r7, r0, ROR, 16}, false, al, "pl r7 r0 ROR 16", "pl_r7_r0_ROR_16"}, 715 {{lt, r5, r14, ROR, 24}, false, al, "lt r5 r14 ROR 24", "lt_r5_r14_ROR_24"}, 716 {{vc, r0, r5, ROR, 8}, false, al, "vc r0 r5 ROR 8", "vc_r0_r5_ROR_8"}, 717 {{le, r6, r8, ROR, 16}, false, al, "le r6 r8 ROR 16", "le_r6_r8_ROR_16"}, 718 {{ge, r6, r6, ROR, 16}, false, al, "ge r6 r6 ROR 16", "ge_r6_r6_ROR_16"}, 719 {{eq, r8, r2, ROR, 24}, false, al, "eq r8 r2 ROR 24", "eq_r8_r2_ROR_24"}, 720 {{cc, r12, r6, ROR, 0}, false, al, "cc r12 r6 ROR 0", "cc_r12_r6_ROR_0"}, 721 {{ls, r3, r13, ROR, 0}, false, al, "ls r3 r13 ROR 0", "ls_r3_r13_ROR_0"}, 722 {{gt, r1, r11, ROR, 16}, false, al, "gt r1 r11 ROR 16", "gt_r1_r11_ROR_16"}, 723 {{pl, r10, r1, ROR, 24}, false, al, "pl r10 r1 ROR 24", "pl_r10_r1_ROR_24"}, 724 {{vc, r11, r7, ROR, 8}, false, al, "vc r11 r7 ROR 8", "vc_r11_r7_ROR_8"}, 725 {{vc, r3, r13, ROR, 16}, false, al, "vc r3 r13 ROR 16", "vc_r3_r13_ROR_16"}, 726 {{vc, r4, r12, ROR, 16}, false, al, "vc r4 r12 ROR 16", "vc_r4_r12_ROR_16"}, 727 {{mi, r1, r8, ROR, 8}, false, al, "mi r1 r8 ROR 8", "mi_r1_r8_ROR_8"}, 728 {{ls, r9, r5, ROR, 24}, false, al, "ls r9 r5 ROR 24", "ls_r9_r5_ROR_24"}, 729 {{vc, r14, r0, ROR, 8}, false, al, "vc r14 r0 ROR 8", "vc_r14_r0_ROR_8"}, 730 {{ls, r5, r5, ROR, 8}, false, al, "ls r5 r5 ROR 8", "ls_r5_r5_ROR_8"}, 731 {{le, r8, r4, ROR, 8}, false, al, "le r8 r4 ROR 8", "le_r8_r4_ROR_8"}, 732 {{pl, r6, r13, ROR, 0}, false, al, "pl r6 r13 ROR 0", "pl_r6_r13_ROR_0"}, 733 {{ne, r0, r3, ROR, 24}, false, al, "ne r0 r3 ROR 24", "ne_r0_r3_ROR_24"}, 734 {{mi, r4, r0, ROR, 0}, false, al, "mi r4 r0 ROR 0", "mi_r4_r0_ROR_0"}, 735 {{ls, r7, r7, ROR, 16}, false, al, "ls r7 r7 ROR 16", "ls_r7_r7_ROR_16"}, 736 {{vs, r12, r2, ROR, 16}, false, al, "vs r12 r2 ROR 16", "vs_r12_r2_ROR_16"}, 737 {{pl, r0, r0, ROR, 8}, false, al, "pl r0 r0 ROR 8", "pl_r0_r0_ROR_8"}, 738 {{le, r12, r3, ROR, 24}, false, al, "le r12 r3 ROR 24", "le_r12_r3_ROR_24"}, 739 {{mi, r13, r6, ROR, 24}, false, al, "mi r13 r6 ROR 24", "mi_r13_r6_ROR_24"}, 740 {{vs, r2, r8, ROR, 0}, false, al, "vs r2 r8 ROR 0", "vs_r2_r8_ROR_0"}, 741 {{ne, r11, r11, ROR, 0}, false, al, "ne r11 r11 ROR 0", "ne_r11_r11_ROR_0"}, 742 {{cs, r10, r3, ROR, 0}, false, al, "cs r10 r3 ROR 0", "cs_r10_r3_ROR_0"}, 743 {{gt, r8, r6, ROR, 0}, false, al, "gt r8 r6 ROR 0", "gt_r8_r6_ROR_0"}, 744 {{mi, r6, r12, ROR, 0}, false, al, "mi r6 r12 ROR 0", "mi_r6_r12_ROR_0"}, 745 {{ne, r10, r8, ROR, 16}, false, al, "ne r10 r8 ROR 16", "ne_r10_r8_ROR_16"}, 746 {{hi, r0, r10, ROR, 24}, false, al, "hi r0 r10 ROR 24", "hi_r0_r10_ROR_24"}, 747 {{pl, r14, r0, ROR, 0}, false, al, "pl r14 r0 ROR 0", "pl_r14_r0_ROR_0"}, 748 {{vs, r0, r3, ROR, 8}, false, al, "vs r0 r3 ROR 8", "vs_r0_r3_ROR_8"}, 749 {{cs, r11, r5, ROR, 8}, false, al, "cs r11 r5 ROR 8", "cs_r11_r5_ROR_8"}, 750 {{le, r3, r12, ROR, 24}, false, al, "le r3 r12 ROR 24", "le_r3_r12_ROR_24"}, 751 {{vs, r14, r8, ROR, 16}, false, al, "vs r14 r8 ROR 16", "vs_r14_r8_ROR_16"}, 752 {{le, r10, r4, ROR, 24}, false, al, "le r10 r4 ROR 24", "le_r10_r4_ROR_24"}, 753 {{eq, r12, r7, ROR, 0}, false, al, "eq r12 r7 ROR 0", "eq_r12_r7_ROR_0"}, 754 {{cs, r9, r4, ROR, 0}, false, al, "cs r9 r4 ROR 0", "cs_r9_r4_ROR_0"}, 755 {{vs, r12, r5, ROR, 16}, false, al, "vs r12 r5 ROR 16", "vs_r12_r5_ROR_16"}, 756 {{pl, r9, r4, ROR, 16}, false, al, "pl r9 r4 ROR 16", "pl_r9_r4_ROR_16"}, 757 {{hi, r3, r0, ROR, 24}, false, al, "hi r3 r0 ROR 24", "hi_r3_r0_ROR_24"}, 758 {{cc, r2, r6, ROR, 8}, false, al, "cc r2 r6 ROR 8", "cc_r2_r6_ROR_8"}, 759 {{le, r12, r12, ROR, 16}, 760 false, 761 al, 762 "le r12 r12 ROR 16", 763 "le_r12_r12_ROR_16"}, 764 {{lt, r1, r8, ROR, 8}, false, al, "lt r1 r8 ROR 8", "lt_r1_r8_ROR_8"}, 765 {{lt, r5, r10, ROR, 24}, false, al, "lt r5 r10 ROR 24", "lt_r5_r10_ROR_24"}, 766 {{pl, r4, r7, ROR, 8}, false, al, "pl r4 r7 ROR 8", "pl_r4_r7_ROR_8"}, 767 {{ne, r5, r9, ROR, 24}, false, al, "ne r5 r9 ROR 24", "ne_r5_r9_ROR_24"}, 768 {{al, r13, r8, ROR, 8}, false, al, "al r13 r8 ROR 8", "al_r13_r8_ROR_8"}, 769 {{eq, r9, r9, ROR, 0}, false, al, "eq r9 r9 ROR 0", "eq_r9_r9_ROR_0"}, 770 {{ls, r9, r2, ROR, 0}, false, al, "ls r9 r2 ROR 0", "ls_r9_r2_ROR_0"}, 771 {{eq, r12, r4, ROR, 16}, false, al, "eq r12 r4 ROR 16", "eq_r12_r4_ROR_16"}, 772 {{pl, r4, r7, ROR, 16}, false, al, "pl r4 r7 ROR 16", "pl_r4_r7_ROR_16"}, 773 {{ls, r7, r6, ROR, 8}, false, al, "ls r7 r6 ROR 8", "ls_r7_r6_ROR_8"}, 774 {{vc, r7, r9, ROR, 8}, false, al, "vc r7 r9 ROR 8", "vc_r7_r9_ROR_8"}, 775 {{hi, r6, r7, ROR, 8}, false, al, "hi r6 r7 ROR 8", "hi_r6_r7_ROR_8"}, 776 {{vs, r5, r14, ROR, 0}, false, al, "vs r5 r14 ROR 0", "vs_r5_r14_ROR_0"}, 777 {{vs, r8, r3, ROR, 8}, false, al, "vs r8 r3 ROR 8", "vs_r8_r3_ROR_8"}, 778 {{vs, r13, r9, ROR, 24}, false, al, "vs r13 r9 ROR 24", "vs_r13_r9_ROR_24"}, 779 {{hi, r1, r13, ROR, 24}, false, al, "hi r1 r13 ROR 24", "hi_r1_r13_ROR_24"}, 780 {{mi, r7, r0, ROR, 0}, false, al, "mi r7 r0 ROR 0", "mi_r7_r0_ROR_0"}, 781 {{cc, r6, r6, ROR, 16}, false, al, "cc r6 r6 ROR 16", "cc_r6_r6_ROR_16"}, 782 {{le, r5, r5, ROR, 24}, false, al, "le r5 r5 ROR 24", "le_r5_r5_ROR_24"}, 783 {{ge, r7, r3, ROR, 8}, false, al, "ge r7 r3 ROR 8", "ge_r7_r3_ROR_8"}, 784 {{vs, r0, r14, ROR, 24}, false, al, "vs r0 r14 ROR 24", "vs_r0_r14_ROR_24"}, 785 {{ne, r0, r5, ROR, 0}, false, al, "ne r0 r5 ROR 0", "ne_r0_r5_ROR_0"}, 786 {{ne, r9, r1, ROR, 8}, false, al, "ne r9 r1 ROR 8", "ne_r9_r1_ROR_8"}, 787 {{vs, r3, r13, ROR, 24}, false, al, "vs r3 r13 ROR 24", "vs_r3_r13_ROR_24"}, 788 {{lt, r9, r11, ROR, 24}, false, al, "lt r9 r11 ROR 24", "lt_r9_r11_ROR_24"}, 789 {{mi, r7, r3, ROR, 24}, false, al, "mi r7 r3 ROR 24", "mi_r7_r3_ROR_24"}, 790 {{lt, r9, r9, ROR, 0}, false, al, "lt r9 r9 ROR 0", "lt_r9_r9_ROR_0"}, 791 {{al, r2, r13, ROR, 0}, false, al, "al r2 r13 ROR 0", "al_r2_r13_ROR_0"}, 792 {{gt, r1, r14, ROR, 24}, false, al, "gt r1 r14 ROR 24", "gt_r1_r14_ROR_24"}, 793 {{cs, r7, r0, ROR, 16}, false, al, "cs r7 r0 ROR 16", "cs_r7_r0_ROR_16"}, 794 {{pl, r8, r3, ROR, 8}, false, al, "pl r8 r3 ROR 8", "pl_r8_r3_ROR_8"}, 795 {{ls, r8, r2, ROR, 24}, false, al, "ls r8 r2 ROR 24", "ls_r8_r2_ROR_24"}, 796 {{ne, r11, r0, ROR, 8}, false, al, "ne r11 r0 ROR 8", "ne_r11_r0_ROR_8"}, 797 {{cc, r14, r9, ROR, 24}, false, al, "cc r14 r9 ROR 24", "cc_r14_r9_ROR_24"}, 798 {{le, r7, r4, ROR, 0}, false, al, "le r7 r4 ROR 0", "le_r7_r4_ROR_0"}, 799 {{cc, r0, r5, ROR, 0}, false, al, "cc r0 r5 ROR 0", "cc_r0_r5_ROR_0"}, 800 {{cc, r4, r14, ROR, 16}, false, al, "cc r4 r14 ROR 16", "cc_r4_r14_ROR_16"}, 801 {{le, r11, r10, ROR, 16}, 802 false, 803 al, 804 "le r11 r10 ROR 16", 805 "le_r11_r10_ROR_16"}, 806 {{ls, r8, r7, ROR, 16}, false, al, "ls r8 r7 ROR 16", "ls_r8_r7_ROR_16"}, 807 {{ls, r9, r8, ROR, 16}, false, al, "ls r9 r8 ROR 16", "ls_r9_r8_ROR_16"}, 808 {{cc, r8, r4, ROR, 24}, false, al, "cc r8 r4 ROR 24", "cc_r8_r4_ROR_24"}, 809 {{hi, r0, r13, ROR, 0}, false, al, "hi r0 r13 ROR 0", "hi_r0_r13_ROR_0"}, 810 {{hi, r8, r10, ROR, 8}, false, al, "hi r8 r10 ROR 8", "hi_r8_r10_ROR_8"}, 811 {{ge, r9, r9, ROR, 24}, false, al, "ge r9 r9 ROR 24", "ge_r9_r9_ROR_24"}, 812 {{pl, r7, r12, ROR, 8}, false, al, "pl r7 r12 ROR 8", "pl_r7_r12_ROR_8"}, 813 {{vs, r7, r13, ROR, 16}, false, al, "vs r7 r13 ROR 16", "vs_r7_r13_ROR_16"}, 814 {{eq, r12, r9, ROR, 0}, false, al, "eq r12 r9 ROR 0", "eq_r12_r9_ROR_0"}, 815 {{ls, r0, r9, ROR, 8}, false, al, "ls r0 r9 ROR 8", "ls_r0_r9_ROR_8"}, 816 {{mi, r7, r4, ROR, 24}, false, al, "mi r7 r4 ROR 24", "mi_r7_r4_ROR_24"}, 817 {{eq, r13, r8, ROR, 24}, false, al, "eq r13 r8 ROR 24", "eq_r13_r8_ROR_24"}, 818 {{lt, r14, r9, ROR, 8}, false, al, "lt r14 r9 ROR 8", "lt_r14_r9_ROR_8"}, 819 {{ne, r1, r14, ROR, 8}, false, al, "ne r1 r14 ROR 8", "ne_r1_r14_ROR_8"}, 820 {{ne, r13, r13, ROR, 16}, 821 false, 822 al, 823 "ne r13 r13 ROR 16", 824 "ne_r13_r13_ROR_16"}, 825 {{pl, r1, r11, ROR, 8}, false, al, "pl r1 r11 ROR 8", "pl_r1_r11_ROR_8"}, 826 {{ls, r0, r4, ROR, 8}, false, al, "ls r0 r4 ROR 8", "ls_r0_r4_ROR_8"}, 827 {{ge, r13, r3, ROR, 24}, false, al, "ge r13 r3 ROR 24", "ge_r13_r3_ROR_24"}, 828 {{cs, r7, r12, ROR, 8}, false, al, "cs r7 r12 ROR 8", "cs_r7_r12_ROR_8"}, 829 {{lt, r6, r2, ROR, 24}, false, al, "lt r6 r2 ROR 24", "lt_r6_r2_ROR_24"}, 830 {{gt, r5, r9, ROR, 24}, false, al, "gt r5 r9 ROR 24", "gt_r5_r9_ROR_24"}, 831 {{eq, r1, r2, ROR, 16}, false, al, "eq r1 r2 ROR 16", "eq_r1_r2_ROR_16"}, 832 {{ne, r8, r8, ROR, 16}, false, al, "ne r8 r8 ROR 16", "ne_r8_r8_ROR_16"}, 833 {{le, r9, r1, ROR, 8}, false, al, "le r9 r1 ROR 8", "le_r9_r1_ROR_8"}, 834 {{ne, r13, r0, ROR, 24}, false, al, "ne r13 r0 ROR 24", "ne_r13_r0_ROR_24"}, 835 {{cs, r12, r2, ROR, 0}, false, al, "cs r12 r2 ROR 0", "cs_r12_r2_ROR_0"}, 836 {{mi, r14, r0, ROR, 16}, false, al, "mi r14 r0 ROR 16", "mi_r14_r0_ROR_16"}, 837 {{cs, r2, r9, ROR, 16}, false, al, "cs r2 r9 ROR 16", "cs_r2_r9_ROR_16"}, 838 {{ne, r10, r9, ROR, 16}, false, al, "ne r10 r9 ROR 16", "ne_r10_r9_ROR_16"}, 839 {{lt, r1, r11, ROR, 8}, false, al, "lt r1 r11 ROR 8", "lt_r1_r11_ROR_8"}, 840 {{cc, r6, r10, ROR, 24}, false, al, "cc r6 r10 ROR 24", "cc_r6_r10_ROR_24"}, 841 {{le, r13, r10, ROR, 16}, 842 false, 843 al, 844 "le r13 r10 ROR 16", 845 "le_r13_r10_ROR_16"}, 846 {{mi, r2, r10, ROR, 24}, false, al, "mi r2 r10 ROR 24", "mi_r2_r10_ROR_24"}, 847 {{hi, r13, r12, ROR, 24}, 848 false, 849 al, 850 "hi r13 r12 ROR 24", 851 "hi_r13_r12_ROR_24"}, 852 {{le, r13, r5, ROR, 24}, false, al, "le r13 r5 ROR 24", "le_r13_r5_ROR_24"}, 853 {{cs, r11, r8, ROR, 16}, false, al, "cs r11 r8 ROR 16", "cs_r11_r8_ROR_16"}, 854 {{vc, r10, r11, ROR, 24}, 855 false, 856 al, 857 "vc r10 r11 ROR 24", 858 "vc_r10_r11_ROR_24"}, 859 {{eq, r3, r5, ROR, 0}, false, al, "eq r3 r5 ROR 0", "eq_r3_r5_ROR_0"}, 860 {{ne, r9, r7, ROR, 0}, false, al, "ne r9 r7 ROR 0", "ne_r9_r7_ROR_0"}, 861 {{vc, r4, r8, ROR, 16}, false, al, "vc r4 r8 ROR 16", "vc_r4_r8_ROR_16"}, 862 {{le, r10, r6, ROR, 8}, false, al, "le r10 r6 ROR 8", "le_r10_r6_ROR_8"}, 863 {{eq, r7, r1, ROR, 8}, false, al, "eq r7 r1 ROR 8", "eq_r7_r1_ROR_8"}, 864 {{pl, r2, r10, ROR, 8}, false, al, "pl r2 r10 ROR 8", "pl_r2_r10_ROR_8"}, 865 {{ge, r8, r13, ROR, 16}, false, al, "ge r8 r13 ROR 16", "ge_r8_r13_ROR_16"}, 866 {{cs, r10, r3, ROR, 24}, false, al, "cs r10 r3 ROR 24", "cs_r10_r3_ROR_24"}, 867 {{gt, r5, r2, ROR, 24}, false, al, "gt r5 r2 ROR 24", "gt_r5_r2_ROR_24"}, 868 {{ge, r2, r1, ROR, 0}, false, al, "ge r2 r1 ROR 0", "ge_r2_r1_ROR_0"}, 869 {{cc, r6, r3, ROR, 16}, false, al, "cc r6 r3 ROR 16", "cc_r6_r3_ROR_16"}, 870 {{cs, r5, r0, ROR, 16}, false, al, "cs r5 r0 ROR 16", "cs_r5_r0_ROR_16"}, 871 {{mi, r3, r9, ROR, 8}, false, al, "mi r3 r9 ROR 8", "mi_r3_r9_ROR_8"}, 872 {{eq, r1, r5, ROR, 0}, false, al, "eq r1 r5 ROR 0", "eq_r1_r5_ROR_0"}, 873 {{hi, r12, r11, ROR, 24}, 874 false, 875 al, 876 "hi r12 r11 ROR 24", 877 "hi_r12_r11_ROR_24"}, 878 {{eq, r4, r9, ROR, 24}, false, al, "eq r4 r9 ROR 24", "eq_r4_r9_ROR_24"}, 879 {{pl, r2, r7, ROR, 16}, false, al, "pl r2 r7 ROR 16", "pl_r2_r7_ROR_16"}, 880 {{mi, r5, r13, ROR, 16}, false, al, "mi r5 r13 ROR 16", "mi_r5_r13_ROR_16"}, 881 {{vs, r0, r8, ROR, 24}, false, al, "vs r0 r8 ROR 24", "vs_r0_r8_ROR_24"}, 882 {{eq, r13, r4, ROR, 16}, false, al, "eq r13 r4 ROR 16", "eq_r13_r4_ROR_16"}, 883 {{gt, r4, r3, ROR, 16}, false, al, "gt r4 r3 ROR 16", "gt_r4_r3_ROR_16"}, 884 {{lt, r11, r7, ROR, 8}, false, al, "lt r11 r7 ROR 8", "lt_r11_r7_ROR_8"}, 885 {{lt, r11, r1, ROR, 24}, false, al, "lt r11 r1 ROR 24", "lt_r11_r1_ROR_24"}, 886 {{ne, r0, r9, ROR, 0}, false, al, "ne r0 r9 ROR 0", "ne_r0_r9_ROR_0"}, 887 {{al, r8, r12, ROR, 16}, false, al, "al r8 r12 ROR 16", "al_r8_r12_ROR_16"}, 888 {{cc, r5, r5, ROR, 16}, false, al, "cc r5 r5 ROR 16", "cc_r5_r5_ROR_16"}, 889 {{le, r5, r10, ROR, 24}, false, al, "le r5 r10 ROR 24", "le_r5_r10_ROR_24"}, 890 {{lt, r4, r13, ROR, 16}, false, al, "lt r4 r13 ROR 16", "lt_r4_r13_ROR_16"}, 891 {{hi, r14, r1, ROR, 16}, false, al, "hi r14 r1 ROR 16", "hi_r14_r1_ROR_16"}, 892 {{cs, r12, r7, ROR, 0}, false, al, "cs r12 r7 ROR 0", "cs_r12_r7_ROR_0"}, 893 {{mi, r4, r2, ROR, 0}, false, al, "mi r4 r2 ROR 0", "mi_r4_r2_ROR_0"}, 894 {{al, r8, r11, ROR, 24}, false, al, "al r8 r11 ROR 24", "al_r8_r11_ROR_24"}, 895 {{vs, r3, r2, ROR, 0}, false, al, "vs r3 r2 ROR 0", "vs_r3_r2_ROR_0"}, 896 {{eq, r13, r10, ROR, 16}, 897 false, 898 al, 899 "eq r13 r10 ROR 16", 900 "eq_r13_r10_ROR_16"}, 901 {{vc, r14, r13, ROR, 24}, 902 false, 903 al, 904 "vc r14 r13 ROR 24", 905 "vc_r14_r13_ROR_24"}, 906 {{ge, r14, r5, ROR, 0}, false, al, "ge r14 r5 ROR 0", "ge_r14_r5_ROR_0"}, 907 {{mi, r8, r6, ROR, 8}, false, al, "mi r8 r6 ROR 8", "mi_r8_r6_ROR_8"}, 908 {{hi, r1, r11, ROR, 24}, false, al, "hi r1 r11 ROR 24", "hi_r1_r11_ROR_24"}, 909 {{vs, r9, r14, ROR, 0}, false, al, "vs r9 r14 ROR 0", "vs_r9_r14_ROR_0"}, 910 {{le, r0, r11, ROR, 8}, false, al, "le r0 r11 ROR 8", "le_r0_r11_ROR_8"}, 911 {{le, r3, r4, ROR, 16}, false, al, "le r3 r4 ROR 16", "le_r3_r4_ROR_16"}, 912 {{vc, r1, r10, ROR, 16}, false, al, "vc r1 r10 ROR 16", "vc_r1_r10_ROR_16"}, 913 {{gt, r11, r8, ROR, 8}, false, al, "gt r11 r8 ROR 8", "gt_r11_r8_ROR_8"}, 914 {{lt, r10, r3, ROR, 24}, false, al, "lt r10 r3 ROR 24", "lt_r10_r3_ROR_24"}, 915 {{vs, r13, r6, ROR, 16}, false, al, "vs r13 r6 ROR 16", "vs_r13_r6_ROR_16"}, 916 {{pl, r11, r9, ROR, 0}, false, al, "pl r11 r9 ROR 0", "pl_r11_r9_ROR_0"}, 917 {{pl, r4, r12, ROR, 24}, false, al, "pl r4 r12 ROR 24", "pl_r4_r12_ROR_24"}, 918 {{pl, r14, r8, ROR, 0}, false, al, "pl r14 r8 ROR 0", "pl_r14_r8_ROR_0"}, 919 {{gt, r3, r12, ROR, 16}, false, al, "gt r3 r12 ROR 16", "gt_r3_r12_ROR_16"}, 920 {{le, r0, r6, ROR, 8}, false, al, "le r0 r6 ROR 8", "le_r0_r6_ROR_8"}, 921 {{hi, r11, r2, ROR, 24}, false, al, "hi r11 r2 ROR 24", "hi_r11_r2_ROR_24"}, 922 {{al, r5, r11, ROR, 24}, false, al, "al r5 r11 ROR 24", "al_r5_r11_ROR_24"}, 923 {{vs, r9, r9, ROR, 8}, false, al, "vs r9 r9 ROR 8", "vs_r9_r9_ROR_8"}, 924 {{cc, r7, r11, ROR, 0}, false, al, "cc r7 r11 ROR 0", "cc_r7_r11_ROR_0"}, 925 {{vc, r10, r9, ROR, 0}, false, al, "vc r10 r9 ROR 0", "vc_r10_r9_ROR_0"}, 926 {{ge, r10, r6, ROR, 0}, false, al, "ge r10 r6 ROR 0", "ge_r10_r6_ROR_0"}, 927 {{le, r7, r11, ROR, 24}, false, al, "le r7 r11 ROR 24", "le_r7_r11_ROR_24"}, 928 {{cc, r6, r5, ROR, 8}, false, al, "cc r6 r5 ROR 8", "cc_r6_r5_ROR_8"}, 929 {{eq, r5, r10, ROR, 24}, false, al, "eq r5 r10 ROR 24", "eq_r5_r10_ROR_24"}, 930 {{hi, r3, r2, ROR, 8}, false, al, "hi r3 r2 ROR 8", "hi_r3_r2_ROR_8"}, 931 {{vs, r13, r5, ROR, 16}, false, al, "vs r13 r5 ROR 16", "vs_r13_r5_ROR_16"}, 932 {{cc, r13, r12, ROR, 0}, false, al, "cc r13 r12 ROR 0", "cc_r13_r12_ROR_0"}, 933 {{ge, r3, r6, ROR, 16}, false, al, "ge r3 r6 ROR 16", "ge_r3_r6_ROR_16"}, 934 {{mi, r11, r1, ROR, 0}, false, al, "mi r11 r1 ROR 0", "mi_r11_r1_ROR_0"}, 935 {{ge, r2, r3, ROR, 0}, false, al, "ge r2 r3 ROR 0", "ge_r2_r3_ROR_0"}, 936 {{hi, r0, r0, ROR, 24}, false, al, "hi r0 r0 ROR 24", "hi_r0_r0_ROR_24"}, 937 {{ne, r12, r8, ROR, 8}, false, al, "ne r12 r8 ROR 8", "ne_r12_r8_ROR_8"}, 938 {{mi, r4, r11, ROR, 8}, false, al, "mi r4 r11 ROR 8", "mi_r4_r11_ROR_8"}, 939 {{gt, r10, r14, ROR, 16}, 940 false, 941 al, 942 "gt r10 r14 ROR 16", 943 "gt_r10_r14_ROR_16"}, 944 {{pl, r9, r10, ROR, 16}, false, al, "pl r9 r10 ROR 16", "pl_r9_r10_ROR_16"}, 945 {{mi, r1, r2, ROR, 8}, false, al, "mi r1 r2 ROR 8", "mi_r1_r2_ROR_8"}, 946 {{vs, r1, r8, ROR, 16}, false, al, "vs r1 r8 ROR 16", "vs_r1_r8_ROR_16"}, 947 {{gt, r0, r12, ROR, 0}, false, al, "gt r0 r12 ROR 0", "gt_r0_r12_ROR_0"}, 948 {{ls, r13, r6, ROR, 8}, false, al, "ls r13 r6 ROR 8", "ls_r13_r6_ROR_8"}, 949 {{vs, r11, r0, ROR, 0}, false, al, "vs r11 r0 ROR 0", "vs_r11_r0_ROR_0"}, 950 {{cs, r4, r12, ROR, 8}, false, al, "cs r4 r12 ROR 8", "cs_r4_r12_ROR_8"}, 951 {{cs, r13, r6, ROR, 8}, false, al, "cs r13 r6 ROR 8", "cs_r13_r6_ROR_8"}, 952 {{eq, r11, r3, ROR, 24}, false, al, "eq r11 r3 ROR 24", "eq_r11_r3_ROR_24"}, 953 {{ls, r9, r14, ROR, 24}, false, al, "ls r9 r14 ROR 24", "ls_r9_r14_ROR_24"}, 954 {{eq, r6, r8, ROR, 0}, false, al, "eq r6 r8 ROR 0", "eq_r6_r8_ROR_0"}, 955 {{hi, r9, r4, ROR, 16}, false, al, "hi r9 r4 ROR 16", "hi_r9_r4_ROR_16"}, 956 {{vc, r8, r12, ROR, 16}, false, al, "vc r8 r12 ROR 16", "vc_r8_r12_ROR_16"}, 957 {{lt, r1, r13, ROR, 24}, false, al, "lt r1 r13 ROR 24", "lt_r1_r13_ROR_24"}, 958 {{ge, r1, r8, ROR, 16}, false, al, "ge r1 r8 ROR 16", "ge_r1_r8_ROR_16"}, 959 {{vs, r3, r9, ROR, 24}, false, al, "vs r3 r9 ROR 24", "vs_r3_r9_ROR_24"}, 960 {{cc, r6, r11, ROR, 0}, false, al, "cc r6 r11 ROR 0", "cc_r6_r11_ROR_0"}, 961 {{al, r5, r10, ROR, 16}, false, al, "al r5 r10 ROR 16", "al_r5_r10_ROR_16"}, 962 {{ge, r1, r6, ROR, 8}, false, al, "ge r1 r6 ROR 8", "ge_r1_r6_ROR_8"}, 963 {{ge, r1, r4, ROR, 24}, false, al, "ge r1 r4 ROR 24", "ge_r1_r4_ROR_24"}, 964 {{hi, r9, r9, ROR, 0}, false, al, "hi r9 r9 ROR 0", "hi_r9_r9_ROR_0"}, 965 {{cs, r2, r13, ROR, 0}, false, al, "cs r2 r13 ROR 0", "cs_r2_r13_ROR_0"}, 966 {{gt, r8, r5, ROR, 24}, false, al, "gt r8 r5 ROR 24", "gt_r8_r5_ROR_24"}, 967 {{le, r7, r2, ROR, 0}, false, al, "le r7 r2 ROR 0", "le_r7_r2_ROR_0"}, 968 {{hi, r3, r13, ROR, 0}, false, al, "hi r3 r13 ROR 0", "hi_r3_r13_ROR_0"}, 969 {{ne, r11, r12, ROR, 24}, 970 false, 971 al, 972 "ne r11 r12 ROR 24", 973 "ne_r11_r12_ROR_24"}, 974 {{gt, r8, r1, ROR, 24}, false, al, "gt r8 r1 ROR 24", "gt_r8_r1_ROR_24"}, 975 {{le, r1, r10, ROR, 8}, false, al, "le r1 r10 ROR 8", "le_r1_r10_ROR_8"}, 976 {{mi, r14, r3, ROR, 16}, false, al, "mi r14 r3 ROR 16", "mi_r14_r3_ROR_16"}, 977 {{al, r0, r9, ROR, 16}, false, al, "al r0 r9 ROR 16", "al_r0_r9_ROR_16"}, 978 {{vs, r10, r3, ROR, 24}, false, al, "vs r10 r3 ROR 24", "vs_r10_r3_ROR_24"}, 979 {{le, r8, r0, ROR, 0}, false, al, "le r8 r0 ROR 0", "le_r8_r0_ROR_0"}, 980 {{vs, r3, r0, ROR, 16}, false, al, "vs r3 r0 ROR 16", "vs_r3_r0_ROR_16"}, 981 {{ne, r2, r6, ROR, 8}, false, al, "ne r2 r6 ROR 8", "ne_r2_r6_ROR_8"}, 982 {{al, r8, r4, ROR, 24}, false, al, "al r8 r4 ROR 24", "al_r8_r4_ROR_24"}, 983 {{pl, r1, r4, ROR, 24}, false, al, "pl r1 r4 ROR 24", "pl_r1_r4_ROR_24"}, 984 {{hi, r2, r10, ROR, 8}, false, al, "hi r2 r10 ROR 8", "hi_r2_r10_ROR_8"}, 985 {{eq, r4, r9, ROR, 0}, false, al, "eq r4 r9 ROR 0", "eq_r4_r9_ROR_0"}, 986 {{hi, r5, r2, ROR, 24}, false, al, "hi r5 r2 ROR 24", "hi_r5_r2_ROR_24"}, 987 {{pl, r10, r13, ROR, 16}, 988 false, 989 al, 990 "pl r10 r13 ROR 16", 991 "pl_r10_r13_ROR_16"}, 992 {{ge, r14, r8, ROR, 16}, false, al, "ge r14 r8 ROR 16", "ge_r14_r8_ROR_16"}, 993 {{gt, r0, r10, ROR, 0}, false, al, "gt r0 r10 ROR 0", "gt_r0_r10_ROR_0"}, 994 {{ne, r12, r3, ROR, 16}, false, al, "ne r12 r3 ROR 16", "ne_r12_r3_ROR_16"}, 995 {{ne, r5, r12, ROR, 8}, false, al, "ne r5 r12 ROR 8", "ne_r5_r12_ROR_8"}, 996 {{vc, r0, r4, ROR, 8}, false, al, "vc r0 r4 ROR 8", "vc_r0_r4_ROR_8"}, 997 {{le, r10, r2, ROR, 24}, false, al, "le r10 r2 ROR 24", "le_r10_r2_ROR_24"}, 998 {{vc, r3, r2, ROR, 16}, false, al, "vc r3 r2 ROR 16", "vc_r3_r2_ROR_16"}, 999 {{ge, r3, r11, ROR, 0}, false, al, "ge r3 r11 ROR 0", "ge_r3_r11_ROR_0"}, 1000 {{ne, r1, r0, ROR, 24}, false, al, "ne r1 r0 ROR 24", "ne_r1_r0_ROR_24"}, 1001 {{lt, r8, r5, ROR, 8}, false, al, "lt r8 r5 ROR 8", "lt_r8_r5_ROR_8"}, 1002 {{ne, r6, r5, ROR, 0}, false, al, "ne r6 r5 ROR 0", "ne_r6_r5_ROR_0"}, 1003 {{gt, r8, r0, ROR, 24}, false, al, "gt r8 r0 ROR 24", "gt_r8_r0_ROR_24"}, 1004 {{pl, r13, r11, ROR, 24}, 1005 false, 1006 al, 1007 "pl r13 r11 ROR 24", 1008 "pl_r13_r11_ROR_24"}, 1009 {{ne, r5, r14, ROR, 16}, false, al, "ne r5 r14 ROR 16", "ne_r5_r14_ROR_16"}, 1010 {{cc, r1, r7, ROR, 24}, false, al, "cc r1 r7 ROR 24", "cc_r1_r7_ROR_24"}, 1011 {{ge, r9, r10, ROR, 8}, false, al, "ge r9 r10 ROR 8", "ge_r9_r10_ROR_8"}, 1012 {{vc, r7, r3, ROR, 8}, false, al, "vc r7 r3 ROR 8", "vc_r7_r3_ROR_8"}, 1013 {{eq, r7, r1, ROR, 16}, false, al, "eq r7 r1 ROR 16", "eq_r7_r1_ROR_16"}, 1014 {{gt, r3, r2, ROR, 16}, false, al, "gt r3 r2 ROR 16", "gt_r3_r2_ROR_16"}, 1015 {{mi, r13, r11, ROR, 0}, false, al, "mi r13 r11 ROR 0", "mi_r13_r11_ROR_0"}, 1016 {{lt, r2, r5, ROR, 16}, false, al, "lt r2 r5 ROR 16", "lt_r2_r5_ROR_16"}, 1017 {{gt, r3, r14, ROR, 16}, false, al, "gt r3 r14 ROR 16", "gt_r3_r14_ROR_16"}, 1018 {{eq, r12, r11, ROR, 24}, 1019 false, 1020 al, 1021 "eq r12 r11 ROR 24", 1022 "eq_r12_r11_ROR_24"}, 1023 {{lt, r1, r1, ROR, 8}, false, al, "lt r1 r1 ROR 8", "lt_r1_r1_ROR_8"}, 1024 {{al, r1, r9, ROR, 0}, false, al, "al r1 r9 ROR 0", "al_r1_r9_ROR_0"}, 1025 {{ls, r6, r6, ROR, 16}, false, al, "ls r6 r6 ROR 16", "ls_r6_r6_ROR_16"}, 1026 {{ls, r9, r4, ROR, 0}, false, al, "ls r9 r4 ROR 0", "ls_r9_r4_ROR_0"}, 1027 {{cs, r3, r3, ROR, 0}, false, al, "cs r3 r3 ROR 0", "cs_r3_r3_ROR_0"}, 1028 {{ne, r8, r6, ROR, 24}, false, al, "ne r8 r6 ROR 24", "ne_r8_r6_ROR_24"}, 1029 {{eq, r6, r9, ROR, 8}, false, al, "eq r6 r9 ROR 8", "eq_r6_r9_ROR_8"}, 1030 {{ls, r6, r6, ROR, 8}, false, al, "ls r6 r6 ROR 8", "ls_r6_r6_ROR_8"}, 1031 {{al, r8, r5, ROR, 8}, false, al, "al r8 r5 ROR 8", "al_r8_r5_ROR_8"}, 1032 {{mi, r12, r8, ROR, 8}, false, al, "mi r12 r8 ROR 8", "mi_r12_r8_ROR_8"}, 1033 {{le, r1, r8, ROR, 16}, false, al, "le r1 r8 ROR 16", "le_r1_r8_ROR_16"}, 1034 {{cc, r9, r7, ROR, 16}, false, al, "cc r9 r7 ROR 16", "cc_r9_r7_ROR_16"}, 1035 {{ne, r1, r14, ROR, 0}, false, al, "ne r1 r14 ROR 0", "ne_r1_r14_ROR_0"}, 1036 {{cc, r10, r13, ROR, 24}, 1037 false, 1038 al, 1039 "cc r10 r13 ROR 24", 1040 "cc_r10_r13_ROR_24"}, 1041 {{ge, r0, r12, ROR, 16}, false, al, "ge r0 r12 ROR 16", "ge_r0_r12_ROR_16"}, 1042 {{ne, r12, r8, ROR, 0}, false, al, "ne r12 r8 ROR 0", "ne_r12_r8_ROR_0"}, 1043 {{vc, r13, r11, ROR, 0}, false, al, "vc r13 r11 ROR 0", "vc_r13_r11_ROR_0"}, 1044 {{al, r2, r0, ROR, 16}, false, al, "al r2 r0 ROR 16", "al_r2_r0_ROR_16"}, 1045 {{pl, r10, r0, ROR, 24}, false, al, "pl r10 r0 ROR 24", "pl_r10_r0_ROR_24"}, 1046 {{lt, r5, r14, ROR, 16}, false, al, "lt r5 r14 ROR 16", "lt_r5_r14_ROR_16"}, 1047 {{cc, r9, r14, ROR, 8}, false, al, "cc r9 r14 ROR 8", "cc_r9_r14_ROR_8"}, 1048 {{ls, r11, r11, ROR, 24}, 1049 false, 1050 al, 1051 "ls r11 r11 ROR 24", 1052 "ls_r11_r11_ROR_24"}, 1053 {{al, r5, r5, ROR, 0}, false, al, "al r5 r5 ROR 0", "al_r5_r5_ROR_0"}, 1054 {{ge, r9, r1, ROR, 0}, false, al, "ge r9 r1 ROR 0", "ge_r9_r1_ROR_0"}, 1055 {{vs, r10, r12, ROR, 0}, false, al, "vs r10 r12 ROR 0", "vs_r10_r12_ROR_0"}, 1056 {{cs, r7, r9, ROR, 16}, false, al, "cs r7 r9 ROR 16", "cs_r7_r9_ROR_16"}, 1057 {{cc, r2, r8, ROR, 8}, false, al, "cc r2 r8 ROR 8", "cc_r2_r8_ROR_8"}, 1058 {{lt, r0, r7, ROR, 0}, false, al, "lt r0 r7 ROR 0", "lt_r0_r7_ROR_0"}, 1059 {{cs, r4, r8, ROR, 16}, false, al, "cs r4 r8 ROR 16", "cs_r4_r8_ROR_16"}, 1060 {{al, r11, r5, ROR, 24}, false, al, "al r11 r5 ROR 24", "al_r11_r5_ROR_24"}, 1061 {{vc, r6, r3, ROR, 8}, false, al, "vc r6 r3 ROR 8", "vc_r6_r3_ROR_8"}, 1062 {{cc, r14, r10, ROR, 16}, 1063 false, 1064 al, 1065 "cc r14 r10 ROR 16", 1066 "cc_r14_r10_ROR_16"}, 1067 {{mi, r5, r4, ROR, 8}, false, al, "mi r5 r4 ROR 8", "mi_r5_r4_ROR_8"}, 1068 {{lt, r6, r6, ROR, 16}, false, al, "lt r6 r6 ROR 16", "lt_r6_r6_ROR_16"}, 1069 {{ge, r6, r12, ROR, 24}, false, al, "ge r6 r12 ROR 24", "ge_r6_r12_ROR_24"}, 1070 {{mi, r11, r2, ROR, 0}, false, al, "mi r11 r2 ROR 0", "mi_r11_r2_ROR_0"}, 1071 {{cs, r13, r5, ROR, 8}, false, al, "cs r13 r5 ROR 8", "cs_r13_r5_ROR_8"}, 1072 {{cc, r2, r1, ROR, 16}, false, al, "cc r2 r1 ROR 16", "cc_r2_r1_ROR_16"}, 1073 {{eq, r9, r12, ROR, 24}, false, al, "eq r9 r12 ROR 24", "eq_r9_r12_ROR_24"}, 1074 {{al, r9, r4, ROR, 8}, false, al, "al r9 r4 ROR 8", "al_r9_r4_ROR_8"}, 1075 {{ne, r12, r4, ROR, 8}, false, al, "ne r12 r4 ROR 8", "ne_r12_r4_ROR_8"}, 1076 {{cs, r2, r10, ROR, 24}, false, al, "cs r2 r10 ROR 24", "cs_r2_r10_ROR_24"}, 1077 {{hi, r10, r5, ROR, 8}, false, al, "hi r10 r5 ROR 8", "hi_r10_r5_ROR_8"}, 1078 {{ne, r5, r12, ROR, 16}, false, al, "ne r5 r12 ROR 16", "ne_r5_r12_ROR_16"}, 1079 {{vc, r4, r9, ROR, 16}, false, al, "vc r4 r9 ROR 16", "vc_r4_r9_ROR_16"}, 1080 {{pl, r13, r7, ROR, 16}, false, al, "pl r13 r7 ROR 16", "pl_r13_r7_ROR_16"}, 1081 {{ne, r6, r0, ROR, 8}, false, al, "ne r6 r0 ROR 8", "ne_r6_r0_ROR_8"}, 1082 {{hi, r7, r9, ROR, 16}, false, al, "hi r7 r9 ROR 16", "hi_r7_r9_ROR_16"}, 1083 {{vs, r1, r0, ROR, 16}, false, al, "vs r1 r0 ROR 16", "vs_r1_r0_ROR_16"}, 1084 {{mi, r0, r2, ROR, 0}, false, al, "mi r0 r2 ROR 0", "mi_r0_r2_ROR_0"}, 1085 {{eq, r3, r9, ROR, 8}, false, al, "eq r3 r9 ROR 8", "eq_r3_r9_ROR_8"}, 1086 {{ne, r2, r0, ROR, 8}, false, al, "ne r2 r0 ROR 8", "ne_r2_r0_ROR_8"}, 1087 {{ge, r7, r12, ROR, 16}, false, al, "ge r7 r12 ROR 16", "ge_r7_r12_ROR_16"}, 1088 {{mi, r2, r3, ROR, 8}, false, al, "mi r2 r3 ROR 8", "mi_r2_r3_ROR_8"}, 1089 {{hi, r12, r11, ROR, 0}, false, al, "hi r12 r11 ROR 0", "hi_r12_r11_ROR_0"}, 1090 {{ge, r10, r0, ROR, 24}, false, al, "ge r10 r0 ROR 24", "ge_r10_r0_ROR_24"}, 1091 {{cc, r13, r6, ROR, 24}, false, al, "cc r13 r6 ROR 24", "cc_r13_r6_ROR_24"}, 1092 {{vc, r9, r5, ROR, 16}, false, al, "vc r9 r5 ROR 16", "vc_r9_r5_ROR_16"}, 1093 {{ge, r10, r0, ROR, 16}, false, al, "ge r10 r0 ROR 16", "ge_r10_r0_ROR_16"}, 1094 {{ge, r5, r6, ROR, 24}, false, al, "ge r5 r6 ROR 24", "ge_r5_r6_ROR_24"}, 1095 {{al, r4, r1, ROR, 8}, false, al, "al r4 r1 ROR 8", "al_r4_r1_ROR_8"}, 1096 {{le, r11, r0, ROR, 0}, false, al, "le r11 r0 ROR 0", "le_r11_r0_ROR_0"}, 1097 {{pl, r4, r0, ROR, 16}, false, al, "pl r4 r0 ROR 16", "pl_r4_r0_ROR_16"}, 1098 {{le, r6, r8, ROR, 0}, false, al, "le r6 r8 ROR 0", "le_r6_r8_ROR_0"}, 1099 {{pl, r14, r7, ROR, 0}, false, al, "pl r14 r7 ROR 0", "pl_r14_r7_ROR_0"}, 1100 {{vs, r8, r1, ROR, 0}, false, al, "vs r8 r1 ROR 0", "vs_r8_r1_ROR_0"}, 1101 {{gt, r14, r7, ROR, 0}, false, al, "gt r14 r7 ROR 0", "gt_r14_r7_ROR_0"}, 1102 {{mi, r10, r10, ROR, 16}, 1103 false, 1104 al, 1105 "mi r10 r10 ROR 16", 1106 "mi_r10_r10_ROR_16"}, 1107 {{vs, r4, r2, ROR, 16}, false, al, "vs r4 r2 ROR 16", "vs_r4_r2_ROR_16"}, 1108 {{ls, r12, r4, ROR, 16}, false, al, "ls r12 r4 ROR 16", "ls_r12_r4_ROR_16"}, 1109 {{cs, r13, r0, ROR, 0}, false, al, "cs r13 r0 ROR 0", "cs_r13_r0_ROR_0"}, 1110 {{mi, r13, r6, ROR, 8}, false, al, "mi r13 r6 ROR 8", "mi_r13_r6_ROR_8"}, 1111 {{al, r2, r1, ROR, 0}, false, al, "al r2 r1 ROR 0", "al_r2_r1_ROR_0"}, 1112 {{pl, r6, r1, ROR, 8}, false, al, "pl r6 r1 ROR 8", "pl_r6_r1_ROR_8"}, 1113 {{vs, r9, r11, ROR, 24}, false, al, "vs r9 r11 ROR 24", "vs_r9_r11_ROR_24"}, 1114 {{al, r9, r9, ROR, 16}, false, al, "al r9 r9 ROR 16", "al_r9_r9_ROR_16"}, 1115 {{cs, r4, r11, ROR, 24}, false, al, "cs r4 r11 ROR 24", "cs_r4_r11_ROR_24"}, 1116 {{ne, r8, r14, ROR, 16}, false, al, "ne r8 r14 ROR 16", "ne_r8_r14_ROR_16"}, 1117 {{eq, r14, r10, ROR, 24}, 1118 false, 1119 al, 1120 "eq r14 r10 ROR 24", 1121 "eq_r14_r10_ROR_24"}, 1122 {{cs, r5, r11, ROR, 16}, false, al, "cs r5 r11 ROR 16", "cs_r5_r11_ROR_16"}, 1123 {{mi, r7, r9, ROR, 24}, false, al, "mi r7 r9 ROR 24", "mi_r7_r9_ROR_24"}, 1124 {{hi, r2, r10, ROR, 16}, false, al, "hi r2 r10 ROR 16", "hi_r2_r10_ROR_16"}, 1125 {{gt, r11, r9, ROR, 24}, false, al, "gt r11 r9 ROR 24", "gt_r11_r9_ROR_24"}, 1126 {{vc, r6, r13, ROR, 0}, false, al, "vc r6 r13 ROR 0", "vc_r6_r13_ROR_0"}, 1127 {{le, r10, r11, ROR, 8}, false, al, "le r10 r11 ROR 8", "le_r10_r11_ROR_8"}, 1128 {{cc, r4, r0, ROR, 0}, false, al, "cc r4 r0 ROR 0", "cc_r4_r0_ROR_0"}, 1129 {{eq, r2, r8, ROR, 0}, false, al, "eq r2 r8 ROR 0", "eq_r2_r8_ROR_0"}, 1130 {{gt, r9, r8, ROR, 16}, false, al, "gt r9 r8 ROR 16", "gt_r9_r8_ROR_16"}, 1131 {{hi, r0, r9, ROR, 0}, false, al, "hi r0 r9 ROR 0", "hi_r0_r9_ROR_0"}, 1132 {{ls, r14, r9, ROR, 0}, false, al, "ls r14 r9 ROR 0", "ls_r14_r9_ROR_0"}, 1133 {{cs, r14, r0, ROR, 16}, false, al, "cs r14 r0 ROR 16", "cs_r14_r0_ROR_16"}, 1134 {{vs, r3, r7, ROR, 0}, false, al, "vs r3 r7 ROR 0", "vs_r3_r7_ROR_0"}, 1135 {{pl, r3, r6, ROR, 8}, false, al, "pl r3 r6 ROR 8", "pl_r3_r6_ROR_8"}, 1136 {{al, r11, r5, ROR, 8}, false, al, "al r11 r5 ROR 8", "al_r11_r5_ROR_8"}, 1137 {{hi, r13, r8, ROR, 0}, false, al, "hi r13 r8 ROR 0", "hi_r13_r8_ROR_0"}, 1138 {{gt, r8, r9, ROR, 0}, false, al, "gt r8 r9 ROR 0", "gt_r8_r9_ROR_0"}, 1139 {{ne, r8, r4, ROR, 24}, false, al, "ne r8 r4 ROR 24", "ne_r8_r4_ROR_24"}, 1140 {{ls, r11, r14, ROR, 8}, false, al, "ls r11 r14 ROR 8", "ls_r11_r14_ROR_8"}, 1141 {{ls, r6, r7, ROR, 8}, false, al, "ls r6 r7 ROR 8", "ls_r6_r7_ROR_8"}, 1142 {{ge, r9, r6, ROR, 24}, false, al, "ge r9 r6 ROR 24", "ge_r9_r6_ROR_24"}, 1143 {{le, r13, r14, ROR, 8}, false, al, "le r13 r14 ROR 8", "le_r13_r14_ROR_8"}, 1144 {{hi, r11, r13, ROR, 8}, false, al, "hi r11 r13 ROR 8", "hi_r11_r13_ROR_8"}, 1145 {{vc, r1, r7, ROR, 24}, false, al, "vc r1 r7 ROR 24", "vc_r1_r7_ROR_24"}, 1146 {{lt, r3, r14, ROR, 8}, false, al, "lt r3 r14 ROR 8", "lt_r3_r14_ROR_8"}, 1147 {{vs, r7, r1, ROR, 8}, false, al, "vs r7 r1 ROR 8", "vs_r7_r1_ROR_8"}, 1148 {{al, r3, r14, ROR, 8}, false, al, "al r3 r14 ROR 8", "al_r3_r14_ROR_8"}, 1149 {{le, r4, r3, ROR, 0}, false, al, "le r4 r3 ROR 0", "le_r4_r3_ROR_0"}, 1150 {{hi, r12, r10, ROR, 0}, false, al, "hi r12 r10 ROR 0", "hi_r12_r10_ROR_0"}, 1151 {{eq, r13, r12, ROR, 24}, 1152 false, 1153 al, 1154 "eq r13 r12 ROR 24", 1155 "eq_r13_r12_ROR_24"}, 1156 {{cc, r1, r1, ROR, 24}, false, al, "cc r1 r1 ROR 24", "cc_r1_r1_ROR_24"}, 1157 {{vc, r7, r1, ROR, 24}, false, al, "vc r7 r1 ROR 24", "vc_r7_r1_ROR_24"}, 1158 {{ne, r2, r3, ROR, 24}, false, al, "ne r2 r3 ROR 24", "ne_r2_r3_ROR_24"}, 1159 {{lt, r10, r12, ROR, 16}, 1160 false, 1161 al, 1162 "lt r10 r12 ROR 16", 1163 "lt_r10_r12_ROR_16"}, 1164 {{mi, r6, r13, ROR, 24}, false, al, "mi r6 r13 ROR 24", "mi_r6_r13_ROR_24"}, 1165 {{cc, r11, r4, ROR, 24}, false, al, "cc r11 r4 ROR 24", "cc_r11_r4_ROR_24"}, 1166 {{vc, r7, r4, ROR, 24}, false, al, "vc r7 r4 ROR 24", "vc_r7_r4_ROR_24"}, 1167 {{pl, r11, r5, ROR, 0}, false, al, "pl r11 r5 ROR 0", "pl_r11_r5_ROR_0"}, 1168 {{vs, r4, r2, ROR, 8}, false, al, "vs r4 r2 ROR 8", "vs_r4_r2_ROR_8"}, 1169 {{gt, r13, r0, ROR, 8}, false, al, "gt r13 r0 ROR 8", "gt_r13_r0_ROR_8"}, 1170 {{ge, r8, r8, ROR, 16}, false, al, "ge r8 r8 ROR 16", "ge_r8_r8_ROR_16"}, 1171 {{hi, r10, r14, ROR, 0}, false, al, "hi r10 r14 ROR 0", "hi_r10_r14_ROR_0"}, 1172 {{al, r7, r0, ROR, 16}, false, al, "al r7 r0 ROR 16", "al_r7_r0_ROR_16"}, 1173 {{lt, r2, r9, ROR, 16}, false, al, "lt r2 r9 ROR 16", "lt_r2_r9_ROR_16"}, 1174 {{cs, r14, r4, ROR, 0}, false, al, "cs r14 r4 ROR 0", "cs_r14_r4_ROR_0"}, 1175 {{lt, r3, r5, ROR, 16}, false, al, "lt r3 r5 ROR 16", "lt_r3_r5_ROR_16"}, 1176 {{vc, r4, r12, ROR, 0}, false, al, "vc r4 r12 ROR 0", "vc_r4_r12_ROR_0"}, 1177 {{hi, r4, r10, ROR, 8}, false, al, "hi r4 r10 ROR 8", "hi_r4_r10_ROR_8"}, 1178 {{vc, r13, r6, ROR, 0}, false, al, "vc r13 r6 ROR 0", "vc_r13_r6_ROR_0"}, 1179 {{vc, r9, r9, ROR, 24}, false, al, "vc r9 r9 ROR 24", "vc_r9_r9_ROR_24"}, 1180 {{lt, r0, r4, ROR, 24}, false, al, "lt r0 r4 ROR 24", "lt_r0_r4_ROR_24"}, 1181 {{cs, r9, r13, ROR, 8}, false, al, "cs r9 r13 ROR 8", "cs_r9_r13_ROR_8"}, 1182 {{al, r2, r13, ROR, 16}, false, al, "al r2 r13 ROR 16", "al_r2_r13_ROR_16"}, 1183 {{vc, r14, r4, ROR, 24}, false, al, "vc r14 r4 ROR 24", "vc_r14_r4_ROR_24"}, 1184 {{cs, r12, r8, ROR, 0}, false, al, "cs r12 r8 ROR 0", "cs_r12_r8_ROR_0"}, 1185 {{hi, r4, r7, ROR, 0}, false, al, "hi r4 r7 ROR 0", "hi_r4_r7_ROR_0"}, 1186 {{cc, r14, r13, ROR, 0}, false, al, "cc r14 r13 ROR 0", "cc_r14_r13_ROR_0"}, 1187 {{gt, r13, r2, ROR, 0}, false, al, "gt r13 r2 ROR 0", "gt_r13_r2_ROR_0"}, 1188 {{al, r3, r14, ROR, 24}, false, al, "al r3 r14 ROR 24", "al_r3_r14_ROR_24"}, 1189 {{vs, r7, r11, ROR, 8}, false, al, "vs r7 r11 ROR 8", "vs_r7_r11_ROR_8"}, 1190 {{eq, r3, r11, ROR, 8}, false, al, "eq r3 r11 ROR 8", "eq_r3_r11_ROR_8"}, 1191 {{lt, r8, r1, ROR, 24}, false, al, "lt r8 r1 ROR 24", "lt_r8_r1_ROR_24"}, 1192 {{ge, r9, r1, ROR, 8}, false, al, "ge r9 r1 ROR 8", "ge_r9_r1_ROR_8"}, 1193 {{ls, r7, r9, ROR, 8}, false, al, "ls r7 r9 ROR 8", "ls_r7_r9_ROR_8"}, 1194 {{pl, r8, r13, ROR, 16}, false, al, "pl r8 r13 ROR 16", "pl_r8_r13_ROR_16"}, 1195 {{lt, r4, r11, ROR, 0}, false, al, "lt r4 r11 ROR 0", "lt_r4_r11_ROR_0"}, 1196 {{vc, r1, r11, ROR, 8}, false, al, "vc r1 r11 ROR 8", "vc_r1_r11_ROR_8"}, 1197 {{eq, r9, r4, ROR, 8}, false, al, "eq r9 r4 ROR 8", "eq_r9_r4_ROR_8"}, 1198 {{le, r0, r11, ROR, 0}, false, al, "le r0 r11 ROR 0", "le_r0_r11_ROR_0"}, 1199 {{eq, r14, r1, ROR, 16}, false, al, "eq r14 r1 ROR 16", "eq_r14_r1_ROR_16"}, 1200 {{ne, r13, r8, ROR, 0}, false, al, "ne r13 r8 ROR 0", "ne_r13_r8_ROR_0"}, 1201 {{eq, r7, r2, ROR, 16}, false, al, "eq r7 r2 ROR 16", "eq_r7_r2_ROR_16"}, 1202 {{ge, r6, r7, ROR, 24}, false, al, "ge r6 r7 ROR 24", "ge_r6_r7_ROR_24"}, 1203 {{gt, r10, r2, ROR, 8}, false, al, "gt r10 r2 ROR 8", "gt_r10_r2_ROR_8"}, 1204 {{le, r13, r2, ROR, 8}, false, al, "le r13 r2 ROR 8", "le_r13_r2_ROR_8"}, 1205 {{lt, r11, r6, ROR, 8}, false, al, "lt r11 r6 ROR 8", "lt_r11_r6_ROR_8"}, 1206 {{ne, r2, r8, ROR, 8}, false, al, "ne r2 r8 ROR 8", "ne_r2_r8_ROR_8"}, 1207 {{lt, r4, r14, ROR, 8}, false, al, "lt r4 r14 ROR 8", "lt_r4_r14_ROR_8"}, 1208 {{vc, r10, r7, ROR, 24}, false, al, "vc r10 r7 ROR 24", "vc_r10_r7_ROR_24"}, 1209 {{eq, r4, r12, ROR, 0}, false, al, "eq r4 r12 ROR 0", "eq_r4_r12_ROR_0"}, 1210 {{lt, r1, r2, ROR, 16}, false, al, "lt r1 r2 ROR 16", "lt_r1_r2_ROR_16"}, 1211 {{gt, r2, r6, ROR, 24}, false, al, "gt r2 r6 ROR 24", "gt_r2_r6_ROR_24"}, 1212 {{cc, r5, r14, ROR, 8}, false, al, "cc r5 r14 ROR 8", "cc_r5_r14_ROR_8"}, 1213 {{eq, r7, r11, ROR, 8}, false, al, "eq r7 r11 ROR 8", "eq_r7_r11_ROR_8"}, 1214 {{gt, r14, r9, ROR, 8}, false, al, "gt r14 r9 ROR 8", "gt_r14_r9_ROR_8"}, 1215 {{vs, r10, r5, ROR, 16}, false, al, "vs r10 r5 ROR 16", "vs_r10_r5_ROR_16"}, 1216 {{eq, r8, r13, ROR, 0}, false, al, "eq r8 r13 ROR 0", "eq_r8_r13_ROR_0"}, 1217 {{gt, r5, r14, ROR, 16}, false, al, "gt r5 r14 ROR 16", "gt_r5_r14_ROR_16"}, 1218 {{ge, r9, r3, ROR, 16}, false, al, "ge r9 r3 ROR 16", "ge_r9_r3_ROR_16"}, 1219 {{hi, r2, r6, ROR, 0}, false, al, "hi r2 r6 ROR 0", "hi_r2_r6_ROR_0"}, 1220 {{mi, r3, r1, ROR, 0}, false, al, "mi r3 r1 ROR 0", "mi_r3_r1_ROR_0"}, 1221 {{gt, r14, r6, ROR, 24}, false, al, "gt r14 r6 ROR 24", "gt_r14_r6_ROR_24"}, 1222 {{cs, r0, r11, ROR, 0}, false, al, "cs r0 r11 ROR 0", "cs_r0_r11_ROR_0"}, 1223 {{cc, r2, r8, ROR, 16}, false, al, "cc r2 r8 ROR 16", "cc_r2_r8_ROR_16"}, 1224 {{cc, r8, r4, ROR, 16}, false, al, "cc r8 r4 ROR 16", "cc_r8_r4_ROR_16"}, 1225 {{gt, r6, r6, ROR, 16}, false, al, "gt r6 r6 ROR 16", "gt_r6_r6_ROR_16"}, 1226 {{eq, r8, r3, ROR, 8}, false, al, "eq r8 r3 ROR 8", "eq_r8_r3_ROR_8"}, 1227 {{ne, r12, r8, ROR, 24}, false, al, "ne r12 r8 ROR 24", "ne_r12_r8_ROR_24"}, 1228 {{mi, r10, r2, ROR, 8}, false, al, "mi r10 r2 ROR 8", "mi_r10_r2_ROR_8"}, 1229 {{ls, r1, r5, ROR, 24}, false, al, "ls r1 r5 ROR 24", "ls_r1_r5_ROR_24"}, 1230 {{ge, r3, r14, ROR, 0}, false, al, "ge r3 r14 ROR 0", "ge_r3_r14_ROR_0"}, 1231 {{le, r6, r1, ROR, 16}, false, al, "le r6 r1 ROR 16", "le_r6_r1_ROR_16"}, 1232 {{cc, r8, r2, ROR, 16}, false, al, "cc r8 r2 ROR 16", "cc_r8_r2_ROR_16"}, 1233 {{al, r1, r14, ROR, 16}, false, al, "al r1 r14 ROR 16", "al_r1_r14_ROR_16"}, 1234 {{ge, r12, r5, ROR, 0}, false, al, "ge r12 r5 ROR 0", "ge_r12_r5_ROR_0"}, 1235 {{cs, r1, r9, ROR, 16}, false, al, "cs r1 r9 ROR 16", "cs_r1_r9_ROR_16"}, 1236 {{eq, r8, r2, ROR, 8}, false, al, "eq r8 r2 ROR 8", "eq_r8_r2_ROR_8"}, 1237 {{al, r10, r6, ROR, 16}, false, al, "al r10 r6 ROR 16", "al_r10_r6_ROR_16"}, 1238 {{ge, r5, r12, ROR, 24}, false, al, "ge r5 r12 ROR 24", "ge_r5_r12_ROR_24"}, 1239 {{eq, r4, r13, ROR, 24}, false, al, "eq r4 r13 ROR 24", "eq_r4_r13_ROR_24"}, 1240 {{le, r6, r1, ROR, 8}, false, al, "le r6 r1 ROR 8", "le_r6_r1_ROR_8"}, 1241 {{gt, r13, r10, ROR, 24}, 1242 false, 1243 al, 1244 "gt r13 r10 ROR 24", 1245 "gt_r13_r10_ROR_24"}, 1246 {{lt, r4, r9, ROR, 0}, false, al, "lt r4 r9 ROR 0", "lt_r4_r9_ROR_0"}, 1247 {{ls, r12, r14, ROR, 8}, false, al, "ls r12 r14 ROR 8", "ls_r12_r14_ROR_8"}, 1248 {{cs, r14, r10, ROR, 16}, 1249 false, 1250 al, 1251 "cs r14 r10 ROR 16", 1252 "cs_r14_r10_ROR_16"}, 1253 {{ne, r4, r10, ROR, 0}, false, al, "ne r4 r10 ROR 0", "ne_r4_r10_ROR_0"}, 1254 {{ge, r2, r11, ROR, 16}, false, al, "ge r2 r11 ROR 16", "ge_r2_r11_ROR_16"}, 1255 {{lt, r4, r13, ROR, 0}, false, al, "lt r4 r13 ROR 0", "lt_r4_r13_ROR_0"}, 1256 {{pl, r7, r12, ROR, 0}, false, al, "pl r7 r12 ROR 0", "pl_r7_r12_ROR_0"}, 1257 {{vc, r10, r11, ROR, 0}, false, al, "vc r10 r11 ROR 0", "vc_r10_r11_ROR_0"}, 1258 {{pl, r8, r2, ROR, 24}, false, al, "pl r8 r2 ROR 24", "pl_r8_r2_ROR_24"}, 1259 {{pl, r7, r1, ROR, 16}, false, al, "pl r7 r1 ROR 16", "pl_r7_r1_ROR_16"}, 1260 {{ls, r3, r12, ROR, 24}, false, al, "ls r3 r12 ROR 24", "ls_r3_r12_ROR_24"}, 1261 {{cs, r3, r10, ROR, 16}, false, al, "cs r3 r10 ROR 16", "cs_r3_r10_ROR_16"}, 1262 {{vc, r2, r8, ROR, 24}, false, al, "vc r2 r8 ROR 24", "vc_r2_r8_ROR_24"}, 1263 {{al, r1, r11, ROR, 24}, false, al, "al r1 r11 ROR 24", "al_r1_r11_ROR_24"}, 1264 {{ne, r11, r6, ROR, 16}, false, al, "ne r11 r6 ROR 16", "ne_r11_r6_ROR_16"}, 1265 {{hi, r4, r13, ROR, 8}, false, al, "hi r4 r13 ROR 8", "hi_r4_r13_ROR_8"}, 1266 {{vs, r8, r4, ROR, 24}, false, al, "vs r8 r4 ROR 24", "vs_r8_r4_ROR_24"}, 1267 {{eq, r13, r1, ROR, 0}, false, al, "eq r13 r1 ROR 0", "eq_r13_r1_ROR_0"}, 1268 {{eq, r11, r6, ROR, 24}, false, al, "eq r11 r6 ROR 24", "eq_r11_r6_ROR_24"}, 1269 {{ne, r5, r10, ROR, 0}, false, al, "ne r5 r10 ROR 0", "ne_r5_r10_ROR_0"}, 1270 {{cc, r8, r13, ROR, 16}, false, al, "cc r8 r13 ROR 16", "cc_r8_r13_ROR_16"}, 1271 {{al, r14, r14, ROR, 24}, 1272 false, 1273 al, 1274 "al r14 r14 ROR 24", 1275 "al_r14_r14_ROR_24"}, 1276 {{ge, r9, r2, ROR, 8}, false, al, "ge r9 r2 ROR 8", "ge_r9_r2_ROR_8"}, 1277 {{le, r11, r3, ROR, 24}, false, al, "le r11 r3 ROR 24", "le_r11_r3_ROR_24"}, 1278 {{cs, r14, r10, ROR, 0}, false, al, "cs r14 r10 ROR 0", "cs_r14_r10_ROR_0"}, 1279 {{cs, r12, r11, ROR, 8}, false, al, "cs r12 r11 ROR 8", "cs_r12_r11_ROR_8"}, 1280 {{le, r2, r6, ROR, 0}, false, al, "le r2 r6 ROR 0", "le_r2_r6_ROR_0"}, 1281 {{lt, r3, r10, ROR, 0}, false, al, "lt r3 r10 ROR 0", "lt_r3_r10_ROR_0"}, 1282 {{cs, r13, r4, ROR, 24}, false, al, "cs r13 r4 ROR 24", "cs_r13_r4_ROR_24"}, 1283 {{pl, r14, r12, ROR, 16}, 1284 false, 1285 al, 1286 "pl r14 r12 ROR 16", 1287 "pl_r14_r12_ROR_16"}, 1288 {{gt, r2, r14, ROR, 16}, false, al, "gt r2 r14 ROR 16", "gt_r2_r14_ROR_16"}, 1289 {{vc, r2, r3, ROR, 8}, false, al, "vc r2 r3 ROR 8", "vc_r2_r3_ROR_8"}, 1290 {{ge, r12, r0, ROR, 16}, false, al, "ge r12 r0 ROR 16", "ge_r12_r0_ROR_16"}, 1291 {{ls, r8, r4, ROR, 0}, false, al, "ls r8 r4 ROR 0", "ls_r8_r4_ROR_0"}, 1292 {{ge, r6, r14, ROR, 16}, false, al, "ge r6 r14 ROR 16", "ge_r6_r14_ROR_16"}, 1293 {{ne, r1, r4, ROR, 0}, false, al, "ne r1 r4 ROR 0", "ne_r1_r4_ROR_0"}, 1294 {{le, r8, r10, ROR, 16}, false, al, "le r8 r10 ROR 16", "le_r8_r10_ROR_16"}, 1295 {{al, r1, r13, ROR, 16}, false, al, "al r1 r13 ROR 16", "al_r1_r13_ROR_16"}, 1296 {{gt, r6, r12, ROR, 0}, false, al, "gt r6 r12 ROR 0", "gt_r6_r12_ROR_0"}, 1297 {{ls, r11, r5, ROR, 16}, false, al, "ls r11 r5 ROR 16", "ls_r11_r5_ROR_16"}, 1298 {{ls, r12, r4, ROR, 0}, false, al, "ls r12 r4 ROR 0", "ls_r12_r4_ROR_0"}, 1299 {{vc, r1, r12, ROR, 24}, false, al, "vc r1 r12 ROR 24", "vc_r1_r12_ROR_24"}, 1300 {{cs, r2, r11, ROR, 0}, false, al, "cs r2 r11 ROR 0", "cs_r2_r11_ROR_0"}, 1301 {{hi, r6, r10, ROR, 24}, false, al, "hi r6 r10 ROR 24", "hi_r6_r10_ROR_24"}, 1302 {{lt, r13, r10, ROR, 0}, false, al, "lt r13 r10 ROR 0", "lt_r13_r10_ROR_0"}, 1303 {{vc, r6, r14, ROR, 24}, false, al, "vc r6 r14 ROR 24", "vc_r6_r14_ROR_24"}, 1304 {{vc, r1, r5, ROR, 24}, false, al, "vc r1 r5 ROR 24", "vc_r1_r5_ROR_24"}, 1305 {{ne, r9, r9, ROR, 8}, false, al, "ne r9 r9 ROR 8", "ne_r9_r9_ROR_8"}, 1306 {{cs, r7, r2, ROR, 8}, false, al, "cs r7 r2 ROR 8", "cs_r7_r2_ROR_8"}, 1307 {{lt, r5, r9, ROR, 24}, false, al, "lt r5 r9 ROR 24", "lt_r5_r9_ROR_24"}, 1308 {{gt, r13, r0, ROR, 24}, false, al, "gt r13 r0 ROR 24", "gt_r13_r0_ROR_24"}, 1309 {{lt, r10, r7, ROR, 24}, false, al, "lt r10 r7 ROR 24", "lt_r10_r7_ROR_24"}, 1310 {{pl, r4, r0, ROR, 0}, false, al, "pl r4 r0 ROR 0", "pl_r4_r0_ROR_0"}, 1311 {{vc, r9, r7, ROR, 24}, false, al, "vc r9 r7 ROR 24", "vc_r9_r7_ROR_24"}, 1312 {{hi, r14, r0, ROR, 8}, false, al, "hi r14 r0 ROR 8", "hi_r14_r0_ROR_8"}, 1313 {{mi, r4, r7, ROR, 16}, false, al, "mi r4 r7 ROR 16", "mi_r4_r7_ROR_16"}}; 1314 1315 // These headers each contain an array of `TestResult` with the reference output 1316 // values. The reference arrays are names `kReference{mnemonic}`. 1317 #include "aarch32/traces/assembler-cond-rd-operand-rn-ror-amount-sxtb-a32.h" 1318 #include "aarch32/traces/assembler-cond-rd-operand-rn-ror-amount-sxtb16-a32.h" 1319 #include "aarch32/traces/assembler-cond-rd-operand-rn-ror-amount-sxth-a32.h" 1320 #include "aarch32/traces/assembler-cond-rd-operand-rn-ror-amount-uxtb-a32.h" 1321 #include "aarch32/traces/assembler-cond-rd-operand-rn-ror-amount-uxtb16-a32.h" 1322 #include "aarch32/traces/assembler-cond-rd-operand-rn-ror-amount-uxth-a32.h" 1323 1324 1325 // The maximum number of errors to report in detail for each test. 1326 const unsigned kErrorReportLimit = 8; 1327 1328 typedef void (MacroAssembler::*Fn)(Condition cond, 1329 Register rd, 1330 const Operand& op); 1331 1332 void TestHelper(Fn instruction, 1333 const char* mnemonic, 1334 const TestResult reference[]) { 1335 unsigned total_error_count = 0; 1336 MacroAssembler masm(BUF_SIZE); 1337 1338 masm.UseA32(); 1339 1340 for (unsigned i = 0; i < ARRAY_SIZE(kTests); i++) { 1341 // Values to pass to the macro-assembler. 1342 Condition cond = kTests[i].operands.cond; 1343 Register rd = kTests[i].operands.rd; 1344 Register rn = kTests[i].operands.rn; 1345 ShiftType ror = kTests[i].operands.ror; 1346 uint32_t amount = kTests[i].operands.amount; 1347 Operand op(rn, ror, amount); 1348 1349 int32_t start = masm.GetCursorOffset(); 1350 { 1351 // We never generate more that 4 bytes, as IT instructions are only 1352 // allowed for narrow encodings. 1353 ExactAssemblyScope scope(&masm, 4, ExactAssemblyScope::kMaximumSize); 1354 if (kTests[i].in_it_block) { 1355 masm.it(kTests[i].it_condition); 1356 } 1357 (masm.*instruction)(cond, rd, op); 1358 } 1359 int32_t end = masm.GetCursorOffset(); 1360 1361 const byte* result_ptr = 1362 masm.GetBuffer()->GetOffsetAddress<const byte*>(start); 1363 VIXL_ASSERT(start < end); 1364 uint32_t result_size = end - start; 1365 1366 if (Test::generate_test_trace()) { 1367 // Print the result bytes. 1368 printf("const byte kInstruction_%s_%s[] = {\n", 1369 mnemonic, 1370 kTests[i].identifier); 1371 for (uint32_t j = 0; j < result_size; j++) { 1372 if (j == 0) { 1373 printf(" 0x%02" PRIx8, result_ptr[j]); 1374 } else { 1375 printf(", 0x%02" PRIx8, result_ptr[j]); 1376 } 1377 } 1378 // This comment is meant to be used by external tools to validate 1379 // the encoding. We can parse the comment to figure out what 1380 // instruction this corresponds to. 1381 if (kTests[i].in_it_block) { 1382 printf(" // It %s; %s %s\n};\n", 1383 kTests[i].it_condition.GetName(), 1384 mnemonic, 1385 kTests[i].operands_description); 1386 } else { 1387 printf(" // %s %s\n};\n", mnemonic, kTests[i].operands_description); 1388 } 1389 } else { 1390 // Check we've emitted the exact same encoding as present in the 1391 // trace file. Only print up to `kErrorReportLimit` errors. 1392 if (((result_size != reference[i].size) || 1393 (memcmp(result_ptr, reference[i].encoding, reference[i].size) != 1394 0)) && 1395 (++total_error_count <= kErrorReportLimit)) { 1396 printf("Error when testing \"%s\" with operands \"%s\":\n", 1397 mnemonic, 1398 kTests[i].operands_description); 1399 printf(" Expected: "); 1400 for (uint32_t j = 0; j < reference[i].size; j++) { 1401 if (j == 0) { 1402 printf("0x%02" PRIx8, reference[i].encoding[j]); 1403 } else { 1404 printf(", 0x%02" PRIx8, reference[i].encoding[j]); 1405 } 1406 } 1407 printf("\n"); 1408 printf(" Found: "); 1409 for (uint32_t j = 0; j < result_size; j++) { 1410 if (j == 0) { 1411 printf("0x%02" PRIx8, result_ptr[j]); 1412 } else { 1413 printf(", 0x%02" PRIx8, result_ptr[j]); 1414 } 1415 } 1416 printf("\n"); 1417 } 1418 } 1419 } 1420 1421 masm.FinalizeCode(); 1422 1423 if (Test::generate_test_trace()) { 1424 // Finalize the trace file by writing the final `TestResult` array 1425 // which links all generated instruction encodings. 1426 printf("const TestResult kReference%s[] = {\n", mnemonic); 1427 for (unsigned i = 0; i < ARRAY_SIZE(kTests); i++) { 1428 printf(" {\n"); 1429 printf(" ARRAY_SIZE(kInstruction_%s_%s),\n", 1430 mnemonic, 1431 kTests[i].identifier); 1432 printf(" kInstruction_%s_%s,\n", mnemonic, kTests[i].identifier); 1433 printf(" },\n"); 1434 } 1435 printf("};\n"); 1436 } else { 1437 if (total_error_count > kErrorReportLimit) { 1438 printf("%u other errors follow.\n", 1439 total_error_count - kErrorReportLimit); 1440 } 1441 // Crash if the test failed. 1442 VIXL_CHECK(total_error_count == 0); 1443 } 1444 } 1445 1446 // Instantiate tests for each instruction in the list. 1447 #define TEST(mnemonic) \ 1448 void Test_##mnemonic() { \ 1449 TestHelper(&MacroAssembler::mnemonic, #mnemonic, kReference##mnemonic); \ 1450 } \ 1451 Test test_##mnemonic( \ 1452 "AARCH32_ASSEMBLER_COND_RD_OPERAND_RN_ROR_AMOUNT_" #mnemonic "_A32", \ 1453 &Test_##mnemonic); 1454 FOREACH_INSTRUCTION(TEST) 1455 #undef TEST 1456 1457 } // namespace 1458 #endif 1459 1460 } // namespace aarch32 1461 } // namespace vixl 1462