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[] = {{{al, r6, r8, r10, LSL, r12},
117 false,
118 al,
119 "al r6 r8 r10 LSL r12",
120 "al_r6_r8_r10_LSL_r12"},
121 {{hi, r5, r13, r6, LSL, r4},
122 false,
123 al,
124 "hi r5 r13 r6 LSL r4",
125 "hi_r5_r13_r6_LSL_r4"},
126 {{vs, r11, r0, r14, ROR, r1},
127 false,
128 al,
129 "vs r11 r0 r14 ROR r1",
130 "vs_r11_r0_r14_ROR_r1"},
131 {{vc, r5, r0, r11, ROR, r4},
132 false,
133 al,
134 "vc r5 r0 r11 ROR r4",
135 "vc_r5_r0_r11_ROR_r4"},
136 {{eq, r9, r7, r6, LSL, r1},
137 false,
138 al,
139 "eq r9 r7 r6 LSL r1",
140 "eq_r9_r7_r6_LSL_r1"},
141 {{cs, r12, r9, r12, LSR, r0},
142 false,
143 al,
144 "cs r12 r9 r12 LSR r0",
145 "cs_r12_r9_r12_LSR_r0"},
146 {{mi, r12, r3, r13, ASR, r3},
147 false,
148 al,
149 "mi r12 r3 r13 ASR r3",
150 "mi_r12_r3_r13_ASR_r3"},
151 {{vs, r13, r4, r0, LSR, r1},
152 false,
153 al,
154 "vs r13 r4 r0 LSR r1",
155 "vs_r13_r4_r0_LSR_r1"},
156 {{cc, r3, r7, r3, LSL, r13},
157 false,
158 al,
159 "cc r3 r7 r3 LSL r13",
160 "cc_r3_r7_r3_LSL_r13"},
161 {{le, r10, r1, r1, LSL, r6},
162 false,
163 al,
164 "le r10 r1 r1 LSL r6",
165 "le_r10_r1_r1_LSL_r6"},
166 {{vc, r0, r5, r14, ASR, r12},
167 false,
168 al,
169 "vc r0 r5 r14 ASR r12",
170 "vc_r0_r5_r14_ASR_r12"},
171 {{cc, r0, r8, r0, LSL, r3},
172 false,
173 al,
174 "cc r0 r8 r0 LSL r3",
175 "cc_r0_r8_r0_LSL_r3"},
176 {{le, r14, r6, r7, ASR, r1},
177 false,
178 al,
179 "le r14 r6 r7 ASR r1",
180 "le_r14_r6_r7_ASR_r1"},
181 {{le, r5, r2, r13, LSL, r3},
182 false,
183 al,
184 "le r5 r2 r13 LSL r3",
185 "le_r5_r2_r13_LSL_r3"},
186 {{hi, r6, r3, r0, ROR, r4},
187 false,
188 al,
189 "hi r6 r3 r0 ROR r4",
190 "hi_r6_r3_r0_ROR_r4"},
191 {{vs, r9, r5, r4, LSR, r0},
192 false,
193 al,
194 "vs r9 r5 r4 LSR r0",
195 "vs_r9_r5_r4_LSR_r0"},
196 {{eq, r3, r8, r2, LSR, r7},
197 false,
198 al,
199 "eq r3 r8 r2 LSR r7",
200 "eq_r3_r8_r2_LSR_r7"},
201 {{mi, r11, r14, r7, LSR, r5},
202 false,
203 al,
204 "mi r11 r14 r7 LSR r5",
205 "mi_r11_r14_r7_LSR_r5"},
206 {{ge, r1, r1, r9, LSR, r3},
207 false,
208 al,
209 "ge r1 r1 r9 LSR r3",
210 "ge_r1_r1_r9_LSR_r3"},
211 {{lt, r10, r10, r5, LSL, r8},
212 false,
213 al,
214 "lt r10 r10 r5 LSL r8",
215 "lt_r10_r10_r5_LSL_r8"},
216 {{ne, r4, r10, r9, ROR, r5},
217 false,
218 al,
219 "ne r4 r10 r9 ROR r5",
220 "ne_r4_r10_r9_ROR_r5"},
221 {{lt, r10, r4, r3, LSL, r0},
222 false,
223 al,
224 "lt r10 r4 r3 LSL r0",
225 "lt_r10_r4_r3_LSL_r0"},
226 {{pl, r1, r0, r1, ROR, r1},
227 false,
228 al,
229 "pl r1 r0 r1 ROR r1",
230 "pl_r1_r0_r1_ROR_r1"},
231 {{vs, r14, r14, r11, LSR, r6},
232 false,
233 al,
234 "vs r14 r14 r11 LSR r6",
235 "vs_r14_r14_r11_LSR_r6"},
236 {{lt, r4, r6, r12, LSL, r8},
237 false,
238 al,
239 "lt r4 r6 r12 LSL r8",
240 "lt_r4_r6_r12_LSL_r8"},
241 {{cs, r12, r3, r3, ASR, r2},
242 false,
243 al,
244 "cs r12 r3 r3 ASR r2",
245 "cs_r12_r3_r3_ASR_r2"},
246 {{ge, r7, r5, r1, LSL, r2},
247 false,
248 al,
249 "ge r7 r5 r1 LSL r2",
250 "ge_r7_r5_r1_LSL_r2"},
251 {{vs, r9, r10, r2, ASR, r9},
252 false,
253 al,
254 "vs r9 r10 r2 ASR r9",
255 "vs_r9_r10_r2_ASR_r9"},
256 {{gt, r5, r10, r4, LSL, r1},
257 false,
258 al,
259 "gt r5 r10 r4 LSL r1",
260 "gt_r5_r10_r4_LSL_r1"},
261 {{hi, r13, r7, r6, ASR, r4},
262 false,
263 al,
264 "hi r13 r7 r6 ASR r4",
265 "hi_r13_r7_r6_ASR_r4"},
266 {{hi, r8, r1, r6, LSR, r7},
267 false,
268 al,
269 "hi r8 r1 r6 LSR r7",
270 "hi_r8_r1_r6_LSR_r7"},
271 {{lt, r5, r8, r12, ROR, r0},
272 false,
273 al,
274 "lt r5 r8 r12 ROR r0",
275 "lt_r5_r8_r12_ROR_r0"},
276 {{hi, r4, r2, r14, LSR, r9},
277 false,
278 al,
279 "hi r4 r2 r14 LSR r9",
280 "hi_r4_r2_r14_LSR_r9"},
281 {{ge, r7, r9, r1, ASR, r1},
282 false,
283 al,
284 "ge r7 r9 r1 ASR r1",
285 "ge_r7_r9_r1_ASR_r1"},
286 {{vc, r13, r6, r7, LSL, r5},
287 false,
288 al,
289 "vc r13 r6 r7 LSL r5",
290 "vc_r13_r6_r7_LSL_r5"},
291 {{hi, r13, r14, r5, LSR, r10},
292 false,
293 al,
294 "hi r13 r14 r5 LSR r10",
295 "hi_r13_r14_r5_LSR_r10"},
296 {{cc, r8, r1, r5, ROR, r8},
297 false,
298 al,
299 "cc r8 r1 r5 ROR r8",
300 "cc_r8_r1_r5_ROR_r8"},
301 {{mi, r6, r12, r4, ASR, r9},
302 false,
303 al,
304 "mi r6 r12 r4 ASR r9",
305 "mi_r6_r12_r4_ASR_r9"},
306 {{cs, r12, r0, r12, LSL, r9},
307 false,
308 al,
309 "cs r12 r0 r12 LSL r9",
310 "cs_r12_r0_r12_LSL_r9"},
311 {{ls, r3, r14, r1, LSL, r14},
312 false,
313 al,
314 "ls r3 r14 r1 LSL r14",
315 "ls_r3_r14_r1_LSL_r14"},
316 {{vs, r1, r10, r1, LSR, r7},
317 false,
318 al,
319 "vs r1 r10 r1 LSR r7",
320 "vs_r1_r10_r1_LSR_r7"},
321 {{pl, r0, r9, r6, ASR, r4},
322 false,
323 al,
324 "pl r0 r9 r6 ASR r4",
325 "pl_r0_r9_r6_ASR_r4"},
326 {{al, r13, r13, r3, LSR, r2},
327 false,
328 al,
329 "al r13 r13 r3 LSR r2",
330 "al_r13_r13_r3_LSR_r2"},
331 {{le, r4, r3, r7, LSL, r5},
332 false,
333 al,
334 "le r4 r3 r7 LSL r5",
335 "le_r4_r3_r7_LSL_r5"},
336 {{vc, r11, r9, r14, LSR, r12},
337 false,
338 al,
339 "vc r11 r9 r14 LSR r12",
340 "vc_r11_r9_r14_LSR_r12"},
341 {{le, r1, r7, r10, ROR, r7},
342 false,
343 al,
344 "le r1 r7 r10 ROR r7",
345 "le_r1_r7_r10_ROR_r7"},
346 {{al, r10, r4, r5, ASR, r13},
347 false,
348 al,
349 "al r10 r4 r5 ASR r13",
350 "al_r10_r4_r5_ASR_r13"},
351 {{cs, r9, r9, r7, LSL, r11},
352 false,
353 al,
354 "cs r9 r9 r7 LSL r11",
355 "cs_r9_r9_r7_LSL_r11"},
356 {{hi, r12, r4, r6, LSR, r9},
357 false,
358 al,
359 "hi r12 r4 r6 LSR r9",
360 "hi_r12_r4_r6_LSR_r9"},
361 {{ne, r7, r11, r1, ROR, r2},
362 false,
363 al,
364 "ne r7 r11 r1 ROR r2",
365 "ne_r7_r11_r1_ROR_r2"},
366 {{ne, r3, r13, r5, LSR, r6},
367 false,
368 al,
369 "ne r3 r13 r5 LSR r6",
370 "ne_r3_r13_r5_LSR_r6"},
371 {{cc, r13, r9, r7, ASR, r4},
372 false,
373 al,
374 "cc r13 r9 r7 ASR r4",
375 "cc_r13_r9_r7_ASR_r4"},
376 {{al, r6, r13, r7, LSL, r13},
377 false,
378 al,
379 "al r6 r13 r7 LSL r13",
380 "al_r6_r13_r7_LSL_r13"},
381 {{ge, r1, r6, r6, ROR, r12},
382 false,
383 al,
384 "ge r1 r6 r6 ROR r12",
385 "ge_r1_r6_r6_ROR_r12"},
386 {{al, r6, r10, r0, ASR, r8},
387 false,
388 al,
389 "al r6 r10 r0 ASR r8",
390 "al_r6_r10_r0_ASR_r8"},
391 {{le, r5, r13, r4, ASR, r8},
392 false,
393 al,
394 "le r5 r13 r4 ASR r8",
395 "le_r5_r13_r4_ASR_r8"},
396 {{gt, r5, r1, r4, LSR, r6},
397 false,
398 al,
399 "gt r5 r1 r4 LSR r6",
400 "gt_r5_r1_r4_LSR_r6"},
401 {{cs, r2, r10, r14, ROR, r13},
402 false,
403 al,
404 "cs r2 r10 r14 ROR r13",
405 "cs_r2_r10_r14_ROR_r13"},
406 {{le, r2, r7, r0, ROR, r7},
407 false,
408 al,
409 "le r2 r7 r0 ROR r7",
410 "le_r2_r7_r0_ROR_r7"},
411 {{al, r12, r7, r13, ASR, r7},
412 false,
413 al,
414 "al r12 r7 r13 ASR r7",
415 "al_r12_r7_r13_ASR_r7"},
416 {{le, r10, r3, r2, LSR, r13},
417 false,
418 al,
419 "le r10 r3 r2 LSR r13",
420 "le_r10_r3_r2_LSR_r13"},
421 {{al, r2, r14, r11, ROR, r0},
422 false,
423 al,
424 "al r2 r14 r11 ROR r0",
425 "al_r2_r14_r11_ROR_r0"},
426 {{eq, r11, r1, r6, ASR, r10},
427 false,
428 al,
429 "eq r11 r1 r6 ASR r10",
430 "eq_r11_r1_r6_ASR_r10"},
431 {{vs, r11, r9, r5, LSL, r10},
432 false,
433 al,
434 "vs r11 r9 r5 LSL r10",
435 "vs_r11_r9_r5_LSL_r10"},
436 {{ne, r14, r8, r4, LSL, r8},
437 false,
438 al,
439 "ne r14 r8 r4 LSL r8",
440 "ne_r14_r8_r4_LSL_r8"},
441 {{vs, r0, r7, r5, ASR, r1},
442 false,
443 al,
444 "vs r0 r7 r5 ASR r1",
445 "vs_r0_r7_r5_ASR_r1"},
446 {{ne, r12, r6, r1, LSR, r12},
447 false,
448 al,
449 "ne r12 r6 r1 LSR r12",
450 "ne_r12_r6_r1_LSR_r12"},
451 {{vs, r8, r4, r12, ASR, r1},
452 false,
453 al,
454 "vs r8 r4 r12 ASR r1",
455 "vs_r8_r4_r12_ASR_r1"},
456 {{pl, r9, r14, r1, LSL, r13},
457 false,
458 al,
459 "pl r9 r14 r1 LSL r13",
460 "pl_r9_r14_r1_LSL_r13"},
461 {{pl, r3, r0, r10, LSR, r0},
462 false,
463 al,
464 "pl r3 r0 r10 LSR r0",
465 "pl_r3_r0_r10_LSR_r0"},
466 {{pl, r13, r9, r5, LSL, r0},
467 false,
468 al,
469 "pl r13 r9 r5 LSL r0",
470 "pl_r13_r9_r5_LSL_r0"},
471 {{vs, r2, r3, r13, ROR, r11},
472 false,
473 al,
474 "vs r2 r3 r13 ROR r11",
475 "vs_r2_r3_r13_ROR_r11"},
476 {{ls, r8, r2, r1, LSL, r5},
477 false,
478 al,
479 "ls r8 r2 r1 LSL r5",
480 "ls_r8_r2_r1_LSL_r5"},
481 {{vs, r6, r7, r10, LSL, r1},
482 false,
483 al,
484 "vs r6 r7 r10 LSL r1",
485 "vs_r6_r7_r10_LSL_r1"},
486 {{ge, r10, r8, r7, LSL, r5},
487 false,
488 al,
489 "ge r10 r8 r7 LSL r5",
490 "ge_r10_r8_r7_LSL_r5"},
491 {{ge, r6, r11, r13, ROR, r7},
492 false,
493 al,
494 "ge r6 r11 r13 ROR r7",
495 "ge_r6_r11_r13_ROR_r7"},
496 {{eq, r10, r4, r4, LSL, r14},
497 false,
498 al,
499 "eq r10 r4 r4 LSL r14",
500 "eq_r10_r4_r4_LSL_r14"},
501 {{cc, r13, r6, r0, LSR, r9},
502 false,
503 al,
504 "cc r13 r6 r0 LSR r9",
505 "cc_r13_r6_r0_LSR_r9"},
506 {{gt, r8, r7, r0, ASR, r3},
507 false,
508 al,
509 "gt r8 r7 r0 ASR r3",
510 "gt_r8_r7_r0_ASR_r3"},
511 {{pl, r11, r7, r0, ROR, r14},
512 false,
513 al,
514 "pl r11 r7 r0 ROR r14",
515 "pl_r11_r7_r0_ROR_r14"},
516 {{vc, r3, r10, r0, LSR, r10},
517 false,
518 al,
519 "vc r3 r10 r0 LSR r10",
520 "vc_r3_r10_r0_LSR_r10"},
521 {{vs, r6, r3, r9, LSR, r12},
522 false,
523 al,
524 "vs r6 r3 r9 LSR r12",
525 "vs_r6_r3_r9_LSR_r12"},
526 {{hi, r5, r3, r3, ROR, r1},
527 false,
528 al,
529 "hi r5 r3 r3 ROR r1",
530 "hi_r5_r3_r3_ROR_r1"},
531 {{mi, r9, r10, r0, ROR, r4},
532 false,
533 al,
534 "mi r9 r10 r0 ROR r4",
535 "mi_r9_r10_r0_ROR_r4"},
536 {{cc, r5, r13, r6, LSL, r6},
537 false,
538 al,
539 "cc r5 r13 r6 LSL r6",
540 "cc_r5_r13_r6_LSL_r6"},
541 {{le, r1, r4, r0, LSL, r5},
542 false,
543 al,
544 "le r1 r4 r0 LSL r5",
545 "le_r1_r4_r0_LSL_r5"},
546 {{mi, r11, r1, r5, LSL, r13},
547 false,
548 al,
549 "mi r11 r1 r5 LSL r13",
550 "mi_r11_r1_r5_LSL_r13"},
551 {{ne, r14, r1, r10, LSR, r4},
552 false,
553 al,
554 "ne r14 r1 r10 LSR r4",
555 "ne_r14_r1_r10_LSR_r4"},
556 {{le, r11, r5, r6, ASR, r1},
557 false,
558 al,
559 "le r11 r5 r6 ASR r1",
560 "le_r11_r5_r6_ASR_r1"},
561 {{al, r0, r9, r5, ASR, r1},
562 false,
563 al,
564 "al r0 r9 r5 ASR r1",
565 "al_r0_r9_r5_ASR_r1"},
566 {{ne, r6, r13, r4, LSL, r11},
567 false,
568 al,
569 "ne r6 r13 r4 LSL r11",
570 "ne_r6_r13_r4_LSL_r11"},
571 {{pl, r10, r4, r14, ROR, r8},
572 false,
573 al,
574 "pl r10 r4 r14 ROR r8",
575 "pl_r10_r4_r14_ROR_r8"},
576 {{cs, r1, r8, r5, ASR, r14},
577 false,
578 al,
579 "cs r1 r8 r5 ASR r14",
580 "cs_r1_r8_r5_ASR_r14"},
581 {{ls, r12, r1, r3, LSL, r7},
582 false,
583 al,
584 "ls r12 r1 r3 LSL r7",
585 "ls_r12_r1_r3_LSL_r7"},
586 {{pl, r11, r3, r8, ROR, r10},
587 false,
588 al,
589 "pl r11 r3 r8 ROR r10",
590 "pl_r11_r3_r8_ROR_r10"},
591 {{ge, r7, r7, r5, ROR, r7},
592 false,
593 al,
594 "ge r7 r7 r5 ROR r7",
595 "ge_r7_r7_r5_ROR_r7"},
596 {{ls, r2, r11, r7, LSR, r11},
597 false,
598 al,
599 "ls r2 r11 r7 LSR r11",
600 "ls_r2_r11_r7_LSR_r11"},
601 {{le, r9, r11, r9, ASR, r2},
602 false,
603 al,
604 "le r9 r11 r9 ASR r2",
605 "le_r9_r11_r9_ASR_r2"},
606 {{mi, r7, r7, r4, ASR, r1},
607 false,
608 al,
609 "mi r7 r7 r4 ASR r1",
610 "mi_r7_r7_r4_ASR_r1"},
611 {{cc, r7, r1, r0, ROR, r7},
612 false,
613 al,
614 "cc r7 r1 r0 ROR r7",
615 "cc_r7_r1_r0_ROR_r7"},
616 {{vs, r12, r12, r1, LSR, r10},
617 false,
618 al,
619 "vs r12 r12 r1 LSR r10",
620 "vs_r12_r12_r1_LSR_r10"},
621 {{hi, r3, r10, r12, LSR, r4},
622 false,
623 al,
624 "hi r3 r10 r12 LSR r4",
625 "hi_r3_r10_r12_LSR_r4"},
626 {{cs, r0, r14, r3, ASR, r6},
627 false,
628 al,
629 "cs r0 r14 r3 ASR r6",
630 "cs_r0_r14_r3_ASR_r6"},
631 {{ls, r7, r11, r6, ROR, r1},
632 false,
633 al,
634 "ls r7 r11 r6 ROR r1",
635 "ls_r7_r11_r6_ROR_r1"},
636 {{cs, r9, r3, r14, LSR, r0},
637 false,
638 al,
639 "cs r9 r3 r14 LSR r0",
640 "cs_r9_r3_r14_LSR_r0"},
641 {{gt, r8, r3, r11, LSL, r12},
642 false,
643 al,
644 "gt r8 r3 r11 LSL r12",
645 "gt_r8_r3_r11_LSL_r12"},
646 {{cs, r12, r6, r5, LSR, r11},
647 false,
648 al,
649 "cs r12 r6 r5 LSR r11",
650 "cs_r12_r6_r5_LSR_r11"},
651 {{gt, r3, r10, r1, ROR, r14},
652 false,
653 al,
654 "gt r3 r10 r1 ROR r14",
655 "gt_r3_r10_r1_ROR_r14"},
656 {{le, r8, r4, r3, ASR, r1},
657 false,
658 al,
659 "le r8 r4 r3 ASR r1",
660 "le_r8_r4_r3_ASR_r1"},
661 {{ne, r6, r8, r5, ROR, r11},
662 false,
663 al,
664 "ne r6 r8 r5 ROR r11",
665 "ne_r6_r8_r5_ROR_r11"},
666 {{al, r9, r1, r11, ROR, r3},
667 false,
668 al,
669 "al r9 r1 r11 ROR r3",
670 "al_r9_r1_r11_ROR_r3"},
671 {{ge, r13, r8, r11, ROR, r8},
672 false,
673 al,
674 "ge r13 r8 r11 ROR r8",
675 "ge_r13_r8_r11_ROR_r8"},
676 {{pl, r0, r1, r2, LSR, r9},
677 false,
678 al,
679 "pl r0 r1 r2 LSR r9",
680 "pl_r0_r1_r2_LSR_r9"},
681 {{pl, r6, r7, r13, LSL, r11},
682 false,
683 al,
684 "pl r6 r7 r13 LSL r11",
685 "pl_r6_r7_r13_LSL_r11"},
686 {{vs, r10, r9, r13, LSR, r13},
687 false,
688 al,
689 "vs r10 r9 r13 LSR r13",
690 "vs_r10_r9_r13_LSR_r13"},
691 {{le, r0, r7, r13, ROR, r9},
692 false,
693 al,
694 "le r0 r7 r13 ROR r9",
695 "le_r0_r7_r13_ROR_r9"},
696 {{gt, r1, r14, r12, LSR, r8},
697 false,
698 al,
699 "gt r1 r14 r12 LSR r8",
700 "gt_r1_r14_r12_LSR_r8"},
701 {{ls, r14, r12, r7, LSR, r14},
702 false,
703 al,
704 "ls r14 r12 r7 LSR r14",
705 "ls_r14_r12_r7_LSR_r14"},
706 {{cs, r9, r5, r3, ASR, r9},
707 false,
708 al,
709 "cs r9 r5 r3 ASR r9",
710 "cs_r9_r5_r3_ASR_r9"},
711 {{gt, r7, r11, r11, ASR, r14},
712 false,
713 al,
714 "gt r7 r11 r11 ASR r14",
715 "gt_r7_r11_r11_ASR_r14"},
716 {{pl, r10, r14, r12, LSL, r11},
717 false,
718 al,
719 "pl r10 r14 r12 LSL r11",
720 "pl_r10_r14_r12_LSL_r11"},
721 {{mi, r5, r5, r10, LSL, r13},
722 false,
723 al,
724 "mi r5 r5 r10 LSL r13",
725 "mi_r5_r5_r10_LSL_r13"},
726 {{hi, r2, r13, r12, ASR, r10},
727 false,
728 al,
729 "hi r2 r13 r12 ASR r10",
730 "hi_r2_r13_r12_ASR_r10"},
731 {{ge, r13, r9, r12, LSR, r11},
732 false,
733 al,
734 "ge r13 r9 r12 LSR r11",
735 "ge_r13_r9_r12_LSR_r11"},
736 {{ls, r9, r3, r7, ROR, r14},
737 false,
738 al,
739 "ls r9 r3 r7 ROR r14",
740 "ls_r9_r3_r7_ROR_r14"},
741 {{al, r2, r12, r9, ROR, r10},
742 false,
743 al,
744 "al r2 r12 r9 ROR r10",
745 "al_r2_r12_r9_ROR_r10"},
746 {{al, r10, r6, r11, ASR, r14},
747 false,
748 al,
749 "al r10 r6 r11 ASR r14",
750 "al_r10_r6_r11_ASR_r14"},
751 {{pl, r8, r3, r9, ASR, r13},
752 false,
753 al,
754 "pl r8 r3 r9 ASR r13",
755 "pl_r8_r3_r9_ASR_r13"},
756 {{al, r0, r1, r10, ROR, r11},
757 false,
758 al,
759 "al r0 r1 r10 ROR r11",
760 "al_r0_r1_r10_ROR_r11"},
761 {{gt, r10, r6, r10, ASR, r7},
762 false,
763 al,
764 "gt r10 r6 r10 ASR r7",
765 "gt_r10_r6_r10_ASR_r7"},
766 {{pl, r7, r10, r14, LSR, r4},
767 false,
768 al,
769 "pl r7 r10 r14 LSR r4",
770 "pl_r7_r10_r14_LSR_r4"},
771 {{cs, r13, r5, r9, LSL, r5},
772 false,
773 al,
774 "cs r13 r5 r9 LSL r5",
775 "cs_r13_r5_r9_LSL_r5"},
776 {{gt, r11, r14, r9, LSR, r4},
777 false,
778 al,
779 "gt r11 r14 r9 LSR r4",
780 "gt_r11_r14_r9_LSR_r4"},
781 {{mi, r9, r6, r9, ASR, r7},
782 false,
783 al,
784 "mi r9 r6 r9 ASR r7",
785 "mi_r9_r6_r9_ASR_r7"},
786 {{ls, r14, r12, r14, LSR, r4},
787 false,
788 al,
789 "ls r14 r12 r14 LSR r4",
790 "ls_r14_r12_r14_LSR_r4"},
791 {{al, r8, r5, r14, LSR, r1},
792 false,
793 al,
794 "al r8 r5 r14 LSR r1",
795 "al_r8_r5_r14_LSR_r1"},
796 {{le, r7, r10, r10, LSL, r14},
797 false,
798 al,
799 "le r7 r10 r10 LSL r14",
800 "le_r7_r10_r10_LSL_r14"},
801 {{pl, r7, r9, r5, ROR, r8},
802 false,
803 al,
804 "pl r7 r9 r5 ROR r8",
805 "pl_r7_r9_r5_ROR_r8"},
806 {{mi, r1, r6, r12, LSL, r0},
807 false,
808 al,
809 "mi r1 r6 r12 LSL r0",
810 "mi_r1_r6_r12_LSL_r0"},
811 {{ls, r9, r8, r2, LSL, r8},
812 false,
813 al,
814 "ls r9 r8 r2 LSL r8",
815 "ls_r9_r8_r2_LSL_r8"},
816 {{ge, r8, r6, r2, LSR, r3},
817 false,
818 al,
819 "ge r8 r6 r2 LSR r3",
820 "ge_r8_r6_r2_LSR_r3"},
821 {{al, r8, r6, r8, LSL, r7},
822 false,
823 al,
824 "al r8 r6 r8 LSL r7",
825 "al_r8_r6_r8_LSL_r7"},
826 {{ls, r2, r6, r14, LSL, r8},
827 false,
828 al,
829 "ls r2 r6 r14 LSL r8",
830 "ls_r2_r6_r14_LSL_r8"},
831 {{lt, r12, r9, r5, ROR, r10},
832 false,
833 al,
834 "lt r12 r9 r5 ROR r10",
835 "lt_r12_r9_r5_ROR_r10"},
836 {{ls, r7, r12, r5, ASR, r14},
837 false,
838 al,
839 "ls r7 r12 r5 ASR r14",
840 "ls_r7_r12_r5_ASR_r14"},
841 {{cc, r0, r4, r13, ASR, r12},
842 false,
843 al,
844 "cc r0 r4 r13 ASR r12",
845 "cc_r0_r4_r13_ASR_r12"},
846 {{vc, r10, r14, r5, ROR, r1},
847 false,
848 al,
849 "vc r10 r14 r5 ROR r1",
850 "vc_r10_r14_r5_ROR_r1"},
851 {{cs, r13, r3, r2, LSR, r13},
852 false,
853 al,
854 "cs r13 r3 r2 LSR r13",
855 "cs_r13_r3_r2_LSR_r13"},
856 {{le, r1, r11, r4, ASR, r7},
857 false,
858 al,
859 "le r1 r11 r4 ASR r7",
860 "le_r1_r11_r4_ASR_r7"},
861 {{cc, r0, r13, r3, ASR, r1},
862 false,
863 al,
864 "cc r0 r13 r3 ASR r1",
865 "cc_r0_r13_r3_ASR_r1"},
866 {{le, r0, r1, r11, ROR, r6},
867 false,
868 al,
869 "le r0 r1 r11 ROR r6",
870 "le_r0_r1_r11_ROR_r6"},
871 {{ls, r8, r14, r12, LSR, r8},
872 false,
873 al,
874 "ls r8 r14 r12 LSR r8",
875 "ls_r8_r14_r12_LSR_r8"},
876 {{ne, r5, r0, r7, ASR, r9},
877 false,
878 al,
879 "ne r5 r0 r7 ASR r9",
880 "ne_r5_r0_r7_ASR_r9"},
881 {{vs, r2, r12, r3, ROR, r7},
882 false,
883 al,
884 "vs r2 r12 r3 ROR r7",
885 "vs_r2_r12_r3_ROR_r7"},
886 {{ne, r8, r9, r0, LSR, r10},
887 false,
888 al,
889 "ne r8 r9 r0 LSR r10",
890 "ne_r8_r9_r0_LSR_r10"},
891 {{pl, r8, r6, r8, ASR, r1},
892 false,
893 al,
894 "pl r8 r6 r8 ASR r1",
895 "pl_r8_r6_r8_ASR_r1"},
896 {{vc, r13, r1, r0, ASR, r13},
897 false,
898 al,
899 "vc r13 r1 r0 ASR r13",
900 "vc_r13_r1_r0_ASR_r13"},
901 {{vc, r9, r3, r1, LSL, r6},
902 false,
903 al,
904 "vc r9 r3 r1 LSL r6",
905 "vc_r9_r3_r1_LSL_r6"},
906 {{pl, r0, r2, r4, LSL, r1},
907 false,
908 al,
909 "pl r0 r2 r4 LSL r1",
910 "pl_r0_r2_r4_LSL_r1"},
911 {{lt, r14, r8, r13, LSR, r7},
912 false,
913 al,
914 "lt r14 r8 r13 LSR r7",
915 "lt_r14_r8_r13_LSR_r7"},
916 {{pl, r4, r9, r6, LSL, r3},
917 false,
918 al,
919 "pl r4 r9 r6 LSL r3",
920 "pl_r4_r9_r6_LSL_r3"},
921 {{hi, r0, r4, r10, LSR, r9},
922 false,
923 al,
924 "hi r0 r4 r10 LSR r9",
925 "hi_r0_r4_r10_LSR_r9"},
926 {{ne, r0, r11, r9, ASR, r14},
927 false,
928 al,
929 "ne r0 r11 r9 ASR r14",
930 "ne_r0_r11_r9_ASR_r14"},
931 {{vs, r2, r8, r2, LSL, r12},
932 false,
933 al,
934 "vs r2 r8 r2 LSL r12",
935 "vs_r2_r8_r2_LSL_r12"},
936 {{lt, r2, r0, r7, ROR, r9},
937 false,
938 al,
939 "lt r2 r0 r7 ROR r9",
940 "lt_r2_r0_r7_ROR_r9"},
941 {{gt, r10, r6, r12, ASR, r2},
942 false,
943 al,
944 "gt r10 r6 r12 ASR r2",
945 "gt_r10_r6_r12_ASR_r2"},
946 {{ne, r3, r2, r8, ASR, r6},
947 false,
948 al,
949 "ne r3 r2 r8 ASR r6",
950 "ne_r3_r2_r8_ASR_r6"},
951 {{ls, r6, r3, r12, ASR, r7},
952 false,
953 al,
954 "ls r6 r3 r12 ASR r7",
955 "ls_r6_r3_r12_ASR_r7"},
956 {{cs, r8, r4, r2, LSL, r3},
957 false,
958 al,
959 "cs r8 r4 r2 LSL r3",
960 "cs_r8_r4_r2_LSL_r3"},
961 {{eq, r12, r9, r4, ASR, r11},
962 false,
963 al,
964 "eq r12 r9 r4 ASR r11",
965 "eq_r12_r9_r4_ASR_r11"},
966 {{lt, r10, r4, r5, ROR, r13},
967 false,
968 al,
969 "lt r10 r4 r5 ROR r13",
970 "lt_r10_r4_r5_ROR_r13"},
971 {{pl, r9, r9, r13, LSL, r11},
972 false,
973 al,
974 "pl r9 r9 r13 LSL r11",
975 "pl_r9_r9_r13_LSL_r11"},
976 {{lt, r2, r12, r13, ASR, r9},
977 false,
978 al,
979 "lt r2 r12 r13 ASR r9",
980 "lt_r2_r12_r13_ASR_r9"},
981 {{ls, r1, r12, r8, LSL, r3},
982 false,
983 al,
984 "ls r1 r12 r8 LSL r3",
985 "ls_r1_r12_r8_LSL_r3"},
986 {{vs, r0, r1, r4, ASR, r11},
987 false,
988 al,
989 "vs r0 r1 r4 ASR r11",
990 "vs_r0_r1_r4_ASR_r11"},
991 {{vc, r2, r8, r9, LSR, r12},
992 false,
993 al,
994 "vc r2 r8 r9 LSR r12",
995 "vc_r2_r8_r9_LSR_r12"},
996 {{ne, r14, r12, r3, ASR, r9},
997 false,
998 al,
999 "ne r14 r12 r3 ASR r9",
1000 "ne_r14_r12_r3_ASR_r9"},
1001 {{gt, r14, r5, r12, LSL, r9},
1002 false,
1003 al,
1004 "gt r14 r5 r12 LSL r9",
1005 "gt_r14_r5_r12_LSL_r9"},
1006 {{ls, r5, r8, r2, LSR, r5},
1007 false,
1008 al,
1009 "ls r5 r8 r2 LSR r5",
1010 "ls_r5_r8_r2_LSR_r5"},
1011 {{cs, r12, r5, r3, ROR, r8},
1012 false,
1013 al,
1014 "cs r12 r5 r3 ROR r8",
1015 "cs_r12_r5_r3_ROR_r8"},
1016 {{vs, r5, r11, r5, ROR, r9},
1017 false,
1018 al,
1019 "vs r5 r11 r5 ROR r9",
1020 "vs_r5_r11_r5_ROR_r9"},
1021 {{lt, r4, r14, r11, LSL, r0},
1022 false,
1023 al,
1024 "lt r4 r14 r11 LSL r0",
1025 "lt_r4_r14_r11_LSL_r0"},
1026 {{eq, r1, r0, r14, ROR, r13},
1027 false,
1028 al,
1029 "eq r1 r0 r14 ROR r13",
1030 "eq_r1_r0_r14_ROR_r13"},
1031 {{ge, r12, r1, r13, LSR, r2},
1032 false,
1033 al,
1034 "ge r12 r1 r13 LSR r2",
1035 "ge_r12_r1_r13_LSR_r2"},
1036 {{pl, r12, r8, r4, LSL, r9},
1037 false,
1038 al,
1039 "pl r12 r8 r4 LSL r9",
1040 "pl_r12_r8_r4_LSL_r9"},
1041 {{eq, r7, r6, r6, LSR, r2},
1042 false,
1043 al,
1044 "eq r7 r6 r6 LSR r2",
1045 "eq_r7_r6_r6_LSR_r2"},
1046 {{ls, r3, r4, r4, LSL, r9},
1047 false,
1048 al,
1049 "ls r3 r4 r4 LSL r9",
1050 "ls_r3_r4_r4_LSL_r9"},
1051 {{eq, r7, r2, r0, LSR, r6},
1052 false,
1053 al,
1054 "eq r7 r2 r0 LSR r6",
1055 "eq_r7_r2_r0_LSR_r6"},
1056 {{eq, r3, r13, r4, ROR, r7},
1057 false,
1058 al,
1059 "eq r3 r13 r4 ROR r7",
1060 "eq_r3_r13_r4_ROR_r7"},
1061 {{eq, r12, r6, r9, LSR, r0},
1062 false,
1063 al,
1064 "eq r12 r6 r9 LSR r0",
1065 "eq_r12_r6_r9_LSR_r0"},
1066 {{lt, r13, r10, r0, LSL, r10},
1067 false,
1068 al,
1069 "lt r13 r10 r0 LSL r10",
1070 "lt_r13_r10_r0_LSL_r10"},
1071 {{ls, r12, r14, r13, ROR, r6},
1072 false,
1073 al,
1074 "ls r12 r14 r13 ROR r6",
1075 "ls_r12_r14_r13_ROR_r6"},
1076 {{ls, r6, r3, r2, LSR, r3},
1077 false,
1078 al,
1079 "ls r6 r3 r2 LSR r3",
1080 "ls_r6_r3_r2_LSR_r3"},
1081 {{lt, r13, r6, r4, ROR, r11},
1082 false,
1083 al,
1084 "lt r13 r6 r4 ROR r11",
1085 "lt_r13_r6_r4_ROR_r11"},
1086 {{eq, r7, r9, r1, ROR, r12},
1087 false,
1088 al,
1089 "eq r7 r9 r1 ROR r12",
1090 "eq_r7_r9_r1_ROR_r12"},
1091 {{pl, r12, r13, r3, LSL, r5},
1092 false,
1093 al,
1094 "pl r12 r13 r3 LSL r5",
1095 "pl_r12_r13_r3_LSL_r5"},
1096 {{vs, r1, r3, r3, LSR, r9},
1097 false,
1098 al,
1099 "vs r1 r3 r3 LSR r9",
1100 "vs_r1_r3_r3_LSR_r9"},
1101 {{pl, r3, r11, r12, ASR, r8},
1102 false,
1103 al,
1104 "pl r3 r11 r12 ASR r8",
1105 "pl_r3_r11_r12_ASR_r8"},
1106 {{ne, r0, r3, r13, ASR, r11},
1107 false,
1108 al,
1109 "ne r0 r3 r13 ASR r11",
1110 "ne_r0_r3_r13_ASR_r11"},
1111 {{ge, r13, r5, r3, LSR, r11},
1112 false,
1113 al,
1114 "ge r13 r5 r3 LSR r11",
1115 "ge_r13_r5_r3_LSR_r11"},
1116 {{al, r0, r6, r9, LSR, r1},
1117 false,
1118 al,
1119 "al r0 r6 r9 LSR r1",
1120 "al_r0_r6_r9_LSR_r1"},
1121 {{ls, r3, r3, r5, LSR, r9},
1122 false,
1123 al,
1124 "ls r3 r3 r5 LSR r9",
1125 "ls_r3_r3_r5_LSR_r9"},
1126 {{mi, r13, r3, r7, ASR, r0},
1127 false,
1128 al,
1129 "mi r13 r3 r7 ASR r0",
1130 "mi_r13_r3_r7_ASR_r0"},
1131 {{vc, r1, r5, r10, LSL, r6},
1132 false,
1133 al,
1134 "vc r1 r5 r10 LSL r6",
1135 "vc_r1_r5_r10_LSL_r6"},
1136 {{eq, r9, r13, r6, LSL, r0},
1137 false,
1138 al,
1139 "eq r9 r13 r6 LSL r0",
1140 "eq_r9_r13_r6_LSL_r0"},
1141 {{cs, r14, r11, r9, ASR, r8},
1142 false,
1143 al,
1144 "cs r14 r11 r9 ASR r8",
1145 "cs_r14_r11_r9_ASR_r8"},
1146 {{pl, r2, r3, r4, LSL, r1},
1147 false,
1148 al,
1149 "pl r2 r3 r4 LSL r1",
1150 "pl_r2_r3_r4_LSL_r1"},
1151 {{vc, r0, r2, r13, ASR, r14},
1152 false,
1153 al,
1154 "vc r0 r2 r13 ASR r14",
1155 "vc_r0_r2_r13_ASR_r14"},
1156 {{le, r10, r7, r13, ROR, r6},
1157 false,
1158 al,
1159 "le r10 r7 r13 ROR r6",
1160 "le_r10_r7_r13_ROR_r6"},
1161 {{hi, r12, r6, r1, LSL, r0},
1162 false,
1163 al,
1164 "hi r12 r6 r1 LSL r0",
1165 "hi_r12_r6_r1_LSL_r0"},
1166 {{ls, r10, r12, r12, ROR, r4},
1167 false,
1168 al,
1169 "ls r10 r12 r12 ROR r4",
1170 "ls_r10_r12_r12_ROR_r4"},
1171 {{gt, r13, r4, r11, LSL, r2},
1172 false,
1173 al,
1174 "gt r13 r4 r11 LSL r2",
1175 "gt_r13_r4_r11_LSL_r2"},
1176 {{ne, r13, r10, r5, LSR, r9},
1177 false,
1178 al,
1179 "ne r13 r10 r5 LSR r9",
1180 "ne_r13_r10_r5_LSR_r9"},
1181 {{ge, r0, r0, r9, LSR, r5},
1182 false,
1183 al,
1184 "ge r0 r0 r9 LSR r5",
1185 "ge_r0_r0_r9_LSR_r5"},
1186 {{vs, r7, r8, r13, ROR, r4},
1187 false,
1188 al,
1189 "vs r7 r8 r13 ROR r4",
1190 "vs_r7_r8_r13_ROR_r4"},
1191 {{cc, r1, r2, r8, LSL, r6},
1192 false,
1193 al,
1194 "cc r1 r2 r8 LSL r6",
1195 "cc_r1_r2_r8_LSL_r6"},
1196 {{le, r7, r11, r3, LSL, r4},
1197 false,
1198 al,
1199 "le r7 r11 r3 LSL r4",
1200 "le_r7_r11_r3_LSL_r4"},
1201 {{hi, r11, r7, r3, LSL, r14},
1202 false,
1203 al,
1204 "hi r11 r7 r3 LSL r14",
1205 "hi_r11_r7_r3_LSL_r14"},
1206 {{ge, r12, r4, r5, ASR, r8},
1207 false,
1208 al,
1209 "ge r12 r4 r5 ASR r8",
1210 "ge_r12_r4_r5_ASR_r8"},
1211 {{vc, r12, r5, r13, LSL, r1},
1212 false,
1213 al,
1214 "vc r12 r5 r13 LSL r1",
1215 "vc_r12_r5_r13_LSL_r1"},
1216 {{ls, r0, r8, r3, LSR, r3},
1217 false,
1218 al,
1219 "ls r0 r8 r3 LSR r3",
1220 "ls_r0_r8_r3_LSR_r3"},
1221 {{cs, r2, r0, r11, ASR, r5},
1222 false,
1223 al,
1224 "cs r2 r0 r11 ASR r5",
1225 "cs_r2_r0_r11_ASR_r5"},
1226 {{mi, r9, r1, r2, ASR, r2},
1227 false,
1228 al,
1229 "mi r9 r1 r2 ASR r2",
1230 "mi_r9_r1_r2_ASR_r2"},
1231 {{pl, r7, r10, r13, LSR, r8},
1232 false,
1233 al,
1234 "pl r7 r10 r13 LSR r8",
1235 "pl_r7_r10_r13_LSR_r8"},
1236 {{ne, r12, r14, r10, ROR, r1},
1237 false,
1238 al,
1239 "ne r12 r14 r10 ROR r1",
1240 "ne_r12_r14_r10_ROR_r1"},
1241 {{gt, r0, r5, r9, LSL, r10},
1242 false,
1243 al,
1244 "gt r0 r5 r9 LSL r10",
1245 "gt_r0_r5_r9_LSL_r10"},
1246 {{ls, r12, r12, r1, ASR, r2},
1247 false,
1248 al,
1249 "ls r12 r12 r1 ASR r2",
1250 "ls_r12_r12_r1_ASR_r2"},
1251 {{ne, r14, r0, r6, ROR, r5},
1252 false,
1253 al,
1254 "ne r14 r0 r6 ROR r5",
1255 "ne_r14_r0_r6_ROR_r5"},
1256 {{gt, r10, r7, r0, ROR, r1},
1257 false,
1258 al,
1259 "gt r10 r7 r0 ROR r1",
1260 "gt_r10_r7_r0_ROR_r1"},
1261 {{ls, r7, r3, r0, ROR, r8},
1262 false,
1263 al,
1264 "ls r7 r3 r0 ROR r8",
1265 "ls_r7_r3_r0_ROR_r8"},
1266 {{mi, r1, r11, r9, ROR, r1},
1267 false,
1268 al,
1269 "mi r1 r11 r9 ROR r1",
1270 "mi_r1_r11_r9_ROR_r1"},
1271 {{pl, r8, r7, r9, ROR, r9},
1272 false,
1273 al,
1274 "pl r8 r7 r9 ROR r9",
1275 "pl_r8_r7_r9_ROR_r9"},
1276 {{lt, r3, r1, r7, LSR, r4},
1277 false,
1278 al,
1279 "lt r3 r1 r7 LSR r4",
1280 "lt_r3_r1_r7_LSR_r4"},
1281 {{mi, r11, r4, r4, LSL, r5},
1282 false,
1283 al,
1284 "mi r11 r4 r4 LSL r5",
1285 "mi_r11_r4_r4_LSL_r5"},
1286 {{cs, r1, r7, r5, LSR, r13},
1287 false,
1288 al,
1289 "cs r1 r7 r5 LSR r13",
1290 "cs_r1_r7_r5_LSR_r13"},
1291 {{ls, r0, r2, r10, ASR, r4},
1292 false,
1293 al,
1294 "ls r0 r2 r10 ASR r4",
1295 "ls_r0_r2_r10_ASR_r4"},
1296 {{ge, r5, r12, r11, ASR, r3},
1297 false,
1298 al,
1299 "ge r5 r12 r11 ASR r3",
1300 "ge_r5_r12_r11_ASR_r3"},
1301 {{vc, r13, r4, r13, ASR, r13},
1302 false,
1303 al,
1304 "vc r13 r4 r13 ASR r13",
1305 "vc_r13_r4_r13_ASR_r13"},
1306 {{le, r9, r3, r4, LSL, r12},
1307 false,
1308 al,
1309 "le r9 r3 r4 LSL r12",
1310 "le_r9_r3_r4_LSL_r12"},
1311 {{al, r8, r14, r3, ROR, r1},
1312 false,
1313 al,
1314 "al r8 r14 r3 ROR r1",
1315 "al_r8_r14_r3_ROR_r1"},
1316 {{ls, r2, r0, r1, LSR, r4},
1317 false,
1318 al,
1319 "ls r2 r0 r1 LSR r4",
1320 "ls_r2_r0_r1_LSR_r4"},
1321 {{cc, r4, r11, r0, ASR, r5},
1322 false,
1323 al,
1324 "cc r4 r11 r0 ASR r5",
1325 "cc_r4_r11_r0_ASR_r5"},
1326 {{lt, r13, r1, r8, ROR, r9},
1327 false,
1328 al,
1329 "lt r13 r1 r8 ROR r9",
1330 "lt_r13_r1_r8_ROR_r9"},
1331 {{mi, r5, r12, r13, ROR, r14},
1332 false,
1333 al,
1334 "mi r5 r12 r13 ROR r14",
1335 "mi_r5_r12_r13_ROR_r14"},
1336 {{cs, r4, r1, r13, ASR, r13},
1337 false,
1338 al,
1339 "cs r4 r1 r13 ASR r13",
1340 "cs_r4_r1_r13_ASR_r13"},
1341 {{vs, r1, r14, r1, ASR, r9},
1342 false,
1343 al,
1344 "vs r1 r14 r1 ASR r9",
1345 "vs_r1_r14_r1_ASR_r9"},
1346 {{al, r14, r5, r2, LSL, r8},
1347 false,
1348 al,
1349 "al r14 r5 r2 LSL r8",
1350 "al_r14_r5_r2_LSL_r8"},
1351 {{ge, r1, r6, r5, ASR, r8},
1352 false,
1353 al,
1354 "ge r1 r6 r5 ASR r8",
1355 "ge_r1_r6_r5_ASR_r8"},
1356 {{ls, r10, r3, r12, LSL, r13},
1357 false,
1358 al,
1359 "ls r10 r3 r12 LSL r13",
1360 "ls_r10_r3_r12_LSL_r13"},
1361 {{vc, r8, r8, r3, ROR, r4},
1362 false,
1363 al,
1364 "vc r8 r8 r3 ROR r4",
1365 "vc_r8_r8_r3_ROR_r4"},
1366 {{lt, r9, r5, r5, LSR, r6},
1367 false,
1368 al,
1369 "lt r9 r5 r5 LSR r6",
1370 "lt_r9_r5_r5_LSR_r6"},
1371 {{lt, r7, r9, r12, ASR, r2},
1372 false,
1373 al,
1374 "lt r7 r9 r12 ASR r2",
1375 "lt_r7_r9_r12_ASR_r2"},
1376 {{eq, r11, r14, r11, ROR, r0},
1377 false,
1378 al,
1379 "eq r11 r14 r11 ROR r0",
1380 "eq_r11_r14_r11_ROR_r0"},
1381 {{hi, r5, r3, r11, LSL, r3},
1382 false,
1383 al,
1384 "hi r5 r3 r11 LSL r3",
1385 "hi_r5_r3_r11_LSL_r3"},
1386 {{ls, r3, r8, r9, LSR, r10},
1387 false,
1388 al,
1389 "ls r3 r8 r9 LSR r10",
1390 "ls_r3_r8_r9_LSR_r10"},
1391 {{cs, r14, r14, r0, LSL, r10},
1392 false,
1393 al,
1394 "cs r14 r14 r0 LSL r10",
1395 "cs_r14_r14_r0_LSL_r10"},
1396 {{eq, r2, r8, r4, ROR, r1},
1397 false,
1398 al,
1399 "eq r2 r8 r4 ROR r1",
1400 "eq_r2_r8_r4_ROR_r1"},
1401 {{gt, r3, r4, r7, ROR, r2},
1402 false,
1403 al,
1404 "gt r3 r4 r7 ROR r2",
1405 "gt_r3_r4_r7_ROR_r2"},
1406 {{lt, r3, r5, r6, ROR, r7},
1407 false,
1408 al,
1409 "lt r3 r5 r6 ROR r7",
1410 "lt_r3_r5_r6_ROR_r7"},
1411 {{hi, r14, r4, r2, ASR, r1},
1412 false,
1413 al,
1414 "hi r14 r4 r2 ASR r1",
1415 "hi_r14_r4_r2_ASR_r1"},
1416 {{mi, r9, r6, r7, LSR, r1},
1417 false,
1418 al,
1419 "mi r9 r6 r7 LSR r1",
1420 "mi_r9_r6_r7_LSR_r1"},
1421 {{pl, r11, r12, r11, LSR, r0},
1422 false,
1423 al,
1424 "pl r11 r12 r11 LSR r0",
1425 "pl_r11_r12_r11_LSR_r0"},
1426 {{cs, r0, r0, r0, ROR, r4},
1427 false,
1428 al,
1429 "cs r0 r0 r0 ROR r4",
1430 "cs_r0_r0_r0_ROR_r4"},
1431 {{vs, r7, r4, r13, ASR, r4},
1432 false,
1433 al,
1434 "vs r7 r4 r13 ASR r4",
1435 "vs_r7_r4_r13_ASR_r4"},
1436 {{vc, r6, r8, r1, LSR, r5},
1437 false,
1438 al,
1439 "vc r6 r8 r1 LSR r5",
1440 "vc_r6_r8_r1_LSR_r5"},
1441 {{gt, r6, r10, r14, LSR, r0},
1442 false,
1443 al,
1444 "gt r6 r10 r14 LSR r0",
1445 "gt_r6_r10_r14_LSR_r0"},
1446 {{ne, r12, r4, r5, LSL, r10},
1447 false,
1448 al,
1449 "ne r12 r4 r5 LSL r10",
1450 "ne_r12_r4_r5_LSL_r10"},
1451 {{ne, r9, r4, r5, ROR, r10},
1452 false,
1453 al,
1454 "ne r9 r4 r5 ROR r10",
1455 "ne_r9_r4_r5_ROR_r10"},
1456 {{lt, r4, r2, r0, ROR, r5},
1457 false,
1458 al,
1459 "lt r4 r2 r0 ROR r5",
1460 "lt_r4_r2_r0_ROR_r5"},
1461 {{ls, r0, r13, r3, ASR, r13},
1462 false,
1463 al,
1464 "ls r0 r13 r3 ASR r13",
1465 "ls_r0_r13_r3_ASR_r13"},
1466 {{lt, r14, r8, r2, ROR, r1},
1467 false,
1468 al,
1469 "lt r14 r8 r2 ROR r1",
1470 "lt_r14_r8_r2_ROR_r1"},
1471 {{hi, r7, r13, r2, LSR, r9},
1472 false,
1473 al,
1474 "hi r7 r13 r2 LSR r9",
1475 "hi_r7_r13_r2_LSR_r9"},
1476 {{hi, r2, r5, r8, LSL, r8},
1477 false,
1478 al,
1479 "hi r2 r5 r8 LSL r8",
1480 "hi_r2_r5_r8_LSL_r8"},
1481 {{vc, r1, r8, r6, LSR, r5},
1482 false,
1483 al,
1484 "vc r1 r8 r6 LSR r5",
1485 "vc_r1_r8_r6_LSR_r5"},
1486 {{hi, r6, r12, r10, ROR, r2},
1487 false,
1488 al,
1489 "hi r6 r12 r10 ROR r2",
1490 "hi_r6_r12_r10_ROR_r2"},
1491 {{al, r12, r13, r12, LSR, r14},
1492 false,
1493 al,
1494 "al r12 r13 r12 LSR r14",
1495 "al_r12_r13_r12_LSR_r14"},
1496 {{mi, r4, r13, r5, LSL, r7},
1497 false,
1498 al,
1499 "mi r4 r13 r5 LSL r7",
1500 "mi_r4_r13_r5_LSL_r7"},
1501 {{le, r6, r7, r10, ASR, r10},
1502 false,
1503 al,
1504 "le r6 r7 r10 ASR r10",
1505 "le_r6_r7_r10_ASR_r10"},
1506 {{mi, r3, r1, r6, ASR, r2},
1507 false,
1508 al,
1509 "mi r3 r1 r6 ASR r2",
1510 "mi_r3_r1_r6_ASR_r2"},
1511 {{le, r10, r2, r12, ROR, r1},
1512 false,
1513 al,
1514 "le r10 r2 r12 ROR r1",
1515 "le_r10_r2_r12_ROR_r1"},
1516 {{le, r12, r3, r5, ROR, r0},
1517 false,
1518 al,
1519 "le r12 r3 r5 ROR r0",
1520 "le_r12_r3_r5_ROR_r0"},
1521 {{ls, r9, r14, r5, ROR, r12},
1522 false,
1523 al,
1524 "ls r9 r14 r5 ROR r12",
1525 "ls_r9_r14_r5_ROR_r12"},
1526 {{pl, r10, r5, r3, ROR, r0},
1527 false,
1528 al,
1529 "pl r10 r5 r3 ROR r0",
1530 "pl_r10_r5_r3_ROR_r0"},
1531 {{hi, r8, r1, r9, LSL, r11},
1532 false,
1533 al,
1534 "hi r8 r1 r9 LSL r11",
1535 "hi_r8_r1_r9_LSL_r11"},
1536 {{ls, r14, r5, r9, ROR, r9},
1537 false,
1538 al,
1539 "ls r14 r5 r9 ROR r9",
1540 "ls_r14_r5_r9_ROR_r9"},
1541 {{hi, r7, r2, r10, LSR, r3},
1542 false,
1543 al,
1544 "hi r7 r2 r10 LSR r3",
1545 "hi_r7_r2_r10_LSR_r3"},
1546 {{eq, r5, r7, r13, ROR, r11},
1547 false,
1548 al,
1549 "eq r5 r7 r13 ROR r11",
1550 "eq_r5_r7_r13_ROR_r11"},
1551 {{vs, r4, r13, r9, LSR, r0},
1552 false,
1553 al,
1554 "vs r4 r13 r9 LSR r0",
1555 "vs_r4_r13_r9_LSR_r0"},
1556 {{le, r3, r1, r12, ROR, r8},
1557 false,
1558 al,
1559 "le r3 r1 r12 ROR r8",
1560 "le_r3_r1_r12_ROR_r8"},
1561 {{hi, r8, r10, r10, LSL, r1},
1562 false,
1563 al,
1564 "hi r8 r10 r10 LSL r1",
1565 "hi_r8_r10_r10_LSL_r1"},
1566 {{gt, r0, r4, r9, ASR, r13},
1567 false,
1568 al,
1569 "gt r0 r4 r9 ASR r13",
1570 "gt_r0_r4_r9_ASR_r13"},
1571 {{ne, r0, r0, r13, LSR, r5},
1572 false,
1573 al,
1574 "ne r0 r0 r13 LSR r5",
1575 "ne_r0_r0_r13_LSR_r5"},
1576 {{cc, r8, r11, r0, ASR, r12},
1577 false,
1578 al,
1579 "cc r8 r11 r0 ASR r12",
1580 "cc_r8_r11_r0_ASR_r12"},
1581 {{pl, r8, r5, r6, ASR, r7},
1582 false,
1583 al,
1584 "pl r8 r5 r6 ASR r7",
1585 "pl_r8_r5_r6_ASR_r7"},
1586 {{vc, r8, r3, r14, LSR, r3},
1587 false,
1588 al,
1589 "vc r8 r3 r14 LSR r3",
1590 "vc_r8_r3_r14_LSR_r3"},
1591 {{ne, r0, r0, r10, ASR, r7},
1592 false,
1593 al,
1594 "ne r0 r0 r10 ASR r7",
1595 "ne_r0_r0_r10_ASR_r7"},
1596 {{le, r4, r1, r9, LSL, r7},
1597 false,
1598 al,
1599 "le r4 r1 r9 LSL r7",
1600 "le_r4_r1_r9_LSL_r7"},
1601 {{ls, r3, r14, r9, LSR, r4},
1602 false,
1603 al,
1604 "ls r3 r14 r9 LSR r4",
1605 "ls_r3_r14_r9_LSR_r4"},
1606 {{vc, r3, r0, r8, LSR, r1},
1607 false,
1608 al,
1609 "vc r3 r0 r8 LSR r1",
1610 "vc_r3_r0_r8_LSR_r1"},
1611 {{pl, r8, r12, r1, LSL, r13},
1612 false,
1613 al,
1614 "pl r8 r12 r1 LSL r13",
1615 "pl_r8_r12_r1_LSL_r13"},
1616 {{eq, r7, r12, r14, ROR, r11},
1617 false,
1618 al,
1619 "eq r7 r12 r14 ROR r11",
1620 "eq_r7_r12_r14_ROR_r11"},
1621 {{hi, r12, r5, r6, LSL, r11},
1622 false,
1623 al,
1624 "hi r12 r5 r6 LSL r11",
1625 "hi_r12_r5_r6_LSL_r11"},
1626 {{al, r8, r8, r1, LSL, r12},
1627 false,
1628 al,
1629 "al r8 r8 r1 LSL r12",
1630 "al_r8_r8_r1_LSL_r12"},
1631 {{pl, r3, r4, r13, ASR, r6},
1632 false,
1633 al,
1634 "pl r3 r4 r13 ASR r6",
1635 "pl_r3_r4_r13_ASR_r6"},
1636 {{vc, r4, r5, r13, LSL, r6},
1637 false,
1638 al,
1639 "vc r4 r5 r13 LSL r6",
1640 "vc_r4_r5_r13_LSL_r6"},
1641 {{ls, r10, r7, r2, LSL, r10},
1642 false,
1643 al,
1644 "ls r10 r7 r2 LSL r10",
1645 "ls_r10_r7_r2_LSL_r10"},
1646 {{hi, r6, r4, r5, LSR, r2},
1647 false,
1648 al,
1649 "hi r6 r4 r5 LSR r2",
1650 "hi_r6_r4_r5_LSR_r2"},
1651 {{hi, r1, r5, r4, LSL, r11},
1652 false,
1653 al,
1654 "hi r1 r5 r4 LSL r11",
1655 "hi_r1_r5_r4_LSL_r11"},
1656 {{cc, r6, r6, r2, LSL, r0},
1657 false,
1658 al,
1659 "cc r6 r6 r2 LSL r0",
1660 "cc_r6_r6_r2_LSL_r0"},
1661 {{cs, r6, r7, r14, ASR, r2},
1662 false,
1663 al,
1664 "cs r6 r7 r14 ASR r2",
1665 "cs_r6_r7_r14_ASR_r2"},
1666 {{pl, r12, r1, r13, ROR, r9},
1667 false,
1668 al,
1669 "pl r12 r1 r13 ROR r9",
1670 "pl_r12_r1_r13_ROR_r9"},
1671 {{eq, r4, r8, r3, ASR, r5},
1672 false,
1673 al,
1674 "eq r4 r8 r3 ASR r5",
1675 "eq_r4_r8_r3_ASR_r5"},
1676 {{hi, r3, r4, r9, ROR, r4},
1677 false,
1678 al,
1679 "hi r3 r4 r9 ROR r4",
1680 "hi_r3_r4_r9_ROR_r4"},
1681 {{vs, r8, r11, r7, ROR, r8},
1682 false,
1683 al,
1684 "vs r8 r11 r7 ROR r8",
1685 "vs_r8_r11_r7_ROR_r8"},
1686 {{cs, r4, r1, r9, LSL, r11},
1687 false,
1688 al,
1689 "cs r4 r1 r9 LSL r11",
1690 "cs_r4_r1_r9_LSL_r11"},
1691 {{eq, r0, r11, r5, ASR, r0},
1692 false,
1693 al,
1694 "eq r0 r11 r5 ASR r0",
1695 "eq_r0_r11_r5_ASR_r0"},
1696 {{ne, r2, r6, r9, LSL, r8},
1697 false,
1698 al,
1699 "ne r2 r6 r9 LSL r8",
1700 "ne_r2_r6_r9_LSL_r8"},
1701 {{hi, r5, r7, r12, LSL, r14},
1702 false,
1703 al,
1704 "hi r5 r7 r12 LSL r14",
1705 "hi_r5_r7_r12_LSL_r14"},
1706 {{cc, r5, r6, r4, LSL, r8},
1707 false,
1708 al,
1709 "cc r5 r6 r4 LSL r8",
1710 "cc_r5_r6_r4_LSL_r8"},
1711 {{eq, r6, r14, r13, LSR, r1},
1712 false,
1713 al,
1714 "eq r6 r14 r13 LSR r1",
1715 "eq_r6_r14_r13_LSR_r1"},
1716 {{gt, r7, r3, r12, ASR, r10},
1717 false,
1718 al,
1719 "gt r7 r3 r12 ASR r10",
1720 "gt_r7_r3_r12_ASR_r10"},
1721 {{al, r10, r3, r11, ASR, r2},
1722 false,
1723 al,
1724 "al r10 r3 r11 ASR r2",
1725 "al_r10_r3_r11_ASR_r2"},
1726 {{cs, r6, r11, r13, LSL, r12},
1727 false,
1728 al,
1729 "cs r6 r11 r13 LSL r12",
1730 "cs_r6_r11_r13_LSL_r12"},
1731 {{ne, r4, r12, r5, ROR, r11},
1732 false,
1733 al,
1734 "ne r4 r12 r5 ROR r11",
1735 "ne_r4_r12_r5_ROR_r11"},
1736 {{vs, r12, r14, r2, ROR, r1},
1737 false,
1738 al,
1739 "vs r12 r14 r2 ROR r1",
1740 "vs_r12_r14_r2_ROR_r1"},
1741 {{ls, r11, r3, r8, ASR, r4},
1742 false,
1743 al,
1744 "ls r11 r3 r8 ASR r4",
1745 "ls_r11_r3_r8_ASR_r4"},
1746 {{vc, r9, r9, r5, LSL, r4},
1747 false,
1748 al,
1749 "vc r9 r9 r5 LSL r4",
1750 "vc_r9_r9_r5_LSL_r4"},
1751 {{vc, r0, r2, r10, LSR, r4},
1752 false,
1753 al,
1754 "vc r0 r2 r10 LSR r4",
1755 "vc_r0_r2_r10_LSR_r4"},
1756 {{vc, r6, r0, r11, LSR, r3},
1757 false,
1758 al,
1759 "vc r6 r0 r11 LSR r3",
1760 "vc_r6_r0_r11_LSR_r3"},
1761 {{vs, r11, r11, r12, ROR, r0},
1762 false,
1763 al,
1764 "vs r11 r11 r12 ROR r0",
1765 "vs_r11_r11_r12_ROR_r0"},
1766 {{ls, r0, r10, r2, LSL, r8},
1767 false,
1768 al,
1769 "ls r0 r10 r2 LSL r8",
1770 "ls_r0_r10_r2_LSL_r8"},
1771 {{lt, r11, r10, r13, ASR, r10},
1772 false,
1773 al,
1774 "lt r11 r10 r13 ASR r10",
1775 "lt_r11_r10_r13_ASR_r10"},
1776 {{eq, r4, r4, r13, LSR, r13},
1777 false,
1778 al,
1779 "eq r4 r4 r13 LSR r13",
1780 "eq_r4_r4_r13_LSR_r13"},
1781 {{le, r11, r10, r4, LSL, r13},
1782 false,
1783 al,
1784 "le r11 r10 r4 LSL r13",
1785 "le_r11_r10_r4_LSL_r13"},
1786 {{pl, r11, r7, r8, ROR, r7},
1787 false,
1788 al,
1789 "pl r11 r7 r8 ROR r7",
1790 "pl_r11_r7_r8_ROR_r7"},
1791 {{eq, r10, r13, r5, LSR, r13},
1792 false,
1793 al,
1794 "eq r10 r13 r5 LSR r13",
1795 "eq_r10_r13_r5_LSR_r13"},
1796 {{mi, r10, r5, r9, ASR, r7},
1797 false,
1798 al,
1799 "mi r10 r5 r9 ASR r7",
1800 "mi_r10_r5_r9_ASR_r7"},
1801 {{lt, r7, r7, r0, ASR, r6},
1802 false,
1803 al,
1804 "lt r7 r7 r0 ASR r6",
1805 "lt_r7_r7_r0_ASR_r6"},
1806 {{hi, r14, r12, r13, ROR, r3},
1807 false,
1808 al,
1809 "hi r14 r12 r13 ROR r3",
1810 "hi_r14_r12_r13_ROR_r3"},
1811 {{hi, r9, r0, r10, LSR, r11},
1812 false,
1813 al,
1814 "hi r9 r0 r10 LSR r11",
1815 "hi_r9_r0_r10_LSR_r11"},
1816 {{eq, r1, r10, r2, ASR, r10},
1817 false,
1818 al,
1819 "eq r1 r10 r2 ASR r10",
1820 "eq_r1_r10_r2_ASR_r10"},
1821 {{lt, r1, r6, r0, ASR, r14},
1822 false,
1823 al,
1824 "lt r1 r6 r0 ASR r14",
1825 "lt_r1_r6_r0_ASR_r14"},
1826 {{gt, r10, r2, r10, ROR, r4},
1827 false,
1828 al,
1829 "gt r10 r2 r10 ROR r4",
1830 "gt_r10_r2_r10_ROR_r4"},
1831 {{ls, r3, r9, r10, LSR, r7},
1832 false,
1833 al,
1834 "ls r3 r9 r10 LSR r7",
1835 "ls_r3_r9_r10_LSR_r7"},
1836 {{le, r1, r7, r7, LSR, r10},
1837 false,
1838 al,
1839 "le r1 r7 r7 LSR r10",
1840 "le_r1_r7_r7_LSR_r10"},
1841 {{pl, r2, r6, r14, ASR, r0},
1842 false,
1843 al,
1844 "pl r2 r6 r14 ASR r0",
1845 "pl_r2_r6_r14_ASR_r0"},
1846 {{gt, r9, r8, r9, ASR, r10},
1847 false,
1848 al,
1849 "gt r9 r8 r9 ASR r10",
1850 "gt_r9_r8_r9_ASR_r10"},
1851 {{pl, r12, r11, r14, ASR, r5},
1852 false,
1853 al,
1854 "pl r12 r11 r14 ASR r5",
1855 "pl_r12_r11_r14_ASR_r5"},
1856 {{gt, r1, r12, r4, LSL, r5},
1857 false,
1858 al,
1859 "gt r1 r12 r4 LSL r5",
1860 "gt_r1_r12_r4_LSL_r5"},
1861 {{le, r1, r9, r4, ROR, r0},
1862 false,
1863 al,
1864 "le r1 r9 r4 ROR r0",
1865 "le_r1_r9_r4_ROR_r0"},
1866 {{ne, r7, r2, r0, ASR, r5},
1867 false,
1868 al,
1869 "ne r7 r2 r0 ASR r5",
1870 "ne_r7_r2_r0_ASR_r5"},
1871 {{cc, r4, r1, r9, LSR, r6},
1872 false,
1873 al,
1874 "cc r4 r1 r9 LSR r6",
1875 "cc_r4_r1_r9_LSR_r6"},
1876 {{eq, r1, r6, r13, ASR, r12},
1877 false,
1878 al,
1879 "eq r1 r6 r13 ASR r12",
1880 "eq_r1_r6_r13_ASR_r12"},
1881 {{pl, r3, r14, r13, LSR, r7},
1882 false,
1883 al,
1884 "pl r3 r14 r13 LSR r7",
1885 "pl_r3_r14_r13_LSR_r7"},
1886 {{ge, r8, r2, r12, LSL, r7},
1887 false,
1888 al,
1889 "ge r8 r2 r12 LSL r7",
1890 "ge_r8_r2_r12_LSL_r7"},
1891 {{ge, r10, r12, r9, ASR, r13},
1892 false,
1893 al,
1894 "ge r10 r12 r9 ASR r13",
1895 "ge_r10_r12_r9_ASR_r13"},
1896 {{gt, r8, r7, r1, ASR, r7},
1897 false,
1898 al,
1899 "gt r8 r7 r1 ASR r7",
1900 "gt_r8_r7_r1_ASR_r7"},
1901 {{vs, r8, r4, r5, ROR, r2},
1902 false,
1903 al,
1904 "vs r8 r4 r5 ROR r2",
1905 "vs_r8_r4_r5_ROR_r2"},
1906 {{ls, r7, r3, r3, ASR, r5},
1907 false,
1908 al,
1909 "ls r7 r3 r3 ASR r5",
1910 "ls_r7_r3_r3_ASR_r5"},
1911 {{al, r13, r10, r9, LSL, r4},
1912 false,
1913 al,
1914 "al r13 r10 r9 LSL r4",
1915 "al_r13_r10_r9_LSL_r4"},
1916 {{cs, r9, r0, r5, ROR, r4},
1917 false,
1918 al,
1919 "cs r9 r0 r5 ROR r4",
1920 "cs_r9_r0_r5_ROR_r4"},
1921 {{eq, r14, r12, r12, ASR, r13},
1922 false,
1923 al,
1924 "eq r14 r12 r12 ASR r13",
1925 "eq_r14_r12_r12_ASR_r13"},
1926 {{hi, r9, r6, r8, ASR, r2},
1927 false,
1928 al,
1929 "hi r9 r6 r8 ASR r2",
1930 "hi_r9_r6_r8_ASR_r2"},
1931 {{ne, r7, r9, r10, ROR, r7},
1932 false,
1933 al,
1934 "ne r7 r9 r10 ROR r7",
1935 "ne_r7_r9_r10_ROR_r7"},
1936 {{vs, r2, r3, r0, ASR, r2},
1937 false,
1938 al,
1939 "vs r2 r3 r0 ASR r2",
1940 "vs_r2_r3_r0_ASR_r2"},
1941 {{cc, r13, r2, r6, ASR, r11},
1942 false,
1943 al,
1944 "cc r13 r2 r6 ASR r11",
1945 "cc_r13_r2_r6_ASR_r11"},
1946 {{lt, r3, r12, r14, ASR, r0},
1947 false,
1948 al,
1949 "lt r3 r12 r14 ASR r0",
1950 "lt_r3_r12_r14_ASR_r0"},
1951 {{hi, r5, r11, r11, ROR, r4},
1952 false,
1953 al,
1954 "hi r5 r11 r11 ROR r4",
1955 "hi_r5_r11_r11_ROR_r4"},
1956 {{mi, r14, r5, r5, ASR, r12},
1957 false,
1958 al,
1959 "mi r14 r5 r5 ASR r12",
1960 "mi_r14_r5_r5_ASR_r12"},
1961 {{pl, r13, r12, r7, LSL, r9},
1962 false,
1963 al,
1964 "pl r13 r12 r7 LSL r9",
1965 "pl_r13_r12_r7_LSL_r9"},
1966 {{gt, r11, r9, r6, LSR, r13},
1967 false,
1968 al,
1969 "gt r11 r9 r6 LSR r13",
1970 "gt_r11_r9_r6_LSR_r13"},
1971 {{pl, r7, r10, r13, LSR, r12},
1972 false,
1973 al,
1974 "pl r7 r10 r13 LSR r12",
1975 "pl_r7_r10_r13_LSR_r12"},
1976 {{hi, r0, r10, r12, LSL, r1},
1977 false,
1978 al,
1979 "hi r0 r10 r12 LSL r1",
1980 "hi_r0_r10_r12_LSL_r1"},
1981 {{ge, r12, r5, r12, ASR, r1},
1982 false,
1983 al,
1984 "ge r12 r5 r12 ASR r1",
1985 "ge_r12_r5_r12_ASR_r1"},
1986 {{cc, r1, r14, r10, LSR, r8},
1987 false,
1988 al,
1989 "cc r1 r14 r10 LSR r8",
1990 "cc_r1_r14_r10_LSR_r8"},
1991 {{cs, r8, r10, r9, ROR, r5},
1992 false,
1993 al,
1994 "cs r8 r10 r9 ROR r5",
1995 "cs_r8_r10_r9_ROR_r5"},
1996 {{cc, r1, r14, r13, ROR, r2},
1997 false,
1998 al,
1999 "cc r1 r14 r13 ROR r2",
2000 "cc_r1_r14_r13_ROR_r2"},
2001 {{hi, r7, r1, r11, ROR, r7},
2002 false,
2003 al,
2004 "hi r7 r1 r11 ROR r7",
2005 "hi_r7_r1_r11_ROR_r7"},
2006 {{lt, r8, r3, r6, ASR, r8},
2007 false,
2008 al,
2009 "lt r8 r3 r6 ASR r8",
2010 "lt_r8_r3_r6_ASR_r8"},
2011 {{vc, r11, r9, r5, ROR, r0},
2012 false,
2013 al,
2014 "vc r11 r9 r5 ROR r0",
2015 "vc_r11_r9_r5_ROR_r0"},
2016 {{pl, r6, r0, r13, ASR, r14},
2017 false,
2018 al,
2019 "pl r6 r0 r13 ASR r14",
2020 "pl_r6_r0_r13_ASR_r14"},
2021 {{vc, r2, r12, r1, ROR, r3},
2022 false,
2023 al,
2024 "vc r2 r12 r1 ROR r3",
2025 "vc_r2_r12_r1_ROR_r3"},
2026 {{gt, r11, r0, r2, ROR, r0},
2027 false,
2028 al,
2029 "gt r11 r0 r2 ROR r0",
2030 "gt_r11_r0_r2_ROR_r0"},
2031 {{le, r1, r13, r9, ROR, r0},
2032 false,
2033 al,
2034 "le r1 r13 r9 ROR r0",
2035 "le_r1_r13_r9_ROR_r0"},
2036 {{lt, r14, r0, r9, LSL, r3},
2037 false,
2038 al,
2039 "lt r14 r0 r9 LSL r3",
2040 "lt_r14_r0_r9_LSL_r3"},
2041 {{al, r12, r6, r10, LSR, r8},
2042 false,
2043 al,
2044 "al r12 r6 r10 LSR r8",
2045 "al_r12_r6_r10_LSR_r8"},
2046 {{cc, r4, r14, r1, LSR, r12},
2047 false,
2048 al,
2049 "cc r4 r14 r1 LSR r12",
2050 "cc_r4_r14_r1_LSR_r12"},
2051 {{ge, r0, r3, r5, LSL, r1},
2052 false,
2053 al,
2054 "ge r0 r3 r5 LSL r1",
2055 "ge_r0_r3_r5_LSL_r1"},
2056 {{eq, r1, r11, r12, ASR, r8},
2057 false,
2058 al,
2059 "eq r1 r11 r12 ASR r8",
2060 "eq_r1_r11_r12_ASR_r8"},
2061 {{hi, r8, r7, r14, LSR, r4},
2062 false,
2063 al,
2064 "hi r8 r7 r14 LSR r4",
2065 "hi_r8_r7_r14_LSR_r4"},
2066 {{eq, r14, r11, r1, LSR, r7},
2067 false,
2068 al,
2069 "eq r14 r11 r1 LSR r7",
2070 "eq_r14_r11_r1_LSR_r7"},
2071 {{ge, r6, r12, r4, LSL, r1},
2072 false,
2073 al,
2074 "ge r6 r12 r4 LSL r1",
2075 "ge_r6_r12_r4_LSL_r1"},
2076 {{vs, r12, r6, r0, ASR, r12},
2077 false,
2078 al,
2079 "vs r12 r6 r0 ASR r12",
2080 "vs_r12_r6_r0_ASR_r12"},
2081 {{gt, r9, r3, r6, LSR, r13},
2082 false,
2083 al,
2084 "gt r9 r3 r6 LSR r13",
2085 "gt_r9_r3_r6_LSR_r13"},
2086 {{lt, r4, r5, r6, LSR, r12},
2087 false,
2088 al,
2089 "lt r4 r5 r6 LSR r12",
2090 "lt_r4_r5_r6_LSR_r12"},
2091 {{cc, r8, r2, r5, ROR, r10},
2092 false,
2093 al,
2094 "cc r8 r2 r5 ROR r10",
2095 "cc_r8_r2_r5_ROR_r10"},
2096 {{eq, r2, r10, r10, ASR, r3},
2097 false,
2098 al,
2099 "eq r2 r10 r10 ASR r3",
2100 "eq_r2_r10_r10_ASR_r3"},
2101 {{vc, r1, r2, r11, LSR, r10},
2102 false,
2103 al,
2104 "vc r1 r2 r11 LSR r10",
2105 "vc_r1_r2_r11_LSR_r10"},
2106 {{hi, r6, r1, r9, LSR, r1},
2107 false,
2108 al,
2109 "hi r6 r1 r9 LSR r1",
2110 "hi_r6_r1_r9_LSR_r1"},
2111 {{cs, r10, r14, r10, LSL, r5},
2112 false,
2113 al,
2114 "cs r10 r14 r10 LSL r5",
2115 "cs_r10_r14_r10_LSL_r5"},
2116 {{mi, r3, r9, r3, LSL, r10},
2117 false,
2118 al,
2119 "mi r3 r9 r3 LSL r10",
2120 "mi_r3_r9_r3_LSL_r10"},
2121 {{vs, r2, r14, r3, LSL, r10},
2122 false,
2123 al,
2124 "vs r2 r14 r3 LSL r10",
2125 "vs_r2_r14_r3_LSL_r10"},
2126 {{hi, r1, r2, r10, ASR, r1},
2127 false,
2128 al,
2129 "hi r1 r2 r10 ASR r1",
2130 "hi_r1_r2_r10_ASR_r1"},
2131 {{ne, r13, r8, r7, LSL, r11},
2132 false,
2133 al,
2134 "ne r13 r8 r7 LSL r11",
2135 "ne_r13_r8_r7_LSL_r11"},
2136 {{eq, r10, r10, r9, LSR, r9},
2137 false,
2138 al,
2139 "eq r10 r10 r9 LSR r9",
2140 "eq_r10_r10_r9_LSR_r9"},
2141 {{eq, r12, r6, r2, ASR, r12},
2142 false,
2143 al,
2144 "eq r12 r6 r2 ASR r12",
2145 "eq_r12_r6_r2_ASR_r12"},
2146 {{cs, r14, r7, r3, LSR, r9},
2147 false,
2148 al,
2149 "cs r14 r7 r3 LSR r9",
2150 "cs_r14_r7_r3_LSR_r9"},
2151 {{vc, r11, r14, r12, ROR, r2},
2152 false,
2153 al,
2154 "vc r11 r14 r12 ROR r2",
2155 "vc_r11_r14_r12_ROR_r2"},
2156 {{lt, r11, r8, r3, LSR, r14},
2157 false,
2158 al,
2159 "lt r11 r8 r3 LSR r14",
2160 "lt_r11_r8_r3_LSR_r14"},
2161 {{ls, r8, r8, r7, ROR, r14},
2162 false,
2163 al,
2164 "ls r8 r8 r7 ROR r14",
2165 "ls_r8_r8_r7_ROR_r14"},
2166 {{hi, r14, r0, r3, ROR, r0},
2167 false,
2168 al,
2169 "hi r14 r0 r3 ROR r0",
2170 "hi_r14_r0_r3_ROR_r0"},
2171 {{ge, r6, r2, r6, ROR, r13},
2172 false,
2173 al,
2174 "ge r6 r2 r6 ROR r13",
2175 "ge_r6_r2_r6_ROR_r13"},
2176 {{le, r10, r10, r0, LSL, r2},
2177 false,
2178 al,
2179 "le r10 r10 r0 LSL r2",
2180 "le_r10_r10_r0_LSL_r2"},
2181 {{cc, r4, r7, r1, LSR, r10},
2182 false,
2183 al,
2184 "cc r4 r7 r1 LSR r10",
2185 "cc_r4_r7_r1_LSR_r10"},
2186 {{al, r4, r0, r8, ROR, r7},
2187 false,
2188 al,
2189 "al r4 r0 r8 ROR r7",
2190 "al_r4_r0_r8_ROR_r7"},
2191 {{ne, r10, r5, r3, LSL, r9},
2192 false,
2193 al,
2194 "ne r10 r5 r3 LSL r9",
2195 "ne_r10_r5_r3_LSL_r9"},
2196 {{vs, r11, r7, r5, LSL, r14},
2197 false,
2198 al,
2199 "vs r11 r7 r5 LSL r14",
2200 "vs_r11_r7_r5_LSL_r14"},
2201 {{eq, r7, r10, r14, ASR, r8},
2202 false,
2203 al,
2204 "eq r7 r10 r14 ASR r8",
2205 "eq_r7_r10_r14_ASR_r8"},
2206 {{ls, r4, r5, r9, ASR, r1},
2207 false,
2208 al,
2209 "ls r4 r5 r9 ASR r1",
2210 "ls_r4_r5_r9_ASR_r1"},
2211 {{lt, r13, r14, r8, ROR, r2},
2212 false,
2213 al,
2214 "lt r13 r14 r8 ROR r2",
2215 "lt_r13_r14_r8_ROR_r2"},
2216 {{cc, r7, r6, r9, LSR, r5},
2217 false,
2218 al,
2219 "cc r7 r6 r9 LSR r5",
2220 "cc_r7_r6_r9_LSR_r5"},
2221 {{mi, r8, r7, r13, ASR, r2},
2222 false,
2223 al,
2224 "mi r8 r7 r13 ASR r2",
2225 "mi_r8_r7_r13_ASR_r2"},
2226 {{al, r2, r11, r2, LSR, r8},
2227 false,
2228 al,
2229 "al r2 r11 r2 LSR r8",
2230 "al_r2_r11_r2_LSR_r8"},
2231 {{al, r6, r7, r6, LSR, r1},
2232 false,
2233 al,
2234 "al r6 r7 r6 LSR r1",
2235 "al_r6_r7_r6_LSR_r1"},
2236 {{cs, r4, r11, r6, LSR, r1},
2237 false,
2238 al,
2239 "cs r4 r11 r6 LSR r1",
2240 "cs_r4_r11_r6_LSR_r1"},
2241 {{ne, r14, r2, r2, ROR, r1},
2242 false,
2243 al,
2244 "ne r14 r2 r2 ROR r1",
2245 "ne_r14_r2_r2_ROR_r1"},
2246 {{ls, r5, r10, r3, LSR, r10},
2247 false,
2248 al,
2249 "ls r5 r10 r3 LSR r10",
2250 "ls_r5_r10_r3_LSR_r10"},
2251 {{le, r12, r11, r9, ROR, r4},
2252 false,
2253 al,
2254 "le r12 r11 r9 ROR r4",
2255 "le_r12_r11_r9_ROR_r4"},
2256 {{vs, r10, r1, r4, LSL, r4},
2257 false,
2258 al,
2259 "vs r10 r1 r4 LSL r4",
2260 "vs_r10_r1_r4_LSL_r4"},
2261 {{hi, r2, r5, r5, LSL, r10},
2262 false,
2263 al,
2264 "hi r2 r5 r5 LSL r10",
2265 "hi_r2_r5_r5_LSL_r10"},
2266 {{ls, r12, r3, r13, ROR, r4},
2267 false,
2268 al,
2269 "ls r12 r3 r13 ROR r4",
2270 "ls_r12_r3_r13_ROR_r4"},
2271 {{pl, r3, r0, r2, ASR, r8},
2272 false,
2273 al,
2274 "pl r3 r0 r2 ASR r8",
2275 "pl_r3_r0_r2_ASR_r8"},
2276 {{mi, r12, r5, r3, LSL, r1},
2277 false,
2278 al,
2279 "mi r12 r5 r3 LSL r1",
2280 "mi_r12_r5_r3_LSL_r1"},
2281 {{eq, r6, r11, r3, ROR, r2},
2282 false,
2283 al,
2284 "eq r6 r11 r3 ROR r2",
2285 "eq_r6_r11_r3_ROR_r2"},
2286 {{vs, r7, r10, r0, LSL, r6},
2287 false,
2288 al,
2289 "vs r7 r10 r0 LSL r6",
2290 "vs_r7_r10_r0_LSL_r6"},
2291 {{cs, r14, r2, r12, LSL, r12},
2292 false,
2293 al,
2294 "cs r14 r2 r12 LSL r12",
2295 "cs_r14_r2_r12_LSL_r12"},
2296 {{ls, r3, r5, r0, LSR, r10},
2297 false,
2298 al,
2299 "ls r3 r5 r0 LSR r10",
2300 "ls_r3_r5_r0_LSR_r10"},
2301 {{gt, r0, r12, r13, ROR, r1},
2302 false,
2303 al,
2304 "gt r0 r12 r13 ROR r1",
2305 "gt_r0_r12_r13_ROR_r1"},
2306 {{al, r4, r12, r1, ROR, r7},
2307 false,
2308 al,
2309 "al r4 r12 r1 ROR r7",
2310 "al_r4_r12_r1_ROR_r7"},
2311 {{hi, r6, r1, r10, LSL, r6},
2312 false,
2313 al,
2314 "hi r6 r1 r10 LSL r6",
2315 "hi_r6_r1_r10_LSL_r6"},
2316 {{ne, r9, r2, r0, ROR, r7},
2317 false,
2318 al,
2319 "ne r9 r2 r0 ROR r7",
2320 "ne_r9_r2_r0_ROR_r7"},
2321 {{le, r5, r7, r5, LSR, r0},
2322 false,
2323 al,
2324 "le r5 r7 r5 LSR r0",
2325 "le_r5_r7_r5_LSR_r0"},
2326 {{vs, r8, r11, r9, ROR, r10},
2327 false,
2328 al,
2329 "vs r8 r11 r9 ROR r10",
2330 "vs_r8_r11_r9_ROR_r10"},
2331 {{gt, r6, r11, r12, ROR, r1},
2332 false,
2333 al,
2334 "gt r6 r11 r12 ROR r1",
2335 "gt_r6_r11_r12_ROR_r1"},
2336 {{ne, r2, r10, r4, ASR, r14},
2337 false,
2338 al,
2339 "ne r2 r10 r4 ASR r14",
2340 "ne_r2_r10_r4_ASR_r14"},
2341 {{al, r8, r7, r0, ROR, r8},
2342 false,
2343 al,
2344 "al r8 r7 r0 ROR r8",
2345 "al_r8_r7_r0_ROR_r8"},
2346 {{hi, r7, r10, r10, LSR, r3},
2347 false,
2348 al,
2349 "hi r7 r10 r10 LSR r3",
2350 "hi_r7_r10_r10_LSR_r3"},
2351 {{cs, r5, r5, r4, LSL, r1},
2352 false,
2353 al,
2354 "cs r5 r5 r4 LSL r1",
2355 "cs_r5_r5_r4_LSL_r1"},
2356 {{gt, r11, r14, r14, LSL, r7},
2357 false,
2358 al,
2359 "gt r11 r14 r14 LSL r7",
2360 "gt_r11_r14_r14_LSL_r7"},
2361 {{lt, r1, r8, r1, LSR, r2},
2362 false,
2363 al,
2364 "lt r1 r8 r1 LSR r2",
2365 "lt_r1_r8_r1_LSR_r2"},
2366 {{hi, r2, r12, r9, ASR, r4},
2367 false,
2368 al,
2369 "hi r2 r12 r9 ASR r4",
2370 "hi_r2_r12_r9_ASR_r4"},
2371 {{eq, r8, r6, r7, ASR, r3},
2372 false,
2373 al,
2374 "eq r8 r6 r7 ASR r3",
2375 "eq_r8_r6_r7_ASR_r3"},
2376 {{mi, r7, r7, r1, ROR, r1},
2377 false,
2378 al,
2379 "mi r7 r7 r1 ROR r1",
2380 "mi_r7_r7_r1_ROR_r1"},
2381 {{cc, r12, r3, r13, LSL, r4},
2382 false,
2383 al,
2384 "cc r12 r3 r13 LSL r4",
2385 "cc_r12_r3_r13_LSL_r4"},
2386 {{vs, r14, r1, r0, ASR, r4},
2387 false,
2388 al,
2389 "vs r14 r1 r0 ASR r4",
2390 "vs_r14_r1_r0_ASR_r4"},
2391 {{lt, r6, r2, r12, LSR, r4},
2392 false,
2393 al,
2394 "lt r6 r2 r12 LSR r4",
2395 "lt_r6_r2_r12_LSR_r4"},
2396 {{pl, r13, r3, r1, LSL, r2},
2397 false,
2398 al,
2399 "pl r13 r3 r1 LSL r2",
2400 "pl_r13_r3_r1_LSL_r2"},
2401 {{ne, r7, r14, r5, ROR, r10},
2402 false,
2403 al,
2404 "ne r7 r14 r5 ROR r10",
2405 "ne_r7_r14_r5_ROR_r10"},
2406 {{al, r9, r8, r9, LSL, r0},
2407 false,
2408 al,
2409 "al r9 r8 r9 LSL r0",
2410 "al_r9_r8_r9_LSL_r0"},
2411 {{ge, r8, r7, r3, LSL, r13},
2412 false,
2413 al,
2414 "ge r8 r7 r3 LSL r13",
2415 "ge_r8_r7_r3_LSL_r13"},
2416 {{lt, r12, r10, r4, ROR, r13},
2417 false,
2418 al,
2419 "lt r12 r10 r4 ROR r13",
2420 "lt_r12_r10_r4_ROR_r13"},
2421 {{vs, r9, r14, r5, LSR, r2},
2422 false,
2423 al,
2424 "vs r9 r14 r5 LSR r2",
2425 "vs_r9_r14_r5_LSR_r2"},
2426 {{pl, r4, r10, r0, ROR, r13},
2427 false,
2428 al,
2429 "pl r4 r10 r0 ROR r13",
2430 "pl_r4_r10_r0_ROR_r13"},
2431 {{vc, r1, r14, r5, ASR, r14},
2432 false,
2433 al,
2434 "vc r1 r14 r5 ASR r14",
2435 "vc_r1_r14_r5_ASR_r14"},
2436 {{vs, r10, r3, r8, LSR, r10},
2437 false,
2438 al,
2439 "vs r10 r3 r8 LSR r10",
2440 "vs_r10_r3_r8_LSR_r10"},
2441 {{eq, r1, r4, r11, ROR, r2},
2442 false,
2443 al,
2444 "eq r1 r4 r11 ROR r2",
2445 "eq_r1_r4_r11_ROR_r2"},
2446 {{pl, r2, r6, r10, LSL, r4},
2447 false,
2448 al,
2449 "pl r2 r6 r10 LSL r4",
2450 "pl_r2_r6_r10_LSL_r4"},
2451 {{ne, r9, r0, r3, ASR, r13},
2452 false,
2453 al,
2454 "ne r9 r0 r3 ASR r13",
2455 "ne_r9_r0_r3_ASR_r13"},
2456 {{gt, r10, r5, r5, ROR, r1},
2457 false,
2458 al,
2459 "gt r10 r5 r5 ROR r1",
2460 "gt_r10_r5_r5_ROR_r1"},
2461 {{gt, r0, r8, r2, LSL, r2},
2462 false,
2463 al,
2464 "gt r0 r8 r2 LSL r2",
2465 "gt_r0_r8_r2_LSL_r2"},
2466 {{pl, r10, r9, r10, LSL, r10},
2467 false,
2468 al,
2469 "pl r10 r9 r10 LSL r10",
2470 "pl_r10_r9_r10_LSL_r10"},
2471 {{ls, r5, r10, r0, LSR, r5},
2472 false,
2473 al,
2474 "ls r5 r10 r0 LSR r5",
2475 "ls_r5_r10_r0_LSR_r5"},
2476 {{al, r5, r10, r4, ROR, r9},
2477 false,
2478 al,
2479 "al r5 r10 r4 ROR r9",
2480 "al_r5_r10_r4_ROR_r9"},
2481 {{hi, r10, r7, r1, ROR, r10},
2482 false,
2483 al,
2484 "hi r10 r7 r1 ROR r10",
2485 "hi_r10_r7_r1_ROR_r10"},
2486 {{cs, r10, r12, r11, ROR, r9},
2487 false,
2488 al,
2489 "cs r10 r12 r11 ROR r9",
2490 "cs_r10_r12_r11_ROR_r9"},
2491 {{vs, r4, r0, r6, ASR, r3},
2492 false,
2493 al,
2494 "vs r4 r0 r6 ASR r3",
2495 "vs_r4_r0_r6_ASR_r3"},
2496 {{hi, r8, r3, r4, LSR, r8},
2497 false,
2498 al,
2499 "hi r8 r3 r4 LSR r8",
2500 "hi_r8_r3_r4_LSR_r8"},
2501 {{mi, r4, r2, r1, ROR, r6},
2502 false,
2503 al,
2504 "mi r4 r2 r1 ROR r6",
2505 "mi_r4_r2_r1_ROR_r6"},
2506 {{cs, r7, r5, r4, LSR, r3},
2507 false,
2508 al,
2509 "cs r7 r5 r4 LSR r3",
2510 "cs_r7_r5_r4_LSR_r3"},
2511 {{le, r12, r12, r9, ASR, r4},
2512 false,
2513 al,
2514 "le r12 r12 r9 ASR r4",
2515 "le_r12_r12_r9_ASR_r4"},
2516 {{vc, r7, r4, r13, LSR, r8},
2517 false,
2518 al,
2519 "vc r7 r4 r13 LSR r8",
2520 "vc_r7_r4_r13_LSR_r8"},
2521 {{le, r0, r14, r14, ROR, r9},
2522 false,
2523 al,
2524 "le r0 r14 r14 ROR r9",
2525 "le_r0_r14_r14_ROR_r9"},
2526 {{le, r0, r8, r13, LSL, r2},
2527 false,
2528 al,
2529 "le r0 r8 r13 LSL r2",
2530 "le_r0_r8_r13_LSL_r2"},
2531 {{vc, r6, r3, r0, LSL, r6},
2532 false,
2533 al,
2534 "vc r6 r3 r0 LSL r6",
2535 "vc_r6_r3_r0_LSL_r6"},
2536 {{vc, r12, r1, r11, ASR, r8},
2537 false,
2538 al,
2539 "vc r12 r1 r11 ASR r8",
2540 "vc_r12_r1_r11_ASR_r8"},
2541 {{lt, r13, r10, r0, LSL, r9},
2542 false,
2543 al,
2544 "lt r13 r10 r0 LSL r9",
2545 "lt_r13_r10_r0_LSL_r9"},
2546 {{cc, r0, r1, r0, ASR, r6},
2547 false,
2548 al,
2549 "cc r0 r1 r0 ASR r6",
2550 "cc_r0_r1_r0_ASR_r6"},
2551 {{eq, r12, r12, r14, LSR, r12},
2552 false,
2553 al,
2554 "eq r12 r12 r14 LSR r12",
2555 "eq_r12_r12_r14_LSR_r12"},
2556 {{eq, r7, r12, r3, LSR, r7},
2557 false,
2558 al,
2559 "eq r7 r12 r3 LSR r7",
2560 "eq_r7_r12_r3_LSR_r7"},
2561 {{lt, r6, r4, r6, ASR, r4},
2562 false,
2563 al,
2564 "lt r6 r4 r6 ASR r4",
2565 "lt_r6_r4_r6_ASR_r4"},
2566 {{vs, r0, r3, r3, ROR, r8},
2567 false,
2568 al,
2569 "vs r0 r3 r3 ROR r8",
2570 "vs_r0_r3_r3_ROR_r8"},
2571 {{vc, r2, r12, r3, LSR, r14},
2572 false,
2573 al,
2574 "vc r2 r12 r3 LSR r14",
2575 "vc_r2_r12_r3_LSR_r14"},
2576 {{ne, r2, r0, r14, ASR, r9},
2577 false,
2578 al,
2579 "ne r2 r0 r14 ASR r9",
2580 "ne_r2_r0_r14_ASR_r9"},
2581 {{al, r14, r2, r4, ROR, r10},
2582 false,
2583 al,
2584 "al r14 r2 r4 ROR r10",
2585 "al_r14_r2_r4_ROR_r10"},
2586 {{ge, r10, r3, r12, LSR, r12},
2587 false,
2588 al,
2589 "ge r10 r3 r12 LSR r12",
2590 "ge_r10_r3_r12_LSR_r12"},
2591 {{pl, r6, r11, r8, LSL, r14},
2592 false,
2593 al,
2594 "pl r6 r11 r8 LSL r14",
2595 "pl_r6_r11_r8_LSL_r14"},
2596 {{gt, r8, r1, r7, LSR, r0},
2597 false,
2598 al,
2599 "gt r8 r1 r7 LSR r0",
2600 "gt_r8_r1_r7_LSR_r0"},
2601 {{eq, r1, r14, r6, ASR, r12},
2602 false,
2603 al,
2604 "eq r1 r14 r6 ASR r12",
2605 "eq_r1_r14_r6_ASR_r12"},
2606 {{gt, r8, r1, r11, LSR, r7},
2607 false,
2608 al,
2609 "gt r8 r1 r11 LSR r7",
2610 "gt_r8_r1_r11_LSR_r7"},
2611 {{cc, r4, r13, r4, ROR, r4},
2612 false,
2613 al,
2614 "cc r4 r13 r4 ROR r4",
2615 "cc_r4_r13_r4_ROR_r4"},
2616 {{vc, r5, r0, r12, LSR, r11},
2617 false,
2618 al,
2619 "vc r5 r0 r12 LSR r11",
2620 "vc_r5_r0_r12_LSR_r11"},
2621 {{eq, r3, r0, r1, LSL, r13},
2622 false,
2623 al,
2624 "eq r3 r0 r1 LSL r13",
2625 "eq_r3_r0_r1_LSL_r13"},
2626 {{lt, r1, r0, r11, ASR, r6},
2627 false,
2628 al,
2629 "lt r1 r0 r11 ASR r6",
2630 "lt_r1_r0_r11_ASR_r6"},
2631 {{hi, r6, r2, r1, ASR, r0},
2632 false,
2633 al,
2634 "hi r6 r2 r1 ASR r0",
2635 "hi_r6_r2_r1_ASR_r0"},
2636 {{eq, r1, r2, r11, LSL, r11},
2637 false,
2638 al,
2639 "eq r1 r2 r11 LSL r11",
2640 "eq_r1_r2_r11_LSL_r11"},
2641 {{cs, r12, r9, r14, ROR, r10},
2642 false,
2643 al,
2644 "cs r12 r9 r14 ROR r10",
2645 "cs_r12_r9_r14_ROR_r10"},
2646 {{ne, r8, r10, r7, ROR, r0},
2647 false,
2648 al,
2649 "ne r8 r10 r7 ROR r0",
2650 "ne_r8_r10_r7_ROR_r0"},
2651 {{pl, r8, r14, r8, ASR, r10},
2652 false,
2653 al,
2654 "pl r8 r14 r8 ASR r10",
2655 "pl_r8_r14_r8_ASR_r10"},
2656 {{cc, r4, r3, r10, LSR, r9},
2657 false,
2658 al,
2659 "cc r4 r3 r10 LSR r9",
2660 "cc_r4_r3_r10_LSR_r9"},
2661 {{le, r4, r1, r2, ASR, r6},
2662 false,
2663 al,
2664 "le r4 r1 r2 ASR r6",
2665 "le_r4_r1_r2_ASR_r6"},
2666 {{vs, r0, r3, r5, ASR, r3},
2667 false,
2668 al,
2669 "vs r0 r3 r5 ASR r3",
2670 "vs_r0_r3_r5_ASR_r3"},
2671 {{lt, r5, r14, r1, ROR, r12},
2672 false,
2673 al,
2674 "lt r5 r14 r1 ROR r12",
2675 "lt_r5_r14_r1_ROR_r12"},
2676 {{lt, r2, r0, r14, LSL, r13},
2677 false,
2678 al,
2679 "lt r2 r0 r14 LSL r13",
2680 "lt_r2_r0_r14_LSL_r13"},
2681 {{cs, r5, r12, r12, ASR, r3},
2682 false,
2683 al,
2684 "cs r5 r12 r12 ASR r3",
2685 "cs_r5_r12_r12_ASR_r3"},
2686 {{ls, r14, r1, r2, ROR, r7},
2687 false,
2688 al,
2689 "ls r14 r1 r2 ROR r7",
2690 "ls_r14_r1_r2_ROR_r7"},
2691 {{ge, r6, r3, r14, ROR, r4},
2692 false,
2693 al,
2694 "ge r6 r3 r14 ROR r4",
2695 "ge_r6_r3_r14_ROR_r4"},
2696 {{al, r13, r1, r9, ROR, r10},
2697 false,
2698 al,
2699 "al r13 r1 r9 ROR r10",
2700 "al_r13_r1_r9_ROR_r10"},
2701 {{al, r0, r4, r5, ASR, r2},
2702 false,
2703 al,
2704 "al r0 r4 r5 ASR r2",
2705 "al_r0_r4_r5_ASR_r2"},
2706 {{cc, r6, r13, r12, ASR, r8},
2707 false,
2708 al,
2709 "cc r6 r13 r12 ASR r8",
2710 "cc_r6_r13_r12_ASR_r8"},
2711 {{eq, r0, r14, r13, LSR, r10},
2712 false,
2713 al,
2714 "eq r0 r14 r13 LSR r10",
2715 "eq_r0_r14_r13_LSR_r10"},
2716 {{vs, r5, r8, r6, ASR, r7},
2717 false,
2718 al,
2719 "vs r5 r8 r6 ASR r7",
2720 "vs_r5_r8_r6_ASR_r7"},
2721 {{cs, r9, r2, r10, LSL, r9},
2722 false,
2723 al,
2724 "cs r9 r2 r10 LSL r9",
2725 "cs_r9_r2_r10_LSL_r9"},
2726 {{hi, r3, r0, r13, ASR, r5},
2727 false,
2728 al,
2729 "hi r3 r0 r13 ASR r5",
2730 "hi_r3_r0_r13_ASR_r5"},
2731 {{al, r9, r10, r10, ASR, r5},
2732 false,
2733 al,
2734 "al r9 r10 r10 ASR r5",
2735 "al_r9_r10_r10_ASR_r5"},
2736 {{eq, r3, r13, r3, LSL, r9},
2737 false,
2738 al,
2739 "eq r3 r13 r3 LSL r9",
2740 "eq_r3_r13_r3_LSL_r9"},
2741 {{al, r0, r3, r13, LSL, r13},
2742 false,
2743 al,
2744 "al r0 r3 r13 LSL r13",
2745 "al_r0_r3_r13_LSL_r13"},
2746 {{le, r0, r14, r10, ASR, r5},
2747 false,
2748 al,
2749 "le r0 r14 r10 ASR r5",
2750 "le_r0_r14_r10_ASR_r5"},
2751 {{vs, r14, r1, r3, ASR, r0},
2752 false,
2753 al,
2754 "vs r14 r1 r3 ASR r0",
2755 "vs_r14_r1_r3_ASR_r0"},
2756 {{pl, r8, r9, r3, LSL, r10},
2757 false,
2758 al,
2759 "pl r8 r9 r3 LSL r10",
2760 "pl_r8_r9_r3_LSL_r10"},
2761 {{ge, r13, r9, r0, ROR, r0},
2762 false,
2763 al,
2764 "ge r13 r9 r0 ROR r0",
2765 "ge_r13_r9_r0_ROR_r0"},
2766 {{gt, r14, r11, r1, LSR, r0},
2767 false,
2768 al,
2769 "gt r14 r11 r1 LSR r0",
2770 "gt_r14_r11_r1_LSR_r0"},
2771 {{ls, r9, r2, r9, ROR, r14},
2772 false,
2773 al,
2774 "ls r9 r2 r9 ROR r14",
2775 "ls_r9_r2_r9_ROR_r14"},
2776 {{mi, r12, r4, r9, LSR, r7},
2777 false,
2778 al,
2779 "mi r12 r4 r9 LSR r7",
2780 "mi_r12_r4_r9_LSR_r7"},
2781 {{lt, r9, r14, r5, ASR, r14},
2782 false,
2783 al,
2784 "lt r9 r14 r5 ASR r14",
2785 "lt_r9_r14_r5_ASR_r14"},
2786 {{ne, r11, r8, r12, LSL, r14},
2787 false,
2788 al,
2789 "ne r11 r8 r12 LSL r14",
2790 "ne_r11_r8_r12_LSL_r14"},
2791 {{lt, r3, r11, r12, LSR, r3},
2792 false,
2793 al,
2794 "lt r3 r11 r12 LSR r3",
2795 "lt_r3_r11_r12_LSR_r3"},
2796 {{cs, r8, r12, r8, LSL, r13},
2797 false,
2798 al,
2799 "cs r8 r12 r8 LSL r13",
2800 "cs_r8_r12_r8_LSL_r13"},
2801 {{gt, r1, r4, r4, LSL, r5},
2802 false,
2803 al,
2804 "gt r1 r4 r4 LSL r5",
2805 "gt_r1_r4_r4_LSL_r5"},
2806 {{ge, r5, r12, r10, ASR, r13},
2807 false,
2808 al,
2809 "ge r5 r12 r10 ASR r13",
2810 "ge_r5_r12_r10_ASR_r13"},
2811 {{cs, r1, r6, r9, LSL, r6},
2812 false,
2813 al,
2814 "cs r1 r6 r9 LSL r6",
2815 "cs_r1_r6_r9_LSL_r6"},
2816 {{pl, r0, r13, r7, ASR, r8},
2817 false,
2818 al,
2819 "pl r0 r13 r7 ASR r8",
2820 "pl_r0_r13_r7_ASR_r8"},
2821 {{lt, r8, r11, r9, LSL, r4},
2822 false,
2823 al,
2824 "lt r8 r11 r9 LSL r4",
2825 "lt_r8_r11_r9_LSL_r4"},
2826 {{hi, r9, r1, r6, LSL, r6},
2827 false,
2828 al,
2829 "hi r9 r1 r6 LSL r6",
2830 "hi_r9_r1_r6_LSL_r6"},
2831 {{cc, r11, r9, r10, ASR, r2},
2832 false,
2833 al,
2834 "cc r11 r9 r10 ASR r2",
2835 "cc_r11_r9_r10_ASR_r2"},
2836 {{gt, r4, r0, r10, LSR, r4},
2837 false,
2838 al,
2839 "gt r4 r0 r10 LSR r4",
2840 "gt_r4_r0_r10_LSR_r4"},
2841 {{al, r8, r10, r4, LSL, r13},
2842 false,
2843 al,
2844 "al r8 r10 r4 LSL r13",
2845 "al_r8_r10_r4_LSL_r13"},
2846 {{vs, r6, r8, r13, ASR, r10},
2847 false,
2848 al,
2849 "vs r6 r8 r13 ASR r10",
2850 "vs_r6_r8_r13_ASR_r10"},
2851 {{mi, r13, r13, r14, ROR, r8},
2852 false,
2853 al,
2854 "mi r13 r13 r14 ROR r8",
2855 "mi_r13_r13_r14_ROR_r8"},
2856 {{mi, r3, r13, r11, LSL, r8},
2857 false,
2858 al,
2859 "mi r3 r13 r11 LSL r8",
2860 "mi_r3_r13_r11_LSL_r8"},
2861 {{cc, r11, r4, r1, LSR, r14},
2862 false,
2863 al,
2864 "cc r11 r4 r1 LSR r14",
2865 "cc_r11_r4_r1_LSR_r14"},
2866 {{al, r6, r7, r9, ASR, r7},
2867 false,
2868 al,
2869 "al r6 r7 r9 ASR r7",
2870 "al_r6_r7_r9_ASR_r7"},
2871 {{cs, r10, r2, r10, LSL, r13},
2872 false,
2873 al,
2874 "cs r10 r2 r10 LSL r13",
2875 "cs_r10_r2_r10_LSL_r13"},
2876 {{eq, r1, r10, r14, ROR, r12},
2877 false,
2878 al,
2879 "eq r1 r10 r14 ROR r12",
2880 "eq_r1_r10_r14_ROR_r12"},
2881 {{ge, r4, r5, r6, LSR, r13},
2882 false,
2883 al,
2884 "ge r4 r5 r6 LSR r13",
2885 "ge_r4_r5_r6_LSR_r13"},
2886 {{cs, r11, r6, r1, LSR, r12},
2887 false,
2888 al,
2889 "cs r11 r6 r1 LSR r12",
2890 "cs_r11_r6_r1_LSR_r12"},
2891 {{lt, r6, r6, r8, LSL, r10},
2892 false,
2893 al,
2894 "lt r6 r6 r8 LSL r10",
2895 "lt_r6_r6_r8_LSL_r10"},
2896 {{mi, r2, r12, r8, LSL, r2},
2897 false,
2898 al,
2899 "mi r2 r12 r8 LSL r2",
2900 "mi_r2_r12_r8_LSL_r2"},
2901 {{le, r2, r11, r3, ROR, r2},
2902 false,
2903 al,
2904 "le r2 r11 r3 ROR r2",
2905 "le_r2_r11_r3_ROR_r2"},
2906 {{eq, r7, r4, r2, LSR, r11},
2907 false,
2908 al,
2909 "eq r7 r4 r2 LSR r11",
2910 "eq_r7_r4_r2_LSR_r11"},
2911 {{pl, r10, r8, r3, ASR, r12},
2912 false,
2913 al,
2914 "pl r10 r8 r3 ASR r12",
2915 "pl_r10_r8_r3_ASR_r12"},
2916 {{ge, r4, r8, r11, ROR, r13},
2917 false,
2918 al,
2919 "ge r4 r8 r11 ROR r13",
2920 "ge_r4_r8_r11_ROR_r13"},
2921 {{ge, r13, r3, r14, LSL, r11},
2922 false,
2923 al,
2924 "ge r13 r3 r14 LSL r11",
2925 "ge_r13_r3_r14_LSL_r11"},
2926 {{cc, r2, r8, r8, LSL, r14},
2927 false,
2928 al,
2929 "cc r2 r8 r8 LSL r14",
2930 "cc_r2_r8_r8_LSL_r14"},
2931 {{le, r3, r2, r5, LSR, r6},
2932 false,
2933 al,
2934 "le r3 r2 r5 LSR r6",
2935 "le_r3_r2_r5_LSR_r6"},
2936 {{ls, r1, r9, r9, ROR, r3},
2937 false,
2938 al,
2939 "ls r1 r9 r9 ROR r3",
2940 "ls_r1_r9_r9_ROR_r3"},
2941 {{pl, r14, r9, r3, ASR, r9},
2942 false,
2943 al,
2944 "pl r14 r9 r3 ASR r9",
2945 "pl_r14_r9_r3_ASR_r9"},
2946 {{cs, r13, r2, r9, ROR, r7},
2947 false,
2948 al,
2949 "cs r13 r2 r9 ROR r7",
2950 "cs_r13_r2_r9_ROR_r7"},
2951 {{eq, r9, r10, r4, ROR, r8},
2952 false,
2953 al,
2954 "eq r9 r10 r4 ROR r8",
2955 "eq_r9_r10_r4_ROR_r8"},
2956 {{lt, r1, r2, r0, ROR, r9},
2957 false,
2958 al,
2959 "lt r1 r2 r0 ROR r9",
2960 "lt_r1_r2_r0_ROR_r9"},
2961 {{hi, r14, r1, r2, LSR, r8},
2962 false,
2963 al,
2964 "hi r14 r1 r2 LSR r8",
2965 "hi_r14_r1_r2_LSR_r8"},
2966 {{ne, r10, r7, r3, ROR, r13},
2967 false,
2968 al,
2969 "ne r10 r7 r3 ROR r13",
2970 "ne_r10_r7_r3_ROR_r13"},
2971 {{ls, r3, r6, r3, LSL, r1},
2972 false,
2973 al,
2974 "ls r3 r6 r3 LSL r1",
2975 "ls_r3_r6_r3_LSL_r1"},
2976 {{eq, r3, r0, r12, ROR, r6},
2977 false,
2978 al,
2979 "eq r3 r0 r12 ROR r6",
2980 "eq_r3_r0_r12_ROR_r6"},
2981 {{cc, r7, r4, r8, LSL, r6},
2982 false,
2983 al,
2984 "cc r7 r4 r8 LSL r6",
2985 "cc_r7_r4_r8_LSL_r6"},
2986 {{al, r0, r7, r2, LSR, r3},
2987 false,
2988 al,
2989 "al r0 r7 r2 LSR r3",
2990 "al_r0_r7_r2_LSR_r3"},
2991 {{pl, r13, r4, r14, ASR, r10},
2992 false,
2993 al,
2994 "pl r13 r4 r14 ASR r10",
2995 "pl_r13_r4_r14_ASR_r10"},
2996 {{vs, r7, r14, r4, ASR, r12},
2997 false,
2998 al,
2999 "vs r7 r14 r4 ASR r12",
3000 "vs_r7_r14_r4_ASR_r12"},
3001 {{al, r3, r2, r12, ASR, r13},
3002 false,
3003 al,
3004 "al r3 r2 r12 ASR r13",
3005 "al_r3_r2_r12_ASR_r13"},
3006 {{vs, r12, r13, r12, LSL, r2},
3007 false,
3008 al,
3009 "vs r12 r13 r12 LSL r2",
3010 "vs_r12_r13_r12_LSL_r2"},
3011 {{ge, r8, r7, r10, LSR, r8},
3012 false,
3013 al,
3014 "ge r8 r7 r10 LSR r8",
3015 "ge_r8_r7_r10_LSR_r8"},
3016 {{vs, r14, r10, r1, LSR, r0},
3017 false,
3018 al,
3019 "vs r14 r10 r1 LSR r0",
3020 "vs_r14_r10_r1_LSR_r0"},
3021 {{ls, r13, r11, r6, LSL, r6},
3022 false,
3023 al,
3024 "ls r13 r11 r6 LSL r6",
3025 "ls_r13_r11_r6_LSL_r6"},
3026 {{ne, r3, r1, r2, ASR, r6},
3027 false,
3028 al,
3029 "ne r3 r1 r2 ASR r6",
3030 "ne_r3_r1_r2_ASR_r6"},
3031 {{cs, r2, r9, r11, ROR, r0},
3032 false,
3033 al,
3034 "cs r2 r9 r11 ROR r0",
3035 "cs_r2_r9_r11_ROR_r0"},
3036 {{ls, r7, r12, r9, LSR, r5},
3037 false,
3038 al,
3039 "ls r7 r12 r9 LSR r5",
3040 "ls_r7_r12_r9_LSR_r5"},
3041 {{ls, r13, r9, r11, ASR, r8},
3042 false,
3043 al,
3044 "ls r13 r9 r11 ASR r8",
3045 "ls_r13_r9_r11_ASR_r8"},
3046 {{mi, r6, r7, r4, ASR, r0},
3047 false,
3048 al,
3049 "mi r6 r7 r4 ASR r0",
3050 "mi_r6_r7_r4_ASR_r0"},
3051 {{cc, r10, r7, r3, ROR, r2},
3052 false,
3053 al,
3054 "cc r10 r7 r3 ROR r2",
3055 "cc_r10_r7_r3_ROR_r2"},
3056 {{ne, r3, r8, r12, ROR, r1},
3057 false,
3058 al,
3059 "ne r3 r8 r12 ROR r1",
3060 "ne_r3_r8_r12_ROR_r1"},
3061 {{hi, r5, r11, r7, ROR, r11},
3062 false,
3063 al,
3064 "hi r5 r11 r7 ROR r11",
3065 "hi_r5_r11_r7_ROR_r11"},
3066 {{eq, r12, r10, r1, LSL, r0},
3067 false,
3068 al,
3069 "eq r12 r10 r1 LSL r0",
3070 "eq_r12_r10_r1_LSL_r0"},
3071 {{mi, r2, r7, r0, LSR, r10},
3072 false,
3073 al,
3074 "mi r2 r7 r0 LSR r10",
3075 "mi_r2_r7_r0_LSR_r10"},
3076 {{ge, r8, r5, r12, LSR, r6},
3077 false,
3078 al,
3079 "ge r8 r5 r12 LSR r6",
3080 "ge_r8_r5_r12_LSR_r6"},
3081 {{vc, r1, r0, r14, ROR, r4},
3082 false,
3083 al,
3084 "vc r1 r0 r14 ROR r4",
3085 "vc_r1_r0_r14_ROR_r4"},
3086 {{gt, r5, r2, r1, LSR, r0},
3087 false,
3088 al,
3089 "gt r5 r2 r1 LSR r0",
3090 "gt_r5_r2_r1_LSR_r0"},
3091 {{cs, r1, r1, r2, LSR, r5},
3092 false,
3093 al,
3094 "cs r1 r1 r2 LSR r5",
3095 "cs_r1_r1_r2_LSR_r5"},
3096 {{ge, r9, r14, r9, ASR, r3},
3097 false,
3098 al,
3099 "ge r9 r14 r9 ASR r3",
3100 "ge_r9_r14_r9_ASR_r3"},
3101 {{gt, r9, r1, r10, LSR, r14},
3102 false,
3103 al,
3104 "gt r9 r1 r10 LSR r14",
3105 "gt_r9_r1_r10_LSR_r14"},
3106 {{ls, r3, r5, r2, ASR, r7},
3107 false,
3108 al,
3109 "ls r3 r5 r2 ASR r7",
3110 "ls_r3_r5_r2_ASR_r7"},
3111 {{ls, r7, r11, r8, LSR, r12},
3112 false,
3113 al,
3114 "ls r7 r11 r8 LSR r12",
3115 "ls_r7_r11_r8_LSR_r12"},
3116 {{ls, r14, r9, r6, LSR, r9},
3117 false,
3118 al,
3119 "ls r14 r9 r6 LSR r9",
3120 "ls_r14_r9_r6_LSR_r9"},
3121 {{cs, r2, r12, r10, ROR, r5},
3122 false,
3123 al,
3124 "cs r2 r12 r10 ROR r5",
3125 "cs_r2_r12_r10_ROR_r5"},
3126 {{eq, r8, r6, r14, LSR, r9},
3127 false,
3128 al,
3129 "eq r8 r6 r14 LSR r9",
3130 "eq_r8_r6_r14_LSR_r9"},
3131 {{lt, r8, r0, r14, ASR, r12},
3132 false,
3133 al,
3134 "lt r8 r0 r14 ASR r12",
3135 "lt_r8_r0_r14_ASR_r12"},
3136 {{al, r14, r7, r8, ROR, r8},
3137 false,
3138 al,
3139 "al r14 r7 r8 ROR r8",
3140 "al_r14_r7_r8_ROR_r8"},
3141 {{lt, r5, r12, r3, LSL, r5},
3142 false,
3143 al,
3144 "lt r5 r12 r3 LSL r5",
3145 "lt_r5_r12_r3_LSL_r5"},
3146 {{gt, r0, r0, r3, ROR, r12},
3147 false,
3148 al,
3149 "gt r0 r0 r3 ROR r12",
3150 "gt_r0_r0_r3_ROR_r12"},
3151 {{ge, r6, r5, r10, ASR, r13},
3152 false,
3153 al,
3154 "ge r6 r5 r10 ASR r13",
3155 "ge_r6_r5_r10_ASR_r13"},
3156 {{vc, r5, r11, r6, LSL, r11},
3157 false,
3158 al,
3159 "vc r5 r11 r6 LSL r11",
3160 "vc_r5_r11_r6_LSL_r11"},
3161 {{gt, r10, r5, r9, LSR, r3},
3162 false,
3163 al,
3164 "gt r10 r5 r9 LSR r3",
3165 "gt_r10_r5_r9_LSR_r3"},
3166 {{vc, r14, r3, r12, LSL, r2},
3167 false,
3168 al,
3169 "vc r14 r3 r12 LSL r2",
3170 "vc_r14_r3_r12_LSL_r2"},
3171 {{eq, r12, r2, r13, LSL, r6},
3172 false,
3173 al,
3174 "eq r12 r2 r13 LSL r6",
3175 "eq_r12_r2_r13_LSL_r6"},
3176 {{le, r5, r7, r12, LSL, r10},
3177 false,
3178 al,
3179 "le r5 r7 r12 LSL r10",
3180 "le_r5_r7_r12_LSL_r10"},
3181 {{cc, r8, r4, r1, LSR, r3},
3182 false,
3183 al,
3184 "cc r8 r4 r1 LSR r3",
3185 "cc_r8_r4_r1_LSR_r3"},
3186 {{ne, r2, r13, r1, LSL, r13},
3187 false,
3188 al,
3189 "ne r2 r13 r1 LSL r13",
3190 "ne_r2_r13_r1_LSL_r13"},
3191 {{ls, r14, r7, r8, ASR, r0},
3192 false,
3193 al,
3194 "ls r14 r7 r8 ASR r0",
3195 "ls_r14_r7_r8_ASR_r0"},
3196 {{mi, r3, r0, r5, ASR, r8},
3197 false,
3198 al,
3199 "mi r3 r0 r5 ASR r8",
3200 "mi_r3_r0_r5_ASR_r8"},
3201 {{mi, r2, r3, r1, LSL, r3},
3202 false,
3203 al,
3204 "mi r2 r3 r1 LSL r3",
3205 "mi_r2_r3_r1_LSL_r3"},
3206 {{vs, r14, r4, r4, LSR, r5},
3207 false,
3208 al,
3209 "vs r14 r4 r4 LSR r5",
3210 "vs_r14_r4_r4_LSR_r5"},
3211 {{le, r7, r3, r1, LSL, r10},
3212 false,
3213 al,
3214 "le r7 r3 r1 LSL r10",
3215 "le_r7_r3_r1_LSL_r10"},
3216 {{mi, r7, r14, r4, ASR, r14},
3217 false,
3218 al,
3219 "mi r7 r14 r4 ASR r14",
3220 "mi_r7_r14_r4_ASR_r14"},
3221 {{mi, r11, r5, r4, ASR, r13},
3222 false,
3223 al,
3224 "mi r11 r5 r4 ASR r13",
3225 "mi_r11_r5_r4_ASR_r13"},
3226 {{vs, r3, r10, r5, LSR, r9},
3227 false,
3228 al,
3229 "vs r3 r10 r5 LSR r9",
3230 "vs_r3_r10_r5_LSR_r9"},
3231 {{hi, r11, r3, r11, LSR, r7},
3232 false,
3233 al,
3234 "hi r11 r3 r11 LSR r7",
3235 "hi_r11_r3_r11_LSR_r7"},
3236 {{ls, r14, r4, r10, LSL, r13},
3237 false,
3238 al,
3239 "ls r14 r4 r10 LSL r13",
3240 "ls_r14_r4_r10_LSL_r13"},
3241 {{cc, r11, r0, r13, LSL, r7},
3242 false,
3243 al,
3244 "cc r11 r0 r13 LSL r7",
3245 "cc_r11_r0_r13_LSL_r7"},
3246 {{al, r10, r3, r7, ASR, r0},
3247 false,
3248 al,
3249 "al r10 r3 r7 ASR r0",
3250 "al_r10_r3_r7_ASR_r0"},
3251 {{cs, r4, r7, r1, ROR, r8},
3252 false,
3253 al,
3254 "cs r4 r7 r1 ROR r8",
3255 "cs_r4_r7_r1_ROR_r8"},
3256 {{lt, r4, r0, r2, LSR, r5},
3257 false,
3258 al,
3259 "lt r4 r0 r2 LSR r5",
3260 "lt_r4_r0_r2_LSR_r5"},
3261 {{eq, r0, r11, r9, LSL, r8},
3262 false,
3263 al,
3264 "eq r0 r11 r9 LSL r8",
3265 "eq_r0_r11_r9_LSL_r8"},
3266 {{mi, r6, r1, r4, LSL, r13},
3267 false,
3268 al,
3269 "mi r6 r1 r4 LSL r13",
3270 "mi_r6_r1_r4_LSL_r13"},
3271 {{lt, r8, r13, r9, ASR, r5},
3272 false,
3273 al,
3274 "lt r8 r13 r9 ASR r5",
3275 "lt_r8_r13_r9_ASR_r5"},
3276 {{lt, r13, r7, r1, ROR, r0},
3277 false,
3278 al,
3279 "lt r13 r7 r1 ROR r0",
3280 "lt_r13_r7_r1_ROR_r0"},
3281 {{hi, r12, r10, r5, ASR, r5},
3282 false,
3283 al,
3284 "hi r12 r10 r5 ASR r5",
3285 "hi_r12_r10_r5_ASR_r5"},
3286 {{hi, r12, r11, r7, ROR, r3},
3287 false,
3288 al,
3289 "hi r12 r11 r7 ROR r3",
3290 "hi_r12_r11_r7_ROR_r3"},
3291 {{ge, r8, r5, r0, ASR, r14},
3292 false,
3293 al,
3294 "ge r8 r5 r0 ASR r14",
3295 "ge_r8_r5_r0_ASR_r14"},
3296 {{mi, r5, r0, r11, LSR, r10},
3297 false,
3298 al,
3299 "mi r5 r0 r11 LSR r10",
3300 "mi_r5_r0_r11_LSR_r10"},
3301 {{vs, r10, r11, r2, LSR, r0},
3302 false,
3303 al,
3304 "vs r10 r11 r2 LSR r0",
3305 "vs_r10_r11_r2_LSR_r0"},
3306 {{ls, r10, r8, r6, ROR, r3},
3307 false,
3308 al,
3309 "ls r10 r8 r6 ROR r3",
3310 "ls_r10_r8_r6_ROR_r3"},
3311 {{gt, r10, r0, r2, ROR, r3},
3312 false,
3313 al,
3314 "gt r10 r0 r2 ROR r3",
3315 "gt_r10_r0_r2_ROR_r3"},
3316 {{vs, r4, r10, r10, LSL, r5},
3317 false,
3318 al,
3319 "vs r4 r10 r10 LSL r5",
3320 "vs_r4_r10_r10_LSL_r5"},
3321 {{vc, r12, r11, r12, LSR, r2},
3322 false,
3323 al,
3324 "vc r12 r11 r12 LSR r2",
3325 "vc_r12_r11_r12_LSR_r2"},
3326 {{eq, r5, r8, r2, LSR, r1},
3327 false,
3328 al,
3329 "eq r5 r8 r2 LSR r1",
3330 "eq_r5_r8_r2_LSR_r1"},
3331 {{le, r8, r10, r4, LSL, r3},
3332 false,
3333 al,
3334 "le r8 r10 r4 LSL r3",
3335 "le_r8_r10_r4_LSL_r3"},
3336 {{al, r1, r10, r10, ROR, r10},
3337 false,
3338 al,
3339 "al r1 r10 r10 ROR r10",
3340 "al_r1_r10_r10_ROR_r10"},
3341 {{al, r5, r5, r6, ROR, r11},
3342 false,
3343 al,
3344 "al r5 r5 r6 ROR r11",
3345 "al_r5_r5_r6_ROR_r11"},
3346 {{vs, r4, r0, r9, ASR, r4},
3347 false,
3348 al,
3349 "vs r4 r0 r9 ASR r4",
3350 "vs_r4_r0_r9_ASR_r4"},
3351 {{gt, r6, r9, r1, LSL, r9},
3352 false,
3353 al,
3354 "gt r6 r9 r1 LSL r9",
3355 "gt_r6_r9_r1_LSL_r9"},
3356 {{lt, r3, r12, r10, LSR, r0},
3357 false,
3358 al,
3359 "lt r3 r12 r10 LSR r0",
3360 "lt_r3_r12_r10_LSR_r0"},
3361 {{eq, r2, r0, r8, LSR, r0},
3362 false,
3363 al,
3364 "eq r2 r0 r8 LSR r0",
3365 "eq_r2_r0_r8_LSR_r0"},
3366 {{gt, r0, r11, r7, LSR, r14},
3367 false,
3368 al,
3369 "gt r0 r11 r7 LSR r14",
3370 "gt_r0_r11_r7_LSR_r14"},
3371 {{ls, r6, r1, r9, LSL, r10},
3372 false,
3373 al,
3374 "ls r6 r1 r9 LSL r10",
3375 "ls_r6_r1_r9_LSL_r10"},
3376 {{eq, r3, r13, r13, LSL, r13},
3377 false,
3378 al,
3379 "eq r3 r13 r13 LSL r13",
3380 "eq_r3_r13_r13_LSL_r13"},
3381 {{ne, r11, r6, r6, LSR, r11},
3382 false,
3383 al,
3384 "ne r11 r6 r6 LSR r11",
3385 "ne_r11_r6_r6_LSR_r11"},
3386 {{le, r12, r0, r3, LSL, r4},
3387 false,
3388 al,
3389 "le r12 r0 r3 LSL r4",
3390 "le_r12_r0_r3_LSL_r4"},
3391 {{pl, r0, r0, r1, LSR, r6},
3392 false,
3393 al,
3394 "pl r0 r0 r1 LSR r6",
3395 "pl_r0_r0_r1_LSR_r6"},
3396 {{vc, r1, r14, r7, LSL, r9},
3397 false,
3398 al,
3399 "vc r1 r14 r7 LSL r9",
3400 "vc_r1_r14_r7_LSL_r9"},
3401 {{lt, r0, r11, r10, LSR, r13},
3402 false,
3403 al,
3404 "lt r0 r11 r10 LSR r13",
3405 "lt_r0_r11_r10_LSR_r13"},
3406 {{cs, r4, r11, r9, ROR, r7},
3407 false,
3408 al,
3409 "cs r4 r11 r9 ROR r7",
3410 "cs_r4_r11_r9_ROR_r7"},
3411 {{vc, r8, r10, r10, LSR, r14},
3412 false,
3413 al,
3414 "vc r8 r10 r10 LSR r14",
3415 "vc_r8_r10_r10_LSR_r14"},
3416 {{ls, r4, r8, r0, LSR, r6},
3417 false,
3418 al,
3419 "ls r4 r8 r0 LSR r6",
3420 "ls_r4_r8_r0_LSR_r6"},
3421 {{ne, r10, r12, r10, ASR, r3},
3422 false,
3423 al,
3424 "ne r10 r12 r10 ASR r3",
3425 "ne_r10_r12_r10_ASR_r3"},
3426 {{ls, r13, r13, r12, LSL, r0},
3427 false,
3428 al,
3429 "ls r13 r13 r12 LSL r0",
3430 "ls_r13_r13_r12_LSL_r0"},
3431 {{vs, r6, r10, r8, LSR, r11},
3432 false,
3433 al,
3434 "vs r6 r10 r8 LSR r11",
3435 "vs_r6_r10_r8_LSR_r11"},
3436 {{vs, r2, r3, r5, ROR, r1},
3437 false,
3438 al,
3439 "vs r2 r3 r5 ROR r1",
3440 "vs_r2_r3_r5_ROR_r1"},
3441 {{lt, r2, r9, r5, LSR, r5},
3442 false,
3443 al,
3444 "lt r2 r9 r5 LSR r5",
3445 "lt_r2_r9_r5_LSR_r5"},
3446 {{ne, r11, r1, r8, LSL, r8},
3447 false,
3448 al,
3449 "ne r11 r1 r8 LSL r8",
3450 "ne_r11_r1_r8_LSL_r8"},
3451 {{ne, r1, r3, r11, ROR, r10},
3452 false,
3453 al,
3454 "ne r1 r3 r11 ROR r10",
3455 "ne_r1_r3_r11_ROR_r10"},
3456 {{gt, r6, r7, r7, ROR, r6},
3457 false,
3458 al,
3459 "gt r6 r7 r7 ROR r6",
3460 "gt_r6_r7_r7_ROR_r6"},
3461 {{cc, r14, r6, r5, LSR, r5},
3462 false,
3463 al,
3464 "cc r14 r6 r5 LSR r5",
3465 "cc_r14_r6_r5_LSR_r5"},
3466 {{eq, r11, r8, r8, ASR, r10},
3467 false,
3468 al,
3469 "eq r11 r8 r8 ASR r10",
3470 "eq_r11_r8_r8_ASR_r10"},
3471 {{al, r11, r12, r12, ROR, r3},
3472 false,
3473 al,
3474 "al r11 r12 r12 ROR r3",
3475 "al_r11_r12_r12_ROR_r3"},
3476 {{lt, r6, r13, r10, ASR, r6},
3477 false,
3478 al,
3479 "lt r6 r13 r10 ASR r6",
3480 "lt_r6_r13_r10_ASR_r6"},
3481 {{gt, r3, r11, r0, ASR, r2},
3482 false,
3483 al,
3484 "gt r3 r11 r0 ASR r2",
3485 "gt_r3_r11_r0_ASR_r2"},
3486 {{lt, r9, r1, r13, LSL, r6},
3487 false,
3488 al,
3489 "lt r9 r1 r13 LSL r6",
3490 "lt_r9_r1_r13_LSL_r6"},
3491 {{pl, r0, r9, r10, LSL, r9},
3492 false,
3493 al,
3494 "pl r0 r9 r10 LSL r9",
3495 "pl_r0_r9_r10_LSL_r9"},
3496 {{hi, r9, r4, r5, LSL, r14},
3497 false,
3498 al,
3499 "hi r9 r4 r5 LSL r14",
3500 "hi_r9_r4_r5_LSL_r14"},
3501 {{ge, r9, r3, r2, LSL, r7},
3502 false,
3503 al,
3504 "ge r9 r3 r2 LSL r7",
3505 "ge_r9_r3_r2_LSL_r7"},
3506 {{al, r3, r13, r9, ASR, r2},
3507 false,
3508 al,
3509 "al r3 r13 r9 ASR r2",
3510 "al_r3_r13_r9_ASR_r2"},
3511 {{ne, r5, r2, r3, ROR, r6},
3512 false,
3513 al,
3514 "ne r5 r2 r3 ROR r6",
3515 "ne_r5_r2_r3_ROR_r6"},
3516 {{cc, r11, r6, r13, ROR, r4},
3517 false,
3518 al,
3519 "cc r11 r6 r13 ROR r4",
3520 "cc_r11_r6_r13_ROR_r4"},
3521 {{le, r11, r7, r9, LSR, r11},
3522 false,
3523 al,
3524 "le r11 r7 r9 LSR r11",
3525 "le_r11_r7_r9_LSR_r11"},
3526 {{vs, r3, r13, r6, ASR, r7},
3527 false,
3528 al,
3529 "vs r3 r13 r6 ASR r7",
3530 "vs_r3_r13_r6_ASR_r7"},
3531 {{mi, r3, r1, r14, LSL, r0},
3532 false,
3533 al,
3534 "mi r3 r1 r14 LSL r0",
3535 "mi_r3_r1_r14_LSL_r0"},
3536 {{vc, r4, r6, r8, LSR, r7},
3537 false,
3538 al,
3539 "vc r4 r6 r8 LSR r7",
3540 "vc_r4_r6_r8_LSR_r7"},
3541 {{gt, r5, r2, r0, LSL, r6},
3542 false,
3543 al,
3544 "gt r5 r2 r0 LSL r6",
3545 "gt_r5_r2_r0_LSL_r6"},
3546 {{cc, r13, r13, r5, LSR, r10},
3547 false,
3548 al,
3549 "cc r13 r13 r5 LSR r10",
3550 "cc_r13_r13_r5_LSR_r10"},
3551 {{eq, r7, r5, r6, ROR, r12},
3552 false,
3553 al,
3554 "eq r7 r5 r6 ROR r12",
3555 "eq_r7_r5_r6_ROR_r12"},
3556 {{ls, r1, r5, r14, ROR, r0},
3557 false,
3558 al,
3559 "ls r1 r5 r14 ROR r0",
3560 "ls_r1_r5_r14_ROR_r0"},
3561 {{mi, r11, r14, r6, LSL, r5},
3562 false,
3563 al,
3564 "mi r11 r14 r6 LSL r5",
3565 "mi_r11_r14_r6_LSL_r5"},
3566 {{ne, r11, r8, r12, ASR, r0},
3567 false,
3568 al,
3569 "ne r11 r8 r12 ASR r0",
3570 "ne_r11_r8_r12_ASR_r0"},
3571 {{vs, r6, r7, r13, LSL, r9},
3572 false,
3573 al,
3574 "vs r6 r7 r13 LSL r9",
3575 "vs_r6_r7_r13_LSL_r9"},
3576 {{gt, r4, r9, r2, LSR, r9},
3577 false,
3578 al,
3579 "gt r4 r9 r2 LSR r9",
3580 "gt_r4_r9_r2_LSR_r9"},
3581 {{ls, r2, r14, r6, ASR, r12},
3582 false,
3583 al,
3584 "ls r2 r14 r6 ASR r12",
3585 "ls_r2_r14_r6_ASR_r12"},
3586 {{cc, r8, r10, r12, LSL, r8},
3587 false,
3588 al,
3589 "cc r8 r10 r12 LSL r8",
3590 "cc_r8_r10_r12_LSL_r8"},
3591 {{ne, r8, r7, r0, LSL, r9},
3592 false,
3593 al,
3594 "ne r8 r7 r0 LSL r9",
3595 "ne_r8_r7_r0_LSL_r9"},
3596 {{vs, r5, r14, r3, ASR, r10},
3597 false,
3598 al,
3599 "vs r5 r14 r3 ASR r10",
3600 "vs_r5_r14_r3_ASR_r10"},
3601 {{al, r12, r6, r13, LSR, r14},
3602 false,
3603 al,
3604 "al r12 r6 r13 LSR r14",
3605 "al_r12_r6_r13_LSR_r14"},
3606 {{ge, r14, r11, r11, ROR, r1},
3607 false,
3608 al,
3609 "ge r14 r11 r11 ROR r1",
3610 "ge_r14_r11_r11_ROR_r1"},
3611 {{le, r9, r6, r0, LSR, r4},
3612 false,
3613 al,
3614 "le r9 r6 r0 LSR r4",
3615 "le_r9_r6_r0_LSR_r4"},
3616 {{le, r0, r8, r14, ASR, r10},
3617 false,
3618 al,
3619 "le r0 r8 r14 ASR r10",
3620 "le_r0_r8_r14_ASR_r10"},
3621 {{hi, r4, r13, r7, LSL, r6},
3622 false,
3623 al,
3624 "hi r4 r13 r7 LSL r6",
3625 "hi_r4_r13_r7_LSL_r6"},
3626 {{vc, r13, r0, r14, ROR, r4},
3627 false,
3628 al,
3629 "vc r13 r0 r14 ROR r4",
3630 "vc_r13_r0_r14_ROR_r4"},
3631 {{cc, r1, r6, r12, ASR, r10},
3632 false,
3633 al,
3634 "cc r1 r6 r12 ASR r10",
3635 "cc_r1_r6_r12_ASR_r10"},
3636 {{le, r13, r0, r4, LSL, r9},
3637 false,
3638 al,
3639 "le r13 r0 r4 LSL r9",
3640 "le_r13_r0_r4_LSL_r9"},
3641 {{vc, r5, r4, r3, LSR, r0},
3642 false,
3643 al,
3644 "vc r5 r4 r3 LSR r0",
3645 "vc_r5_r4_r3_LSR_r0"},
3646 {{ne, r9, r14, r0, LSR, r11},
3647 false,
3648 al,
3649 "ne r9 r14 r0 LSR r11",
3650 "ne_r9_r14_r0_LSR_r11"},
3651 {{hi, r7, r4, r9, ASR, r5},
3652 false,
3653 al,
3654 "hi r7 r4 r9 ASR r5",
3655 "hi_r7_r4_r9_ASR_r5"},
3656 {{cc, r0, r8, r7, LSL, r5},
3657 false,
3658 al,
3659 "cc r0 r8 r7 LSL r5",
3660 "cc_r0_r8_r7_LSL_r5"},
3661 {{vs, r3, r5, r1, ROR, r12},
3662 false,
3663 al,
3664 "vs r3 r5 r1 ROR r12",
3665 "vs_r3_r5_r1_ROR_r12"},
3666 {{cc, r0, r4, r9, LSR, r5},
3667 false,
3668 al,
3669 "cc r0 r4 r9 LSR r5",
3670 "cc_r0_r4_r9_LSR_r5"},
3671 {{cc, r5, r12, r1, LSL, r14},
3672 false,
3673 al,
3674 "cc r5 r12 r1 LSL r14",
3675 "cc_r5_r12_r1_LSL_r14"},
3676 {{cs, r3, r6, r1, LSL, r14},
3677 false,
3678 al,
3679 "cs r3 r6 r1 LSL r14",
3680 "cs_r3_r6_r1_LSL_r14"},
3681 {{gt, r2, r3, r0, ASR, r0},
3682 false,
3683 al,
3684 "gt r2 r3 r0 ASR r0",
3685 "gt_r2_r3_r0_ASR_r0"},
3686 {{cs, r4, r9, r6, LSL, r11},
3687 false,
3688 al,
3689 "cs r4 r9 r6 LSL r11",
3690 "cs_r4_r9_r6_LSL_r11"},
3691 {{ne, r8, r7, r3, ROR, r10},
3692 false,
3693 al,
3694 "ne r8 r7 r3 ROR r10",
3695 "ne_r8_r7_r3_ROR_r10"},
3696 {{lt, r8, r4, r13, ROR, r5},
3697 false,
3698 al,
3699 "lt r8 r4 r13 ROR r5",
3700 "lt_r8_r4_r13_ROR_r5"},
3701 {{gt, r5, r6, r6, ROR, r7},
3702 false,
3703 al,
3704 "gt r5 r6 r6 ROR r7",
3705 "gt_r5_r6_r6_ROR_r7"},
3706 {{al, r13, r2, r4, ASR, r1},
3707 false,
3708 al,
3709 "al r13 r2 r4 ASR r1",
3710 "al_r13_r2_r4_ASR_r1"},
3711 {{hi, r0, r6, r11, ASR, r2},
3712 false,
3713 al,
3714 "hi r0 r6 r11 ASR r2",
3715 "hi_r0_r6_r11_ASR_r2"},
3716 {{mi, r10, r13, r13, LSR, r6},
3717 false,
3718 al,
3719 "mi r10 r13 r13 LSR r6",
3720 "mi_r10_r13_r13_LSR_r6"},
3721 {{hi, r12, r1, r7, LSL, r7},
3722 false,
3723 al,
3724 "hi r12 r1 r7 LSL r7",
3725 "hi_r12_r1_r7_LSL_r7"},
3726 {{ge, r10, r13, r12, LSL, r6},
3727 false,
3728 al,
3729 "ge r10 r13 r12 LSL r6",
3730 "ge_r10_r13_r12_LSL_r6"},
3731 {{ls, r12, r4, r10, LSL, r9},
3732 false,
3733 al,
3734 "ls r12 r4 r10 LSL r9",
3735 "ls_r12_r4_r10_LSL_r9"},
3736 {{hi, r7, r6, r7, ASR, r10},
3737 false,
3738 al,
3739 "hi r7 r6 r7 ASR r10",
3740 "hi_r7_r6_r7_ASR_r10"},
3741 {{hi, r6, r11, r14, LSL, r9},
3742 false,
3743 al,
3744 "hi r6 r11 r14 LSL r9",
3745 "hi_r6_r11_r14_LSL_r9"},
3746 {{cs, r5, r2, r8, ASR, r5},
3747 false,
3748 al,
3749 "cs r5 r2 r8 ASR r5",
3750 "cs_r5_r2_r8_ASR_r5"},
3751 {{hi, r9, r14, r10, LSR, r4},
3752 false,
3753 al,
3754 "hi r9 r14 r10 LSR r4",
3755 "hi_r9_r14_r10_LSR_r4"},
3756 {{ne, r4, r11, r5, ROR, r4},
3757 false,
3758 al,
3759 "ne r4 r11 r5 ROR r4",
3760 "ne_r4_r11_r5_ROR_r4"},
3761 {{mi, r13, r12, r5, ROR, r4},
3762 false,
3763 al,
3764 "mi r13 r12 r5 ROR r4",
3765 "mi_r13_r12_r5_ROR_r4"},
3766 {{gt, r5, r9, r10, LSR, r12},
3767 false,
3768 al,
3769 "gt r5 r9 r10 LSR r12",
3770 "gt_r5_r9_r10_LSR_r12"},
3771 {{hi, r5, r7, r13, LSR, r1},
3772 false,
3773 al,
3774 "hi r5 r7 r13 LSR r1",
3775 "hi_r5_r7_r13_LSR_r1"},
3776 {{cs, r8, r11, r5, LSR, r10},
3777 false,
3778 al,
3779 "cs r8 r11 r5 LSR r10",
3780 "cs_r8_r11_r5_LSR_r10"},
3781 {{hi, r12, r0, r1, LSL, r7},
3782 false,
3783 al,
3784 "hi r12 r0 r1 LSL r7",
3785 "hi_r12_r0_r1_LSL_r7"},
3786 {{al, r2, r3, r3, LSR, r12},
3787 false,
3788 al,
3789 "al r2 r3 r3 LSR r12",
3790 "al_r2_r3_r3_LSR_r12"},
3791 {{vs, r12, r0, r0, LSL, r13},
3792 false,
3793 al,
3794 "vs r12 r0 r0 LSL r13",
3795 "vs_r12_r0_r0_LSL_r13"},
3796 {{hi, r14, r9, r8, ROR, r2},
3797 false,
3798 al,
3799 "hi r14 r9 r8 ROR r2",
3800 "hi_r14_r9_r8_ROR_r2"},
3801 {{ls, r4, r8, r5, LSL, r11},
3802 false,
3803 al,
3804 "ls r4 r8 r5 LSL r11",
3805 "ls_r4_r8_r5_LSL_r11"},
3806 {{mi, r1, r8, r2, LSR, r5},
3807 false,
3808 al,
3809 "mi r1 r8 r2 LSR r5",
3810 "mi_r1_r8_r2_LSR_r5"},
3811 {{mi, r4, r13, r7, LSR, r13},
3812 false,
3813 al,
3814 "mi r4 r13 r7 LSR r13",
3815 "mi_r4_r13_r7_LSR_r13"},
3816 {{eq, r11, r1, r6, ROR, r10},
3817 false,
3818 al,
3819 "eq r11 r1 r6 ROR r10",
3820 "eq_r11_r1_r6_ROR_r10"},
3821 {{le, r1, r4, r5, ROR, r6},
3822 false,
3823 al,
3824 "le r1 r4 r5 ROR r6",
3825 "le_r1_r4_r5_ROR_r6"},
3826 {{lt, r0, r3, r7, LSL, r3},
3827 false,
3828 al,
3829 "lt r0 r3 r7 LSL r3",
3830 "lt_r0_r3_r7_LSL_r3"},
3831 {{lt, r4, r13, r3, LSL, r0},
3832 false,
3833 al,
3834 "lt r4 r13 r3 LSL r0",
3835 "lt_r4_r13_r3_LSL_r0"},
3836 {{lt, r12, r11, r6, ASR, r11},
3837 false,
3838 al,
3839 "lt r12 r11 r6 ASR r11",
3840 "lt_r12_r11_r6_ASR_r11"},
3841 {{ge, r2, r1, r13, LSL, r14},
3842 false,
3843 al,
3844 "ge r2 r1 r13 LSL r14",
3845 "ge_r2_r1_r13_LSL_r14"},
3846 {{ge, r6, r4, r7, ROR, r9},
3847 false,
3848 al,
3849 "ge r6 r4 r7 ROR r9",
3850 "ge_r6_r4_r7_ROR_r9"},
3851 {{mi, r7, r5, r1, LSL, r3},
3852 false,
3853 al,
3854 "mi r7 r5 r1 LSL r3",
3855 "mi_r7_r5_r1_LSL_r3"},
3856 {{le, r0, r2, r8, ASR, r13},
3857 false,
3858 al,
3859 "le r0 r2 r8 ASR r13",
3860 "le_r0_r2_r8_ASR_r13"},
3861 {{vc, r0, r5, r12, LSR, r5},
3862 false,
3863 al,
3864 "vc r0 r5 r12 LSR r5",
3865 "vc_r0_r5_r12_LSR_r5"},
3866 {{cs, r10, r10, r14, LSL, r11},
3867 false,
3868 al,
3869 "cs r10 r10 r14 LSL r11",
3870 "cs_r10_r10_r14_LSL_r11"},
3871 {{hi, r12, r1, r6, ASR, r14},
3872 false,
3873 al,
3874 "hi r12 r1 r6 ASR r14",
3875 "hi_r12_r1_r6_ASR_r14"},
3876 {{vc, r6, r8, r9, LSR, r5},
3877 false,
3878 al,
3879 "vc r6 r8 r9 LSR r5",
3880 "vc_r6_r8_r9_LSR_r5"},
3881 {{mi, r7, r2, r4, ASR, r4},
3882 false,
3883 al,
3884 "mi r7 r2 r4 ASR r4",
3885 "mi_r7_r2_r4_ASR_r4"},
3886 {{pl, r7, r6, r4, ROR, r12},
3887 false,
3888 al,
3889 "pl r7 r6 r4 ROR r12",
3890 "pl_r7_r6_r4_ROR_r12"},
3891 {{ge, r0, r7, r8, LSR, r11},
3892 false,
3893 al,
3894 "ge r0 r7 r8 LSR r11",
3895 "ge_r0_r7_r8_LSR_r11"},
3896 {{cc, r8, r14, r14, LSR, r14},
3897 false,
3898 al,
3899 "cc r8 r14 r14 LSR r14",
3900 "cc_r8_r14_r14_LSR_r14"},
3901 {{ne, r10, r7, r10, LSL, r3},
3902 false,
3903 al,
3904 "ne r10 r7 r10 LSL r3",
3905 "ne_r10_r7_r10_LSL_r3"},
3906 {{hi, r2, r11, r11, LSL, r10},
3907 false,
3908 al,
3909 "hi r2 r11 r11 LSL r10",
3910 "hi_r2_r11_r11_LSL_r10"},
3911 {{eq, r7, r7, r3, LSR, r12},
3912 false,
3913 al,
3914 "eq r7 r7 r3 LSR r12",
3915 "eq_r7_r7_r3_LSR_r12"},
3916 {{al, r7, r1, r12, LSR, r5},
3917 false,
3918 al,
3919 "al r7 r1 r12 LSR r5",
3920 "al_r7_r1_r12_LSR_r5"},
3921 {{ge, r10, r3, r7, LSL, r0},
3922 false,
3923 al,
3924 "ge r10 r3 r7 LSL r0",
3925 "ge_r10_r3_r7_LSL_r0"},
3926 {{ge, r6, r1, r6, LSL, r5},
3927 false,
3928 al,
3929 "ge r6 r1 r6 LSL r5",
3930 "ge_r6_r1_r6_LSL_r5"},
3931 {{al, r3, r1, r0, LSL, r13},
3932 false,
3933 al,
3934 "al r3 r1 r0 LSL r13",
3935 "al_r3_r1_r0_LSL_r13"},
3936 {{eq, r4, r8, r0, ASR, r0},
3937 false,
3938 al,
3939 "eq r4 r8 r0 ASR r0",
3940 "eq_r4_r8_r0_ASR_r0"},
3941 {{cs, r8, r6, r6, LSL, r7},
3942 false,
3943 al,
3944 "cs r8 r6 r6 LSL r7",
3945 "cs_r8_r6_r6_LSL_r7"},
3946 {{vs, r5, r9, r2, ASR, r6},
3947 false,
3948 al,
3949 "vs r5 r9 r2 ASR r6",
3950 "vs_r5_r9_r2_ASR_r6"},
3951 {{lt, r1, r5, r2, ASR, r0},
3952 false,
3953 al,
3954 "lt r1 r5 r2 ASR r0",
3955 "lt_r1_r5_r2_ASR_r0"},
3956 {{eq, r8, r14, r1, ASR, r2},
3957 false,
3958 al,
3959 "eq r8 r14 r1 ASR r2",
3960 "eq_r8_r14_r1_ASR_r2"},
3961 {{mi, r6, r13, r12, LSL, r2},
3962 false,
3963 al,
3964 "mi r6 r13 r12 LSL r2",
3965 "mi_r6_r13_r12_LSL_r2"},
3966 {{mi, r13, r4, r0, ROR, r1},
3967 false,
3968 al,
3969 "mi r13 r4 r0 ROR r1",
3970 "mi_r13_r4_r0_ROR_r1"},
3971 {{cs, r7, r2, r1, ASR, r10},
3972 false,
3973 al,
3974 "cs r7 r2 r1 ASR r10",
3975 "cs_r7_r2_r1_ASR_r10"},
3976 {{ge, r9, r4, r3, ASR, r5},
3977 false,
3978 al,
3979 "ge r9 r4 r3 ASR r5",
3980 "ge_r9_r4_r3_ASR_r5"},
3981 {{gt, r7, r1, r12, LSL, r7},
3982 false,
3983 al,
3984 "gt r7 r1 r12 LSL r7",
3985 "gt_r7_r1_r12_LSL_r7"},
3986 {{hi, r4, r5, r4, LSL, r11},
3987 false,
3988 al,
3989 "hi r4 r5 r4 LSL r11",
3990 "hi_r4_r5_r4_LSL_r11"},
3991 {{cc, r13, r14, r9, LSL, r14},
3992 false,
3993 al,
3994 "cc r13 r14 r9 LSL r14",
3995 "cc_r13_r14_r9_LSL_r14"},
3996 {{cs, r12, r8, r14, ROR, r12},
3997 false,
3998 al,
3999 "cs r12 r8 r14 ROR r12",
4000 "cs_r12_r8_r14_ROR_r12"},
4001 {{vc, r12, r11, r10, ROR, r4},
4002 false,
4003 al,
4004 "vc r12 r11 r10 ROR r4",
4005 "vc_r12_r11_r10_ROR_r4"},
4006 {{ge, r14, r13, r4, ROR, r11},
4007 false,
4008 al,
4009 "ge r14 r13 r4 ROR r11",
4010 "ge_r14_r13_r4_ROR_r11"},
4011 {{le, r3, r5, r2, ROR, r6},
4012 false,
4013 al,
4014 "le r3 r5 r2 ROR r6",
4015 "le_r3_r5_r2_ROR_r6"},
4016 {{eq, r3, r4, r13, ASR, r0},
4017 false,
4018 al,
4019 "eq r3 r4 r13 ASR r0",
4020 "eq_r3_r4_r13_ASR_r0"},
4021 {{vc, r7, r6, r3, ASR, r11},
4022 false,
4023 al,
4024 "vc r7 r6 r3 ASR r11",
4025 "vc_r7_r6_r3_ASR_r11"},
4026 {{pl, r6, r9, r11, LSL, r8},
4027 false,
4028 al,
4029 "pl r6 r9 r11 LSL r8",
4030 "pl_r6_r9_r11_LSL_r8"},
4031 {{vc, r11, r14, r13, ASR, r4},
4032 false,
4033 al,
4034 "vc r11 r14 r13 ASR r4",
4035 "vc_r11_r14_r13_ASR_r4"},
4036 {{cs, r4, r11, r3, LSR, r7},
4037 false,
4038 al,
4039 "cs r4 r11 r3 LSR r7",
4040 "cs_r4_r11_r3_LSR_r7"},
4041 {{ge, r5, r7, r3, ASR, r8},
4042 false,
4043 al,
4044 "ge r5 r7 r3 ASR r8",
4045 "ge_r5_r7_r3_ASR_r8"},
4046 {{vc, r5, r7, r10, ROR, r9},
4047 false,
4048 al,
4049 "vc r5 r7 r10 ROR r9",
4050 "vc_r5_r7_r10_ROR_r9"},
4051 {{gt, r7, r12, r2, LSR, r5},
4052 false,
4053 al,
4054 "gt r7 r12 r2 LSR r5",
4055 "gt_r7_r12_r2_LSR_r5"},
4056 {{mi, r14, r2, r6, LSL, r8},
4057 false,
4058 al,
4059 "mi r14 r2 r6 LSL r8",
4060 "mi_r14_r2_r6_LSL_r8"},
4061 {{hi, r0, r2, r11, ASR, r1},
4062 false,
4063 al,
4064 "hi r0 r2 r11 ASR r1",
4065 "hi_r0_r2_r11_ASR_r1"},
4066 {{al, r13, r7, r4, ASR, r5},
4067 false,
4068 al,
4069 "al r13 r7 r4 ASR r5",
4070 "al_r13_r7_r4_ASR_r5"},
4071 {{le, r3, r4, r7, LSR, r14},
4072 false,
4073 al,
4074 "le r3 r4 r7 LSR r14",
4075 "le_r3_r4_r7_LSR_r14"},
4076 {{lt, r4, r10, r8, LSR, r5},
4077 false,
4078 al,
4079 "lt r4 r10 r8 LSR r5",
4080 "lt_r4_r10_r8_LSR_r5"},
4081 {{vc, r1, r1, r8, ROR, r14},
4082 false,
4083 al,
4084 "vc r1 r1 r8 ROR r14",
4085 "vc_r1_r1_r8_ROR_r14"},
4086 {{le, r3, r10, r3, ROR, r0},
4087 false,
4088 al,
4089 "le r3 r10 r3 ROR r0",
4090 "le_r3_r10_r3_ROR_r0"},
4091 {{ne, r4, r11, r7, ASR, r6},
4092 false,
4093 al,
4094 "ne r4 r11 r7 ASR r6",
4095 "ne_r4_r11_r7_ASR_r6"},
4096 {{lt, r9, r10, r6, LSR, r1},
4097 false,
4098 al,
4099 "lt r9 r10 r6 LSR r1",
4100 "lt_r9_r10_r6_LSR_r1"},
4101 {{ne, r9, r12, r8, LSR, r6},
4102 false,
4103 al,
4104 "ne r9 r12 r8 LSR r6",
4105 "ne_r9_r12_r8_LSR_r6"},
4106 {{ne, r7, r6, r8, ASR, r12},
4107 false,
4108 al,
4109 "ne r7 r6 r8 ASR r12",
4110 "ne_r7_r6_r8_ASR_r12"},
4111 {{ge, r0, r9, r1, ASR, r11},
4112 false,
4113 al,
4114 "ge r0 r9 r1 ASR r11",
4115 "ge_r0_r9_r1_ASR_r11"},
4116 {{vc, r10, r14, r8, ASR, r11},
4117 false,
4118 al,
4119 "vc r10 r14 r8 ASR r11",
4120 "vc_r10_r14_r8_ASR_r11"},
4121 {{ge, r6, r1, r14, ROR, r4},
4122 false,
4123 al,
4124 "ge r6 r1 r14 ROR r4",
4125 "ge_r6_r1_r14_ROR_r4"},
4126 {{cs, r12, r2, r4, ROR, r13},
4127 false,
4128 al,
4129 "cs r12 r2 r4 ROR r13",
4130 "cs_r12_r2_r4_ROR_r13"},
4131 {{hi, r9, r8, r5, ASR, r3},
4132 false,
4133 al,
4134 "hi r9 r8 r5 ASR r3",
4135 "hi_r9_r8_r5_ASR_r3"},
4136 {{ge, r0, r3, r9, ASR, r7},
4137 false,
4138 al,
4139 "ge r0 r3 r9 ASR r7",
4140 "ge_r0_r3_r9_ASR_r7"},
4141 {{le, r14, r6, r9, ASR, r5},
4142 false,
4143 al,
4144 "le r14 r6 r9 ASR r5",
4145 "le_r14_r6_r9_ASR_r5"},
4146 {{hi, r2, r3, r6, LSR, r3},
4147 false,
4148 al,
4149 "hi r2 r3 r6 LSR r3",
4150 "hi_r2_r3_r6_LSR_r3"},
4151 {{le, r4, r8, r2, ASR, r3},
4152 false,
4153 al,
4154 "le r4 r8 r2 ASR r3",
4155 "le_r4_r8_r2_ASR_r3"},
4156 {{vs, r5, r9, r2, LSR, r5},
4157 false,
4158 al,
4159 "vs r5 r9 r2 LSR r5",
4160 "vs_r5_r9_r2_LSR_r5"},
4161 {{vs, r7, r11, r6, ASR, r3},
4162 false,
4163 al,
4164 "vs r7 r11 r6 ASR r3",
4165 "vs_r7_r11_r6_ASR_r3"},
4166 {{gt, r13, r11, r14, ROR, r1},
4167 false,
4168 al,
4169 "gt r13 r11 r14 ROR r1",
4170 "gt_r13_r11_r14_ROR_r1"},
4171 {{al, r7, r3, r7, LSR, r12},
4172 false,
4173 al,
4174 "al r7 r3 r7 LSR r12",
4175 "al_r7_r3_r7_LSR_r12"},
4176 {{cs, r10, r9, r4, LSR, r5},
4177 false,
4178 al,
4179 "cs r10 r9 r4 LSR r5",
4180 "cs_r10_r9_r4_LSR_r5"},
4181 {{ls, r12, r10, r8, LSR, r8},
4182 false,
4183 al,
4184 "ls r12 r10 r8 LSR r8",
4185 "ls_r12_r10_r8_LSR_r8"},
4186 {{lt, r14, r14, r13, LSR, r10},
4187 false,
4188 al,
4189 "lt r14 r14 r13 LSR r10",
4190 "lt_r14_r14_r13_LSR_r10"},
4191 {{vc, r3, r4, r7, ROR, r2},
4192 false,
4193 al,
4194 "vc r3 r4 r7 ROR r2",
4195 "vc_r3_r4_r7_ROR_r2"},
4196 {{cc, r14, r11, r0, ASR, r9},
4197 false,
4198 al,
4199 "cc r14 r11 r0 ASR r9",
4200 "cc_r14_r11_r0_ASR_r9"},
4201 {{eq, r3, r11, r14, ASR, r13},
4202 false,
4203 al,
4204 "eq r3 r11 r14 ASR r13",
4205 "eq_r3_r11_r14_ASR_r13"},
4206 {{mi, r13, r1, r11, ROR, r7},
4207 false,
4208 al,
4209 "mi r13 r1 r11 ROR r7",
4210 "mi_r13_r1_r11_ROR_r7"},
4211 {{al, r9, r2, r12, ASR, r12},
4212 false,
4213 al,
4214 "al r9 r2 r12 ASR r12",
4215 "al_r9_r2_r12_ASR_r12"},
4216 {{ls, r5, r10, r11, LSL, r10},
4217 false,
4218 al,
4219 "ls r5 r10 r11 LSL r10",
4220 "ls_r5_r10_r11_LSL_r10"},
4221 {{gt, r10, r1, r0, LSL, r8},
4222 false,
4223 al,
4224 "gt r10 r1 r0 LSL r8",
4225 "gt_r10_r1_r0_LSL_r8"},
4226 {{hi, r13, r1, r4, LSL, r9},
4227 false,
4228 al,
4229 "hi r13 r1 r4 LSL r9",
4230 "hi_r13_r1_r4_LSL_r9"},
4231 {{ls, r7, r9, r0, ASR, r4},
4232 false,
4233 al,
4234 "ls r7 r9 r0 ASR r4",
4235 "ls_r7_r9_r0_ASR_r4"},
4236 {{ls, r12, r7, r9, LSR, r1},
4237 false,
4238 al,
4239 "ls r12 r7 r9 LSR r1",
4240 "ls_r12_r7_r9_LSR_r1"},
4241 {{mi, r0, r14, r7, LSL, r8},
4242 false,
4243 al,
4244 "mi r0 r14 r7 LSL r8",
4245 "mi_r0_r14_r7_LSL_r8"},
4246 {{ge, r5, r0, r13, ROR, r12},
4247 false,
4248 al,
4249 "ge r5 r0 r13 ROR r12",
4250 "ge_r5_r0_r13_ROR_r12"},
4251 {{lt, r5, r11, r1, LSL, r9},
4252 false,
4253 al,
4254 "lt r5 r11 r1 LSL r9",
4255 "lt_r5_r11_r1_LSL_r9"},
4256 {{eq, r10, r13, r2, ROR, r11},
4257 false,
4258 al,
4259 "eq r10 r13 r2 ROR r11",
4260 "eq_r10_r13_r2_ROR_r11"},
4261 {{vc, r2, r11, r0, ASR, r2},
4262 false,
4263 al,
4264 "vc r2 r11 r0 ASR r2",
4265 "vc_r2_r11_r0_ASR_r2"},
4266 {{eq, r7, r7, r3, ASR, r8},
4267 false,
4268 al,
4269 "eq r7 r7 r3 ASR r8",
4270 "eq_r7_r7_r3_ASR_r8"},
4271 {{cs, r9, r10, r0, LSL, r3},
4272 false,
4273 al,
4274 "cs r9 r10 r0 LSL r3",
4275 "cs_r9_r10_r0_LSL_r3"},
4276 {{gt, r12, r14, r9, ASR, r0},
4277 false,
4278 al,
4279 "gt r12 r14 r9 ASR r0",
4280 "gt_r12_r14_r9_ASR_r0"},
4281 {{vc, r6, r5, r0, ROR, r7},
4282 false,
4283 al,
4284 "vc r6 r5 r0 ROR r7",
4285 "vc_r6_r5_r0_ROR_r7"},
4286 {{cs, r4, r14, r0, LSL, r12},
4287 false,
4288 al,
4289 "cs r4 r14 r0 LSL r12",
4290 "cs_r4_r14_r0_LSL_r12"},
4291 {{ge, r12, r3, r0, ASR, r1},
4292 false,
4293 al,
4294 "ge r12 r3 r0 ASR r1",
4295 "ge_r12_r3_r0_ASR_r1"},
4296 {{al, r12, r4, r12, LSR, r12},
4297 false,
4298 al,
4299 "al r12 r4 r12 LSR r12",
4300 "al_r12_r4_r12_LSR_r12"},
4301 {{vs, r7, r12, r4, LSR, r7},
4302 false,
4303 al,
4304 "vs r7 r12 r4 LSR r7",
4305 "vs_r7_r12_r4_LSR_r7"},
4306 {{hi, r14, r6, r10, LSR, r3},
4307 false,
4308 al,
4309 "hi r14 r6 r10 LSR r3",
4310 "hi_r14_r6_r10_LSR_r3"},
4311 {{gt, r6, r9, r13, ROR, r0},
4312 false,
4313 al,
4314 "gt r6 r9 r13 ROR r0",
4315 "gt_r6_r9_r13_ROR_r0"},
4316 {{le, r11, r11, r14, LSR, r13},
4317 false,
4318 al,
4319 "le r11 r11 r14 LSR r13",
4320 "le_r11_r11_r14_LSR_r13"},
4321 {{hi, r10, r7, r5, ROR, r0},
4322 false,
4323 al,
4324 "hi r10 r7 r5 ROR r0",
4325 "hi_r10_r7_r5_ROR_r0"},
4326 {{le, r9, r1, r6, ASR, r11},
4327 false,
4328 al,
4329 "le r9 r1 r6 ASR r11",
4330 "le_r9_r1_r6_ASR_r11"},
4331 {{gt, r8, r2, r9, LSL, r14},
4332 false,
4333 al,
4334 "gt r8 r2 r9 LSL r14",
4335 "gt_r8_r2_r9_LSL_r14"},
4336 {{le, r8, r3, r13, ASR, r0},
4337 false,
4338 al,
4339 "le r8 r3 r13 ASR r0",
4340 "le_r8_r3_r13_ASR_r0"},
4341 {{ne, r3, r6, r12, LSR, r11},
4342 false,
4343 al,
4344 "ne r3 r6 r12 LSR r11",
4345 "ne_r3_r6_r12_LSR_r11"},
4346 {{vs, r9, r13, r5, ASR, r1},
4347 false,
4348 al,
4349 "vs r9 r13 r5 ASR r1",
4350 "vs_r9_r13_r5_ASR_r1"},
4351 {{al, r1, r12, r2, LSR, r4},
4352 false,
4353 al,
4354 "al r1 r12 r2 LSR r4",
4355 "al_r1_r12_r2_LSR_r4"},
4356 {{eq, r9, r12, r5, ROR, r12},
4357 false,
4358 al,
4359 "eq r9 r12 r5 ROR r12",
4360 "eq_r9_r12_r5_ROR_r12"},
4361 {{pl, r4, r4, r14, LSR, r6},
4362 false,
4363 al,
4364 "pl r4 r4 r14 LSR r6",
4365 "pl_r4_r4_r14_LSR_r6"},
4366 {{lt, r12, r12, r2, LSL, r11},
4367 false,
4368 al,
4369 "lt r12 r12 r2 LSL r11",
4370 "lt_r12_r12_r2_LSL_r11"},
4371 {{al, r5, r0, r2, ROR, r1},
4372 false,
4373 al,
4374 "al r5 r0 r2 ROR r1",
4375 "al_r5_r0_r2_ROR_r1"},
4376 {{gt, r6, r4, r8, LSL, r1},
4377 false,
4378 al,
4379 "gt r6 r4 r8 LSL r1",
4380 "gt_r6_r4_r8_LSL_r1"},
4381 {{ne, r1, r1, r10, LSR, r3},
4382 false,
4383 al,
4384 "ne r1 r1 r10 LSR r3",
4385 "ne_r1_r1_r10_LSR_r3"},
4386 {{hi, r14, r11, r5, LSR, r4},
4387 false,
4388 al,
4389 "hi r14 r11 r5 LSR r4",
4390 "hi_r14_r11_r5_LSR_r4"},
4391 {{al, r5, r13, r12, LSR, r14},
4392 false,
4393 al,
4394 "al r5 r13 r12 LSR r14",
4395 "al_r5_r13_r12_LSR_r14"},
4396 {{cc, r6, r6, r12, ROR, r7},
4397 false,
4398 al,
4399 "cc r6 r6 r12 ROR r7",
4400 "cc_r6_r6_r12_ROR_r7"},
4401 {{ls, r4, r11, r7, ROR, r2},
4402 false,
4403 al,
4404 "ls r4 r11 r7 ROR r2",
4405 "ls_r4_r11_r7_ROR_r2"},
4406 {{eq, r7, r12, r0, LSL, r12},
4407 false,
4408 al,
4409 "eq r7 r12 r0 LSL r12",
4410 "eq_r7_r12_r0_LSL_r12"},
4411 {{cs, r11, r9, r2, ASR, r13},
4412 false,
4413 al,
4414 "cs r11 r9 r2 ASR r13",
4415 "cs_r11_r9_r2_ASR_r13"},
4416 {{ls, r5, r13, r13, LSL, r0},
4417 false,
4418 al,
4419 "ls r5 r13 r13 LSL r0",
4420 "ls_r5_r13_r13_LSL_r0"},
4421 {{hi, r13, r13, r6, LSR, r9},
4422 false,
4423 al,
4424 "hi r13 r13 r6 LSR r9",
4425 "hi_r13_r13_r6_LSR_r9"},
4426 {{eq, r7, r14, r10, LSR, r2},
4427 false,
4428 al,
4429 "eq r7 r14 r10 LSR r2",
4430 "eq_r7_r14_r10_LSR_r2"},
4431 {{ne, r2, r12, r0, LSR, r12},
4432 false,
4433 al,
4434 "ne r2 r12 r0 LSR r12",
4435 "ne_r2_r12_r0_LSR_r12"},
4436 {{pl, r11, r0, r14, ROR, r14},
4437 false,
4438 al,
4439 "pl r11 r0 r14 ROR r14",
4440 "pl_r11_r0_r14_ROR_r14"},
4441 {{ge, r14, r11, r0, ASR, r0},
4442 false,
4443 al,
4444 "ge r14 r11 r0 ASR r0",
4445 "ge_r14_r11_r0_ASR_r0"},
4446 {{ne, r7, r3, r11, ASR, r4},
4447 false,
4448 al,
4449 "ne r7 r3 r11 ASR r4",
4450 "ne_r7_r3_r11_ASR_r4"},
4451 {{eq, r0, r11, r4, LSR, r1},
4452 false,
4453 al,
4454 "eq r0 r11 r4 LSR r1",
4455 "eq_r0_r11_r4_LSR_r1"},
4456 {{cs, r5, r2, r5, ROR, r10},
4457 false,
4458 al,
4459 "cs r5 r2 r5 ROR r10",
4460 "cs_r5_r2_r5_ROR_r10"},
4461 {{eq, r9, r10, r10, LSR, r0},
4462 false,
4463 al,
4464 "eq r9 r10 r10 LSR r0",
4465 "eq_r9_r10_r10_LSR_r0"},
4466 {{vc, r2, r0, r11, ROR, r11},
4467 false,
4468 al,
4469 "vc r2 r0 r11 ROR r11",
4470 "vc_r2_r0_r11_ROR_r11"},
4471 {{pl, r14, r2, r1, ROR, r8},
4472 false,
4473 al,
4474 "pl r14 r2 r1 ROR r8",
4475 "pl_r14_r2_r1_ROR_r8"},
4476 {{hi, r13, r1, r14, LSR, r5},
4477 false,
4478 al,
4479 "hi r13 r1 r14 LSR r5",
4480 "hi_r13_r1_r14_LSR_r5"},
4481 {{ls, r9, r2, r13, LSR, r14},
4482 false,
4483 al,
4484 "ls r9 r2 r13 LSR r14",
4485 "ls_r9_r2_r13_LSR_r14"},
4486 {{le, r1, r12, r7, ROR, r1},
4487 false,
4488 al,
4489 "le r1 r12 r7 ROR r1",
4490 "le_r1_r12_r7_ROR_r1"},
4491 {{mi, r10, r4, r6, LSR, r5},
4492 false,
4493 al,
4494 "mi r10 r4 r6 LSR r5",
4495 "mi_r10_r4_r6_LSR_r5"},
4496 {{al, r11, r7, r7, LSR, r11},
4497 false,
4498 al,
4499 "al r11 r7 r7 LSR r11",
4500 "al_r11_r7_r7_LSR_r11"},
4501 {{lt, r4, r2, r6, ROR, r1},
4502 false,
4503 al,
4504 "lt r4 r2 r6 ROR r1",
4505 "lt_r4_r2_r6_ROR_r1"},
4506 {{vc, r12, r3, r7, LSL, r5},
4507 false,
4508 al,
4509 "vc r12 r3 r7 LSL r5",
4510 "vc_r12_r3_r7_LSL_r5"},
4511 {{ge, r10, r7, r2, ROR, r0},
4512 false,
4513 al,
4514 "ge r10 r7 r2 ROR r0",
4515 "ge_r10_r7_r2_ROR_r0"},
4516 {{lt, r1, r6, r0, LSR, r4},
4517 false,
4518 al,
4519 "lt r1 r6 r0 LSR r4",
4520 "lt_r1_r6_r0_LSR_r4"},
4521 {{eq, r11, r2, r11, ROR, r3},
4522 false,
4523 al,
4524 "eq r11 r2 r11 ROR r3",
4525 "eq_r11_r2_r11_ROR_r3"},
4526 {{ls, r1, r2, r11, LSL, r6},
4527 false,
4528 al,
4529 "ls r1 r2 r11 LSL r6",
4530 "ls_r1_r2_r11_LSL_r6"},
4531 {{al, r4, r5, r10, LSR, r13},
4532 false,
4533 al,
4534 "al r4 r5 r10 LSR r13",
4535 "al_r4_r5_r10_LSR_r13"},
4536 {{ls, r5, r3, r12, LSR, r10},
4537 false,
4538 al,
4539 "ls r5 r3 r12 LSR r10",
4540 "ls_r5_r3_r12_LSR_r10"},
4541 {{hi, r5, r11, r9, LSL, r14},
4542 false,
4543 al,
4544 "hi r5 r11 r9 LSL r14",
4545 "hi_r5_r11_r9_LSL_r14"},
4546 {{le, r0, r8, r14, LSL, r14},
4547 false,
4548 al,
4549 "le r0 r8 r14 LSL r14",
4550 "le_r0_r8_r14_LSL_r14"},
4551 {{vs, r10, r10, r2, LSR, r8},
4552 false,
4553 al,
4554 "vs r10 r10 r2 LSR r8",
4555 "vs_r10_r10_r2_LSR_r8"},
4556 {{lt, r1, r7, r14, LSR, r1},
4557 false,
4558 al,
4559 "lt r1 r7 r14 LSR r1",
4560 "lt_r1_r7_r14_LSR_r1"},
4561 {{al, r1, r2, r8, LSL, r1},
4562 false,
4563 al,
4564 "al r1 r2 r8 LSL r1",
4565 "al_r1_r2_r8_LSL_r1"},
4566 {{vc, r9, r14, r2, ASR, r7},
4567 false,
4568 al,
4569 "vc r9 r14 r2 ASR r7",
4570 "vc_r9_r14_r2_ASR_r7"},
4571 {{eq, r8, r14, r12, LSL, r11},
4572 false,
4573 al,
4574 "eq r8 r14 r12 LSL r11",
4575 "eq_r8_r14_r12_LSL_r11"},
4576 {{cc, r13, r2, r8, ASR, r9},
4577 false,
4578 al,
4579 "cc r13 r2 r8 ASR r9",
4580 "cc_r13_r2_r8_ASR_r9"},
4581 {{cc, r13, r4, r1, ASR, r8},
4582 false,
4583 al,
4584 "cc r13 r4 r1 ASR r8",
4585 "cc_r13_r4_r1_ASR_r8"},
4586 {{ne, r14, r14, r3, ASR, r0},
4587 false,
4588 al,
4589 "ne r14 r14 r3 ASR r0",
4590 "ne_r14_r14_r3_ASR_r0"},
4591 {{mi, r12, r9, r5, ASR, r10},
4592 false,
4593 al,
4594 "mi r12 r9 r5 ASR r10",
4595 "mi_r12_r9_r5_ASR_r10"},
4596 {{ne, r10, r12, r0, ASR, r10},
4597 false,
4598 al,
4599 "ne r10 r12 r0 ASR r10",
4600 "ne_r10_r12_r0_ASR_r10"},
4601 {{gt, r1, r6, r10, LSL, r2},
4602 false,
4603 al,
4604 "gt r1 r6 r10 LSL r2",
4605 "gt_r1_r6_r10_LSL_r2"},
4606 {{vs, r0, r6, r6, ASR, r5},
4607 false,
4608 al,
4609 "vs r0 r6 r6 ASR r5",
4610 "vs_r0_r6_r6_ASR_r5"},
4611 {{mi, r6, r12, r13, LSR, r9},
4612 false,
4613 al,
4614 "mi r6 r12 r13 LSR r9",
4615 "mi_r6_r12_r13_LSR_r9"},
4616 {{lt, r13, r11, r4, LSL, r1},
4617 false,
4618 al,
4619 "lt r13 r11 r4 LSL r1",
4620 "lt_r13_r11_r4_LSL_r1"},
4621 {{cs, r12, r11, r4, LSL, r0},
4622 false,
4623 al,
4624 "cs r12 r11 r4 LSL r0",
4625 "cs_r12_r11_r4_LSL_r0"},
4626 {{cs, r5, r1, r3, LSL, r3},
4627 false,
4628 al,
4629 "cs r5 r1 r3 LSL r3",
4630 "cs_r5_r1_r3_LSL_r3"},
4631 {{ls, r0, r1, r12, LSR, r7},
4632 false,
4633 al,
4634 "ls r0 r1 r12 LSR r7",
4635 "ls_r0_r1_r12_LSR_r7"},
4636 {{al, r14, r14, r4, LSL, r2},
4637 false,
4638 al,
4639 "al r14 r14 r4 LSL r2",
4640 "al_r14_r14_r4_LSL_r2"},
4641 {{hi, r5, r12, r10, ASR, r1},
4642 false,
4643 al,
4644 "hi r5 r12 r10 ASR r1",
4645 "hi_r5_r12_r10_ASR_r1"},
4646 {{pl, r11, r5, r2, LSL, r7},
4647 false,
4648 al,
4649 "pl r11 r5 r2 LSL r7",
4650 "pl_r11_r5_r2_LSL_r7"},
4651 {{ge, r0, r4, r0, ASR, r8},
4652 false,
4653 al,
4654 "ge r0 r4 r0 ASR r8",
4655 "ge_r0_r4_r0_ASR_r8"},
4656 {{cc, r11, r6, r12, LSR, r5},
4657 false,
4658 al,
4659 "cc r11 r6 r12 LSR r5",
4660 "cc_r11_r6_r12_LSR_r5"},
4661 {{cs, r12, r11, r0, ASR, r14},
4662 false,
4663 al,
4664 "cs r12 r11 r0 ASR r14",
4665 "cs_r12_r11_r0_ASR_r14"},
4666 {{hi, r6, r2, r3, LSL, r10},
4667 false,
4668 al,
4669 "hi r6 r2 r3 LSL r10",
4670 "hi_r6_r2_r3_LSL_r10"},
4671 {{cs, r0, r9, r1, LSR, r8},
4672 false,
4673 al,
4674 "cs r0 r9 r1 LSR r8",
4675 "cs_r0_r9_r1_LSR_r8"},
4676 {{eq, r6, r5, r1, LSR, r0},
4677 false,
4678 al,
4679 "eq r6 r5 r1 LSR r0",
4680 "eq_r6_r5_r1_LSR_r0"},
4681 {{eq, r12, r7, r9, LSR, r1},
4682 false,
4683 al,
4684 "eq r12 r7 r9 LSR r1",
4685 "eq_r12_r7_r9_LSR_r1"},
4686 {{pl, r4, r1, r2, LSL, r1},
4687 false,
4688 al,
4689 "pl r4 r1 r2 LSL r1",
4690 "pl_r4_r1_r2_LSL_r1"},
4691 {{vc, r2, r0, r6, LSL, r13},
4692 false,
4693 al,
4694 "vc r2 r0 r6 LSL r13",
4695 "vc_r2_r0_r6_LSL_r13"},
4696 {{vs, r1, r8, r2, LSR, r12},
4697 false,
4698 al,
4699 "vs r1 r8 r2 LSR r12",
4700 "vs_r1_r8_r2_LSR_r12"},
4701 {{eq, r1, r5, r14, LSR, r4},
4702 false,
4703 al,
4704 "eq r1 r5 r14 LSR r4",
4705 "eq_r1_r5_r14_LSR_r4"},
4706 {{cs, r5, r12, r8, LSR, r6},
4707 false,
4708 al,
4709 "cs r5 r12 r8 LSR r6",
4710 "cs_r5_r12_r8_LSR_r6"},
4711 {{vs, r5, r9, r13, LSL, r10},
4712 false,
4713 al,
4714 "vs r5 r9 r13 LSL r10",
4715 "vs_r5_r9_r13_LSL_r10"},
4716 {{le, r14, r14, r12, LSL, r9},
4717 false,
4718 al,
4719 "le r14 r14 r12 LSL r9",
4720 "le_r14_r14_r12_LSL_r9"},
4721 {{cc, r13, r7, r12, LSR, r4},
4722 false,
4723 al,
4724 "cc r13 r7 r12 LSR r4",
4725 "cc_r13_r7_r12_LSR_r4"},
4726 {{eq, r13, r2, r0, LSR, r14},
4727 false,
4728 al,
4729 "eq r13 r2 r0 LSR r14",
4730 "eq_r13_r2_r0_LSR_r14"},
4731 {{eq, r13, r11, r0, LSL, r2},
4732 false,
4733 al,
4734 "eq r13 r11 r0 LSL r2",
4735 "eq_r13_r11_r0_LSL_r2"},
4736 {{al, r7, r2, r13, ROR, r5},
4737 false,
4738 al,
4739 "al r7 r2 r13 ROR r5",
4740 "al_r7_r2_r13_ROR_r5"},
4741 {{vc, r1, r9, r6, LSL, r11},
4742 false,
4743 al,
4744 "vc r1 r9 r6 LSL r11",
4745 "vc_r1_r9_r6_LSL_r11"},
4746 {{lt, r1, r0, r0, ROR, r13},
4747 false,
4748 al,
4749 "lt r1 r0 r0 ROR r13",
4750 "lt_r1_r0_r0_ROR_r13"},
4751 {{le, r11, r4, r5, ASR, r2},
4752 false,
4753 al,
4754 "le r11 r4 r5 ASR r2",
4755 "le_r11_r4_r5_ASR_r2"},
4756 {{vs, r7, r7, r3, ROR, r1},
4757 false,
4758 al,
4759 "vs r7 r7 r3 ROR r1",
4760 "vs_r7_r7_r3_ROR_r1"},
4761 {{ls, r7, r5, r5, ASR, r11},
4762 false,
4763 al,
4764 "ls r7 r5 r5 ASR r11",
4765 "ls_r7_r5_r5_ASR_r11"},
4766 {{cc, r7, r10, r8, ROR, r12},
4767 false,
4768 al,
4769 "cc r7 r10 r8 ROR r12",
4770 "cc_r7_r10_r8_ROR_r12"},
4771 {{ne, r11, r11, r10, ROR, r11},
4772 false,
4773 al,
4774 "ne r11 r11 r10 ROR r11",
4775 "ne_r11_r11_r10_ROR_r11"},
4776 {{gt, r4, r11, r5, ASR, r12},
4777 false,
4778 al,
4779 "gt r4 r11 r5 ASR r12",
4780 "gt_r4_r11_r5_ASR_r12"},
4781 {{al, r3, r13, r1, ROR, r8},
4782 false,
4783 al,
4784 "al r3 r13 r1 ROR r8",
4785 "al_r3_r13_r1_ROR_r8"},
4786 {{le, r14, r4, r3, ROR, r10},
4787 false,
4788 al,
4789 "le r14 r4 r3 ROR r10",
4790 "le_r14_r4_r3_ROR_r10"},
4791 {{ls, r9, r2, r13, LSL, r9},
4792 false,
4793 al,
4794 "ls r9 r2 r13 LSL r9",
4795 "ls_r9_r2_r13_LSL_r9"},
4796 {{le, r12, r7, r4, ASR, r14},
4797 false,
4798 al,
4799 "le r12 r7 r4 ASR r14",
4800 "le_r12_r7_r4_ASR_r14"},
4801 {{lt, r1, r8, r0, ASR, r3},
4802 false,
4803 al,
4804 "lt r1 r8 r0 ASR r3",
4805 "lt_r1_r8_r0_ASR_r3"},
4806 {{ge, r1, r8, r10, ROR, r10},
4807 false,
4808 al,
4809 "ge r1 r8 r10 ROR r10",
4810 "ge_r1_r8_r10_ROR_r10"},
4811 {{vc, r6, r1, r14, LSL, r4},
4812 false,
4813 al,
4814 "vc r6 r1 r14 LSL r4",
4815 "vc_r6_r1_r14_LSL_r4"},
4816 {{gt, r13, r10, r0, ASR, r9},
4817 false,
4818 al,
4819 "gt r13 r10 r0 ASR r9",
4820 "gt_r13_r10_r0_ASR_r9"},
4821 {{ne, r8, r6, r12, LSR, r13},
4822 false,
4823 al,
4824 "ne r8 r6 r12 LSR r13",
4825 "ne_r8_r6_r12_LSR_r13"},
4826 {{vc, r2, r6, r8, LSL, r5},
4827 false,
4828 al,
4829 "vc r2 r6 r8 LSL r5",
4830 "vc_r2_r6_r8_LSL_r5"},
4831 {{lt, r3, r14, r12, ROR, r0},
4832 false,
4833 al,
4834 "lt r3 r14 r12 ROR r0",
4835 "lt_r3_r14_r12_ROR_r0"},
4836 {{hi, r14, r9, r5, LSL, r4},
4837 false,
4838 al,
4839 "hi r14 r9 r5 LSL r4",
4840 "hi_r14_r9_r5_LSL_r4"},
4841 {{le, r1, r9, r3, LSL, r1},
4842 false,
4843 al,
4844 "le r1 r9 r3 LSL r1",
4845 "le_r1_r9_r3_LSL_r1"},
4846 {{ne, r1, r1, r9, LSR, r9},
4847 false,
4848 al,
4849 "ne r1 r1 r9 LSR r9",
4850 "ne_r1_r1_r9_LSR_r9"},
4851 {{mi, r11, r9, r13, ASR, r1},
4852 false,
4853 al,
4854 "mi r11 r9 r13 ASR r1",
4855 "mi_r11_r9_r13_ASR_r1"},
4856 {{hi, r9, r3, r12, ASR, r8},
4857 false,
4858 al,
4859 "hi r9 r3 r12 ASR r8",
4860 "hi_r9_r3_r12_ASR_r8"},
4861 {{le, r7, r10, r1, ASR, r12},
4862 false,
4863 al,
4864 "le r7 r10 r1 ASR r12",
4865 "le_r7_r10_r1_ASR_r12"},
4866 {{vs, r12, r4, r1, ASR, r0},
4867 false,
4868 al,
4869 "vs r12 r4 r1 ASR r0",
4870 "vs_r12_r4_r1_ASR_r0"},
4871 {{vc, r10, r1, r11, LSL, r3},
4872 false,
4873 al,
4874 "vc r10 r1 r11 LSL r3",
4875 "vc_r10_r1_r11_LSL_r3"},
4876 {{cc, r9, r8, r13, ROR, r14},
4877 false,
4878 al,
4879 "cc r9 r8 r13 ROR r14",
4880 "cc_r9_r8_r13_ROR_r14"},
4881 {{cs, r12, r9, r11, LSL, r12},
4882 false,
4883 al,
4884 "cs r12 r9 r11 LSL r12",
4885 "cs_r12_r9_r11_LSL_r12"},
4886 {{al, r0, r0, r4, ASR, r12},
4887 false,
4888 al,
4889 "al r0 r0 r4 ASR r12",
4890 "al_r0_r0_r4_ASR_r12"},
4891 {{gt, r1, r12, r3, LSR, r11},
4892 false,
4893 al,
4894 "gt r1 r12 r3 LSR r11",
4895 "gt_r1_r12_r3_LSR_r11"},
4896 {{hi, r2, r3, r12, LSR, r12},
4897 false,
4898 al,
4899 "hi r2 r3 r12 LSR r12",
4900 "hi_r2_r3_r12_LSR_r12"},
4901 {{vs, r7, r4, r8, LSR, r1},
4902 false,
4903 al,
4904 "vs r7 r4 r8 LSR r1",
4905 "vs_r7_r4_r8_LSR_r1"},
4906 {{hi, r3, r0, r0, ASR, r1},
4907 false,
4908 al,
4909 "hi r3 r0 r0 ASR r1",
4910 "hi_r3_r0_r0_ASR_r1"},
4911 {{mi, r6, r7, r2, ROR, r8},
4912 false,
4913 al,
4914 "mi r6 r7 r2 ROR r8",
4915 "mi_r6_r7_r2_ROR_r8"},
4916 {{lt, r5, r8, r10, ASR, r3},
4917 false,
4918 al,
4919 "lt r5 r8 r10 ASR r3",
4920 "lt_r5_r8_r10_ASR_r3"},
4921 {{cs, r2, r12, r12, LSR, r1},
4922 false,
4923 al,
4924 "cs r2 r12 r12 LSR r1",
4925 "cs_r2_r12_r12_LSR_r1"},
4926 {{eq, r4, r12, r10, LSL, r2},
4927 false,
4928 al,
4929 "eq r4 r12 r10 LSL r2",
4930 "eq_r4_r12_r10_LSL_r2"},
4931 {{eq, r14, r3, r7, LSR, r2},
4932 false,
4933 al,
4934 "eq r14 r3 r7 LSR r2",
4935 "eq_r14_r3_r7_LSR_r2"},
4936 {{mi, r14, r11, r10, LSL, r0},
4937 false,
4938 al,
4939 "mi r14 r11 r10 LSL r0",
4940 "mi_r14_r11_r10_LSL_r0"},
4941 {{ge, r3, r6, r14, LSR, r9},
4942 false,
4943 al,
4944 "ge r3 r6 r14 LSR r9",
4945 "ge_r3_r6_r14_LSR_r9"},
4946 {{lt, r9, r9, r6, LSL, r4},
4947 false,
4948 al,
4949 "lt r9 r9 r6 LSL r4",
4950 "lt_r9_r9_r6_LSL_r4"},
4951 {{vc, r7, r6, r5, ROR, r7},
4952 false,
4953 al,
4954 "vc r7 r6 r5 ROR r7",
4955 "vc_r7_r6_r5_ROR_r7"},
4956 {{al, r10, r7, r4, LSR, r13},
4957 false,
4958 al,
4959 "al r10 r7 r4 LSR r13",
4960 "al_r10_r7_r4_LSR_r13"},
4961 {{vs, r11, r1, r0, LSR, r5},
4962 false,
4963 al,
4964 "vs r11 r1 r0 LSR r5",
4965 "vs_r11_r1_r0_LSR_r5"},
4966 {{pl, r5, r3, r14, LSL, r12},
4967 false,
4968 al,
4969 "pl r5 r3 r14 LSL r12",
4970 "pl_r5_r3_r14_LSL_r12"},
4971 {{vs, r14, r3, r2, LSL, r4},
4972 false,
4973 al,
4974 "vs r14 r3 r2 LSL r4",
4975 "vs_r14_r3_r2_LSL_r4"},
4976 {{hi, r3, r2, r5, LSR, r4},
4977 false,
4978 al,
4979 "hi r3 r2 r5 LSR r4",
4980 "hi_r3_r2_r5_LSR_r4"},
4981 {{gt, r12, r2, r9, LSR, r14},
4982 false,
4983 al,
4984 "gt r12 r2 r9 LSR r14",
4985 "gt_r12_r2_r9_LSR_r14"},
4986 {{cc, r3, r11, r2, LSR, r12},
4987 false,
4988 al,
4989 "cc r3 r11 r2 LSR r12",
4990 "cc_r3_r11_r2_LSR_r12"},
4991 {{gt, r1, r6, r2, LSL, r5},
4992 false,
4993 al,
4994 "gt r1 r6 r2 LSL r5",
4995 "gt_r1_r6_r2_LSL_r5"},
4996 {{le, r12, r5, r11, ROR, r11},
4997 false,
4998 al,
4999 "le r12 r5 r11 ROR r11",
5000 "le_r12_r5_r11_ROR_r11"},
5001 {{ge, r13, r14, r11, LSL, r2},
5002 false,
5003 al,
5004 "ge r13 r14 r11 LSL r2",
5005 "ge_r13_r14_r11_LSL_r2"},
5006 {{ne, r7, r14, r4, ASR, r12},
5007 false,
5008 al,
5009 "ne r7 r14 r4 ASR r12",
5010 "ne_r7_r14_r4_ASR_r12"},
5011 {{vc, r9, r5, r4, LSL, r8},
5012 false,
5013 al,
5014 "vc r9 r5 r4 LSL r8",
5015 "vc_r9_r5_r4_LSL_r8"},
5016 {{cc, r7, r3, r3, ASR, r1},
5017 false,
5018 al,
5019 "cc r7 r3 r3 ASR r1",
5020 "cc_r7_r3_r3_ASR_r1"},
5021 {{ls, r3, r13, r0, ASR, r1},
5022 false,
5023 al,
5024 "ls r3 r13 r0 ASR r1",
5025 "ls_r3_r13_r0_ASR_r1"},
5026 {{lt, r7, r5, r5, ASR, r11},
5027 false,
5028 al,
5029 "lt r7 r5 r5 ASR r11",
5030 "lt_r7_r5_r5_ASR_r11"},
5031 {{gt, r3, r6, r13, ASR, r11},
5032 false,
5033 al,
5034 "gt r3 r6 r13 ASR r11",
5035 "gt_r3_r6_r13_ASR_r11"},
5036 {{ge, r14, r10, r10, ASR, r10},
5037 false,
5038 al,
5039 "ge r14 r10 r10 ASR r10",
5040 "ge_r14_r10_r10_ASR_r10"},
5041 {{ne, r13, r14, r1, ASR, r2},
5042 false,
5043 al,
5044 "ne r13 r14 r1 ASR r2",
5045 "ne_r13_r14_r1_ASR_r2"},
5046 {{al, r8, r12, r6, ASR, r7},
5047 false,
5048 al,
5049 "al r8 r12 r6 ASR r7",
5050 "al_r8_r12_r6_ASR_r7"},
5051 {{mi, r2, r7, r7, ROR, r13},
5052 false,
5053 al,
5054 "mi r2 r7 r7 ROR r13",
5055 "mi_r2_r7_r7_ROR_r13"},
5056 {{le, r14, r6, r14, ROR, r6},
5057 false,
5058 al,
5059 "le r14 r6 r14 ROR r6",
5060 "le_r14_r6_r14_ROR_r6"},
5061 {{le, r11, r3, r12, LSR, r7},
5062 false,
5063 al,
5064 "le r11 r3 r12 LSR r7",
5065 "le_r11_r3_r12_LSR_r7"},
5066 {{vs, r0, r12, r1, ASR, r2},
5067 false,
5068 al,
5069 "vs r0 r12 r1 ASR r2",
5070 "vs_r0_r12_r1_ASR_r2"},
5071 {{vc, r7, r7, r12, LSL, r13},
5072 false,
5073 al,
5074 "vc r7 r7 r12 LSL r13",
5075 "vc_r7_r7_r12_LSL_r13"},
5076 {{eq, r6, r3, r8, ASR, r5},
5077 false,
5078 al,
5079 "eq r6 r3 r8 ASR r5",
5080 "eq_r6_r3_r8_ASR_r5"},
5081 {{cs, r5, r4, r5, LSL, r11},
5082 false,
5083 al,
5084 "cs r5 r4 r5 LSL r11",
5085 "cs_r5_r4_r5_LSL_r11"},
5086 {{lt, r3, r6, r9, ROR, r9},
5087 false,
5088 al,
5089 "lt r3 r6 r9 ROR r9",
5090 "lt_r3_r6_r9_ROR_r9"},
5091 {{vs, r14, r14, r13, LSR, r8},
5092 false,
5093 al,
5094 "vs r14 r14 r13 LSR r8",
5095 "vs_r14_r14_r13_LSR_r8"},
5096 {{cc, r4, r12, r9, LSL, r10},
5097 false,
5098 al,
5099 "cc r4 r12 r9 LSL r10",
5100 "cc_r4_r12_r9_LSL_r10"},
5101 {{gt, r4, r14, r14, ROR, r6},
5102 false,
5103 al,
5104 "gt r4 r14 r14 ROR r6",
5105 "gt_r4_r14_r14_ROR_r6"},
5106 {{gt, r8, r9, r10, LSR, r6},
5107 false,
5108 al,
5109 "gt r8 r9 r10 LSR r6",
5110 "gt_r8_r9_r10_LSR_r6"},
5111 {{hi, r6, r13, r11, LSL, r7},
5112 false,
5113 al,
5114 "hi r6 r13 r11 LSL r7",
5115 "hi_r6_r13_r11_LSL_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-a32-adc.h"
5120 #include "aarch32/traces/assembler-cond-rd-rn-operand-rm-shift-rs-a32-adcs.h"
5121 #include "aarch32/traces/assembler-cond-rd-rn-operand-rm-shift-rs-a32-add.h"
5122 #include "aarch32/traces/assembler-cond-rd-rn-operand-rm-shift-rs-a32-adds.h"
5123 #include "aarch32/traces/assembler-cond-rd-rn-operand-rm-shift-rs-a32-and.h"
5124 #include "aarch32/traces/assembler-cond-rd-rn-operand-rm-shift-rs-a32-ands.h"
5125 #include "aarch32/traces/assembler-cond-rd-rn-operand-rm-shift-rs-a32-bic.h"
5126 #include "aarch32/traces/assembler-cond-rd-rn-operand-rm-shift-rs-a32-bics.h"
5127 #include "aarch32/traces/assembler-cond-rd-rn-operand-rm-shift-rs-a32-eor.h"
5128 #include "aarch32/traces/assembler-cond-rd-rn-operand-rm-shift-rs-a32-eors.h"
5129 #include "aarch32/traces/assembler-cond-rd-rn-operand-rm-shift-rs-a32-orr.h"
5130 #include "aarch32/traces/assembler-cond-rd-rn-operand-rm-shift-rs-a32-orrs.h"
5131 #include "aarch32/traces/assembler-cond-rd-rn-operand-rm-shift-rs-a32-rsb.h"
5132 #include "aarch32/traces/assembler-cond-rd-rn-operand-rm-shift-rs-a32-rsbs.h"
5133 #include "aarch32/traces/assembler-cond-rd-rn-operand-rm-shift-rs-a32-rsc.h"
5134 #include "aarch32/traces/assembler-cond-rd-rn-operand-rm-shift-rs-a32-rscs.h"
5135 #include "aarch32/traces/assembler-cond-rd-rn-operand-rm-shift-rs-a32-sbc.h"
5136 #include "aarch32/traces/assembler-cond-rd-rn-operand-rm-shift-rs-a32-sbcs.h"
5137 #include "aarch32/traces/assembler-cond-rd-rn-operand-rm-shift-rs-a32-sub.h"
5138 #include "aarch32/traces/assembler-cond-rd-rn-operand-rm-shift-rs-a32-subs.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_A32_" #mnemonic, \
5271 &Test_##mnemonic);
5272 FOREACH_INSTRUCTION(TEST)
5273 #undef TEST
5274
5275 } // namespace
5276 #endif
5277
5278 } // namespace aarch32
5279 } // namespace vixl
5280