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(adc) \
53 M(adcs) \
54 M(add) \
55 M(adds) \
56 M(and_) \
57 M(ands) \
58 M(bic) \
59 M(bics) \
60 M(eor) \
61 M(eors) \
62 M(orr) \
63 M(orrs) \
64 M(rsb) \
65 M(rsbs) \
66 M(rsc) \
67 M(rscs) \
68 M(sbc) \
69 M(sbcs) \
70 M(sub) \
71 M(subs)
72
73
74 // The following definitions are defined again in each generated test, therefore
75 // we need to place them in an anomymous namespace. It expresses that they are
76 // local to this file only, and the compiler is not allowed to share these types
77 // across test files during template instantiation. Specifically, `Operands` has
78 // various layouts across generated tests so it absolutely cannot be shared.
79
80 #ifdef VIXL_INCLUDE_TARGET_A32
81 namespace {
82
83 // Values to be passed to the assembler to produce the instruction under test.
84 struct Operands {
85 Condition cond;
86 Register rd;
87 Register rn;
88 Register rm;
89 ShiftType shift;
90 Register rs;
91 };
92
93 // This structure contains all data needed to test one specific
94 // instruction.
95 struct TestData {
96 // The `operands` field represents what to pass to the assembler to
97 // produce the instruction.
98 Operands operands;
99 // True if we need to generate an IT instruction for this test to be valid.
100 bool in_it_block;
101 // The condition to give the IT instruction, this will be set to "al" by
102 // default.
103 Condition it_condition;
104 // Description of the operands, used for error reporting.
105 const char* operands_description;
106 // Unique identifier, used for generating traces.
107 const char* identifier;
108 };
109
110 struct TestResult {
111 size_t size;
112 const byte* encoding;
113 };
114
115 // Each element of this array produce one instruction encoding.
116 const TestData kTests[] = {{{mi, r8, r10, r8, LSL, r0},
117 false,
118 al,
119 "mi r8 r10 r8 LSL r0",
120 "mi_r8_r10_r8_LSL_r0"},
121 {{cc, r11, r4, r13, ROR, r8},
122 false,
123 al,
124 "cc r11 r4 r13 ROR r8",
125 "cc_r11_r4_r13_ROR_r8"},
126 {{al, r13, r11, r3, ROR, r4},
127 false,
128 al,
129 "al r13 r11 r3 ROR r4",
130 "al_r13_r11_r3_ROR_r4"},
131 {{gt, r11, r5, r4, LSR, r11},
132 false,
133 al,
134 "gt r11 r5 r4 LSR r11",
135 "gt_r11_r5_r4_LSR_r11"},
136 {{vs, r12, r0, r8, ROR, r13},
137 false,
138 al,
139 "vs r12 r0 r8 ROR r13",
140 "vs_r12_r0_r8_ROR_r13"},
141 {{pl, r10, r12, r5, LSL, r5},
142 false,
143 al,
144 "pl r10 r12 r5 LSL r5",
145 "pl_r10_r12_r5_LSL_r5"},
146 {{ls, r10, r2, r2, LSL, r9},
147 false,
148 al,
149 "ls r10 r2 r2 LSL r9",
150 "ls_r10_r2_r2_LSL_r9"},
151 {{eq, r12, r7, r9, LSR, r7},
152 false,
153 al,
154 "eq r12 r7 r9 LSR r7",
155 "eq_r12_r7_r9_LSR_r7"},
156 {{mi, r3, r13, r0, ROR, r11},
157 false,
158 al,
159 "mi r3 r13 r0 ROR r11",
160 "mi_r3_r13_r0_ROR_r11"},
161 {{lt, r9, r0, r9, ASR, r12},
162 false,
163 al,
164 "lt r9 r0 r9 ASR r12",
165 "lt_r9_r0_r9_ASR_r12"},
166 {{le, r12, r8, r14, ROR, r1},
167 false,
168 al,
169 "le r12 r8 r14 ROR r1",
170 "le_r12_r8_r14_ROR_r1"},
171 {{cc, r7, r1, r14, LSL, r0},
172 false,
173 al,
174 "cc r7 r1 r14 LSL r0",
175 "cc_r7_r1_r14_LSL_r0"},
176 {{le, r11, r13, r3, ROR, r6},
177 false,
178 al,
179 "le r11 r13 r3 ROR r6",
180 "le_r11_r13_r3_ROR_r6"},
181 {{al, r5, r8, r9, ASR, r14},
182 false,
183 al,
184 "al r5 r8 r9 ASR r14",
185 "al_r5_r8_r9_ASR_r14"},
186 {{hi, r1, r2, r7, ASR, r13},
187 false,
188 al,
189 "hi r1 r2 r7 ASR r13",
190 "hi_r1_r2_r7_ASR_r13"},
191 {{al, r13, r8, r7, LSR, r12},
192 false,
193 al,
194 "al r13 r8 r7 LSR r12",
195 "al_r13_r8_r7_LSR_r12"},
196 {{vc, r3, r6, r4, ASR, r4},
197 false,
198 al,
199 "vc r3 r6 r4 ASR r4",
200 "vc_r3_r6_r4_ASR_r4"},
201 {{lt, r12, r4, r6, LSL, r5},
202 false,
203 al,
204 "lt r12 r4 r6 LSL r5",
205 "lt_r12_r4_r6_LSL_r5"},
206 {{ls, r13, r5, r11, ROR, r8},
207 false,
208 al,
209 "ls r13 r5 r11 ROR r8",
210 "ls_r13_r5_r11_ROR_r8"},
211 {{vc, r11, r10, r11, LSL, r9},
212 false,
213 al,
214 "vc r11 r10 r11 LSL r9",
215 "vc_r11_r10_r11_LSL_r9"},
216 {{al, r13, r14, r10, LSR, r4},
217 false,
218 al,
219 "al r13 r14 r10 LSR r4",
220 "al_r13_r14_r10_LSR_r4"},
221 {{ge, r12, r13, r6, ASR, r12},
222 false,
223 al,
224 "ge r12 r13 r6 ASR r12",
225 "ge_r12_r13_r6_ASR_r12"},
226 {{ne, r14, r6, r12, ROR, r0},
227 false,
228 al,
229 "ne r14 r6 r12 ROR r0",
230 "ne_r14_r6_r12_ROR_r0"},
231 {{ls, r13, r14, r14, ASR, r13},
232 false,
233 al,
234 "ls r13 r14 r14 ASR r13",
235 "ls_r13_r14_r14_ASR_r13"},
236 {{lt, r10, r13, r7, ROR, r8},
237 false,
238 al,
239 "lt r10 r13 r7 ROR r8",
240 "lt_r10_r13_r7_ROR_r8"},
241 {{lt, r8, r8, r9, ASR, r0},
242 false,
243 al,
244 "lt r8 r8 r9 ASR r0",
245 "lt_r8_r8_r9_ASR_r0"},
246 {{ne, r7, r5, r4, LSR, r8},
247 false,
248 al,
249 "ne r7 r5 r4 LSR r8",
250 "ne_r7_r5_r4_LSR_r8"},
251 {{mi, r11, r5, r1, LSL, r13},
252 false,
253 al,
254 "mi r11 r5 r1 LSL r13",
255 "mi_r11_r5_r1_LSL_r13"},
256 {{ge, r14, r1, r2, LSL, r1},
257 false,
258 al,
259 "ge r14 r1 r2 LSL r1",
260 "ge_r14_r1_r2_LSL_r1"},
261 {{ls, r6, r11, r4, ASR, r11},
262 false,
263 al,
264 "ls r6 r11 r4 ASR r11",
265 "ls_r6_r11_r4_ASR_r11"},
266 {{hi, r11, r12, r4, LSR, r13},
267 false,
268 al,
269 "hi r11 r12 r4 LSR r13",
270 "hi_r11_r12_r4_LSR_r13"},
271 {{le, r9, r3, r0, LSL, r7},
272 false,
273 al,
274 "le r9 r3 r0 LSL r7",
275 "le_r9_r3_r0_LSL_r7"},
276 {{ls, r8, r7, r4, ASR, r3},
277 false,
278 al,
279 "ls r8 r7 r4 ASR r3",
280 "ls_r8_r7_r4_ASR_r3"},
281 {{pl, r9, r13, r11, LSL, r7},
282 false,
283 al,
284 "pl r9 r13 r11 LSL r7",
285 "pl_r9_r13_r11_LSL_r7"},
286 {{eq, r12, r7, r11, ASR, r3},
287 false,
288 al,
289 "eq r12 r7 r11 ASR r3",
290 "eq_r12_r7_r11_ASR_r3"},
291 {{mi, r3, r9, r13, ROR, r10},
292 false,
293 al,
294 "mi r3 r9 r13 ROR r10",
295 "mi_r3_r9_r13_ROR_r10"},
296 {{mi, r14, r8, r10, ROR, r10},
297 false,
298 al,
299 "mi r14 r8 r10 ROR r10",
300 "mi_r14_r8_r10_ROR_r10"},
301 {{lt, r5, r3, r5, LSL, r1},
302 false,
303 al,
304 "lt r5 r3 r5 LSL r1",
305 "lt_r5_r3_r5_LSL_r1"},
306 {{ne, r12, r6, r1, LSL, r7},
307 false,
308 al,
309 "ne r12 r6 r1 LSL r7",
310 "ne_r12_r6_r1_LSL_r7"},
311 {{lt, r3, r6, r5, ASR, r1},
312 false,
313 al,
314 "lt r3 r6 r5 ASR r1",
315 "lt_r3_r6_r5_ASR_r1"},
316 {{lt, r14, r0, r0, LSR, r11},
317 false,
318 al,
319 "lt r14 r0 r0 LSR r11",
320 "lt_r14_r0_r0_LSR_r11"},
321 {{eq, r11, r10, r4, LSL, r14},
322 false,
323 al,
324 "eq r11 r10 r4 LSL r14",
325 "eq_r11_r10_r4_LSL_r14"},
326 {{lt, r2, r14, r11, LSL, r9},
327 false,
328 al,
329 "lt r2 r14 r11 LSL r9",
330 "lt_r2_r14_r11_LSL_r9"},
331 {{mi, r0, r6, r14, ASR, r11},
332 false,
333 al,
334 "mi r0 r6 r14 ASR r11",
335 "mi_r0_r6_r14_ASR_r11"},
336 {{le, r4, r6, r3, LSR, r11},
337 false,
338 al,
339 "le r4 r6 r3 LSR r11",
340 "le_r4_r6_r3_LSR_r11"},
341 {{cs, r2, r6, r1, ROR, r5},
342 false,
343 al,
344 "cs r2 r6 r1 ROR r5",
345 "cs_r2_r6_r1_ROR_r5"},
346 {{ne, r10, r9, r10, ROR, r4},
347 false,
348 al,
349 "ne r10 r9 r10 ROR r4",
350 "ne_r10_r9_r10_ROR_r4"},
351 {{pl, r7, r9, r11, LSR, r14},
352 false,
353 al,
354 "pl r7 r9 r11 LSR r14",
355 "pl_r7_r9_r11_LSR_r14"},
356 {{pl, r11, r8, r3, ASR, r5},
357 false,
358 al,
359 "pl r11 r8 r3 ASR r5",
360 "pl_r11_r8_r3_ASR_r5"},
361 {{le, r10, r4, r10, ROR, r8},
362 false,
363 al,
364 "le r10 r4 r10 ROR r8",
365 "le_r10_r4_r10_ROR_r8"},
366 {{ne, r8, r14, r8, LSL, r5},
367 false,
368 al,
369 "ne r8 r14 r8 LSL r5",
370 "ne_r8_r14_r8_LSL_r5"},
371 {{eq, r12, r5, r2, LSL, r11},
372 false,
373 al,
374 "eq r12 r5 r2 LSL r11",
375 "eq_r12_r5_r2_LSL_r11"},
376 {{pl, r9, r9, r8, ASR, r2},
377 false,
378 al,
379 "pl r9 r9 r8 ASR r2",
380 "pl_r9_r9_r8_ASR_r2"},
381 {{hi, r8, r12, r3, LSL, r5},
382 false,
383 al,
384 "hi r8 r12 r3 LSL r5",
385 "hi_r8_r12_r3_LSL_r5"},
386 {{eq, r6, r5, r9, LSL, r3},
387 false,
388 al,
389 "eq r6 r5 r9 LSL r3",
390 "eq_r6_r5_r9_LSL_r3"},
391 {{lt, r5, r1, r9, LSR, r6},
392 false,
393 al,
394 "lt r5 r1 r9 LSR r6",
395 "lt_r5_r1_r9_LSR_r6"},
396 {{hi, r9, r9, r0, LSL, r5},
397 false,
398 al,
399 "hi r9 r9 r0 LSL r5",
400 "hi_r9_r9_r0_LSL_r5"},
401 {{cs, r6, r6, r5, LSL, r8},
402 false,
403 al,
404 "cs r6 r6 r5 LSL r8",
405 "cs_r6_r6_r5_LSL_r8"},
406 {{cs, r0, r1, r6, LSR, r12},
407 false,
408 al,
409 "cs r0 r1 r6 LSR r12",
410 "cs_r0_r1_r6_LSR_r12"},
411 {{cc, r4, r6, r13, ASR, r6},
412 false,
413 al,
414 "cc r4 r6 r13 ASR r6",
415 "cc_r4_r6_r13_ASR_r6"},
416 {{hi, r11, r8, r10, LSR, r5},
417 false,
418 al,
419 "hi r11 r8 r10 LSR r5",
420 "hi_r11_r8_r10_LSR_r5"},
421 {{ls, r8, r1, r14, ROR, r14},
422 false,
423 al,
424 "ls r8 r1 r14 ROR r14",
425 "ls_r8_r1_r14_ROR_r14"},
426 {{pl, r8, r2, r12, ASR, r7},
427 false,
428 al,
429 "pl r8 r2 r12 ASR r7",
430 "pl_r8_r2_r12_ASR_r7"},
431 {{gt, r14, r7, r5, ROR, r11},
432 false,
433 al,
434 "gt r14 r7 r5 ROR r11",
435 "gt_r14_r7_r5_ROR_r11"},
436 {{eq, r3, r6, r13, ROR, r0},
437 false,
438 al,
439 "eq r3 r6 r13 ROR r0",
440 "eq_r3_r6_r13_ROR_r0"},
441 {{le, r4, r8, r8, ROR, r11},
442 false,
443 al,
444 "le r4 r8 r8 ROR r11",
445 "le_r4_r8_r8_ROR_r11"},
446 {{ge, r2, r7, r5, ASR, r6},
447 false,
448 al,
449 "ge r2 r7 r5 ASR r6",
450 "ge_r2_r7_r5_ASR_r6"},
451 {{cc, r8, r12, r5, LSL, r11},
452 false,
453 al,
454 "cc r8 r12 r5 LSL r11",
455 "cc_r8_r12_r5_LSL_r11"},
456 {{vc, r11, r10, r3, ROR, r5},
457 false,
458 al,
459 "vc r11 r10 r3 ROR r5",
460 "vc_r11_r10_r3_ROR_r5"},
461 {{vc, r11, r9, r11, LSL, r6},
462 false,
463 al,
464 "vc r11 r9 r11 LSL r6",
465 "vc_r11_r9_r11_LSL_r6"},
466 {{lt, r6, r5, r0, ROR, r9},
467 false,
468 al,
469 "lt r6 r5 r0 ROR r9",
470 "lt_r6_r5_r0_ROR_r9"},
471 {{cs, r13, r7, r11, ASR, r9},
472 false,
473 al,
474 "cs r13 r7 r11 ASR r9",
475 "cs_r13_r7_r11_ASR_r9"},
476 {{cs, r9, r7, r9, ROR, r11},
477 false,
478 al,
479 "cs r9 r7 r9 ROR r11",
480 "cs_r9_r7_r9_ROR_r11"},
481 {{ls, r14, r3, r2, ASR, r11},
482 false,
483 al,
484 "ls r14 r3 r2 ASR r11",
485 "ls_r14_r3_r2_ASR_r11"},
486 {{vc, r0, r1, r1, LSR, r0},
487 false,
488 al,
489 "vc r0 r1 r1 LSR r0",
490 "vc_r0_r1_r1_LSR_r0"},
491 {{mi, r10, r8, r8, LSR, r13},
492 false,
493 al,
494 "mi r10 r8 r8 LSR r13",
495 "mi_r10_r8_r8_LSR_r13"},
496 {{pl, r8, r14, r3, LSL, r8},
497 false,
498 al,
499 "pl r8 r14 r3 LSL r8",
500 "pl_r8_r14_r3_LSL_r8"},
501 {{ne, r6, r4, r1, LSL, r12},
502 false,
503 al,
504 "ne r6 r4 r1 LSL r12",
505 "ne_r6_r4_r1_LSL_r12"},
506 {{lt, r2, r2, r7, ROR, r0},
507 false,
508 al,
509 "lt r2 r2 r7 ROR r0",
510 "lt_r2_r2_r7_ROR_r0"},
511 {{lt, r2, r4, r13, ASR, r5},
512 false,
513 al,
514 "lt r2 r4 r13 ASR r5",
515 "lt_r2_r4_r13_ASR_r5"},
516 {{eq, r8, r1, r2, ROR, r13},
517 false,
518 al,
519 "eq r8 r1 r2 ROR r13",
520 "eq_r8_r1_r2_ROR_r13"},
521 {{lt, r1, r8, r10, LSR, r7},
522 false,
523 al,
524 "lt r1 r8 r10 LSR r7",
525 "lt_r1_r8_r10_LSR_r7"},
526 {{cs, r7, r5, r9, LSL, r9},
527 false,
528 al,
529 "cs r7 r5 r9 LSL r9",
530 "cs_r7_r5_r9_LSL_r9"},
531 {{mi, r8, r0, r6, LSL, r8},
532 false,
533 al,
534 "mi r8 r0 r6 LSL r8",
535 "mi_r8_r0_r6_LSL_r8"},
536 {{cs, r7, r12, r3, ROR, r6},
537 false,
538 al,
539 "cs r7 r12 r3 ROR r6",
540 "cs_r7_r12_r3_ROR_r6"},
541 {{vs, r13, r8, r13, LSR, r4},
542 false,
543 al,
544 "vs r13 r8 r13 LSR r4",
545 "vs_r13_r8_r13_LSR_r4"},
546 {{cc, r4, r13, r7, ROR, r11},
547 false,
548 al,
549 "cc r4 r13 r7 ROR r11",
550 "cc_r4_r13_r7_ROR_r11"},
551 {{ge, r10, r5, r9, LSR, r13},
552 false,
553 al,
554 "ge r10 r5 r9 LSR r13",
555 "ge_r10_r5_r9_LSR_r13"},
556 {{cc, r0, r5, r9, ASR, r4},
557 false,
558 al,
559 "cc r0 r5 r9 ASR r4",
560 "cc_r0_r5_r9_ASR_r4"},
561 {{cc, r1, r5, r8, LSR, r12},
562 false,
563 al,
564 "cc r1 r5 r8 LSR r12",
565 "cc_r1_r5_r8_LSR_r12"},
566 {{ls, r12, r3, r5, LSL, r6},
567 false,
568 al,
569 "ls r12 r3 r5 LSL r6",
570 "ls_r12_r3_r5_LSL_r6"},
571 {{cs, r10, r0, r4, ASR, r7},
572 false,
573 al,
574 "cs r10 r0 r4 ASR r7",
575 "cs_r10_r0_r4_ASR_r7"},
576 {{ge, r10, r13, r14, ROR, r6},
577 false,
578 al,
579 "ge r10 r13 r14 ROR r6",
580 "ge_r10_r13_r14_ROR_r6"},
581 {{al, r9, r0, r9, ROR, r3},
582 false,
583 al,
584 "al r9 r0 r9 ROR r3",
585 "al_r9_r0_r9_ROR_r3"},
586 {{vs, r4, r5, r12, ASR, r6},
587 false,
588 al,
589 "vs r4 r5 r12 ASR r6",
590 "vs_r4_r5_r12_ASR_r6"},
591 {{lt, r4, r1, r14, LSL, r12},
592 false,
593 al,
594 "lt r4 r1 r14 LSL r12",
595 "lt_r4_r1_r14_LSL_r12"},
596 {{cs, r14, r11, r8, ROR, r4},
597 false,
598 al,
599 "cs r14 r11 r8 ROR r4",
600 "cs_r14_r11_r8_ROR_r4"},
601 {{hi, r12, r0, r14, LSR, r11},
602 false,
603 al,
604 "hi r12 r0 r14 LSR r11",
605 "hi_r12_r0_r14_LSR_r11"},
606 {{le, r8, r6, r4, ASR, r7},
607 false,
608 al,
609 "le r8 r6 r4 ASR r7",
610 "le_r8_r6_r4_ASR_r7"},
611 {{mi, r13, r4, r14, LSR, r10},
612 false,
613 al,
614 "mi r13 r4 r14 LSR r10",
615 "mi_r13_r4_r14_LSR_r10"},
616 {{vs, r11, r10, r5, LSL, r10},
617 false,
618 al,
619 "vs r11 r10 r5 LSL r10",
620 "vs_r11_r10_r5_LSL_r10"},
621 {{cc, r4, r0, r5, LSR, r2},
622 false,
623 al,
624 "cc r4 r0 r5 LSR r2",
625 "cc_r4_r0_r5_LSR_r2"},
626 {{pl, r9, r14, r0, LSL, r3},
627 false,
628 al,
629 "pl r9 r14 r0 LSL r3",
630 "pl_r9_r14_r0_LSL_r3"},
631 {{vc, r7, r2, r14, ASR, r1},
632 false,
633 al,
634 "vc r7 r2 r14 ASR r1",
635 "vc_r7_r2_r14_ASR_r1"},
636 {{gt, r4, r14, r1, ROR, r10},
637 false,
638 al,
639 "gt r4 r14 r1 ROR r10",
640 "gt_r4_r14_r1_ROR_r10"},
641 {{lt, r6, r4, r10, LSL, r7},
642 false,
643 al,
644 "lt r6 r4 r10 LSL r7",
645 "lt_r6_r4_r10_LSL_r7"},
646 {{hi, r1, r14, r5, LSL, r12},
647 false,
648 al,
649 "hi r1 r14 r5 LSL r12",
650 "hi_r1_r14_r5_LSL_r12"},
651 {{cc, r14, r12, r4, ASR, r14},
652 false,
653 al,
654 "cc r14 r12 r4 ASR r14",
655 "cc_r14_r12_r4_ASR_r14"},
656 {{cc, r0, r8, r5, ROR, r8},
657 false,
658 al,
659 "cc r0 r8 r5 ROR r8",
660 "cc_r0_r8_r5_ROR_r8"},
661 {{gt, r9, r9, r0, ASR, r4},
662 false,
663 al,
664 "gt r9 r9 r0 ASR r4",
665 "gt_r9_r9_r0_ASR_r4"},
666 {{mi, r8, r11, r12, ASR, r4},
667 false,
668 al,
669 "mi r8 r11 r12 ASR r4",
670 "mi_r8_r11_r12_ASR_r4"},
671 {{vs, r0, r12, r0, LSR, r11},
672 false,
673 al,
674 "vs r0 r12 r0 LSR r11",
675 "vs_r0_r12_r0_LSR_r11"},
676 {{ge, r0, r9, r1, ASR, r0},
677 false,
678 al,
679 "ge r0 r9 r1 ASR r0",
680 "ge_r0_r9_r1_ASR_r0"},
681 {{al, r10, r11, r5, LSR, r4},
682 false,
683 al,
684 "al r10 r11 r5 LSR r4",
685 "al_r10_r11_r5_LSR_r4"},
686 {{eq, r0, r6, r8, LSR, r10},
687 false,
688 al,
689 "eq r0 r6 r8 LSR r10",
690 "eq_r0_r6_r8_LSR_r10"},
691 {{cc, r13, r12, r14, ROR, r9},
692 false,
693 al,
694 "cc r13 r12 r14 ROR r9",
695 "cc_r13_r12_r14_ROR_r9"},
696 {{ls, r4, r11, r0, LSL, r14},
697 false,
698 al,
699 "ls r4 r11 r0 LSL r14",
700 "ls_r4_r11_r0_LSL_r14"},
701 {{hi, r1, r6, r12, LSR, r13},
702 false,
703 al,
704 "hi r1 r6 r12 LSR r13",
705 "hi_r1_r6_r12_LSR_r13"},
706 {{cs, r7, r11, r1, ASR, r5},
707 false,
708 al,
709 "cs r7 r11 r1 ASR r5",
710 "cs_r7_r11_r1_ASR_r5"},
711 {{cc, r7, r5, r4, ASR, r11},
712 false,
713 al,
714 "cc r7 r5 r4 ASR r11",
715 "cc_r7_r5_r4_ASR_r11"},
716 {{hi, r7, r2, r5, ROR, r5},
717 false,
718 al,
719 "hi r7 r2 r5 ROR r5",
720 "hi_r7_r2_r5_ROR_r5"},
721 {{vc, r11, r9, r7, LSL, r14},
722 false,
723 al,
724 "vc r11 r9 r7 LSL r14",
725 "vc_r11_r9_r7_LSL_r14"},
726 {{le, r12, r1, r3, ROR, r7},
727 false,
728 al,
729 "le r12 r1 r3 ROR r7",
730 "le_r12_r1_r3_ROR_r7"},
731 {{al, r8, r14, r0, ASR, r12},
732 false,
733 al,
734 "al r8 r14 r0 ASR r12",
735 "al_r8_r14_r0_ASR_r12"},
736 {{vc, r14, r3, r0, ROR, r1},
737 false,
738 al,
739 "vc r14 r3 r0 ROR r1",
740 "vc_r14_r3_r0_ROR_r1"},
741 {{pl, r10, r8, r3, ROR, r4},
742 false,
743 al,
744 "pl r10 r8 r3 ROR r4",
745 "pl_r10_r8_r3_ROR_r4"},
746 {{al, r9, r14, r12, LSL, r4},
747 false,
748 al,
749 "al r9 r14 r12 LSL r4",
750 "al_r9_r14_r12_LSL_r4"},
751 {{vs, r8, r3, r14, ASR, r7},
752 false,
753 al,
754 "vs r8 r3 r14 ASR r7",
755 "vs_r8_r3_r14_ASR_r7"},
756 {{hi, r4, r8, r13, LSL, r1},
757 false,
758 al,
759 "hi r4 r8 r13 LSL r1",
760 "hi_r4_r8_r13_LSL_r1"},
761 {{al, r6, r11, r11, LSL, r14},
762 false,
763 al,
764 "al r6 r11 r11 LSL r14",
765 "al_r6_r11_r11_LSL_r14"},
766 {{al, r7, r2, r4, LSR, r1},
767 false,
768 al,
769 "al r7 r2 r4 LSR r1",
770 "al_r7_r2_r4_LSR_r1"},
771 {{vc, r5, r10, r3, ASR, r8},
772 false,
773 al,
774 "vc r5 r10 r3 ASR r8",
775 "vc_r5_r10_r3_ASR_r8"},
776 {{cc, r3, r10, r9, ROR, r11},
777 false,
778 al,
779 "cc r3 r10 r9 ROR r11",
780 "cc_r3_r10_r9_ROR_r11"},
781 {{eq, r11, r9, r8, LSL, r2},
782 false,
783 al,
784 "eq r11 r9 r8 LSL r2",
785 "eq_r11_r9_r8_LSL_r2"},
786 {{mi, r6, r9, r5, ASR, r12},
787 false,
788 al,
789 "mi r6 r9 r5 ASR r12",
790 "mi_r6_r9_r5_ASR_r12"},
791 {{hi, r6, r6, r0, ASR, r9},
792 false,
793 al,
794 "hi r6 r6 r0 ASR r9",
795 "hi_r6_r6_r0_ASR_r9"},
796 {{ge, r12, r13, r1, LSL, r9},
797 false,
798 al,
799 "ge r12 r13 r1 LSL r9",
800 "ge_r12_r13_r1_LSL_r9"},
801 {{le, r4, r9, r14, ASR, r2},
802 false,
803 al,
804 "le r4 r9 r14 ASR r2",
805 "le_r4_r9_r14_ASR_r2"},
806 {{gt, r5, r3, r9, ROR, r5},
807 false,
808 al,
809 "gt r5 r3 r9 ROR r5",
810 "gt_r5_r3_r9_ROR_r5"},
811 {{al, r14, r5, r13, ROR, r7},
812 false,
813 al,
814 "al r14 r5 r13 ROR r7",
815 "al_r14_r5_r13_ROR_r7"},
816 {{lt, r2, r1, r14, ASR, r8},
817 false,
818 al,
819 "lt r2 r1 r14 ASR r8",
820 "lt_r2_r1_r14_ASR_r8"},
821 {{al, r12, r7, r8, LSL, r11},
822 false,
823 al,
824 "al r12 r7 r8 LSL r11",
825 "al_r12_r7_r8_LSL_r11"},
826 {{ne, r4, r12, r14, LSL, r1},
827 false,
828 al,
829 "ne r4 r12 r14 LSL r1",
830 "ne_r4_r12_r14_LSL_r1"},
831 {{vs, r7, r14, r4, LSL, r6},
832 false,
833 al,
834 "vs r7 r14 r4 LSL r6",
835 "vs_r7_r14_r4_LSL_r6"},
836 {{ge, r12, r5, r11, ASR, r4},
837 false,
838 al,
839 "ge r12 r5 r11 ASR r4",
840 "ge_r12_r5_r11_ASR_r4"},
841 {{gt, r4, r10, r6, LSR, r6},
842 false,
843 al,
844 "gt r4 r10 r6 LSR r6",
845 "gt_r4_r10_r6_LSR_r6"},
846 {{cc, r14, r8, r14, LSR, r8},
847 false,
848 al,
849 "cc r14 r8 r14 LSR r8",
850 "cc_r14_r8_r14_LSR_r8"},
851 {{al, r1, r14, r11, LSR, r7},
852 false,
853 al,
854 "al r1 r14 r11 LSR r7",
855 "al_r1_r14_r11_LSR_r7"},
856 {{pl, r13, r6, r5, ASR, r14},
857 false,
858 al,
859 "pl r13 r6 r5 ASR r14",
860 "pl_r13_r6_r5_ASR_r14"},
861 {{cc, r10, r6, r9, ROR, r13},
862 false,
863 al,
864 "cc r10 r6 r9 ROR r13",
865 "cc_r10_r6_r9_ROR_r13"},
866 {{ne, r0, r4, r7, ROR, r13},
867 false,
868 al,
869 "ne r0 r4 r7 ROR r13",
870 "ne_r0_r4_r7_ROR_r13"},
871 {{vc, r12, r0, r14, LSL, r13},
872 false,
873 al,
874 "vc r12 r0 r14 LSL r13",
875 "vc_r12_r0_r14_LSL_r13"},
876 {{al, r10, r13, r13, ROR, r5},
877 false,
878 al,
879 "al r10 r13 r13 ROR r5",
880 "al_r10_r13_r13_ROR_r5"},
881 {{cs, r10, r3, r0, ROR, r7},
882 false,
883 al,
884 "cs r10 r3 r0 ROR r7",
885 "cs_r10_r3_r0_ROR_r7"},
886 {{ge, r10, r14, r14, ROR, r6},
887 false,
888 al,
889 "ge r10 r14 r14 ROR r6",
890 "ge_r10_r14_r14_ROR_r6"},
891 {{pl, r0, r10, r10, LSL, r4},
892 false,
893 al,
894 "pl r0 r10 r10 LSL r4",
895 "pl_r0_r10_r10_LSL_r4"},
896 {{vs, r1, r2, r7, ASR, r6},
897 false,
898 al,
899 "vs r1 r2 r7 ASR r6",
900 "vs_r1_r2_r7_ASR_r6"},
901 {{cs, r9, r11, r9, LSL, r9},
902 false,
903 al,
904 "cs r9 r11 r9 LSL r9",
905 "cs_r9_r11_r9_LSL_r9"},
906 {{eq, r10, r8, r4, LSL, r6},
907 false,
908 al,
909 "eq r10 r8 r4 LSL r6",
910 "eq_r10_r8_r4_LSL_r6"},
911 {{vc, r8, r5, r12, LSL, r8},
912 false,
913 al,
914 "vc r8 r5 r12 LSL r8",
915 "vc_r8_r5_r12_LSL_r8"},
916 {{pl, r1, r13, r11, LSL, r8},
917 false,
918 al,
919 "pl r1 r13 r11 LSL r8",
920 "pl_r1_r13_r11_LSL_r8"},
921 {{le, r9, r10, r5, ROR, r4},
922 false,
923 al,
924 "le r9 r10 r5 ROR r4",
925 "le_r9_r10_r5_ROR_r4"},
926 {{vs, r8, r3, r0, ASR, r11},
927 false,
928 al,
929 "vs r8 r3 r0 ASR r11",
930 "vs_r8_r3_r0_ASR_r11"},
931 {{hi, r12, r0, r13, LSL, r2},
932 false,
933 al,
934 "hi r12 r0 r13 LSL r2",
935 "hi_r12_r0_r13_LSL_r2"},
936 {{lt, r4, r2, r8, LSL, r5},
937 false,
938 al,
939 "lt r4 r2 r8 LSL r5",
940 "lt_r4_r2_r8_LSL_r5"},
941 {{ge, r9, r4, r13, LSL, r13},
942 false,
943 al,
944 "ge r9 r4 r13 LSL r13",
945 "ge_r9_r4_r13_LSL_r13"},
946 {{ge, r0, r2, r1, ROR, r8},
947 false,
948 al,
949 "ge r0 r2 r1 ROR r8",
950 "ge_r0_r2_r1_ROR_r8"},
951 {{le, r6, r13, r9, LSR, r0},
952 false,
953 al,
954 "le r6 r13 r9 LSR r0",
955 "le_r6_r13_r9_LSR_r0"},
956 {{ls, r13, r7, r4, ASR, r3},
957 false,
958 al,
959 "ls r13 r7 r4 ASR r3",
960 "ls_r13_r7_r4_ASR_r3"},
961 {{vc, r8, r13, r6, LSR, r14},
962 false,
963 al,
964 "vc r8 r13 r6 LSR r14",
965 "vc_r8_r13_r6_LSR_r14"},
966 {{pl, r10, r5, r3, LSR, r9},
967 false,
968 al,
969 "pl r10 r5 r3 LSR r9",
970 "pl_r10_r5_r3_LSR_r9"},
971 {{al, r6, r3, r14, LSR, r7},
972 false,
973 al,
974 "al r6 r3 r14 LSR r7",
975 "al_r6_r3_r14_LSR_r7"},
976 {{cc, r3, r5, r3, ROR, r10},
977 false,
978 al,
979 "cc r3 r5 r3 ROR r10",
980 "cc_r3_r5_r3_ROR_r10"},
981 {{cs, r4, r11, r2, LSR, r10},
982 false,
983 al,
984 "cs r4 r11 r2 LSR r10",
985 "cs_r4_r11_r2_LSR_r10"},
986 {{lt, r6, r10, r5, ASR, r8},
987 false,
988 al,
989 "lt r6 r10 r5 ASR r8",
990 "lt_r6_r10_r5_ASR_r8"},
991 {{ge, r0, r13, r10, ASR, r8},
992 false,
993 al,
994 "ge r0 r13 r10 ASR r8",
995 "ge_r0_r13_r10_ASR_r8"},
996 {{cs, r8, r8, r0, LSL, r9},
997 false,
998 al,
999 "cs r8 r8 r0 LSL r9",
1000 "cs_r8_r8_r0_LSL_r9"},
1001 {{gt, r1, r1, r1, ASR, r2},
1002 false,
1003 al,
1004 "gt r1 r1 r1 ASR r2",
1005 "gt_r1_r1_r1_ASR_r2"},
1006 {{al, r5, r0, r14, ROR, r3},
1007 false,
1008 al,
1009 "al r5 r0 r14 ROR r3",
1010 "al_r5_r0_r14_ROR_r3"},
1011 {{mi, r3, r9, r14, LSL, r9},
1012 false,
1013 al,
1014 "mi r3 r9 r14 LSL r9",
1015 "mi_r3_r9_r14_LSL_r9"},
1016 {{ls, r9, r6, r5, LSL, r9},
1017 false,
1018 al,
1019 "ls r9 r6 r5 LSL r9",
1020 "ls_r9_r6_r5_LSL_r9"},
1021 {{lt, r13, r3, r1, LSL, r13},
1022 false,
1023 al,
1024 "lt r13 r3 r1 LSL r13",
1025 "lt_r13_r3_r1_LSL_r13"},
1026 {{lt, r9, r14, r3, ASR, r3},
1027 false,
1028 al,
1029 "lt r9 r14 r3 ASR r3",
1030 "lt_r9_r14_r3_ASR_r3"},
1031 {{cc, r5, r4, r1, LSR, r0},
1032 false,
1033 al,
1034 "cc r5 r4 r1 LSR r0",
1035 "cc_r5_r4_r1_LSR_r0"},
1036 {{cs, r9, r7, r8, ASR, r0},
1037 false,
1038 al,
1039 "cs r9 r7 r8 ASR r0",
1040 "cs_r9_r7_r8_ASR_r0"},
1041 {{ge, r8, r6, r14, ROR, r7},
1042 false,
1043 al,
1044 "ge r8 r6 r14 ROR r7",
1045 "ge_r8_r6_r14_ROR_r7"},
1046 {{le, r14, r8, r12, LSL, r0},
1047 false,
1048 al,
1049 "le r14 r8 r12 LSL r0",
1050 "le_r14_r8_r12_LSL_r0"},
1051 {{mi, r0, r13, r14, ASR, r3},
1052 false,
1053 al,
1054 "mi r0 r13 r14 ASR r3",
1055 "mi_r0_r13_r14_ASR_r3"},
1056 {{cs, r7, r4, r9, ROR, r8},
1057 false,
1058 al,
1059 "cs r7 r4 r9 ROR r8",
1060 "cs_r7_r4_r9_ROR_r8"},
1061 {{ne, r4, r6, r11, ROR, r2},
1062 false,
1063 al,
1064 "ne r4 r6 r11 ROR r2",
1065 "ne_r4_r6_r11_ROR_r2"},
1066 {{gt, r8, r8, r9, ROR, r12},
1067 false,
1068 al,
1069 "gt r8 r8 r9 ROR r12",
1070 "gt_r8_r8_r9_ROR_r12"},
1071 {{hi, r1, r2, r0, LSR, r13},
1072 false,
1073 al,
1074 "hi r1 r2 r0 LSR r13",
1075 "hi_r1_r2_r0_LSR_r13"},
1076 {{ge, r14, r12, r6, ASR, r5},
1077 false,
1078 al,
1079 "ge r14 r12 r6 ASR r5",
1080 "ge_r14_r12_r6_ASR_r5"},
1081 {{ge, r5, r4, r7, LSR, r14},
1082 false,
1083 al,
1084 "ge r5 r4 r7 LSR r14",
1085 "ge_r5_r4_r7_LSR_r14"},
1086 {{cc, r13, r11, r10, LSR, r2},
1087 false,
1088 al,
1089 "cc r13 r11 r10 LSR r2",
1090 "cc_r13_r11_r10_LSR_r2"},
1091 {{mi, r3, r9, r14, LSR, r14},
1092 false,
1093 al,
1094 "mi r3 r9 r14 LSR r14",
1095 "mi_r3_r9_r14_LSR_r14"},
1096 {{ne, r10, r3, r4, LSR, r3},
1097 false,
1098 al,
1099 "ne r10 r3 r4 LSR r3",
1100 "ne_r10_r3_r4_LSR_r3"},
1101 {{ls, r14, r9, r6, LSL, r9},
1102 false,
1103 al,
1104 "ls r14 r9 r6 LSL r9",
1105 "ls_r14_r9_r6_LSL_r9"},
1106 {{ls, r8, r2, r8, ROR, r7},
1107 false,
1108 al,
1109 "ls r8 r2 r8 ROR r7",
1110 "ls_r8_r2_r8_ROR_r7"},
1111 {{ne, r2, r6, r3, ROR, r3},
1112 false,
1113 al,
1114 "ne r2 r6 r3 ROR r3",
1115 "ne_r2_r6_r3_ROR_r3"},
1116 {{mi, r12, r3, r11, ASR, r11},
1117 false,
1118 al,
1119 "mi r12 r3 r11 ASR r11",
1120 "mi_r12_r3_r11_ASR_r11"},
1121 {{le, r7, r10, r11, LSL, r9},
1122 false,
1123 al,
1124 "le r7 r10 r11 LSL r9",
1125 "le_r7_r10_r11_LSL_r9"},
1126 {{al, r1, r2, r10, ROR, r8},
1127 false,
1128 al,
1129 "al r1 r2 r10 ROR r8",
1130 "al_r1_r2_r10_ROR_r8"},
1131 {{cc, r7, r9, r14, LSL, r7},
1132 false,
1133 al,
1134 "cc r7 r9 r14 LSL r7",
1135 "cc_r7_r9_r14_LSL_r7"},
1136 {{cc, r9, r3, r5, LSL, r8},
1137 false,
1138 al,
1139 "cc r9 r3 r5 LSL r8",
1140 "cc_r9_r3_r5_LSL_r8"},
1141 {{hi, r8, r3, r8, ROR, r2},
1142 false,
1143 al,
1144 "hi r8 r3 r8 ROR r2",
1145 "hi_r8_r3_r8_ROR_r2"},
1146 {{pl, r10, r13, r14, LSR, r10},
1147 false,
1148 al,
1149 "pl r10 r13 r14 LSR r10",
1150 "pl_r10_r13_r14_LSR_r10"},
1151 {{lt, r13, r4, r13, LSR, r12},
1152 false,
1153 al,
1154 "lt r13 r4 r13 LSR r12",
1155 "lt_r13_r4_r13_LSR_r12"},
1156 {{ls, r12, r14, r11, LSR, r13},
1157 false,
1158 al,
1159 "ls r12 r14 r11 LSR r13",
1160 "ls_r12_r14_r11_LSR_r13"},
1161 {{vs, r11, r10, r10, ASR, r2},
1162 false,
1163 al,
1164 "vs r11 r10 r10 ASR r2",
1165 "vs_r11_r10_r10_ASR_r2"},
1166 {{cc, r5, r8, r13, LSL, r10},
1167 false,
1168 al,
1169 "cc r5 r8 r13 LSL r10",
1170 "cc_r5_r8_r13_LSL_r10"},
1171 {{cs, r7, r4, r11, LSR, r14},
1172 false,
1173 al,
1174 "cs r7 r4 r11 LSR r14",
1175 "cs_r7_r4_r11_LSR_r14"},
1176 {{lt, r1, r12, r7, ASR, r11},
1177 false,
1178 al,
1179 "lt r1 r12 r7 ASR r11",
1180 "lt_r1_r12_r7_ASR_r11"},
1181 {{vc, r11, r4, r4, LSL, r10},
1182 false,
1183 al,
1184 "vc r11 r4 r4 LSL r10",
1185 "vc_r11_r4_r4_LSL_r10"},
1186 {{vc, r7, r4, r6, LSR, r7},
1187 false,
1188 al,
1189 "vc r7 r4 r6 LSR r7",
1190 "vc_r7_r4_r6_LSR_r7"},
1191 {{vc, r0, r3, r0, ASR, r14},
1192 false,
1193 al,
1194 "vc r0 r3 r0 ASR r14",
1195 "vc_r0_r3_r0_ASR_r14"},
1196 {{mi, r11, r8, r13, ASR, r8},
1197 false,
1198 al,
1199 "mi r11 r8 r13 ASR r8",
1200 "mi_r11_r8_r13_ASR_r8"},
1201 {{gt, r13, r14, r6, LSL, r11},
1202 false,
1203 al,
1204 "gt r13 r14 r6 LSL r11",
1205 "gt_r13_r14_r6_LSL_r11"},
1206 {{cs, r3, r2, r6, LSL, r8},
1207 false,
1208 al,
1209 "cs r3 r2 r6 LSL r8",
1210 "cs_r3_r2_r6_LSL_r8"},
1211 {{ne, r7, r5, r5, LSL, r8},
1212 false,
1213 al,
1214 "ne r7 r5 r5 LSL r8",
1215 "ne_r7_r5_r5_LSL_r8"},
1216 {{lt, r0, r12, r6, LSR, r0},
1217 false,
1218 al,
1219 "lt r0 r12 r6 LSR r0",
1220 "lt_r0_r12_r6_LSR_r0"},
1221 {{ls, r11, r9, r12, ROR, r2},
1222 false,
1223 al,
1224 "ls r11 r9 r12 ROR r2",
1225 "ls_r11_r9_r12_ROR_r2"},
1226 {{ls, r6, r0, r8, LSR, r4},
1227 false,
1228 al,
1229 "ls r6 r0 r8 LSR r4",
1230 "ls_r6_r0_r8_LSR_r4"},
1231 {{lt, r6, r7, r0, ROR, r13},
1232 false,
1233 al,
1234 "lt r6 r7 r0 ROR r13",
1235 "lt_r6_r7_r0_ROR_r13"},
1236 {{gt, r14, r4, r1, LSL, r8},
1237 false,
1238 al,
1239 "gt r14 r4 r1 LSL r8",
1240 "gt_r14_r4_r1_LSL_r8"},
1241 {{al, r14, r5, r6, LSL, r7},
1242 false,
1243 al,
1244 "al r14 r5 r6 LSL r7",
1245 "al_r14_r5_r6_LSL_r7"},
1246 {{ge, r9, r6, r4, LSR, r8},
1247 false,
1248 al,
1249 "ge r9 r6 r4 LSR r8",
1250 "ge_r9_r6_r4_LSR_r8"},
1251 {{lt, r2, r14, r13, ROR, r3},
1252 false,
1253 al,
1254 "lt r2 r14 r13 ROR r3",
1255 "lt_r2_r14_r13_ROR_r3"},
1256 {{al, r11, r1, r13, LSR, r9},
1257 false,
1258 al,
1259 "al r11 r1 r13 LSR r9",
1260 "al_r11_r1_r13_LSR_r9"},
1261 {{vs, r8, r2, r5, LSL, r11},
1262 false,
1263 al,
1264 "vs r8 r2 r5 LSL r11",
1265 "vs_r8_r2_r5_LSL_r11"},
1266 {{pl, r8, r14, r8, LSL, r7},
1267 false,
1268 al,
1269 "pl r8 r14 r8 LSL r7",
1270 "pl_r8_r14_r8_LSL_r7"},
1271 {{cs, r10, r5, r5, ASR, r4},
1272 false,
1273 al,
1274 "cs r10 r5 r5 ASR r4",
1275 "cs_r10_r5_r5_ASR_r4"},
1276 {{eq, r12, r14, r9, LSR, r11},
1277 false,
1278 al,
1279 "eq r12 r14 r9 LSR r11",
1280 "eq_r12_r14_r9_LSR_r11"},
1281 {{lt, r1, r3, r3, LSL, r1},
1282 false,
1283 al,
1284 "lt r1 r3 r3 LSL r1",
1285 "lt_r1_r3_r3_LSL_r1"},
1286 {{le, r4, r13, r4, ASR, r8},
1287 false,
1288 al,
1289 "le r4 r13 r4 ASR r8",
1290 "le_r4_r13_r4_ASR_r8"},
1291 {{ne, r5, r4, r2, LSL, r8},
1292 false,
1293 al,
1294 "ne r5 r4 r2 LSL r8",
1295 "ne_r5_r4_r2_LSL_r8"},
1296 {{le, r3, r14, r13, LSR, r1},
1297 false,
1298 al,
1299 "le r3 r14 r13 LSR r1",
1300 "le_r3_r14_r13_LSR_r1"},
1301 {{cc, r6, r3, r5, LSL, r1},
1302 false,
1303 al,
1304 "cc r6 r3 r5 LSL r1",
1305 "cc_r6_r3_r5_LSL_r1"},
1306 {{lt, r9, r6, r11, LSR, r14},
1307 false,
1308 al,
1309 "lt r9 r6 r11 LSR r14",
1310 "lt_r9_r6_r11_LSR_r14"},
1311 {{cc, r13, r8, r10, ROR, r1},
1312 false,
1313 al,
1314 "cc r13 r8 r10 ROR r1",
1315 "cc_r13_r8_r10_ROR_r1"},
1316 {{lt, r7, r10, r11, LSR, r2},
1317 false,
1318 al,
1319 "lt r7 r10 r11 LSR r2",
1320 "lt_r7_r10_r11_LSR_r2"},
1321 {{pl, r0, r9, r5, LSR, r8},
1322 false,
1323 al,
1324 "pl r0 r9 r5 LSR r8",
1325 "pl_r0_r9_r5_LSR_r8"},
1326 {{eq, r8, r9, r11, LSR, r13},
1327 false,
1328 al,
1329 "eq r8 r9 r11 LSR r13",
1330 "eq_r8_r9_r11_LSR_r13"},
1331 {{hi, r10, r1, r9, ROR, r12},
1332 false,
1333 al,
1334 "hi r10 r1 r9 ROR r12",
1335 "hi_r10_r1_r9_ROR_r12"},
1336 {{pl, r13, r1, r14, LSL, r14},
1337 false,
1338 al,
1339 "pl r13 r1 r14 LSL r14",
1340 "pl_r13_r1_r14_LSL_r14"},
1341 {{eq, r13, r3, r7, LSR, r13},
1342 false,
1343 al,
1344 "eq r13 r3 r7 LSR r13",
1345 "eq_r13_r3_r7_LSR_r13"},
1346 {{eq, r3, r6, r6, ASR, r14},
1347 false,
1348 al,
1349 "eq r3 r6 r6 ASR r14",
1350 "eq_r3_r6_r6_ASR_r14"},
1351 {{gt, r5, r4, r8, ROR, r13},
1352 false,
1353 al,
1354 "gt r5 r4 r8 ROR r13",
1355 "gt_r5_r4_r8_ROR_r13"},
1356 {{al, r9, r7, r0, ROR, r3},
1357 false,
1358 al,
1359 "al r9 r7 r0 ROR r3",
1360 "al_r9_r7_r0_ROR_r3"},
1361 {{mi, r13, r11, r3, LSL, r1},
1362 false,
1363 al,
1364 "mi r13 r11 r3 LSL r1",
1365 "mi_r13_r11_r3_LSL_r1"},
1366 {{ls, r11, r14, r6, LSL, r14},
1367 false,
1368 al,
1369 "ls r11 r14 r6 LSL r14",
1370 "ls_r11_r14_r6_LSL_r14"},
1371 {{al, r14, r3, r7, LSL, r9},
1372 false,
1373 al,
1374 "al r14 r3 r7 LSL r9",
1375 "al_r14_r3_r7_LSL_r9"},
1376 {{cs, r14, r2, r14, LSL, r13},
1377 false,
1378 al,
1379 "cs r14 r2 r14 LSL r13",
1380 "cs_r14_r2_r14_LSL_r13"},
1381 {{ls, r11, r10, r6, ASR, r11},
1382 false,
1383 al,
1384 "ls r11 r10 r6 ASR r11",
1385 "ls_r11_r10_r6_ASR_r11"},
1386 {{pl, r13, r4, r2, LSL, r4},
1387 false,
1388 al,
1389 "pl r13 r4 r2 LSL r4",
1390 "pl_r13_r4_r2_LSL_r4"},
1391 {{mi, r8, r10, r5, ASR, r0},
1392 false,
1393 al,
1394 "mi r8 r10 r5 ASR r0",
1395 "mi_r8_r10_r5_ASR_r0"},
1396 {{cs, r2, r1, r6, ASR, r4},
1397 false,
1398 al,
1399 "cs r2 r1 r6 ASR r4",
1400 "cs_r2_r1_r6_ASR_r4"},
1401 {{cc, r0, r11, r8, LSR, r14},
1402 false,
1403 al,
1404 "cc r0 r11 r8 LSR r14",
1405 "cc_r0_r11_r8_LSR_r14"},
1406 {{ge, r5, r4, r6, ROR, r1},
1407 false,
1408 al,
1409 "ge r5 r4 r6 ROR r1",
1410 "ge_r5_r4_r6_ROR_r1"},
1411 {{cs, r0, r14, r3, LSR, r11},
1412 false,
1413 al,
1414 "cs r0 r14 r3 LSR r11",
1415 "cs_r0_r14_r3_LSR_r11"},
1416 {{ge, r9, r4, r10, LSR, r13},
1417 false,
1418 al,
1419 "ge r9 r4 r10 LSR r13",
1420 "ge_r9_r4_r10_LSR_r13"},
1421 {{ne, r11, r0, r9, LSL, r8},
1422 false,
1423 al,
1424 "ne r11 r0 r9 LSL r8",
1425 "ne_r11_r0_r9_LSL_r8"},
1426 {{vs, r4, r1, r0, LSL, r8},
1427 false,
1428 al,
1429 "vs r4 r1 r0 LSL r8",
1430 "vs_r4_r1_r0_LSL_r8"},
1431 {{le, r5, r5, r4, ROR, r10},
1432 false,
1433 al,
1434 "le r5 r5 r4 ROR r10",
1435 "le_r5_r5_r4_ROR_r10"},
1436 {{al, r9, r5, r0, ROR, r6},
1437 false,
1438 al,
1439 "al r9 r5 r0 ROR r6",
1440 "al_r9_r5_r0_ROR_r6"},
1441 {{hi, r6, r6, r9, LSR, r12},
1442 false,
1443 al,
1444 "hi r6 r6 r9 LSR r12",
1445 "hi_r6_r6_r9_LSR_r12"},
1446 {{lt, r1, r4, r9, ROR, r4},
1447 false,
1448 al,
1449 "lt r1 r4 r9 ROR r4",
1450 "lt_r1_r4_r9_ROR_r4"},
1451 {{vc, r4, r7, r0, ROR, r11},
1452 false,
1453 al,
1454 "vc r4 r7 r0 ROR r11",
1455 "vc_r4_r7_r0_ROR_r11"},
1456 {{gt, r1, r4, r2, ROR, r8},
1457 false,
1458 al,
1459 "gt r1 r4 r2 ROR r8",
1460 "gt_r1_r4_r2_ROR_r8"},
1461 {{ne, r4, r5, r9, LSL, r6},
1462 false,
1463 al,
1464 "ne r4 r5 r9 LSL r6",
1465 "ne_r4_r5_r9_LSL_r6"},
1466 {{gt, r3, r4, r10, LSR, r5},
1467 false,
1468 al,
1469 "gt r3 r4 r10 LSR r5",
1470 "gt_r3_r4_r10_LSR_r5"},
1471 {{al, r7, r9, r2, ROR, r2},
1472 false,
1473 al,
1474 "al r7 r9 r2 ROR r2",
1475 "al_r7_r9_r2_ROR_r2"},
1476 {{le, r3, r8, r2, LSL, r2},
1477 false,
1478 al,
1479 "le r3 r8 r2 LSL r2",
1480 "le_r3_r8_r2_LSL_r2"},
1481 {{hi, r3, r8, r0, LSL, r1},
1482 false,
1483 al,
1484 "hi r3 r8 r0 LSL r1",
1485 "hi_r3_r8_r0_LSL_r1"},
1486 {{ge, r11, r4, r4, LSL, r14},
1487 false,
1488 al,
1489 "ge r11 r4 r4 LSL r14",
1490 "ge_r11_r4_r4_LSL_r14"},
1491 {{mi, r8, r14, r1, LSR, r13},
1492 false,
1493 al,
1494 "mi r8 r14 r1 LSR r13",
1495 "mi_r8_r14_r1_LSR_r13"},
1496 {{pl, r6, r1, r10, LSL, r0},
1497 false,
1498 al,
1499 "pl r6 r1 r10 LSL r0",
1500 "pl_r6_r1_r10_LSL_r0"},
1501 {{eq, r11, r7, r13, LSL, r0},
1502 false,
1503 al,
1504 "eq r11 r7 r13 LSL r0",
1505 "eq_r11_r7_r13_LSL_r0"},
1506 {{cc, r4, r9, r11, LSR, r1},
1507 false,
1508 al,
1509 "cc r4 r9 r11 LSR r1",
1510 "cc_r4_r9_r11_LSR_r1"},
1511 {{cc, r8, r2, r3, LSR, r8},
1512 false,
1513 al,
1514 "cc r8 r2 r3 LSR r8",
1515 "cc_r8_r2_r3_LSR_r8"},
1516 {{ne, r5, r1, r14, LSL, r12},
1517 false,
1518 al,
1519 "ne r5 r1 r14 LSL r12",
1520 "ne_r5_r1_r14_LSL_r12"},
1521 {{le, r13, r5, r2, ASR, r1},
1522 false,
1523 al,
1524 "le r13 r5 r2 ASR r1",
1525 "le_r13_r5_r2_ASR_r1"},
1526 {{al, r0, r5, r0, LSL, r4},
1527 false,
1528 al,
1529 "al r0 r5 r0 LSL r4",
1530 "al_r0_r5_r0_LSL_r4"},
1531 {{mi, r3, r1, r4, LSR, r3},
1532 false,
1533 al,
1534 "mi r3 r1 r4 LSR r3",
1535 "mi_r3_r1_r4_LSR_r3"},
1536 {{cs, r3, r7, r0, ROR, r8},
1537 false,
1538 al,
1539 "cs r3 r7 r0 ROR r8",
1540 "cs_r3_r7_r0_ROR_r8"},
1541 {{cs, r11, r14, r4, LSR, r13},
1542 false,
1543 al,
1544 "cs r11 r14 r4 LSR r13",
1545 "cs_r11_r14_r4_LSR_r13"},
1546 {{vs, r11, r10, r8, ASR, r3},
1547 false,
1548 al,
1549 "vs r11 r10 r8 ASR r3",
1550 "vs_r11_r10_r8_ASR_r3"},
1551 {{gt, r10, r8, r9, LSL, r13},
1552 false,
1553 al,
1554 "gt r10 r8 r9 LSL r13",
1555 "gt_r10_r8_r9_LSL_r13"},
1556 {{eq, r10, r1, r8, ASR, r9},
1557 false,
1558 al,
1559 "eq r10 r1 r8 ASR r9",
1560 "eq_r10_r1_r8_ASR_r9"},
1561 {{al, r2, r1, r10, ASR, r8},
1562 false,
1563 al,
1564 "al r2 r1 r10 ASR r8",
1565 "al_r2_r1_r10_ASR_r8"},
1566 {{al, r7, r1, r7, ROR, r11},
1567 false,
1568 al,
1569 "al r7 r1 r7 ROR r11",
1570 "al_r7_r1_r7_ROR_r11"},
1571 {{cs, r0, r5, r6, ASR, r1},
1572 false,
1573 al,
1574 "cs r0 r5 r6 ASR r1",
1575 "cs_r0_r5_r6_ASR_r1"},
1576 {{lt, r12, r11, r10, LSR, r14},
1577 false,
1578 al,
1579 "lt r12 r11 r10 LSR r14",
1580 "lt_r12_r11_r10_LSR_r14"},
1581 {{pl, r13, r7, r5, LSL, r2},
1582 false,
1583 al,
1584 "pl r13 r7 r5 LSL r2",
1585 "pl_r13_r7_r5_LSL_r2"},
1586 {{ne, r2, r0, r12, LSL, r11},
1587 false,
1588 al,
1589 "ne r2 r0 r12 LSL r11",
1590 "ne_r2_r0_r12_LSL_r11"},
1591 {{ls, r14, r9, r12, ROR, r6},
1592 false,
1593 al,
1594 "ls r14 r9 r12 ROR r6",
1595 "ls_r14_r9_r12_ROR_r6"},
1596 {{cc, r9, r2, r8, ASR, r3},
1597 false,
1598 al,
1599 "cc r9 r2 r8 ASR r3",
1600 "cc_r9_r2_r8_ASR_r3"},
1601 {{pl, r12, r11, r0, ASR, r7},
1602 false,
1603 al,
1604 "pl r12 r11 r0 ASR r7",
1605 "pl_r12_r11_r0_ASR_r7"},
1606 {{vs, r12, r2, r3, ROR, r1},
1607 false,
1608 al,
1609 "vs r12 r2 r3 ROR r1",
1610 "vs_r12_r2_r3_ROR_r1"},
1611 {{al, r3, r1, r8, LSL, r4},
1612 false,
1613 al,
1614 "al r3 r1 r8 LSL r4",
1615 "al_r3_r1_r8_LSL_r4"},
1616 {{mi, r7, r9, r13, ASR, r5},
1617 false,
1618 al,
1619 "mi r7 r9 r13 ASR r5",
1620 "mi_r7_r9_r13_ASR_r5"},
1621 {{vs, r13, r4, r10, ROR, r9},
1622 false,
1623 al,
1624 "vs r13 r4 r10 ROR r9",
1625 "vs_r13_r4_r10_ROR_r9"},
1626 {{eq, r8, r2, r3, LSR, r2},
1627 false,
1628 al,
1629 "eq r8 r2 r3 LSR r2",
1630 "eq_r8_r2_r3_LSR_r2"},
1631 {{cs, r0, r3, r11, LSR, r7},
1632 false,
1633 al,
1634 "cs r0 r3 r11 LSR r7",
1635 "cs_r0_r3_r11_LSR_r7"},
1636 {{pl, r2, r10, r9, ASR, r13},
1637 false,
1638 al,
1639 "pl r2 r10 r9 ASR r13",
1640 "pl_r2_r10_r9_ASR_r13"},
1641 {{eq, r14, r0, r7, ASR, r0},
1642 false,
1643 al,
1644 "eq r14 r0 r7 ASR r0",
1645 "eq_r14_r0_r7_ASR_r0"},
1646 {{lt, r12, r11, r7, ROR, r7},
1647 false,
1648 al,
1649 "lt r12 r11 r7 ROR r7",
1650 "lt_r12_r11_r7_ROR_r7"},
1651 {{eq, r4, r10, r1, LSL, r2},
1652 false,
1653 al,
1654 "eq r4 r10 r1 LSL r2",
1655 "eq_r4_r10_r1_LSL_r2"},
1656 {{al, r7, r14, r12, ASR, r6},
1657 false,
1658 al,
1659 "al r7 r14 r12 ASR r6",
1660 "al_r7_r14_r12_ASR_r6"},
1661 {{al, r2, r5, r13, ASR, r1},
1662 false,
1663 al,
1664 "al r2 r5 r13 ASR r1",
1665 "al_r2_r5_r13_ASR_r1"},
1666 {{hi, r0, r3, r14, LSL, r11},
1667 false,
1668 al,
1669 "hi r0 r3 r14 LSL r11",
1670 "hi_r0_r3_r14_LSL_r11"},
1671 {{vs, r5, r6, r9, LSR, r13},
1672 false,
1673 al,
1674 "vs r5 r6 r9 LSR r13",
1675 "vs_r5_r6_r9_LSR_r13"},
1676 {{hi, r14, r0, r14, ROR, r14},
1677 false,
1678 al,
1679 "hi r14 r0 r14 ROR r14",
1680 "hi_r14_r0_r14_ROR_r14"},
1681 {{eq, r9, r3, r13, ROR, r9},
1682 false,
1683 al,
1684 "eq r9 r3 r13 ROR r9",
1685 "eq_r9_r3_r13_ROR_r9"},
1686 {{hi, r6, r8, r1, ASR, r14},
1687 false,
1688 al,
1689 "hi r6 r8 r1 ASR r14",
1690 "hi_r6_r8_r1_ASR_r14"},
1691 {{vs, r13, r2, r8, LSR, r7},
1692 false,
1693 al,
1694 "vs r13 r2 r8 LSR r7",
1695 "vs_r13_r2_r8_LSR_r7"},
1696 {{cc, r13, r0, r8, LSR, r7},
1697 false,
1698 al,
1699 "cc r13 r0 r8 LSR r7",
1700 "cc_r13_r0_r8_LSR_r7"},
1701 {{le, r12, r0, r11, ASR, r9},
1702 false,
1703 al,
1704 "le r12 r0 r11 ASR r9",
1705 "le_r12_r0_r11_ASR_r9"},
1706 {{le, r8, r8, r1, LSR, r6},
1707 false,
1708 al,
1709 "le r8 r8 r1 LSR r6",
1710 "le_r8_r8_r1_LSR_r6"},
1711 {{cs, r5, r14, r7, ASR, r3},
1712 false,
1713 al,
1714 "cs r5 r14 r7 ASR r3",
1715 "cs_r5_r14_r7_ASR_r3"},
1716 {{eq, r13, r13, r10, ROR, r12},
1717 false,
1718 al,
1719 "eq r13 r13 r10 ROR r12",
1720 "eq_r13_r13_r10_ROR_r12"},
1721 {{lt, r4, r7, r7, LSR, r5},
1722 false,
1723 al,
1724 "lt r4 r7 r7 LSR r5",
1725 "lt_r4_r7_r7_LSR_r5"},
1726 {{le, r6, r13, r10, LSR, r2},
1727 false,
1728 al,
1729 "le r6 r13 r10 LSR r2",
1730 "le_r6_r13_r10_LSR_r2"},
1731 {{eq, r10, r13, r10, ASR, r8},
1732 false,
1733 al,
1734 "eq r10 r13 r10 ASR r8",
1735 "eq_r10_r13_r10_ASR_r8"},
1736 {{ne, r6, r5, r12, LSR, r12},
1737 false,
1738 al,
1739 "ne r6 r5 r12 LSR r12",
1740 "ne_r6_r5_r12_LSR_r12"},
1741 {{vc, r10, r8, r10, ROR, r8},
1742 false,
1743 al,
1744 "vc r10 r8 r10 ROR r8",
1745 "vc_r10_r8_r10_ROR_r8"},
1746 {{gt, r10, r1, r8, LSR, r1},
1747 false,
1748 al,
1749 "gt r10 r1 r8 LSR r1",
1750 "gt_r10_r1_r8_LSR_r1"},
1751 {{pl, r5, r12, r9, LSR, r13},
1752 false,
1753 al,
1754 "pl r5 r12 r9 LSR r13",
1755 "pl_r5_r12_r9_LSR_r13"},
1756 {{gt, r10, r6, r4, ROR, r12},
1757 false,
1758 al,
1759 "gt r10 r6 r4 ROR r12",
1760 "gt_r10_r6_r4_ROR_r12"},
1761 {{cs, r14, r10, r10, ASR, r6},
1762 false,
1763 al,
1764 "cs r14 r10 r10 ASR r6",
1765 "cs_r14_r10_r10_ASR_r6"},
1766 {{le, r6, r8, r2, ROR, r7},
1767 false,
1768 al,
1769 "le r6 r8 r2 ROR r7",
1770 "le_r6_r8_r2_ROR_r7"},
1771 {{le, r13, r12, r0, ROR, r14},
1772 false,
1773 al,
1774 "le r13 r12 r0 ROR r14",
1775 "le_r13_r12_r0_ROR_r14"},
1776 {{le, r7, r6, r0, ASR, r10},
1777 false,
1778 al,
1779 "le r7 r6 r0 ASR r10",
1780 "le_r7_r6_r0_ASR_r10"},
1781 {{cs, r10, r4, r1, ASR, r10},
1782 false,
1783 al,
1784 "cs r10 r4 r1 ASR r10",
1785 "cs_r10_r4_r1_ASR_r10"},
1786 {{ne, r12, r9, r11, ASR, r6},
1787 false,
1788 al,
1789 "ne r12 r9 r11 ASR r6",
1790 "ne_r12_r9_r11_ASR_r6"},
1791 {{vs, r9, r14, r6, ASR, r12},
1792 false,
1793 al,
1794 "vs r9 r14 r6 ASR r12",
1795 "vs_r9_r14_r6_ASR_r12"},
1796 {{mi, r1, r8, r0, ASR, r7},
1797 false,
1798 al,
1799 "mi r1 r8 r0 ASR r7",
1800 "mi_r1_r8_r0_ASR_r7"},
1801 {{gt, r11, r2, r3, ROR, r11},
1802 false,
1803 al,
1804 "gt r11 r2 r3 ROR r11",
1805 "gt_r11_r2_r3_ROR_r11"},
1806 {{cs, r3, r1, r12, LSR, r0},
1807 false,
1808 al,
1809 "cs r3 r1 r12 LSR r0",
1810 "cs_r3_r1_r12_LSR_r0"},
1811 {{hi, r12, r14, r11, LSL, r2},
1812 false,
1813 al,
1814 "hi r12 r14 r11 LSL r2",
1815 "hi_r12_r14_r11_LSL_r2"},
1816 {{mi, r10, r11, r14, LSL, r10},
1817 false,
1818 al,
1819 "mi r10 r11 r14 LSL r10",
1820 "mi_r10_r11_r14_LSL_r10"},
1821 {{al, r11, r6, r13, ASR, r2},
1822 false,
1823 al,
1824 "al r11 r6 r13 ASR r2",
1825 "al_r11_r6_r13_ASR_r2"},
1826 {{gt, r2, r14, r3, ROR, r6},
1827 false,
1828 al,
1829 "gt r2 r14 r3 ROR r6",
1830 "gt_r2_r14_r3_ROR_r6"},
1831 {{hi, r1, r10, r6, LSR, r6},
1832 false,
1833 al,
1834 "hi r1 r10 r6 LSR r6",
1835 "hi_r1_r10_r6_LSR_r6"},
1836 {{gt, r2, r8, r3, LSL, r6},
1837 false,
1838 al,
1839 "gt r2 r8 r3 LSL r6",
1840 "gt_r2_r8_r3_LSL_r6"},
1841 {{ls, r13, r4, r12, ROR, r13},
1842 false,
1843 al,
1844 "ls r13 r4 r12 ROR r13",
1845 "ls_r13_r4_r12_ROR_r13"},
1846 {{vs, r13, r11, r7, ROR, r8},
1847 false,
1848 al,
1849 "vs r13 r11 r7 ROR r8",
1850 "vs_r13_r11_r7_ROR_r8"},
1851 {{hi, r5, r12, r14, LSR, r3},
1852 false,
1853 al,
1854 "hi r5 r12 r14 LSR r3",
1855 "hi_r5_r12_r14_LSR_r3"},
1856 {{cs, r14, r8, r3, ROR, r13},
1857 false,
1858 al,
1859 "cs r14 r8 r3 ROR r13",
1860 "cs_r14_r8_r3_ROR_r13"},
1861 {{cs, r9, r10, r0, LSL, r10},
1862 false,
1863 al,
1864 "cs r9 r10 r0 LSL r10",
1865 "cs_r9_r10_r0_LSL_r10"},
1866 {{lt, r0, r13, r12, ASR, r5},
1867 false,
1868 al,
1869 "lt r0 r13 r12 ASR r5",
1870 "lt_r0_r13_r12_ASR_r5"},
1871 {{cs, r4, r5, r7, ROR, r7},
1872 false,
1873 al,
1874 "cs r4 r5 r7 ROR r7",
1875 "cs_r4_r5_r7_ROR_r7"},
1876 {{lt, r0, r14, r7, LSR, r7},
1877 false,
1878 al,
1879 "lt r0 r14 r7 LSR r7",
1880 "lt_r0_r14_r7_LSR_r7"},
1881 {{hi, r10, r5, r3, LSL, r10},
1882 false,
1883 al,
1884 "hi r10 r5 r3 LSL r10",
1885 "hi_r10_r5_r3_LSL_r10"},
1886 {{ls, r6, r2, r4, ROR, r0},
1887 false,
1888 al,
1889 "ls r6 r2 r4 ROR r0",
1890 "ls_r6_r2_r4_ROR_r0"},
1891 {{hi, r9, r7, r7, ASR, r10},
1892 false,
1893 al,
1894 "hi r9 r7 r7 ASR r10",
1895 "hi_r9_r7_r7_ASR_r10"},
1896 {{cc, r0, r9, r4, LSR, r2},
1897 false,
1898 al,
1899 "cc r0 r9 r4 LSR r2",
1900 "cc_r0_r9_r4_LSR_r2"},
1901 {{le, r3, r14, r2, ASR, r0},
1902 false,
1903 al,
1904 "le r3 r14 r2 ASR r0",
1905 "le_r3_r14_r2_ASR_r0"},
1906 {{pl, r2, r8, r7, LSL, r13},
1907 false,
1908 al,
1909 "pl r2 r8 r7 LSL r13",
1910 "pl_r2_r8_r7_LSL_r13"},
1911 {{al, r10, r1, r9, LSR, r6},
1912 false,
1913 al,
1914 "al r10 r1 r9 LSR r6",
1915 "al_r10_r1_r9_LSR_r6"},
1916 {{vs, r1, r6, r14, ASR, r14},
1917 false,
1918 al,
1919 "vs r1 r6 r14 ASR r14",
1920 "vs_r1_r6_r14_ASR_r14"},
1921 {{lt, r3, r3, r13, LSR, r0},
1922 false,
1923 al,
1924 "lt r3 r3 r13 LSR r0",
1925 "lt_r3_r3_r13_LSR_r0"},
1926 {{le, r9, r3, r2, ASR, r11},
1927 false,
1928 al,
1929 "le r9 r3 r2 ASR r11",
1930 "le_r9_r3_r2_ASR_r11"},
1931 {{mi, r4, r14, r6, LSL, r11},
1932 false,
1933 al,
1934 "mi r4 r14 r6 LSL r11",
1935 "mi_r4_r14_r6_LSL_r11"},
1936 {{ne, r7, r5, r14, ASR, r9},
1937 false,
1938 al,
1939 "ne r7 r5 r14 ASR r9",
1940 "ne_r7_r5_r14_ASR_r9"},
1941 {{cs, r11, r11, r13, LSR, r11},
1942 false,
1943 al,
1944 "cs r11 r11 r13 LSR r11",
1945 "cs_r11_r11_r13_LSR_r11"},
1946 {{lt, r12, r9, r5, LSR, r9},
1947 false,
1948 al,
1949 "lt r12 r9 r5 LSR r9",
1950 "lt_r12_r9_r5_LSR_r9"},
1951 {{hi, r13, r1, r10, LSL, r4},
1952 false,
1953 al,
1954 "hi r13 r1 r10 LSL r4",
1955 "hi_r13_r1_r10_LSL_r4"},
1956 {{mi, r14, r6, r8, ASR, r14},
1957 false,
1958 al,
1959 "mi r14 r6 r8 ASR r14",
1960 "mi_r14_r6_r8_ASR_r14"},
1961 {{vc, r3, r2, r6, ASR, r3},
1962 false,
1963 al,
1964 "vc r3 r2 r6 ASR r3",
1965 "vc_r3_r2_r6_ASR_r3"},
1966 {{ne, r13, r14, r0, ASR, r2},
1967 false,
1968 al,
1969 "ne r13 r14 r0 ASR r2",
1970 "ne_r13_r14_r0_ASR_r2"},
1971 {{gt, r2, r14, r5, ROR, r1},
1972 false,
1973 al,
1974 "gt r2 r14 r5 ROR r1",
1975 "gt_r2_r14_r5_ROR_r1"},
1976 {{ls, r7, r7, r9, LSR, r10},
1977 false,
1978 al,
1979 "ls r7 r7 r9 LSR r10",
1980 "ls_r7_r7_r9_LSR_r10"},
1981 {{gt, r2, r12, r8, ASR, r5},
1982 false,
1983 al,
1984 "gt r2 r12 r8 ASR r5",
1985 "gt_r2_r12_r8_ASR_r5"},
1986 {{lt, r13, r2, r11, ROR, r6},
1987 false,
1988 al,
1989 "lt r13 r2 r11 ROR r6",
1990 "lt_r13_r2_r11_ROR_r6"},
1991 {{cc, r2, r13, r13, ASR, r1},
1992 false,
1993 al,
1994 "cc r2 r13 r13 ASR r1",
1995 "cc_r2_r13_r13_ASR_r1"},
1996 {{vs, r0, r6, r14, ROR, r3},
1997 false,
1998 al,
1999 "vs r0 r6 r14 ROR r3",
2000 "vs_r0_r6_r14_ROR_r3"},
2001 {{vs, r2, r13, r8, LSL, r9},
2002 false,
2003 al,
2004 "vs r2 r13 r8 LSL r9",
2005 "vs_r2_r13_r8_LSL_r9"},
2006 {{pl, r2, r12, r12, ROR, r6},
2007 false,
2008 al,
2009 "pl r2 r12 r12 ROR r6",
2010 "pl_r2_r12_r12_ROR_r6"},
2011 {{vc, r4, r0, r12, ASR, r13},
2012 false,
2013 al,
2014 "vc r4 r0 r12 ASR r13",
2015 "vc_r4_r0_r12_ASR_r13"},
2016 {{mi, r8, r12, r7, ASR, r7},
2017 false,
2018 al,
2019 "mi r8 r12 r7 ASR r7",
2020 "mi_r8_r12_r7_ASR_r7"},
2021 {{al, r13, r5, r0, LSL, r5},
2022 false,
2023 al,
2024 "al r13 r5 r0 LSL r5",
2025 "al_r13_r5_r0_LSL_r5"},
2026 {{le, r9, r1, r12, LSR, r8},
2027 false,
2028 al,
2029 "le r9 r1 r12 LSR r8",
2030 "le_r9_r1_r12_LSR_r8"},
2031 {{vs, r5, r10, r13, ROR, r1},
2032 false,
2033 al,
2034 "vs r5 r10 r13 ROR r1",
2035 "vs_r5_r10_r13_ROR_r1"},
2036 {{vs, r8, r5, r0, LSR, r11},
2037 false,
2038 al,
2039 "vs r8 r5 r0 LSR r11",
2040 "vs_r8_r5_r0_LSR_r11"},
2041 {{ne, r7, r2, r0, LSL, r4},
2042 false,
2043 al,
2044 "ne r7 r2 r0 LSL r4",
2045 "ne_r7_r2_r0_LSL_r4"},
2046 {{lt, r6, r6, r9, LSL, r10},
2047 false,
2048 al,
2049 "lt r6 r6 r9 LSL r10",
2050 "lt_r6_r6_r9_LSL_r10"},
2051 {{cs, r13, r3, r4, ROR, r12},
2052 false,
2053 al,
2054 "cs r13 r3 r4 ROR r12",
2055 "cs_r13_r3_r4_ROR_r12"},
2056 {{ne, r11, r11, r0, LSL, r7},
2057 false,
2058 al,
2059 "ne r11 r11 r0 LSL r7",
2060 "ne_r11_r11_r0_LSL_r7"},
2061 {{pl, r3, r14, r12, LSR, r13},
2062 false,
2063 al,
2064 "pl r3 r14 r12 LSR r13",
2065 "pl_r3_r14_r12_LSR_r13"},
2066 {{al, r2, r14, r3, LSL, r11},
2067 false,
2068 al,
2069 "al r2 r14 r3 LSL r11",
2070 "al_r2_r14_r3_LSL_r11"},
2071 {{vc, r4, r6, r3, LSR, r7},
2072 false,
2073 al,
2074 "vc r4 r6 r3 LSR r7",
2075 "vc_r4_r6_r3_LSR_r7"},
2076 {{ls, r6, r2, r1, LSR, r6},
2077 false,
2078 al,
2079 "ls r6 r2 r1 LSR r6",
2080 "ls_r6_r2_r1_LSR_r6"},
2081 {{le, r0, r2, r5, ASR, r3},
2082 false,
2083 al,
2084 "le r0 r2 r5 ASR r3",
2085 "le_r0_r2_r5_ASR_r3"},
2086 {{ge, r12, r9, r12, ROR, r13},
2087 false,
2088 al,
2089 "ge r12 r9 r12 ROR r13",
2090 "ge_r12_r9_r12_ROR_r13"},
2091 {{cc, r10, r5, r3, ROR, r12},
2092 false,
2093 al,
2094 "cc r10 r5 r3 ROR r12",
2095 "cc_r10_r5_r3_ROR_r12"},
2096 {{mi, r14, r0, r10, ASR, r4},
2097 false,
2098 al,
2099 "mi r14 r0 r10 ASR r4",
2100 "mi_r14_r0_r10_ASR_r4"},
2101 {{al, r12, r0, r3, ROR, r13},
2102 false,
2103 al,
2104 "al r12 r0 r3 ROR r13",
2105 "al_r12_r0_r3_ROR_r13"},
2106 {{hi, r1, r8, r13, ASR, r2},
2107 false,
2108 al,
2109 "hi r1 r8 r13 ASR r2",
2110 "hi_r1_r8_r13_ASR_r2"},
2111 {{ls, r7, r9, r9, ASR, r2},
2112 false,
2113 al,
2114 "ls r7 r9 r9 ASR r2",
2115 "ls_r7_r9_r9_ASR_r2"},
2116 {{ls, r9, r13, r6, ROR, r11},
2117 false,
2118 al,
2119 "ls r9 r13 r6 ROR r11",
2120 "ls_r9_r13_r6_ROR_r11"},
2121 {{pl, r11, r12, r14, LSL, r14},
2122 false,
2123 al,
2124 "pl r11 r12 r14 LSL r14",
2125 "pl_r11_r12_r14_LSL_r14"},
2126 {{eq, r1, r3, r10, ASR, r9},
2127 false,
2128 al,
2129 "eq r1 r3 r10 ASR r9",
2130 "eq_r1_r3_r10_ASR_r9"},
2131 {{al, r1, r6, r6, LSL, r9},
2132 false,
2133 al,
2134 "al r1 r6 r6 LSL r9",
2135 "al_r1_r6_r6_LSL_r9"},
2136 {{ne, r4, r14, r7, ROR, r12},
2137 false,
2138 al,
2139 "ne r4 r14 r7 ROR r12",
2140 "ne_r4_r14_r7_ROR_r12"},
2141 {{vc, r2, r13, r1, ROR, r7},
2142 false,
2143 al,
2144 "vc r2 r13 r1 ROR r7",
2145 "vc_r2_r13_r1_ROR_r7"},
2146 {{cs, r13, r12, r8, LSR, r11},
2147 false,
2148 al,
2149 "cs r13 r12 r8 LSR r11",
2150 "cs_r13_r12_r8_LSR_r11"},
2151 {{le, r10, r14, r12, LSL, r4},
2152 false,
2153 al,
2154 "le r10 r14 r12 LSL r4",
2155 "le_r10_r14_r12_LSL_r4"},
2156 {{cs, r14, r9, r4, ROR, r13},
2157 false,
2158 al,
2159 "cs r14 r9 r4 ROR r13",
2160 "cs_r14_r9_r4_ROR_r13"},
2161 {{ge, r10, r12, r8, ASR, r14},
2162 false,
2163 al,
2164 "ge r10 r12 r8 ASR r14",
2165 "ge_r10_r12_r8_ASR_r14"},
2166 {{cs, r14, r10, r3, LSL, r13},
2167 false,
2168 al,
2169 "cs r14 r10 r3 LSL r13",
2170 "cs_r14_r10_r3_LSL_r13"},
2171 {{lt, r4, r3, r10, LSR, r2},
2172 false,
2173 al,
2174 "lt r4 r3 r10 LSR r2",
2175 "lt_r4_r3_r10_LSR_r2"},
2176 {{ls, r13, r12, r8, ASR, r14},
2177 false,
2178 al,
2179 "ls r13 r12 r8 ASR r14",
2180 "ls_r13_r12_r8_ASR_r14"},
2181 {{ge, r3, r2, r0, ASR, r8},
2182 false,
2183 al,
2184 "ge r3 r2 r0 ASR r8",
2185 "ge_r3_r2_r0_ASR_r8"},
2186 {{vs, r3, r7, r1, LSL, r0},
2187 false,
2188 al,
2189 "vs r3 r7 r1 LSL r0",
2190 "vs_r3_r7_r1_LSL_r0"},
2191 {{lt, r5, r13, r7, LSR, r7},
2192 false,
2193 al,
2194 "lt r5 r13 r7 LSR r7",
2195 "lt_r5_r13_r7_LSR_r7"},
2196 {{ls, r8, r4, r3, ROR, r14},
2197 false,
2198 al,
2199 "ls r8 r4 r3 ROR r14",
2200 "ls_r8_r4_r3_ROR_r14"},
2201 {{vc, r5, r4, r13, LSL, r12},
2202 false,
2203 al,
2204 "vc r5 r4 r13 LSL r12",
2205 "vc_r5_r4_r13_LSL_r12"},
2206 {{pl, r6, r10, r11, LSR, r2},
2207 false,
2208 al,
2209 "pl r6 r10 r11 LSR r2",
2210 "pl_r6_r10_r11_LSR_r2"},
2211 {{ne, r4, r0, r6, ASR, r10},
2212 false,
2213 al,
2214 "ne r4 r0 r6 ASR r10",
2215 "ne_r4_r0_r6_ASR_r10"},
2216 {{vc, r2, r6, r7, LSR, r4},
2217 false,
2218 al,
2219 "vc r2 r6 r7 LSR r4",
2220 "vc_r2_r6_r7_LSR_r4"},
2221 {{pl, r4, r12, r1, ROR, r14},
2222 false,
2223 al,
2224 "pl r4 r12 r1 ROR r14",
2225 "pl_r4_r12_r1_ROR_r14"},
2226 {{cs, r13, r1, r10, LSL, r12},
2227 false,
2228 al,
2229 "cs r13 r1 r10 LSL r12",
2230 "cs_r13_r1_r10_LSL_r12"},
2231 {{al, r7, r12, r7, LSL, r10},
2232 false,
2233 al,
2234 "al r7 r12 r7 LSL r10",
2235 "al_r7_r12_r7_LSL_r10"},
2236 {{ge, r1, r9, r13, LSR, r8},
2237 false,
2238 al,
2239 "ge r1 r9 r13 LSR r8",
2240 "ge_r1_r9_r13_LSR_r8"},
2241 {{eq, r12, r5, r11, ASR, r2},
2242 false,
2243 al,
2244 "eq r12 r5 r11 ASR r2",
2245 "eq_r12_r5_r11_ASR_r2"},
2246 {{ls, r7, r9, r3, ASR, r14},
2247 false,
2248 al,
2249 "ls r7 r9 r3 ASR r14",
2250 "ls_r7_r9_r3_ASR_r14"},
2251 {{pl, r5, r10, r3, LSL, r12},
2252 false,
2253 al,
2254 "pl r5 r10 r3 LSL r12",
2255 "pl_r5_r10_r3_LSL_r12"},
2256 {{vs, r5, r14, r11, ASR, r13},
2257 false,
2258 al,
2259 "vs r5 r14 r11 ASR r13",
2260 "vs_r5_r14_r11_ASR_r13"},
2261 {{al, r9, r2, r8, LSR, r10},
2262 false,
2263 al,
2264 "al r9 r2 r8 LSR r10",
2265 "al_r9_r2_r8_LSR_r10"},
2266 {{cc, r11, r12, r6, ROR, r11},
2267 false,
2268 al,
2269 "cc r11 r12 r6 ROR r11",
2270 "cc_r11_r12_r6_ROR_r11"},
2271 {{ge, r10, r3, r1, LSR, r5},
2272 false,
2273 al,
2274 "ge r10 r3 r1 LSR r5",
2275 "ge_r10_r3_r1_LSR_r5"},
2276 {{lt, r13, r4, r7, ROR, r0},
2277 false,
2278 al,
2279 "lt r13 r4 r7 ROR r0",
2280 "lt_r13_r4_r7_ROR_r0"},
2281 {{ne, r2, r12, r12, LSR, r0},
2282 false,
2283 al,
2284 "ne r2 r12 r12 LSR r0",
2285 "ne_r2_r12_r12_LSR_r0"},
2286 {{gt, r2, r10, r14, ASR, r10},
2287 false,
2288 al,
2289 "gt r2 r10 r14 ASR r10",
2290 "gt_r2_r10_r14_ASR_r10"},
2291 {{cc, r5, r6, r10, ASR, r11},
2292 false,
2293 al,
2294 "cc r5 r6 r10 ASR r11",
2295 "cc_r5_r6_r10_ASR_r11"},
2296 {{hi, r8, r13, r1, ROR, r9},
2297 false,
2298 al,
2299 "hi r8 r13 r1 ROR r9",
2300 "hi_r8_r13_r1_ROR_r9"},
2301 {{cc, r3, r1, r14, LSR, r3},
2302 false,
2303 al,
2304 "cc r3 r1 r14 LSR r3",
2305 "cc_r3_r1_r14_LSR_r3"},
2306 {{lt, r11, r9, r8, ASR, r13},
2307 false,
2308 al,
2309 "lt r11 r9 r8 ASR r13",
2310 "lt_r11_r9_r8_ASR_r13"},
2311 {{mi, r0, r3, r13, ASR, r5},
2312 false,
2313 al,
2314 "mi r0 r3 r13 ASR r5",
2315 "mi_r0_r3_r13_ASR_r5"},
2316 {{vc, r7, r6, r10, ASR, r6},
2317 false,
2318 al,
2319 "vc r7 r6 r10 ASR r6",
2320 "vc_r7_r6_r10_ASR_r6"},
2321 {{mi, r2, r6, r4, LSL, r9},
2322 false,
2323 al,
2324 "mi r2 r6 r4 LSL r9",
2325 "mi_r2_r6_r4_LSL_r9"},
2326 {{ne, r12, r9, r4, ROR, r6},
2327 false,
2328 al,
2329 "ne r12 r9 r4 ROR r6",
2330 "ne_r12_r9_r4_ROR_r6"},
2331 {{hi, r4, r3, r0, ROR, r4},
2332 false,
2333 al,
2334 "hi r4 r3 r0 ROR r4",
2335 "hi_r4_r3_r0_ROR_r4"},
2336 {{gt, r9, r2, r11, LSL, r13},
2337 false,
2338 al,
2339 "gt r9 r2 r11 LSL r13",
2340 "gt_r9_r2_r11_LSL_r13"},
2341 {{eq, r14, r4, r3, LSL, r10},
2342 false,
2343 al,
2344 "eq r14 r4 r3 LSL r10",
2345 "eq_r14_r4_r3_LSL_r10"},
2346 {{le, r8, r2, r12, LSL, r10},
2347 false,
2348 al,
2349 "le r8 r2 r12 LSL r10",
2350 "le_r8_r2_r12_LSL_r10"},
2351 {{ls, r8, r0, r1, ASR, r8},
2352 false,
2353 al,
2354 "ls r8 r0 r1 ASR r8",
2355 "ls_r8_r0_r1_ASR_r8"},
2356 {{cc, r13, r9, r7, LSR, r3},
2357 false,
2358 al,
2359 "cc r13 r9 r7 LSR r3",
2360 "cc_r13_r9_r7_LSR_r3"},
2361 {{gt, r6, r0, r7, ROR, r9},
2362 false,
2363 al,
2364 "gt r6 r0 r7 ROR r9",
2365 "gt_r6_r0_r7_ROR_r9"},
2366 {{hi, r14, r12, r6, LSR, r12},
2367 false,
2368 al,
2369 "hi r14 r12 r6 LSR r12",
2370 "hi_r14_r12_r6_LSR_r12"},
2371 {{cs, r3, r7, r10, LSR, r8},
2372 false,
2373 al,
2374 "cs r3 r7 r10 LSR r8",
2375 "cs_r3_r7_r10_LSR_r8"},
2376 {{le, r7, r7, r7, LSL, r11},
2377 false,
2378 al,
2379 "le r7 r7 r7 LSL r11",
2380 "le_r7_r7_r7_LSL_r11"},
2381 {{le, r11, r11, r14, ASR, r3},
2382 false,
2383 al,
2384 "le r11 r11 r14 ASR r3",
2385 "le_r11_r11_r14_ASR_r3"},
2386 {{vc, r13, r5, r6, LSL, r13},
2387 false,
2388 al,
2389 "vc r13 r5 r6 LSL r13",
2390 "vc_r13_r5_r6_LSL_r13"},
2391 {{cc, r12, r3, r12, LSL, r8},
2392 false,
2393 al,
2394 "cc r12 r3 r12 LSL r8",
2395 "cc_r12_r3_r12_LSL_r8"},
2396 {{gt, r4, r14, r12, ASR, r11},
2397 false,
2398 al,
2399 "gt r4 r14 r12 ASR r11",
2400 "gt_r4_r14_r12_ASR_r11"},
2401 {{cs, r9, r6, r7, LSL, r10},
2402 false,
2403 al,
2404 "cs r9 r6 r7 LSL r10",
2405 "cs_r9_r6_r7_LSL_r10"},
2406 {{ge, r9, r5, r3, ROR, r5},
2407 false,
2408 al,
2409 "ge r9 r5 r3 ROR r5",
2410 "ge_r9_r5_r3_ROR_r5"},
2411 {{vc, r4, r5, r14, LSR, r4},
2412 false,
2413 al,
2414 "vc r4 r5 r14 LSR r4",
2415 "vc_r4_r5_r14_LSR_r4"},
2416 {{ne, r13, r12, r2, ASR, r14},
2417 false,
2418 al,
2419 "ne r13 r12 r2 ASR r14",
2420 "ne_r13_r12_r2_ASR_r14"},
2421 {{gt, r2, r9, r11, LSR, r13},
2422 false,
2423 al,
2424 "gt r2 r9 r11 LSR r13",
2425 "gt_r2_r9_r11_LSR_r13"},
2426 {{mi, r10, r11, r8, LSR, r1},
2427 false,
2428 al,
2429 "mi r10 r11 r8 LSR r1",
2430 "mi_r10_r11_r8_LSR_r1"},
2431 {{hi, r6, r8, r1, ASR, r6},
2432 false,
2433 al,
2434 "hi r6 r8 r1 ASR r6",
2435 "hi_r6_r8_r1_ASR_r6"},
2436 {{eq, r10, r12, r5, ROR, r11},
2437 false,
2438 al,
2439 "eq r10 r12 r5 ROR r11",
2440 "eq_r10_r12_r5_ROR_r11"},
2441 {{mi, r9, r6, r4, LSL, r1},
2442 false,
2443 al,
2444 "mi r9 r6 r4 LSL r1",
2445 "mi_r9_r6_r4_LSL_r1"},
2446 {{vc, r14, r6, r0, ROR, r7},
2447 false,
2448 al,
2449 "vc r14 r6 r0 ROR r7",
2450 "vc_r14_r6_r0_ROR_r7"},
2451 {{mi, r10, r3, r12, LSL, r2},
2452 false,
2453 al,
2454 "mi r10 r3 r12 LSL r2",
2455 "mi_r10_r3_r12_LSL_r2"},
2456 {{pl, r9, r6, r9, LSR, r14},
2457 false,
2458 al,
2459 "pl r9 r6 r9 LSR r14",
2460 "pl_r9_r6_r9_LSR_r14"},
2461 {{al, r10, r5, r10, ROR, r1},
2462 false,
2463 al,
2464 "al r10 r5 r10 ROR r1",
2465 "al_r10_r5_r10_ROR_r1"},
2466 {{ne, r9, r6, r2, ASR, r3},
2467 false,
2468 al,
2469 "ne r9 r6 r2 ASR r3",
2470 "ne_r9_r6_r2_ASR_r3"},
2471 {{hi, r4, r9, r4, LSL, r6},
2472 false,
2473 al,
2474 "hi r4 r9 r4 LSL r6",
2475 "hi_r4_r9_r4_LSL_r6"},
2476 {{vs, r1, r9, r7, ASR, r7},
2477 false,
2478 al,
2479 "vs r1 r9 r7 ASR r7",
2480 "vs_r1_r9_r7_ASR_r7"},
2481 {{ne, r10, r13, r9, ASR, r14},
2482 false,
2483 al,
2484 "ne r10 r13 r9 ASR r14",
2485 "ne_r10_r13_r9_ASR_r14"},
2486 {{gt, r11, r13, r12, ASR, r12},
2487 false,
2488 al,
2489 "gt r11 r13 r12 ASR r12",
2490 "gt_r11_r13_r12_ASR_r12"},
2491 {{lt, r3, r5, r0, LSR, r10},
2492 false,
2493 al,
2494 "lt r3 r5 r0 LSR r10",
2495 "lt_r3_r5_r0_LSR_r10"},
2496 {{gt, r4, r8, r13, ROR, r7},
2497 false,
2498 al,
2499 "gt r4 r8 r13 ROR r7",
2500 "gt_r4_r8_r13_ROR_r7"},
2501 {{ls, r14, r14, r0, ASR, r3},
2502 false,
2503 al,
2504 "ls r14 r14 r0 ASR r3",
2505 "ls_r14_r14_r0_ASR_r3"},
2506 {{vc, r2, r7, r9, ASR, r5},
2507 false,
2508 al,
2509 "vc r2 r7 r9 ASR r5",
2510 "vc_r2_r7_r9_ASR_r5"},
2511 {{mi, r9, r3, r10, LSR, r10},
2512 false,
2513 al,
2514 "mi r9 r3 r10 LSR r10",
2515 "mi_r9_r3_r10_LSR_r10"},
2516 {{gt, r11, r10, r3, ASR, r11},
2517 false,
2518 al,
2519 "gt r11 r10 r3 ASR r11",
2520 "gt_r11_r10_r3_ASR_r11"},
2521 {{cc, r3, r14, r2, ROR, r12},
2522 false,
2523 al,
2524 "cc r3 r14 r2 ROR r12",
2525 "cc_r3_r14_r2_ROR_r12"},
2526 {{ls, r3, r5, r14, ROR, r12},
2527 false,
2528 al,
2529 "ls r3 r5 r14 ROR r12",
2530 "ls_r3_r5_r14_ROR_r12"},
2531 {{al, r6, r0, r11, ASR, r0},
2532 false,
2533 al,
2534 "al r6 r0 r11 ASR r0",
2535 "al_r6_r0_r11_ASR_r0"},
2536 {{al, r14, r12, r13, LSL, r8},
2537 false,
2538 al,
2539 "al r14 r12 r13 LSL r8",
2540 "al_r14_r12_r13_LSL_r8"},
2541 {{cs, r12, r9, r14, ROR, r4},
2542 false,
2543 al,
2544 "cs r12 r9 r14 ROR r4",
2545 "cs_r12_r9_r14_ROR_r4"},
2546 {{vs, r4, r9, r6, LSL, r10},
2547 false,
2548 al,
2549 "vs r4 r9 r6 LSL r10",
2550 "vs_r4_r9_r6_LSL_r10"},
2551 {{eq, r6, r1, r4, ASR, r6},
2552 false,
2553 al,
2554 "eq r6 r1 r4 ASR r6",
2555 "eq_r6_r1_r4_ASR_r6"},
2556 {{ge, r6, r11, r2, LSR, r10},
2557 false,
2558 al,
2559 "ge r6 r11 r2 LSR r10",
2560 "ge_r6_r11_r2_LSR_r10"},
2561 {{cc, r10, r14, r4, LSR, r0},
2562 false,
2563 al,
2564 "cc r10 r14 r4 LSR r0",
2565 "cc_r10_r14_r4_LSR_r0"},
2566 {{ge, r0, r12, r1, ROR, r5},
2567 false,
2568 al,
2569 "ge r0 r12 r1 ROR r5",
2570 "ge_r0_r12_r1_ROR_r5"},
2571 {{ls, r1, r13, r10, ASR, r5},
2572 false,
2573 al,
2574 "ls r1 r13 r10 ASR r5",
2575 "ls_r1_r13_r10_ASR_r5"},
2576 {{cc, r9, r8, r5, ASR, r5},
2577 false,
2578 al,
2579 "cc r9 r8 r5 ASR r5",
2580 "cc_r9_r8_r5_ASR_r5"},
2581 {{ls, r6, r5, r1, LSL, r11},
2582 false,
2583 al,
2584 "ls r6 r5 r1 LSL r11",
2585 "ls_r6_r5_r1_LSL_r11"},
2586 {{ne, r2, r12, r1, ROR, r10},
2587 false,
2588 al,
2589 "ne r2 r12 r1 ROR r10",
2590 "ne_r2_r12_r1_ROR_r10"},
2591 {{cc, r2, r9, r9, LSR, r1},
2592 false,
2593 al,
2594 "cc r2 r9 r9 LSR r1",
2595 "cc_r2_r9_r9_LSR_r1"},
2596 {{ne, r1, r8, r1, ASR, r14},
2597 false,
2598 al,
2599 "ne r1 r8 r1 ASR r14",
2600 "ne_r1_r8_r1_ASR_r14"},
2601 {{lt, r9, r2, r1, LSR, r10},
2602 false,
2603 al,
2604 "lt r9 r2 r1 LSR r10",
2605 "lt_r9_r2_r1_LSR_r10"},
2606 {{cc, r14, r11, r9, ROR, r6},
2607 false,
2608 al,
2609 "cc r14 r11 r9 ROR r6",
2610 "cc_r14_r11_r9_ROR_r6"},
2611 {{eq, r3, r12, r13, ASR, r0},
2612 false,
2613 al,
2614 "eq r3 r12 r13 ASR r0",
2615 "eq_r3_r12_r13_ASR_r0"},
2616 {{le, r6, r6, r6, ASR, r2},
2617 false,
2618 al,
2619 "le r6 r6 r6 ASR r2",
2620 "le_r6_r6_r6_ASR_r2"},
2621 {{mi, r11, r14, r4, ASR, r1},
2622 false,
2623 al,
2624 "mi r11 r14 r4 ASR r1",
2625 "mi_r11_r14_r4_ASR_r1"},
2626 {{ls, r5, r9, r10, LSL, r9},
2627 false,
2628 al,
2629 "ls r5 r9 r10 LSL r9",
2630 "ls_r5_r9_r10_LSL_r9"},
2631 {{vc, r12, r9, r3, LSR, r10},
2632 false,
2633 al,
2634 "vc r12 r9 r3 LSR r10",
2635 "vc_r12_r9_r3_LSR_r10"},
2636 {{lt, r12, r0, r4, ASR, r0},
2637 false,
2638 al,
2639 "lt r12 r0 r4 ASR r0",
2640 "lt_r12_r0_r4_ASR_r0"},
2641 {{mi, r0, r10, r6, ROR, r9},
2642 false,
2643 al,
2644 "mi r0 r10 r6 ROR r9",
2645 "mi_r0_r10_r6_ROR_r9"},
2646 {{hi, r7, r10, r1, LSL, r7},
2647 false,
2648 al,
2649 "hi r7 r10 r1 LSL r7",
2650 "hi_r7_r10_r1_LSL_r7"},
2651 {{ls, r2, r0, r14, ROR, r5},
2652 false,
2653 al,
2654 "ls r2 r0 r14 ROR r5",
2655 "ls_r2_r0_r14_ROR_r5"},
2656 {{cs, r12, r14, r12, LSR, r10},
2657 false,
2658 al,
2659 "cs r12 r14 r12 LSR r10",
2660 "cs_r12_r14_r12_LSR_r10"},
2661 {{le, r9, r0, r6, ROR, r2},
2662 false,
2663 al,
2664 "le r9 r0 r6 ROR r2",
2665 "le_r9_r0_r6_ROR_r2"},
2666 {{cc, r3, r10, r4, LSR, r12},
2667 false,
2668 al,
2669 "cc r3 r10 r4 LSR r12",
2670 "cc_r3_r10_r4_LSR_r12"},
2671 {{mi, r4, r5, r2, ASR, r14},
2672 false,
2673 al,
2674 "mi r4 r5 r2 ASR r14",
2675 "mi_r4_r5_r2_ASR_r14"},
2676 {{vc, r12, r8, r10, ROR, r14},
2677 false,
2678 al,
2679 "vc r12 r8 r10 ROR r14",
2680 "vc_r12_r8_r10_ROR_r14"},
2681 {{al, r5, r14, r4, ASR, r10},
2682 false,
2683 al,
2684 "al r5 r14 r4 ASR r10",
2685 "al_r5_r14_r4_ASR_r10"},
2686 {{ls, r13, r8, r3, ASR, r1},
2687 false,
2688 al,
2689 "ls r13 r8 r3 ASR r1",
2690 "ls_r13_r8_r3_ASR_r1"},
2691 {{le, r10, r1, r2, LSR, r4},
2692 false,
2693 al,
2694 "le r10 r1 r2 LSR r4",
2695 "le_r10_r1_r2_LSR_r4"},
2696 {{ne, r0, r2, r10, ROR, r7},
2697 false,
2698 al,
2699 "ne r0 r2 r10 ROR r7",
2700 "ne_r0_r2_r10_ROR_r7"},
2701 {{vs, r11, r13, r11, LSR, r12},
2702 false,
2703 al,
2704 "vs r11 r13 r11 LSR r12",
2705 "vs_r11_r13_r11_LSR_r12"},
2706 {{vs, r10, r10, r8, ROR, r8},
2707 false,
2708 al,
2709 "vs r10 r10 r8 ROR r8",
2710 "vs_r10_r10_r8_ROR_r8"},
2711 {{ne, r7, r2, r9, LSL, r11},
2712 false,
2713 al,
2714 "ne r7 r2 r9 LSL r11",
2715 "ne_r7_r2_r9_LSL_r11"},
2716 {{mi, r5, r12, r11, ASR, r5},
2717 false,
2718 al,
2719 "mi r5 r12 r11 ASR r5",
2720 "mi_r5_r12_r11_ASR_r5"},
2721 {{le, r1, r10, r5, ROR, r5},
2722 false,
2723 al,
2724 "le r1 r10 r5 ROR r5",
2725 "le_r1_r10_r5_ROR_r5"},
2726 {{cc, r3, r14, r3, ASR, r6},
2727 false,
2728 al,
2729 "cc r3 r14 r3 ASR r6",
2730 "cc_r3_r14_r3_ASR_r6"},
2731 {{vc, r4, r4, r0, ROR, r2},
2732 false,
2733 al,
2734 "vc r4 r4 r0 ROR r2",
2735 "vc_r4_r4_r0_ROR_r2"},
2736 {{le, r3, r4, r12, ROR, r14},
2737 false,
2738 al,
2739 "le r3 r4 r12 ROR r14",
2740 "le_r3_r4_r12_ROR_r14"},
2741 {{al, r3, r7, r14, LSL, r11},
2742 false,
2743 al,
2744 "al r3 r7 r14 LSL r11",
2745 "al_r3_r7_r14_LSL_r11"},
2746 {{vc, r8, r11, r0, LSL, r11},
2747 false,
2748 al,
2749 "vc r8 r11 r0 LSL r11",
2750 "vc_r8_r11_r0_LSL_r11"},
2751 {{vs, r12, r9, r14, LSR, r2},
2752 false,
2753 al,
2754 "vs r12 r9 r14 LSR r2",
2755 "vs_r12_r9_r14_LSR_r2"},
2756 {{hi, r3, r5, r5, ROR, r6},
2757 false,
2758 al,
2759 "hi r3 r5 r5 ROR r6",
2760 "hi_r3_r5_r5_ROR_r6"},
2761 {{cs, r9, r3, r13, ASR, r7},
2762 false,
2763 al,
2764 "cs r9 r3 r13 ASR r7",
2765 "cs_r9_r3_r13_ASR_r7"},
2766 {{eq, r14, r3, r6, LSR, r5},
2767 false,
2768 al,
2769 "eq r14 r3 r6 LSR r5",
2770 "eq_r14_r3_r6_LSR_r5"},
2771 {{lt, r8, r3, r4, LSR, r13},
2772 false,
2773 al,
2774 "lt r8 r3 r4 LSR r13",
2775 "lt_r8_r3_r4_LSR_r13"},
2776 {{vc, r7, r4, r12, ROR, r6},
2777 false,
2778 al,
2779 "vc r7 r4 r12 ROR r6",
2780 "vc_r7_r4_r12_ROR_r6"},
2781 {{vs, r5, r3, r3, ASR, r1},
2782 false,
2783 al,
2784 "vs r5 r3 r3 ASR r1",
2785 "vs_r5_r3_r3_ASR_r1"},
2786 {{le, r5, r6, r1, ROR, r7},
2787 false,
2788 al,
2789 "le r5 r6 r1 ROR r7",
2790 "le_r5_r6_r1_ROR_r7"},
2791 {{ge, r11, r5, r11, LSL, r12},
2792 false,
2793 al,
2794 "ge r11 r5 r11 LSL r12",
2795 "ge_r11_r5_r11_LSL_r12"},
2796 {{lt, r0, r3, r7, ASR, r14},
2797 false,
2798 al,
2799 "lt r0 r3 r7 ASR r14",
2800 "lt_r0_r3_r7_ASR_r14"},
2801 {{cs, r9, r2, r10, LSL, r1},
2802 false,
2803 al,
2804 "cs r9 r2 r10 LSL r1",
2805 "cs_r9_r2_r10_LSL_r1"},
2806 {{cs, r6, r8, r6, ASR, r1},
2807 false,
2808 al,
2809 "cs r6 r8 r6 ASR r1",
2810 "cs_r6_r8_r6_ASR_r1"},
2811 {{lt, r0, r11, r14, ASR, r5},
2812 false,
2813 al,
2814 "lt r0 r11 r14 ASR r5",
2815 "lt_r0_r11_r14_ASR_r5"},
2816 {{ge, r11, r11, r2, ASR, r3},
2817 false,
2818 al,
2819 "ge r11 r11 r2 ASR r3",
2820 "ge_r11_r11_r2_ASR_r3"},
2821 {{lt, r0, r0, r14, LSL, r2},
2822 false,
2823 al,
2824 "lt r0 r0 r14 LSL r2",
2825 "lt_r0_r0_r14_LSL_r2"},
2826 {{cs, r8, r9, r11, ROR, r8},
2827 false,
2828 al,
2829 "cs r8 r9 r11 ROR r8",
2830 "cs_r8_r9_r11_ROR_r8"},
2831 {{pl, r9, r5, r12, ASR, r14},
2832 false,
2833 al,
2834 "pl r9 r5 r12 ASR r14",
2835 "pl_r9_r5_r12_ASR_r14"},
2836 {{eq, r13, r11, r1, LSR, r1},
2837 false,
2838 al,
2839 "eq r13 r11 r1 LSR r1",
2840 "eq_r13_r11_r1_LSR_r1"},
2841 {{ne, r1, r0, r13, ROR, r0},
2842 false,
2843 al,
2844 "ne r1 r0 r13 ROR r0",
2845 "ne_r1_r0_r13_ROR_r0"},
2846 {{hi, r6, r5, r9, LSR, r10},
2847 false,
2848 al,
2849 "hi r6 r5 r9 LSR r10",
2850 "hi_r6_r5_r9_LSR_r10"},
2851 {{lt, r4, r7, r7, ASR, r9},
2852 false,
2853 al,
2854 "lt r4 r7 r7 ASR r9",
2855 "lt_r4_r7_r7_ASR_r9"},
2856 {{ls, r13, r13, r5, LSR, r1},
2857 false,
2858 al,
2859 "ls r13 r13 r5 LSR r1",
2860 "ls_r13_r13_r5_LSR_r1"},
2861 {{cs, r12, r1, r6, LSR, r14},
2862 false,
2863 al,
2864 "cs r12 r1 r6 LSR r14",
2865 "cs_r12_r1_r6_LSR_r14"},
2866 {{hi, r11, r0, r5, LSR, r3},
2867 false,
2868 al,
2869 "hi r11 r0 r5 LSR r3",
2870 "hi_r11_r0_r5_LSR_r3"},
2871 {{ne, r5, r2, r14, LSR, r1},
2872 false,
2873 al,
2874 "ne r5 r2 r14 LSR r1",
2875 "ne_r5_r2_r14_LSR_r1"},
2876 {{le, r6, r12, r9, LSR, r5},
2877 false,
2878 al,
2879 "le r6 r12 r9 LSR r5",
2880 "le_r6_r12_r9_LSR_r5"},
2881 {{cs, r1, r11, r1, LSL, r2},
2882 false,
2883 al,
2884 "cs r1 r11 r1 LSL r2",
2885 "cs_r1_r11_r1_LSL_r2"},
2886 {{al, r14, r10, r8, ASR, r4},
2887 false,
2888 al,
2889 "al r14 r10 r8 ASR r4",
2890 "al_r14_r10_r8_ASR_r4"},
2891 {{al, r11, r10, r8, LSL, r6},
2892 false,
2893 al,
2894 "al r11 r10 r8 LSL r6",
2895 "al_r11_r10_r8_LSL_r6"},
2896 {{vs, r1, r2, r1, LSL, r11},
2897 false,
2898 al,
2899 "vs r1 r2 r1 LSL r11",
2900 "vs_r1_r2_r1_LSL_r11"},
2901 {{cs, r10, r14, r14, LSL, r0},
2902 false,
2903 al,
2904 "cs r10 r14 r14 LSL r0",
2905 "cs_r10_r14_r14_LSL_r0"},
2906 {{pl, r0, r1, r14, ROR, r10},
2907 false,
2908 al,
2909 "pl r0 r1 r14 ROR r10",
2910 "pl_r0_r1_r14_ROR_r10"},
2911 {{pl, r3, r7, r5, LSR, r1},
2912 false,
2913 al,
2914 "pl r3 r7 r5 LSR r1",
2915 "pl_r3_r7_r5_LSR_r1"},
2916 {{gt, r2, r14, r10, LSL, r6},
2917 false,
2918 al,
2919 "gt r2 r14 r10 LSL r6",
2920 "gt_r2_r14_r10_LSL_r6"},
2921 {{le, r7, r7, r8, ROR, r0},
2922 false,
2923 al,
2924 "le r7 r7 r8 ROR r0",
2925 "le_r7_r7_r8_ROR_r0"},
2926 {{cs, r7, r9, r8, LSL, r14},
2927 false,
2928 al,
2929 "cs r7 r9 r8 LSL r14",
2930 "cs_r7_r9_r8_LSL_r14"},
2931 {{cs, r11, r4, r3, LSR, r10},
2932 false,
2933 al,
2934 "cs r11 r4 r3 LSR r10",
2935 "cs_r11_r4_r3_LSR_r10"},
2936 {{cc, r9, r1, r12, ROR, r4},
2937 false,
2938 al,
2939 "cc r9 r1 r12 ROR r4",
2940 "cc_r9_r1_r12_ROR_r4"},
2941 {{hi, r10, r0, r10, LSL, r8},
2942 false,
2943 al,
2944 "hi r10 r0 r10 LSL r8",
2945 "hi_r10_r0_r10_LSL_r8"},
2946 {{eq, r14, r1, r0, LSL, r11},
2947 false,
2948 al,
2949 "eq r14 r1 r0 LSL r11",
2950 "eq_r14_r1_r0_LSL_r11"},
2951 {{mi, r9, r11, r5, ROR, r5},
2952 false,
2953 al,
2954 "mi r9 r11 r5 ROR r5",
2955 "mi_r9_r11_r5_ROR_r5"},
2956 {{le, r5, r9, r2, LSL, r1},
2957 false,
2958 al,
2959 "le r5 r9 r2 LSL r1",
2960 "le_r5_r9_r2_LSL_r1"},
2961 {{pl, r7, r7, r8, ASR, r13},
2962 false,
2963 al,
2964 "pl r7 r7 r8 ASR r13",
2965 "pl_r7_r7_r8_ASR_r13"},
2966 {{gt, r14, r13, r10, ASR, r11},
2967 false,
2968 al,
2969 "gt r14 r13 r10 ASR r11",
2970 "gt_r14_r13_r10_ASR_r11"},
2971 {{cs, r4, r6, r5, LSR, r7},
2972 false,
2973 al,
2974 "cs r4 r6 r5 LSR r7",
2975 "cs_r4_r6_r5_LSR_r7"},
2976 {{lt, r2, r7, r7, LSL, r6},
2977 false,
2978 al,
2979 "lt r2 r7 r7 LSL r6",
2980 "lt_r2_r7_r7_LSL_r6"},
2981 {{al, r4, r5, r2, ROR, r5},
2982 false,
2983 al,
2984 "al r4 r5 r2 ROR r5",
2985 "al_r4_r5_r2_ROR_r5"},
2986 {{cc, r6, r2, r9, ROR, r7},
2987 false,
2988 al,
2989 "cc r6 r2 r9 ROR r7",
2990 "cc_r6_r2_r9_ROR_r7"},
2991 {{pl, r4, r0, r0, LSR, r11},
2992 false,
2993 al,
2994 "pl r4 r0 r0 LSR r11",
2995 "pl_r4_r0_r0_LSR_r11"},
2996 {{pl, r6, r10, r12, LSL, r11},
2997 false,
2998 al,
2999 "pl r6 r10 r12 LSL r11",
3000 "pl_r6_r10_r12_LSL_r11"},
3001 {{al, r0, r14, r1, LSR, r6},
3002 false,
3003 al,
3004 "al r0 r14 r1 LSR r6",
3005 "al_r0_r14_r1_LSR_r6"},
3006 {{cs, r7, r9, r13, LSR, r1},
3007 false,
3008 al,
3009 "cs r7 r9 r13 LSR r1",
3010 "cs_r7_r9_r13_LSR_r1"},
3011 {{al, r4, r2, r10, ROR, r3},
3012 false,
3013 al,
3014 "al r4 r2 r10 ROR r3",
3015 "al_r4_r2_r10_ROR_r3"},
3016 {{gt, r12, r4, r14, ROR, r7},
3017 false,
3018 al,
3019 "gt r12 r4 r14 ROR r7",
3020 "gt_r12_r4_r14_ROR_r7"},
3021 {{cs, r11, r0, r14, ASR, r7},
3022 false,
3023 al,
3024 "cs r11 r0 r14 ASR r7",
3025 "cs_r11_r0_r14_ASR_r7"},
3026 {{pl, r0, r2, r4, ASR, r14},
3027 false,
3028 al,
3029 "pl r0 r2 r4 ASR r14",
3030 "pl_r0_r2_r4_ASR_r14"},
3031 {{mi, r14, r4, r9, LSR, r5},
3032 false,
3033 al,
3034 "mi r14 r4 r9 LSR r5",
3035 "mi_r14_r4_r9_LSR_r5"},
3036 {{ge, r13, r0, r1, ROR, r5},
3037 false,
3038 al,
3039 "ge r13 r0 r1 ROR r5",
3040 "ge_r13_r0_r1_ROR_r5"},
3041 {{eq, r12, r14, r0, LSL, r11},
3042 false,
3043 al,
3044 "eq r12 r14 r0 LSL r11",
3045 "eq_r12_r14_r0_LSL_r11"},
3046 {{ge, r6, r4, r10, ROR, r13},
3047 false,
3048 al,
3049 "ge r6 r4 r10 ROR r13",
3050 "ge_r6_r4_r10_ROR_r13"},
3051 {{lt, r3, r7, r2, ASR, r5},
3052 false,
3053 al,
3054 "lt r3 r7 r2 ASR r5",
3055 "lt_r3_r7_r2_ASR_r5"},
3056 {{al, r9, r0, r12, ROR, r0},
3057 false,
3058 al,
3059 "al r9 r0 r12 ROR r0",
3060 "al_r9_r0_r12_ROR_r0"},
3061 {{le, r1, r9, r7, LSL, r12},
3062 false,
3063 al,
3064 "le r1 r9 r7 LSL r12",
3065 "le_r1_r9_r7_LSL_r12"},
3066 {{lt, r14, r7, r4, ASR, r7},
3067 false,
3068 al,
3069 "lt r14 r7 r4 ASR r7",
3070 "lt_r14_r7_r4_ASR_r7"},
3071 {{ne, r4, r6, r9, LSR, r8},
3072 false,
3073 al,
3074 "ne r4 r6 r9 LSR r8",
3075 "ne_r4_r6_r9_LSR_r8"},
3076 {{cc, r0, r5, r1, ASR, r6},
3077 false,
3078 al,
3079 "cc r0 r5 r1 ASR r6",
3080 "cc_r0_r5_r1_ASR_r6"},
3081 {{cc, r2, r13, r2, ROR, r6},
3082 false,
3083 al,
3084 "cc r2 r13 r2 ROR r6",
3085 "cc_r2_r13_r2_ROR_r6"},
3086 {{ge, r10, r0, r9, ROR, r6},
3087 false,
3088 al,
3089 "ge r10 r0 r9 ROR r6",
3090 "ge_r10_r0_r9_ROR_r6"},
3091 {{gt, r8, r1, r11, LSR, r0},
3092 false,
3093 al,
3094 "gt r8 r1 r11 LSR r0",
3095 "gt_r8_r1_r11_LSR_r0"},
3096 {{al, r14, r0, r9, LSL, r0},
3097 false,
3098 al,
3099 "al r14 r0 r9 LSL r0",
3100 "al_r14_r0_r9_LSL_r0"},
3101 {{hi, r12, r3, r12, ROR, r9},
3102 false,
3103 al,
3104 "hi r12 r3 r12 ROR r9",
3105 "hi_r12_r3_r12_ROR_r9"},
3106 {{eq, r4, r12, r3, LSL, r2},
3107 false,
3108 al,
3109 "eq r4 r12 r3 LSL r2",
3110 "eq_r4_r12_r3_LSL_r2"},
3111 {{ne, r5, r3, r4, LSL, r4},
3112 false,
3113 al,
3114 "ne r5 r3 r4 LSL r4",
3115 "ne_r5_r3_r4_LSL_r4"},
3116 {{vc, r8, r6, r10, LSL, r11},
3117 false,
3118 al,
3119 "vc r8 r6 r10 LSL r11",
3120 "vc_r8_r6_r10_LSL_r11"},
3121 {{lt, r0, r1, r4, ASR, r3},
3122 false,
3123 al,
3124 "lt r0 r1 r4 ASR r3",
3125 "lt_r0_r1_r4_ASR_r3"},
3126 {{le, r14, r4, r1, ROR, r7},
3127 false,
3128 al,
3129 "le r14 r4 r1 ROR r7",
3130 "le_r14_r4_r1_ROR_r7"},
3131 {{al, r12, r12, r5, LSL, r2},
3132 false,
3133 al,
3134 "al r12 r12 r5 LSL r2",
3135 "al_r12_r12_r5_LSL_r2"},
3136 {{eq, r10, r3, r10, ROR, r13},
3137 false,
3138 al,
3139 "eq r10 r3 r10 ROR r13",
3140 "eq_r10_r3_r10_ROR_r13"},
3141 {{ne, r7, r10, r1, LSR, r14},
3142 false,
3143 al,
3144 "ne r7 r10 r1 LSR r14",
3145 "ne_r7_r10_r1_LSR_r14"},
3146 {{lt, r10, r4, r10, LSR, r5},
3147 false,
3148 al,
3149 "lt r10 r4 r10 LSR r5",
3150 "lt_r10_r4_r10_LSR_r5"},
3151 {{pl, r0, r14, r0, LSL, r2},
3152 false,
3153 al,
3154 "pl r0 r14 r0 LSL r2",
3155 "pl_r0_r14_r0_LSL_r2"},
3156 {{gt, r7, r4, r11, LSL, r3},
3157 false,
3158 al,
3159 "gt r7 r4 r11 LSL r3",
3160 "gt_r7_r4_r11_LSL_r3"},
3161 {{cs, r8, r2, r1, LSR, r8},
3162 false,
3163 al,
3164 "cs r8 r2 r1 LSR r8",
3165 "cs_r8_r2_r1_LSR_r8"},
3166 {{pl, r9, r11, r4, ASR, r7},
3167 false,
3168 al,
3169 "pl r9 r11 r4 ASR r7",
3170 "pl_r9_r11_r4_ASR_r7"},
3171 {{cc, r9, r5, r12, ROR, r4},
3172 false,
3173 al,
3174 "cc r9 r5 r12 ROR r4",
3175 "cc_r9_r5_r12_ROR_r4"},
3176 {{vc, r0, r11, r3, LSR, r12},
3177 false,
3178 al,
3179 "vc r0 r11 r3 LSR r12",
3180 "vc_r0_r11_r3_LSR_r12"},
3181 {{gt, r6, r2, r4, LSR, r4},
3182 false,
3183 al,
3184 "gt r6 r2 r4 LSR r4",
3185 "gt_r6_r2_r4_LSR_r4"},
3186 {{lt, r4, r2, r0, LSL, r12},
3187 false,
3188 al,
3189 "lt r4 r2 r0 LSL r12",
3190 "lt_r4_r2_r0_LSL_r12"},
3191 {{le, r9, r4, r13, ROR, r5},
3192 false,
3193 al,
3194 "le r9 r4 r13 ROR r5",
3195 "le_r9_r4_r13_ROR_r5"},
3196 {{vs, r9, r3, r8, LSR, r8},
3197 false,
3198 al,
3199 "vs r9 r3 r8 LSR r8",
3200 "vs_r9_r3_r8_LSR_r8"},
3201 {{ne, r3, r8, r14, ROR, r8},
3202 false,
3203 al,
3204 "ne r3 r8 r14 ROR r8",
3205 "ne_r3_r8_r14_ROR_r8"},
3206 {{vc, r12, r13, r4, LSR, r9},
3207 false,
3208 al,
3209 "vc r12 r13 r4 LSR r9",
3210 "vc_r12_r13_r4_LSR_r9"},
3211 {{cc, r14, r0, r8, LSL, r1},
3212 false,
3213 al,
3214 "cc r14 r0 r8 LSL r1",
3215 "cc_r14_r0_r8_LSL_r1"},
3216 {{hi, r6, r3, r5, ASR, r9},
3217 false,
3218 al,
3219 "hi r6 r3 r5 ASR r9",
3220 "hi_r6_r3_r5_ASR_r9"},
3221 {{ne, r14, r4, r3, LSL, r8},
3222 false,
3223 al,
3224 "ne r14 r4 r3 LSL r8",
3225 "ne_r14_r4_r3_LSL_r8"},
3226 {{ge, r1, r10, r13, LSR, r4},
3227 false,
3228 al,
3229 "ge r1 r10 r13 LSR r4",
3230 "ge_r1_r10_r13_LSR_r4"},
3231 {{vc, r12, r7, r6, ROR, r3},
3232 false,
3233 al,
3234 "vc r12 r7 r6 ROR r3",
3235 "vc_r12_r7_r6_ROR_r3"},
3236 {{gt, r0, r6, r7, ROR, r2},
3237 false,
3238 al,
3239 "gt r0 r6 r7 ROR r2",
3240 "gt_r0_r6_r7_ROR_r2"},
3241 {{al, r4, r6, r9, LSL, r0},
3242 false,
3243 al,
3244 "al r4 r6 r9 LSL r0",
3245 "al_r4_r6_r9_LSL_r0"},
3246 {{ls, r1, r3, r11, LSR, r11},
3247 false,
3248 al,
3249 "ls r1 r3 r11 LSR r11",
3250 "ls_r1_r3_r11_LSR_r11"},
3251 {{lt, r3, r11, r1, LSR, r14},
3252 false,
3253 al,
3254 "lt r3 r11 r1 LSR r14",
3255 "lt_r3_r11_r1_LSR_r14"},
3256 {{vc, r6, r13, r7, ROR, r11},
3257 false,
3258 al,
3259 "vc r6 r13 r7 ROR r11",
3260 "vc_r6_r13_r7_ROR_r11"},
3261 {{vc, r5, r14, r13, ROR, r13},
3262 false,
3263 al,
3264 "vc r5 r14 r13 ROR r13",
3265 "vc_r5_r14_r13_ROR_r13"},
3266 {{vc, r1, r4, r11, LSL, r1},
3267 false,
3268 al,
3269 "vc r1 r4 r11 LSL r1",
3270 "vc_r1_r4_r11_LSL_r1"},
3271 {{ls, r7, r3, r5, LSR, r6},
3272 false,
3273 al,
3274 "ls r7 r3 r5 LSR r6",
3275 "ls_r7_r3_r5_LSR_r6"},
3276 {{vc, r13, r8, r3, ASR, r4},
3277 false,
3278 al,
3279 "vc r13 r8 r3 ASR r4",
3280 "vc_r13_r8_r3_ASR_r4"},
3281 {{ls, r2, r3, r10, ROR, r11},
3282 false,
3283 al,
3284 "ls r2 r3 r10 ROR r11",
3285 "ls_r2_r3_r10_ROR_r11"},
3286 {{ge, r6, r1, r12, ASR, r11},
3287 false,
3288 al,
3289 "ge r6 r1 r12 ASR r11",
3290 "ge_r6_r1_r12_ASR_r11"},
3291 {{lt, r3, r1, r1, ASR, r14},
3292 false,
3293 al,
3294 "lt r3 r1 r1 ASR r14",
3295 "lt_r3_r1_r1_ASR_r14"},
3296 {{hi, r2, r7, r14, LSL, r12},
3297 false,
3298 al,
3299 "hi r2 r7 r14 LSL r12",
3300 "hi_r2_r7_r14_LSL_r12"},
3301 {{ge, r13, r10, r10, LSL, r14},
3302 false,
3303 al,
3304 "ge r13 r10 r10 LSL r14",
3305 "ge_r13_r10_r10_LSL_r14"},
3306 {{le, r0, r1, r3, LSR, r3},
3307 false,
3308 al,
3309 "le r0 r1 r3 LSR r3",
3310 "le_r0_r1_r3_LSR_r3"},
3311 {{vs, r10, r7, r7, LSR, r6},
3312 false,
3313 al,
3314 "vs r10 r7 r7 LSR r6",
3315 "vs_r10_r7_r7_LSR_r6"},
3316 {{al, r6, r3, r6, LSL, r7},
3317 false,
3318 al,
3319 "al r6 r3 r6 LSL r7",
3320 "al_r6_r3_r6_LSL_r7"},
3321 {{ne, r3, r8, r14, ASR, r1},
3322 false,
3323 al,
3324 "ne r3 r8 r14 ASR r1",
3325 "ne_r3_r8_r14_ASR_r1"},
3326 {{cc, r4, r10, r4, LSR, r9},
3327 false,
3328 al,
3329 "cc r4 r10 r4 LSR r9",
3330 "cc_r4_r10_r4_LSR_r9"},
3331 {{cs, r4, r1, r5, LSR, r10},
3332 false,
3333 al,
3334 "cs r4 r1 r5 LSR r10",
3335 "cs_r4_r1_r5_LSR_r10"},
3336 {{eq, r7, r6, r1, LSL, r4},
3337 false,
3338 al,
3339 "eq r7 r6 r1 LSL r4",
3340 "eq_r7_r6_r1_LSL_r4"},
3341 {{hi, r3, r7, r1, LSL, r5},
3342 false,
3343 al,
3344 "hi r3 r7 r1 LSL r5",
3345 "hi_r3_r7_r1_LSL_r5"},
3346 {{al, r6, r11, r8, LSR, r12},
3347 false,
3348 al,
3349 "al r6 r11 r8 LSR r12",
3350 "al_r6_r11_r8_LSR_r12"},
3351 {{ls, r2, r5, r0, LSR, r5},
3352 false,
3353 al,
3354 "ls r2 r5 r0 LSR r5",
3355 "ls_r2_r5_r0_LSR_r5"},
3356 {{pl, r4, r5, r13, LSL, r9},
3357 false,
3358 al,
3359 "pl r4 r5 r13 LSL r9",
3360 "pl_r4_r5_r13_LSL_r9"},
3361 {{lt, r13, r12, r0, ASR, r8},
3362 false,
3363 al,
3364 "lt r13 r12 r0 ASR r8",
3365 "lt_r13_r12_r0_ASR_r8"},
3366 {{cc, r11, r5, r0, LSL, r12},
3367 false,
3368 al,
3369 "cc r11 r5 r0 LSL r12",
3370 "cc_r11_r5_r0_LSL_r12"},
3371 {{ne, r6, r2, r2, ROR, r0},
3372 false,
3373 al,
3374 "ne r6 r2 r2 ROR r0",
3375 "ne_r6_r2_r2_ROR_r0"},
3376 {{ne, r9, r13, r12, ASR, r6},
3377 false,
3378 al,
3379 "ne r9 r13 r12 ASR r6",
3380 "ne_r9_r13_r12_ASR_r6"},
3381 {{cs, r8, r6, r10, ROR, r10},
3382 false,
3383 al,
3384 "cs r8 r6 r10 ROR r10",
3385 "cs_r8_r6_r10_ROR_r10"},
3386 {{vs, r10, r6, r1, LSL, r6},
3387 false,
3388 al,
3389 "vs r10 r6 r1 LSL r6",
3390 "vs_r10_r6_r1_LSL_r6"},
3391 {{vc, r12, r0, r4, ASR, r10},
3392 false,
3393 al,
3394 "vc r12 r0 r4 ASR r10",
3395 "vc_r12_r0_r4_ASR_r10"},
3396 {{cs, r10, r2, r11, ROR, r8},
3397 false,
3398 al,
3399 "cs r10 r2 r11 ROR r8",
3400 "cs_r10_r2_r11_ROR_r8"},
3401 {{ne, r0, r9, r14, ASR, r14},
3402 false,
3403 al,
3404 "ne r0 r9 r14 ASR r14",
3405 "ne_r0_r9_r14_ASR_r14"},
3406 {{eq, r0, r10, r1, ASR, r8},
3407 false,
3408 al,
3409 "eq r0 r10 r1 ASR r8",
3410 "eq_r0_r10_r1_ASR_r8"},
3411 {{gt, r0, r11, r3, LSR, r0},
3412 false,
3413 al,
3414 "gt r0 r11 r3 LSR r0",
3415 "gt_r0_r11_r3_LSR_r0"},
3416 {{al, r5, r11, r6, ROR, r14},
3417 false,
3418 al,
3419 "al r5 r11 r6 ROR r14",
3420 "al_r5_r11_r6_ROR_r14"},
3421 {{ls, r2, r11, r11, ROR, r2},
3422 false,
3423 al,
3424 "ls r2 r11 r11 ROR r2",
3425 "ls_r2_r11_r11_ROR_r2"},
3426 {{cs, r2, r11, r6, ROR, r11},
3427 false,
3428 al,
3429 "cs r2 r11 r6 ROR r11",
3430 "cs_r2_r11_r6_ROR_r11"},
3431 {{cs, r4, r9, r11, ASR, r5},
3432 false,
3433 al,
3434 "cs r4 r9 r11 ASR r5",
3435 "cs_r4_r9_r11_ASR_r5"},
3436 {{ls, r5, r0, r2, ASR, r3},
3437 false,
3438 al,
3439 "ls r5 r0 r2 ASR r3",
3440 "ls_r5_r0_r2_ASR_r3"},
3441 {{cc, r14, r1, r13, LSR, r2},
3442 false,
3443 al,
3444 "cc r14 r1 r13 LSR r2",
3445 "cc_r14_r1_r13_LSR_r2"},
3446 {{lt, r4, r5, r6, ASR, r0},
3447 false,
3448 al,
3449 "lt r4 r5 r6 ASR r0",
3450 "lt_r4_r5_r6_ASR_r0"},
3451 {{vc, r0, r12, r6, ASR, r6},
3452 false,
3453 al,
3454 "vc r0 r12 r6 ASR r6",
3455 "vc_r0_r12_r6_ASR_r6"},
3456 {{pl, r3, r10, r4, LSR, r8},
3457 false,
3458 al,
3459 "pl r3 r10 r4 LSR r8",
3460 "pl_r3_r10_r4_LSR_r8"},
3461 {{cc, r10, r5, r10, ASR, r10},
3462 false,
3463 al,
3464 "cc r10 r5 r10 ASR r10",
3465 "cc_r10_r5_r10_ASR_r10"},
3466 {{pl, r2, r14, r1, ASR, r10},
3467 false,
3468 al,
3469 "pl r2 r14 r1 ASR r10",
3470 "pl_r2_r14_r1_ASR_r10"},
3471 {{eq, r12, r13, r8, ROR, r12},
3472 false,
3473 al,
3474 "eq r12 r13 r8 ROR r12",
3475 "eq_r12_r13_r8_ROR_r12"},
3476 {{gt, r9, r8, r2, LSL, r2},
3477 false,
3478 al,
3479 "gt r9 r8 r2 LSL r2",
3480 "gt_r9_r8_r2_LSL_r2"},
3481 {{al, r13, r10, r10, LSL, r9},
3482 false,
3483 al,
3484 "al r13 r10 r10 LSL r9",
3485 "al_r13_r10_r10_LSL_r9"},
3486 {{eq, r8, r8, r6, ROR, r14},
3487 false,
3488 al,
3489 "eq r8 r8 r6 ROR r14",
3490 "eq_r8_r8_r6_ROR_r14"},
3491 {{le, r14, r12, r4, ASR, r13},
3492 false,
3493 al,
3494 "le r14 r12 r4 ASR r13",
3495 "le_r14_r12_r4_ASR_r13"},
3496 {{cc, r3, r6, r12, LSR, r2},
3497 false,
3498 al,
3499 "cc r3 r6 r12 LSR r2",
3500 "cc_r3_r6_r12_LSR_r2"},
3501 {{ls, r5, r14, r10, LSL, r6},
3502 false,
3503 al,
3504 "ls r5 r14 r10 LSL r6",
3505 "ls_r5_r14_r10_LSL_r6"},
3506 {{hi, r12, r2, r1, ROR, r3},
3507 false,
3508 al,
3509 "hi r12 r2 r1 ROR r3",
3510 "hi_r12_r2_r1_ROR_r3"},
3511 {{vc, r7, r13, r1, LSL, r12},
3512 false,
3513 al,
3514 "vc r7 r13 r1 LSL r12",
3515 "vc_r7_r13_r1_LSL_r12"},
3516 {{cc, r0, r3, r13, LSL, r9},
3517 false,
3518 al,
3519 "cc r0 r3 r13 LSL r9",
3520 "cc_r0_r3_r13_LSL_r9"},
3521 {{hi, r0, r11, r5, LSL, r11},
3522 false,
3523 al,
3524 "hi r0 r11 r5 LSL r11",
3525 "hi_r0_r11_r5_LSL_r11"},
3526 {{ge, r9, r6, r14, LSR, r14},
3527 false,
3528 al,
3529 "ge r9 r6 r14 LSR r14",
3530 "ge_r9_r6_r14_LSR_r14"},
3531 {{vc, r2, r5, r2, ROR, r12},
3532 false,
3533 al,
3534 "vc r2 r5 r2 ROR r12",
3535 "vc_r2_r5_r2_ROR_r12"},
3536 {{mi, r9, r6, r9, ASR, r13},
3537 false,
3538 al,
3539 "mi r9 r6 r9 ASR r13",
3540 "mi_r9_r6_r9_ASR_r13"},
3541 {{pl, r1, r3, r10, ASR, r2},
3542 false,
3543 al,
3544 "pl r1 r3 r10 ASR r2",
3545 "pl_r1_r3_r10_ASR_r2"},
3546 {{le, r10, r9, r7, LSL, r4},
3547 false,
3548 al,
3549 "le r10 r9 r7 LSL r4",
3550 "le_r10_r9_r7_LSL_r4"},
3551 {{hi, r7, r4, r10, LSR, r6},
3552 false,
3553 al,
3554 "hi r7 r4 r10 LSR r6",
3555 "hi_r7_r4_r10_LSR_r6"},
3556 {{cc, r6, r8, r13, LSR, r3},
3557 false,
3558 al,
3559 "cc r6 r8 r13 LSR r3",
3560 "cc_r6_r8_r13_LSR_r3"},
3561 {{cs, r4, r9, r6, ASR, r0},
3562 false,
3563 al,
3564 "cs r4 r9 r6 ASR r0",
3565 "cs_r4_r9_r6_ASR_r0"},
3566 {{ls, r0, r2, r4, ASR, r8},
3567 false,
3568 al,
3569 "ls r0 r2 r4 ASR r8",
3570 "ls_r0_r2_r4_ASR_r8"},
3571 {{hi, r11, r5, r11, LSR, r1},
3572 false,
3573 al,
3574 "hi r11 r5 r11 LSR r1",
3575 "hi_r11_r5_r11_LSR_r1"},
3576 {{vc, r0, r3, r6, LSR, r7},
3577 false,
3578 al,
3579 "vc r0 r3 r6 LSR r7",
3580 "vc_r0_r3_r6_LSR_r7"},
3581 {{cs, r13, r10, r8, LSL, r6},
3582 false,
3583 al,
3584 "cs r13 r10 r8 LSL r6",
3585 "cs_r13_r10_r8_LSL_r6"},
3586 {{al, r12, r12, r10, ASR, r13},
3587 false,
3588 al,
3589 "al r12 r12 r10 ASR r13",
3590 "al_r12_r12_r10_ASR_r13"},
3591 {{ge, r7, r7, r2, ASR, r8},
3592 false,
3593 al,
3594 "ge r7 r7 r2 ASR r8",
3595 "ge_r7_r7_r2_ASR_r8"},
3596 {{ne, r10, r7, r6, LSL, r14},
3597 false,
3598 al,
3599 "ne r10 r7 r6 LSL r14",
3600 "ne_r10_r7_r6_LSL_r14"},
3601 {{cs, r9, r9, r14, ROR, r0},
3602 false,
3603 al,
3604 "cs r9 r9 r14 ROR r0",
3605 "cs_r9_r9_r14_ROR_r0"},
3606 {{lt, r3, r12, r0, ASR, r12},
3607 false,
3608 al,
3609 "lt r3 r12 r0 ASR r12",
3610 "lt_r3_r12_r0_ASR_r12"},
3611 {{ne, r6, r9, r3, ASR, r11},
3612 false,
3613 al,
3614 "ne r6 r9 r3 ASR r11",
3615 "ne_r6_r9_r3_ASR_r11"},
3616 {{vc, r4, r7, r7, ASR, r7},
3617 false,
3618 al,
3619 "vc r4 r7 r7 ASR r7",
3620 "vc_r4_r7_r7_ASR_r7"},
3621 {{ne, r0, r9, r5, LSR, r14},
3622 false,
3623 al,
3624 "ne r0 r9 r5 LSR r14",
3625 "ne_r0_r9_r5_LSR_r14"},
3626 {{hi, r8, r13, r1, ROR, r0},
3627 false,
3628 al,
3629 "hi r8 r13 r1 ROR r0",
3630 "hi_r8_r13_r1_ROR_r0"},
3631 {{cc, r6, r1, r7, ROR, r5},
3632 false,
3633 al,
3634 "cc r6 r1 r7 ROR r5",
3635 "cc_r6_r1_r7_ROR_r5"},
3636 {{vc, r7, r13, r2, LSL, r4},
3637 false,
3638 al,
3639 "vc r7 r13 r2 LSL r4",
3640 "vc_r7_r13_r2_LSL_r4"},
3641 {{al, r4, r2, r3, ROR, r10},
3642 false,
3643 al,
3644 "al r4 r2 r3 ROR r10",
3645 "al_r4_r2_r3_ROR_r10"},
3646 {{ls, r0, r7, r3, LSR, r12},
3647 false,
3648 al,
3649 "ls r0 r7 r3 LSR r12",
3650 "ls_r0_r7_r3_LSR_r12"},
3651 {{ls, r5, r8, r8, ASR, r13},
3652 false,
3653 al,
3654 "ls r5 r8 r8 ASR r13",
3655 "ls_r5_r8_r8_ASR_r13"},
3656 {{gt, r0, r6, r12, ASR, r14},
3657 false,
3658 al,
3659 "gt r0 r6 r12 ASR r14",
3660 "gt_r0_r6_r12_ASR_r14"},
3661 {{vs, r7, r13, r14, LSR, r11},
3662 false,
3663 al,
3664 "vs r7 r13 r14 LSR r11",
3665 "vs_r7_r13_r14_LSR_r11"},
3666 {{mi, r12, r9, r11, LSL, r13},
3667 false,
3668 al,
3669 "mi r12 r9 r11 LSL r13",
3670 "mi_r12_r9_r11_LSL_r13"},
3671 {{ge, r0, r0, r7, ROR, r13},
3672 false,
3673 al,
3674 "ge r0 r0 r7 ROR r13",
3675 "ge_r0_r0_r7_ROR_r13"},
3676 {{hi, r14, r12, r6, LSR, r8},
3677 false,
3678 al,
3679 "hi r14 r12 r6 LSR r8",
3680 "hi_r14_r12_r6_LSR_r8"},
3681 {{cs, r0, r3, r6, LSL, r6},
3682 false,
3683 al,
3684 "cs r0 r3 r6 LSL r6",
3685 "cs_r0_r3_r6_LSL_r6"},
3686 {{al, r6, r9, r4, ASR, r3},
3687 false,
3688 al,
3689 "al r6 r9 r4 ASR r3",
3690 "al_r6_r9_r4_ASR_r3"},
3691 {{ls, r5, r6, r1, LSR, r3},
3692 false,
3693 al,
3694 "ls r5 r6 r1 LSR r3",
3695 "ls_r5_r6_r1_LSR_r3"},
3696 {{ls, r3, r6, r14, ROR, r7},
3697 false,
3698 al,
3699 "ls r3 r6 r14 ROR r7",
3700 "ls_r3_r6_r14_ROR_r7"},
3701 {{le, r10, r5, r1, ASR, r12},
3702 false,
3703 al,
3704 "le r10 r5 r1 ASR r12",
3705 "le_r10_r5_r1_ASR_r12"},
3706 {{hi, r3, r6, r10, ASR, r5},
3707 false,
3708 al,
3709 "hi r3 r6 r10 ASR r5",
3710 "hi_r3_r6_r10_ASR_r5"},
3711 {{mi, r9, r3, r5, ROR, r8},
3712 false,
3713 al,
3714 "mi r9 r3 r5 ROR r8",
3715 "mi_r9_r3_r5_ROR_r8"},
3716 {{hi, r10, r13, r8, ROR, r11},
3717 false,
3718 al,
3719 "hi r10 r13 r8 ROR r11",
3720 "hi_r10_r13_r8_ROR_r11"},
3721 {{al, r11, r14, r2, ROR, r1},
3722 false,
3723 al,
3724 "al r11 r14 r2 ROR r1",
3725 "al_r11_r14_r2_ROR_r1"},
3726 {{gt, r12, r8, r0, ROR, r11},
3727 false,
3728 al,
3729 "gt r12 r8 r0 ROR r11",
3730 "gt_r12_r8_r0_ROR_r11"},
3731 {{vc, r1, r0, r1, ROR, r9},
3732 false,
3733 al,
3734 "vc r1 r0 r1 ROR r9",
3735 "vc_r1_r0_r1_ROR_r9"},
3736 {{mi, r6, r6, r3, ASR, r5},
3737 false,
3738 al,
3739 "mi r6 r6 r3 ASR r5",
3740 "mi_r6_r6_r3_ASR_r5"},
3741 {{ge, r12, r12, r4, ROR, r9},
3742 false,
3743 al,
3744 "ge r12 r12 r4 ROR r9",
3745 "ge_r12_r12_r4_ROR_r9"},
3746 {{ls, r4, r6, r9, ASR, r6},
3747 false,
3748 al,
3749 "ls r4 r6 r9 ASR r6",
3750 "ls_r4_r6_r9_ASR_r6"},
3751 {{pl, r11, r3, r4, LSR, r9},
3752 false,
3753 al,
3754 "pl r11 r3 r4 LSR r9",
3755 "pl_r11_r3_r4_LSR_r9"},
3756 {{hi, r0, r2, r2, ROR, r7},
3757 false,
3758 al,
3759 "hi r0 r2 r2 ROR r7",
3760 "hi_r0_r2_r2_ROR_r7"},
3761 {{pl, r3, r12, r0, ASR, r2},
3762 false,
3763 al,
3764 "pl r3 r12 r0 ASR r2",
3765 "pl_r3_r12_r0_ASR_r2"},
3766 {{ne, r6, r0, r9, LSL, r4},
3767 false,
3768 al,
3769 "ne r6 r0 r9 LSL r4",
3770 "ne_r6_r0_r9_LSL_r4"},
3771 {{vc, r1, r2, r6, ROR, r13},
3772 false,
3773 al,
3774 "vc r1 r2 r6 ROR r13",
3775 "vc_r1_r2_r6_ROR_r13"},
3776 {{ge, r9, r1, r12, LSL, r14},
3777 false,
3778 al,
3779 "ge r9 r1 r12 LSL r14",
3780 "ge_r9_r1_r12_LSL_r14"},
3781 {{pl, r13, r9, r6, ROR, r14},
3782 false,
3783 al,
3784 "pl r13 r9 r6 ROR r14",
3785 "pl_r13_r9_r6_ROR_r14"},
3786 {{gt, r0, r13, r13, LSL, r9},
3787 false,
3788 al,
3789 "gt r0 r13 r13 LSL r9",
3790 "gt_r0_r13_r13_LSL_r9"},
3791 {{mi, r13, r5, r5, ASR, r8},
3792 false,
3793 al,
3794 "mi r13 r5 r5 ASR r8",
3795 "mi_r13_r5_r5_ASR_r8"},
3796 {{gt, r1, r4, r0, LSL, r6},
3797 false,
3798 al,
3799 "gt r1 r4 r0 LSL r6",
3800 "gt_r1_r4_r0_LSL_r6"},
3801 {{ls, r5, r4, r7, ROR, r4},
3802 false,
3803 al,
3804 "ls r5 r4 r7 ROR r4",
3805 "ls_r5_r4_r7_ROR_r4"},
3806 {{vc, r8, r8, r0, ROR, r9},
3807 false,
3808 al,
3809 "vc r8 r8 r0 ROR r9",
3810 "vc_r8_r8_r0_ROR_r9"},
3811 {{mi, r12, r12, r10, ROR, r8},
3812 false,
3813 al,
3814 "mi r12 r12 r10 ROR r8",
3815 "mi_r12_r12_r10_ROR_r8"},
3816 {{hi, r6, r6, r6, LSL, r2},
3817 false,
3818 al,
3819 "hi r6 r6 r6 LSL r2",
3820 "hi_r6_r6_r6_LSL_r2"},
3821 {{le, r7, r10, r14, LSL, r1},
3822 false,
3823 al,
3824 "le r7 r10 r14 LSL r1",
3825 "le_r7_r10_r14_LSL_r1"},
3826 {{ne, r13, r10, r6, ASR, r9},
3827 false,
3828 al,
3829 "ne r13 r10 r6 ASR r9",
3830 "ne_r13_r10_r6_ASR_r9"},
3831 {{ne, r8, r8, r2, LSR, r13},
3832 false,
3833 al,
3834 "ne r8 r8 r2 LSR r13",
3835 "ne_r8_r8_r2_LSR_r13"},
3836 {{mi, r0, r10, r14, ROR, r12},
3837 false,
3838 al,
3839 "mi r0 r10 r14 ROR r12",
3840 "mi_r0_r10_r14_ROR_r12"},
3841 {{cc, r11, r14, r4, LSL, r5},
3842 false,
3843 al,
3844 "cc r11 r14 r4 LSL r5",
3845 "cc_r11_r14_r4_LSL_r5"},
3846 {{cc, r3, r6, r3, ROR, r4},
3847 false,
3848 al,
3849 "cc r3 r6 r3 ROR r4",
3850 "cc_r3_r6_r3_ROR_r4"},
3851 {{mi, r11, r1, r7, LSR, r7},
3852 false,
3853 al,
3854 "mi r11 r1 r7 LSR r7",
3855 "mi_r11_r1_r7_LSR_r7"},
3856 {{vs, r12, r2, r2, LSL, r12},
3857 false,
3858 al,
3859 "vs r12 r2 r2 LSL r12",
3860 "vs_r12_r2_r2_LSL_r12"},
3861 {{pl, r2, r2, r6, LSR, r0},
3862 false,
3863 al,
3864 "pl r2 r2 r6 LSR r0",
3865 "pl_r2_r2_r6_LSR_r0"},
3866 {{gt, r11, r12, r7, LSR, r12},
3867 false,
3868 al,
3869 "gt r11 r12 r7 LSR r12",
3870 "gt_r11_r12_r7_LSR_r12"},
3871 {{al, r13, r4, r4, ASR, r12},
3872 false,
3873 al,
3874 "al r13 r4 r4 ASR r12",
3875 "al_r13_r4_r4_ASR_r12"},
3876 {{le, r9, r1, r9, ROR, r1},
3877 false,
3878 al,
3879 "le r9 r1 r9 ROR r1",
3880 "le_r9_r1_r9_ROR_r1"},
3881 {{le, r1, r12, r8, ASR, r14},
3882 false,
3883 al,
3884 "le r1 r12 r8 ASR r14",
3885 "le_r1_r12_r8_ASR_r14"},
3886 {{cs, r1, r0, r7, ROR, r13},
3887 false,
3888 al,
3889 "cs r1 r0 r7 ROR r13",
3890 "cs_r1_r0_r7_ROR_r13"},
3891 {{le, r0, r7, r7, ROR, r5},
3892 false,
3893 al,
3894 "le r0 r7 r7 ROR r5",
3895 "le_r0_r7_r7_ROR_r5"},
3896 {{hi, r6, r5, r7, ROR, r4},
3897 false,
3898 al,
3899 "hi r6 r5 r7 ROR r4",
3900 "hi_r6_r5_r7_ROR_r4"},
3901 {{eq, r6, r14, r13, ASR, r1},
3902 false,
3903 al,
3904 "eq r6 r14 r13 ASR r1",
3905 "eq_r6_r14_r13_ASR_r1"},
3906 {{lt, r1, r14, r13, LSR, r13},
3907 false,
3908 al,
3909 "lt r1 r14 r13 LSR r13",
3910 "lt_r1_r14_r13_LSR_r13"},
3911 {{vs, r13, r1, r2, ROR, r6},
3912 false,
3913 al,
3914 "vs r13 r1 r2 ROR r6",
3915 "vs_r13_r1_r2_ROR_r6"},
3916 {{gt, r11, r7, r8, ASR, r3},
3917 false,
3918 al,
3919 "gt r11 r7 r8 ASR r3",
3920 "gt_r11_r7_r8_ASR_r3"},
3921 {{hi, r9, r5, r8, ASR, r8},
3922 false,
3923 al,
3924 "hi r9 r5 r8 ASR r8",
3925 "hi_r9_r5_r8_ASR_r8"},
3926 {{lt, r10, r9, r5, LSL, r8},
3927 false,
3928 al,
3929 "lt r10 r9 r5 LSL r8",
3930 "lt_r10_r9_r5_LSL_r8"},
3931 {{vs, r6, r1, r2, LSL, r4},
3932 false,
3933 al,
3934 "vs r6 r1 r2 LSL r4",
3935 "vs_r6_r1_r2_LSL_r4"},
3936 {{pl, r13, r4, r10, LSR, r12},
3937 false,
3938 al,
3939 "pl r13 r4 r10 LSR r12",
3940 "pl_r13_r4_r10_LSR_r12"},
3941 {{cs, r9, r8, r8, LSL, r6},
3942 false,
3943 al,
3944 "cs r9 r8 r8 LSL r6",
3945 "cs_r9_r8_r8_LSL_r6"},
3946 {{ne, r1, r7, r0, ASR, r2},
3947 false,
3948 al,
3949 "ne r1 r7 r0 ASR r2",
3950 "ne_r1_r7_r0_ASR_r2"},
3951 {{cc, r6, r3, r9, ASR, r3},
3952 false,
3953 al,
3954 "cc r6 r3 r9 ASR r3",
3955 "cc_r6_r3_r9_ASR_r3"},
3956 {{hi, r13, r14, r7, ROR, r13},
3957 false,
3958 al,
3959 "hi r13 r14 r7 ROR r13",
3960 "hi_r13_r14_r7_ROR_r13"},
3961 {{vc, r7, r11, r0, LSR, r8},
3962 false,
3963 al,
3964 "vc r7 r11 r0 LSR r8",
3965 "vc_r7_r11_r0_LSR_r8"},
3966 {{al, r3, r2, r7, LSL, r12},
3967 false,
3968 al,
3969 "al r3 r2 r7 LSL r12",
3970 "al_r3_r2_r7_LSL_r12"},
3971 {{lt, r0, r5, r5, LSR, r1},
3972 false,
3973 al,
3974 "lt r0 r5 r5 LSR r1",
3975 "lt_r0_r5_r5_LSR_r1"},
3976 {{ge, r10, r10, r4, ROR, r11},
3977 false,
3978 al,
3979 "ge r10 r10 r4 ROR r11",
3980 "ge_r10_r10_r4_ROR_r11"},
3981 {{ne, r13, r9, r1, ROR, r12},
3982 false,
3983 al,
3984 "ne r13 r9 r1 ROR r12",
3985 "ne_r13_r9_r1_ROR_r12"},
3986 {{eq, r6, r6, r2, ROR, r3},
3987 false,
3988 al,
3989 "eq r6 r6 r2 ROR r3",
3990 "eq_r6_r6_r2_ROR_r3"},
3991 {{gt, r0, r4, r1, ROR, r5},
3992 false,
3993 al,
3994 "gt r0 r4 r1 ROR r5",
3995 "gt_r0_r4_r1_ROR_r5"},
3996 {{lt, r5, r8, r0, ROR, r0},
3997 false,
3998 al,
3999 "lt r5 r8 r0 ROR r0",
4000 "lt_r5_r8_r0_ROR_r0"},
4001 {{cs, r5, r13, r2, LSR, r8},
4002 false,
4003 al,
4004 "cs r5 r13 r2 LSR r8",
4005 "cs_r5_r13_r2_LSR_r8"},
4006 {{le, r7, r13, r2, LSL, r7},
4007 false,
4008 al,
4009 "le r7 r13 r2 LSL r7",
4010 "le_r7_r13_r2_LSL_r7"},
4011 {{gt, r7, r1, r3, LSL, r1},
4012 false,
4013 al,
4014 "gt r7 r1 r3 LSL r1",
4015 "gt_r7_r1_r3_LSL_r1"},
4016 {{vc, r4, r13, r10, ROR, r8},
4017 false,
4018 al,
4019 "vc r4 r13 r10 ROR r8",
4020 "vc_r4_r13_r10_ROR_r8"},
4021 {{eq, r2, r8, r11, ROR, r4},
4022 false,
4023 al,
4024 "eq r2 r8 r11 ROR r4",
4025 "eq_r2_r8_r11_ROR_r4"},
4026 {{le, r10, r1, r6, LSR, r9},
4027 false,
4028 al,
4029 "le r10 r1 r6 LSR r9",
4030 "le_r10_r1_r6_LSR_r9"},
4031 {{ge, r5, r1, r9, ASR, r10},
4032 false,
4033 al,
4034 "ge r5 r1 r9 ASR r10",
4035 "ge_r5_r1_r9_ASR_r10"},
4036 {{al, r1, r5, r5, LSR, r7},
4037 false,
4038 al,
4039 "al r1 r5 r5 LSR r7",
4040 "al_r1_r5_r5_LSR_r7"},
4041 {{cs, r2, r13, r5, LSR, r8},
4042 false,
4043 al,
4044 "cs r2 r13 r5 LSR r8",
4045 "cs_r2_r13_r5_LSR_r8"},
4046 {{le, r6, r6, r3, ROR, r3},
4047 false,
4048 al,
4049 "le r6 r6 r3 ROR r3",
4050 "le_r6_r6_r3_ROR_r3"},
4051 {{le, r5, r1, r7, ROR, r12},
4052 false,
4053 al,
4054 "le r5 r1 r7 ROR r12",
4055 "le_r5_r1_r7_ROR_r12"},
4056 {{cc, r9, r3, r9, ASR, r4},
4057 false,
4058 al,
4059 "cc r9 r3 r9 ASR r4",
4060 "cc_r9_r3_r9_ASR_r4"},
4061 {{mi, r6, r2, r9, LSL, r5},
4062 false,
4063 al,
4064 "mi r6 r2 r9 LSL r5",
4065 "mi_r6_r2_r9_LSL_r5"},
4066 {{cc, r5, r0, r4, ASR, r12},
4067 false,
4068 al,
4069 "cc r5 r0 r4 ASR r12",
4070 "cc_r5_r0_r4_ASR_r12"},
4071 {{vc, r8, r13, r12, LSL, r11},
4072 false,
4073 al,
4074 "vc r8 r13 r12 LSL r11",
4075 "vc_r8_r13_r12_LSL_r11"},
4076 {{lt, r7, r14, r9, LSR, r11},
4077 false,
4078 al,
4079 "lt r7 r14 r9 LSR r11",
4080 "lt_r7_r14_r9_LSR_r11"},
4081 {{cs, r1, r5, r3, ASR, r1},
4082 false,
4083 al,
4084 "cs r1 r5 r3 ASR r1",
4085 "cs_r1_r5_r3_ASR_r1"},
4086 {{lt, r14, r11, r6, ASR, r9},
4087 false,
4088 al,
4089 "lt r14 r11 r6 ASR r9",
4090 "lt_r14_r11_r6_ASR_r9"},
4091 {{gt, r10, r5, r13, LSR, r3},
4092 false,
4093 al,
4094 "gt r10 r5 r13 LSR r3",
4095 "gt_r10_r5_r13_LSR_r3"},
4096 {{cc, r6, r4, r12, LSL, r4},
4097 false,
4098 al,
4099 "cc r6 r4 r12 LSL r4",
4100 "cc_r6_r4_r12_LSL_r4"},
4101 {{ne, r2, r12, r10, ROR, r11},
4102 false,
4103 al,
4104 "ne r2 r12 r10 ROR r11",
4105 "ne_r2_r12_r10_ROR_r11"},
4106 {{eq, r8, r0, r6, ASR, r10},
4107 false,
4108 al,
4109 "eq r8 r0 r6 ASR r10",
4110 "eq_r8_r0_r6_ASR_r10"},
4111 {{cc, r14, r3, r14, LSR, r7},
4112 false,
4113 al,
4114 "cc r14 r3 r14 LSR r7",
4115 "cc_r14_r3_r14_LSR_r7"},
4116 {{lt, r1, r10, r1, ASR, r13},
4117 false,
4118 al,
4119 "lt r1 r10 r1 ASR r13",
4120 "lt_r1_r10_r1_ASR_r13"},
4121 {{cc, r14, r3, r0, LSL, r12},
4122 false,
4123 al,
4124 "cc r14 r3 r0 LSL r12",
4125 "cc_r14_r3_r0_LSL_r12"},
4126 {{vs, r8, r10, r7, LSL, r2},
4127 false,
4128 al,
4129 "vs r8 r10 r7 LSL r2",
4130 "vs_r8_r10_r7_LSL_r2"},
4131 {{ls, r5, r6, r3, ASR, r2},
4132 false,
4133 al,
4134 "ls r5 r6 r3 ASR r2",
4135 "ls_r5_r6_r3_ASR_r2"},
4136 {{vc, r11, r5, r13, LSL, r10},
4137 false,
4138 al,
4139 "vc r11 r5 r13 LSL r10",
4140 "vc_r11_r5_r13_LSL_r10"},
4141 {{hi, r2, r10, r7, LSR, r0},
4142 false,
4143 al,
4144 "hi r2 r10 r7 LSR r0",
4145 "hi_r2_r10_r7_LSR_r0"},
4146 {{ne, r5, r6, r8, ASR, r4},
4147 false,
4148 al,
4149 "ne r5 r6 r8 ASR r4",
4150 "ne_r5_r6_r8_ASR_r4"},
4151 {{cs, r3, r12, r8, ASR, r5},
4152 false,
4153 al,
4154 "cs r3 r12 r8 ASR r5",
4155 "cs_r3_r12_r8_ASR_r5"},
4156 {{ge, r3, r4, r4, LSR, r0},
4157 false,
4158 al,
4159 "ge r3 r4 r4 LSR r0",
4160 "ge_r3_r4_r4_LSR_r0"},
4161 {{ge, r13, r13, r6, ROR, r13},
4162 false,
4163 al,
4164 "ge r13 r13 r6 ROR r13",
4165 "ge_r13_r13_r6_ROR_r13"},
4166 {{eq, r4, r9, r0, LSL, r9},
4167 false,
4168 al,
4169 "eq r4 r9 r0 LSL r9",
4170 "eq_r4_r9_r0_LSL_r9"},
4171 {{le, r7, r3, r1, ROR, r8},
4172 false,
4173 al,
4174 "le r7 r3 r1 ROR r8",
4175 "le_r7_r3_r1_ROR_r8"},
4176 {{gt, r9, r2, r5, LSL, r4},
4177 false,
4178 al,
4179 "gt r9 r2 r5 LSL r4",
4180 "gt_r9_r2_r5_LSL_r4"},
4181 {{gt, r10, r12, r9, ROR, r12},
4182 false,
4183 al,
4184 "gt r10 r12 r9 ROR r12",
4185 "gt_r10_r12_r9_ROR_r12"},
4186 {{hi, r4, r9, r6, LSR, r14},
4187 false,
4188 al,
4189 "hi r4 r9 r6 LSR r14",
4190 "hi_r4_r9_r6_LSR_r14"},
4191 {{pl, r1, r10, r9, LSR, r8},
4192 false,
4193 al,
4194 "pl r1 r10 r9 LSR r8",
4195 "pl_r1_r10_r9_LSR_r8"},
4196 {{mi, r0, r11, r2, ROR, r13},
4197 false,
4198 al,
4199 "mi r0 r11 r2 ROR r13",
4200 "mi_r0_r11_r2_ROR_r13"},
4201 {{ge, r14, r5, r4, ASR, r2},
4202 false,
4203 al,
4204 "ge r14 r5 r4 ASR r2",
4205 "ge_r14_r5_r4_ASR_r2"},
4206 {{vc, r7, r8, r9, ROR, r10},
4207 false,
4208 al,
4209 "vc r7 r8 r9 ROR r10",
4210 "vc_r7_r8_r9_ROR_r10"},
4211 {{cs, r3, r1, r0, ROR, r7},
4212 false,
4213 al,
4214 "cs r3 r1 r0 ROR r7",
4215 "cs_r3_r1_r0_ROR_r7"},
4216 {{hi, r9, r11, r4, ASR, r14},
4217 false,
4218 al,
4219 "hi r9 r11 r4 ASR r14",
4220 "hi_r9_r11_r4_ASR_r14"},
4221 {{mi, r3, r8, r6, LSR, r12},
4222 false,
4223 al,
4224 "mi r3 r8 r6 LSR r12",
4225 "mi_r3_r8_r6_LSR_r12"},
4226 {{vc, r5, r5, r6, LSL, r1},
4227 false,
4228 al,
4229 "vc r5 r5 r6 LSL r1",
4230 "vc_r5_r5_r6_LSL_r1"},
4231 {{mi, r4, r8, r1, ASR, r3},
4232 false,
4233 al,
4234 "mi r4 r8 r1 ASR r3",
4235 "mi_r4_r8_r1_ASR_r3"},
4236 {{le, r6, r0, r0, LSL, r0},
4237 false,
4238 al,
4239 "le r6 r0 r0 LSL r0",
4240 "le_r6_r0_r0_LSL_r0"},
4241 {{hi, r8, r11, r8, LSL, r14},
4242 false,
4243 al,
4244 "hi r8 r11 r8 LSL r14",
4245 "hi_r8_r11_r8_LSL_r14"},
4246 {{gt, r14, r8, r12, ASR, r13},
4247 false,
4248 al,
4249 "gt r14 r8 r12 ASR r13",
4250 "gt_r14_r8_r12_ASR_r13"},
4251 {{ge, r7, r7, r4, ROR, r7},
4252 false,
4253 al,
4254 "ge r7 r7 r4 ROR r7",
4255 "ge_r7_r7_r4_ROR_r7"},
4256 {{eq, r11, r4, r13, LSL, r3},
4257 false,
4258 al,
4259 "eq r11 r4 r13 LSL r3",
4260 "eq_r11_r4_r13_LSL_r3"},
4261 {{eq, r3, r6, r6, LSL, r10},
4262 false,
4263 al,
4264 "eq r3 r6 r6 LSL r10",
4265 "eq_r3_r6_r6_LSL_r10"},
4266 {{al, r3, r10, r11, ROR, r12},
4267 false,
4268 al,
4269 "al r3 r10 r11 ROR r12",
4270 "al_r3_r10_r11_ROR_r12"},
4271 {{pl, r13, r7, r8, LSL, r13},
4272 false,
4273 al,
4274 "pl r13 r7 r8 LSL r13",
4275 "pl_r13_r7_r8_LSL_r13"},
4276 {{pl, r9, r2, r11, LSR, r2},
4277 false,
4278 al,
4279 "pl r9 r2 r11 LSR r2",
4280 "pl_r9_r2_r11_LSR_r2"},
4281 {{al, r3, r12, r8, LSR, r2},
4282 false,
4283 al,
4284 "al r3 r12 r8 LSR r2",
4285 "al_r3_r12_r8_LSR_r2"},
4286 {{ne, r4, r14, r6, ROR, r0},
4287 false,
4288 al,
4289 "ne r4 r14 r6 ROR r0",
4290 "ne_r4_r14_r6_ROR_r0"},
4291 {{cs, r6, r14, r13, ASR, r3},
4292 false,
4293 al,
4294 "cs r6 r14 r13 ASR r3",
4295 "cs_r6_r14_r13_ASR_r3"},
4296 {{pl, r10, r6, r8, LSR, r7},
4297 false,
4298 al,
4299 "pl r10 r6 r8 LSR r7",
4300 "pl_r10_r6_r8_LSR_r7"},
4301 {{ls, r10, r1, r12, ROR, r6},
4302 false,
4303 al,
4304 "ls r10 r1 r12 ROR r6",
4305 "ls_r10_r1_r12_ROR_r6"},
4306 {{eq, r12, r0, r1, LSL, r9},
4307 false,
4308 al,
4309 "eq r12 r0 r1 LSL r9",
4310 "eq_r12_r0_r1_LSL_r9"},
4311 {{hi, r11, r14, r8, ROR, r6},
4312 false,
4313 al,
4314 "hi r11 r14 r8 ROR r6",
4315 "hi_r11_r14_r8_ROR_r6"},
4316 {{vc, r9, r2, r5, LSL, r6},
4317 false,
4318 al,
4319 "vc r9 r2 r5 LSL r6",
4320 "vc_r9_r2_r5_LSL_r6"},
4321 {{ne, r11, r8, r5, LSR, r11},
4322 false,
4323 al,
4324 "ne r11 r8 r5 LSR r11",
4325 "ne_r11_r8_r5_LSR_r11"},
4326 {{mi, r1, r12, r3, ASR, r5},
4327 false,
4328 al,
4329 "mi r1 r12 r3 ASR r5",
4330 "mi_r1_r12_r3_ASR_r5"},
4331 {{pl, r14, r7, r1, ASR, r12},
4332 false,
4333 al,
4334 "pl r14 r7 r1 ASR r12",
4335 "pl_r14_r7_r1_ASR_r12"},
4336 {{pl, r9, r4, r1, ASR, r1},
4337 false,
4338 al,
4339 "pl r9 r4 r1 ASR r1",
4340 "pl_r9_r4_r1_ASR_r1"},
4341 {{ls, r11, r0, r5, ROR, r14},
4342 false,
4343 al,
4344 "ls r11 r0 r5 ROR r14",
4345 "ls_r11_r0_r5_ROR_r14"},
4346 {{lt, r13, r10, r14, ROR, r13},
4347 false,
4348 al,
4349 "lt r13 r10 r14 ROR r13",
4350 "lt_r13_r10_r14_ROR_r13"},
4351 {{gt, r3, r14, r10, LSR, r4},
4352 false,
4353 al,
4354 "gt r3 r14 r10 LSR r4",
4355 "gt_r3_r14_r10_LSR_r4"},
4356 {{cc, r1, r0, r5, ROR, r7},
4357 false,
4358 al,
4359 "cc r1 r0 r5 ROR r7",
4360 "cc_r1_r0_r5_ROR_r7"},
4361 {{hi, r2, r14, r0, LSR, r14},
4362 false,
4363 al,
4364 "hi r2 r14 r0 LSR r14",
4365 "hi_r2_r14_r0_LSR_r14"},
4366 {{pl, r3, r7, r2, ASR, r9},
4367 false,
4368 al,
4369 "pl r3 r7 r2 ASR r9",
4370 "pl_r3_r7_r2_ASR_r9"},
4371 {{eq, r7, r5, r0, ROR, r6},
4372 false,
4373 al,
4374 "eq r7 r5 r0 ROR r6",
4375 "eq_r7_r5_r0_ROR_r6"},
4376 {{mi, r14, r9, r14, LSR, r5},
4377 false,
4378 al,
4379 "mi r14 r9 r14 LSR r5",
4380 "mi_r14_r9_r14_LSR_r5"},
4381 {{mi, r6, r1, r1, LSL, r12},
4382 false,
4383 al,
4384 "mi r6 r1 r1 LSL r12",
4385 "mi_r6_r1_r1_LSL_r12"},
4386 {{ge, r12, r0, r8, LSR, r0},
4387 false,
4388 al,
4389 "ge r12 r0 r8 LSR r0",
4390 "ge_r12_r0_r8_LSR_r0"},
4391 {{cc, r13, r8, r3, ROR, r7},
4392 false,
4393 al,
4394 "cc r13 r8 r3 ROR r7",
4395 "cc_r13_r8_r3_ROR_r7"},
4396 {{vs, r7, r9, r4, LSL, r11},
4397 false,
4398 al,
4399 "vs r7 r9 r4 LSL r11",
4400 "vs_r7_r9_r4_LSL_r11"},
4401 {{ge, r9, r10, r9, LSR, r5},
4402 false,
4403 al,
4404 "ge r9 r10 r9 LSR r5",
4405 "ge_r9_r10_r9_LSR_r5"},
4406 {{ls, r5, r3, r0, LSR, r7},
4407 false,
4408 al,
4409 "ls r5 r3 r0 LSR r7",
4410 "ls_r5_r3_r0_LSR_r7"},
4411 {{eq, r0, r6, r1, LSL, r11},
4412 false,
4413 al,
4414 "eq r0 r6 r1 LSL r11",
4415 "eq_r0_r6_r1_LSL_r11"},
4416 {{ge, r9, r7, r0, ROR, r11},
4417 false,
4418 al,
4419 "ge r9 r7 r0 ROR r11",
4420 "ge_r9_r7_r0_ROR_r11"},
4421 {{mi, r4, r2, r3, LSL, r12},
4422 false,
4423 al,
4424 "mi r4 r2 r3 LSL r12",
4425 "mi_r4_r2_r3_LSL_r12"},
4426 {{hi, r7, r5, r0, ASR, r5},
4427 false,
4428 al,
4429 "hi r7 r5 r0 ASR r5",
4430 "hi_r7_r5_r0_ASR_r5"},
4431 {{cc, r7, r13, r7, LSL, r14},
4432 false,
4433 al,
4434 "cc r7 r13 r7 LSL r14",
4435 "cc_r7_r13_r7_LSL_r14"},
4436 {{ne, r2, r11, r2, LSL, r14},
4437 false,
4438 al,
4439 "ne r2 r11 r2 LSL r14",
4440 "ne_r2_r11_r2_LSL_r14"},
4441 {{cc, r7, r5, r3, LSR, r11},
4442 false,
4443 al,
4444 "cc r7 r5 r3 LSR r11",
4445 "cc_r7_r5_r3_LSR_r11"},
4446 {{ge, r12, r0, r12, ASR, r10},
4447 false,
4448 al,
4449 "ge r12 r0 r12 ASR r10",
4450 "ge_r12_r0_r12_ASR_r10"},
4451 {{al, r11, r0, r2, LSR, r11},
4452 false,
4453 al,
4454 "al r11 r0 r2 LSR r11",
4455 "al_r11_r0_r2_LSR_r11"},
4456 {{cc, r1, r12, r1, ROR, r1},
4457 false,
4458 al,
4459 "cc r1 r12 r1 ROR r1",
4460 "cc_r1_r12_r1_ROR_r1"},
4461 {{ls, r5, r9, r6, ASR, r4},
4462 false,
4463 al,
4464 "ls r5 r9 r6 ASR r4",
4465 "ls_r5_r9_r6_ASR_r4"},
4466 {{ne, r5, r13, r2, ROR, r12},
4467 false,
4468 al,
4469 "ne r5 r13 r2 ROR r12",
4470 "ne_r5_r13_r2_ROR_r12"},
4471 {{ge, r9, r10, r12, ROR, r10},
4472 false,
4473 al,
4474 "ge r9 r10 r12 ROR r10",
4475 "ge_r9_r10_r12_ROR_r10"},
4476 {{cc, r10, r1, r8, LSR, r12},
4477 false,
4478 al,
4479 "cc r10 r1 r8 LSR r12",
4480 "cc_r10_r1_r8_LSR_r12"},
4481 {{le, r9, r6, r11, ROR, r3},
4482 false,
4483 al,
4484 "le r9 r6 r11 ROR r3",
4485 "le_r9_r6_r11_ROR_r3"},
4486 {{le, r9, r9, r13, ASR, r5},
4487 false,
4488 al,
4489 "le r9 r9 r13 ASR r5",
4490 "le_r9_r9_r13_ASR_r5"},
4491 {{ge, r1, r12, r11, LSL, r12},
4492 false,
4493 al,
4494 "ge r1 r12 r11 LSL r12",
4495 "ge_r1_r12_r11_LSL_r12"},
4496 {{vs, r11, r4, r6, LSL, r10},
4497 false,
4498 al,
4499 "vs r11 r4 r6 LSL r10",
4500 "vs_r11_r4_r6_LSL_r10"},
4501 {{vs, r3, r3, r1, ROR, r2},
4502 false,
4503 al,
4504 "vs r3 r3 r1 ROR r2",
4505 "vs_r3_r3_r1_ROR_r2"},
4506 {{ne, r12, r8, r12, ASR, r11},
4507 false,
4508 al,
4509 "ne r12 r8 r12 ASR r11",
4510 "ne_r12_r8_r12_ASR_r11"},
4511 {{pl, r4, r8, r1, ROR, r8},
4512 false,
4513 al,
4514 "pl r4 r8 r1 ROR r8",
4515 "pl_r4_r8_r1_ROR_r8"},
4516 {{gt, r3, r11, r13, ROR, r9},
4517 false,
4518 al,
4519 "gt r3 r11 r13 ROR r9",
4520 "gt_r3_r11_r13_ROR_r9"},
4521 {{pl, r6, r0, r3, LSR, r9},
4522 false,
4523 al,
4524 "pl r6 r0 r3 LSR r9",
4525 "pl_r6_r0_r3_LSR_r9"},
4526 {{ne, r5, r7, r9, LSL, r10},
4527 false,
4528 al,
4529 "ne r5 r7 r9 LSL r10",
4530 "ne_r5_r7_r9_LSL_r10"},
4531 {{lt, r1, r12, r12, LSR, r8},
4532 false,
4533 al,
4534 "lt r1 r12 r12 LSR r8",
4535 "lt_r1_r12_r12_LSR_r8"},
4536 {{cc, r2, r0, r0, ROR, r5},
4537 false,
4538 al,
4539 "cc r2 r0 r0 ROR r5",
4540 "cc_r2_r0_r0_ROR_r5"},
4541 {{vc, r7, r11, r8, LSR, r14},
4542 false,
4543 al,
4544 "vc r7 r11 r8 LSR r14",
4545 "vc_r7_r11_r8_LSR_r14"},
4546 {{ge, r0, r11, r6, ROR, r10},
4547 false,
4548 al,
4549 "ge r0 r11 r6 ROR r10",
4550 "ge_r0_r11_r6_ROR_r10"},
4551 {{vs, r0, r9, r1, LSR, r0},
4552 false,
4553 al,
4554 "vs r0 r9 r1 LSR r0",
4555 "vs_r0_r9_r1_LSR_r0"},
4556 {{gt, r13, r7, r11, LSR, r1},
4557 false,
4558 al,
4559 "gt r13 r7 r11 LSR r1",
4560 "gt_r13_r7_r11_LSR_r1"},
4561 {{eq, r9, r10, r2, ROR, r12},
4562 false,
4563 al,
4564 "eq r9 r10 r2 ROR r12",
4565 "eq_r9_r10_r2_ROR_r12"},
4566 {{eq, r0, r4, r0, LSR, r3},
4567 false,
4568 al,
4569 "eq r0 r4 r0 LSR r3",
4570 "eq_r0_r4_r0_LSR_r3"},
4571 {{cs, r14, r2, r9, ASR, r12},
4572 false,
4573 al,
4574 "cs r14 r2 r9 ASR r12",
4575 "cs_r14_r2_r9_ASR_r12"},
4576 {{lt, r9, r4, r9, ASR, r8},
4577 false,
4578 al,
4579 "lt r9 r4 r9 ASR r8",
4580 "lt_r9_r4_r9_ASR_r8"},
4581 {{vs, r6, r12, r3, LSL, r11},
4582 false,
4583 al,
4584 "vs r6 r12 r3 LSL r11",
4585 "vs_r6_r12_r3_LSL_r11"},
4586 {{ge, r9, r14, r10, ROR, r0},
4587 false,
4588 al,
4589 "ge r9 r14 r10 ROR r0",
4590 "ge_r9_r14_r10_ROR_r0"},
4591 {{pl, r10, r2, r5, LSL, r12},
4592 false,
4593 al,
4594 "pl r10 r2 r5 LSL r12",
4595 "pl_r10_r2_r5_LSL_r12"},
4596 {{al, r8, r0, r6, ROR, r6},
4597 false,
4598 al,
4599 "al r8 r0 r6 ROR r6",
4600 "al_r8_r0_r6_ROR_r6"},
4601 {{le, r9, r7, r7, LSR, r11},
4602 false,
4603 al,
4604 "le r9 r7 r7 LSR r11",
4605 "le_r9_r7_r7_LSR_r11"},
4606 {{vc, r3, r4, r5, LSR, r1},
4607 false,
4608 al,
4609 "vc r3 r4 r5 LSR r1",
4610 "vc_r3_r4_r5_LSR_r1"},
4611 {{cc, r13, r1, r4, LSR, r11},
4612 false,
4613 al,
4614 "cc r13 r1 r4 LSR r11",
4615 "cc_r13_r1_r4_LSR_r11"},
4616 {{vc, r13, r4, r0, LSL, r10},
4617 false,
4618 al,
4619 "vc r13 r4 r0 LSL r10",
4620 "vc_r13_r4_r0_LSL_r10"},
4621 {{vc, r5, r0, r1, LSR, r1},
4622 false,
4623 al,
4624 "vc r5 r0 r1 LSR r1",
4625 "vc_r5_r0_r1_LSR_r1"},
4626 {{ls, r5, r11, r1, ASR, r9},
4627 false,
4628 al,
4629 "ls r5 r11 r1 ASR r9",
4630 "ls_r5_r11_r1_ASR_r9"},
4631 {{vs, r3, r2, r8, ASR, r1},
4632 false,
4633 al,
4634 "vs r3 r2 r8 ASR r1",
4635 "vs_r3_r2_r8_ASR_r1"},
4636 {{hi, r8, r4, r6, ASR, r4},
4637 false,
4638 al,
4639 "hi r8 r4 r6 ASR r4",
4640 "hi_r8_r4_r6_ASR_r4"},
4641 {{mi, r11, r12, r14, ASR, r13},
4642 false,
4643 al,
4644 "mi r11 r12 r14 ASR r13",
4645 "mi_r11_r12_r14_ASR_r13"},
4646 {{gt, r7, r12, r12, LSL, r14},
4647 false,
4648 al,
4649 "gt r7 r12 r12 LSL r14",
4650 "gt_r7_r12_r12_LSL_r14"},
4651 {{ge, r11, r4, r9, LSR, r7},
4652 false,
4653 al,
4654 "ge r11 r4 r9 LSR r7",
4655 "ge_r11_r4_r9_LSR_r7"},
4656 {{vs, r0, r4, r10, LSL, r2},
4657 false,
4658 al,
4659 "vs r0 r4 r10 LSL r2",
4660 "vs_r0_r4_r10_LSL_r2"},
4661 {{pl, r6, r4, r13, ASR, r0},
4662 false,
4663 al,
4664 "pl r6 r4 r13 ASR r0",
4665 "pl_r6_r4_r13_ASR_r0"},
4666 {{eq, r2, r3, r11, ROR, r1},
4667 false,
4668 al,
4669 "eq r2 r3 r11 ROR r1",
4670 "eq_r2_r3_r11_ROR_r1"},
4671 {{vs, r10, r9, r0, LSL, r4},
4672 false,
4673 al,
4674 "vs r10 r9 r0 LSL r4",
4675 "vs_r10_r9_r0_LSL_r4"},
4676 {{cs, r0, r7, r10, LSL, r0},
4677 false,
4678 al,
4679 "cs r0 r7 r10 LSL r0",
4680 "cs_r0_r7_r10_LSL_r0"},
4681 {{eq, r11, r2, r3, ASR, r13},
4682 false,
4683 al,
4684 "eq r11 r2 r3 ASR r13",
4685 "eq_r11_r2_r3_ASR_r13"},
4686 {{eq, r14, r3, r7, ASR, r14},
4687 false,
4688 al,
4689 "eq r14 r3 r7 ASR r14",
4690 "eq_r14_r3_r7_ASR_r14"},
4691 {{gt, r0, r2, r0, LSL, r12},
4692 false,
4693 al,
4694 "gt r0 r2 r0 LSL r12",
4695 "gt_r0_r2_r0_LSL_r12"},
4696 {{mi, r0, r12, r6, LSR, r13},
4697 false,
4698 al,
4699 "mi r0 r12 r6 LSR r13",
4700 "mi_r0_r12_r6_LSR_r13"},
4701 {{gt, r4, r4, r9, LSR, r12},
4702 false,
4703 al,
4704 "gt r4 r4 r9 LSR r12",
4705 "gt_r4_r4_r9_LSR_r12"},
4706 {{vc, r6, r7, r10, ROR, r2},
4707 false,
4708 al,
4709 "vc r6 r7 r10 ROR r2",
4710 "vc_r6_r7_r10_ROR_r2"},
4711 {{lt, r10, r8, r13, ROR, r13},
4712 false,
4713 al,
4714 "lt r10 r8 r13 ROR r13",
4715 "lt_r10_r8_r13_ROR_r13"},
4716 {{lt, r13, r10, r4, ROR, r0},
4717 false,
4718 al,
4719 "lt r13 r10 r4 ROR r0",
4720 "lt_r13_r10_r4_ROR_r0"},
4721 {{pl, r1, r6, r0, LSR, r12},
4722 false,
4723 al,
4724 "pl r1 r6 r0 LSR r12",
4725 "pl_r1_r6_r0_LSR_r12"},
4726 {{ge, r14, r7, r1, LSR, r8},
4727 false,
4728 al,
4729 "ge r14 r7 r1 LSR r8",
4730 "ge_r14_r7_r1_LSR_r8"},
4731 {{cc, r8, r13, r6, LSL, r13},
4732 false,
4733 al,
4734 "cc r8 r13 r6 LSL r13",
4735 "cc_r8_r13_r6_LSL_r13"},
4736 {{gt, r13, r4, r7, LSR, r2},
4737 false,
4738 al,
4739 "gt r13 r4 r7 LSR r2",
4740 "gt_r13_r4_r7_LSR_r2"},
4741 {{eq, r11, r3, r5, LSR, r3},
4742 false,
4743 al,
4744 "eq r11 r3 r5 LSR r3",
4745 "eq_r11_r3_r5_LSR_r3"},
4746 {{vc, r8, r11, r2, ROR, r7},
4747 false,
4748 al,
4749 "vc r8 r11 r2 ROR r7",
4750 "vc_r8_r11_r2_ROR_r7"},
4751 {{vc, r11, r2, r0, LSL, r2},
4752 false,
4753 al,
4754 "vc r11 r2 r0 LSL r2",
4755 "vc_r11_r2_r0_LSL_r2"},
4756 {{cs, r9, r11, r11, LSL, r11},
4757 false,
4758 al,
4759 "cs r9 r11 r11 LSL r11",
4760 "cs_r9_r11_r11_LSL_r11"},
4761 {{ge, r14, r4, r12, LSL, r11},
4762 false,
4763 al,
4764 "ge r14 r4 r12 LSL r11",
4765 "ge_r14_r4_r12_LSL_r11"},
4766 {{vs, r4, r10, r3, LSL, r1},
4767 false,
4768 al,
4769 "vs r4 r10 r3 LSL r1",
4770 "vs_r4_r10_r3_LSL_r1"},
4771 {{mi, r13, r1, r8, LSR, r2},
4772 false,
4773 al,
4774 "mi r13 r1 r8 LSR r2",
4775 "mi_r13_r1_r8_LSR_r2"},
4776 {{le, r3, r13, r13, LSL, r8},
4777 false,
4778 al,
4779 "le r3 r13 r13 LSL r8",
4780 "le_r3_r13_r13_LSL_r8"},
4781 {{mi, r9, r12, r8, LSR, r14},
4782 false,
4783 al,
4784 "mi r9 r12 r8 LSR r14",
4785 "mi_r9_r12_r8_LSR_r14"},
4786 {{pl, r7, r11, r10, ASR, r2},
4787 false,
4788 al,
4789 "pl r7 r11 r10 ASR r2",
4790 "pl_r7_r11_r10_ASR_r2"},
4791 {{lt, r12, r2, r9, ASR, r5},
4792 false,
4793 al,
4794 "lt r12 r2 r9 ASR r5",
4795 "lt_r12_r2_r9_ASR_r5"},
4796 {{gt, r13, r0, r5, LSL, r2},
4797 false,
4798 al,
4799 "gt r13 r0 r5 LSL r2",
4800 "gt_r13_r0_r5_LSL_r2"},
4801 {{le, r5, r10, r9, ROR, r0},
4802 false,
4803 al,
4804 "le r5 r10 r9 ROR r0",
4805 "le_r5_r10_r9_ROR_r0"},
4806 {{lt, r6, r1, r4, ASR, r11},
4807 false,
4808 al,
4809 "lt r6 r1 r4 ASR r11",
4810 "lt_r6_r1_r4_ASR_r11"},
4811 {{pl, r11, r5, r14, LSR, r4},
4812 false,
4813 al,
4814 "pl r11 r5 r14 LSR r4",
4815 "pl_r11_r5_r14_LSR_r4"},
4816 {{eq, r9, r0, r6, ROR, r9},
4817 false,
4818 al,
4819 "eq r9 r0 r6 ROR r9",
4820 "eq_r9_r0_r6_ROR_r9"},
4821 {{mi, r3, r11, r2, ASR, r4},
4822 false,
4823 al,
4824 "mi r3 r11 r2 ASR r4",
4825 "mi_r3_r11_r2_ASR_r4"},
4826 {{pl, r13, r8, r0, ROR, r6},
4827 false,
4828 al,
4829 "pl r13 r8 r0 ROR r6",
4830 "pl_r13_r8_r0_ROR_r6"},
4831 {{vc, r8, r2, r6, ASR, r4},
4832 false,
4833 al,
4834 "vc r8 r2 r6 ASR r4",
4835 "vc_r8_r2_r6_ASR_r4"},
4836 {{ge, r1, r0, r4, ASR, r1},
4837 false,
4838 al,
4839 "ge r1 r0 r4 ASR r1",
4840 "ge_r1_r0_r4_ASR_r1"},
4841 {{vc, r2, r4, r13, LSL, r13},
4842 false,
4843 al,
4844 "vc r2 r4 r13 LSL r13",
4845 "vc_r2_r4_r13_LSL_r13"},
4846 {{lt, r4, r3, r5, ASR, r11},
4847 false,
4848 al,
4849 "lt r4 r3 r5 ASR r11",
4850 "lt_r4_r3_r5_ASR_r11"},
4851 {{pl, r5, r12, r3, LSL, r4},
4852 false,
4853 al,
4854 "pl r5 r12 r3 LSL r4",
4855 "pl_r5_r12_r3_LSL_r4"},
4856 {{pl, r14, r6, r6, LSR, r10},
4857 false,
4858 al,
4859 "pl r14 r6 r6 LSR r10",
4860 "pl_r14_r6_r6_LSR_r10"},
4861 {{gt, r14, r13, r3, LSL, r9},
4862 false,
4863 al,
4864 "gt r14 r13 r3 LSL r9",
4865 "gt_r14_r13_r3_LSL_r9"},
4866 {{pl, r10, r9, r4, LSL, r3},
4867 false,
4868 al,
4869 "pl r10 r9 r4 LSL r3",
4870 "pl_r10_r9_r4_LSL_r3"},
4871 {{al, r10, r8, r4, ROR, r1},
4872 false,
4873 al,
4874 "al r10 r8 r4 ROR r1",
4875 "al_r10_r8_r4_ROR_r1"},
4876 {{pl, r14, r9, r11, ASR, r13},
4877 false,
4878 al,
4879 "pl r14 r9 r11 ASR r13",
4880 "pl_r14_r9_r11_ASR_r13"},
4881 {{cc, r8, r1, r4, ROR, r12},
4882 false,
4883 al,
4884 "cc r8 r1 r4 ROR r12",
4885 "cc_r8_r1_r4_ROR_r12"},
4886 {{vs, r5, r14, r7, LSR, r0},
4887 false,
4888 al,
4889 "vs r5 r14 r7 LSR r0",
4890 "vs_r5_r14_r7_LSR_r0"},
4891 {{gt, r1, r10, r13, ROR, r9},
4892 false,
4893 al,
4894 "gt r1 r10 r13 ROR r9",
4895 "gt_r1_r10_r13_ROR_r9"},
4896 {{mi, r8, r14, r9, LSR, r5},
4897 false,
4898 al,
4899 "mi r8 r14 r9 LSR r5",
4900 "mi_r8_r14_r9_LSR_r5"},
4901 {{ge, r12, r10, r7, ROR, r2},
4902 false,
4903 al,
4904 "ge r12 r10 r7 ROR r2",
4905 "ge_r12_r10_r7_ROR_r2"},
4906 {{al, r11, r8, r1, LSR, r10},
4907 false,
4908 al,
4909 "al r11 r8 r1 LSR r10",
4910 "al_r11_r8_r1_LSR_r10"},
4911 {{al, r7, r13, r11, LSL, r14},
4912 false,
4913 al,
4914 "al r7 r13 r11 LSL r14",
4915 "al_r7_r13_r11_LSL_r14"},
4916 {{vc, r13, r11, r11, ASR, r9},
4917 false,
4918 al,
4919 "vc r13 r11 r11 ASR r9",
4920 "vc_r13_r11_r11_ASR_r9"},
4921 {{gt, r10, r5, r11, LSR, r14},
4922 false,
4923 al,
4924 "gt r10 r5 r11 LSR r14",
4925 "gt_r10_r5_r11_LSR_r14"},
4926 {{vc, r10, r11, r7, ROR, r3},
4927 false,
4928 al,
4929 "vc r10 r11 r7 ROR r3",
4930 "vc_r10_r11_r7_ROR_r3"},
4931 {{le, r10, r2, r7, LSL, r6},
4932 false,
4933 al,
4934 "le r10 r2 r7 LSL r6",
4935 "le_r10_r2_r7_LSL_r6"},
4936 {{al, r1, r3, r6, ASR, r5},
4937 false,
4938 al,
4939 "al r1 r3 r6 ASR r5",
4940 "al_r1_r3_r6_ASR_r5"},
4941 {{cs, r14, r9, r7, LSL, r12},
4942 false,
4943 al,
4944 "cs r14 r9 r7 LSL r12",
4945 "cs_r14_r9_r7_LSL_r12"},
4946 {{ls, r10, r1, r4, LSL, r4},
4947 false,
4948 al,
4949 "ls r10 r1 r4 LSL r4",
4950 "ls_r10_r1_r4_LSL_r4"},
4951 {{vs, r2, r5, r4, ROR, r3},
4952 false,
4953 al,
4954 "vs r2 r5 r4 ROR r3",
4955 "vs_r2_r5_r4_ROR_r3"},
4956 {{vs, r1, r7, r10, ASR, r0},
4957 false,
4958 al,
4959 "vs r1 r7 r10 ASR r0",
4960 "vs_r1_r7_r10_ASR_r0"},
4961 {{cs, r10, r12, r0, LSR, r4},
4962 false,
4963 al,
4964 "cs r10 r12 r0 LSR r4",
4965 "cs_r10_r12_r0_LSR_r4"},
4966 {{vs, r8, r8, r1, LSR, r13},
4967 false,
4968 al,
4969 "vs r8 r8 r1 LSR r13",
4970 "vs_r8_r8_r1_LSR_r13"},
4971 {{mi, r14, r5, r9, LSR, r7},
4972 false,
4973 al,
4974 "mi r14 r5 r9 LSR r7",
4975 "mi_r14_r5_r9_LSR_r7"},
4976 {{vs, r6, r6, r14, ASR, r8},
4977 false,
4978 al,
4979 "vs r6 r6 r14 ASR r8",
4980 "vs_r6_r6_r14_ASR_r8"},
4981 {{vc, r0, r1, r14, ROR, r0},
4982 false,
4983 al,
4984 "vc r0 r1 r14 ROR r0",
4985 "vc_r0_r1_r14_ROR_r0"},
4986 {{ls, r9, r3, r11, ASR, r3},
4987 false,
4988 al,
4989 "ls r9 r3 r11 ASR r3",
4990 "ls_r9_r3_r11_ASR_r3"},
4991 {{ls, r1, r12, r1, ASR, r6},
4992 false,
4993 al,
4994 "ls r1 r12 r1 ASR r6",
4995 "ls_r1_r12_r1_ASR_r6"},
4996 {{hi, r6, r10, r0, ASR, r2},
4997 false,
4998 al,
4999 "hi r6 r10 r0 ASR r2",
5000 "hi_r6_r10_r0_ASR_r2"},
5001 {{vc, r6, r14, r7, ASR, r1},
5002 false,
5003 al,
5004 "vc r6 r14 r7 ASR r1",
5005 "vc_r6_r14_r7_ASR_r1"},
5006 {{eq, r14, r11, r10, LSL, r13},
5007 false,
5008 al,
5009 "eq r14 r11 r10 LSL r13",
5010 "eq_r14_r11_r10_LSL_r13"},
5011 {{ge, r6, r12, r5, LSR, r9},
5012 false,
5013 al,
5014 "ge r6 r12 r5 LSR r9",
5015 "ge_r6_r12_r5_LSR_r9"},
5016 {{mi, r1, r5, r0, ROR, r9},
5017 false,
5018 al,
5019 "mi r1 r5 r0 ROR r9",
5020 "mi_r1_r5_r0_ROR_r9"},
5021 {{al, r7, r8, r2, ROR, r4},
5022 false,
5023 al,
5024 "al r7 r8 r2 ROR r4",
5025 "al_r7_r8_r2_ROR_r4"},
5026 {{hi, r8, r1, r5, ASR, r10},
5027 false,
5028 al,
5029 "hi r8 r1 r5 ASR r10",
5030 "hi_r8_r1_r5_ASR_r10"},
5031 {{ne, r14, r5, r0, LSR, r7},
5032 false,
5033 al,
5034 "ne r14 r5 r0 LSR r7",
5035 "ne_r14_r5_r0_LSR_r7"},
5036 {{vc, r3, r13, r9, LSL, r9},
5037 false,
5038 al,
5039 "vc r3 r13 r9 LSL r9",
5040 "vc_r3_r13_r9_LSL_r9"},
5041 {{vs, r2, r2, r7, LSL, r5},
5042 false,
5043 al,
5044 "vs r2 r2 r7 LSL r5",
5045 "vs_r2_r2_r7_LSL_r5"},
5046 {{vc, r7, r3, r6, ASR, r6},
5047 false,
5048 al,
5049 "vc r7 r3 r6 ASR r6",
5050 "vc_r7_r3_r6_ASR_r6"},
5051 {{eq, r2, r5, r8, ROR, r1},
5052 false,
5053 al,
5054 "eq r2 r5 r8 ROR r1",
5055 "eq_r2_r5_r8_ROR_r1"},
5056 {{eq, r0, r0, r10, ROR, r3},
5057 false,
5058 al,
5059 "eq r0 r0 r10 ROR r3",
5060 "eq_r0_r0_r10_ROR_r3"},
5061 {{lt, r6, r1, r0, ROR, r9},
5062 false,
5063 al,
5064 "lt r6 r1 r0 ROR r9",
5065 "lt_r6_r1_r0_ROR_r9"},
5066 {{ls, r7, r7, r12, LSR, r5},
5067 false,
5068 al,
5069 "ls r7 r7 r12 LSR r5",
5070 "ls_r7_r7_r12_LSR_r5"},
5071 {{vs, r0, r9, r7, ROR, r14},
5072 false,
5073 al,
5074 "vs r0 r9 r7 ROR r14",
5075 "vs_r0_r9_r7_ROR_r14"},
5076 {{al, r0, r8, r2, ROR, r2},
5077 false,
5078 al,
5079 "al r0 r8 r2 ROR r2",
5080 "al_r0_r8_r2_ROR_r2"},
5081 {{vc, r1, r14, r14, LSL, r11},
5082 false,
5083 al,
5084 "vc r1 r14 r14 LSL r11",
5085 "vc_r1_r14_r14_LSL_r11"},
5086 {{ge, r9, r14, r10, ASR, r11},
5087 false,
5088 al,
5089 "ge r9 r14 r10 ASR r11",
5090 "ge_r9_r14_r10_ASR_r11"},
5091 {{vs, r0, r3, r9, LSL, r4},
5092 false,
5093 al,
5094 "vs r0 r3 r9 LSL r4",
5095 "vs_r0_r3_r9_LSL_r4"},
5096 {{pl, r14, r13, r7, LSR, r14},
5097 false,
5098 al,
5099 "pl r14 r13 r7 LSR r14",
5100 "pl_r14_r13_r7_LSR_r14"},
5101 {{le, r2, r4, r6, LSR, r3},
5102 false,
5103 al,
5104 "le r2 r4 r6 LSR r3",
5105 "le_r2_r4_r6_LSR_r3"},
5106 {{vc, r7, r14, r6, LSR, r10},
5107 false,
5108 al,
5109 "vc r7 r14 r6 LSR r10",
5110 "vc_r7_r14_r6_LSR_r10"},
5111 {{mi, r13, r11, r14, ASR, r7},
5112 false,
5113 al,
5114 "mi r13 r11 r14 ASR r7",
5115 "mi_r13_r11_r14_ASR_r7"}};
5116
5117 // These headers each contain an array of `TestResult` with the reference output
5118 // values. The reference arrays are names `kReference{mnemonic}`.
5119 #include "aarch32/traces/assembler-cond-rd-rn-operand-rm-shift-rs-adc-a32.h"
5120 #include "aarch32/traces/assembler-cond-rd-rn-operand-rm-shift-rs-adcs-a32.h"
5121 #include "aarch32/traces/assembler-cond-rd-rn-operand-rm-shift-rs-add-a32.h"
5122 #include "aarch32/traces/assembler-cond-rd-rn-operand-rm-shift-rs-adds-a32.h"
5123 #include "aarch32/traces/assembler-cond-rd-rn-operand-rm-shift-rs-and-a32.h"
5124 #include "aarch32/traces/assembler-cond-rd-rn-operand-rm-shift-rs-ands-a32.h"
5125 #include "aarch32/traces/assembler-cond-rd-rn-operand-rm-shift-rs-bic-a32.h"
5126 #include "aarch32/traces/assembler-cond-rd-rn-operand-rm-shift-rs-bics-a32.h"
5127 #include "aarch32/traces/assembler-cond-rd-rn-operand-rm-shift-rs-eor-a32.h"
5128 #include "aarch32/traces/assembler-cond-rd-rn-operand-rm-shift-rs-eors-a32.h"
5129 #include "aarch32/traces/assembler-cond-rd-rn-operand-rm-shift-rs-orr-a32.h"
5130 #include "aarch32/traces/assembler-cond-rd-rn-operand-rm-shift-rs-orrs-a32.h"
5131 #include "aarch32/traces/assembler-cond-rd-rn-operand-rm-shift-rs-rsb-a32.h"
5132 #include "aarch32/traces/assembler-cond-rd-rn-operand-rm-shift-rs-rsbs-a32.h"
5133 #include "aarch32/traces/assembler-cond-rd-rn-operand-rm-shift-rs-rsc-a32.h"
5134 #include "aarch32/traces/assembler-cond-rd-rn-operand-rm-shift-rs-rscs-a32.h"
5135 #include "aarch32/traces/assembler-cond-rd-rn-operand-rm-shift-rs-sbc-a32.h"
5136 #include "aarch32/traces/assembler-cond-rd-rn-operand-rm-shift-rs-sbcs-a32.h"
5137 #include "aarch32/traces/assembler-cond-rd-rn-operand-rm-shift-rs-sub-a32.h"
5138 #include "aarch32/traces/assembler-cond-rd-rn-operand-rm-shift-rs-subs-a32.h"
5139
5140
5141 // The maximum number of errors to report in detail for each test.
5142 const unsigned kErrorReportLimit = 8;
5143
5144 typedef void (MacroAssembler::*Fn)(Condition cond,
5145 Register rd,
5146 Register rn,
5147 const Operand& op);
5148
TestHelper(Fn instruction,const char * mnemonic,const TestResult reference[])5149 void TestHelper(Fn instruction,
5150 const char* mnemonic,
5151 const TestResult reference[]) {
5152 unsigned total_error_count = 0;
5153 MacroAssembler masm(BUF_SIZE);
5154
5155 masm.UseA32();
5156
5157 for (unsigned i = 0; i < ARRAY_SIZE(kTests); i++) {
5158 // Values to pass to the macro-assembler.
5159 Condition cond = kTests[i].operands.cond;
5160 Register rd = kTests[i].operands.rd;
5161 Register rn = kTests[i].operands.rn;
5162 Register rm = kTests[i].operands.rm;
5163 ShiftType shift = kTests[i].operands.shift;
5164 Register rs = kTests[i].operands.rs;
5165 Operand op(rm, shift, rs);
5166
5167 int32_t start = masm.GetCursorOffset();
5168 {
5169 // We never generate more that 4 bytes, as IT instructions are only
5170 // allowed for narrow encodings.
5171 ExactAssemblyScope scope(&masm, 4, ExactAssemblyScope::kMaximumSize);
5172 if (kTests[i].in_it_block) {
5173 masm.it(kTests[i].it_condition);
5174 }
5175 (masm.*instruction)(cond, rd, rn, op);
5176 }
5177 int32_t end = masm.GetCursorOffset();
5178
5179 const byte* result_ptr =
5180 masm.GetBuffer()->GetOffsetAddress<const byte*>(start);
5181 VIXL_ASSERT(start < end);
5182 uint32_t result_size = end - start;
5183
5184 if (Test::generate_test_trace()) {
5185 // Print the result bytes.
5186 printf("const byte kInstruction_%s_%s[] = {\n",
5187 mnemonic,
5188 kTests[i].identifier);
5189 for (uint32_t j = 0; j < result_size; j++) {
5190 if (j == 0) {
5191 printf(" 0x%02" PRIx8, result_ptr[j]);
5192 } else {
5193 printf(", 0x%02" PRIx8, result_ptr[j]);
5194 }
5195 }
5196 // This comment is meant to be used by external tools to validate
5197 // the encoding. We can parse the comment to figure out what
5198 // instruction this corresponds to.
5199 if (kTests[i].in_it_block) {
5200 printf(" // It %s; %s %s\n};\n",
5201 kTests[i].it_condition.GetName(),
5202 mnemonic,
5203 kTests[i].operands_description);
5204 } else {
5205 printf(" // %s %s\n};\n", mnemonic, kTests[i].operands_description);
5206 }
5207 } else {
5208 // Check we've emitted the exact same encoding as present in the
5209 // trace file. Only print up to `kErrorReportLimit` errors.
5210 if (((result_size != reference[i].size) ||
5211 (memcmp(result_ptr, reference[i].encoding, reference[i].size) !=
5212 0)) &&
5213 (++total_error_count <= kErrorReportLimit)) {
5214 printf("Error when testing \"%s\" with operands \"%s\":\n",
5215 mnemonic,
5216 kTests[i].operands_description);
5217 printf(" Expected: ");
5218 for (uint32_t j = 0; j < reference[i].size; j++) {
5219 if (j == 0) {
5220 printf("0x%02" PRIx8, reference[i].encoding[j]);
5221 } else {
5222 printf(", 0x%02" PRIx8, reference[i].encoding[j]);
5223 }
5224 }
5225 printf("\n");
5226 printf(" Found: ");
5227 for (uint32_t j = 0; j < result_size; j++) {
5228 if (j == 0) {
5229 printf("0x%02" PRIx8, result_ptr[j]);
5230 } else {
5231 printf(", 0x%02" PRIx8, result_ptr[j]);
5232 }
5233 }
5234 printf("\n");
5235 }
5236 }
5237 }
5238
5239 masm.FinalizeCode();
5240
5241 if (Test::generate_test_trace()) {
5242 // Finalize the trace file by writing the final `TestResult` array
5243 // which links all generated instruction encodings.
5244 printf("const TestResult kReference%s[] = {\n", mnemonic);
5245 for (unsigned i = 0; i < ARRAY_SIZE(kTests); i++) {
5246 printf(" {\n");
5247 printf(" ARRAY_SIZE(kInstruction_%s_%s),\n",
5248 mnemonic,
5249 kTests[i].identifier);
5250 printf(" kInstruction_%s_%s,\n", mnemonic, kTests[i].identifier);
5251 printf(" },\n");
5252 }
5253 printf("};\n");
5254 } else {
5255 if (total_error_count > kErrorReportLimit) {
5256 printf("%u other errors follow.\n",
5257 total_error_count - kErrorReportLimit);
5258 }
5259 // Crash if the test failed.
5260 VIXL_CHECK(total_error_count == 0);
5261 }
5262 }
5263
5264 // Instantiate tests for each instruction in the list.
5265 #define TEST(mnemonic) \
5266 void Test_##mnemonic() { \
5267 TestHelper(&MacroAssembler::mnemonic, #mnemonic, kReference##mnemonic); \
5268 } \
5269 Test test_##mnemonic( \
5270 "AARCH32_ASSEMBLER_COND_RD_RN_OPERAND_RM_SHIFT_RS_" #mnemonic "_A32", \
5271 &Test_##mnemonic);
5272 FOREACH_INSTRUCTION(TEST)
5273 #undef TEST
5274
5275 } // namespace
5276 #endif
5277
5278 } // namespace aarch32
5279 } // namespace vixl
5280