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