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(sxtab) \
53 M(sxtab16) \
54 M(sxtah) \
55 M(uxtab) \
56 M(uxtab16) \
57 M(uxtah)
58
59
60 // The following definitions are defined again in each generated test, therefore
61 // we need to place them in an anomymous namespace. It expresses that they are
62 // local to this file only, and the compiler is not allowed to share these types
63 // across test files during template instantiation. Specifically, `Operands` has
64 // various layouts across generated tests so it absolutely cannot be shared.
65
66 #ifdef VIXL_INCLUDE_TARGET_T32
67 namespace {
68
69 // Values to be passed to the assembler to produce the instruction under test.
70 struct Operands {
71 Condition cond;
72 Register rd;
73 Register rn;
74 Register rm;
75 ShiftType ror;
76 uint32_t amount;
77 };
78
79 // This structure contains all data needed to test one specific
80 // instruction.
81 struct TestData {
82 // The `operands` field represents what to pass to the assembler to
83 // produce the instruction.
84 Operands operands;
85 // True if we need to generate an IT instruction for this test to be valid.
86 bool in_it_block;
87 // The condition to give the IT instruction, this will be set to "al" by
88 // default.
89 Condition it_condition;
90 // Description of the operands, used for error reporting.
91 const char* operands_description;
92 // Unique identifier, used for generating traces.
93 const char* identifier;
94 };
95
96 struct TestResult {
97 size_t size;
98 const byte* encoding;
99 };
100
101 // Each element of this array produce one instruction encoding.
102 const TestData kTests[] = {{{al, r4, r0, r8, ROR, 16},
103 false,
104 al,
105 "al r4 r0 r8 ROR 16",
106 "al_r4_r0_r8_ROR_16"},
107 {{al, r14, r13, r12, ROR, 24},
108 false,
109 al,
110 "al r14 r13 r12 ROR 24",
111 "al_r14_r13_r12_ROR_24"},
112 {{al, r9, r10, r5, ROR, 16},
113 false,
114 al,
115 "al r9 r10 r5 ROR 16",
116 "al_r9_r10_r5_ROR_16"},
117 {{al, r11, r13, r14, ROR, 8},
118 false,
119 al,
120 "al r11 r13 r14 ROR 8",
121 "al_r11_r13_r14_ROR_8"},
122 {{al, r3, r12, r11, ROR, 16},
123 false,
124 al,
125 "al r3 r12 r11 ROR 16",
126 "al_r3_r12_r11_ROR_16"},
127 {{al, r0, r11, r6, ROR, 24},
128 false,
129 al,
130 "al r0 r11 r6 ROR 24",
131 "al_r0_r11_r6_ROR_24"},
132 {{al, r1, r9, r13, ROR, 16},
133 false,
134 al,
135 "al r1 r9 r13 ROR 16",
136 "al_r1_r9_r13_ROR_16"},
137 {{al, r14, r4, r11, ROR, 16},
138 false,
139 al,
140 "al r14 r4 r11 ROR 16",
141 "al_r14_r4_r11_ROR_16"},
142 {{al, r2, r13, r5, ROR, 16},
143 false,
144 al,
145 "al r2 r13 r5 ROR 16",
146 "al_r2_r13_r5_ROR_16"},
147 {{al, r9, r1, r0, ROR, 24},
148 false,
149 al,
150 "al r9 r1 r0 ROR 24",
151 "al_r9_r1_r0_ROR_24"},
152 {{al, r10, r14, r10, ROR, 24},
153 false,
154 al,
155 "al r10 r14 r10 ROR 24",
156 "al_r10_r14_r10_ROR_24"},
157 {{al, r10, r1, r6, ROR, 8},
158 false,
159 al,
160 "al r10 r1 r6 ROR 8",
161 "al_r10_r1_r6_ROR_8"},
162 {{al, r1, r11, r10, ROR, 0},
163 false,
164 al,
165 "al r1 r11 r10 ROR 0",
166 "al_r1_r11_r10_ROR_0"},
167 {{al, r5, r0, r5, ROR, 0},
168 false,
169 al,
170 "al r5 r0 r5 ROR 0",
171 "al_r5_r0_r5_ROR_0"},
172 {{al, r8, r3, r1, ROR, 0},
173 false,
174 al,
175 "al r8 r3 r1 ROR 0",
176 "al_r8_r3_r1_ROR_0"},
177 {{al, r4, r5, r0, ROR, 24},
178 false,
179 al,
180 "al r4 r5 r0 ROR 24",
181 "al_r4_r5_r0_ROR_24"},
182 {{al, r6, r5, r9, ROR, 0},
183 false,
184 al,
185 "al r6 r5 r9 ROR 0",
186 "al_r6_r5_r9_ROR_0"},
187 {{al, r14, r6, r13, ROR, 16},
188 false,
189 al,
190 "al r14 r6 r13 ROR 16",
191 "al_r14_r6_r13_ROR_16"},
192 {{al, r13, r6, r1, ROR, 16},
193 false,
194 al,
195 "al r13 r6 r1 ROR 16",
196 "al_r13_r6_r1_ROR_16"},
197 {{al, r6, r9, r0, ROR, 16},
198 false,
199 al,
200 "al r6 r9 r0 ROR 16",
201 "al_r6_r9_r0_ROR_16"},
202 {{al, r13, r14, r13, ROR, 16},
203 false,
204 al,
205 "al r13 r14 r13 ROR 16",
206 "al_r13_r14_r13_ROR_16"},
207 {{al, r12, r13, r1, ROR, 8},
208 false,
209 al,
210 "al r12 r13 r1 ROR 8",
211 "al_r12_r13_r1_ROR_8"},
212 {{al, r8, r6, r13, ROR, 0},
213 false,
214 al,
215 "al r8 r6 r13 ROR 0",
216 "al_r8_r6_r13_ROR_0"},
217 {{al, r0, r6, r9, ROR, 16},
218 false,
219 al,
220 "al r0 r6 r9 ROR 16",
221 "al_r0_r6_r9_ROR_16"},
222 {{al, r14, r1, r3, ROR, 24},
223 false,
224 al,
225 "al r14 r1 r3 ROR 24",
226 "al_r14_r1_r3_ROR_24"},
227 {{al, r4, r12, r7, ROR, 24},
228 false,
229 al,
230 "al r4 r12 r7 ROR 24",
231 "al_r4_r12_r7_ROR_24"},
232 {{al, r3, r7, r11, ROR, 0},
233 false,
234 al,
235 "al r3 r7 r11 ROR 0",
236 "al_r3_r7_r11_ROR_0"},
237 {{al, r2, r2, r4, ROR, 16},
238 false,
239 al,
240 "al r2 r2 r4 ROR 16",
241 "al_r2_r2_r4_ROR_16"},
242 {{al, r4, r12, r0, ROR, 16},
243 false,
244 al,
245 "al r4 r12 r0 ROR 16",
246 "al_r4_r12_r0_ROR_16"},
247 {{al, r4, r3, r2, ROR, 8},
248 false,
249 al,
250 "al r4 r3 r2 ROR 8",
251 "al_r4_r3_r2_ROR_8"},
252 {{al, r0, r11, r11, ROR, 16},
253 false,
254 al,
255 "al r0 r11 r11 ROR 16",
256 "al_r0_r11_r11_ROR_16"},
257 {{al, r5, r12, r12, ROR, 0},
258 false,
259 al,
260 "al r5 r12 r12 ROR 0",
261 "al_r5_r12_r12_ROR_0"},
262 {{al, r10, r1, r4, ROR, 8},
263 false,
264 al,
265 "al r10 r1 r4 ROR 8",
266 "al_r10_r1_r4_ROR_8"},
267 {{al, r7, r9, r7, ROR, 8},
268 false,
269 al,
270 "al r7 r9 r7 ROR 8",
271 "al_r7_r9_r7_ROR_8"},
272 {{al, r14, r3, r10, ROR, 16},
273 false,
274 al,
275 "al r14 r3 r10 ROR 16",
276 "al_r14_r3_r10_ROR_16"},
277 {{al, r6, r6, r12, ROR, 8},
278 false,
279 al,
280 "al r6 r6 r12 ROR 8",
281 "al_r6_r6_r12_ROR_8"},
282 {{al, r1, r14, r3, ROR, 16},
283 false,
284 al,
285 "al r1 r14 r3 ROR 16",
286 "al_r1_r14_r3_ROR_16"},
287 {{al, r4, r7, r11, ROR, 16},
288 false,
289 al,
290 "al r4 r7 r11 ROR 16",
291 "al_r4_r7_r11_ROR_16"},
292 {{al, r3, r6, r4, ROR, 0},
293 false,
294 al,
295 "al r3 r6 r4 ROR 0",
296 "al_r3_r6_r4_ROR_0"},
297 {{al, r1, r11, r2, ROR, 0},
298 false,
299 al,
300 "al r1 r11 r2 ROR 0",
301 "al_r1_r11_r2_ROR_0"},
302 {{al, r4, r5, r1, ROR, 0},
303 false,
304 al,
305 "al r4 r5 r1 ROR 0",
306 "al_r4_r5_r1_ROR_0"},
307 {{al, r14, r9, r13, ROR, 8},
308 false,
309 al,
310 "al r14 r9 r13 ROR 8",
311 "al_r14_r9_r13_ROR_8"},
312 {{al, r5, r11, r12, ROR, 0},
313 false,
314 al,
315 "al r5 r11 r12 ROR 0",
316 "al_r5_r11_r12_ROR_0"},
317 {{al, r11, r3, r12, ROR, 0},
318 false,
319 al,
320 "al r11 r3 r12 ROR 0",
321 "al_r11_r3_r12_ROR_0"},
322 {{al, r3, r6, r2, ROR, 16},
323 false,
324 al,
325 "al r3 r6 r2 ROR 16",
326 "al_r3_r6_r2_ROR_16"},
327 {{al, r0, r6, r3, ROR, 24},
328 false,
329 al,
330 "al r0 r6 r3 ROR 24",
331 "al_r0_r6_r3_ROR_24"},
332 {{al, r10, r6, r14, ROR, 16},
333 false,
334 al,
335 "al r10 r6 r14 ROR 16",
336 "al_r10_r6_r14_ROR_16"},
337 {{al, r3, r6, r14, ROR, 24},
338 false,
339 al,
340 "al r3 r6 r14 ROR 24",
341 "al_r3_r6_r14_ROR_24"},
342 {{al, r0, r11, r0, ROR, 24},
343 false,
344 al,
345 "al r0 r11 r0 ROR 24",
346 "al_r0_r11_r0_ROR_24"},
347 {{al, r1, r10, r10, ROR, 0},
348 false,
349 al,
350 "al r1 r10 r10 ROR 0",
351 "al_r1_r10_r10_ROR_0"},
352 {{al, r0, r2, r11, ROR, 24},
353 false,
354 al,
355 "al r0 r2 r11 ROR 24",
356 "al_r0_r2_r11_ROR_24"},
357 {{al, r14, r14, r1, ROR, 0},
358 false,
359 al,
360 "al r14 r14 r1 ROR 0",
361 "al_r14_r14_r1_ROR_0"},
362 {{al, r13, r1, r12, ROR, 8},
363 false,
364 al,
365 "al r13 r1 r12 ROR 8",
366 "al_r13_r1_r12_ROR_8"},
367 {{al, r2, r13, r8, ROR, 0},
368 false,
369 al,
370 "al r2 r13 r8 ROR 0",
371 "al_r2_r13_r8_ROR_0"},
372 {{al, r8, r9, r9, ROR, 16},
373 false,
374 al,
375 "al r8 r9 r9 ROR 16",
376 "al_r8_r9_r9_ROR_16"},
377 {{al, r0, r13, r14, ROR, 24},
378 false,
379 al,
380 "al r0 r13 r14 ROR 24",
381 "al_r0_r13_r14_ROR_24"},
382 {{al, r9, r0, r3, ROR, 24},
383 false,
384 al,
385 "al r9 r0 r3 ROR 24",
386 "al_r9_r0_r3_ROR_24"},
387 {{al, r4, r8, r13, ROR, 24},
388 false,
389 al,
390 "al r4 r8 r13 ROR 24",
391 "al_r4_r8_r13_ROR_24"},
392 {{al, r14, r14, r5, ROR, 16},
393 false,
394 al,
395 "al r14 r14 r5 ROR 16",
396 "al_r14_r14_r5_ROR_16"},
397 {{al, r1, r12, r6, ROR, 0},
398 false,
399 al,
400 "al r1 r12 r6 ROR 0",
401 "al_r1_r12_r6_ROR_0"},
402 {{al, r13, r0, r4, ROR, 16},
403 false,
404 al,
405 "al r13 r0 r4 ROR 16",
406 "al_r13_r0_r4_ROR_16"},
407 {{al, r0, r0, r9, ROR, 0},
408 false,
409 al,
410 "al r0 r0 r9 ROR 0",
411 "al_r0_r0_r9_ROR_0"},
412 {{al, r6, r4, r10, ROR, 16},
413 false,
414 al,
415 "al r6 r4 r10 ROR 16",
416 "al_r6_r4_r10_ROR_16"},
417 {{al, r6, r3, r6, ROR, 16},
418 false,
419 al,
420 "al r6 r3 r6 ROR 16",
421 "al_r6_r3_r6_ROR_16"},
422 {{al, r8, r13, r11, ROR, 0},
423 false,
424 al,
425 "al r8 r13 r11 ROR 0",
426 "al_r8_r13_r11_ROR_0"},
427 {{al, r9, r5, r8, ROR, 0},
428 false,
429 al,
430 "al r9 r5 r8 ROR 0",
431 "al_r9_r5_r8_ROR_0"},
432 {{al, r14, r2, r13, ROR, 8},
433 false,
434 al,
435 "al r14 r2 r13 ROR 8",
436 "al_r14_r2_r13_ROR_8"},
437 {{al, r12, r2, r1, ROR, 16},
438 false,
439 al,
440 "al r12 r2 r1 ROR 16",
441 "al_r12_r2_r1_ROR_16"},
442 {{al, r5, r12, r0, ROR, 16},
443 false,
444 al,
445 "al r5 r12 r0 ROR 16",
446 "al_r5_r12_r0_ROR_16"},
447 {{al, r7, r8, r12, ROR, 16},
448 false,
449 al,
450 "al r7 r8 r12 ROR 16",
451 "al_r7_r8_r12_ROR_16"},
452 {{al, r4, r3, r13, ROR, 8},
453 false,
454 al,
455 "al r4 r3 r13 ROR 8",
456 "al_r4_r3_r13_ROR_8"},
457 {{al, r4, r8, r5, ROR, 24},
458 false,
459 al,
460 "al r4 r8 r5 ROR 24",
461 "al_r4_r8_r5_ROR_24"},
462 {{al, r0, r6, r2, ROR, 24},
463 false,
464 al,
465 "al r0 r6 r2 ROR 24",
466 "al_r0_r6_r2_ROR_24"},
467 {{al, r3, r3, r2, ROR, 0},
468 false,
469 al,
470 "al r3 r3 r2 ROR 0",
471 "al_r3_r3_r2_ROR_0"},
472 {{al, r6, r6, r3, ROR, 8},
473 false,
474 al,
475 "al r6 r6 r3 ROR 8",
476 "al_r6_r6_r3_ROR_8"},
477 {{al, r12, r2, r3, ROR, 0},
478 false,
479 al,
480 "al r12 r2 r3 ROR 0",
481 "al_r12_r2_r3_ROR_0"},
482 {{al, r14, r6, r10, ROR, 16},
483 false,
484 al,
485 "al r14 r6 r10 ROR 16",
486 "al_r14_r6_r10_ROR_16"},
487 {{al, r2, r0, r3, ROR, 24},
488 false,
489 al,
490 "al r2 r0 r3 ROR 24",
491 "al_r2_r0_r3_ROR_24"},
492 {{al, r13, r13, r5, ROR, 8},
493 false,
494 al,
495 "al r13 r13 r5 ROR 8",
496 "al_r13_r13_r5_ROR_8"},
497 {{al, r0, r12, r8, ROR, 16},
498 false,
499 al,
500 "al r0 r12 r8 ROR 16",
501 "al_r0_r12_r8_ROR_16"},
502 {{al, r10, r13, r4, ROR, 16},
503 false,
504 al,
505 "al r10 r13 r4 ROR 16",
506 "al_r10_r13_r4_ROR_16"},
507 {{al, r2, r5, r12, ROR, 0},
508 false,
509 al,
510 "al r2 r5 r12 ROR 0",
511 "al_r2_r5_r12_ROR_0"},
512 {{al, r10, r7, r10, ROR, 16},
513 false,
514 al,
515 "al r10 r7 r10 ROR 16",
516 "al_r10_r7_r10_ROR_16"},
517 {{al, r4, r10, r9, ROR, 8},
518 false,
519 al,
520 "al r4 r10 r9 ROR 8",
521 "al_r4_r10_r9_ROR_8"},
522 {{al, r3, r0, r9, ROR, 8},
523 false,
524 al,
525 "al r3 r0 r9 ROR 8",
526 "al_r3_r0_r9_ROR_8"},
527 {{al, r5, r12, r5, ROR, 0},
528 false,
529 al,
530 "al r5 r12 r5 ROR 0",
531 "al_r5_r12_r5_ROR_0"},
532 {{al, r9, r12, r11, ROR, 16},
533 false,
534 al,
535 "al r9 r12 r11 ROR 16",
536 "al_r9_r12_r11_ROR_16"},
537 {{al, r2, r2, r6, ROR, 8},
538 false,
539 al,
540 "al r2 r2 r6 ROR 8",
541 "al_r2_r2_r6_ROR_8"},
542 {{al, r4, r2, r3, ROR, 16},
543 false,
544 al,
545 "al r4 r2 r3 ROR 16",
546 "al_r4_r2_r3_ROR_16"},
547 {{al, r3, r10, r1, ROR, 8},
548 false,
549 al,
550 "al r3 r10 r1 ROR 8",
551 "al_r3_r10_r1_ROR_8"},
552 {{al, r1, r2, r3, ROR, 24},
553 false,
554 al,
555 "al r1 r2 r3 ROR 24",
556 "al_r1_r2_r3_ROR_24"},
557 {{al, r14, r10, r8, ROR, 0},
558 false,
559 al,
560 "al r14 r10 r8 ROR 0",
561 "al_r14_r10_r8_ROR_0"},
562 {{al, r9, r9, r5, ROR, 24},
563 false,
564 al,
565 "al r9 r9 r5 ROR 24",
566 "al_r9_r9_r5_ROR_24"},
567 {{al, r14, r4, r12, ROR, 0},
568 false,
569 al,
570 "al r14 r4 r12 ROR 0",
571 "al_r14_r4_r12_ROR_0"},
572 {{al, r13, r6, r10, ROR, 0},
573 false,
574 al,
575 "al r13 r6 r10 ROR 0",
576 "al_r13_r6_r10_ROR_0"},
577 {{al, r12, r7, r11, ROR, 24},
578 false,
579 al,
580 "al r12 r7 r11 ROR 24",
581 "al_r12_r7_r11_ROR_24"},
582 {{al, r5, r10, r9, ROR, 0},
583 false,
584 al,
585 "al r5 r10 r9 ROR 0",
586 "al_r5_r10_r9_ROR_0"},
587 {{al, r12, r6, r7, ROR, 24},
588 false,
589 al,
590 "al r12 r6 r7 ROR 24",
591 "al_r12_r6_r7_ROR_24"},
592 {{al, r1, r12, r11, ROR, 24},
593 false,
594 al,
595 "al r1 r12 r11 ROR 24",
596 "al_r1_r12_r11_ROR_24"},
597 {{al, r12, r0, r14, ROR, 8},
598 false,
599 al,
600 "al r12 r0 r14 ROR 8",
601 "al_r12_r0_r14_ROR_8"},
602 {{al, r2, r13, r2, ROR, 24},
603 false,
604 al,
605 "al r2 r13 r2 ROR 24",
606 "al_r2_r13_r2_ROR_24"},
607 {{al, r11, r13, r1, ROR, 0},
608 false,
609 al,
610 "al r11 r13 r1 ROR 0",
611 "al_r11_r13_r1_ROR_0"},
612 {{al, r8, r8, r5, ROR, 24},
613 false,
614 al,
615 "al r8 r8 r5 ROR 24",
616 "al_r8_r8_r5_ROR_24"},
617 {{al, r9, r10, r5, ROR, 8},
618 false,
619 al,
620 "al r9 r10 r5 ROR 8",
621 "al_r9_r10_r5_ROR_8"},
622 {{al, r3, r7, r9, ROR, 16},
623 false,
624 al,
625 "al r3 r7 r9 ROR 16",
626 "al_r3_r7_r9_ROR_16"},
627 {{al, r5, r11, r1, ROR, 8},
628 false,
629 al,
630 "al r5 r11 r1 ROR 8",
631 "al_r5_r11_r1_ROR_8"},
632 {{al, r3, r6, r8, ROR, 8},
633 false,
634 al,
635 "al r3 r6 r8 ROR 8",
636 "al_r3_r6_r8_ROR_8"},
637 {{al, r3, r14, r6, ROR, 8},
638 false,
639 al,
640 "al r3 r14 r6 ROR 8",
641 "al_r3_r14_r6_ROR_8"},
642 {{al, r14, r2, r2, ROR, 0},
643 false,
644 al,
645 "al r14 r2 r2 ROR 0",
646 "al_r14_r2_r2_ROR_0"},
647 {{al, r1, r2, r1, ROR, 8},
648 false,
649 al,
650 "al r1 r2 r1 ROR 8",
651 "al_r1_r2_r1_ROR_8"},
652 {{al, r6, r2, r1, ROR, 8},
653 false,
654 al,
655 "al r6 r2 r1 ROR 8",
656 "al_r6_r2_r1_ROR_8"},
657 {{al, r6, r1, r4, ROR, 24},
658 false,
659 al,
660 "al r6 r1 r4 ROR 24",
661 "al_r6_r1_r4_ROR_24"},
662 {{al, r11, r11, r14, ROR, 16},
663 false,
664 al,
665 "al r11 r11 r14 ROR 16",
666 "al_r11_r11_r14_ROR_16"},
667 {{al, r7, r6, r3, ROR, 24},
668 false,
669 al,
670 "al r7 r6 r3 ROR 24",
671 "al_r7_r6_r3_ROR_24"},
672 {{al, r12, r2, r2, ROR, 24},
673 false,
674 al,
675 "al r12 r2 r2 ROR 24",
676 "al_r12_r2_r2_ROR_24"},
677 {{al, r8, r14, r9, ROR, 16},
678 false,
679 al,
680 "al r8 r14 r9 ROR 16",
681 "al_r8_r14_r9_ROR_16"},
682 {{al, r13, r11, r0, ROR, 16},
683 false,
684 al,
685 "al r13 r11 r0 ROR 16",
686 "al_r13_r11_r0_ROR_16"},
687 {{al, r11, r1, r3, ROR, 24},
688 false,
689 al,
690 "al r11 r1 r3 ROR 24",
691 "al_r11_r1_r3_ROR_24"},
692 {{al, r5, r11, r6, ROR, 16},
693 false,
694 al,
695 "al r5 r11 r6 ROR 16",
696 "al_r5_r11_r6_ROR_16"},
697 {{al, r14, r5, r4, ROR, 24},
698 false,
699 al,
700 "al r14 r5 r4 ROR 24",
701 "al_r14_r5_r4_ROR_24"},
702 {{al, r13, r5, r5, ROR, 0},
703 false,
704 al,
705 "al r13 r5 r5 ROR 0",
706 "al_r13_r5_r5_ROR_0"},
707 {{al, r12, r0, r4, ROR, 24},
708 false,
709 al,
710 "al r12 r0 r4 ROR 24",
711 "al_r12_r0_r4_ROR_24"},
712 {{al, r4, r4, r2, ROR, 24},
713 false,
714 al,
715 "al r4 r4 r2 ROR 24",
716 "al_r4_r4_r2_ROR_24"},
717 {{al, r3, r5, r12, ROR, 16},
718 false,
719 al,
720 "al r3 r5 r12 ROR 16",
721 "al_r3_r5_r12_ROR_16"},
722 {{al, r0, r12, r11, ROR, 8},
723 false,
724 al,
725 "al r0 r12 r11 ROR 8",
726 "al_r0_r12_r11_ROR_8"},
727 {{al, r6, r4, r0, ROR, 0},
728 false,
729 al,
730 "al r6 r4 r0 ROR 0",
731 "al_r6_r4_r0_ROR_0"},
732 {{al, r5, r11, r6, ROR, 24},
733 false,
734 al,
735 "al r5 r11 r6 ROR 24",
736 "al_r5_r11_r6_ROR_24"},
737 {{al, r5, r5, r10, ROR, 8},
738 false,
739 al,
740 "al r5 r5 r10 ROR 8",
741 "al_r5_r5_r10_ROR_8"},
742 {{al, r9, r8, r6, ROR, 0},
743 false,
744 al,
745 "al r9 r8 r6 ROR 0",
746 "al_r9_r8_r6_ROR_0"},
747 {{al, r1, r5, r6, ROR, 8},
748 false,
749 al,
750 "al r1 r5 r6 ROR 8",
751 "al_r1_r5_r6_ROR_8"},
752 {{al, r7, r6, r3, ROR, 16},
753 false,
754 al,
755 "al r7 r6 r3 ROR 16",
756 "al_r7_r6_r3_ROR_16"},
757 {{al, r11, r4, r11, ROR, 24},
758 false,
759 al,
760 "al r11 r4 r11 ROR 24",
761 "al_r11_r4_r11_ROR_24"},
762 {{al, r1, r7, r14, ROR, 8},
763 false,
764 al,
765 "al r1 r7 r14 ROR 8",
766 "al_r1_r7_r14_ROR_8"},
767 {{al, r5, r4, r8, ROR, 16},
768 false,
769 al,
770 "al r5 r4 r8 ROR 16",
771 "al_r5_r4_r8_ROR_16"},
772 {{al, r14, r10, r6, ROR, 24},
773 false,
774 al,
775 "al r14 r10 r6 ROR 24",
776 "al_r14_r10_r6_ROR_24"},
777 {{al, r12, r2, r0, ROR, 16},
778 false,
779 al,
780 "al r12 r2 r0 ROR 16",
781 "al_r12_r2_r0_ROR_16"},
782 {{al, r7, r13, r8, ROR, 8},
783 false,
784 al,
785 "al r7 r13 r8 ROR 8",
786 "al_r7_r13_r8_ROR_8"},
787 {{al, r12, r2, r4, ROR, 24},
788 false,
789 al,
790 "al r12 r2 r4 ROR 24",
791 "al_r12_r2_r4_ROR_24"},
792 {{al, r0, r11, r4, ROR, 24},
793 false,
794 al,
795 "al r0 r11 r4 ROR 24",
796 "al_r0_r11_r4_ROR_24"},
797 {{al, r14, r8, r1, ROR, 16},
798 false,
799 al,
800 "al r14 r8 r1 ROR 16",
801 "al_r14_r8_r1_ROR_16"},
802 {{al, r2, r13, r7, ROR, 0},
803 false,
804 al,
805 "al r2 r13 r7 ROR 0",
806 "al_r2_r13_r7_ROR_0"},
807 {{al, r1, r2, r2, ROR, 24},
808 false,
809 al,
810 "al r1 r2 r2 ROR 24",
811 "al_r1_r2_r2_ROR_24"},
812 {{al, r2, r7, r12, ROR, 24},
813 false,
814 al,
815 "al r2 r7 r12 ROR 24",
816 "al_r2_r7_r12_ROR_24"},
817 {{al, r12, r9, r6, ROR, 0},
818 false,
819 al,
820 "al r12 r9 r6 ROR 0",
821 "al_r12_r9_r6_ROR_0"},
822 {{al, r5, r1, r11, ROR, 8},
823 false,
824 al,
825 "al r5 r1 r11 ROR 8",
826 "al_r5_r1_r11_ROR_8"},
827 {{al, r8, r10, r9, ROR, 24},
828 false,
829 al,
830 "al r8 r10 r9 ROR 24",
831 "al_r8_r10_r9_ROR_24"},
832 {{al, r5, r6, r7, ROR, 0},
833 false,
834 al,
835 "al r5 r6 r7 ROR 0",
836 "al_r5_r6_r7_ROR_0"},
837 {{al, r11, r0, r0, ROR, 24},
838 false,
839 al,
840 "al r11 r0 r0 ROR 24",
841 "al_r11_r0_r0_ROR_24"},
842 {{al, r5, r2, r8, ROR, 16},
843 false,
844 al,
845 "al r5 r2 r8 ROR 16",
846 "al_r5_r2_r8_ROR_16"},
847 {{al, r7, r8, r4, ROR, 16},
848 false,
849 al,
850 "al r7 r8 r4 ROR 16",
851 "al_r7_r8_r4_ROR_16"},
852 {{al, r8, r6, r11, ROR, 16},
853 false,
854 al,
855 "al r8 r6 r11 ROR 16",
856 "al_r8_r6_r11_ROR_16"},
857 {{al, r1, r8, r3, ROR, 16},
858 false,
859 al,
860 "al r1 r8 r3 ROR 16",
861 "al_r1_r8_r3_ROR_16"},
862 {{al, r9, r13, r9, ROR, 16},
863 false,
864 al,
865 "al r9 r13 r9 ROR 16",
866 "al_r9_r13_r9_ROR_16"},
867 {{al, r14, r2, r4, ROR, 16},
868 false,
869 al,
870 "al r14 r2 r4 ROR 16",
871 "al_r14_r2_r4_ROR_16"},
872 {{al, r13, r7, r6, ROR, 8},
873 false,
874 al,
875 "al r13 r7 r6 ROR 8",
876 "al_r13_r7_r6_ROR_8"},
877 {{al, r0, r11, r5, ROR, 24},
878 false,
879 al,
880 "al r0 r11 r5 ROR 24",
881 "al_r0_r11_r5_ROR_24"},
882 {{al, r11, r7, r5, ROR, 0},
883 false,
884 al,
885 "al r11 r7 r5 ROR 0",
886 "al_r11_r7_r5_ROR_0"},
887 {{al, r12, r7, r9, ROR, 24},
888 false,
889 al,
890 "al r12 r7 r9 ROR 24",
891 "al_r12_r7_r9_ROR_24"},
892 {{al, r8, r4, r13, ROR, 16},
893 false,
894 al,
895 "al r8 r4 r13 ROR 16",
896 "al_r8_r4_r13_ROR_16"},
897 {{al, r0, r10, r7, ROR, 8},
898 false,
899 al,
900 "al r0 r10 r7 ROR 8",
901 "al_r0_r10_r7_ROR_8"},
902 {{al, r13, r5, r1, ROR, 24},
903 false,
904 al,
905 "al r13 r5 r1 ROR 24",
906 "al_r13_r5_r1_ROR_24"},
907 {{al, r7, r11, r10, ROR, 16},
908 false,
909 al,
910 "al r7 r11 r10 ROR 16",
911 "al_r7_r11_r10_ROR_16"},
912 {{al, r13, r12, r3, ROR, 24},
913 false,
914 al,
915 "al r13 r12 r3 ROR 24",
916 "al_r13_r12_r3_ROR_24"},
917 {{al, r3, r7, r14, ROR, 16},
918 false,
919 al,
920 "al r3 r7 r14 ROR 16",
921 "al_r3_r7_r14_ROR_16"},
922 {{al, r4, r4, r4, ROR, 8},
923 false,
924 al,
925 "al r4 r4 r4 ROR 8",
926 "al_r4_r4_r4_ROR_8"},
927 {{al, r6, r11, r3, ROR, 0},
928 false,
929 al,
930 "al r6 r11 r3 ROR 0",
931 "al_r6_r11_r3_ROR_0"},
932 {{al, r9, r11, r11, ROR, 16},
933 false,
934 al,
935 "al r9 r11 r11 ROR 16",
936 "al_r9_r11_r11_ROR_16"},
937 {{al, r12, r13, r7, ROR, 16},
938 false,
939 al,
940 "al r12 r13 r7 ROR 16",
941 "al_r12_r13_r7_ROR_16"},
942 {{al, r10, r12, r8, ROR, 16},
943 false,
944 al,
945 "al r10 r12 r8 ROR 16",
946 "al_r10_r12_r8_ROR_16"},
947 {{al, r0, r1, r5, ROR, 16},
948 false,
949 al,
950 "al r0 r1 r5 ROR 16",
951 "al_r0_r1_r5_ROR_16"},
952 {{al, r6, r11, r0, ROR, 24},
953 false,
954 al,
955 "al r6 r11 r0 ROR 24",
956 "al_r6_r11_r0_ROR_24"},
957 {{al, r4, r10, r12, ROR, 8},
958 false,
959 al,
960 "al r4 r10 r12 ROR 8",
961 "al_r4_r10_r12_ROR_8"},
962 {{al, r11, r10, r10, ROR, 24},
963 false,
964 al,
965 "al r11 r10 r10 ROR 24",
966 "al_r11_r10_r10_ROR_24"},
967 {{al, r9, r8, r13, ROR, 0},
968 false,
969 al,
970 "al r9 r8 r13 ROR 0",
971 "al_r9_r8_r13_ROR_0"},
972 {{al, r12, r2, r9, ROR, 0},
973 false,
974 al,
975 "al r12 r2 r9 ROR 0",
976 "al_r12_r2_r9_ROR_0"},
977 {{al, r8, r8, r13, ROR, 16},
978 false,
979 al,
980 "al r8 r8 r13 ROR 16",
981 "al_r8_r8_r13_ROR_16"},
982 {{al, r9, r7, r10, ROR, 24},
983 false,
984 al,
985 "al r9 r7 r10 ROR 24",
986 "al_r9_r7_r10_ROR_24"},
987 {{al, r4, r8, r1, ROR, 8},
988 false,
989 al,
990 "al r4 r8 r1 ROR 8",
991 "al_r4_r8_r1_ROR_8"},
992 {{al, r4, r9, r11, ROR, 16},
993 false,
994 al,
995 "al r4 r9 r11 ROR 16",
996 "al_r4_r9_r11_ROR_16"},
997 {{al, r5, r10, r6, ROR, 16},
998 false,
999 al,
1000 "al r5 r10 r6 ROR 16",
1001 "al_r5_r10_r6_ROR_16"},
1002 {{al, r11, r4, r12, ROR, 8},
1003 false,
1004 al,
1005 "al r11 r4 r12 ROR 8",
1006 "al_r11_r4_r12_ROR_8"},
1007 {{al, r2, r0, r1, ROR, 8},
1008 false,
1009 al,
1010 "al r2 r0 r1 ROR 8",
1011 "al_r2_r0_r1_ROR_8"},
1012 {{al, r13, r0, r9, ROR, 8},
1013 false,
1014 al,
1015 "al r13 r0 r9 ROR 8",
1016 "al_r13_r0_r9_ROR_8"},
1017 {{al, r6, r12, r5, ROR, 16},
1018 false,
1019 al,
1020 "al r6 r12 r5 ROR 16",
1021 "al_r6_r12_r5_ROR_16"},
1022 {{al, r10, r1, r9, ROR, 16},
1023 false,
1024 al,
1025 "al r10 r1 r9 ROR 16",
1026 "al_r10_r1_r9_ROR_16"},
1027 {{al, r7, r14, r7, ROR, 24},
1028 false,
1029 al,
1030 "al r7 r14 r7 ROR 24",
1031 "al_r7_r14_r7_ROR_24"},
1032 {{al, r0, r13, r4, ROR, 8},
1033 false,
1034 al,
1035 "al r0 r13 r4 ROR 8",
1036 "al_r0_r13_r4_ROR_8"},
1037 {{al, r2, r2, r11, ROR, 8},
1038 false,
1039 al,
1040 "al r2 r2 r11 ROR 8",
1041 "al_r2_r2_r11_ROR_8"},
1042 {{al, r1, r14, r7, ROR, 8},
1043 false,
1044 al,
1045 "al r1 r14 r7 ROR 8",
1046 "al_r1_r14_r7_ROR_8"},
1047 {{al, r9, r0, r7, ROR, 8},
1048 false,
1049 al,
1050 "al r9 r0 r7 ROR 8",
1051 "al_r9_r0_r7_ROR_8"},
1052 {{al, r12, r2, r11, ROR, 16},
1053 false,
1054 al,
1055 "al r12 r2 r11 ROR 16",
1056 "al_r12_r2_r11_ROR_16"},
1057 {{al, r1, r5, r13, ROR, 16},
1058 false,
1059 al,
1060 "al r1 r5 r13 ROR 16",
1061 "al_r1_r5_r13_ROR_16"},
1062 {{al, r1, r2, r0, ROR, 16},
1063 false,
1064 al,
1065 "al r1 r2 r0 ROR 16",
1066 "al_r1_r2_r0_ROR_16"},
1067 {{al, r6, r11, r8, ROR, 24},
1068 false,
1069 al,
1070 "al r6 r11 r8 ROR 24",
1071 "al_r6_r11_r8_ROR_24"},
1072 {{al, r1, r6, r4, ROR, 0},
1073 false,
1074 al,
1075 "al r1 r6 r4 ROR 0",
1076 "al_r1_r6_r4_ROR_0"},
1077 {{al, r4, r13, r1, ROR, 16},
1078 false,
1079 al,
1080 "al r4 r13 r1 ROR 16",
1081 "al_r4_r13_r1_ROR_16"},
1082 {{al, r14, r5, r13, ROR, 8},
1083 false,
1084 al,
1085 "al r14 r5 r13 ROR 8",
1086 "al_r14_r5_r13_ROR_8"},
1087 {{al, r3, r3, r2, ROR, 16},
1088 false,
1089 al,
1090 "al r3 r3 r2 ROR 16",
1091 "al_r3_r3_r2_ROR_16"},
1092 {{al, r8, r3, r1, ROR, 8},
1093 false,
1094 al,
1095 "al r8 r3 r1 ROR 8",
1096 "al_r8_r3_r1_ROR_8"},
1097 {{al, r13, r9, r13, ROR, 8},
1098 false,
1099 al,
1100 "al r13 r9 r13 ROR 8",
1101 "al_r13_r9_r13_ROR_8"},
1102 {{al, r13, r0, r14, ROR, 8},
1103 false,
1104 al,
1105 "al r13 r0 r14 ROR 8",
1106 "al_r13_r0_r14_ROR_8"},
1107 {{al, r9, r10, r11, ROR, 24},
1108 false,
1109 al,
1110 "al r9 r10 r11 ROR 24",
1111 "al_r9_r10_r11_ROR_24"},
1112 {{al, r14, r10, r2, ROR, 8},
1113 false,
1114 al,
1115 "al r14 r10 r2 ROR 8",
1116 "al_r14_r10_r2_ROR_8"},
1117 {{al, r8, r6, r12, ROR, 24},
1118 false,
1119 al,
1120 "al r8 r6 r12 ROR 24",
1121 "al_r8_r6_r12_ROR_24"},
1122 {{al, r10, r10, r8, ROR, 24},
1123 false,
1124 al,
1125 "al r10 r10 r8 ROR 24",
1126 "al_r10_r10_r8_ROR_24"},
1127 {{al, r13, r3, r3, ROR, 16},
1128 false,
1129 al,
1130 "al r13 r3 r3 ROR 16",
1131 "al_r13_r3_r3_ROR_16"},
1132 {{al, r6, r8, r9, ROR, 16},
1133 false,
1134 al,
1135 "al r6 r8 r9 ROR 16",
1136 "al_r6_r8_r9_ROR_16"},
1137 {{al, r8, r13, r1, ROR, 0},
1138 false,
1139 al,
1140 "al r8 r13 r1 ROR 0",
1141 "al_r8_r13_r1_ROR_0"},
1142 {{al, r2, r14, r2, ROR, 0},
1143 false,
1144 al,
1145 "al r2 r14 r2 ROR 0",
1146 "al_r2_r14_r2_ROR_0"},
1147 {{al, r8, r2, r11, ROR, 16},
1148 false,
1149 al,
1150 "al r8 r2 r11 ROR 16",
1151 "al_r8_r2_r11_ROR_16"},
1152 {{al, r9, r8, r2, ROR, 8},
1153 false,
1154 al,
1155 "al r9 r8 r2 ROR 8",
1156 "al_r9_r8_r2_ROR_8"},
1157 {{al, r13, r7, r14, ROR, 24},
1158 false,
1159 al,
1160 "al r13 r7 r14 ROR 24",
1161 "al_r13_r7_r14_ROR_24"},
1162 {{al, r3, r3, r13, ROR, 16},
1163 false,
1164 al,
1165 "al r3 r3 r13 ROR 16",
1166 "al_r3_r3_r13_ROR_16"},
1167 {{al, r0, r2, r9, ROR, 0},
1168 false,
1169 al,
1170 "al r0 r2 r9 ROR 0",
1171 "al_r0_r2_r9_ROR_0"},
1172 {{al, r9, r10, r8, ROR, 16},
1173 false,
1174 al,
1175 "al r9 r10 r8 ROR 16",
1176 "al_r9_r10_r8_ROR_16"},
1177 {{al, r3, r4, r4, ROR, 8},
1178 false,
1179 al,
1180 "al r3 r4 r4 ROR 8",
1181 "al_r3_r4_r4_ROR_8"},
1182 {{al, r10, r13, r4, ROR, 24},
1183 false,
1184 al,
1185 "al r10 r13 r4 ROR 24",
1186 "al_r10_r13_r4_ROR_24"},
1187 {{al, r0, r12, r6, ROR, 0},
1188 false,
1189 al,
1190 "al r0 r12 r6 ROR 0",
1191 "al_r0_r12_r6_ROR_0"},
1192 {{al, r12, r10, r11, ROR, 8},
1193 false,
1194 al,
1195 "al r12 r10 r11 ROR 8",
1196 "al_r12_r10_r11_ROR_8"},
1197 {{al, r0, r7, r0, ROR, 0},
1198 false,
1199 al,
1200 "al r0 r7 r0 ROR 0",
1201 "al_r0_r7_r0_ROR_0"},
1202 {{al, r0, r7, r10, ROR, 0},
1203 false,
1204 al,
1205 "al r0 r7 r10 ROR 0",
1206 "al_r0_r7_r10_ROR_0"},
1207 {{al, r7, r12, r10, ROR, 0},
1208 false,
1209 al,
1210 "al r7 r12 r10 ROR 0",
1211 "al_r7_r12_r10_ROR_0"},
1212 {{al, r1, r2, r7, ROR, 8},
1213 false,
1214 al,
1215 "al r1 r2 r7 ROR 8",
1216 "al_r1_r2_r7_ROR_8"},
1217 {{al, r8, r13, r7, ROR, 8},
1218 false,
1219 al,
1220 "al r8 r13 r7 ROR 8",
1221 "al_r8_r13_r7_ROR_8"},
1222 {{al, r3, r13, r5, ROR, 16},
1223 false,
1224 al,
1225 "al r3 r13 r5 ROR 16",
1226 "al_r3_r13_r5_ROR_16"},
1227 {{al, r14, r14, r10, ROR, 0},
1228 false,
1229 al,
1230 "al r14 r14 r10 ROR 0",
1231 "al_r14_r14_r10_ROR_0"},
1232 {{al, r5, r5, r5, ROR, 0},
1233 false,
1234 al,
1235 "al r5 r5 r5 ROR 0",
1236 "al_r5_r5_r5_ROR_0"},
1237 {{al, r3, r2, r2, ROR, 0},
1238 false,
1239 al,
1240 "al r3 r2 r2 ROR 0",
1241 "al_r3_r2_r2_ROR_0"},
1242 {{al, r4, r1, r13, ROR, 8},
1243 false,
1244 al,
1245 "al r4 r1 r13 ROR 8",
1246 "al_r4_r1_r13_ROR_8"},
1247 {{al, r8, r0, r13, ROR, 0},
1248 false,
1249 al,
1250 "al r8 r0 r13 ROR 0",
1251 "al_r8_r0_r13_ROR_0"},
1252 {{al, r6, r14, r7, ROR, 16},
1253 false,
1254 al,
1255 "al r6 r14 r7 ROR 16",
1256 "al_r6_r14_r7_ROR_16"},
1257 {{al, r7, r1, r14, ROR, 0},
1258 false,
1259 al,
1260 "al r7 r1 r14 ROR 0",
1261 "al_r7_r1_r14_ROR_0"},
1262 {{al, r14, r10, r4, ROR, 8},
1263 false,
1264 al,
1265 "al r14 r10 r4 ROR 8",
1266 "al_r14_r10_r4_ROR_8"},
1267 {{al, r14, r8, r4, ROR, 24},
1268 false,
1269 al,
1270 "al r14 r8 r4 ROR 24",
1271 "al_r14_r8_r4_ROR_24"},
1272 {{al, r9, r6, r12, ROR, 8},
1273 false,
1274 al,
1275 "al r9 r6 r12 ROR 8",
1276 "al_r9_r6_r12_ROR_8"},
1277 {{al, r6, r1, r4, ROR, 16},
1278 false,
1279 al,
1280 "al r6 r1 r4 ROR 16",
1281 "al_r6_r1_r4_ROR_16"},
1282 {{al, r6, r11, r10, ROR, 0},
1283 false,
1284 al,
1285 "al r6 r11 r10 ROR 0",
1286 "al_r6_r11_r10_ROR_0"},
1287 {{al, r14, r2, r2, ROR, 16},
1288 false,
1289 al,
1290 "al r14 r2 r2 ROR 16",
1291 "al_r14_r2_r2_ROR_16"},
1292 {{al, r6, r3, r5, ROR, 16},
1293 false,
1294 al,
1295 "al r6 r3 r5 ROR 16",
1296 "al_r6_r3_r5_ROR_16"},
1297 {{al, r11, r1, r14, ROR, 0},
1298 false,
1299 al,
1300 "al r11 r1 r14 ROR 0",
1301 "al_r11_r1_r14_ROR_0"},
1302 {{al, r11, r12, r3, ROR, 0},
1303 false,
1304 al,
1305 "al r11 r12 r3 ROR 0",
1306 "al_r11_r12_r3_ROR_0"},
1307 {{al, r14, r13, r0, ROR, 0},
1308 false,
1309 al,
1310 "al r14 r13 r0 ROR 0",
1311 "al_r14_r13_r0_ROR_0"},
1312 {{al, r4, r4, r8, ROR, 16},
1313 false,
1314 al,
1315 "al r4 r4 r8 ROR 16",
1316 "al_r4_r4_r8_ROR_16"},
1317 {{al, r5, r14, r6, ROR, 8},
1318 false,
1319 al,
1320 "al r5 r14 r6 ROR 8",
1321 "al_r5_r14_r6_ROR_8"},
1322 {{al, r3, r8, r5, ROR, 0},
1323 false,
1324 al,
1325 "al r3 r8 r5 ROR 0",
1326 "al_r3_r8_r5_ROR_0"},
1327 {{al, r8, r10, r4, ROR, 16},
1328 false,
1329 al,
1330 "al r8 r10 r4 ROR 16",
1331 "al_r8_r10_r4_ROR_16"},
1332 {{al, r4, r12, r8, ROR, 16},
1333 false,
1334 al,
1335 "al r4 r12 r8 ROR 16",
1336 "al_r4_r12_r8_ROR_16"},
1337 {{al, r0, r13, r4, ROR, 16},
1338 false,
1339 al,
1340 "al r0 r13 r4 ROR 16",
1341 "al_r0_r13_r4_ROR_16"},
1342 {{al, r3, r9, r13, ROR, 24},
1343 false,
1344 al,
1345 "al r3 r9 r13 ROR 24",
1346 "al_r3_r9_r13_ROR_24"},
1347 {{al, r2, r6, r0, ROR, 24},
1348 false,
1349 al,
1350 "al r2 r6 r0 ROR 24",
1351 "al_r2_r6_r0_ROR_24"},
1352 {{al, r3, r12, r2, ROR, 24},
1353 false,
1354 al,
1355 "al r3 r12 r2 ROR 24",
1356 "al_r3_r12_r2_ROR_24"},
1357 {{al, r11, r11, r5, ROR, 24},
1358 false,
1359 al,
1360 "al r11 r11 r5 ROR 24",
1361 "al_r11_r11_r5_ROR_24"},
1362 {{al, r10, r2, r10, ROR, 8},
1363 false,
1364 al,
1365 "al r10 r2 r10 ROR 8",
1366 "al_r10_r2_r10_ROR_8"},
1367 {{al, r6, r6, r13, ROR, 16},
1368 false,
1369 al,
1370 "al r6 r6 r13 ROR 16",
1371 "al_r6_r6_r13_ROR_16"},
1372 {{al, r8, r5, r4, ROR, 24},
1373 false,
1374 al,
1375 "al r8 r5 r4 ROR 24",
1376 "al_r8_r5_r4_ROR_24"},
1377 {{al, r10, r7, r6, ROR, 8},
1378 false,
1379 al,
1380 "al r10 r7 r6 ROR 8",
1381 "al_r10_r7_r6_ROR_8"},
1382 {{al, r14, r12, r11, ROR, 8},
1383 false,
1384 al,
1385 "al r14 r12 r11 ROR 8",
1386 "al_r14_r12_r11_ROR_8"},
1387 {{al, r13, r9, r9, ROR, 16},
1388 false,
1389 al,
1390 "al r13 r9 r9 ROR 16",
1391 "al_r13_r9_r9_ROR_16"},
1392 {{al, r3, r5, r3, ROR, 0},
1393 false,
1394 al,
1395 "al r3 r5 r3 ROR 0",
1396 "al_r3_r5_r3_ROR_0"},
1397 {{al, r12, r9, r1, ROR, 8},
1398 false,
1399 al,
1400 "al r12 r9 r1 ROR 8",
1401 "al_r12_r9_r1_ROR_8"},
1402 {{al, r4, r10, r7, ROR, 16},
1403 false,
1404 al,
1405 "al r4 r10 r7 ROR 16",
1406 "al_r4_r10_r7_ROR_16"},
1407 {{al, r11, r5, r12, ROR, 8},
1408 false,
1409 al,
1410 "al r11 r5 r12 ROR 8",
1411 "al_r11_r5_r12_ROR_8"},
1412 {{al, r10, r4, r8, ROR, 24},
1413 false,
1414 al,
1415 "al r10 r4 r8 ROR 24",
1416 "al_r10_r4_r8_ROR_24"},
1417 {{al, r9, r6, r6, ROR, 16},
1418 false,
1419 al,
1420 "al r9 r6 r6 ROR 16",
1421 "al_r9_r6_r6_ROR_16"},
1422 {{al, r7, r5, r9, ROR, 8},
1423 false,
1424 al,
1425 "al r7 r5 r9 ROR 8",
1426 "al_r7_r5_r9_ROR_8"},
1427 {{al, r7, r9, r5, ROR, 24},
1428 false,
1429 al,
1430 "al r7 r9 r5 ROR 24",
1431 "al_r7_r9_r5_ROR_24"},
1432 {{al, r4, r9, r10, ROR, 16},
1433 false,
1434 al,
1435 "al r4 r9 r10 ROR 16",
1436 "al_r4_r9_r10_ROR_16"},
1437 {{al, r9, r2, r13, ROR, 8},
1438 false,
1439 al,
1440 "al r9 r2 r13 ROR 8",
1441 "al_r9_r2_r13_ROR_8"},
1442 {{al, r10, r9, r7, ROR, 16},
1443 false,
1444 al,
1445 "al r10 r9 r7 ROR 16",
1446 "al_r10_r9_r7_ROR_16"},
1447 {{al, r13, r7, r2, ROR, 0},
1448 false,
1449 al,
1450 "al r13 r7 r2 ROR 0",
1451 "al_r13_r7_r2_ROR_0"},
1452 {{al, r14, r8, r13, ROR, 8},
1453 false,
1454 al,
1455 "al r14 r8 r13 ROR 8",
1456 "al_r14_r8_r13_ROR_8"},
1457 {{al, r7, r13, r3, ROR, 24},
1458 false,
1459 al,
1460 "al r7 r13 r3 ROR 24",
1461 "al_r7_r13_r3_ROR_24"},
1462 {{al, r7, r4, r0, ROR, 8},
1463 false,
1464 al,
1465 "al r7 r4 r0 ROR 8",
1466 "al_r7_r4_r0_ROR_8"},
1467 {{al, r1, r12, r8, ROR, 8},
1468 false,
1469 al,
1470 "al r1 r12 r8 ROR 8",
1471 "al_r1_r12_r8_ROR_8"},
1472 {{al, r14, r5, r8, ROR, 24},
1473 false,
1474 al,
1475 "al r14 r5 r8 ROR 24",
1476 "al_r14_r5_r8_ROR_24"},
1477 {{al, r0, r0, r1, ROR, 0},
1478 false,
1479 al,
1480 "al r0 r0 r1 ROR 0",
1481 "al_r0_r0_r1_ROR_0"},
1482 {{al, r1, r3, r3, ROR, 8},
1483 false,
1484 al,
1485 "al r1 r3 r3 ROR 8",
1486 "al_r1_r3_r3_ROR_8"},
1487 {{al, r4, r0, r8, ROR, 8},
1488 false,
1489 al,
1490 "al r4 r0 r8 ROR 8",
1491 "al_r4_r0_r8_ROR_8"},
1492 {{al, r7, r4, r8, ROR, 16},
1493 false,
1494 al,
1495 "al r7 r4 r8 ROR 16",
1496 "al_r7_r4_r8_ROR_16"},
1497 {{al, r1, r1, r8, ROR, 8},
1498 false,
1499 al,
1500 "al r1 r1 r8 ROR 8",
1501 "al_r1_r1_r8_ROR_8"},
1502 {{al, r4, r11, r4, ROR, 24},
1503 false,
1504 al,
1505 "al r4 r11 r4 ROR 24",
1506 "al_r4_r11_r4_ROR_24"},
1507 {{al, r2, r5, r6, ROR, 0},
1508 false,
1509 al,
1510 "al r2 r5 r6 ROR 0",
1511 "al_r2_r5_r6_ROR_0"},
1512 {{al, r14, r8, r3, ROR, 8},
1513 false,
1514 al,
1515 "al r14 r8 r3 ROR 8",
1516 "al_r14_r8_r3_ROR_8"},
1517 {{al, r5, r2, r12, ROR, 8},
1518 false,
1519 al,
1520 "al r5 r2 r12 ROR 8",
1521 "al_r5_r2_r12_ROR_8"},
1522 {{al, r1, r12, r0, ROR, 8},
1523 false,
1524 al,
1525 "al r1 r12 r0 ROR 8",
1526 "al_r1_r12_r0_ROR_8"},
1527 {{al, r7, r5, r4, ROR, 24},
1528 false,
1529 al,
1530 "al r7 r5 r4 ROR 24",
1531 "al_r7_r5_r4_ROR_24"},
1532 {{al, r6, r9, r3, ROR, 16},
1533 false,
1534 al,
1535 "al r6 r9 r3 ROR 16",
1536 "al_r6_r9_r3_ROR_16"},
1537 {{al, r6, r1, r1, ROR, 8},
1538 false,
1539 al,
1540 "al r6 r1 r1 ROR 8",
1541 "al_r6_r1_r1_ROR_8"},
1542 {{al, r1, r4, r9, ROR, 24},
1543 false,
1544 al,
1545 "al r1 r4 r9 ROR 24",
1546 "al_r1_r4_r9_ROR_24"},
1547 {{al, r14, r4, r13, ROR, 16},
1548 false,
1549 al,
1550 "al r14 r4 r13 ROR 16",
1551 "al_r14_r4_r13_ROR_16"},
1552 {{al, r3, r1, r10, ROR, 0},
1553 false,
1554 al,
1555 "al r3 r1 r10 ROR 0",
1556 "al_r3_r1_r10_ROR_0"},
1557 {{al, r4, r6, r0, ROR, 24},
1558 false,
1559 al,
1560 "al r4 r6 r0 ROR 24",
1561 "al_r4_r6_r0_ROR_24"},
1562 {{al, r0, r14, r1, ROR, 8},
1563 false,
1564 al,
1565 "al r0 r14 r1 ROR 8",
1566 "al_r0_r14_r1_ROR_8"},
1567 {{al, r6, r8, r5, ROR, 0},
1568 false,
1569 al,
1570 "al r6 r8 r5 ROR 0",
1571 "al_r6_r8_r5_ROR_0"},
1572 {{al, r9, r6, r2, ROR, 16},
1573 false,
1574 al,
1575 "al r9 r6 r2 ROR 16",
1576 "al_r9_r6_r2_ROR_16"},
1577 {{al, r8, r6, r5, ROR, 16},
1578 false,
1579 al,
1580 "al r8 r6 r5 ROR 16",
1581 "al_r8_r6_r5_ROR_16"},
1582 {{al, r10, r10, r14, ROR, 8},
1583 false,
1584 al,
1585 "al r10 r10 r14 ROR 8",
1586 "al_r10_r10_r14_ROR_8"},
1587 {{al, r12, r2, r10, ROR, 16},
1588 false,
1589 al,
1590 "al r12 r2 r10 ROR 16",
1591 "al_r12_r2_r10_ROR_16"},
1592 {{al, r7, r3, r2, ROR, 8},
1593 false,
1594 al,
1595 "al r7 r3 r2 ROR 8",
1596 "al_r7_r3_r2_ROR_8"},
1597 {{al, r6, r0, r9, ROR, 0},
1598 false,
1599 al,
1600 "al r6 r0 r9 ROR 0",
1601 "al_r6_r0_r9_ROR_0"},
1602 {{al, r11, r4, r14, ROR, 24},
1603 false,
1604 al,
1605 "al r11 r4 r14 ROR 24",
1606 "al_r11_r4_r14_ROR_24"},
1607 {{al, r13, r13, r5, ROR, 24},
1608 false,
1609 al,
1610 "al r13 r13 r5 ROR 24",
1611 "al_r13_r13_r5_ROR_24"},
1612 {{al, r9, r2, r12, ROR, 24},
1613 false,
1614 al,
1615 "al r9 r2 r12 ROR 24",
1616 "al_r9_r2_r12_ROR_24"},
1617 {{al, r5, r1, r13, ROR, 16},
1618 false,
1619 al,
1620 "al r5 r1 r13 ROR 16",
1621 "al_r5_r1_r13_ROR_16"},
1622 {{al, r10, r4, r5, ROR, 0},
1623 false,
1624 al,
1625 "al r10 r4 r5 ROR 0",
1626 "al_r10_r4_r5_ROR_0"},
1627 {{al, r14, r11, r0, ROR, 24},
1628 false,
1629 al,
1630 "al r14 r11 r0 ROR 24",
1631 "al_r14_r11_r0_ROR_24"},
1632 {{al, r4, r12, r10, ROR, 24},
1633 false,
1634 al,
1635 "al r4 r12 r10 ROR 24",
1636 "al_r4_r12_r10_ROR_24"},
1637 {{al, r2, r5, r7, ROR, 24},
1638 false,
1639 al,
1640 "al r2 r5 r7 ROR 24",
1641 "al_r2_r5_r7_ROR_24"},
1642 {{al, r4, r4, r5, ROR, 16},
1643 false,
1644 al,
1645 "al r4 r4 r5 ROR 16",
1646 "al_r4_r4_r5_ROR_16"},
1647 {{al, r11, r9, r12, ROR, 8},
1648 false,
1649 al,
1650 "al r11 r9 r12 ROR 8",
1651 "al_r11_r9_r12_ROR_8"},
1652 {{al, r5, r9, r2, ROR, 0},
1653 false,
1654 al,
1655 "al r5 r9 r2 ROR 0",
1656 "al_r5_r9_r2_ROR_0"},
1657 {{al, r10, r6, r6, ROR, 24},
1658 false,
1659 al,
1660 "al r10 r6 r6 ROR 24",
1661 "al_r10_r6_r6_ROR_24"},
1662 {{al, r13, r11, r4, ROR, 24},
1663 false,
1664 al,
1665 "al r13 r11 r4 ROR 24",
1666 "al_r13_r11_r4_ROR_24"},
1667 {{al, r2, r9, r8, ROR, 8},
1668 false,
1669 al,
1670 "al r2 r9 r8 ROR 8",
1671 "al_r2_r9_r8_ROR_8"},
1672 {{al, r0, r9, r10, ROR, 24},
1673 false,
1674 al,
1675 "al r0 r9 r10 ROR 24",
1676 "al_r0_r9_r10_ROR_24"},
1677 {{al, r4, r1, r13, ROR, 0},
1678 false,
1679 al,
1680 "al r4 r1 r13 ROR 0",
1681 "al_r4_r1_r13_ROR_0"},
1682 {{al, r11, r0, r9, ROR, 24},
1683 false,
1684 al,
1685 "al r11 r0 r9 ROR 24",
1686 "al_r11_r0_r9_ROR_24"},
1687 {{al, r1, r12, r3, ROR, 0},
1688 false,
1689 al,
1690 "al r1 r12 r3 ROR 0",
1691 "al_r1_r12_r3_ROR_0"},
1692 {{al, r0, r13, r11, ROR, 24},
1693 false,
1694 al,
1695 "al r0 r13 r11 ROR 24",
1696 "al_r0_r13_r11_ROR_24"},
1697 {{al, r11, r5, r14, ROR, 16},
1698 false,
1699 al,
1700 "al r11 r5 r14 ROR 16",
1701 "al_r11_r5_r14_ROR_16"},
1702 {{al, r2, r6, r13, ROR, 16},
1703 false,
1704 al,
1705 "al r2 r6 r13 ROR 16",
1706 "al_r2_r6_r13_ROR_16"},
1707 {{al, r7, r10, r2, ROR, 8},
1708 false,
1709 al,
1710 "al r7 r10 r2 ROR 8",
1711 "al_r7_r10_r2_ROR_8"},
1712 {{al, r10, r4, r11, ROR, 24},
1713 false,
1714 al,
1715 "al r10 r4 r11 ROR 24",
1716 "al_r10_r4_r11_ROR_24"},
1717 {{al, r7, r3, r12, ROR, 24},
1718 false,
1719 al,
1720 "al r7 r3 r12 ROR 24",
1721 "al_r7_r3_r12_ROR_24"},
1722 {{al, r4, r4, r14, ROR, 0},
1723 false,
1724 al,
1725 "al r4 r4 r14 ROR 0",
1726 "al_r4_r4_r14_ROR_0"},
1727 {{al, r2, r9, r13, ROR, 8},
1728 false,
1729 al,
1730 "al r2 r9 r13 ROR 8",
1731 "al_r2_r9_r13_ROR_8"},
1732 {{al, r1, r3, r2, ROR, 0},
1733 false,
1734 al,
1735 "al r1 r3 r2 ROR 0",
1736 "al_r1_r3_r2_ROR_0"},
1737 {{al, r10, r5, r8, ROR, 16},
1738 false,
1739 al,
1740 "al r10 r5 r8 ROR 16",
1741 "al_r10_r5_r8_ROR_16"},
1742 {{al, r0, r4, r4, ROR, 0},
1743 false,
1744 al,
1745 "al r0 r4 r4 ROR 0",
1746 "al_r0_r4_r4_ROR_0"},
1747 {{al, r7, r2, r11, ROR, 24},
1748 false,
1749 al,
1750 "al r7 r2 r11 ROR 24",
1751 "al_r7_r2_r11_ROR_24"},
1752 {{al, r9, r0, r3, ROR, 8},
1753 false,
1754 al,
1755 "al r9 r0 r3 ROR 8",
1756 "al_r9_r0_r3_ROR_8"},
1757 {{al, r1, r2, r14, ROR, 8},
1758 false,
1759 al,
1760 "al r1 r2 r14 ROR 8",
1761 "al_r1_r2_r14_ROR_8"},
1762 {{al, r10, r0, r6, ROR, 0},
1763 false,
1764 al,
1765 "al r10 r0 r6 ROR 0",
1766 "al_r10_r0_r6_ROR_0"},
1767 {{al, r11, r2, r13, ROR, 0},
1768 false,
1769 al,
1770 "al r11 r2 r13 ROR 0",
1771 "al_r11_r2_r13_ROR_0"},
1772 {{al, r8, r13, r5, ROR, 24},
1773 false,
1774 al,
1775 "al r8 r13 r5 ROR 24",
1776 "al_r8_r13_r5_ROR_24"},
1777 {{al, r1, r11, r5, ROR, 24},
1778 false,
1779 al,
1780 "al r1 r11 r5 ROR 24",
1781 "al_r1_r11_r5_ROR_24"},
1782 {{al, r3, r0, r1, ROR, 8},
1783 false,
1784 al,
1785 "al r3 r0 r1 ROR 8",
1786 "al_r3_r0_r1_ROR_8"},
1787 {{al, r8, r10, r5, ROR, 0},
1788 false,
1789 al,
1790 "al r8 r10 r5 ROR 0",
1791 "al_r8_r10_r5_ROR_0"},
1792 {{al, r3, r10, r7, ROR, 0},
1793 false,
1794 al,
1795 "al r3 r10 r7 ROR 0",
1796 "al_r3_r10_r7_ROR_0"},
1797 {{al, r9, r10, r7, ROR, 8},
1798 false,
1799 al,
1800 "al r9 r10 r7 ROR 8",
1801 "al_r9_r10_r7_ROR_8"},
1802 {{al, r10, r2, r0, ROR, 16},
1803 false,
1804 al,
1805 "al r10 r2 r0 ROR 16",
1806 "al_r10_r2_r0_ROR_16"},
1807 {{al, r11, r6, r14, ROR, 8},
1808 false,
1809 al,
1810 "al r11 r6 r14 ROR 8",
1811 "al_r11_r6_r14_ROR_8"},
1812 {{al, r10, r5, r11, ROR, 8},
1813 false,
1814 al,
1815 "al r10 r5 r11 ROR 8",
1816 "al_r10_r5_r11_ROR_8"},
1817 {{al, r3, r7, r4, ROR, 24},
1818 false,
1819 al,
1820 "al r3 r7 r4 ROR 24",
1821 "al_r3_r7_r4_ROR_24"},
1822 {{al, r5, r8, r13, ROR, 24},
1823 false,
1824 al,
1825 "al r5 r8 r13 ROR 24",
1826 "al_r5_r8_r13_ROR_24"},
1827 {{al, r2, r4, r14, ROR, 16},
1828 false,
1829 al,
1830 "al r2 r4 r14 ROR 16",
1831 "al_r2_r4_r14_ROR_16"},
1832 {{al, r6, r1, r7, ROR, 24},
1833 false,
1834 al,
1835 "al r6 r1 r7 ROR 24",
1836 "al_r6_r1_r7_ROR_24"},
1837 {{al, r2, r1, r14, ROR, 0},
1838 false,
1839 al,
1840 "al r2 r1 r14 ROR 0",
1841 "al_r2_r1_r14_ROR_0"},
1842 {{al, r5, r2, r10, ROR, 0},
1843 false,
1844 al,
1845 "al r5 r2 r10 ROR 0",
1846 "al_r5_r2_r10_ROR_0"},
1847 {{al, r13, r6, r6, ROR, 16},
1848 false,
1849 al,
1850 "al r13 r6 r6 ROR 16",
1851 "al_r13_r6_r6_ROR_16"},
1852 {{al, r13, r6, r13, ROR, 0},
1853 false,
1854 al,
1855 "al r13 r6 r13 ROR 0",
1856 "al_r13_r6_r13_ROR_0"},
1857 {{al, r9, r7, r0, ROR, 24},
1858 false,
1859 al,
1860 "al r9 r7 r0 ROR 24",
1861 "al_r9_r7_r0_ROR_24"},
1862 {{al, r6, r10, r4, ROR, 0},
1863 false,
1864 al,
1865 "al r6 r10 r4 ROR 0",
1866 "al_r6_r10_r4_ROR_0"},
1867 {{al, r10, r9, r11, ROR, 16},
1868 false,
1869 al,
1870 "al r10 r9 r11 ROR 16",
1871 "al_r10_r9_r11_ROR_16"},
1872 {{al, r11, r9, r8, ROR, 16},
1873 false,
1874 al,
1875 "al r11 r9 r8 ROR 16",
1876 "al_r11_r9_r8_ROR_16"},
1877 {{al, r3, r9, r1, ROR, 0},
1878 false,
1879 al,
1880 "al r3 r9 r1 ROR 0",
1881 "al_r3_r9_r1_ROR_0"},
1882 {{al, r9, r11, r4, ROR, 0},
1883 false,
1884 al,
1885 "al r9 r11 r4 ROR 0",
1886 "al_r9_r11_r4_ROR_0"},
1887 {{al, r3, r6, r1, ROR, 16},
1888 false,
1889 al,
1890 "al r3 r6 r1 ROR 16",
1891 "al_r3_r6_r1_ROR_16"},
1892 {{al, r7, r1, r7, ROR, 16},
1893 false,
1894 al,
1895 "al r7 r1 r7 ROR 16",
1896 "al_r7_r1_r7_ROR_16"},
1897 {{al, r12, r6, r9, ROR, 24},
1898 false,
1899 al,
1900 "al r12 r6 r9 ROR 24",
1901 "al_r12_r6_r9_ROR_24"},
1902 {{al, r6, r7, r6, ROR, 16},
1903 false,
1904 al,
1905 "al r6 r7 r6 ROR 16",
1906 "al_r6_r7_r6_ROR_16"},
1907 {{al, r10, r4, r4, ROR, 8},
1908 false,
1909 al,
1910 "al r10 r4 r4 ROR 8",
1911 "al_r10_r4_r4_ROR_8"},
1912 {{al, r3, r6, r1, ROR, 8},
1913 false,
1914 al,
1915 "al r3 r6 r1 ROR 8",
1916 "al_r3_r6_r1_ROR_8"},
1917 {{al, r3, r9, r10, ROR, 16},
1918 false,
1919 al,
1920 "al r3 r9 r10 ROR 16",
1921 "al_r3_r9_r10_ROR_16"},
1922 {{al, r0, r0, r13, ROR, 16},
1923 false,
1924 al,
1925 "al r0 r0 r13 ROR 16",
1926 "al_r0_r0_r13_ROR_16"},
1927 {{al, r1, r8, r8, ROR, 16},
1928 false,
1929 al,
1930 "al r1 r8 r8 ROR 16",
1931 "al_r1_r8_r8_ROR_16"},
1932 {{al, r2, r13, r13, ROR, 0},
1933 false,
1934 al,
1935 "al r2 r13 r13 ROR 0",
1936 "al_r2_r13_r13_ROR_0"},
1937 {{al, r0, r5, r5, ROR, 16},
1938 false,
1939 al,
1940 "al r0 r5 r5 ROR 16",
1941 "al_r0_r5_r5_ROR_16"},
1942 {{al, r9, r12, r8, ROR, 16},
1943 false,
1944 al,
1945 "al r9 r12 r8 ROR 16",
1946 "al_r9_r12_r8_ROR_16"},
1947 {{al, r6, r5, r5, ROR, 0},
1948 false,
1949 al,
1950 "al r6 r5 r5 ROR 0",
1951 "al_r6_r5_r5_ROR_0"},
1952 {{al, r5, r4, r10, ROR, 0},
1953 false,
1954 al,
1955 "al r5 r4 r10 ROR 0",
1956 "al_r5_r4_r10_ROR_0"},
1957 {{al, r5, r5, r5, ROR, 24},
1958 false,
1959 al,
1960 "al r5 r5 r5 ROR 24",
1961 "al_r5_r5_r5_ROR_24"},
1962 {{al, r3, r9, r0, ROR, 8},
1963 false,
1964 al,
1965 "al r3 r9 r0 ROR 8",
1966 "al_r3_r9_r0_ROR_8"},
1967 {{al, r5, r11, r8, ROR, 0},
1968 false,
1969 al,
1970 "al r5 r11 r8 ROR 0",
1971 "al_r5_r11_r8_ROR_0"},
1972 {{al, r3, r13, r3, ROR, 8},
1973 false,
1974 al,
1975 "al r3 r13 r3 ROR 8",
1976 "al_r3_r13_r3_ROR_8"},
1977 {{al, r14, r6, r2, ROR, 8},
1978 false,
1979 al,
1980 "al r14 r6 r2 ROR 8",
1981 "al_r14_r6_r2_ROR_8"},
1982 {{al, r7, r4, r11, ROR, 8},
1983 false,
1984 al,
1985 "al r7 r4 r11 ROR 8",
1986 "al_r7_r4_r11_ROR_8"},
1987 {{al, r4, r10, r3, ROR, 0},
1988 false,
1989 al,
1990 "al r4 r10 r3 ROR 0",
1991 "al_r4_r10_r3_ROR_0"},
1992 {{al, r2, r2, r2, ROR, 16},
1993 false,
1994 al,
1995 "al r2 r2 r2 ROR 16",
1996 "al_r2_r2_r2_ROR_16"},
1997 {{al, r9, r13, r4, ROR, 16},
1998 false,
1999 al,
2000 "al r9 r13 r4 ROR 16",
2001 "al_r9_r13_r4_ROR_16"},
2002 {{al, r10, r4, r1, ROR, 8},
2003 false,
2004 al,
2005 "al r10 r4 r1 ROR 8",
2006 "al_r10_r4_r1_ROR_8"},
2007 {{al, r3, r11, r4, ROR, 8},
2008 false,
2009 al,
2010 "al r3 r11 r4 ROR 8",
2011 "al_r3_r11_r4_ROR_8"},
2012 {{al, r5, r11, r1, ROR, 16},
2013 false,
2014 al,
2015 "al r5 r11 r1 ROR 16",
2016 "al_r5_r11_r1_ROR_16"},
2017 {{al, r8, r1, r2, ROR, 16},
2018 false,
2019 al,
2020 "al r8 r1 r2 ROR 16",
2021 "al_r8_r1_r2_ROR_16"},
2022 {{al, r12, r10, r1, ROR, 8},
2023 false,
2024 al,
2025 "al r12 r10 r1 ROR 8",
2026 "al_r12_r10_r1_ROR_8"},
2027 {{al, r10, r6, r1, ROR, 24},
2028 false,
2029 al,
2030 "al r10 r6 r1 ROR 24",
2031 "al_r10_r6_r1_ROR_24"},
2032 {{al, r2, r13, r0, ROR, 16},
2033 false,
2034 al,
2035 "al r2 r13 r0 ROR 16",
2036 "al_r2_r13_r0_ROR_16"},
2037 {{al, r10, r10, r3, ROR, 16},
2038 false,
2039 al,
2040 "al r10 r10 r3 ROR 16",
2041 "al_r10_r10_r3_ROR_16"},
2042 {{al, r5, r8, r6, ROR, 16},
2043 false,
2044 al,
2045 "al r5 r8 r6 ROR 16",
2046 "al_r5_r8_r6_ROR_16"},
2047 {{al, r5, r11, r5, ROR, 8},
2048 false,
2049 al,
2050 "al r5 r11 r5 ROR 8",
2051 "al_r5_r11_r5_ROR_8"},
2052 {{al, r2, r4, r6, ROR, 24},
2053 false,
2054 al,
2055 "al r2 r4 r6 ROR 24",
2056 "al_r2_r4_r6_ROR_24"},
2057 {{al, r14, r1, r4, ROR, 0},
2058 false,
2059 al,
2060 "al r14 r1 r4 ROR 0",
2061 "al_r14_r1_r4_ROR_0"},
2062 {{al, r14, r10, r2, ROR, 24},
2063 false,
2064 al,
2065 "al r14 r10 r2 ROR 24",
2066 "al_r14_r10_r2_ROR_24"},
2067 {{al, r12, r6, r7, ROR, 16},
2068 false,
2069 al,
2070 "al r12 r6 r7 ROR 16",
2071 "al_r12_r6_r7_ROR_16"},
2072 {{al, r8, r12, r13, ROR, 24},
2073 false,
2074 al,
2075 "al r8 r12 r13 ROR 24",
2076 "al_r8_r12_r13_ROR_24"},
2077 {{al, r8, r9, r11, ROR, 0},
2078 false,
2079 al,
2080 "al r8 r9 r11 ROR 0",
2081 "al_r8_r9_r11_ROR_0"},
2082 {{al, r13, r9, r12, ROR, 24},
2083 false,
2084 al,
2085 "al r13 r9 r12 ROR 24",
2086 "al_r13_r9_r12_ROR_24"},
2087 {{al, r4, r9, r11, ROR, 24},
2088 false,
2089 al,
2090 "al r4 r9 r11 ROR 24",
2091 "al_r4_r9_r11_ROR_24"},
2092 {{al, r6, r10, r12, ROR, 8},
2093 false,
2094 al,
2095 "al r6 r10 r12 ROR 8",
2096 "al_r6_r10_r12_ROR_8"},
2097 {{al, r1, r8, r6, ROR, 8},
2098 false,
2099 al,
2100 "al r1 r8 r6 ROR 8",
2101 "al_r1_r8_r6_ROR_8"},
2102 {{al, r13, r13, r14, ROR, 16},
2103 false,
2104 al,
2105 "al r13 r13 r14 ROR 16",
2106 "al_r13_r13_r14_ROR_16"},
2107 {{al, r5, r3, r1, ROR, 0},
2108 false,
2109 al,
2110 "al r5 r3 r1 ROR 0",
2111 "al_r5_r3_r1_ROR_0"},
2112 {{al, r8, r13, r1, ROR, 8},
2113 false,
2114 al,
2115 "al r8 r13 r1 ROR 8",
2116 "al_r8_r13_r1_ROR_8"},
2117 {{al, r11, r12, r13, ROR, 24},
2118 false,
2119 al,
2120 "al r11 r12 r13 ROR 24",
2121 "al_r11_r12_r13_ROR_24"},
2122 {{al, r9, r0, r5, ROR, 8},
2123 false,
2124 al,
2125 "al r9 r0 r5 ROR 8",
2126 "al_r9_r0_r5_ROR_8"},
2127 {{al, r2, r11, r10, ROR, 0},
2128 false,
2129 al,
2130 "al r2 r11 r10 ROR 0",
2131 "al_r2_r11_r10_ROR_0"},
2132 {{al, r10, r6, r8, ROR, 16},
2133 false,
2134 al,
2135 "al r10 r6 r8 ROR 16",
2136 "al_r10_r6_r8_ROR_16"},
2137 {{al, r5, r12, r6, ROR, 0},
2138 false,
2139 al,
2140 "al r5 r12 r6 ROR 0",
2141 "al_r5_r12_r6_ROR_0"},
2142 {{al, r14, r11, r2, ROR, 16},
2143 false,
2144 al,
2145 "al r14 r11 r2 ROR 16",
2146 "al_r14_r11_r2_ROR_16"},
2147 {{al, r8, r4, r12, ROR, 0},
2148 false,
2149 al,
2150 "al r8 r4 r12 ROR 0",
2151 "al_r8_r4_r12_ROR_0"},
2152 {{al, r12, r10, r1, ROR, 0},
2153 false,
2154 al,
2155 "al r12 r10 r1 ROR 0",
2156 "al_r12_r10_r1_ROR_0"},
2157 {{al, r12, r8, r10, ROR, 0},
2158 false,
2159 al,
2160 "al r12 r8 r10 ROR 0",
2161 "al_r12_r8_r10_ROR_0"},
2162 {{al, r7, r8, r5, ROR, 0},
2163 false,
2164 al,
2165 "al r7 r8 r5 ROR 0",
2166 "al_r7_r8_r5_ROR_0"},
2167 {{al, r11, r0, r14, ROR, 24},
2168 false,
2169 al,
2170 "al r11 r0 r14 ROR 24",
2171 "al_r11_r0_r14_ROR_24"},
2172 {{al, r8, r14, r2, ROR, 24},
2173 false,
2174 al,
2175 "al r8 r14 r2 ROR 24",
2176 "al_r8_r14_r2_ROR_24"},
2177 {{al, r1, r1, r14, ROR, 16},
2178 false,
2179 al,
2180 "al r1 r1 r14 ROR 16",
2181 "al_r1_r1_r14_ROR_16"},
2182 {{al, r12, r6, r8, ROR, 8},
2183 false,
2184 al,
2185 "al r12 r6 r8 ROR 8",
2186 "al_r12_r6_r8_ROR_8"},
2187 {{al, r4, r8, r5, ROR, 16},
2188 false,
2189 al,
2190 "al r4 r8 r5 ROR 16",
2191 "al_r4_r8_r5_ROR_16"},
2192 {{al, r12, r8, r1, ROR, 8},
2193 false,
2194 al,
2195 "al r12 r8 r1 ROR 8",
2196 "al_r12_r8_r1_ROR_8"},
2197 {{al, r8, r12, r10, ROR, 8},
2198 false,
2199 al,
2200 "al r8 r12 r10 ROR 8",
2201 "al_r8_r12_r10_ROR_8"},
2202 {{al, r6, r7, r4, ROR, 16},
2203 false,
2204 al,
2205 "al r6 r7 r4 ROR 16",
2206 "al_r6_r7_r4_ROR_16"},
2207 {{al, r5, r2, r7, ROR, 0},
2208 false,
2209 al,
2210 "al r5 r2 r7 ROR 0",
2211 "al_r5_r2_r7_ROR_0"},
2212 {{al, r11, r11, r14, ROR, 24},
2213 false,
2214 al,
2215 "al r11 r11 r14 ROR 24",
2216 "al_r11_r11_r14_ROR_24"},
2217 {{al, r8, r7, r6, ROR, 24},
2218 false,
2219 al,
2220 "al r8 r7 r6 ROR 24",
2221 "al_r8_r7_r6_ROR_24"},
2222 {{al, r11, r8, r5, ROR, 0},
2223 false,
2224 al,
2225 "al r11 r8 r5 ROR 0",
2226 "al_r11_r8_r5_ROR_0"},
2227 {{al, r11, r10, r8, ROR, 16},
2228 false,
2229 al,
2230 "al r11 r10 r8 ROR 16",
2231 "al_r11_r10_r8_ROR_16"},
2232 {{al, r14, r6, r3, ROR, 16},
2233 false,
2234 al,
2235 "al r14 r6 r3 ROR 16",
2236 "al_r14_r6_r3_ROR_16"},
2237 {{al, r1, r0, r14, ROR, 16},
2238 false,
2239 al,
2240 "al r1 r0 r14 ROR 16",
2241 "al_r1_r0_r14_ROR_16"},
2242 {{al, r10, r11, r0, ROR, 16},
2243 false,
2244 al,
2245 "al r10 r11 r0 ROR 16",
2246 "al_r10_r11_r0_ROR_16"},
2247 {{al, r3, r10, r13, ROR, 24},
2248 false,
2249 al,
2250 "al r3 r10 r13 ROR 24",
2251 "al_r3_r10_r13_ROR_24"},
2252 {{al, r6, r14, r2, ROR, 0},
2253 false,
2254 al,
2255 "al r6 r14 r2 ROR 0",
2256 "al_r6_r14_r2_ROR_0"},
2257 {{al, r8, r8, r4, ROR, 24},
2258 false,
2259 al,
2260 "al r8 r8 r4 ROR 24",
2261 "al_r8_r8_r4_ROR_24"},
2262 {{al, r12, r7, r0, ROR, 0},
2263 false,
2264 al,
2265 "al r12 r7 r0 ROR 0",
2266 "al_r12_r7_r0_ROR_0"},
2267 {{al, r9, r4, r10, ROR, 8},
2268 false,
2269 al,
2270 "al r9 r4 r10 ROR 8",
2271 "al_r9_r4_r10_ROR_8"},
2272 {{al, r5, r12, r8, ROR, 16},
2273 false,
2274 al,
2275 "al r5 r12 r8 ROR 16",
2276 "al_r5_r12_r8_ROR_16"},
2277 {{al, r7, r3, r7, ROR, 0},
2278 false,
2279 al,
2280 "al r7 r3 r7 ROR 0",
2281 "al_r7_r3_r7_ROR_0"},
2282 {{al, r0, r6, r11, ROR, 8},
2283 false,
2284 al,
2285 "al r0 r6 r11 ROR 8",
2286 "al_r0_r6_r11_ROR_8"},
2287 {{al, r13, r14, r1, ROR, 24},
2288 false,
2289 al,
2290 "al r13 r14 r1 ROR 24",
2291 "al_r13_r14_r1_ROR_24"},
2292 {{al, r7, r10, r0, ROR, 0},
2293 false,
2294 al,
2295 "al r7 r10 r0 ROR 0",
2296 "al_r7_r10_r0_ROR_0"},
2297 {{al, r12, r14, r4, ROR, 8},
2298 false,
2299 al,
2300 "al r12 r14 r4 ROR 8",
2301 "al_r12_r14_r4_ROR_8"},
2302 {{al, r3, r4, r2, ROR, 16},
2303 false,
2304 al,
2305 "al r3 r4 r2 ROR 16",
2306 "al_r3_r4_r2_ROR_16"},
2307 {{al, r6, r13, r1, ROR, 8},
2308 false,
2309 al,
2310 "al r6 r13 r1 ROR 8",
2311 "al_r6_r13_r1_ROR_8"},
2312 {{al, r12, r7, r14, ROR, 24},
2313 false,
2314 al,
2315 "al r12 r7 r14 ROR 24",
2316 "al_r12_r7_r14_ROR_24"},
2317 {{al, r7, r12, r3, ROR, 24},
2318 false,
2319 al,
2320 "al r7 r12 r3 ROR 24",
2321 "al_r7_r12_r3_ROR_24"},
2322 {{al, r8, r12, r12, ROR, 8},
2323 false,
2324 al,
2325 "al r8 r12 r12 ROR 8",
2326 "al_r8_r12_r12_ROR_8"},
2327 {{al, r4, r9, r8, ROR, 24},
2328 false,
2329 al,
2330 "al r4 r9 r8 ROR 24",
2331 "al_r4_r9_r8_ROR_24"},
2332 {{al, r14, r11, r6, ROR, 0},
2333 false,
2334 al,
2335 "al r14 r11 r6 ROR 0",
2336 "al_r14_r11_r6_ROR_0"},
2337 {{al, r10, r10, r10, ROR, 0},
2338 false,
2339 al,
2340 "al r10 r10 r10 ROR 0",
2341 "al_r10_r10_r10_ROR_0"},
2342 {{al, r1, r5, r9, ROR, 24},
2343 false,
2344 al,
2345 "al r1 r5 r9 ROR 24",
2346 "al_r1_r5_r9_ROR_24"},
2347 {{al, r9, r0, r1, ROR, 16},
2348 false,
2349 al,
2350 "al r9 r0 r1 ROR 16",
2351 "al_r9_r0_r1_ROR_16"},
2352 {{al, r14, r12, r2, ROR, 8},
2353 false,
2354 al,
2355 "al r14 r12 r2 ROR 8",
2356 "al_r14_r12_r2_ROR_8"},
2357 {{al, r6, r14, r3, ROR, 0},
2358 false,
2359 al,
2360 "al r6 r14 r3 ROR 0",
2361 "al_r6_r14_r3_ROR_0"},
2362 {{al, r7, r11, r13, ROR, 16},
2363 false,
2364 al,
2365 "al r7 r11 r13 ROR 16",
2366 "al_r7_r11_r13_ROR_16"},
2367 {{al, r2, r10, r2, ROR, 24},
2368 false,
2369 al,
2370 "al r2 r10 r2 ROR 24",
2371 "al_r2_r10_r2_ROR_24"},
2372 {{al, r13, r6, r11, ROR, 0},
2373 false,
2374 al,
2375 "al r13 r6 r11 ROR 0",
2376 "al_r13_r6_r11_ROR_0"},
2377 {{al, r2, r0, r0, ROR, 24},
2378 false,
2379 al,
2380 "al r2 r0 r0 ROR 24",
2381 "al_r2_r0_r0_ROR_24"},
2382 {{al, r8, r9, r13, ROR, 8},
2383 false,
2384 al,
2385 "al r8 r9 r13 ROR 8",
2386 "al_r8_r9_r13_ROR_8"},
2387 {{al, r8, r5, r14, ROR, 8},
2388 false,
2389 al,
2390 "al r8 r5 r14 ROR 8",
2391 "al_r8_r5_r14_ROR_8"},
2392 {{al, r13, r8, r6, ROR, 16},
2393 false,
2394 al,
2395 "al r13 r8 r6 ROR 16",
2396 "al_r13_r8_r6_ROR_16"},
2397 {{al, r10, r1, r14, ROR, 24},
2398 false,
2399 al,
2400 "al r10 r1 r14 ROR 24",
2401 "al_r10_r1_r14_ROR_24"},
2402 {{al, r1, r13, r8, ROR, 8},
2403 false,
2404 al,
2405 "al r1 r13 r8 ROR 8",
2406 "al_r1_r13_r8_ROR_8"},
2407 {{al, r4, r4, r11, ROR, 8},
2408 false,
2409 al,
2410 "al r4 r4 r11 ROR 8",
2411 "al_r4_r4_r11_ROR_8"},
2412 {{al, r8, r13, r7, ROR, 16},
2413 false,
2414 al,
2415 "al r8 r13 r7 ROR 16",
2416 "al_r8_r13_r7_ROR_16"},
2417 {{al, r7, r1, r3, ROR, 16},
2418 false,
2419 al,
2420 "al r7 r1 r3 ROR 16",
2421 "al_r7_r1_r3_ROR_16"},
2422 {{al, r5, r7, r11, ROR, 8},
2423 false,
2424 al,
2425 "al r5 r7 r11 ROR 8",
2426 "al_r5_r7_r11_ROR_8"},
2427 {{al, r9, r7, r4, ROR, 0},
2428 false,
2429 al,
2430 "al r9 r7 r4 ROR 0",
2431 "al_r9_r7_r4_ROR_0"},
2432 {{al, r0, r12, r2, ROR, 24},
2433 false,
2434 al,
2435 "al r0 r12 r2 ROR 24",
2436 "al_r0_r12_r2_ROR_24"},
2437 {{al, r5, r0, r4, ROR, 8},
2438 false,
2439 al,
2440 "al r5 r0 r4 ROR 8",
2441 "al_r5_r0_r4_ROR_8"},
2442 {{al, r14, r1, r13, ROR, 8},
2443 false,
2444 al,
2445 "al r14 r1 r13 ROR 8",
2446 "al_r14_r1_r13_ROR_8"},
2447 {{al, r1, r11, r5, ROR, 16},
2448 false,
2449 al,
2450 "al r1 r11 r5 ROR 16",
2451 "al_r1_r11_r5_ROR_16"},
2452 {{al, r7, r3, r6, ROR, 0},
2453 false,
2454 al,
2455 "al r7 r3 r6 ROR 0",
2456 "al_r7_r3_r6_ROR_0"},
2457 {{al, r11, r13, r14, ROR, 0},
2458 false,
2459 al,
2460 "al r11 r13 r14 ROR 0",
2461 "al_r11_r13_r14_ROR_0"},
2462 {{al, r6, r4, r9, ROR, 24},
2463 false,
2464 al,
2465 "al r6 r4 r9 ROR 24",
2466 "al_r6_r4_r9_ROR_24"},
2467 {{al, r4, r2, r5, ROR, 24},
2468 false,
2469 al,
2470 "al r4 r2 r5 ROR 24",
2471 "al_r4_r2_r5_ROR_24"},
2472 {{al, r12, r6, r8, ROR, 0},
2473 false,
2474 al,
2475 "al r12 r6 r8 ROR 0",
2476 "al_r12_r6_r8_ROR_0"},
2477 {{al, r11, r0, r11, ROR, 24},
2478 false,
2479 al,
2480 "al r11 r0 r11 ROR 24",
2481 "al_r11_r0_r11_ROR_24"},
2482 {{al, r0, r4, r8, ROR, 8},
2483 false,
2484 al,
2485 "al r0 r4 r8 ROR 8",
2486 "al_r0_r4_r8_ROR_8"},
2487 {{al, r8, r2, r11, ROR, 0},
2488 false,
2489 al,
2490 "al r8 r2 r11 ROR 0",
2491 "al_r8_r2_r11_ROR_0"},
2492 {{al, r10, r10, r4, ROR, 0},
2493 false,
2494 al,
2495 "al r10 r10 r4 ROR 0",
2496 "al_r10_r10_r4_ROR_0"},
2497 {{al, r7, r1, r2, ROR, 0},
2498 false,
2499 al,
2500 "al r7 r1 r2 ROR 0",
2501 "al_r7_r1_r2_ROR_0"},
2502 {{al, r6, r3, r13, ROR, 24},
2503 false,
2504 al,
2505 "al r6 r3 r13 ROR 24",
2506 "al_r6_r3_r13_ROR_24"},
2507 {{al, r2, r12, r13, ROR, 24},
2508 false,
2509 al,
2510 "al r2 r12 r13 ROR 24",
2511 "al_r2_r12_r13_ROR_24"},
2512 {{al, r4, r10, r1, ROR, 24},
2513 false,
2514 al,
2515 "al r4 r10 r1 ROR 24",
2516 "al_r4_r10_r1_ROR_24"},
2517 {{al, r11, r9, r5, ROR, 8},
2518 false,
2519 al,
2520 "al r11 r9 r5 ROR 8",
2521 "al_r11_r9_r5_ROR_8"},
2522 {{al, r11, r9, r7, ROR, 24},
2523 false,
2524 al,
2525 "al r11 r9 r7 ROR 24",
2526 "al_r11_r9_r7_ROR_24"},
2527 {{al, r4, r6, r4, ROR, 24},
2528 false,
2529 al,
2530 "al r4 r6 r4 ROR 24",
2531 "al_r4_r6_r4_ROR_24"},
2532 {{al, r9, r14, r14, ROR, 8},
2533 false,
2534 al,
2535 "al r9 r14 r14 ROR 8",
2536 "al_r9_r14_r14_ROR_8"},
2537 {{al, r7, r4, r11, ROR, 0},
2538 false,
2539 al,
2540 "al r7 r4 r11 ROR 0",
2541 "al_r7_r4_r11_ROR_0"},
2542 {{al, r10, r12, r5, ROR, 8},
2543 false,
2544 al,
2545 "al r10 r12 r5 ROR 8",
2546 "al_r10_r12_r5_ROR_8"},
2547 {{al, r4, r6, r1, ROR, 16},
2548 false,
2549 al,
2550 "al r4 r6 r1 ROR 16",
2551 "al_r4_r6_r1_ROR_16"},
2552 {{al, r11, r7, r5, ROR, 24},
2553 false,
2554 al,
2555 "al r11 r7 r5 ROR 24",
2556 "al_r11_r7_r5_ROR_24"},
2557 {{al, r13, r11, r5, ROR, 16},
2558 false,
2559 al,
2560 "al r13 r11 r5 ROR 16",
2561 "al_r13_r11_r5_ROR_16"},
2562 {{al, r14, r2, r6, ROR, 0},
2563 false,
2564 al,
2565 "al r14 r2 r6 ROR 0",
2566 "al_r14_r2_r6_ROR_0"},
2567 {{al, r2, r3, r6, ROR, 8},
2568 false,
2569 al,
2570 "al r2 r3 r6 ROR 8",
2571 "al_r2_r3_r6_ROR_8"},
2572 {{al, r10, r6, r13, ROR, 0},
2573 false,
2574 al,
2575 "al r10 r6 r13 ROR 0",
2576 "al_r10_r6_r13_ROR_0"},
2577 {{al, r7, r5, r6, ROR, 8},
2578 false,
2579 al,
2580 "al r7 r5 r6 ROR 8",
2581 "al_r7_r5_r6_ROR_8"},
2582 {{al, r10, r8, r9, ROR, 16},
2583 false,
2584 al,
2585 "al r10 r8 r9 ROR 16",
2586 "al_r10_r8_r9_ROR_16"},
2587 {{al, r9, r1, r1, ROR, 8},
2588 false,
2589 al,
2590 "al r9 r1 r1 ROR 8",
2591 "al_r9_r1_r1_ROR_8"},
2592 {{al, r11, r4, r12, ROR, 0},
2593 false,
2594 al,
2595 "al r11 r4 r12 ROR 0",
2596 "al_r11_r4_r12_ROR_0"},
2597 {{al, r12, r1, r6, ROR, 24},
2598 false,
2599 al,
2600 "al r12 r1 r6 ROR 24",
2601 "al_r12_r1_r6_ROR_24"},
2602 {{al, r4, r5, r9, ROR, 16},
2603 false,
2604 al,
2605 "al r4 r5 r9 ROR 16",
2606 "al_r4_r5_r9_ROR_16"},
2607 {{al, r11, r14, r9, ROR, 8},
2608 false,
2609 al,
2610 "al r11 r14 r9 ROR 8",
2611 "al_r11_r14_r9_ROR_8"},
2612 {{al, r14, r14, r7, ROR, 0},
2613 false,
2614 al,
2615 "al r14 r14 r7 ROR 0",
2616 "al_r14_r14_r7_ROR_0"},
2617 {{al, r3, r4, r3, ROR, 24},
2618 false,
2619 al,
2620 "al r3 r4 r3 ROR 24",
2621 "al_r3_r4_r3_ROR_24"},
2622 {{al, r5, r9, r14, ROR, 24},
2623 false,
2624 al,
2625 "al r5 r9 r14 ROR 24",
2626 "al_r5_r9_r14_ROR_24"},
2627 {{al, r0, r12, r14, ROR, 0},
2628 false,
2629 al,
2630 "al r0 r12 r14 ROR 0",
2631 "al_r0_r12_r14_ROR_0"},
2632 {{al, r4, r10, r4, ROR, 24},
2633 false,
2634 al,
2635 "al r4 r10 r4 ROR 24",
2636 "al_r4_r10_r4_ROR_24"},
2637 {{al, r6, r3, r4, ROR, 8},
2638 false,
2639 al,
2640 "al r6 r3 r4 ROR 8",
2641 "al_r6_r3_r4_ROR_8"},
2642 {{al, r1, r14, r9, ROR, 8},
2643 false,
2644 al,
2645 "al r1 r14 r9 ROR 8",
2646 "al_r1_r14_r9_ROR_8"},
2647 {{al, r11, r3, r12, ROR, 24},
2648 false,
2649 al,
2650 "al r11 r3 r12 ROR 24",
2651 "al_r11_r3_r12_ROR_24"},
2652 {{al, r0, r2, r14, ROR, 8},
2653 false,
2654 al,
2655 "al r0 r2 r14 ROR 8",
2656 "al_r0_r2_r14_ROR_8"},
2657 {{al, r4, r11, r10, ROR, 0},
2658 false,
2659 al,
2660 "al r4 r11 r10 ROR 0",
2661 "al_r4_r11_r10_ROR_0"},
2662 {{al, r6, r5, r4, ROR, 24},
2663 false,
2664 al,
2665 "al r6 r5 r4 ROR 24",
2666 "al_r6_r5_r4_ROR_24"},
2667 {{al, r6, r7, r9, ROR, 0},
2668 false,
2669 al,
2670 "al r6 r7 r9 ROR 0",
2671 "al_r6_r7_r9_ROR_0"},
2672 {{al, r8, r1, r0, ROR, 8},
2673 false,
2674 al,
2675 "al r8 r1 r0 ROR 8",
2676 "al_r8_r1_r0_ROR_8"},
2677 {{al, r12, r13, r10, ROR, 8},
2678 false,
2679 al,
2680 "al r12 r13 r10 ROR 8",
2681 "al_r12_r13_r10_ROR_8"},
2682 {{al, r7, r8, r7, ROR, 8},
2683 false,
2684 al,
2685 "al r7 r8 r7 ROR 8",
2686 "al_r7_r8_r7_ROR_8"},
2687 {{al, r13, r0, r9, ROR, 0},
2688 false,
2689 al,
2690 "al r13 r0 r9 ROR 0",
2691 "al_r13_r0_r9_ROR_0"},
2692 {{al, r6, r1, r12, ROR, 16},
2693 false,
2694 al,
2695 "al r6 r1 r12 ROR 16",
2696 "al_r6_r1_r12_ROR_16"},
2697 {{al, r2, r14, r4, ROR, 24},
2698 false,
2699 al,
2700 "al r2 r14 r4 ROR 24",
2701 "al_r2_r14_r4_ROR_24"},
2702 {{al, r12, r10, r2, ROR, 24},
2703 false,
2704 al,
2705 "al r12 r10 r2 ROR 24",
2706 "al_r12_r10_r2_ROR_24"},
2707 {{al, r9, r14, r1, ROR, 24},
2708 false,
2709 al,
2710 "al r9 r14 r1 ROR 24",
2711 "al_r9_r14_r1_ROR_24"},
2712 {{al, r6, r10, r13, ROR, 24},
2713 false,
2714 al,
2715 "al r6 r10 r13 ROR 24",
2716 "al_r6_r10_r13_ROR_24"},
2717 {{al, r13, r3, r9, ROR, 0},
2718 false,
2719 al,
2720 "al r13 r3 r9 ROR 0",
2721 "al_r13_r3_r9_ROR_0"},
2722 {{al, r8, r6, r0, ROR, 8},
2723 false,
2724 al,
2725 "al r8 r6 r0 ROR 8",
2726 "al_r8_r6_r0_ROR_8"},
2727 {{al, r1, r7, r8, ROR, 24},
2728 false,
2729 al,
2730 "al r1 r7 r8 ROR 24",
2731 "al_r1_r7_r8_ROR_24"},
2732 {{al, r3, r5, r14, ROR, 0},
2733 false,
2734 al,
2735 "al r3 r5 r14 ROR 0",
2736 "al_r3_r5_r14_ROR_0"},
2737 {{al, r4, r6, r4, ROR, 8},
2738 false,
2739 al,
2740 "al r4 r6 r4 ROR 8",
2741 "al_r4_r6_r4_ROR_8"},
2742 {{al, r3, r10, r7, ROR, 8},
2743 false,
2744 al,
2745 "al r3 r10 r7 ROR 8",
2746 "al_r3_r10_r7_ROR_8"},
2747 {{al, r9, r9, r0, ROR, 16},
2748 false,
2749 al,
2750 "al r9 r9 r0 ROR 16",
2751 "al_r9_r9_r0_ROR_16"},
2752 {{al, r3, r6, r13, ROR, 16},
2753 false,
2754 al,
2755 "al r3 r6 r13 ROR 16",
2756 "al_r3_r6_r13_ROR_16"},
2757 {{al, r7, r14, r3, ROR, 16},
2758 false,
2759 al,
2760 "al r7 r14 r3 ROR 16",
2761 "al_r7_r14_r3_ROR_16"},
2762 {{al, r13, r0, r14, ROR, 24},
2763 false,
2764 al,
2765 "al r13 r0 r14 ROR 24",
2766 "al_r13_r0_r14_ROR_24"},
2767 {{al, r14, r10, r13, ROR, 16},
2768 false,
2769 al,
2770 "al r14 r10 r13 ROR 16",
2771 "al_r14_r10_r13_ROR_16"},
2772 {{al, r2, r3, r12, ROR, 16},
2773 false,
2774 al,
2775 "al r2 r3 r12 ROR 16",
2776 "al_r2_r3_r12_ROR_16"},
2777 {{al, r6, r3, r13, ROR, 16},
2778 false,
2779 al,
2780 "al r6 r3 r13 ROR 16",
2781 "al_r6_r3_r13_ROR_16"},
2782 {{al, r12, r3, r0, ROR, 0},
2783 false,
2784 al,
2785 "al r12 r3 r0 ROR 0",
2786 "al_r12_r3_r0_ROR_0"},
2787 {{al, r3, r11, r13, ROR, 24},
2788 false,
2789 al,
2790 "al r3 r11 r13 ROR 24",
2791 "al_r3_r11_r13_ROR_24"},
2792 {{al, r10, r0, r4, ROR, 0},
2793 false,
2794 al,
2795 "al r10 r0 r4 ROR 0",
2796 "al_r10_r0_r4_ROR_0"},
2797 {{al, r4, r9, r0, ROR, 0},
2798 false,
2799 al,
2800 "al r4 r9 r0 ROR 0",
2801 "al_r4_r9_r0_ROR_0"},
2802 {{al, r11, r2, r4, ROR, 8},
2803 false,
2804 al,
2805 "al r11 r2 r4 ROR 8",
2806 "al_r11_r2_r4_ROR_8"},
2807 {{al, r2, r4, r7, ROR, 0},
2808 false,
2809 al,
2810 "al r2 r4 r7 ROR 0",
2811 "al_r2_r4_r7_ROR_0"},
2812 {{al, r4, r11, r5, ROR, 24},
2813 false,
2814 al,
2815 "al r4 r11 r5 ROR 24",
2816 "al_r4_r11_r5_ROR_24"},
2817 {{al, r12, r4, r12, ROR, 8},
2818 false,
2819 al,
2820 "al r12 r4 r12 ROR 8",
2821 "al_r12_r4_r12_ROR_8"},
2822 {{al, r7, r12, r8, ROR, 24},
2823 false,
2824 al,
2825 "al r7 r12 r8 ROR 24",
2826 "al_r7_r12_r8_ROR_24"},
2827 {{al, r4, r0, r7, ROR, 8},
2828 false,
2829 al,
2830 "al r4 r0 r7 ROR 8",
2831 "al_r4_r0_r7_ROR_8"},
2832 {{al, r1, r1, r11, ROR, 8},
2833 false,
2834 al,
2835 "al r1 r1 r11 ROR 8",
2836 "al_r1_r1_r11_ROR_8"},
2837 {{al, r0, r13, r14, ROR, 16},
2838 false,
2839 al,
2840 "al r0 r13 r14 ROR 16",
2841 "al_r0_r13_r14_ROR_16"},
2842 {{al, r1, r7, r13, ROR, 24},
2843 false,
2844 al,
2845 "al r1 r7 r13 ROR 24",
2846 "al_r1_r7_r13_ROR_24"},
2847 {{al, r12, r3, r10, ROR, 8},
2848 false,
2849 al,
2850 "al r12 r3 r10 ROR 8",
2851 "al_r12_r3_r10_ROR_8"},
2852 {{al, r7, r9, r1, ROR, 8},
2853 false,
2854 al,
2855 "al r7 r9 r1 ROR 8",
2856 "al_r7_r9_r1_ROR_8"},
2857 {{al, r3, r13, r14, ROR, 24},
2858 false,
2859 al,
2860 "al r3 r13 r14 ROR 24",
2861 "al_r3_r13_r14_ROR_24"},
2862 {{al, r6, r5, r7, ROR, 0},
2863 false,
2864 al,
2865 "al r6 r5 r7 ROR 0",
2866 "al_r6_r5_r7_ROR_0"},
2867 {{al, r10, r9, r0, ROR, 0},
2868 false,
2869 al,
2870 "al r10 r9 r0 ROR 0",
2871 "al_r10_r9_r0_ROR_0"},
2872 {{al, r3, r14, r2, ROR, 0},
2873 false,
2874 al,
2875 "al r3 r14 r2 ROR 0",
2876 "al_r3_r14_r2_ROR_0"},
2877 {{al, r13, r0, r12, ROR, 8},
2878 false,
2879 al,
2880 "al r13 r0 r12 ROR 8",
2881 "al_r13_r0_r12_ROR_8"},
2882 {{al, r7, r12, r11, ROR, 0},
2883 false,
2884 al,
2885 "al r7 r12 r11 ROR 0",
2886 "al_r7_r12_r11_ROR_0"},
2887 {{al, r7, r5, r3, ROR, 0},
2888 false,
2889 al,
2890 "al r7 r5 r3 ROR 0",
2891 "al_r7_r5_r3_ROR_0"},
2892 {{al, r11, r4, r4, ROR, 0},
2893 false,
2894 al,
2895 "al r11 r4 r4 ROR 0",
2896 "al_r11_r4_r4_ROR_0"},
2897 {{al, r4, r3, r7, ROR, 16},
2898 false,
2899 al,
2900 "al r4 r3 r7 ROR 16",
2901 "al_r4_r3_r7_ROR_16"},
2902 {{al, r8, r4, r14, ROR, 16},
2903 false,
2904 al,
2905 "al r8 r4 r14 ROR 16",
2906 "al_r8_r4_r14_ROR_16"},
2907 {{al, r1, r0, r8, ROR, 8},
2908 false,
2909 al,
2910 "al r1 r0 r8 ROR 8",
2911 "al_r1_r0_r8_ROR_8"},
2912 {{al, r10, r3, r10, ROR, 8},
2913 false,
2914 al,
2915 "al r10 r3 r10 ROR 8",
2916 "al_r10_r3_r10_ROR_8"},
2917 {{al, r3, r13, r7, ROR, 8},
2918 false,
2919 al,
2920 "al r3 r13 r7 ROR 8",
2921 "al_r3_r13_r7_ROR_8"},
2922 {{al, r4, r3, r14, ROR, 24},
2923 false,
2924 al,
2925 "al r4 r3 r14 ROR 24",
2926 "al_r4_r3_r14_ROR_24"},
2927 {{al, r0, r4, r2, ROR, 8},
2928 false,
2929 al,
2930 "al r0 r4 r2 ROR 8",
2931 "al_r0_r4_r2_ROR_8"},
2932 {{al, r1, r14, r2, ROR, 24},
2933 false,
2934 al,
2935 "al r1 r14 r2 ROR 24",
2936 "al_r1_r14_r2_ROR_24"},
2937 {{al, r6, r6, r1, ROR, 24},
2938 false,
2939 al,
2940 "al r6 r6 r1 ROR 24",
2941 "al_r6_r6_r1_ROR_24"},
2942 {{al, r8, r14, r3, ROR, 8},
2943 false,
2944 al,
2945 "al r8 r14 r3 ROR 8",
2946 "al_r8_r14_r3_ROR_8"},
2947 {{al, r14, r5, r14, ROR, 24},
2948 false,
2949 al,
2950 "al r14 r5 r14 ROR 24",
2951 "al_r14_r5_r14_ROR_24"},
2952 {{al, r1, r14, r12, ROR, 8},
2953 false,
2954 al,
2955 "al r1 r14 r12 ROR 8",
2956 "al_r1_r14_r12_ROR_8"},
2957 {{al, r12, r7, r1, ROR, 8},
2958 false,
2959 al,
2960 "al r12 r7 r1 ROR 8",
2961 "al_r12_r7_r1_ROR_8"},
2962 {{al, r12, r0, r13, ROR, 16},
2963 false,
2964 al,
2965 "al r12 r0 r13 ROR 16",
2966 "al_r12_r0_r13_ROR_16"},
2967 {{al, r8, r4, r12, ROR, 24},
2968 false,
2969 al,
2970 "al r8 r4 r12 ROR 24",
2971 "al_r8_r4_r12_ROR_24"},
2972 {{al, r1, r13, r3, ROR, 8},
2973 false,
2974 al,
2975 "al r1 r13 r3 ROR 8",
2976 "al_r1_r13_r3_ROR_8"},
2977 {{al, r8, r0, r11, ROR, 0},
2978 false,
2979 al,
2980 "al r8 r0 r11 ROR 0",
2981 "al_r8_r0_r11_ROR_0"},
2982 {{al, r10, r9, r10, ROR, 16},
2983 false,
2984 al,
2985 "al r10 r9 r10 ROR 16",
2986 "al_r10_r9_r10_ROR_16"},
2987 {{al, r9, r8, r13, ROR, 16},
2988 false,
2989 al,
2990 "al r9 r8 r13 ROR 16",
2991 "al_r9_r8_r13_ROR_16"},
2992 {{al, r4, r5, r6, ROR, 8},
2993 false,
2994 al,
2995 "al r4 r5 r6 ROR 8",
2996 "al_r4_r5_r6_ROR_8"},
2997 {{al, r14, r2, r8, ROR, 16},
2998 false,
2999 al,
3000 "al r14 r2 r8 ROR 16",
3001 "al_r14_r2_r8_ROR_16"},
3002 {{al, r2, r3, r14, ROR, 0},
3003 false,
3004 al,
3005 "al r2 r3 r14 ROR 0",
3006 "al_r2_r3_r14_ROR_0"},
3007 {{al, r6, r10, r13, ROR, 0},
3008 false,
3009 al,
3010 "al r6 r10 r13 ROR 0",
3011 "al_r6_r10_r13_ROR_0"},
3012 {{al, r1, r6, r9, ROR, 24},
3013 false,
3014 al,
3015 "al r1 r6 r9 ROR 24",
3016 "al_r1_r6_r9_ROR_24"},
3017 {{al, r5, r8, r2, ROR, 16},
3018 false,
3019 al,
3020 "al r5 r8 r2 ROR 16",
3021 "al_r5_r8_r2_ROR_16"},
3022 {{al, r3, r4, r4, ROR, 0},
3023 false,
3024 al,
3025 "al r3 r4 r4 ROR 0",
3026 "al_r3_r4_r4_ROR_0"},
3027 {{al, r2, r8, r1, ROR, 0},
3028 false,
3029 al,
3030 "al r2 r8 r1 ROR 0",
3031 "al_r2_r8_r1_ROR_0"},
3032 {{al, r2, r13, r4, ROR, 8},
3033 false,
3034 al,
3035 "al r2 r13 r4 ROR 8",
3036 "al_r2_r13_r4_ROR_8"},
3037 {{al, r5, r14, r7, ROR, 8},
3038 false,
3039 al,
3040 "al r5 r14 r7 ROR 8",
3041 "al_r5_r14_r7_ROR_8"},
3042 {{al, r5, r6, r11, ROR, 16},
3043 false,
3044 al,
3045 "al r5 r6 r11 ROR 16",
3046 "al_r5_r6_r11_ROR_16"},
3047 {{al, r7, r11, r6, ROR, 0},
3048 false,
3049 al,
3050 "al r7 r11 r6 ROR 0",
3051 "al_r7_r11_r6_ROR_0"},
3052 {{al, r10, r4, r11, ROR, 0},
3053 false,
3054 al,
3055 "al r10 r4 r11 ROR 0",
3056 "al_r10_r4_r11_ROR_0"},
3057 {{al, r8, r3, r5, ROR, 16},
3058 false,
3059 al,
3060 "al r8 r3 r5 ROR 16",
3061 "al_r8_r3_r5_ROR_16"},
3062 {{al, r5, r10, r6, ROR, 0},
3063 false,
3064 al,
3065 "al r5 r10 r6 ROR 0",
3066 "al_r5_r10_r6_ROR_0"},
3067 {{al, r3, r8, r1, ROR, 16},
3068 false,
3069 al,
3070 "al r3 r8 r1 ROR 16",
3071 "al_r3_r8_r1_ROR_16"},
3072 {{al, r9, r0, r10, ROR, 16},
3073 false,
3074 al,
3075 "al r9 r0 r10 ROR 16",
3076 "al_r9_r0_r10_ROR_16"},
3077 {{al, r14, r8, r3, ROR, 16},
3078 false,
3079 al,
3080 "al r14 r8 r3 ROR 16",
3081 "al_r14_r8_r3_ROR_16"},
3082 {{al, r8, r0, r1, ROR, 16},
3083 false,
3084 al,
3085 "al r8 r0 r1 ROR 16",
3086 "al_r8_r0_r1_ROR_16"},
3087 {{al, r5, r3, r8, ROR, 16},
3088 false,
3089 al,
3090 "al r5 r3 r8 ROR 16",
3091 "al_r5_r3_r8_ROR_16"},
3092 {{al, r2, r8, r4, ROR, 24},
3093 false,
3094 al,
3095 "al r2 r8 r4 ROR 24",
3096 "al_r2_r8_r4_ROR_24"},
3097 {{al, r9, r7, r9, ROR, 16},
3098 false,
3099 al,
3100 "al r9 r7 r9 ROR 16",
3101 "al_r9_r7_r9_ROR_16"},
3102 {{al, r6, r5, r0, ROR, 0},
3103 false,
3104 al,
3105 "al r6 r5 r0 ROR 0",
3106 "al_r6_r5_r0_ROR_0"},
3107 {{al, r5, r5, r1, ROR, 24},
3108 false,
3109 al,
3110 "al r5 r5 r1 ROR 24",
3111 "al_r5_r5_r1_ROR_24"},
3112 {{al, r5, r9, r2, ROR, 24},
3113 false,
3114 al,
3115 "al r5 r9 r2 ROR 24",
3116 "al_r5_r9_r2_ROR_24"},
3117 {{al, r12, r4, r14, ROR, 0},
3118 false,
3119 al,
3120 "al r12 r4 r14 ROR 0",
3121 "al_r12_r4_r14_ROR_0"},
3122 {{al, r11, r11, r9, ROR, 0},
3123 false,
3124 al,
3125 "al r11 r11 r9 ROR 0",
3126 "al_r11_r11_r9_ROR_0"},
3127 {{al, r4, r1, r11, ROR, 0},
3128 false,
3129 al,
3130 "al r4 r1 r11 ROR 0",
3131 "al_r4_r1_r11_ROR_0"},
3132 {{al, r9, r8, r0, ROR, 16},
3133 false,
3134 al,
3135 "al r9 r8 r0 ROR 16",
3136 "al_r9_r8_r0_ROR_16"},
3137 {{al, r13, r10, r6, ROR, 16},
3138 false,
3139 al,
3140 "al r13 r10 r6 ROR 16",
3141 "al_r13_r10_r6_ROR_16"},
3142 {{al, r14, r4, r9, ROR, 8},
3143 false,
3144 al,
3145 "al r14 r4 r9 ROR 8",
3146 "al_r14_r4_r9_ROR_8"},
3147 {{al, r4, r8, r4, ROR, 24},
3148 false,
3149 al,
3150 "al r4 r8 r4 ROR 24",
3151 "al_r4_r8_r4_ROR_24"},
3152 {{al, r4, r8, r12, ROR, 8},
3153 false,
3154 al,
3155 "al r4 r8 r12 ROR 8",
3156 "al_r4_r8_r12_ROR_8"},
3157 {{al, r10, r10, r2, ROR, 8},
3158 false,
3159 al,
3160 "al r10 r10 r2 ROR 8",
3161 "al_r10_r10_r2_ROR_8"},
3162 {{al, r7, r5, r2, ROR, 24},
3163 false,
3164 al,
3165 "al r7 r5 r2 ROR 24",
3166 "al_r7_r5_r2_ROR_24"},
3167 {{al, r12, r9, r12, ROR, 0},
3168 false,
3169 al,
3170 "al r12 r9 r12 ROR 0",
3171 "al_r12_r9_r12_ROR_0"},
3172 {{al, r11, r12, r5, ROR, 24},
3173 false,
3174 al,
3175 "al r11 r12 r5 ROR 24",
3176 "al_r11_r12_r5_ROR_24"},
3177 {{al, r9, r13, r10, ROR, 16},
3178 false,
3179 al,
3180 "al r9 r13 r10 ROR 16",
3181 "al_r9_r13_r10_ROR_16"},
3182 {{al, r1, r9, r9, ROR, 0},
3183 false,
3184 al,
3185 "al r1 r9 r9 ROR 0",
3186 "al_r1_r9_r9_ROR_0"},
3187 {{al, r10, r13, r13, ROR, 16},
3188 false,
3189 al,
3190 "al r10 r13 r13 ROR 16",
3191 "al_r10_r13_r13_ROR_16"},
3192 {{al, r9, r1, r8, ROR, 8},
3193 false,
3194 al,
3195 "al r9 r1 r8 ROR 8",
3196 "al_r9_r1_r8_ROR_8"},
3197 {{al, r6, r11, r2, ROR, 0},
3198 false,
3199 al,
3200 "al r6 r11 r2 ROR 0",
3201 "al_r6_r11_r2_ROR_0"},
3202 {{al, r8, r1, r11, ROR, 8},
3203 false,
3204 al,
3205 "al r8 r1 r11 ROR 8",
3206 "al_r8_r1_r11_ROR_8"},
3207 {{al, r0, r7, r4, ROR, 0},
3208 false,
3209 al,
3210 "al r0 r7 r4 ROR 0",
3211 "al_r0_r7_r4_ROR_0"},
3212 {{al, r10, r2, r6, ROR, 0},
3213 false,
3214 al,
3215 "al r10 r2 r6 ROR 0",
3216 "al_r10_r2_r6_ROR_0"},
3217 {{al, r8, r5, r2, ROR, 16},
3218 false,
3219 al,
3220 "al r8 r5 r2 ROR 16",
3221 "al_r8_r5_r2_ROR_16"},
3222 {{al, r0, r13, r1, ROR, 24},
3223 false,
3224 al,
3225 "al r0 r13 r1 ROR 24",
3226 "al_r0_r13_r1_ROR_24"},
3227 {{al, r10, r12, r6, ROR, 8},
3228 false,
3229 al,
3230 "al r10 r12 r6 ROR 8",
3231 "al_r10_r12_r6_ROR_8"},
3232 {{al, r3, r10, r3, ROR, 16},
3233 false,
3234 al,
3235 "al r3 r10 r3 ROR 16",
3236 "al_r3_r10_r3_ROR_16"},
3237 {{al, r0, r10, r5, ROR, 8},
3238 false,
3239 al,
3240 "al r0 r10 r5 ROR 8",
3241 "al_r0_r10_r5_ROR_8"},
3242 {{al, r6, r4, r2, ROR, 0},
3243 false,
3244 al,
3245 "al r6 r4 r2 ROR 0",
3246 "al_r6_r4_r2_ROR_0"},
3247 {{al, r8, r10, r5, ROR, 16},
3248 false,
3249 al,
3250 "al r8 r10 r5 ROR 16",
3251 "al_r8_r10_r5_ROR_16"},
3252 {{al, r14, r10, r7, ROR, 0},
3253 false,
3254 al,
3255 "al r14 r10 r7 ROR 0",
3256 "al_r14_r10_r7_ROR_0"},
3257 {{al, r8, r11, r2, ROR, 0},
3258 false,
3259 al,
3260 "al r8 r11 r2 ROR 0",
3261 "al_r8_r11_r2_ROR_0"},
3262 {{al, r14, r0, r2, ROR, 0},
3263 false,
3264 al,
3265 "al r14 r0 r2 ROR 0",
3266 "al_r14_r0_r2_ROR_0"},
3267 {{al, r8, r1, r7, ROR, 8},
3268 false,
3269 al,
3270 "al r8 r1 r7 ROR 8",
3271 "al_r8_r1_r7_ROR_8"},
3272 {{al, r6, r0, r4, ROR, 8},
3273 false,
3274 al,
3275 "al r6 r0 r4 ROR 8",
3276 "al_r6_r0_r4_ROR_8"},
3277 {{al, r4, r8, r6, ROR, 16},
3278 false,
3279 al,
3280 "al r4 r8 r6 ROR 16",
3281 "al_r4_r8_r6_ROR_16"},
3282 {{al, r1, r8, r0, ROR, 0},
3283 false,
3284 al,
3285 "al r1 r8 r0 ROR 0",
3286 "al_r1_r8_r0_ROR_0"},
3287 {{al, r5, r5, r6, ROR, 16},
3288 false,
3289 al,
3290 "al r5 r5 r6 ROR 16",
3291 "al_r5_r5_r6_ROR_16"},
3292 {{al, r6, r9, r11, ROR, 8},
3293 false,
3294 al,
3295 "al r6 r9 r11 ROR 8",
3296 "al_r6_r9_r11_ROR_8"},
3297 {{al, r10, r7, r6, ROR, 16},
3298 false,
3299 al,
3300 "al r10 r7 r6 ROR 16",
3301 "al_r10_r7_r6_ROR_16"},
3302 {{al, r3, r5, r10, ROR, 8},
3303 false,
3304 al,
3305 "al r3 r5 r10 ROR 8",
3306 "al_r3_r5_r10_ROR_8"},
3307 {{al, r2, r1, r2, ROR, 16},
3308 false,
3309 al,
3310 "al r2 r1 r2 ROR 16",
3311 "al_r2_r1_r2_ROR_16"},
3312 {{al, r13, r7, r14, ROR, 8},
3313 false,
3314 al,
3315 "al r13 r7 r14 ROR 8",
3316 "al_r13_r7_r14_ROR_8"},
3317 {{al, r10, r2, r3, ROR, 8},
3318 false,
3319 al,
3320 "al r10 r2 r3 ROR 8",
3321 "al_r10_r2_r3_ROR_8"},
3322 {{al, r6, r2, r1, ROR, 24},
3323 false,
3324 al,
3325 "al r6 r2 r1 ROR 24",
3326 "al_r6_r2_r1_ROR_24"},
3327 {{al, r12, r0, r13, ROR, 8},
3328 false,
3329 al,
3330 "al r12 r0 r13 ROR 8",
3331 "al_r12_r0_r13_ROR_8"},
3332 {{al, r11, r7, r6, ROR, 24},
3333 false,
3334 al,
3335 "al r11 r7 r6 ROR 24",
3336 "al_r11_r7_r6_ROR_24"},
3337 {{al, r6, r3, r9, ROR, 24},
3338 false,
3339 al,
3340 "al r6 r3 r9 ROR 24",
3341 "al_r6_r3_r9_ROR_24"},
3342 {{al, r4, r3, r8, ROR, 8},
3343 false,
3344 al,
3345 "al r4 r3 r8 ROR 8",
3346 "al_r4_r3_r8_ROR_8"},
3347 {{al, r10, r7, r0, ROR, 16},
3348 false,
3349 al,
3350 "al r10 r7 r0 ROR 16",
3351 "al_r10_r7_r0_ROR_16"},
3352 {{al, r13, r2, r11, ROR, 0},
3353 false,
3354 al,
3355 "al r13 r2 r11 ROR 0",
3356 "al_r13_r2_r11_ROR_0"},
3357 {{al, r13, r5, r14, ROR, 16},
3358 false,
3359 al,
3360 "al r13 r5 r14 ROR 16",
3361 "al_r13_r5_r14_ROR_16"},
3362 {{al, r6, r4, r2, ROR, 24},
3363 false,
3364 al,
3365 "al r6 r4 r2 ROR 24",
3366 "al_r6_r4_r2_ROR_24"},
3367 {{al, r7, r5, r10, ROR, 8},
3368 false,
3369 al,
3370 "al r7 r5 r10 ROR 8",
3371 "al_r7_r5_r10_ROR_8"},
3372 {{al, r6, r5, r11, ROR, 24},
3373 false,
3374 al,
3375 "al r6 r5 r11 ROR 24",
3376 "al_r6_r5_r11_ROR_24"},
3377 {{al, r8, r7, r3, ROR, 24},
3378 false,
3379 al,
3380 "al r8 r7 r3 ROR 24",
3381 "al_r8_r7_r3_ROR_24"},
3382 {{al, r0, r12, r4, ROR, 24},
3383 false,
3384 al,
3385 "al r0 r12 r4 ROR 24",
3386 "al_r0_r12_r4_ROR_24"},
3387 {{al, r14, r14, r12, ROR, 16},
3388 false,
3389 al,
3390 "al r14 r14 r12 ROR 16",
3391 "al_r14_r14_r12_ROR_16"},
3392 {{al, r12, r2, r1, ROR, 8},
3393 false,
3394 al,
3395 "al r12 r2 r1 ROR 8",
3396 "al_r12_r2_r1_ROR_8"},
3397 {{al, r12, r9, r2, ROR, 0},
3398 false,
3399 al,
3400 "al r12 r9 r2 ROR 0",
3401 "al_r12_r9_r2_ROR_0"},
3402 {{al, r13, r14, r2, ROR, 8},
3403 false,
3404 al,
3405 "al r13 r14 r2 ROR 8",
3406 "al_r13_r14_r2_ROR_8"},
3407 {{al, r14, r1, r5, ROR, 24},
3408 false,
3409 al,
3410 "al r14 r1 r5 ROR 24",
3411 "al_r14_r1_r5_ROR_24"},
3412 {{al, r1, r2, r8, ROR, 0},
3413 false,
3414 al,
3415 "al r1 r2 r8 ROR 0",
3416 "al_r1_r2_r8_ROR_0"},
3417 {{al, r0, r8, r6, ROR, 16},
3418 false,
3419 al,
3420 "al r0 r8 r6 ROR 16",
3421 "al_r0_r8_r6_ROR_16"},
3422 {{al, r13, r9, r12, ROR, 16},
3423 false,
3424 al,
3425 "al r13 r9 r12 ROR 16",
3426 "al_r13_r9_r12_ROR_16"},
3427 {{al, r6, r14, r3, ROR, 24},
3428 false,
3429 al,
3430 "al r6 r14 r3 ROR 24",
3431 "al_r6_r14_r3_ROR_24"},
3432 {{al, r14, r3, r1, ROR, 16},
3433 false,
3434 al,
3435 "al r14 r3 r1 ROR 16",
3436 "al_r14_r3_r1_ROR_16"},
3437 {{al, r2, r14, r13, ROR, 0},
3438 false,
3439 al,
3440 "al r2 r14 r13 ROR 0",
3441 "al_r2_r14_r13_ROR_0"},
3442 {{al, r11, r1, r7, ROR, 24},
3443 false,
3444 al,
3445 "al r11 r1 r7 ROR 24",
3446 "al_r11_r1_r7_ROR_24"},
3447 {{al, r7, r12, r9, ROR, 8},
3448 false,
3449 al,
3450 "al r7 r12 r9 ROR 8",
3451 "al_r7_r12_r9_ROR_8"},
3452 {{al, r7, r6, r12, ROR, 8},
3453 false,
3454 al,
3455 "al r7 r6 r12 ROR 8",
3456 "al_r7_r6_r12_ROR_8"},
3457 {{al, r3, r11, r3, ROR, 16},
3458 false,
3459 al,
3460 "al r3 r11 r3 ROR 16",
3461 "al_r3_r11_r3_ROR_16"},
3462 {{al, r9, r5, r13, ROR, 0},
3463 false,
3464 al,
3465 "al r9 r5 r13 ROR 0",
3466 "al_r9_r5_r13_ROR_0"},
3467 {{al, r2, r2, r5, ROR, 16},
3468 false,
3469 al,
3470 "al r2 r2 r5 ROR 16",
3471 "al_r2_r2_r5_ROR_16"},
3472 {{al, r3, r0, r8, ROR, 24},
3473 false,
3474 al,
3475 "al r3 r0 r8 ROR 24",
3476 "al_r3_r0_r8_ROR_24"},
3477 {{al, r2, r1, r6, ROR, 8},
3478 false,
3479 al,
3480 "al r2 r1 r6 ROR 8",
3481 "al_r2_r1_r6_ROR_8"},
3482 {{al, r2, r12, r5, ROR, 8},
3483 false,
3484 al,
3485 "al r2 r12 r5 ROR 8",
3486 "al_r2_r12_r5_ROR_8"},
3487 {{al, r4, r0, r11, ROR, 16},
3488 false,
3489 al,
3490 "al r4 r0 r11 ROR 16",
3491 "al_r4_r0_r11_ROR_16"},
3492 {{al, r3, r10, r4, ROR, 24},
3493 false,
3494 al,
3495 "al r3 r10 r4 ROR 24",
3496 "al_r3_r10_r4_ROR_24"},
3497 {{al, r5, r8, r11, ROR, 0},
3498 false,
3499 al,
3500 "al r5 r8 r11 ROR 0",
3501 "al_r5_r8_r11_ROR_0"},
3502 {{al, r6, r7, r2, ROR, 16},
3503 false,
3504 al,
3505 "al r6 r7 r2 ROR 16",
3506 "al_r6_r7_r2_ROR_16"},
3507 {{al, r10, r11, r1, ROR, 16},
3508 false,
3509 al,
3510 "al r10 r11 r1 ROR 16",
3511 "al_r10_r11_r1_ROR_16"},
3512 {{al, r8, r6, r9, ROR, 24},
3513 false,
3514 al,
3515 "al r8 r6 r9 ROR 24",
3516 "al_r8_r6_r9_ROR_24"},
3517 {{al, r3, r3, r13, ROR, 8},
3518 false,
3519 al,
3520 "al r3 r3 r13 ROR 8",
3521 "al_r3_r3_r13_ROR_8"},
3522 {{al, r3, r4, r9, ROR, 0},
3523 false,
3524 al,
3525 "al r3 r4 r9 ROR 0",
3526 "al_r3_r4_r9_ROR_0"},
3527 {{al, r14, r8, r9, ROR, 24},
3528 false,
3529 al,
3530 "al r14 r8 r9 ROR 24",
3531 "al_r14_r8_r9_ROR_24"},
3532 {{al, r1, r0, r10, ROR, 24},
3533 false,
3534 al,
3535 "al r1 r0 r10 ROR 24",
3536 "al_r1_r0_r10_ROR_24"},
3537 {{al, r1, r9, r8, ROR, 16},
3538 false,
3539 al,
3540 "al r1 r9 r8 ROR 16",
3541 "al_r1_r9_r8_ROR_16"},
3542 {{al, r10, r10, r7, ROR, 0},
3543 false,
3544 al,
3545 "al r10 r10 r7 ROR 0",
3546 "al_r10_r10_r7_ROR_0"},
3547 {{al, r13, r2, r1, ROR, 16},
3548 false,
3549 al,
3550 "al r13 r2 r1 ROR 16",
3551 "al_r13_r2_r1_ROR_16"},
3552 {{al, r9, r7, r8, ROR, 16},
3553 false,
3554 al,
3555 "al r9 r7 r8 ROR 16",
3556 "al_r9_r7_r8_ROR_16"},
3557 {{al, r0, r4, r14, ROR, 16},
3558 false,
3559 al,
3560 "al r0 r4 r14 ROR 16",
3561 "al_r0_r4_r14_ROR_16"},
3562 {{al, r7, r7, r3, ROR, 24},
3563 false,
3564 al,
3565 "al r7 r7 r3 ROR 24",
3566 "al_r7_r7_r3_ROR_24"},
3567 {{al, r11, r1, r6, ROR, 16},
3568 false,
3569 al,
3570 "al r11 r1 r6 ROR 16",
3571 "al_r11_r1_r6_ROR_16"},
3572 {{al, r13, r7, r3, ROR, 24},
3573 false,
3574 al,
3575 "al r13 r7 r3 ROR 24",
3576 "al_r13_r7_r3_ROR_24"},
3577 {{al, r7, r7, r8, ROR, 16},
3578 false,
3579 al,
3580 "al r7 r7 r8 ROR 16",
3581 "al_r7_r7_r8_ROR_16"},
3582 {{al, r13, r13, r6, ROR, 24},
3583 false,
3584 al,
3585 "al r13 r13 r6 ROR 24",
3586 "al_r13_r13_r6_ROR_24"},
3587 {{al, r14, r9, r8, ROR, 24},
3588 false,
3589 al,
3590 "al r14 r9 r8 ROR 24",
3591 "al_r14_r9_r8_ROR_24"},
3592 {{al, r3, r4, r8, ROR, 24},
3593 false,
3594 al,
3595 "al r3 r4 r8 ROR 24",
3596 "al_r3_r4_r8_ROR_24"},
3597 {{al, r6, r9, r1, ROR, 0},
3598 false,
3599 al,
3600 "al r6 r9 r1 ROR 0",
3601 "al_r6_r9_r1_ROR_0"},
3602 {{al, r11, r3, r1, ROR, 16},
3603 false,
3604 al,
3605 "al r11 r3 r1 ROR 16",
3606 "al_r11_r3_r1_ROR_16"},
3607 {{al, r7, r8, r11, ROR, 8},
3608 false,
3609 al,
3610 "al r7 r8 r11 ROR 8",
3611 "al_r7_r8_r11_ROR_8"},
3612 {{al, r1, r7, r10, ROR, 24},
3613 false,
3614 al,
3615 "al r1 r7 r10 ROR 24",
3616 "al_r1_r7_r10_ROR_24"},
3617 {{al, r6, r6, r12, ROR, 16},
3618 false,
3619 al,
3620 "al r6 r6 r12 ROR 16",
3621 "al_r6_r6_r12_ROR_16"},
3622 {{al, r10, r8, r2, ROR, 8},
3623 false,
3624 al,
3625 "al r10 r8 r2 ROR 8",
3626 "al_r10_r8_r2_ROR_8"},
3627 {{al, r14, r4, r7, ROR, 8},
3628 false,
3629 al,
3630 "al r14 r4 r7 ROR 8",
3631 "al_r14_r4_r7_ROR_8"},
3632 {{al, r14, r13, r1, ROR, 16},
3633 false,
3634 al,
3635 "al r14 r13 r1 ROR 16",
3636 "al_r14_r13_r1_ROR_16"},
3637 {{al, r6, r2, r8, ROR, 16},
3638 false,
3639 al,
3640 "al r6 r2 r8 ROR 16",
3641 "al_r6_r2_r8_ROR_16"},
3642 {{al, r5, r12, r12, ROR, 16},
3643 false,
3644 al,
3645 "al r5 r12 r12 ROR 16",
3646 "al_r5_r12_r12_ROR_16"},
3647 {{al, r9, r0, r6, ROR, 24},
3648 false,
3649 al,
3650 "al r9 r0 r6 ROR 24",
3651 "al_r9_r0_r6_ROR_24"},
3652 {{al, r9, r14, r0, ROR, 16},
3653 false,
3654 al,
3655 "al r9 r14 r0 ROR 16",
3656 "al_r9_r14_r0_ROR_16"},
3657 {{al, r7, r2, r12, ROR, 16},
3658 false,
3659 al,
3660 "al r7 r2 r12 ROR 16",
3661 "al_r7_r2_r12_ROR_16"},
3662 {{al, r11, r6, r8, ROR, 8},
3663 false,
3664 al,
3665 "al r11 r6 r8 ROR 8",
3666 "al_r11_r6_r8_ROR_8"},
3667 {{al, r14, r1, r12, ROR, 24},
3668 false,
3669 al,
3670 "al r14 r1 r12 ROR 24",
3671 "al_r14_r1_r12_ROR_24"},
3672 {{al, r11, r11, r7, ROR, 8},
3673 false,
3674 al,
3675 "al r11 r11 r7 ROR 8",
3676 "al_r11_r11_r7_ROR_8"},
3677 {{al, r14, r10, r8, ROR, 8},
3678 false,
3679 al,
3680 "al r14 r10 r8 ROR 8",
3681 "al_r14_r10_r8_ROR_8"},
3682 {{al, r0, r1, r14, ROR, 0},
3683 false,
3684 al,
3685 "al r0 r1 r14 ROR 0",
3686 "al_r0_r1_r14_ROR_0"},
3687 {{al, r0, r11, r9, ROR, 16},
3688 false,
3689 al,
3690 "al r0 r11 r9 ROR 16",
3691 "al_r0_r11_r9_ROR_16"},
3692 {{al, r4, r13, r0, ROR, 8},
3693 false,
3694 al,
3695 "al r4 r13 r0 ROR 8",
3696 "al_r4_r13_r0_ROR_8"},
3697 {{al, r14, r11, r3, ROR, 8},
3698 false,
3699 al,
3700 "al r14 r11 r3 ROR 8",
3701 "al_r14_r11_r3_ROR_8"},
3702 {{al, r13, r6, r2, ROR, 16},
3703 false,
3704 al,
3705 "al r13 r6 r2 ROR 16",
3706 "al_r13_r6_r2_ROR_16"},
3707 {{al, r13, r6, r9, ROR, 16},
3708 false,
3709 al,
3710 "al r13 r6 r9 ROR 16",
3711 "al_r13_r6_r9_ROR_16"},
3712 {{al, r0, r11, r9, ROR, 24},
3713 false,
3714 al,
3715 "al r0 r11 r9 ROR 24",
3716 "al_r0_r11_r9_ROR_24"},
3717 {{al, r13, r4, r4, ROR, 16},
3718 false,
3719 al,
3720 "al r13 r4 r4 ROR 16",
3721 "al_r13_r4_r4_ROR_16"},
3722 {{al, r9, r12, r6, ROR, 24},
3723 false,
3724 al,
3725 "al r9 r12 r6 ROR 24",
3726 "al_r9_r12_r6_ROR_24"},
3727 {{al, r0, r8, r1, ROR, 0},
3728 false,
3729 al,
3730 "al r0 r8 r1 ROR 0",
3731 "al_r0_r8_r1_ROR_0"},
3732 {{al, r5, r9, r8, ROR, 16},
3733 false,
3734 al,
3735 "al r5 r9 r8 ROR 16",
3736 "al_r5_r9_r8_ROR_16"},
3737 {{al, r13, r4, r7, ROR, 16},
3738 false,
3739 al,
3740 "al r13 r4 r7 ROR 16",
3741 "al_r13_r4_r7_ROR_16"},
3742 {{al, r5, r11, r9, ROR, 8},
3743 false,
3744 al,
3745 "al r5 r11 r9 ROR 8",
3746 "al_r5_r11_r9_ROR_8"},
3747 {{al, r7, r8, r14, ROR, 8},
3748 false,
3749 al,
3750 "al r7 r8 r14 ROR 8",
3751 "al_r7_r8_r14_ROR_8"},
3752 {{al, r5, r2, r6, ROR, 0},
3753 false,
3754 al,
3755 "al r5 r2 r6 ROR 0",
3756 "al_r5_r2_r6_ROR_0"},
3757 {{al, r14, r7, r14, ROR, 0},
3758 false,
3759 al,
3760 "al r14 r7 r14 ROR 0",
3761 "al_r14_r7_r14_ROR_0"},
3762 {{al, r14, r0, r10, ROR, 8},
3763 false,
3764 al,
3765 "al r14 r0 r10 ROR 8",
3766 "al_r14_r0_r10_ROR_8"},
3767 {{al, r4, r4, r5, ROR, 0},
3768 false,
3769 al,
3770 "al r4 r4 r5 ROR 0",
3771 "al_r4_r4_r5_ROR_0"},
3772 {{al, r5, r1, r10, ROR, 0},
3773 false,
3774 al,
3775 "al r5 r1 r10 ROR 0",
3776 "al_r5_r1_r10_ROR_0"},
3777 {{al, r3, r10, r1, ROR, 0},
3778 false,
3779 al,
3780 "al r3 r10 r1 ROR 0",
3781 "al_r3_r10_r1_ROR_0"},
3782 {{al, r0, r2, r7, ROR, 0},
3783 false,
3784 al,
3785 "al r0 r2 r7 ROR 0",
3786 "al_r0_r2_r7_ROR_0"},
3787 {{al, r6, r10, r13, ROR, 8},
3788 false,
3789 al,
3790 "al r6 r10 r13 ROR 8",
3791 "al_r6_r10_r13_ROR_8"},
3792 {{al, r11, r7, r4, ROR, 24},
3793 false,
3794 al,
3795 "al r11 r7 r4 ROR 24",
3796 "al_r11_r7_r4_ROR_24"},
3797 {{al, r12, r14, r9, ROR, 0},
3798 false,
3799 al,
3800 "al r12 r14 r9 ROR 0",
3801 "al_r12_r14_r9_ROR_0"},
3802 {{al, r11, r10, r1, ROR, 16},
3803 false,
3804 al,
3805 "al r11 r10 r1 ROR 16",
3806 "al_r11_r10_r1_ROR_16"},
3807 {{al, r8, r4, r10, ROR, 0},
3808 false,
3809 al,
3810 "al r8 r4 r10 ROR 0",
3811 "al_r8_r4_r10_ROR_0"},
3812 {{al, r13, r12, r3, ROR, 8},
3813 false,
3814 al,
3815 "al r13 r12 r3 ROR 8",
3816 "al_r13_r12_r3_ROR_8"},
3817 {{al, r3, r6, r7, ROR, 24},
3818 false,
3819 al,
3820 "al r3 r6 r7 ROR 24",
3821 "al_r3_r6_r7_ROR_24"},
3822 {{al, r10, r12, r11, ROR, 0},
3823 false,
3824 al,
3825 "al r10 r12 r11 ROR 0",
3826 "al_r10_r12_r11_ROR_0"},
3827 {{al, r11, r8, r6, ROR, 0},
3828 false,
3829 al,
3830 "al r11 r8 r6 ROR 0",
3831 "al_r11_r8_r6_ROR_0"},
3832 {{al, r7, r8, r13, ROR, 8},
3833 false,
3834 al,
3835 "al r7 r8 r13 ROR 8",
3836 "al_r7_r8_r13_ROR_8"},
3837 {{al, r13, r3, r10, ROR, 24},
3838 false,
3839 al,
3840 "al r13 r3 r10 ROR 24",
3841 "al_r13_r3_r10_ROR_24"},
3842 {{al, r11, r11, r9, ROR, 24},
3843 false,
3844 al,
3845 "al r11 r11 r9 ROR 24",
3846 "al_r11_r11_r9_ROR_24"},
3847 {{al, r8, r12, r4, ROR, 24},
3848 false,
3849 al,
3850 "al r8 r12 r4 ROR 24",
3851 "al_r8_r12_r4_ROR_24"},
3852 {{al, r13, r12, r8, ROR, 0},
3853 false,
3854 al,
3855 "al r13 r12 r8 ROR 0",
3856 "al_r13_r12_r8_ROR_0"},
3857 {{al, r13, r5, r11, ROR, 16},
3858 false,
3859 al,
3860 "al r13 r5 r11 ROR 16",
3861 "al_r13_r5_r11_ROR_16"},
3862 {{al, r4, r1, r9, ROR, 0},
3863 false,
3864 al,
3865 "al r4 r1 r9 ROR 0",
3866 "al_r4_r1_r9_ROR_0"},
3867 {{al, r2, r0, r12, ROR, 8},
3868 false,
3869 al,
3870 "al r2 r0 r12 ROR 8",
3871 "al_r2_r0_r12_ROR_8"},
3872 {{al, r11, r6, r0, ROR, 0},
3873 false,
3874 al,
3875 "al r11 r6 r0 ROR 0",
3876 "al_r11_r6_r0_ROR_0"},
3877 {{al, r10, r4, r13, ROR, 0},
3878 false,
3879 al,
3880 "al r10 r4 r13 ROR 0",
3881 "al_r10_r4_r13_ROR_0"},
3882 {{al, r12, r4, r12, ROR, 24},
3883 false,
3884 al,
3885 "al r12 r4 r12 ROR 24",
3886 "al_r12_r4_r12_ROR_24"},
3887 {{al, r2, r6, r2, ROR, 16},
3888 false,
3889 al,
3890 "al r2 r6 r2 ROR 16",
3891 "al_r2_r6_r2_ROR_16"},
3892 {{al, r6, r10, r4, ROR, 16},
3893 false,
3894 al,
3895 "al r6 r10 r4 ROR 16",
3896 "al_r6_r10_r4_ROR_16"},
3897 {{al, r2, r13, r6, ROR, 24},
3898 false,
3899 al,
3900 "al r2 r13 r6 ROR 24",
3901 "al_r2_r13_r6_ROR_24"},
3902 {{al, r14, r14, r5, ROR, 8},
3903 false,
3904 al,
3905 "al r14 r14 r5 ROR 8",
3906 "al_r14_r14_r5_ROR_8"},
3907 {{al, r0, r6, r12, ROR, 24},
3908 false,
3909 al,
3910 "al r0 r6 r12 ROR 24",
3911 "al_r0_r6_r12_ROR_24"},
3912 {{al, r11, r10, r10, ROR, 8},
3913 false,
3914 al,
3915 "al r11 r10 r10 ROR 8",
3916 "al_r11_r10_r10_ROR_8"},
3917 {{al, r10, r8, r4, ROR, 8},
3918 false,
3919 al,
3920 "al r10 r8 r4 ROR 8",
3921 "al_r10_r8_r4_ROR_8"},
3922 {{al, r5, r8, r11, ROR, 8},
3923 false,
3924 al,
3925 "al r5 r8 r11 ROR 8",
3926 "al_r5_r8_r11_ROR_8"},
3927 {{al, r12, r0, r3, ROR, 8},
3928 false,
3929 al,
3930 "al r12 r0 r3 ROR 8",
3931 "al_r12_r0_r3_ROR_8"},
3932 {{al, r5, r1, r11, ROR, 24},
3933 false,
3934 al,
3935 "al r5 r1 r11 ROR 24",
3936 "al_r5_r1_r11_ROR_24"},
3937 {{al, r1, r10, r5, ROR, 16},
3938 false,
3939 al,
3940 "al r1 r10 r5 ROR 16",
3941 "al_r1_r10_r5_ROR_16"},
3942 {{al, r13, r13, r14, ROR, 24},
3943 false,
3944 al,
3945 "al r13 r13 r14 ROR 24",
3946 "al_r13_r13_r14_ROR_24"},
3947 {{al, r6, r9, r4, ROR, 8},
3948 false,
3949 al,
3950 "al r6 r9 r4 ROR 8",
3951 "al_r6_r9_r4_ROR_8"},
3952 {{al, r10, r4, r13, ROR, 24},
3953 false,
3954 al,
3955 "al r10 r4 r13 ROR 24",
3956 "al_r10_r4_r13_ROR_24"},
3957 {{al, r14, r5, r0, ROR, 8},
3958 false,
3959 al,
3960 "al r14 r5 r0 ROR 8",
3961 "al_r14_r5_r0_ROR_8"},
3962 {{al, r11, r10, r13, ROR, 0},
3963 false,
3964 al,
3965 "al r11 r10 r13 ROR 0",
3966 "al_r11_r10_r13_ROR_0"},
3967 {{al, r12, r1, r4, ROR, 0},
3968 false,
3969 al,
3970 "al r12 r1 r4 ROR 0",
3971 "al_r12_r1_r4_ROR_0"},
3972 {{al, r2, r9, r0, ROR, 0},
3973 false,
3974 al,
3975 "al r2 r9 r0 ROR 0",
3976 "al_r2_r9_r0_ROR_0"},
3977 {{al, r8, r6, r1, ROR, 0},
3978 false,
3979 al,
3980 "al r8 r6 r1 ROR 0",
3981 "al_r8_r6_r1_ROR_0"},
3982 {{al, r13, r11, r7, ROR, 0},
3983 false,
3984 al,
3985 "al r13 r11 r7 ROR 0",
3986 "al_r13_r11_r7_ROR_0"},
3987 {{al, r5, r11, r5, ROR, 0},
3988 false,
3989 al,
3990 "al r5 r11 r5 ROR 0",
3991 "al_r5_r11_r5_ROR_0"},
3992 {{al, r2, r2, r5, ROR, 24},
3993 false,
3994 al,
3995 "al r2 r2 r5 ROR 24",
3996 "al_r2_r2_r5_ROR_24"},
3997 {{al, r10, r3, r9, ROR, 8},
3998 false,
3999 al,
4000 "al r10 r3 r9 ROR 8",
4001 "al_r10_r3_r9_ROR_8"},
4002 {{al, r5, r11, r0, ROR, 8},
4003 false,
4004 al,
4005 "al r5 r11 r0 ROR 8",
4006 "al_r5_r11_r0_ROR_8"},
4007 {{al, r11, r6, r8, ROR, 0},
4008 false,
4009 al,
4010 "al r11 r6 r8 ROR 0",
4011 "al_r11_r6_r8_ROR_0"},
4012 {{al, r0, r8, r11, ROR, 24},
4013 false,
4014 al,
4015 "al r0 r8 r11 ROR 24",
4016 "al_r0_r8_r11_ROR_24"},
4017 {{al, r8, r0, r14, ROR, 24},
4018 false,
4019 al,
4020 "al r8 r0 r14 ROR 24",
4021 "al_r8_r0_r14_ROR_24"},
4022 {{al, r14, r11, r13, ROR, 8},
4023 false,
4024 al,
4025 "al r14 r11 r13 ROR 8",
4026 "al_r14_r11_r13_ROR_8"},
4027 {{al, r7, r2, r8, ROR, 16},
4028 false,
4029 al,
4030 "al r7 r2 r8 ROR 16",
4031 "al_r7_r2_r8_ROR_16"},
4032 {{al, r8, r5, r8, ROR, 24},
4033 false,
4034 al,
4035 "al r8 r5 r8 ROR 24",
4036 "al_r8_r5_r8_ROR_24"},
4037 {{al, r6, r5, r13, ROR, 16},
4038 false,
4039 al,
4040 "al r6 r5 r13 ROR 16",
4041 "al_r6_r5_r13_ROR_16"},
4042 {{al, r4, r9, r9, ROR, 16},
4043 false,
4044 al,
4045 "al r4 r9 r9 ROR 16",
4046 "al_r4_r9_r9_ROR_16"},
4047 {{al, r10, r14, r7, ROR, 0},
4048 false,
4049 al,
4050 "al r10 r14 r7 ROR 0",
4051 "al_r10_r14_r7_ROR_0"},
4052 {{al, r1, r1, r6, ROR, 0},
4053 false,
4054 al,
4055 "al r1 r1 r6 ROR 0",
4056 "al_r1_r1_r6_ROR_0"},
4057 {{al, r1, r10, r14, ROR, 8},
4058 false,
4059 al,
4060 "al r1 r10 r14 ROR 8",
4061 "al_r1_r10_r14_ROR_8"},
4062 {{al, r1, r7, r11, ROR, 24},
4063 false,
4064 al,
4065 "al r1 r7 r11 ROR 24",
4066 "al_r1_r7_r11_ROR_24"},
4067 {{al, r5, r7, r1, ROR, 16},
4068 false,
4069 al,
4070 "al r5 r7 r1 ROR 16",
4071 "al_r5_r7_r1_ROR_16"},
4072 {{al, r12, r2, r6, ROR, 8},
4073 false,
4074 al,
4075 "al r12 r2 r6 ROR 8",
4076 "al_r12_r2_r6_ROR_8"},
4077 {{al, r8, r6, r8, ROR, 0},
4078 false,
4079 al,
4080 "al r8 r6 r8 ROR 0",
4081 "al_r8_r6_r8_ROR_0"},
4082 {{al, r0, r6, r2, ROR, 0},
4083 false,
4084 al,
4085 "al r0 r6 r2 ROR 0",
4086 "al_r0_r6_r2_ROR_0"},
4087 {{al, r13, r11, r1, ROR, 16},
4088 false,
4089 al,
4090 "al r13 r11 r1 ROR 16",
4091 "al_r13_r11_r1_ROR_16"},
4092 {{al, r9, r3, r13, ROR, 24},
4093 false,
4094 al,
4095 "al r9 r3 r13 ROR 24",
4096 "al_r9_r3_r13_ROR_24"},
4097 {{al, r1, r11, r2, ROR, 8},
4098 false,
4099 al,
4100 "al r1 r11 r2 ROR 8",
4101 "al_r1_r11_r2_ROR_8"},
4102 {{al, r5, r8, r6, ROR, 24},
4103 false,
4104 al,
4105 "al r5 r8 r6 ROR 24",
4106 "al_r5_r8_r6_ROR_24"},
4107 {{al, r4, r12, r9, ROR, 16},
4108 false,
4109 al,
4110 "al r4 r12 r9 ROR 16",
4111 "al_r4_r12_r9_ROR_16"},
4112 {{al, r9, r12, r14, ROR, 8},
4113 false,
4114 al,
4115 "al r9 r12 r14 ROR 8",
4116 "al_r9_r12_r14_ROR_8"},
4117 {{al, r2, r12, r10, ROR, 0},
4118 false,
4119 al,
4120 "al r2 r12 r10 ROR 0",
4121 "al_r2_r12_r10_ROR_0"},
4122 {{al, r1, r13, r7, ROR, 24},
4123 false,
4124 al,
4125 "al r1 r13 r7 ROR 24",
4126 "al_r1_r13_r7_ROR_24"},
4127 {{al, r2, r1, r10, ROR, 24},
4128 false,
4129 al,
4130 "al r2 r1 r10 ROR 24",
4131 "al_r2_r1_r10_ROR_24"},
4132 {{al, r3, r3, r14, ROR, 0},
4133 false,
4134 al,
4135 "al r3 r3 r14 ROR 0",
4136 "al_r3_r3_r14_ROR_0"},
4137 {{al, r7, r11, r2, ROR, 16},
4138 false,
4139 al,
4140 "al r7 r11 r2 ROR 16",
4141 "al_r7_r11_r2_ROR_16"},
4142 {{al, r13, r9, r10, ROR, 0},
4143 false,
4144 al,
4145 "al r13 r9 r10 ROR 0",
4146 "al_r13_r9_r10_ROR_0"},
4147 {{al, r1, r3, r10, ROR, 24},
4148 false,
4149 al,
4150 "al r1 r3 r10 ROR 24",
4151 "al_r1_r3_r10_ROR_24"},
4152 {{al, r1, r2, r3, ROR, 0},
4153 false,
4154 al,
4155 "al r1 r2 r3 ROR 0",
4156 "al_r1_r2_r3_ROR_0"},
4157 {{al, r1, r5, r2, ROR, 16},
4158 false,
4159 al,
4160 "al r1 r5 r2 ROR 16",
4161 "al_r1_r5_r2_ROR_16"},
4162 {{al, r14, r4, r7, ROR, 16},
4163 false,
4164 al,
4165 "al r14 r4 r7 ROR 16",
4166 "al_r14_r4_r7_ROR_16"},
4167 {{al, r0, r8, r12, ROR, 16},
4168 false,
4169 al,
4170 "al r0 r8 r12 ROR 16",
4171 "al_r0_r8_r12_ROR_16"},
4172 {{al, r8, r10, r14, ROR, 16},
4173 false,
4174 al,
4175 "al r8 r10 r14 ROR 16",
4176 "al_r8_r10_r14_ROR_16"},
4177 {{al, r10, r5, r0, ROR, 0},
4178 false,
4179 al,
4180 "al r10 r5 r0 ROR 0",
4181 "al_r10_r5_r0_ROR_0"},
4182 {{al, r5, r2, r4, ROR, 0},
4183 false,
4184 al,
4185 "al r5 r2 r4 ROR 0",
4186 "al_r5_r2_r4_ROR_0"},
4187 {{al, r1, r8, r7, ROR, 16},
4188 false,
4189 al,
4190 "al r1 r8 r7 ROR 16",
4191 "al_r1_r8_r7_ROR_16"},
4192 {{al, r5, r3, r12, ROR, 0},
4193 false,
4194 al,
4195 "al r5 r3 r12 ROR 0",
4196 "al_r5_r3_r12_ROR_0"},
4197 {{al, r1, r3, r1, ROR, 8},
4198 false,
4199 al,
4200 "al r1 r3 r1 ROR 8",
4201 "al_r1_r3_r1_ROR_8"},
4202 {{al, r10, r1, r12, ROR, 0},
4203 false,
4204 al,
4205 "al r10 r1 r12 ROR 0",
4206 "al_r10_r1_r12_ROR_0"},
4207 {{al, r13, r8, r4, ROR, 24},
4208 false,
4209 al,
4210 "al r13 r8 r4 ROR 24",
4211 "al_r13_r8_r4_ROR_24"},
4212 {{al, r10, r6, r7, ROR, 0},
4213 false,
4214 al,
4215 "al r10 r6 r7 ROR 0",
4216 "al_r10_r6_r7_ROR_0"},
4217 {{al, r1, r7, r1, ROR, 24},
4218 false,
4219 al,
4220 "al r1 r7 r1 ROR 24",
4221 "al_r1_r7_r1_ROR_24"},
4222 {{al, r6, r7, r14, ROR, 24},
4223 false,
4224 al,
4225 "al r6 r7 r14 ROR 24",
4226 "al_r6_r7_r14_ROR_24"},
4227 {{al, r5, r2, r11, ROR, 8},
4228 false,
4229 al,
4230 "al r5 r2 r11 ROR 8",
4231 "al_r5_r2_r11_ROR_8"},
4232 {{al, r3, r1, r2, ROR, 16},
4233 false,
4234 al,
4235 "al r3 r1 r2 ROR 16",
4236 "al_r3_r1_r2_ROR_16"},
4237 {{al, r4, r9, r11, ROR, 0},
4238 false,
4239 al,
4240 "al r4 r9 r11 ROR 0",
4241 "al_r4_r9_r11_ROR_0"},
4242 {{al, r4, r1, r8, ROR, 0},
4243 false,
4244 al,
4245 "al r4 r1 r8 ROR 0",
4246 "al_r4_r1_r8_ROR_0"},
4247 {{al, r0, r11, r0, ROR, 0},
4248 false,
4249 al,
4250 "al r0 r11 r0 ROR 0",
4251 "al_r0_r11_r0_ROR_0"},
4252 {{al, r5, r7, r2, ROR, 24},
4253 false,
4254 al,
4255 "al r5 r7 r2 ROR 24",
4256 "al_r5_r7_r2_ROR_24"},
4257 {{al, r3, r5, r12, ROR, 0},
4258 false,
4259 al,
4260 "al r3 r5 r12 ROR 0",
4261 "al_r3_r5_r12_ROR_0"},
4262 {{al, r2, r10, r5, ROR, 24},
4263 false,
4264 al,
4265 "al r2 r10 r5 ROR 24",
4266 "al_r2_r10_r5_ROR_24"},
4267 {{al, r13, r1, r2, ROR, 8},
4268 false,
4269 al,
4270 "al r13 r1 r2 ROR 8",
4271 "al_r13_r1_r2_ROR_8"},
4272 {{al, r0, r6, r5, ROR, 24},
4273 false,
4274 al,
4275 "al r0 r6 r5 ROR 24",
4276 "al_r0_r6_r5_ROR_24"},
4277 {{al, r7, r2, r13, ROR, 24},
4278 false,
4279 al,
4280 "al r7 r2 r13 ROR 24",
4281 "al_r7_r2_r13_ROR_24"},
4282 {{al, r12, r11, r2, ROR, 24},
4283 false,
4284 al,
4285 "al r12 r11 r2 ROR 24",
4286 "al_r12_r11_r2_ROR_24"},
4287 {{al, r14, r8, r12, ROR, 0},
4288 false,
4289 al,
4290 "al r14 r8 r12 ROR 0",
4291 "al_r14_r8_r12_ROR_0"},
4292 {{al, r9, r10, r13, ROR, 16},
4293 false,
4294 al,
4295 "al r9 r10 r13 ROR 16",
4296 "al_r9_r10_r13_ROR_16"},
4297 {{al, r5, r12, r0, ROR, 8},
4298 false,
4299 al,
4300 "al r5 r12 r0 ROR 8",
4301 "al_r5_r12_r0_ROR_8"},
4302 {{al, r9, r14, r1, ROR, 0},
4303 false,
4304 al,
4305 "al r9 r14 r1 ROR 0",
4306 "al_r9_r14_r1_ROR_0"},
4307 {{al, r0, r8, r11, ROR, 0},
4308 false,
4309 al,
4310 "al r0 r8 r11 ROR 0",
4311 "al_r0_r8_r11_ROR_0"},
4312 {{al, r3, r4, r11, ROR, 8},
4313 false,
4314 al,
4315 "al r3 r4 r11 ROR 8",
4316 "al_r3_r4_r11_ROR_8"},
4317 {{al, r9, r3, r12, ROR, 8},
4318 false,
4319 al,
4320 "al r9 r3 r12 ROR 8",
4321 "al_r9_r3_r12_ROR_8"},
4322 {{al, r3, r14, r9, ROR, 8},
4323 false,
4324 al,
4325 "al r3 r14 r9 ROR 8",
4326 "al_r3_r14_r9_ROR_8"},
4327 {{al, r1, r10, r0, ROR, 8},
4328 false,
4329 al,
4330 "al r1 r10 r0 ROR 8",
4331 "al_r1_r10_r0_ROR_8"},
4332 {{al, r4, r12, r1, ROR, 16},
4333 false,
4334 al,
4335 "al r4 r12 r1 ROR 16",
4336 "al_r4_r12_r1_ROR_16"},
4337 {{al, r3, r2, r8, ROR, 8},
4338 false,
4339 al,
4340 "al r3 r2 r8 ROR 8",
4341 "al_r3_r2_r8_ROR_8"},
4342 {{al, r4, r8, r10, ROR, 0},
4343 false,
4344 al,
4345 "al r4 r8 r10 ROR 0",
4346 "al_r4_r8_r10_ROR_0"},
4347 {{al, r5, r6, r5, ROR, 24},
4348 false,
4349 al,
4350 "al r5 r6 r5 ROR 24",
4351 "al_r5_r6_r5_ROR_24"},
4352 {{al, r8, r14, r7, ROR, 16},
4353 false,
4354 al,
4355 "al r8 r14 r7 ROR 16",
4356 "al_r8_r14_r7_ROR_16"},
4357 {{al, r2, r11, r13, ROR, 0},
4358 false,
4359 al,
4360 "al r2 r11 r13 ROR 0",
4361 "al_r2_r11_r13_ROR_0"},
4362 {{al, r11, r1, r2, ROR, 24},
4363 false,
4364 al,
4365 "al r11 r1 r2 ROR 24",
4366 "al_r11_r1_r2_ROR_24"},
4367 {{al, r5, r1, r2, ROR, 0},
4368 false,
4369 al,
4370 "al r5 r1 r2 ROR 0",
4371 "al_r5_r1_r2_ROR_0"},
4372 {{al, r11, r12, r2, ROR, 8},
4373 false,
4374 al,
4375 "al r11 r12 r2 ROR 8",
4376 "al_r11_r12_r2_ROR_8"},
4377 {{al, r12, r5, r8, ROR, 0},
4378 false,
4379 al,
4380 "al r12 r5 r8 ROR 0",
4381 "al_r12_r5_r8_ROR_0"},
4382 {{al, r7, r3, r12, ROR, 0},
4383 false,
4384 al,
4385 "al r7 r3 r12 ROR 0",
4386 "al_r7_r3_r12_ROR_0"},
4387 {{al, r1, r2, r4, ROR, 0},
4388 false,
4389 al,
4390 "al r1 r2 r4 ROR 0",
4391 "al_r1_r2_r4_ROR_0"},
4392 {{al, r14, r10, r1, ROR, 24},
4393 false,
4394 al,
4395 "al r14 r10 r1 ROR 24",
4396 "al_r14_r10_r1_ROR_24"},
4397 {{al, r14, r10, r1, ROR, 16},
4398 false,
4399 al,
4400 "al r14 r10 r1 ROR 16",
4401 "al_r14_r10_r1_ROR_16"},
4402 {{al, r5, r13, r9, ROR, 24},
4403 false,
4404 al,
4405 "al r5 r13 r9 ROR 24",
4406 "al_r5_r13_r9_ROR_24"},
4407 {{al, r10, r8, r13, ROR, 24},
4408 false,
4409 al,
4410 "al r10 r8 r13 ROR 24",
4411 "al_r10_r8_r13_ROR_24"},
4412 {{al, r12, r11, r0, ROR, 16},
4413 false,
4414 al,
4415 "al r12 r11 r0 ROR 16",
4416 "al_r12_r11_r0_ROR_16"},
4417 {{al, r9, r11, r7, ROR, 16},
4418 false,
4419 al,
4420 "al r9 r11 r7 ROR 16",
4421 "al_r9_r11_r7_ROR_16"},
4422 {{al, r2, r9, r5, ROR, 0},
4423 false,
4424 al,
4425 "al r2 r9 r5 ROR 0",
4426 "al_r2_r9_r5_ROR_0"},
4427 {{al, r14, r10, r14, ROR, 0},
4428 false,
4429 al,
4430 "al r14 r10 r14 ROR 0",
4431 "al_r14_r10_r14_ROR_0"},
4432 {{al, r5, r8, r6, ROR, 8},
4433 false,
4434 al,
4435 "al r5 r8 r6 ROR 8",
4436 "al_r5_r8_r6_ROR_8"},
4437 {{al, r8, r13, r2, ROR, 0},
4438 false,
4439 al,
4440 "al r8 r13 r2 ROR 0",
4441 "al_r8_r13_r2_ROR_0"},
4442 {{al, r2, r5, r7, ROR, 0},
4443 false,
4444 al,
4445 "al r2 r5 r7 ROR 0",
4446 "al_r2_r5_r7_ROR_0"},
4447 {{al, r3, r13, r8, ROR, 16},
4448 false,
4449 al,
4450 "al r3 r13 r8 ROR 16",
4451 "al_r3_r13_r8_ROR_16"},
4452 {{al, r12, r13, r13, ROR, 8},
4453 false,
4454 al,
4455 "al r12 r13 r13 ROR 8",
4456 "al_r12_r13_r13_ROR_8"},
4457 {{al, r2, r4, r11, ROR, 8},
4458 false,
4459 al,
4460 "al r2 r4 r11 ROR 8",
4461 "al_r2_r4_r11_ROR_8"},
4462 {{al, r6, r5, r4, ROR, 0},
4463 false,
4464 al,
4465 "al r6 r5 r4 ROR 0",
4466 "al_r6_r5_r4_ROR_0"},
4467 {{al, r4, r9, r10, ROR, 8},
4468 false,
4469 al,
4470 "al r4 r9 r10 ROR 8",
4471 "al_r4_r9_r10_ROR_8"},
4472 {{al, r4, r0, r3, ROR, 8},
4473 false,
4474 al,
4475 "al r4 r0 r3 ROR 8",
4476 "al_r4_r0_r3_ROR_8"},
4477 {{al, r8, r13, r2, ROR, 24},
4478 false,
4479 al,
4480 "al r8 r13 r2 ROR 24",
4481 "al_r8_r13_r2_ROR_24"},
4482 {{al, r3, r4, r6, ROR, 8},
4483 false,
4484 al,
4485 "al r3 r4 r6 ROR 8",
4486 "al_r3_r4_r6_ROR_8"},
4487 {{al, r11, r9, r6, ROR, 0},
4488 false,
4489 al,
4490 "al r11 r9 r6 ROR 0",
4491 "al_r11_r9_r6_ROR_0"},
4492 {{al, r10, r12, r1, ROR, 24},
4493 false,
4494 al,
4495 "al r10 r12 r1 ROR 24",
4496 "al_r10_r12_r1_ROR_24"},
4497 {{al, r1, r10, r11, ROR, 8},
4498 false,
4499 al,
4500 "al r1 r10 r11 ROR 8",
4501 "al_r1_r10_r11_ROR_8"},
4502 {{al, r12, r12, r4, ROR, 16},
4503 false,
4504 al,
4505 "al r12 r12 r4 ROR 16",
4506 "al_r12_r12_r4_ROR_16"},
4507 {{al, r2, r7, r12, ROR, 16},
4508 false,
4509 al,
4510 "al r2 r7 r12 ROR 16",
4511 "al_r2_r7_r12_ROR_16"},
4512 {{al, r3, r3, r4, ROR, 8},
4513 false,
4514 al,
4515 "al r3 r3 r4 ROR 8",
4516 "al_r3_r3_r4_ROR_8"},
4517 {{al, r9, r12, r9, ROR, 24},
4518 false,
4519 al,
4520 "al r9 r12 r9 ROR 24",
4521 "al_r9_r12_r9_ROR_24"},
4522 {{al, r0, r5, r2, ROR, 0},
4523 false,
4524 al,
4525 "al r0 r5 r2 ROR 0",
4526 "al_r0_r5_r2_ROR_0"},
4527 {{al, r8, r13, r4, ROR, 0},
4528 false,
4529 al,
4530 "al r8 r13 r4 ROR 0",
4531 "al_r8_r13_r4_ROR_0"},
4532 {{al, r4, r1, r0, ROR, 0},
4533 false,
4534 al,
4535 "al r4 r1 r0 ROR 0",
4536 "al_r4_r1_r0_ROR_0"},
4537 {{al, r12, r8, r10, ROR, 24},
4538 false,
4539 al,
4540 "al r12 r8 r10 ROR 24",
4541 "al_r12_r8_r10_ROR_24"},
4542 {{al, r6, r6, r13, ROR, 0},
4543 false,
4544 al,
4545 "al r6 r6 r13 ROR 0",
4546 "al_r6_r6_r13_ROR_0"},
4547 {{al, r7, r2, r2, ROR, 0},
4548 false,
4549 al,
4550 "al r7 r2 r2 ROR 0",
4551 "al_r7_r2_r2_ROR_0"},
4552 {{al, r13, r6, r7, ROR, 24},
4553 false,
4554 al,
4555 "al r13 r6 r7 ROR 24",
4556 "al_r13_r6_r7_ROR_24"},
4557 {{al, r5, r11, r4, ROR, 8},
4558 false,
4559 al,
4560 "al r5 r11 r4 ROR 8",
4561 "al_r5_r11_r4_ROR_8"},
4562 {{al, r12, r0, r9, ROR, 8},
4563 false,
4564 al,
4565 "al r12 r0 r9 ROR 8",
4566 "al_r12_r0_r9_ROR_8"},
4567 {{al, r5, r9, r5, ROR, 8},
4568 false,
4569 al,
4570 "al r5 r9 r5 ROR 8",
4571 "al_r5_r9_r5_ROR_8"},
4572 {{al, r0, r0, r12, ROR, 24},
4573 false,
4574 al,
4575 "al r0 r0 r12 ROR 24",
4576 "al_r0_r0_r12_ROR_24"},
4577 {{al, r1, r14, r2, ROR, 16},
4578 false,
4579 al,
4580 "al r1 r14 r2 ROR 16",
4581 "al_r1_r14_r2_ROR_16"},
4582 {{al, r1, r14, r6, ROR, 24},
4583 false,
4584 al,
4585 "al r1 r14 r6 ROR 24",
4586 "al_r1_r14_r6_ROR_24"},
4587 {{al, r4, r12, r9, ROR, 0},
4588 false,
4589 al,
4590 "al r4 r12 r9 ROR 0",
4591 "al_r4_r12_r9_ROR_0"},
4592 {{al, r5, r0, r3, ROR, 0},
4593 false,
4594 al,
4595 "al r5 r0 r3 ROR 0",
4596 "al_r5_r0_r3_ROR_0"},
4597 {{al, r13, r9, r2, ROR, 16},
4598 false,
4599 al,
4600 "al r13 r9 r2 ROR 16",
4601 "al_r13_r9_r2_ROR_16"},
4602 {{al, r11, r6, r5, ROR, 24},
4603 false,
4604 al,
4605 "al r11 r6 r5 ROR 24",
4606 "al_r11_r6_r5_ROR_24"},
4607 {{al, r13, r0, r1, ROR, 24},
4608 false,
4609 al,
4610 "al r13 r0 r1 ROR 24",
4611 "al_r13_r0_r1_ROR_24"},
4612 {{al, r14, r1, r10, ROR, 8},
4613 false,
4614 al,
4615 "al r14 r1 r10 ROR 8",
4616 "al_r14_r1_r10_ROR_8"},
4617 {{al, r11, r4, r6, ROR, 24},
4618 false,
4619 al,
4620 "al r11 r4 r6 ROR 24",
4621 "al_r11_r4_r6_ROR_24"},
4622 {{al, r12, r5, r9, ROR, 0},
4623 false,
4624 al,
4625 "al r12 r5 r9 ROR 0",
4626 "al_r12_r5_r9_ROR_0"},
4627 {{al, r7, r14, r6, ROR, 16},
4628 false,
4629 al,
4630 "al r7 r14 r6 ROR 16",
4631 "al_r7_r14_r6_ROR_16"},
4632 {{al, r14, r5, r0, ROR, 24},
4633 false,
4634 al,
4635 "al r14 r5 r0 ROR 24",
4636 "al_r14_r5_r0_ROR_24"},
4637 {{al, r2, r1, r7, ROR, 24},
4638 false,
4639 al,
4640 "al r2 r1 r7 ROR 24",
4641 "al_r2_r1_r7_ROR_24"},
4642 {{al, r9, r11, r6, ROR, 8},
4643 false,
4644 al,
4645 "al r9 r11 r6 ROR 8",
4646 "al_r9_r11_r6_ROR_8"},
4647 {{al, r3, r11, r7, ROR, 24},
4648 false,
4649 al,
4650 "al r3 r11 r7 ROR 24",
4651 "al_r3_r11_r7_ROR_24"},
4652 {{al, r5, r10, r3, ROR, 24},
4653 false,
4654 al,
4655 "al r5 r10 r3 ROR 24",
4656 "al_r5_r10_r3_ROR_24"},
4657 {{al, r5, r2, r2, ROR, 16},
4658 false,
4659 al,
4660 "al r5 r2 r2 ROR 16",
4661 "al_r5_r2_r2_ROR_16"},
4662 {{al, r9, r11, r5, ROR, 8},
4663 false,
4664 al,
4665 "al r9 r11 r5 ROR 8",
4666 "al_r9_r11_r5_ROR_8"},
4667 {{al, r13, r5, r7, ROR, 16},
4668 false,
4669 al,
4670 "al r13 r5 r7 ROR 16",
4671 "al_r13_r5_r7_ROR_16"},
4672 {{al, r3, r8, r9, ROR, 8},
4673 false,
4674 al,
4675 "al r3 r8 r9 ROR 8",
4676 "al_r3_r8_r9_ROR_8"},
4677 {{al, r10, r3, r2, ROR, 16},
4678 false,
4679 al,
4680 "al r10 r3 r2 ROR 16",
4681 "al_r10_r3_r2_ROR_16"},
4682 {{al, r12, r12, r1, ROR, 8},
4683 false,
4684 al,
4685 "al r12 r12 r1 ROR 8",
4686 "al_r12_r12_r1_ROR_8"},
4687 {{al, r4, r12, r5, ROR, 8},
4688 false,
4689 al,
4690 "al r4 r12 r5 ROR 8",
4691 "al_r4_r12_r5_ROR_8"},
4692 {{al, r2, r3, r13, ROR, 8},
4693 false,
4694 al,
4695 "al r2 r3 r13 ROR 8",
4696 "al_r2_r3_r13_ROR_8"},
4697 {{al, r5, r13, r12, ROR, 24},
4698 false,
4699 al,
4700 "al r5 r13 r12 ROR 24",
4701 "al_r5_r13_r12_ROR_24"},
4702 {{al, r1, r2, r9, ROR, 0},
4703 false,
4704 al,
4705 "al r1 r2 r9 ROR 0",
4706 "al_r1_r2_r9_ROR_0"},
4707 {{al, r12, r3, r6, ROR, 8},
4708 false,
4709 al,
4710 "al r12 r3 r6 ROR 8",
4711 "al_r12_r3_r6_ROR_8"},
4712 {{al, r6, r6, r0, ROR, 24},
4713 false,
4714 al,
4715 "al r6 r6 r0 ROR 24",
4716 "al_r6_r6_r0_ROR_24"},
4717 {{al, r10, r5, r9, ROR, 0},
4718 false,
4719 al,
4720 "al r10 r5 r9 ROR 0",
4721 "al_r10_r5_r9_ROR_0"},
4722 {{al, r4, r1, r12, ROR, 24},
4723 false,
4724 al,
4725 "al r4 r1 r12 ROR 24",
4726 "al_r4_r1_r12_ROR_24"},
4727 {{al, r6, r5, r1, ROR, 0},
4728 false,
4729 al,
4730 "al r6 r5 r1 ROR 0",
4731 "al_r6_r5_r1_ROR_0"},
4732 {{al, r11, r4, r8, ROR, 8},
4733 false,
4734 al,
4735 "al r11 r4 r8 ROR 8",
4736 "al_r11_r4_r8_ROR_8"},
4737 {{al, r3, r10, r8, ROR, 0},
4738 false,
4739 al,
4740 "al r3 r10 r8 ROR 0",
4741 "al_r3_r10_r8_ROR_0"},
4742 {{al, r9, r11, r4, ROR, 8},
4743 false,
4744 al,
4745 "al r9 r11 r4 ROR 8",
4746 "al_r9_r11_r4_ROR_8"},
4747 {{al, r5, r5, r14, ROR, 16},
4748 false,
4749 al,
4750 "al r5 r5 r14 ROR 16",
4751 "al_r5_r5_r14_ROR_16"},
4752 {{al, r4, r5, r2, ROR, 0},
4753 false,
4754 al,
4755 "al r4 r5 r2 ROR 0",
4756 "al_r4_r5_r2_ROR_0"},
4757 {{al, r9, r7, r7, ROR, 24},
4758 false,
4759 al,
4760 "al r9 r7 r7 ROR 24",
4761 "al_r9_r7_r7_ROR_24"},
4762 {{al, r5, r5, r10, ROR, 24},
4763 false,
4764 al,
4765 "al r5 r5 r10 ROR 24",
4766 "al_r5_r5_r10_ROR_24"},
4767 {{al, r14, r0, r3, ROR, 24},
4768 false,
4769 al,
4770 "al r14 r0 r3 ROR 24",
4771 "al_r14_r0_r3_ROR_24"},
4772 {{al, r9, r3, r9, ROR, 0},
4773 false,
4774 al,
4775 "al r9 r3 r9 ROR 0",
4776 "al_r9_r3_r9_ROR_0"},
4777 {{al, r7, r11, r11, ROR, 8},
4778 false,
4779 al,
4780 "al r7 r11 r11 ROR 8",
4781 "al_r7_r11_r11_ROR_8"},
4782 {{al, r7, r4, r4, ROR, 0},
4783 false,
4784 al,
4785 "al r7 r4 r4 ROR 0",
4786 "al_r7_r4_r4_ROR_0"},
4787 {{al, r10, r10, r3, ROR, 8},
4788 false,
4789 al,
4790 "al r10 r10 r3 ROR 8",
4791 "al_r10_r10_r3_ROR_8"},
4792 {{al, r11, r7, r2, ROR, 0},
4793 false,
4794 al,
4795 "al r11 r7 r2 ROR 0",
4796 "al_r11_r7_r2_ROR_0"},
4797 {{al, r10, r4, r3, ROR, 8},
4798 false,
4799 al,
4800 "al r10 r4 r3 ROR 8",
4801 "al_r10_r4_r3_ROR_8"},
4802 {{al, r0, r7, r10, ROR, 24},
4803 false,
4804 al,
4805 "al r0 r7 r10 ROR 24",
4806 "al_r0_r7_r10_ROR_24"},
4807 {{al, r14, r4, r2, ROR, 0},
4808 false,
4809 al,
4810 "al r14 r4 r2 ROR 0",
4811 "al_r14_r4_r2_ROR_0"},
4812 {{al, r9, r7, r0, ROR, 0},
4813 false,
4814 al,
4815 "al r9 r7 r0 ROR 0",
4816 "al_r9_r7_r0_ROR_0"},
4817 {{al, r11, r7, r11, ROR, 8},
4818 false,
4819 al,
4820 "al r11 r7 r11 ROR 8",
4821 "al_r11_r7_r11_ROR_8"},
4822 {{al, r3, r6, r7, ROR, 0},
4823 false,
4824 al,
4825 "al r3 r6 r7 ROR 0",
4826 "al_r3_r6_r7_ROR_0"},
4827 {{al, r2, r11, r2, ROR, 24},
4828 false,
4829 al,
4830 "al r2 r11 r2 ROR 24",
4831 "al_r2_r11_r2_ROR_24"},
4832 {{al, r3, r3, r11, ROR, 24},
4833 false,
4834 al,
4835 "al r3 r3 r11 ROR 24",
4836 "al_r3_r3_r11_ROR_24"},
4837 {{al, r10, r3, r3, ROR, 16},
4838 false,
4839 al,
4840 "al r10 r3 r3 ROR 16",
4841 "al_r10_r3_r3_ROR_16"},
4842 {{al, r5, r9, r11, ROR, 16},
4843 false,
4844 al,
4845 "al r5 r9 r11 ROR 16",
4846 "al_r5_r9_r11_ROR_16"},
4847 {{al, r11, r13, r5, ROR, 0},
4848 false,
4849 al,
4850 "al r11 r13 r5 ROR 0",
4851 "al_r11_r13_r5_ROR_0"},
4852 {{al, r9, r4, r11, ROR, 16},
4853 false,
4854 al,
4855 "al r9 r4 r11 ROR 16",
4856 "al_r9_r4_r11_ROR_16"},
4857 {{al, r8, r13, r12, ROR, 24},
4858 false,
4859 al,
4860 "al r8 r13 r12 ROR 24",
4861 "al_r8_r13_r12_ROR_24"},
4862 {{al, r1, r2, r6, ROR, 24},
4863 false,
4864 al,
4865 "al r1 r2 r6 ROR 24",
4866 "al_r1_r2_r6_ROR_24"},
4867 {{al, r10, r7, r13, ROR, 8},
4868 false,
4869 al,
4870 "al r10 r7 r13 ROR 8",
4871 "al_r10_r7_r13_ROR_8"},
4872 {{al, r3, r11, r1, ROR, 0},
4873 false,
4874 al,
4875 "al r3 r11 r1 ROR 0",
4876 "al_r3_r11_r1_ROR_0"},
4877 {{al, r0, r4, r12, ROR, 0},
4878 false,
4879 al,
4880 "al r0 r4 r12 ROR 0",
4881 "al_r0_r4_r12_ROR_0"},
4882 {{al, r12, r11, r5, ROR, 8},
4883 false,
4884 al,
4885 "al r12 r11 r5 ROR 8",
4886 "al_r12_r11_r5_ROR_8"},
4887 {{al, r1, r9, r13, ROR, 8},
4888 false,
4889 al,
4890 "al r1 r9 r13 ROR 8",
4891 "al_r1_r9_r13_ROR_8"},
4892 {{al, r0, r12, r11, ROR, 16},
4893 false,
4894 al,
4895 "al r0 r12 r11 ROR 16",
4896 "al_r0_r12_r11_ROR_16"},
4897 {{al, r3, r1, r14, ROR, 16},
4898 false,
4899 al,
4900 "al r3 r1 r14 ROR 16",
4901 "al_r3_r1_r14_ROR_16"},
4902 {{al, r4, r12, r8, ROR, 24},
4903 false,
4904 al,
4905 "al r4 r12 r8 ROR 24",
4906 "al_r4_r12_r8_ROR_24"},
4907 {{al, r5, r2, r6, ROR, 16},
4908 false,
4909 al,
4910 "al r5 r2 r6 ROR 16",
4911 "al_r5_r2_r6_ROR_16"},
4912 {{al, r1, r13, r0, ROR, 24},
4913 false,
4914 al,
4915 "al r1 r13 r0 ROR 24",
4916 "al_r1_r13_r0_ROR_24"},
4917 {{al, r0, r14, r6, ROR, 16},
4918 false,
4919 al,
4920 "al r0 r14 r6 ROR 16",
4921 "al_r0_r14_r6_ROR_16"},
4922 {{al, r4, r11, r7, ROR, 24},
4923 false,
4924 al,
4925 "al r4 r11 r7 ROR 24",
4926 "al_r4_r11_r7_ROR_24"},
4927 {{al, r4, r2, r13, ROR, 8},
4928 false,
4929 al,
4930 "al r4 r2 r13 ROR 8",
4931 "al_r4_r2_r13_ROR_8"},
4932 {{al, r1, r4, r1, ROR, 0},
4933 false,
4934 al,
4935 "al r1 r4 r1 ROR 0",
4936 "al_r1_r4_r1_ROR_0"},
4937 {{al, r4, r7, r4, ROR, 24},
4938 false,
4939 al,
4940 "al r4 r7 r4 ROR 24",
4941 "al_r4_r7_r4_ROR_24"},
4942 {{al, r11, r1, r3, ROR, 0},
4943 false,
4944 al,
4945 "al r11 r1 r3 ROR 0",
4946 "al_r11_r1_r3_ROR_0"},
4947 {{al, r3, r14, r3, ROR, 8},
4948 false,
4949 al,
4950 "al r3 r14 r3 ROR 8",
4951 "al_r3_r14_r3_ROR_8"},
4952 {{al, r5, r7, r5, ROR, 8},
4953 false,
4954 al,
4955 "al r5 r7 r5 ROR 8",
4956 "al_r5_r7_r5_ROR_8"},
4957 {{al, r0, r4, r10, ROR, 0},
4958 false,
4959 al,
4960 "al r0 r4 r10 ROR 0",
4961 "al_r0_r4_r10_ROR_0"},
4962 {{al, r0, r13, r10, ROR, 0},
4963 false,
4964 al,
4965 "al r0 r13 r10 ROR 0",
4966 "al_r0_r13_r10_ROR_0"},
4967 {{al, r14, r11, r12, ROR, 24},
4968 false,
4969 al,
4970 "al r14 r11 r12 ROR 24",
4971 "al_r14_r11_r12_ROR_24"},
4972 {{al, r4, r11, r0, ROR, 24},
4973 false,
4974 al,
4975 "al r4 r11 r0 ROR 24",
4976 "al_r4_r11_r0_ROR_24"},
4977 {{al, r1, r7, r14, ROR, 24},
4978 false,
4979 al,
4980 "al r1 r7 r14 ROR 24",
4981 "al_r1_r7_r14_ROR_24"},
4982 {{al, r2, r10, r13, ROR, 24},
4983 false,
4984 al,
4985 "al r2 r10 r13 ROR 24",
4986 "al_r2_r10_r13_ROR_24"},
4987 {{al, r13, r13, r9, ROR, 16},
4988 false,
4989 al,
4990 "al r13 r13 r9 ROR 16",
4991 "al_r13_r13_r9_ROR_16"},
4992 {{al, r10, r4, r0, ROR, 24},
4993 false,
4994 al,
4995 "al r10 r4 r0 ROR 24",
4996 "al_r10_r4_r0_ROR_24"},
4997 {{al, r9, r11, r5, ROR, 16},
4998 false,
4999 al,
5000 "al r9 r11 r5 ROR 16",
5001 "al_r9_r11_r5_ROR_16"},
5002 {{al, r3, r14, r11, ROR, 0},
5003 false,
5004 al,
5005 "al r3 r14 r11 ROR 0",
5006 "al_r3_r14_r11_ROR_0"},
5007 {{al, r13, r10, r8, ROR, 0},
5008 false,
5009 al,
5010 "al r13 r10 r8 ROR 0",
5011 "al_r13_r10_r8_ROR_0"},
5012 {{al, r3, r6, r10, ROR, 8},
5013 false,
5014 al,
5015 "al r3 r6 r10 ROR 8",
5016 "al_r3_r6_r10_ROR_8"},
5017 {{al, r6, r14, r10, ROR, 0},
5018 false,
5019 al,
5020 "al r6 r14 r10 ROR 0",
5021 "al_r6_r14_r10_ROR_0"},
5022 {{al, r2, r13, r4, ROR, 16},
5023 false,
5024 al,
5025 "al r2 r13 r4 ROR 16",
5026 "al_r2_r13_r4_ROR_16"},
5027 {{al, r9, r11, r2, ROR, 16},
5028 false,
5029 al,
5030 "al r9 r11 r2 ROR 16",
5031 "al_r9_r11_r2_ROR_16"},
5032 {{al, r10, r9, r5, ROR, 24},
5033 false,
5034 al,
5035 "al r10 r9 r5 ROR 24",
5036 "al_r10_r9_r5_ROR_24"},
5037 {{al, r13, r3, r2, ROR, 8},
5038 false,
5039 al,
5040 "al r13 r3 r2 ROR 8",
5041 "al_r13_r3_r2_ROR_8"},
5042 {{al, r13, r14, r9, ROR, 16},
5043 false,
5044 al,
5045 "al r13 r14 r9 ROR 16",
5046 "al_r13_r14_r9_ROR_16"},
5047 {{al, r13, r3, r11, ROR, 16},
5048 false,
5049 al,
5050 "al r13 r3 r11 ROR 16",
5051 "al_r13_r3_r11_ROR_16"},
5052 {{al, r12, r10, r4, ROR, 24},
5053 false,
5054 al,
5055 "al r12 r10 r4 ROR 24",
5056 "al_r12_r10_r4_ROR_24"},
5057 {{al, r0, r9, r3, ROR, 16},
5058 false,
5059 al,
5060 "al r0 r9 r3 ROR 16",
5061 "al_r0_r9_r3_ROR_16"},
5062 {{al, r4, r9, r1, ROR, 16},
5063 false,
5064 al,
5065 "al r4 r9 r1 ROR 16",
5066 "al_r4_r9_r1_ROR_16"},
5067 {{al, r9, r8, r1, ROR, 8},
5068 false,
5069 al,
5070 "al r9 r8 r1 ROR 8",
5071 "al_r9_r8_r1_ROR_8"},
5072 {{al, r0, r5, r10, ROR, 0},
5073 false,
5074 al,
5075 "al r0 r5 r10 ROR 0",
5076 "al_r0_r5_r10_ROR_0"},
5077 {{al, r8, r4, r14, ROR, 8},
5078 false,
5079 al,
5080 "al r8 r4 r14 ROR 8",
5081 "al_r8_r4_r14_ROR_8"},
5082 {{al, r2, r8, r2, ROR, 0},
5083 false,
5084 al,
5085 "al r2 r8 r2 ROR 0",
5086 "al_r2_r8_r2_ROR_0"},
5087 {{al, r7, r11, r6, ROR, 8},
5088 false,
5089 al,
5090 "al r7 r11 r6 ROR 8",
5091 "al_r7_r11_r6_ROR_8"},
5092 {{al, r7, r2, r4, ROR, 16},
5093 false,
5094 al,
5095 "al r7 r2 r4 ROR 16",
5096 "al_r7_r2_r4_ROR_16"},
5097 {{al, r4, r8, r9, ROR, 8},
5098 false,
5099 al,
5100 "al r4 r8 r9 ROR 8",
5101 "al_r4_r8_r9_ROR_8"}};
5102
5103 // These headers each contain an array of `TestResult` with the reference output
5104 // values. The reference arrays are names `kReference{mnemonic}`.
5105 #include "aarch32/traces/assembler-cond-rd-rn-operand-rm-ror-amount-sxtab-t32.h"
5106 #include "aarch32/traces/assembler-cond-rd-rn-operand-rm-ror-amount-sxtab16-t32.h"
5107 #include "aarch32/traces/assembler-cond-rd-rn-operand-rm-ror-amount-sxtah-t32.h"
5108 #include "aarch32/traces/assembler-cond-rd-rn-operand-rm-ror-amount-uxtab-t32.h"
5109 #include "aarch32/traces/assembler-cond-rd-rn-operand-rm-ror-amount-uxtab16-t32.h"
5110 #include "aarch32/traces/assembler-cond-rd-rn-operand-rm-ror-amount-uxtah-t32.h"
5111
5112
5113 // The maximum number of errors to report in detail for each test.
5114 const unsigned kErrorReportLimit = 8;
5115
5116 typedef void (MacroAssembler::*Fn)(Condition cond,
5117 Register rd,
5118 Register rn,
5119 const Operand& op);
5120
TestHelper(Fn instruction,const char * mnemonic,const TestResult reference[])5121 void TestHelper(Fn instruction,
5122 const char* mnemonic,
5123 const TestResult reference[]) {
5124 unsigned total_error_count = 0;
5125 MacroAssembler masm(BUF_SIZE);
5126
5127 masm.UseT32();
5128
5129 for (unsigned i = 0; i < ARRAY_SIZE(kTests); i++) {
5130 // Values to pass to the macro-assembler.
5131 Condition cond = kTests[i].operands.cond;
5132 Register rd = kTests[i].operands.rd;
5133 Register rn = kTests[i].operands.rn;
5134 Register rm = kTests[i].operands.rm;
5135 ShiftType ror = kTests[i].operands.ror;
5136 uint32_t amount = kTests[i].operands.amount;
5137 Operand op(rm, ror, amount);
5138
5139 int32_t start = masm.GetCursorOffset();
5140 {
5141 // We never generate more that 4 bytes, as IT instructions are only
5142 // allowed for narrow encodings.
5143 ExactAssemblyScope scope(&masm, 4, ExactAssemblyScope::kMaximumSize);
5144 if (kTests[i].in_it_block) {
5145 masm.it(kTests[i].it_condition);
5146 }
5147 (masm.*instruction)(cond, rd, rn, op);
5148 }
5149 int32_t end = masm.GetCursorOffset();
5150
5151 const byte* result_ptr =
5152 masm.GetBuffer()->GetOffsetAddress<const byte*>(start);
5153 VIXL_ASSERT(start < end);
5154 uint32_t result_size = end - start;
5155
5156 if (Test::generate_test_trace()) {
5157 // Print the result bytes.
5158 printf("const byte kInstruction_%s_%s[] = {\n",
5159 mnemonic,
5160 kTests[i].identifier);
5161 for (uint32_t j = 0; j < result_size; j++) {
5162 if (j == 0) {
5163 printf(" 0x%02" PRIx8, result_ptr[j]);
5164 } else {
5165 printf(", 0x%02" PRIx8, result_ptr[j]);
5166 }
5167 }
5168 // This comment is meant to be used by external tools to validate
5169 // the encoding. We can parse the comment to figure out what
5170 // instruction this corresponds to.
5171 if (kTests[i].in_it_block) {
5172 printf(" // It %s; %s %s\n};\n",
5173 kTests[i].it_condition.GetName(),
5174 mnemonic,
5175 kTests[i].operands_description);
5176 } else {
5177 printf(" // %s %s\n};\n", mnemonic, kTests[i].operands_description);
5178 }
5179 } else {
5180 // Check we've emitted the exact same encoding as present in the
5181 // trace file. Only print up to `kErrorReportLimit` errors.
5182 if (((result_size != reference[i].size) ||
5183 (memcmp(result_ptr, reference[i].encoding, reference[i].size) !=
5184 0)) &&
5185 (++total_error_count <= kErrorReportLimit)) {
5186 printf("Error when testing \"%s\" with operands \"%s\":\n",
5187 mnemonic,
5188 kTests[i].operands_description);
5189 printf(" Expected: ");
5190 for (uint32_t j = 0; j < reference[i].size; j++) {
5191 if (j == 0) {
5192 printf("0x%02" PRIx8, reference[i].encoding[j]);
5193 } else {
5194 printf(", 0x%02" PRIx8, reference[i].encoding[j]);
5195 }
5196 }
5197 printf("\n");
5198 printf(" Found: ");
5199 for (uint32_t j = 0; j < result_size; j++) {
5200 if (j == 0) {
5201 printf("0x%02" PRIx8, result_ptr[j]);
5202 } else {
5203 printf(", 0x%02" PRIx8, result_ptr[j]);
5204 }
5205 }
5206 printf("\n");
5207 }
5208 }
5209 }
5210
5211 masm.FinalizeCode();
5212
5213 if (Test::generate_test_trace()) {
5214 // Finalize the trace file by writing the final `TestResult` array
5215 // which links all generated instruction encodings.
5216 printf("const TestResult kReference%s[] = {\n", mnemonic);
5217 for (unsigned i = 0; i < ARRAY_SIZE(kTests); i++) {
5218 printf(" {\n");
5219 printf(" ARRAY_SIZE(kInstruction_%s_%s),\n",
5220 mnemonic,
5221 kTests[i].identifier);
5222 printf(" kInstruction_%s_%s,\n", mnemonic, kTests[i].identifier);
5223 printf(" },\n");
5224 }
5225 printf("};\n");
5226 } else {
5227 if (total_error_count > kErrorReportLimit) {
5228 printf("%u other errors follow.\n",
5229 total_error_count - kErrorReportLimit);
5230 }
5231 // Crash if the test failed.
5232 VIXL_CHECK(total_error_count == 0);
5233 }
5234 }
5235
5236 // Instantiate tests for each instruction in the list.
5237 #define TEST(mnemonic) \
5238 void Test_##mnemonic() { \
5239 TestHelper(&MacroAssembler::mnemonic, #mnemonic, kReference##mnemonic); \
5240 } \
5241 Test test_##mnemonic( \
5242 "AARCH32_ASSEMBLER_COND_RD_RN_OPERAND_RM_ROR_AMOUNT_" #mnemonic "_T32", \
5243 &Test_##mnemonic);
5244 FOREACH_INSTRUCTION(TEST)
5245 #undef TEST
5246
5247 } // namespace
5248 #endif
5249
5250 } // namespace aarch32
5251 } // namespace vixl
5252