• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // Copyright 2017, 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-negative-aarch32.cc.in template file
31 // using tools/generate_tests.py.
32 //
33 // PLEASE DO NOT EDIT.
34 // -----------------------------------------------------------------------------
35 
36 
37 #include <map>
38 
39 #include "test-runner.h"
40 
41 #include "test-utils.h"
42 
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 namespace {
81 
82 // Values to be passed to the assembler to produce the instruction under test.
83 struct Operands {
84   Condition cond;
85   Register rd;
86   Register rn;
87   Register rm;
88   ShiftType shift;
89   Register rs;
90 };
91 
92 // This structure contains all data needed to test one specific
93 // instruction.
94 struct TestData {
95   // The `operands` field represents what to pass to the assembler to
96   // produce the instruction.
97   Operands operands;
98   // Description of the operands, used for error reporting.
99   const char* operands_description;
100   // Unique identifier, used for generating traces.
101   const char* identifier;
102 };
103 
104 #ifdef VIXL_NEGATIVE_TESTING
105 // Each element of this array produce one instruction encoding.
106 const TestData kTests[] = {{{cs, r13, r3, r15, LSR, r1},
107                             "cs, r13, r3, r15, LSR, r1",
108                             "cs_r13_r3_r15_LSR_r1"},
109                            {{cc, r14, r0, r15, LSR, r7},
110                             "cc, r14, r0, r15, LSR, r7",
111                             "cc_r14_r0_r15_LSR_r7"},
112                            {{gt, r15, r8, r15, LSL, r10},
113                             "gt, r15, r8, r15, LSL, r10",
114                             "gt_r15_r8_r15_LSL_r10"},
115                            {{vc, r10, r14, r15, LSL, r1},
116                             "vc, r10, r14, r15, LSL, r1",
117                             "vc_r10_r14_r15_LSL_r1"},
118                            {{ne, r15, r1, r12, LSR, r6},
119                             "ne, r15, r1, r12, LSR, r6",
120                             "ne_r15_r1_r12_LSR_r6"},
121                            {{eq, r9, r15, r1, ROR, r1},
122                             "eq, r9, r15, r1, ROR, r1",
123                             "eq_r9_r15_r1_ROR_r1"},
124                            {{cc, r15, r1, r15, LSR, r4},
125                             "cc, r15, r1, r15, LSR, r4",
126                             "cc_r15_r1_r15_LSR_r4"},
127                            {{ge, r15, r5, r13, ROR, r5},
128                             "ge, r15, r5, r13, ROR, r5",
129                             "ge_r15_r5_r13_ROR_r5"},
130                            {{vs, r15, r6, r11, LSR, r12},
131                             "vs, r15, r6, r11, LSR, r12",
132                             "vs_r15_r6_r11_LSR_r12"},
133                            {{cs, r15, r14, r15, LSL, r3},
134                             "cs, r15, r14, r15, LSL, r3",
135                             "cs_r15_r14_r15_LSL_r3"},
136                            {{vc, r15, r9, r7, LSL, r4},
137                             "vc, r15, r9, r7, LSL, r4",
138                             "vc_r15_r9_r7_LSL_r4"},
139                            {{vc, r15, r7, r4, ASR, r9},
140                             "vc, r15, r7, r4, ASR, r9",
141                             "vc_r15_r7_r4_ASR_r9"},
142                            {{gt, r15, r4, r13, LSR, r9},
143                             "gt, r15, r4, r13, LSR, r9",
144                             "gt_r15_r4_r13_LSR_r9"},
145                            {{mi, r15, r3, r8, ROR, r6},
146                             "mi, r15, r3, r8, ROR, r6",
147                             "mi_r15_r3_r8_ROR_r6"},
148                            {{pl, r15, r8, r9, LSR, r15},
149                             "pl, r15, r8, r9, LSR, r15",
150                             "pl_r15_r8_r9_LSR_r15"},
151                            {{lt, r2, r11, r15, LSL, r0},
152                             "lt, r2, r11, r15, LSL, r0",
153                             "lt_r2_r11_r15_LSL_r0"},
154                            {{pl, r1, r4, r0, LSL, r15},
155                             "pl, r1, r4, r0, LSL, r15",
156                             "pl_r1_r4_r0_LSL_r15"},
157                            {{ge, r6, r5, r15, LSR, r8},
158                             "ge, r6, r5, r15, LSR, r8",
159                             "ge_r6_r5_r15_LSR_r8"},
160                            {{vc, r0, r8, r5, ROR, r15},
161                             "vc, r0, r8, r5, ROR, r15",
162                             "vc_r0_r8_r5_ROR_r15"},
163                            {{cc, r15, r7, r13, ASR, r1},
164                             "cc, r15, r7, r13, ASR, r1",
165                             "cc_r15_r7_r13_ASR_r1"},
166                            {{gt, r4, r4, r5, LSL, r15},
167                             "gt, r4, r4, r5, LSL, r15",
168                             "gt_r4_r4_r5_LSL_r15"},
169                            {{le, r15, r15, r3, ROR, r2},
170                             "le, r15, r15, r3, ROR, r2",
171                             "le_r15_r15_r3_ROR_r2"},
172                            {{pl, r15, r9, r14, ROR, r13},
173                             "pl, r15, r9, r14, ROR, r13",
174                             "pl_r15_r9_r14_ROR_r13"},
175                            {{vs, r15, r14, r13, LSL, r13},
176                             "vs, r15, r14, r13, LSL, r13",
177                             "vs_r15_r14_r13_LSL_r13"},
178                            {{mi, r15, r15, r1, LSL, r12},
179                             "mi, r15, r15, r1, LSL, r12",
180                             "mi_r15_r15_r1_LSL_r12"},
181                            {{pl, r11, r15, r8, LSL, r4},
182                             "pl, r11, r15, r8, LSL, r4",
183                             "pl_r11_r15_r8_LSL_r4"},
184                            {{pl, r10, r15, r15, LSL, r14},
185                             "pl, r10, r15, r15, LSL, r14",
186                             "pl_r10_r15_r15_LSL_r14"},
187                            {{pl, r8, r15, r13, LSL, r0},
188                             "pl, r8, r15, r13, LSL, r0",
189                             "pl_r8_r15_r13_LSL_r0"},
190                            {{cc, r4, r0, r15, LSR, r13},
191                             "cc, r4, r0, r15, LSR, r13",
192                             "cc_r4_r0_r15_LSR_r13"},
193                            {{hi, r15, r4, r4, ROR, r0},
194                             "hi, r15, r4, r4, ROR, r0",
195                             "hi_r15_r4_r4_ROR_r0"},
196                            {{ge, r8, r14, r8, ROR, r15},
197                             "ge, r8, r14, r8, ROR, r15",
198                             "ge_r8_r14_r8_ROR_r15"},
199                            {{cs, r11, r6, r15, ROR, r13},
200                             "cs, r11, r6, r15, ROR, r13",
201                             "cs_r11_r6_r15_ROR_r13"},
202                            {{le, r0, r7, r15, ASR, r11},
203                             "le, r0, r7, r15, ASR, r11",
204                             "le_r0_r7_r15_ASR_r11"},
205                            {{ge, r14, r15, r8, ASR, r7},
206                             "ge, r14, r15, r8, ASR, r7",
207                             "ge_r14_r15_r8_ASR_r7"},
208                            {{hi, r11, r15, r13, LSL, r13},
209                             "hi, r11, r15, r13, LSL, r13",
210                             "hi_r11_r15_r13_LSL_r13"},
211                            {{eq, r15, r0, r11, LSR, r4},
212                             "eq, r15, r0, r11, LSR, r4",
213                             "eq_r15_r0_r11_LSR_r4"},
214                            {{ne, r3, r8, r15, ASR, r11},
215                             "ne, r3, r8, r15, ASR, r11",
216                             "ne_r3_r8_r15_ASR_r11"},
217                            {{gt, r1, r12, r9, ASR, r15},
218                             "gt, r1, r12, r9, ASR, r15",
219                             "gt_r1_r12_r9_ASR_r15"},
220                            {{le, r1, r15, r1, ASR, r13},
221                             "le, r1, r15, r1, ASR, r13",
222                             "le_r1_r15_r1_ASR_r13"},
223                            {{al, r1, r9, r5, LSR, r15},
224                             "al, r1, r9, r5, LSR, r15",
225                             "al_r1_r9_r5_LSR_r15"},
226                            {{vs, r15, r2, r15, ROR, r6},
227                             "vs, r15, r2, r15, ROR, r6",
228                             "vs_r15_r2_r15_ROR_r6"},
229                            {{ne, r3, r2, r12, LSR, r15},
230                             "ne, r3, r2, r12, LSR, r15",
231                             "ne_r3_r2_r12_LSR_r15"},
232                            {{gt, r14, r6, r15, ROR, r3},
233                             "gt, r14, r6, r15, ROR, r3",
234                             "gt_r14_r6_r15_ROR_r3"},
235                            {{le, r8, r4, r15, LSR, r5},
236                             "le, r8, r4, r15, LSR, r5",
237                             "le_r8_r4_r15_LSR_r5"},
238                            {{hi, r15, r10, r14, LSR, r12},
239                             "hi, r15, r10, r14, LSR, r12",
240                             "hi_r15_r10_r14_LSR_r12"},
241                            {{ls, r15, r10, r13, LSR, r13},
242                             "ls, r15, r10, r13, LSR, r13",
243                             "ls_r15_r10_r13_LSR_r13"},
244                            {{ne, r9, r15, r11, LSL, r4},
245                             "ne, r9, r15, r11, LSL, r4",
246                             "ne_r9_r15_r11_LSL_r4"},
247                            {{lt, r10, r10, r8, LSL, r15},
248                             "lt, r10, r10, r8, LSL, r15",
249                             "lt_r10_r10_r8_LSL_r15"},
250                            {{hi, r14, r13, r0, LSL, r15},
251                             "hi, r14, r13, r0, LSL, r15",
252                             "hi_r14_r13_r0_LSL_r15"},
253                            {{gt, r15, r7, r9, ASR, r13},
254                             "gt, r15, r7, r9, ASR, r13",
255                             "gt_r15_r7_r9_ASR_r13"},
256                            {{ge, r2, r12, r3, LSR, r15},
257                             "ge, r2, r12, r3, LSR, r15",
258                             "ge_r2_r12_r3_LSR_r15"},
259                            {{pl, r11, r13, r3, LSR, r15},
260                             "pl, r11, r13, r3, LSR, r15",
261                             "pl_r11_r13_r3_LSR_r15"},
262                            {{al, r13, r15, r10, LSR, r5},
263                             "al, r13, r15, r10, LSR, r5",
264                             "al_r13_r15_r10_LSR_r5"},
265                            {{ls, r4, r15, r10, LSL, r10},
266                             "ls, r4, r15, r10, LSL, r10",
267                             "ls_r4_r15_r10_LSL_r10"},
268                            {{ge, r15, r14, r15, LSL, r13},
269                             "ge, r15, r14, r15, LSL, r13",
270                             "ge_r15_r14_r15_LSL_r13"},
271                            {{cs, r2, r1, r15, ASR, r1},
272                             "cs, r2, r1, r15, ASR, r1",
273                             "cs_r2_r1_r15_ASR_r1"},
274                            {{pl, r1, r0, r11, LSR, r15},
275                             "pl, r1, r0, r11, LSR, r15",
276                             "pl_r1_r0_r11_LSR_r15"},
277                            {{eq, r12, r3, r7, LSL, r15},
278                             "eq, r12, r3, r7, LSL, r15",
279                             "eq_r12_r3_r7_LSL_r15"},
280                            {{hi, r15, r3, r11, ASR, r1},
281                             "hi, r15, r3, r11, ASR, r1",
282                             "hi_r15_r3_r11_ASR_r1"},
283                            {{lt, r9, r7, r15, ROR, r15},
284                             "lt, r9, r7, r15, ROR, r15",
285                             "lt_r9_r7_r15_ROR_r15"},
286                            {{lt, r15, r15, r7, LSL, r15},
287                             "lt, r15, r15, r7, LSL, r15",
288                             "lt_r15_r15_r7_LSL_r15"},
289                            {{vc, r7, r15, r2, ROR, r15},
290                             "vc, r7, r15, r2, ROR, r15",
291                             "vc_r7_r15_r2_ROR_r15"},
292                            {{vc, r15, r9, r13, ROR, r5},
293                             "vc, r15, r9, r13, ROR, r5",
294                             "vc_r15_r9_r13_ROR_r5"},
295                            {{ge, r15, r1, r13, ASR, r10},
296                             "ge, r15, r1, r13, ASR, r10",
297                             "ge_r15_r1_r13_ASR_r10"},
298                            {{lt, r15, r12, r8, ASR, r14},
299                             "lt, r15, r12, r8, ASR, r14",
300                             "lt_r15_r12_r8_ASR_r14"},
301                            {{cc, r15, r1, r15, ASR, r14},
302                             "cc, r15, r1, r15, ASR, r14",
303                             "cc_r15_r1_r15_ASR_r14"},
304                            {{vs, r15, r6, r1, LSL, r3},
305                             "vs, r15, r6, r1, LSL, r3",
306                             "vs_r15_r6_r1_LSL_r3"},
307                            {{mi, r3, r3, r15, LSL, r5},
308                             "mi, r3, r3, r15, LSL, r5",
309                             "mi_r3_r3_r15_LSL_r5"},
310                            {{lt, r10, r15, r13, LSR, r14},
311                             "lt, r10, r15, r13, LSR, r14",
312                             "lt_r10_r15_r13_LSR_r14"},
313                            {{vc, r11, r15, r11, ROR, r4},
314                             "vc, r11, r15, r11, ROR, r4",
315                             "vc_r11_r15_r11_ROR_r4"},
316                            {{vs, r15, r9, r7, ROR, r14},
317                             "vs, r15, r9, r7, ROR, r14",
318                             "vs_r15_r9_r7_ROR_r14"},
319                            {{gt, r4, r0, r2, LSR, r15},
320                             "gt, r4, r0, r2, LSR, r15",
321                             "gt_r4_r0_r2_LSR_r15"},
322                            {{hi, r3, r14, r12, ROR, r15},
323                             "hi, r3, r14, r12, ROR, r15",
324                             "hi_r3_r14_r12_ROR_r15"},
325                            {{ge, r12, r15, r13, ASR, r14},
326                             "ge, r12, r15, r13, ASR, r14",
327                             "ge_r12_r15_r13_ASR_r14"},
328                            {{vc, r13, r10, r15, ASR, r4},
329                             "vc, r13, r10, r15, ASR, r4",
330                             "vc_r13_r10_r15_ASR_r4"},
331                            {{ls, r11, r6, r15, LSR, r5},
332                             "ls, r11, r6, r15, LSR, r5",
333                             "ls_r11_r6_r15_LSR_r5"},
334                            {{cc, r15, r9, r7, ASR, r6},
335                             "cc, r15, r9, r7, ASR, r6",
336                             "cc_r15_r9_r7_ASR_r6"},
337                            {{cs, r13, r12, r15, ROR, r15},
338                             "cs, r13, r12, r15, ROR, r15",
339                             "cs_r13_r12_r15_ROR_r15"},
340                            {{gt, r15, r13, r3, ASR, r4},
341                             "gt, r15, r13, r3, ASR, r4",
342                             "gt_r15_r13_r3_ASR_r4"},
343                            {{le, r15, r10, r5, ASR, r8},
344                             "le, r15, r10, r5, ASR, r8",
345                             "le_r15_r10_r5_ASR_r8"},
346                            {{le, r14, r2, r15, LSR, r11},
347                             "le, r14, r2, r15, LSR, r11",
348                             "le_r14_r2_r15_LSR_r11"},
349                            {{le, r12, r12, r15, LSL, r0},
350                             "le, r12, r12, r15, LSL, r0",
351                             "le_r12_r12_r15_LSL_r0"},
352                            {{pl, r15, r14, r7, LSR, r14},
353                             "pl, r15, r14, r7, LSR, r14",
354                             "pl_r15_r14_r7_LSR_r14"},
355                            {{cc, r4, r15, r0, LSL, r0},
356                             "cc, r4, r15, r0, LSL, r0",
357                             "cc_r4_r15_r0_LSL_r0"},
358                            {{vs, r0, r12, r15, LSR, r0},
359                             "vs, r0, r12, r15, LSR, r0",
360                             "vs_r0_r12_r15_LSR_r0"},
361                            {{lt, r4, r15, r0, ASR, r8},
362                             "lt, r4, r15, r0, ASR, r8",
363                             "lt_r4_r15_r0_ASR_r8"},
364                            {{cs, r14, r15, r5, ASR, r15},
365                             "cs, r14, r15, r5, ASR, r15",
366                             "cs_r14_r15_r5_ASR_r15"},
367                            {{eq, r6, r6, r5, LSL, r15},
368                             "eq, r6, r6, r5, LSL, r15",
369                             "eq_r6_r6_r5_LSL_r15"},
370                            {{vc, r9, r15, r12, ASR, r15},
371                             "vc, r9, r15, r12, ASR, r15",
372                             "vc_r9_r15_r12_ASR_r15"},
373                            {{lt, r14, r10, r15, ROR, r4},
374                             "lt, r14, r10, r15, ROR, r4",
375                             "lt_r14_r10_r15_ROR_r4"},
376                            {{vc, r10, r3, r1, LSR, r15},
377                             "vc, r10, r3, r1, LSR, r15",
378                             "vc_r10_r3_r1_LSR_r15"},
379                            {{ne, r8, r15, r7, ROR, r11},
380                             "ne, r8, r15, r7, ROR, r11",
381                             "ne_r8_r15_r7_ROR_r11"},
382                            {{lt, r15, r14, r7, ASR, r8},
383                             "lt, r15, r14, r7, ASR, r8",
384                             "lt_r15_r14_r7_ASR_r8"},
385                            {{pl, r8, r15, r1, LSR, r8},
386                             "pl, r8, r15, r1, LSR, r8",
387                             "pl_r8_r15_r1_LSR_r8"},
388                            {{pl, r5, r0, r8, ROR, r15},
389                             "pl, r5, r0, r8, ROR, r15",
390                             "pl_r5_r0_r8_ROR_r15"},
391                            {{lt, r1, r15, r1, ASR, r8},
392                             "lt, r1, r15, r1, ASR, r8",
393                             "lt_r1_r15_r1_ASR_r8"},
394                            {{ge, r6, r5, r15, ROR, r5},
395                             "ge, r6, r5, r15, ROR, r5",
396                             "ge_r6_r5_r15_ROR_r5"},
397                            {{eq, r15, r6, r1, ASR, r4},
398                             "eq, r15, r6, r1, ASR, r4",
399                             "eq_r15_r6_r1_ASR_r4"},
400                            {{le, r6, r15, r4, ASR, r9},
401                             "le, r6, r15, r4, ASR, r9",
402                             "le_r6_r15_r4_ASR_r9"},
403                            {{al, r6, r10, r15, LSR, r0},
404                             "al, r6, r10, r15, LSR, r0",
405                             "al_r6_r10_r15_LSR_r0"},
406                            {{ge, r6, r4, r10, LSL, r15},
407                             "ge, r6, r4, r10, LSL, r15",
408                             "ge_r6_r4_r10_LSL_r15"},
409                            {{gt, r15, r10, r11, ASR, r7},
410                             "gt, r15, r10, r11, ASR, r7",
411                             "gt_r15_r10_r11_ASR_r7"},
412                            {{gt, r7, r15, r8, LSR, r3},
413                             "gt, r7, r15, r8, LSR, r3",
414                             "gt_r7_r15_r8_LSR_r3"},
415                            {{eq, r1, r15, r13, LSR, r8},
416                             "eq, r1, r15, r13, LSR, r8",
417                             "eq_r1_r15_r13_LSR_r8"},
418                            {{cs, r15, r9, r5, LSL, r9},
419                             "cs, r15, r9, r5, LSL, r9",
420                             "cs_r15_r9_r5_LSL_r9"},
421                            {{le, r13, r4, r15, ASR, r0},
422                             "le, r13, r4, r15, ASR, r0",
423                             "le_r13_r4_r15_ASR_r0"},
424                            {{mi, r15, r7, r10, LSL, r6},
425                             "mi, r15, r7, r10, LSL, r6",
426                             "mi_r15_r7_r10_LSL_r6"},
427                            {{mi, r10, r15, r13, LSR, r9},
428                             "mi, r10, r15, r13, LSR, r9",
429                             "mi_r10_r15_r13_LSR_r9"},
430                            {{ge, r9, r11, r15, ROR, r1},
431                             "ge, r9, r11, r15, ROR, r1",
432                             "ge_r9_r11_r15_ROR_r1"},
433                            {{cc, r13, r15, r12, ASR, r6},
434                             "cc, r13, r15, r12, ASR, r6",
435                             "cc_r13_r15_r12_ASR_r6"},
436                            {{le, r4, r2, r7, LSL, r15},
437                             "le, r4, r2, r7, LSL, r15",
438                             "le_r4_r2_r7_LSL_r15"},
439                            {{pl, r0, r15, r5, LSR, r13},
440                             "pl, r0, r15, r5, LSR, r13",
441                             "pl_r0_r15_r5_LSR_r13"},
442                            {{vs, r15, r1, r3, LSR, r10},
443                             "vs, r15, r1, r3, LSR, r10",
444                             "vs_r15_r1_r3_LSR_r10"},
445                            {{ne, r5, r0, r2, LSL, r15},
446                             "ne, r5, r0, r2, LSL, r15",
447                             "ne_r5_r0_r2_LSL_r15"},
448                            {{vc, r15, r14, r8, ASR, r12},
449                             "vc, r15, r14, r8, ASR, r12",
450                             "vc_r15_r14_r8_ASR_r12"},
451                            {{gt, r15, r12, r1, ASR, r0},
452                             "gt, r15, r12, r1, ASR, r0",
453                             "gt_r15_r12_r1_ASR_r0"},
454                            {{ge, r4, r15, r10, ROR, r13},
455                             "ge, r4, r15, r10, ROR, r13",
456                             "ge_r4_r15_r10_ROR_r13"},
457                            {{eq, r11, r2, r10, LSR, r15},
458                             "eq, r11, r2, r10, LSR, r15",
459                             "eq_r11_r2_r10_LSR_r15"},
460                            {{ne, r14, r10, r15, LSL, r9},
461                             "ne, r14, r10, r15, LSL, r9",
462                             "ne_r14_r10_r15_LSL_r9"},
463                            {{ls, r15, r3, r6, ROR, r4},
464                             "ls, r15, r3, r6, ROR, r4",
465                             "ls_r15_r3_r6_ROR_r4"},
466                            {{vc, r15, r3, r12, ASR, r11},
467                             "vc, r15, r3, r12, ASR, r11",
468                             "vc_r15_r3_r12_ASR_r11"},
469                            {{hi, r10, r15, r11, ASR, r8},
470                             "hi, r10, r15, r11, ASR, r8",
471                             "hi_r10_r15_r11_ASR_r8"},
472                            {{eq, r7, r10, r15, LSL, r10},
473                             "eq, r7, r10, r15, LSL, r10",
474                             "eq_r7_r10_r15_LSL_r10"},
475                            {{vc, r10, r15, r3, ASR, r7},
476                             "vc, r10, r15, r3, ASR, r7",
477                             "vc_r10_r15_r3_ASR_r7"},
478                            {{ls, r4, r15, r9, ROR, r3},
479                             "ls, r4, r15, r9, ROR, r3",
480                             "ls_r4_r15_r9_ROR_r3"},
481                            {{al, r1, r1, r10, ASR, r15},
482                             "al, r1, r1, r10, ASR, r15",
483                             "al_r1_r1_r10_ASR_r15"},
484                            {{lt, r15, r15, r4, ASR, r10},
485                             "lt, r15, r15, r4, ASR, r10",
486                             "lt_r15_r15_r4_ASR_r10"},
487                            {{ne, r15, r13, r4, ROR, r7},
488                             "ne, r15, r13, r4, ROR, r7",
489                             "ne_r15_r13_r4_ROR_r7"},
490                            {{le, r9, r5, r15, LSR, r6},
491                             "le, r9, r5, r15, LSR, r6",
492                             "le_r9_r5_r15_LSR_r6"},
493                            {{gt, r9, r15, r7, ROR, r13},
494                             "gt, r9, r15, r7, ROR, r13",
495                             "gt_r9_r15_r7_ROR_r13"},
496                            {{pl, r3, r15, r6, LSL, r6},
497                             "pl, r3, r15, r6, LSL, r6",
498                             "pl_r3_r15_r6_LSL_r6"},
499                            {{ls, r15, r6, r13, LSL, r10},
500                             "ls, r15, r6, r13, LSL, r10",
501                             "ls_r15_r6_r13_LSL_r10"},
502                            {{pl, r11, r15, r3, ASR, r9},
503                             "pl, r11, r15, r3, ASR, r9",
504                             "pl_r11_r15_r3_ASR_r9"},
505                            {{eq, r8, r0, r10, ASR, r15},
506                             "eq, r8, r0, r10, ASR, r15",
507                             "eq_r8_r0_r10_ASR_r15"},
508                            {{ne, r4, r5, r1, ASR, r15},
509                             "ne, r4, r5, r1, ASR, r15",
510                             "ne_r4_r5_r1_ASR_r15"},
511                            {{eq, r13, r15, r11, LSR, r3},
512                             "eq, r13, r15, r11, LSR, r3",
513                             "eq_r13_r15_r11_LSR_r3"},
514                            {{ge, r4, r1, r15, ASR, r10},
515                             "ge, r4, r1, r15, ASR, r10",
516                             "ge_r4_r1_r15_ASR_r10"},
517                            {{cs, r0, r15, r11, LSL, r10},
518                             "cs, r0, r15, r11, LSL, r10",
519                             "cs_r0_r15_r11_LSL_r10"},
520                            {{cs, r10, r4, r15, ROR, r3},
521                             "cs, r10, r4, r15, ROR, r3",
522                             "cs_r10_r4_r15_ROR_r3"},
523                            {{ge, r15, r11, r0, LSL, r7},
524                             "ge, r15, r11, r0, LSL, r7",
525                             "ge_r15_r11_r0_LSL_r7"},
526                            {{ne, r8, r15, r2, ASR, r14},
527                             "ne, r8, r15, r2, ASR, r14",
528                             "ne_r8_r15_r2_ASR_r14"},
529                            {{le, r12, r8, r12, LSR, r15},
530                             "le, r12, r8, r12, LSR, r15",
531                             "le_r12_r8_r12_LSR_r15"},
532                            {{ge, r8, r15, r0, ASR, r4},
533                             "ge, r8, r15, r0, ASR, r4",
534                             "ge_r8_r15_r0_ASR_r4"},
535                            {{vs, r9, r10, r4, LSL, r15},
536                             "vs, r9, r10, r4, LSL, r15",
537                             "vs_r9_r10_r4_LSL_r15"},
538                            {{ne, r6, r4, r15, LSL, r6},
539                             "ne, r6, r4, r15, LSL, r6",
540                             "ne_r6_r4_r15_LSL_r6"},
541                            {{cc, r10, r14, r15, ROR, r10},
542                             "cc, r10, r14, r15, ROR, r10",
543                             "cc_r10_r14_r15_ROR_r10"},
544                            {{vc, r9, r13, r15, ROR, r8},
545                             "vc, r9, r13, r15, ROR, r8",
546                             "vc_r9_r13_r15_ROR_r8"},
547                            {{eq, r11, r12, r15, ASR, r10},
548                             "eq, r11, r12, r15, ASR, r10",
549                             "eq_r11_r12_r15_ASR_r10"},
550                            {{cs, r15, r14, r10, ROR, r12},
551                             "cs, r15, r14, r10, ROR, r12",
552                             "cs_r15_r14_r10_ROR_r12"},
553                            {{cc, r15, r2, r12, ASR, r5},
554                             "cc, r15, r2, r12, ASR, r5",
555                             "cc_r15_r2_r12_ASR_r5"},
556                            {{ls, r4, r13, r15, ROR, r12},
557                             "ls, r4, r13, r15, ROR, r12",
558                             "ls_r4_r13_r15_ROR_r12"},
559                            {{gt, r14, r2, r15, LSL, r7},
560                             "gt, r14, r2, r15, LSL, r7",
561                             "gt_r14_r2_r15_LSL_r7"},
562                            {{ls, r0, r7, r0, ASR, r15},
563                             "ls, r0, r7, r0, ASR, r15",
564                             "ls_r0_r7_r0_ASR_r15"},
565                            {{al, r4, r6, r15, ASR, r5},
566                             "al, r4, r6, r15, ASR, r5",
567                             "al_r4_r6_r15_ASR_r5"},
568                            {{cc, r13, r14, r15, LSR, r9},
569                             "cc, r13, r14, r15, LSR, r9",
570                             "cc_r13_r14_r15_LSR_r9"},
571                            {{vs, r2, r4, r12, ASR, r15},
572                             "vs, r2, r4, r12, ASR, r15",
573                             "vs_r2_r4_r12_ASR_r15"},
574                            {{vc, r2, r14, r15, LSL, r1},
575                             "vc, r2, r14, r15, LSL, r1",
576                             "vc_r2_r14_r15_LSL_r1"},
577                            {{hi, r15, r2, r9, ROR, r14},
578                             "hi, r15, r2, r9, ROR, r14",
579                             "hi_r15_r2_r9_ROR_r14"},
580                            {{ls, r10, r15, r14, ASR, r12},
581                             "ls, r10, r15, r14, ASR, r12",
582                             "ls_r10_r15_r14_ASR_r12"},
583                            {{le, r3, r9, r15, ROR, r10},
584                             "le, r3, r9, r15, ROR, r10",
585                             "le_r3_r9_r15_ROR_r10"},
586                            {{cs, r2, r2, r15, LSR, r2},
587                             "cs, r2, r2, r15, LSR, r2",
588                             "cs_r2_r2_r15_LSR_r2"},
589                            {{eq, r14, r6, r15, ROR, r12},
590                             "eq, r14, r6, r15, ROR, r12",
591                             "eq_r14_r6_r15_ROR_r12"},
592                            {{pl, r8, r0, r15, ASR, r11},
593                             "pl, r8, r0, r15, ASR, r11",
594                             "pl_r8_r0_r15_ASR_r11"},
595                            {{cc, r15, r7, r13, ROR, r7},
596                             "cc, r15, r7, r13, ROR, r7",
597                             "cc_r15_r7_r13_ROR_r7"},
598                            {{cs, r10, r11, r12, LSR, r15},
599                             "cs, r10, r11, r12, LSR, r15",
600                             "cs_r10_r11_r12_LSR_r15"},
601                            {{hi, r4, r15, r8, ASR, r7},
602                             "hi, r4, r15, r8, ASR, r7",
603                             "hi_r4_r15_r8_ASR_r7"},
604                            {{hi, r15, r6, r6, LSR, r0},
605                             "hi, r15, r6, r6, LSR, r0",
606                             "hi_r15_r6_r6_LSR_r0"},
607                            {{gt, r8, r5, r8, ROR, r15},
608                             "gt, r8, r5, r8, ROR, r15",
609                             "gt_r8_r5_r8_ROR_r15"},
610                            {{gt, r9, r15, r7, ASR, r8},
611                             "gt, r9, r15, r7, ASR, r8",
612                             "gt_r9_r15_r7_ASR_r8"},
613                            {{eq, r8, r9, r15, LSL, r7},
614                             "eq, r8, r9, r15, LSL, r7",
615                             "eq_r8_r9_r15_LSL_r7"},
616                            {{ne, r4, r15, r6, ASR, r15},
617                             "ne, r4, r15, r6, ASR, r15",
618                             "ne_r4_r15_r6_ASR_r15"},
619                            {{lt, r15, r0, r1, ASR, r9},
620                             "lt, r15, r0, r1, ASR, r9",
621                             "lt_r15_r0_r1_ASR_r9"},
622                            {{ne, r1, r6, r15, LSL, r2},
623                             "ne, r1, r6, r15, LSL, r2",
624                             "ne_r1_r6_r15_LSL_r2"},
625                            {{cs, r1, r1, r15, LSR, r11},
626                             "cs, r1, r1, r15, LSR, r11",
627                             "cs_r1_r1_r15_LSR_r11"},
628                            {{lt, r15, r1, r1, ASR, r0},
629                             "lt, r15, r1, r1, ASR, r0",
630                             "lt_r15_r1_r1_ASR_r0"},
631                            {{le, r3, r15, r11, LSR, r5},
632                             "le, r3, r15, r11, LSR, r5",
633                             "le_r3_r15_r11_LSR_r5"},
634                            {{le, r14, r2, r4, ASR, r15},
635                             "le, r14, r2, r4, ASR, r15",
636                             "le_r14_r2_r4_ASR_r15"},
637                            {{ne, r8, r15, r4, LSR, r9},
638                             "ne, r8, r15, r4, LSR, r9",
639                             "ne_r8_r15_r4_LSR_r9"},
640                            {{mi, r4, r0, r9, LSR, r15},
641                             "mi, r4, r0, r9, LSR, r15",
642                             "mi_r4_r0_r9_LSR_r15"},
643                            {{ls, r15, r14, r4, ASR, r8},
644                             "ls, r15, r14, r4, ASR, r8",
645                             "ls_r15_r14_r4_ASR_r8"},
646                            {{lt, r6, r0, r7, ASR, r15},
647                             "lt, r6, r0, r7, ASR, r15",
648                             "lt_r6_r0_r7_ASR_r15"},
649                            {{mi, r15, r6, r11, LSR, r1},
650                             "mi, r15, r6, r11, LSR, r1",
651                             "mi_r15_r6_r11_LSR_r1"},
652                            {{al, r15, r1, r6, LSL, r6},
653                             "al, r15, r1, r6, LSL, r6",
654                             "al_r15_r1_r6_LSL_r6"},
655                            {{ls, r0, r5, r15, LSL, r4},
656                             "ls, r0, r5, r15, LSL, r4",
657                             "ls_r0_r5_r15_LSL_r4"},
658                            {{vs, r8, r15, r13, LSL, r11},
659                             "vs, r8, r15, r13, LSL, r11",
660                             "vs_r8_r15_r13_LSL_r11"},
661                            {{lt, r4, r3, r15, LSR, r8},
662                             "lt, r4, r3, r15, LSR, r8",
663                             "lt_r4_r3_r15_LSR_r8"},
664                            {{ne, r0, r15, r2, LSL, r14},
665                             "ne, r0, r15, r2, LSL, r14",
666                             "ne_r0_r15_r2_LSL_r14"},
667                            {{hi, r4, r10, r15, LSL, r15},
668                             "hi, r4, r10, r15, LSL, r15",
669                             "hi_r4_r10_r15_LSL_r15"},
670                            {{mi, r15, r0, r4, ASR, r8},
671                             "mi, r15, r0, r4, ASR, r8",
672                             "mi_r15_r0_r4_ASR_r8"},
673                            {{gt, r0, r12, r15, LSR, r2},
674                             "gt, r0, r12, r15, LSR, r2",
675                             "gt_r0_r12_r15_LSR_r2"},
676                            {{mi, r15, r11, r9, ROR, r14},
677                             "mi, r15, r11, r9, ROR, r14",
678                             "mi_r15_r11_r9_ROR_r14"},
679                            {{gt, r15, r5, r9, ASR, r10},
680                             "gt, r15, r5, r9, ASR, r10",
681                             "gt_r15_r5_r9_ASR_r10"},
682                            {{le, r14, r6, r15, ROR, r1},
683                             "le, r14, r6, r15, ROR, r1",
684                             "le_r14_r6_r15_ROR_r1"},
685                            {{cs, r15, r13, r15, ROR, r6},
686                             "cs, r15, r13, r15, ROR, r6",
687                             "cs_r15_r13_r15_ROR_r6"},
688                            {{al, r2, r14, r1, ASR, r15},
689                             "al, r2, r14, r1, ASR, r15",
690                             "al_r2_r14_r1_ASR_r15"},
691                            {{gt, r15, r12, r6, LSL, r7},
692                             "gt, r15, r12, r6, LSL, r7",
693                             "gt_r15_r12_r6_LSL_r7"},
694                            {{vs, r6, r15, r14, ROR, r12},
695                             "vs, r6, r15, r14, ROR, r12",
696                             "vs_r6_r15_r14_ROR_r12"},
697                            {{lt, r15, r8, r13, ASR, r0},
698                             "lt, r15, r8, r13, ASR, r0",
699                             "lt_r15_r8_r13_ASR_r0"},
700                            {{eq, r5, r11, r15, LSR, r13},
701                             "eq, r5, r11, r15, LSR, r13",
702                             "eq_r5_r11_r15_LSR_r13"},
703                            {{vs, r5, r9, r15, LSL, r4},
704                             "vs, r5, r9, r15, LSL, r4",
705                             "vs_r5_r9_r15_LSL_r4"},
706                            {{vs, r13, r3, r15, LSL, r11},
707                             "vs, r13, r3, r15, LSL, r11",
708                             "vs_r13_r3_r15_LSL_r11"},
709                            {{eq, r15, r0, r10, ASR, r11},
710                             "eq, r15, r0, r10, ASR, r11",
711                             "eq_r15_r0_r10_ASR_r11"},
712                            {{cc, r9, r7, r3, ROR, r15},
713                             "cc, r9, r7, r3, ROR, r15",
714                             "cc_r9_r7_r3_ROR_r15"},
715                            {{eq, r14, r4, r14, ASR, r15},
716                             "eq, r14, r4, r14, ASR, r15",
717                             "eq_r14_r4_r14_ASR_r15"},
718                            {{al, r5, r15, r5, LSR, r4},
719                             "al, r5, r15, r5, LSR, r4",
720                             "al_r5_r15_r5_LSR_r4"},
721                            {{eq, r14, r14, r7, LSL, r15},
722                             "eq, r14, r14, r7, LSL, r15",
723                             "eq_r14_r14_r7_LSL_r15"},
724                            {{le, r15, r14, r13, ASR, r6},
725                             "le, r15, r14, r13, ASR, r6",
726                             "le_r15_r14_r13_ASR_r6"},
727                            {{cs, r4, r15, r13, ASR, r7},
728                             "cs, r4, r15, r13, ASR, r7",
729                             "cs_r4_r15_r13_ASR_r7"},
730                            {{lt, r2, r15, r6, LSL, r0},
731                             "lt, r2, r15, r6, LSL, r0",
732                             "lt_r2_r15_r6_LSL_r0"},
733                            {{al, r10, r9, r15, ASR, r4},
734                             "al, r10, r9, r15, ASR, r4",
735                             "al_r10_r9_r15_ASR_r4"},
736                            {{vc, r10, r5, r11, LSL, r15},
737                             "vc, r10, r5, r11, LSL, r15",
738                             "vc_r10_r5_r11_LSL_r15"},
739                            {{hi, r9, r15, r3, LSR, r15},
740                             "hi, r9, r15, r3, LSR, r15",
741                             "hi_r9_r15_r3_LSR_r15"},
742                            {{al, r1, r2, r15, ASR, r15},
743                             "al, r1, r2, r15, ASR, r15",
744                             "al_r1_r2_r15_ASR_r15"},
745                            {{eq, r8, r15, r12, ROR, r4},
746                             "eq, r8, r15, r12, ROR, r4",
747                             "eq_r8_r15_r12_ROR_r4"},
748                            {{cc, r13, r10, r15, LSR, r15},
749                             "cc, r13, r10, r15, LSR, r15",
750                             "cc_r13_r10_r15_LSR_r15"},
751                            {{hi, r10, r15, r9, ROR, r13},
752                             "hi, r10, r15, r9, ROR, r13",
753                             "hi_r10_r15_r9_ROR_r13"},
754                            {{vs, r3, r15, r15, LSL, r7},
755                             "vs, r3, r15, r15, LSL, r7",
756                             "vs_r3_r15_r15_LSL_r7"},
757                            {{al, r15, r5, r14, ROR, r0},
758                             "al, r15, r5, r14, ROR, r0",
759                             "al_r15_r5_r14_ROR_r0"},
760                            {{cc, r15, r13, r10, ROR, r6},
761                             "cc, r15, r13, r10, ROR, r6",
762                             "cc_r15_r13_r10_ROR_r6"},
763                            {{cc, r14, r6, r15, LSL, r1},
764                             "cc, r14, r6, r15, LSL, r1",
765                             "cc_r14_r6_r15_LSL_r1"},
766                            {{ls, r6, r0, r14, LSL, r15},
767                             "ls, r6, r0, r14, LSL, r15",
768                             "ls_r6_r0_r14_LSL_r15"},
769                            {{vc, r15, r10, r12, ROR, r3},
770                             "vc, r15, r10, r12, ROR, r3",
771                             "vc_r15_r10_r12_ROR_r3"},
772                            {{ne, r15, r1, r13, LSL, r3},
773                             "ne, r15, r1, r13, LSL, r3",
774                             "ne_r15_r1_r13_LSL_r3"},
775                            {{ne, r5, r15, r9, LSL, r10},
776                             "ne, r5, r15, r9, LSL, r10",
777                             "ne_r5_r15_r9_LSL_r10"},
778                            {{lt, r8, r15, r15, LSL, r7},
779                             "lt, r8, r15, r15, LSL, r7",
780                             "lt_r8_r15_r15_LSL_r7"},
781                            {{vs, r14, r6, r12, ROR, r15},
782                             "vs, r14, r6, r12, ROR, r15",
783                             "vs_r14_r6_r12_ROR_r15"},
784                            {{mi, r1, r8, r15, ASR, r3},
785                             "mi, r1, r8, r15, ASR, r3",
786                             "mi_r1_r8_r15_ASR_r3"},
787                            {{hi, r13, r15, r9, LSL, r1},
788                             "hi, r13, r15, r9, LSL, r1",
789                             "hi_r13_r15_r9_LSL_r1"},
790                            {{lt, r3, r13, r11, LSR, r15},
791                             "lt, r3, r13, r11, LSR, r15",
792                             "lt_r3_r13_r11_LSR_r15"},
793                            {{mi, r15, r2, r7, ASR, r13},
794                             "mi, r15, r2, r7, ASR, r13",
795                             "mi_r15_r2_r7_ASR_r13"},
796                            {{eq, r6, r4, r11, ROR, r15},
797                             "eq, r6, r4, r11, ROR, r15",
798                             "eq_r6_r4_r11_ROR_r15"},
799                            {{ne, r4, r13, r13, ROR, r15},
800                             "ne, r4, r13, r13, ROR, r15",
801                             "ne_r4_r13_r13_ROR_r15"},
802                            {{cc, r9, r15, r1, LSL, r3},
803                             "cc, r9, r15, r1, LSL, r3",
804                             "cc_r9_r15_r1_LSL_r3"},
805                            {{lt, r7, r4, r1, LSR, r15},
806                             "lt, r7, r4, r1, LSR, r15",
807                             "lt_r7_r4_r1_LSR_r15"},
808                            {{le, r7, r15, r13, LSR, r8},
809                             "le, r7, r15, r13, LSR, r8",
810                             "le_r7_r15_r13_LSR_r8"},
811                            {{pl, r15, r12, r5, LSR, r13},
812                             "pl, r15, r12, r5, LSR, r13",
813                             "pl_r15_r12_r5_LSR_r13"},
814                            {{eq, r8, r10, r15, LSR, r11},
815                             "eq, r8, r10, r15, LSR, r11",
816                             "eq_r8_r10_r15_LSR_r11"},
817                            {{ne, r5, r8, r15, ROR, r7},
818                             "ne, r5, r8, r15, ROR, r7",
819                             "ne_r5_r8_r15_ROR_r7"},
820                            {{cc, r15, r9, r4, ROR, r3},
821                             "cc, r15, r9, r4, ROR, r3",
822                             "cc_r15_r9_r4_ROR_r3"},
823                            {{al, r12, r1, r15, ROR, r5},
824                             "al, r12, r1, r15, ROR, r5",
825                             "al_r12_r1_r15_ROR_r5"},
826                            {{cc, r3, r15, r11, ASR, r3},
827                             "cc, r3, r15, r11, ASR, r3",
828                             "cc_r3_r15_r11_ASR_r3"},
829                            {{vs, r14, r9, r15, ASR, r11},
830                             "vs, r14, r9, r15, ASR, r11",
831                             "vs_r14_r9_r15_ASR_r11"},
832                            {{ne, r3, r15, r6, ASR, r4},
833                             "ne, r3, r15, r6, ASR, r4",
834                             "ne_r3_r15_r6_ASR_r4"},
835                            {{ne, r14, r7, r15, ASR, r13},
836                             "ne, r14, r7, r15, ASR, r13",
837                             "ne_r14_r7_r15_ASR_r13"},
838                            {{eq, r6, r9, r7, ROR, r15},
839                             "eq, r6, r9, r7, ROR, r15",
840                             "eq_r6_r9_r7_ROR_r15"},
841                            {{mi, r15, r3, r5, ASR, r14},
842                             "mi, r15, r3, r5, ASR, r14",
843                             "mi_r15_r3_r5_ASR_r14"},
844                            {{vc, r3, r13, r14, LSL, r15},
845                             "vc, r3, r13, r14, LSL, r15",
846                             "vc_r3_r13_r14_LSL_r15"},
847                            {{pl, r14, r15, r3, LSL, r10},
848                             "pl, r14, r15, r3, LSL, r10",
849                             "pl_r14_r15_r3_LSL_r10"},
850                            {{ls, r15, r14, r6, ASR, r1},
851                             "ls, r15, r14, r6, ASR, r1",
852                             "ls_r15_r14_r6_ASR_r1"},
853                            {{hi, r3, r15, r1, LSL, r15},
854                             "hi, r3, r15, r1, LSL, r15",
855                             "hi_r3_r15_r1_LSL_r15"},
856                            {{cc, r10, r4, r13, ROR, r15},
857                             "cc, r10, r4, r13, ROR, r15",
858                             "cc_r10_r4_r13_ROR_r15"},
859                            {{ne, r10, r14, r15, LSL, r13},
860                             "ne, r10, r14, r15, LSL, r13",
861                             "ne_r10_r14_r15_LSL_r13"},
862                            {{pl, r6, r6, r15, ROR, r11},
863                             "pl, r6, r6, r15, ROR, r11",
864                             "pl_r6_r6_r15_ROR_r11"},
865                            {{vs, r7, r6, r15, ROR, r7},
866                             "vs, r7, r6, r15, ROR, r7",
867                             "vs_r7_r6_r15_ROR_r7"},
868                            {{al, r15, r14, r5, ROR, r15},
869                             "al, r15, r14, r5, ROR, r15",
870                             "al_r15_r14_r5_ROR_r15"},
871                            {{mi, r14, r6, r2, ROR, r15},
872                             "mi, r14, r6, r2, ROR, r15",
873                             "mi_r14_r6_r2_ROR_r15"},
874                            {{eq, r7, r2, r8, ASR, r15},
875                             "eq, r7, r2, r8, ASR, r15",
876                             "eq_r7_r2_r8_ASR_r15"},
877                            {{ls, r10, r7, r15, ASR, r10},
878                             "ls, r10, r7, r15, ASR, r10",
879                             "ls_r10_r7_r15_ASR_r10"},
880                            {{ls, r8, r11, r7, LSR, r15},
881                             "ls, r8, r11, r7, LSR, r15",
882                             "ls_r8_r11_r7_LSR_r15"},
883                            {{hi, r11, r15, r9, LSL, r3},
884                             "hi, r11, r15, r9, LSL, r3",
885                             "hi_r11_r15_r9_LSL_r3"},
886                            {{lt, r15, r11, r0, ROR, r0},
887                             "lt, r15, r11, r0, ROR, r0",
888                             "lt_r15_r11_r0_ROR_r0"},
889                            {{lt, r5, r5, r15, LSR, r4},
890                             "lt, r5, r5, r15, LSR, r4",
891                             "lt_r5_r5_r15_LSR_r4"},
892                            {{al, r9, r15, r11, LSL, r0},
893                             "al, r9, r15, r11, LSL, r0",
894                             "al_r9_r15_r11_LSL_r0"},
895                            {{mi, r0, r15, r15, ROR, r8},
896                             "mi, r0, r15, r15, ROR, r8",
897                             "mi_r0_r15_r15_ROR_r8"},
898                            {{gt, r11, r15, r15, ROR, r2},
899                             "gt, r11, r15, r15, ROR, r2",
900                             "gt_r11_r15_r15_ROR_r2"},
901                            {{hi, r13, r4, r15, LSL, r8},
902                             "hi, r13, r4, r15, LSL, r8",
903                             "hi_r13_r4_r15_LSL_r8"},
904                            {{vs, r14, r8, r15, LSR, r10},
905                             "vs, r14, r8, r15, LSR, r10",
906                             "vs_r14_r8_r15_LSR_r10"},
907                            {{ne, r13, r14, r15, LSR, r15},
908                             "ne, r13, r14, r15, LSR, r15",
909                             "ne_r13_r14_r15_LSR_r15"},
910                            {{vs, r2, r8, r11, LSR, r15},
911                             "vs, r2, r8, r11, LSR, r15",
912                             "vs_r2_r8_r11_LSR_r15"},
913                            {{ne, r11, r15, r6, ASR, r0},
914                             "ne, r11, r15, r6, ASR, r0",
915                             "ne_r11_r15_r6_ASR_r0"},
916                            {{eq, r0, r0, r15, ASR, r1},
917                             "eq, r0, r0, r15, ASR, r1",
918                             "eq_r0_r0_r15_ASR_r1"},
919                            {{vs, r15, r3, r5, ROR, r11},
920                             "vs, r15, r3, r5, ROR, r11",
921                             "vs_r15_r3_r5_ROR_r11"},
922                            {{hi, r15, r6, r4, LSL, r14},
923                             "hi, r15, r6, r4, LSL, r14",
924                             "hi_r15_r6_r4_LSL_r14"},
925                            {{cs, r2, r3, r14, ASR, r15},
926                             "cs, r2, r3, r14, ASR, r15",
927                             "cs_r2_r3_r14_ASR_r15"},
928                            {{vs, r7, r3, r15, ASR, r8},
929                             "vs, r7, r3, r15, ASR, r8",
930                             "vs_r7_r3_r15_ASR_r8"},
931                            {{mi, r9, r10, r15, LSL, r5},
932                             "mi, r9, r10, r15, LSL, r5",
933                             "mi_r9_r10_r15_LSL_r5"},
934                            {{mi, r15, r12, r14, LSR, r3},
935                             "mi, r15, r12, r14, LSR, r3",
936                             "mi_r15_r12_r14_LSR_r3"},
937                            {{hi, r15, r2, r15, LSR, r7},
938                             "hi, r15, r2, r15, LSR, r7",
939                             "hi_r15_r2_r15_LSR_r7"},
940                            {{eq, r15, r8, r1, ASR, r15},
941                             "eq, r15, r8, r1, ASR, r15",
942                             "eq_r15_r8_r1_ASR_r15"},
943                            {{cc, r9, r15, r6, ASR, r4},
944                             "cc, r9, r15, r6, ASR, r4",
945                             "cc_r9_r15_r6_ASR_r4"},
946                            {{hi, r15, r3, r14, LSL, r7},
947                             "hi, r15, r3, r14, LSL, r7",
948                             "hi_r15_r3_r14_LSL_r7"},
949                            {{ge, r3, r8, r15, ASR, r7},
950                             "ge, r3, r8, r15, ASR, r7",
951                             "ge_r3_r8_r15_ASR_r7"},
952                            {{cc, r7, r6, r15, ASR, r7},
953                             "cc, r7, r6, r15, ASR, r7",
954                             "cc_r7_r6_r15_ASR_r7"},
955                            {{lt, r8, r5, r7, LSL, r15},
956                             "lt, r8, r5, r7, LSL, r15",
957                             "lt_r8_r5_r7_LSL_r15"},
958                            {{mi, r15, r11, r4, ASR, r6},
959                             "mi, r15, r11, r4, ASR, r6",
960                             "mi_r15_r11_r4_ASR_r6"},
961                            {{ge, r1, r15, r3, ROR, r0},
962                             "ge, r1, r15, r3, ROR, r0",
963                             "ge_r1_r15_r3_ROR_r0"},
964                            {{ne, r10, r7, r8, LSR, r15},
965                             "ne, r10, r7, r8, LSR, r15",
966                             "ne_r10_r7_r8_LSR_r15"},
967                            {{mi, r15, r0, r3, ASR, r15},
968                             "mi, r15, r0, r3, ASR, r15",
969                             "mi_r15_r0_r3_ASR_r15"},
970                            {{mi, r0, r15, r1, LSR, r1},
971                             "mi, r0, r15, r1, LSR, r1",
972                             "mi_r0_r15_r1_LSR_r1"},
973                            {{al, r15, r6, r5, ASR, r9},
974                             "al, r15, r6, r5, ASR, r9",
975                             "al_r15_r6_r5_ASR_r9"},
976                            {{le, r3, r14, r5, LSL, r15},
977                             "le, r3, r14, r5, LSL, r15",
978                             "le_r3_r14_r5_LSL_r15"},
979                            {{ge, r13, r15, r5, LSL, r0},
980                             "ge, r13, r15, r5, LSL, r0",
981                             "ge_r13_r15_r5_LSL_r0"},
982                            {{cs, r11, r12, r15, LSL, r8},
983                             "cs, r11, r12, r15, LSL, r8",
984                             "cs_r11_r12_r15_LSL_r8"},
985                            {{eq, r5, r15, r5, ASR, r5},
986                             "eq, r5, r15, r5, ASR, r5",
987                             "eq_r5_r15_r5_ASR_r5"},
988                            {{mi, r9, r15, r8, LSL, r2},
989                             "mi, r9, r15, r8, LSL, r2",
990                             "mi_r9_r15_r8_LSL_r2"},
991                            {{vc, r4, r15, r2, ROR, r8},
992                             "vc, r4, r15, r2, ROR, r8",
993                             "vc_r4_r15_r2_ROR_r8"},
994                            {{eq, r15, r7, r10, LSR, r10},
995                             "eq, r15, r7, r10, LSR, r10",
996                             "eq_r15_r7_r10_LSR_r10"},
997                            {{eq, r15, r14, r5, LSR, r4},
998                             "eq, r15, r14, r5, LSR, r4",
999                             "eq_r15_r14_r5_LSR_r4"},
1000                            {{pl, r11, r10, r15, ROR, r11},
1001                             "pl, r11, r10, r15, ROR, r11",
1002                             "pl_r11_r10_r15_ROR_r11"},
1003                            {{le, r3, r13, r15, ASR, r9},
1004                             "le, r3, r13, r15, ASR, r9",
1005                             "le_r3_r13_r15_ASR_r9"},
1006                            {{pl, r11, r15, r3, ASR, r5},
1007                             "pl, r11, r15, r3, ASR, r5",
1008                             "pl_r11_r15_r3_ASR_r5"},
1009                            {{hi, r15, r0, r3, LSL, r13},
1010                             "hi, r15, r0, r3, LSL, r13",
1011                             "hi_r15_r0_r3_LSL_r13"},
1012                            {{vc, r13, r12, r15, ASR, r12},
1013                             "vc, r13, r12, r15, ASR, r12",
1014                             "vc_r13_r12_r15_ASR_r12"},
1015                            {{ne, r13, r13, r15, ROR, r3},
1016                             "ne, r13, r13, r15, ROR, r3",
1017                             "ne_r13_r13_r15_ROR_r3"},
1018                            {{ge, r4, r9, r15, LSR, r2},
1019                             "ge, r4, r9, r15, LSR, r2",
1020                             "ge_r4_r9_r15_LSR_r2"},
1021                            {{al, r3, r15, r12, ROR, r1},
1022                             "al, r3, r15, r12, ROR, r1",
1023                             "al_r3_r15_r12_ROR_r1"},
1024                            {{gt, r15, r0, r10, LSR, r14},
1025                             "gt, r15, r0, r10, LSR, r14",
1026                             "gt_r15_r0_r10_LSR_r14"},
1027                            {{hi, r7, r1, r3, LSR, r15},
1028                             "hi, r7, r1, r3, LSR, r15",
1029                             "hi_r7_r1_r3_LSR_r15"},
1030                            {{vc, r9, r6, r15, LSL, r11},
1031                             "vc, r9, r6, r15, LSL, r11",
1032                             "vc_r9_r6_r15_LSL_r11"},
1033                            {{cs, r6, r14, r15, LSR, r8},
1034                             "cs, r6, r14, r15, LSR, r8",
1035                             "cs_r6_r14_r15_LSR_r8"},
1036                            {{mi, r12, r10, r15, ROR, r4},
1037                             "mi, r12, r10, r15, ROR, r4",
1038                             "mi_r12_r10_r15_ROR_r4"},
1039                            {{hi, r15, r15, r2, LSR, r5},
1040                             "hi, r15, r15, r2, LSR, r5",
1041                             "hi_r15_r15_r2_LSR_r5"},
1042                            {{ne, r1, r8, r4, LSL, r15},
1043                             "ne, r1, r8, r4, LSL, r15",
1044                             "ne_r1_r8_r4_LSL_r15"},
1045                            {{cc, r8, r3, r15, LSL, r9},
1046                             "cc, r8, r3, r15, LSL, r9",
1047                             "cc_r8_r3_r15_LSL_r9"},
1048                            {{eq, r8, r7, r15, LSR, r14},
1049                             "eq, r8, r7, r15, LSR, r14",
1050                             "eq_r8_r7_r15_LSR_r14"},
1051                            {{hi, r8, r15, r13, ROR, r8},
1052                             "hi, r8, r15, r13, ROR, r8",
1053                             "hi_r8_r15_r13_ROR_r8"},
1054                            {{vs, r1, r10, r11, LSL, r15},
1055                             "vs, r1, r10, r11, LSL, r15",
1056                             "vs_r1_r10_r11_LSL_r15"},
1057                            {{vc, r6, r7, r3, ASR, r15},
1058                             "vc, r6, r7, r3, ASR, r15",
1059                             "vc_r6_r7_r3_ASR_r15"},
1060                            {{eq, r15, r7, r7, ROR, r4},
1061                             "eq, r15, r7, r7, ROR, r4",
1062                             "eq_r15_r7_r7_ROR_r4"},
1063                            {{cs, r15, r13, r10, LSL, r5},
1064                             "cs, r15, r13, r10, LSL, r5",
1065                             "cs_r15_r13_r10_LSL_r5"},
1066                            {{ge, r10, r15, r5, LSR, r15},
1067                             "ge, r10, r15, r5, LSR, r15",
1068                             "ge_r10_r15_r5_LSR_r15"},
1069                            {{mi, r0, r0, r12, ROR, r15},
1070                             "mi, r0, r0, r12, ROR, r15",
1071                             "mi_r0_r0_r12_ROR_r15"},
1072                            {{ne, r13, r11, r0, ASR, r15},
1073                             "ne, r13, r11, r0, ASR, r15",
1074                             "ne_r13_r11_r0_ASR_r15"},
1075                            {{mi, r15, r8, r7, ASR, r14},
1076                             "mi, r15, r8, r7, ASR, r14",
1077                             "mi_r15_r8_r7_ASR_r14"},
1078                            {{vc, r12, r0, r15, LSL, r13},
1079                             "vc, r12, r0, r15, LSL, r13",
1080                             "vc_r12_r0_r15_LSL_r13"},
1081                            {{gt, r9, r14, r15, LSL, r5},
1082                             "gt, r9, r14, r15, LSL, r5",
1083                             "gt_r9_r14_r15_LSL_r5"},
1084                            {{vs, r7, r15, r4, ROR, r4},
1085                             "vs, r7, r15, r4, ROR, r4",
1086                             "vs_r7_r15_r4_ROR_r4"},
1087                            {{al, r7, r15, r5, LSR, r1},
1088                             "al, r7, r15, r5, LSR, r1",
1089                             "al_r7_r15_r5_LSR_r1"},
1090                            {{cs, r15, r0, r12, LSL, r8},
1091                             "cs, r15, r0, r12, LSL, r8",
1092                             "cs_r15_r0_r12_LSL_r8"},
1093                            {{ge, r15, r9, r8, ASR, r9},
1094                             "ge, r15, r9, r8, ASR, r9",
1095                             "ge_r15_r9_r8_ASR_r9"},
1096                            {{cc, r12, r15, r15, LSR, r13},
1097                             "cc, r12, r15, r15, LSR, r13",
1098                             "cc_r12_r15_r15_LSR_r13"},
1099                            {{eq, r2, r2, r15, LSR, r0},
1100                             "eq, r2, r2, r15, LSR, r0",
1101                             "eq_r2_r2_r15_LSR_r0"},
1102                            {{mi, r15, r10, r3, LSL, r7},
1103                             "mi, r15, r10, r3, LSL, r7",
1104                             "mi_r15_r10_r3_LSL_r7"},
1105                            {{ne, r14, r9, r12, ROR, r15},
1106                             "ne, r14, r9, r12, ROR, r15",
1107                             "ne_r14_r9_r12_ROR_r15"},
1108                            {{ge, r15, r0, r8, LSL, r13},
1109                             "ge, r15, r0, r8, LSL, r13",
1110                             "ge_r15_r0_r8_LSL_r13"},
1111                            {{ls, r8, r1, r12, LSR, r15},
1112                             "ls, r8, r1, r12, LSR, r15",
1113                             "ls_r8_r1_r12_LSR_r15"},
1114                            {{hi, r2, r15, r15, LSL, r3},
1115                             "hi, r2, r15, r15, LSL, r3",
1116                             "hi_r2_r15_r15_LSL_r3"},
1117                            {{mi, r13, r8, r4, LSL, r15},
1118                             "mi, r13, r8, r4, LSL, r15",
1119                             "mi_r13_r8_r4_LSL_r15"},
1120                            {{al, r15, r13, r11, LSR, r8},
1121                             "al, r15, r13, r11, LSR, r8",
1122                             "al_r15_r13_r11_LSR_r8"},
1123                            {{lt, r13, r0, r15, ROR, r7},
1124                             "lt, r13, r0, r15, ROR, r7",
1125                             "lt_r13_r0_r15_ROR_r7"},
1126                            {{le, r4, r4, r15, ROR, r13},
1127                             "le, r4, r4, r15, ROR, r13",
1128                             "le_r4_r4_r15_ROR_r13"},
1129                            {{ge, r15, r2, r9, ROR, r3},
1130                             "ge, r15, r2, r9, ROR, r3",
1131                             "ge_r15_r2_r9_ROR_r3"},
1132                            {{vs, r4, r15, r12, ASR, r12},
1133                             "vs, r4, r15, r12, ASR, r12",
1134                             "vs_r4_r15_r12_ASR_r12"},
1135                            {{vs, r10, r15, r1, ROR, r0},
1136                             "vs, r10, r15, r1, ROR, r0",
1137                             "vs_r10_r15_r1_ROR_r0"},
1138                            {{vc, r2, r6, r15, LSR, r1},
1139                             "vc, r2, r6, r15, LSR, r1",
1140                             "vc_r2_r6_r15_LSR_r1"},
1141                            {{le, r1, r9, r15, LSR, r2},
1142                             "le, r1, r9, r15, LSR, r2",
1143                             "le_r1_r9_r15_LSR_r2"},
1144                            {{hi, r11, r15, r4, LSL, r8},
1145                             "hi, r11, r15, r4, LSL, r8",
1146                             "hi_r11_r15_r4_LSL_r8"},
1147                            {{ne, r13, r8, r15, LSL, r2},
1148                             "ne, r13, r8, r15, LSL, r2",
1149                             "ne_r13_r8_r15_LSL_r2"},
1150                            {{pl, r9, r12, r15, LSR, r1},
1151                             "pl, r9, r12, r15, LSR, r1",
1152                             "pl_r9_r12_r15_LSR_r1"},
1153                            {{ls, r9, r1, r6, ASR, r15},
1154                             "ls, r9, r1, r6, ASR, r15",
1155                             "ls_r9_r1_r6_ASR_r15"},
1156                            {{eq, r1, r15, r7, LSL, r4},
1157                             "eq, r1, r15, r7, LSL, r4",
1158                             "eq_r1_r15_r7_LSL_r4"},
1159                            {{vc, r15, r15, r7, ASR, r14},
1160                             "vc, r15, r15, r7, ASR, r14",
1161                             "vc_r15_r15_r7_ASR_r14"},
1162                            {{cc, r1, r1, r15, ASR, r8},
1163                             "cc, r1, r1, r15, ASR, r8",
1164                             "cc_r1_r1_r15_ASR_r8"},
1165                            {{le, r9, r5, r15, ROR, r13},
1166                             "le, r9, r5, r15, ROR, r13",
1167                             "le_r9_r5_r15_ROR_r13"},
1168                            {{ls, r3, r10, r6, ASR, r15},
1169                             "ls, r3, r10, r6, ASR, r15",
1170                             "ls_r3_r10_r6_ASR_r15"},
1171                            {{al, r11, r13, r15, ASR, r7},
1172                             "al, r11, r13, r15, ASR, r7",
1173                             "al_r11_r13_r15_ASR_r7"},
1174                            {{le, r10, r3, r15, ASR, r5},
1175                             "le, r10, r3, r15, ASR, r5",
1176                             "le_r10_r3_r15_ASR_r5"},
1177                            {{mi, r5, r7, r11, LSL, r15},
1178                             "mi, r5, r7, r11, LSL, r15",
1179                             "mi_r5_r7_r11_LSL_r15"},
1180                            {{cc, r15, r2, r11, ROR, r8},
1181                             "cc, r15, r2, r11, ROR, r8",
1182                             "cc_r15_r2_r11_ROR_r8"},
1183                            {{hi, r15, r2, r13, ROR, r2},
1184                             "hi, r15, r2, r13, ROR, r2",
1185                             "hi_r15_r2_r13_ROR_r2"},
1186                            {{eq, r1, r9, r0, LSR, r15},
1187                             "eq, r1, r9, r0, LSR, r15",
1188                             "eq_r1_r9_r0_LSR_r15"},
1189                            {{ls, r10, r13, r15, LSL, r2},
1190                             "ls, r10, r13, r15, LSL, r2",
1191                             "ls_r10_r13_r15_LSL_r2"},
1192                            {{vs, r14, r15, r13, LSL, r11},
1193                             "vs, r14, r15, r13, LSL, r11",
1194                             "vs_r14_r15_r13_LSL_r11"},
1195                            {{pl, r8, r3, r15, LSL, r10},
1196                             "pl, r8, r3, r15, LSL, r10",
1197                             "pl_r8_r3_r15_LSL_r10"},
1198                            {{cs, r5, r15, r13, LSL, r3},
1199                             "cs, r5, r15, r13, LSL, r3",
1200                             "cs_r5_r15_r13_LSL_r3"},
1201                            {{cc, r14, r9, r10, ROR, r15},
1202                             "cc, r14, r9, r10, ROR, r15",
1203                             "cc_r14_r9_r10_ROR_r15"},
1204                            {{cs, r2, r2, r10, LSL, r15},
1205                             "cs, r2, r2, r10, LSL, r15",
1206                             "cs_r2_r2_r10_LSL_r15"},
1207                            {{ge, r13, r15, r11, LSR, r6},
1208                             "ge, r13, r15, r11, LSR, r6",
1209                             "ge_r13_r15_r11_LSR_r6"},
1210                            {{eq, r3, r12, r2, LSL, r15},
1211                             "eq, r3, r12, r2, LSL, r15",
1212                             "eq_r3_r12_r2_LSL_r15"},
1213                            {{gt, r7, r15, r11, LSR, r14},
1214                             "gt, r7, r15, r11, LSR, r14",
1215                             "gt_r7_r15_r11_LSR_r14"},
1216                            {{lt, r7, r9, r15, LSR, r15},
1217                             "lt, r7, r9, r15, LSR, r15",
1218                             "lt_r7_r9_r15_LSR_r15"},
1219                            {{lt, r5, r15, r0, LSR, r8},
1220                             "lt, r5, r15, r0, LSR, r8",
1221                             "lt_r5_r15_r0_LSR_r8"},
1222                            {{le, r15, r7, r4, LSL, r9},
1223                             "le, r15, r7, r4, LSL, r9",
1224                             "le_r15_r7_r4_LSL_r9"},
1225                            {{le, r9, r14, r2, ROR, r15},
1226                             "le, r9, r14, r2, ROR, r15",
1227                             "le_r9_r14_r2_ROR_r15"},
1228                            {{mi, r13, r13, r15, LSL, r4},
1229                             "mi, r13, r13, r15, LSL, r4",
1230                             "mi_r13_r13_r15_LSL_r4"},
1231                            {{lt, r9, r10, r15, ASR, r15},
1232                             "lt, r9, r10, r15, ASR, r15",
1233                             "lt_r9_r10_r15_ASR_r15"},
1234                            {{hi, r4, r15, r9, ASR, r13},
1235                             "hi, r4, r15, r9, ASR, r13",
1236                             "hi_r4_r15_r9_ASR_r13"},
1237                            {{cs, r6, r4, r0, ROR, r15},
1238                             "cs, r6, r4, r0, ROR, r15",
1239                             "cs_r6_r4_r0_ROR_r15"},
1240                            {{ls, r15, r13, r1, ASR, r4},
1241                             "ls, r15, r13, r1, ASR, r4",
1242                             "ls_r15_r13_r1_ASR_r4"},
1243                            {{vs, r15, r1, r15, LSR, r10},
1244                             "vs, r15, r1, r15, LSR, r10",
1245                             "vs_r15_r1_r15_LSR_r10"},
1246                            {{vc, r15, r9, r7, LSL, r15},
1247                             "vc, r15, r9, r7, LSL, r15",
1248                             "vc_r15_r9_r7_LSL_r15"},
1249                            {{ne, r7, r6, r1, ROR, r15},
1250                             "ne, r7, r6, r1, ROR, r15",
1251                             "ne_r7_r6_r1_ROR_r15"},
1252                            {{vc, r1, r6, r15, ROR, r8},
1253                             "vc, r1, r6, r15, ROR, r8",
1254                             "vc_r1_r6_r15_ROR_r8"},
1255                            {{vc, r13, r12, r10, LSR, r15},
1256                             "vc, r13, r12, r10, LSR, r15",
1257                             "vc_r13_r12_r10_LSR_r15"},
1258                            {{ge, r15, r11, r5, LSL, r9},
1259                             "ge, r15, r11, r5, LSL, r9",
1260                             "ge_r15_r11_r5_LSL_r9"},
1261                            {{ls, r15, r15, r1, ASR, r1},
1262                             "ls, r15, r15, r1, ASR, r1",
1263                             "ls_r15_r15_r1_ASR_r1"},
1264                            {{vs, r10, r15, r7, ROR, r3},
1265                             "vs, r10, r15, r7, ROR, r3",
1266                             "vs_r10_r15_r7_ROR_r3"},
1267                            {{cs, r15, r6, r15, LSL, r2},
1268                             "cs, r15, r6, r15, LSL, r2",
1269                             "cs_r15_r6_r15_LSL_r2"},
1270                            {{ls, r4, r15, r15, LSR, r9},
1271                             "ls, r4, r15, r15, LSR, r9",
1272                             "ls_r4_r15_r15_LSR_r9"},
1273                            {{le, r2, r15, r15, ROR, r6},
1274                             "le, r2, r15, r15, ROR, r6",
1275                             "le_r2_r15_r15_ROR_r6"},
1276                            {{ne, r12, r15, r3, ROR, r12},
1277                             "ne, r12, r15, r3, ROR, r12",
1278                             "ne_r12_r15_r3_ROR_r12"},
1279                            {{eq, r10, r15, r10, ROR, r13},
1280                             "eq, r10, r15, r10, ROR, r13",
1281                             "eq_r10_r15_r10_ROR_r13"},
1282                            {{gt, r1, r5, r15, LSL, r11},
1283                             "gt, r1, r5, r15, LSL, r11",
1284                             "gt_r1_r5_r15_LSL_r11"},
1285                            {{cs, r8, r10, r15, ROR, r4},
1286                             "cs, r8, r10, r15, ROR, r4",
1287                             "cs_r8_r10_r15_ROR_r4"},
1288                            {{vc, r7, r6, r15, LSR, r5},
1289                             "vc, r7, r6, r15, LSR, r5",
1290                             "vc_r7_r6_r15_LSR_r5"},
1291                            {{cc, r15, r2, r12, ASR, r0},
1292                             "cc, r15, r2, r12, ASR, r0",
1293                             "cc_r15_r2_r12_ASR_r0"},
1294                            {{cs, r7, r12, r15, ASR, r3},
1295                             "cs, r7, r12, r15, ASR, r3",
1296                             "cs_r7_r12_r15_ASR_r3"},
1297                            {{ls, r3, r15, r1, ROR, r4},
1298                             "ls, r3, r15, r1, ROR, r4",
1299                             "ls_r3_r15_r1_ROR_r4"},
1300                            {{gt, r7, r4, r15, ROR, r5},
1301                             "gt, r7, r4, r15, ROR, r5",
1302                             "gt_r7_r4_r15_ROR_r5"},
1303                            {{al, r13, r15, r10, ASR, r3},
1304                             "al, r13, r15, r10, ASR, r3",
1305                             "al_r13_r15_r10_ASR_r3"},
1306                            {{ne, r14, r15, r13, ASR, r10},
1307                             "ne, r14, r15, r13, ASR, r10",
1308                             "ne_r14_r15_r13_ASR_r10"},
1309                            {{lt, r3, r13, r4, ROR, r15},
1310                             "lt, r3, r13, r4, ROR, r15",
1311                             "lt_r3_r13_r4_ROR_r15"},
1312                            {{ge, r2, r14, r12, LSR, r15},
1313                             "ge, r2, r14, r12, LSR, r15",
1314                             "ge_r2_r14_r12_LSR_r15"},
1315                            {{ne, r15, r15, r10, ASR, r8},
1316                             "ne, r15, r15, r10, ASR, r8",
1317                             "ne_r15_r15_r10_ASR_r8"},
1318                            {{mi, r10, r10, r15, ROR, r4},
1319                             "mi, r10, r10, r15, ROR, r4",
1320                             "mi_r10_r10_r15_ROR_r4"},
1321                            {{ge, r10, r0, r15, ASR, r13},
1322                             "ge, r10, r0, r15, ASR, r13",
1323                             "ge_r10_r0_r15_ASR_r13"},
1324                            {{cs, r10, r9, r9, ASR, r15},
1325                             "cs, r10, r9, r9, ASR, r15",
1326                             "cs_r10_r9_r9_ASR_r15"},
1327                            {{pl, r11, r9, r6, LSR, r15},
1328                             "pl, r11, r9, r6, LSR, r15",
1329                             "pl_r11_r9_r6_LSR_r15"},
1330                            {{ge, r12, r6, r1, ROR, r15},
1331                             "ge, r12, r6, r1, ROR, r15",
1332                             "ge_r12_r6_r1_ROR_r15"},
1333                            {{hi, r5, r15, r7, LSL, r2},
1334                             "hi, r5, r15, r7, LSL, r2",
1335                             "hi_r5_r15_r7_LSL_r2"},
1336                            {{lt, r14, r15, r14, ASR, r0},
1337                             "lt, r14, r15, r14, ASR, r0",
1338                             "lt_r14_r15_r14_ASR_r0"},
1339                            {{vc, r4, r11, r15, LSL, r14},
1340                             "vc, r4, r11, r15, LSL, r14",
1341                             "vc_r4_r11_r15_LSL_r14"},
1342                            {{le, r3, r15, r6, LSL, r4},
1343                             "le, r3, r15, r6, LSL, r4",
1344                             "le_r3_r15_r6_LSL_r4"},
1345                            {{lt, r13, r13, r15, ROR, r15},
1346                             "lt, r13, r13, r15, ROR, r15",
1347                             "lt_r13_r13_r15_ROR_r15"},
1348                            {{ls, r7, r7, r15, LSL, r12},
1349                             "ls, r7, r7, r15, LSL, r12",
1350                             "ls_r7_r7_r15_LSL_r12"},
1351                            {{vs, r1, r2, r13, LSR, r15},
1352                             "vs, r1, r2, r13, LSR, r15",
1353                             "vs_r1_r2_r13_LSR_r15"},
1354                            {{hi, r13, r10, r4, ASR, r15},
1355                             "hi, r13, r10, r4, ASR, r15",
1356                             "hi_r13_r10_r4_ASR_r15"},
1357                            {{al, r15, r3, r13, LSL, r2},
1358                             "al, r15, r3, r13, LSL, r2",
1359                             "al_r15_r3_r13_LSL_r2"},
1360                            {{vs, r9, r15, r9, ASR, r15},
1361                             "vs, r9, r15, r9, ASR, r15",
1362                             "vs_r9_r15_r9_ASR_r15"},
1363                            {{lt, r11, r13, r11, LSL, r15},
1364                             "lt, r11, r13, r11, LSL, r15",
1365                             "lt_r11_r13_r11_LSL_r15"},
1366                            {{vs, r15, r3, r4, LSR, r10},
1367                             "vs, r15, r3, r4, LSR, r10",
1368                             "vs_r15_r3_r4_LSR_r10"},
1369                            {{cc, r3, r1, r12, LSR, r15},
1370                             "cc, r3, r1, r12, LSR, r15",
1371                             "cc_r3_r1_r12_LSR_r15"},
1372                            {{pl, r15, r0, r9, LSL, r9},
1373                             "pl, r15, r0, r9, LSL, r9",
1374                             "pl_r15_r0_r9_LSL_r9"},
1375                            {{al, r15, r7, r2, ASR, r3},
1376                             "al, r15, r7, r2, ASR, r3",
1377                             "al_r15_r7_r2_ASR_r3"},
1378                            {{lt, r14, r8, r15, ASR, r3},
1379                             "lt, r14, r8, r15, ASR, r3",
1380                             "lt_r14_r8_r15_ASR_r3"},
1381                            {{vs, r15, r10, r9, LSR, r4},
1382                             "vs, r15, r10, r9, LSR, r4",
1383                             "vs_r15_r10_r9_LSR_r4"},
1384                            {{cc, r15, r14, r2, ASR, r5},
1385                             "cc, r15, r14, r2, ASR, r5",
1386                             "cc_r15_r14_r2_ASR_r5"},
1387                            {{hi, r5, r15, r6, ASR, r0},
1388                             "hi, r5, r15, r6, ASR, r0",
1389                             "hi_r5_r15_r6_ASR_r0"},
1390                            {{le, r6, r6, r13, ROR, r15},
1391                             "le, r6, r6, r13, ROR, r15",
1392                             "le_r6_r6_r13_ROR_r15"},
1393                            {{ls, r0, r4, r6, ASR, r15},
1394                             "ls, r0, r4, r6, ASR, r15",
1395                             "ls_r0_r4_r6_ASR_r15"},
1396                            {{lt, r13, r4, r15, LSR, r14},
1397                             "lt, r13, r4, r15, LSR, r14",
1398                             "lt_r13_r4_r15_LSR_r14"},
1399                            {{gt, r1, r14, r13, LSR, r15},
1400                             "gt, r1, r14, r13, LSR, r15",
1401                             "gt_r1_r14_r13_LSR_r15"},
1402                            {{cs, r1, r4, r13, ASR, r15},
1403                             "cs, r1, r4, r13, ASR, r15",
1404                             "cs_r1_r4_r13_ASR_r15"},
1405                            {{gt, r9, r8, r0, LSR, r15},
1406                             "gt, r9, r8, r0, LSR, r15",
1407                             "gt_r9_r8_r0_LSR_r15"},
1408                            {{vc, r4, r15, r10, LSR, r12},
1409                             "vc, r4, r15, r10, LSR, r12",
1410                             "vc_r4_r15_r10_LSR_r12"},
1411                            {{ge, r3, r12, r10, LSR, r15},
1412                             "ge, r3, r12, r10, LSR, r15",
1413                             "ge_r3_r12_r10_LSR_r15"},
1414                            {{ne, r10, r0, r15, LSL, r15},
1415                             "ne, r10, r0, r15, LSL, r15",
1416                             "ne_r10_r0_r15_LSL_r15"},
1417                            {{vc, r0, r14, r6, LSR, r15},
1418                             "vc, r0, r14, r6, LSR, r15",
1419                             "vc_r0_r14_r6_LSR_r15"},
1420                            {{ls, r15, r1, r0, LSL, r4},
1421                             "ls, r15, r1, r0, LSL, r4",
1422                             "ls_r15_r1_r0_LSL_r4"},
1423                            {{al, r15, r12, r9, ASR, r8},
1424                             "al, r15, r12, r9, ASR, r8",
1425                             "al_r15_r12_r9_ASR_r8"},
1426                            {{mi, r13, r5, r15, ROR, r12},
1427                             "mi, r13, r5, r15, ROR, r12",
1428                             "mi_r13_r5_r15_ROR_r12"},
1429                            {{ge, r7, r13, r14, LSR, r15},
1430                             "ge, r7, r13, r14, LSR, r15",
1431                             "ge_r7_r13_r14_LSR_r15"},
1432                            {{le, r15, r0, r5, LSR, r15},
1433                             "le, r15, r0, r5, LSR, r15",
1434                             "le_r15_r0_r5_LSR_r15"},
1435                            {{ls, r11, r14, r15, LSL, r3},
1436                             "ls, r11, r14, r15, LSL, r3",
1437                             "ls_r11_r14_r15_LSL_r3"},
1438                            {{ge, r10, r12, r15, ROR, r8},
1439                             "ge, r10, r12, r15, ROR, r8",
1440                             "ge_r10_r12_r15_ROR_r8"},
1441                            {{vc, r6, r13, r1, ROR, r15},
1442                             "vc, r6, r13, r1, ROR, r15",
1443                             "vc_r6_r13_r1_ROR_r15"},
1444                            {{le, r15, r0, r13, ROR, r0},
1445                             "le, r15, r0, r13, ROR, r0",
1446                             "le_r15_r0_r13_ROR_r0"},
1447                            {{pl, r14, r2, r15, LSL, r2},
1448                             "pl, r14, r2, r15, LSL, r2",
1449                             "pl_r14_r2_r15_LSL_r2"},
1450                            {{gt, r15, r7, r9, ROR, r9},
1451                             "gt, r15, r7, r9, ROR, r9",
1452                             "gt_r15_r7_r9_ROR_r9"},
1453                            {{lt, r8, r2, r2, LSL, r15},
1454                             "lt, r8, r2, r2, LSL, r15",
1455                             "lt_r8_r2_r2_LSL_r15"},
1456                            {{cs, r10, r14, r15, LSR, r13},
1457                             "cs, r10, r14, r15, LSR, r13",
1458                             "cs_r10_r14_r15_LSR_r13"},
1459                            {{al, r5, r0, r15, ROR, r13},
1460                             "al, r5, r0, r15, ROR, r13",
1461                             "al_r5_r0_r15_ROR_r13"},
1462                            {{mi, r7, r11, r3, LSR, r15},
1463                             "mi, r7, r11, r3, LSR, r15",
1464                             "mi_r7_r11_r3_LSR_r15"},
1465                            {{ls, r11, r8, r15, ASR, r7},
1466                             "ls, r11, r8, r15, ASR, r7",
1467                             "ls_r11_r8_r15_ASR_r7"},
1468                            {{cc, r4, r8, r12, ASR, r15},
1469                             "cc, r4, r8, r12, ASR, r15",
1470                             "cc_r4_r8_r12_ASR_r15"},
1471                            {{gt, r6, r1, r5, ASR, r15},
1472                             "gt, r6, r1, r5, ASR, r15",
1473                             "gt_r6_r1_r5_ASR_r15"},
1474                            {{cc, r12, r8, r14, ROR, r15},
1475                             "cc, r12, r8, r14, ROR, r15",
1476                             "cc_r12_r8_r14_ROR_r15"},
1477                            {{cc, r8, r15, r11, LSR, r15},
1478                             "cc, r8, r15, r11, LSR, r15",
1479                             "cc_r8_r15_r11_LSR_r15"},
1480                            {{vs, r10, r15, r8, LSR, r10},
1481                             "vs, r10, r15, r8, LSR, r10",
1482                             "vs_r10_r15_r8_LSR_r10"},
1483                            {{vs, r15, r0, r15, LSR, r12},
1484                             "vs, r15, r0, r15, LSR, r12",
1485                             "vs_r15_r0_r15_LSR_r12"},
1486                            {{cc, r5, r0, r3, LSL, r15},
1487                             "cc, r5, r0, r3, LSL, r15",
1488                             "cc_r5_r0_r3_LSL_r15"},
1489                            {{vs, r3, r13, r15, ROR, r9},
1490                             "vs, r3, r13, r15, ROR, r9",
1491                             "vs_r3_r13_r15_ROR_r9"},
1492                            {{ge, r5, r6, r1, ASR, r15},
1493                             "ge, r5, r6, r1, ASR, r15",
1494                             "ge_r5_r6_r1_ASR_r15"},
1495                            {{le, r15, r7, r7, ROR, r6},
1496                             "le, r15, r7, r7, ROR, r6",
1497                             "le_r15_r7_r7_ROR_r6"},
1498                            {{ge, r9, r15, r14, ROR, r4},
1499                             "ge, r9, r15, r14, ROR, r4",
1500                             "ge_r9_r15_r14_ROR_r4"},
1501                            {{vc, r14, r3, r5, LSL, r15},
1502                             "vc, r14, r3, r5, LSL, r15",
1503                             "vc_r14_r3_r5_LSL_r15"},
1504                            {{lt, r0, r8, r15, ASR, r12},
1505                             "lt, r0, r8, r15, ASR, r12",
1506                             "lt_r0_r8_r15_ASR_r12"},
1507                            {{ls, r4, r11, r15, LSL, r13},
1508                             "ls, r4, r11, r15, LSL, r13",
1509                             "ls_r4_r11_r15_LSL_r13"},
1510                            {{ls, r15, r4, r10, ASR, r9},
1511                             "ls, r15, r4, r10, ASR, r9",
1512                             "ls_r15_r4_r10_ASR_r9"},
1513                            {{ls, r6, r14, r0, LSL, r15},
1514                             "ls, r6, r14, r0, LSL, r15",
1515                             "ls_r6_r14_r0_LSL_r15"},
1516                            {{gt, r2, r9, r15, LSL, r14},
1517                             "gt, r2, r9, r15, LSL, r14",
1518                             "gt_r2_r9_r15_LSL_r14"},
1519                            {{lt, r12, r3, r3, LSR, r15},
1520                             "lt, r12, r3, r3, LSR, r15",
1521                             "lt_r12_r3_r3_LSR_r15"},
1522                            {{lt, r15, r2, r11, LSR, r0},
1523                             "lt, r15, r2, r11, LSR, r0",
1524                             "lt_r15_r2_r11_LSR_r0"},
1525                            {{pl, r13, r3, r1, ASR, r15},
1526                             "pl, r13, r3, r1, ASR, r15",
1527                             "pl_r13_r3_r1_ASR_r15"},
1528                            {{vc, r8, r14, r15, ROR, r1},
1529                             "vc, r8, r14, r15, ROR, r1",
1530                             "vc_r8_r14_r15_ROR_r1"},
1531                            {{hi, r15, r10, r14, LSL, r5},
1532                             "hi, r15, r10, r14, LSL, r5",
1533                             "hi_r15_r10_r14_LSL_r5"},
1534                            {{ne, r0, r11, r9, LSL, r15},
1535                             "ne, r0, r11, r9, LSL, r15",
1536                             "ne_r0_r11_r9_LSL_r15"},
1537                            {{mi, r15, r4, r5, ASR, r7},
1538                             "mi, r15, r4, r5, ASR, r7",
1539                             "mi_r15_r4_r5_ASR_r7"},
1540                            {{le, r15, r13, r8, LSL, r13},
1541                             "le, r15, r13, r8, LSL, r13",
1542                             "le_r15_r13_r8_LSL_r13"},
1543                            {{ne, r15, r11, r5, ASR, r2},
1544                             "ne, r15, r11, r5, ASR, r2",
1545                             "ne_r15_r11_r5_ASR_r2"},
1546                            {{mi, r4, r15, r1, ROR, r5},
1547                             "mi, r4, r15, r1, ROR, r5",
1548                             "mi_r4_r15_r1_ROR_r5"},
1549                            {{al, r14, r11, r4, LSR, r15},
1550                             "al, r14, r11, r4, LSR, r15",
1551                             "al_r14_r11_r4_LSR_r15"},
1552                            {{hi, r15, r7, r11, LSL, r3},
1553                             "hi, r15, r7, r11, LSL, r3",
1554                             "hi_r15_r7_r11_LSL_r3"},
1555                            {{al, r15, r0, r8, ASR, r13},
1556                             "al, r15, r0, r8, ASR, r13",
1557                             "al_r15_r0_r8_ASR_r13"},
1558                            {{hi, r7, r14, r15, LSR, r5},
1559                             "hi, r7, r14, r15, LSR, r5",
1560                             "hi_r7_r14_r15_LSR_r5"},
1561                            {{ls, r3, r5, r15, ASR, r10},
1562                             "ls, r3, r5, r15, ASR, r10",
1563                             "ls_r3_r5_r15_ASR_r10"},
1564                            {{mi, r15, r7, r7, LSL, r11},
1565                             "mi, r15, r7, r7, LSL, r11",
1566                             "mi_r15_r7_r7_LSL_r11"},
1567                            {{cc, r14, r0, r12, LSL, r15},
1568                             "cc, r14, r0, r12, LSL, r15",
1569                             "cc_r14_r0_r12_LSL_r15"},
1570                            {{cc, r3, r8, r15, LSR, r14},
1571                             "cc, r3, r8, r15, LSR, r14",
1572                             "cc_r3_r8_r15_LSR_r14"},
1573                            {{cs, r12, r9, r15, LSR, r5},
1574                             "cs, r12, r9, r15, LSR, r5",
1575                             "cs_r12_r9_r15_LSR_r5"},
1576                            {{ge, r15, r3, r13, LSR, r5},
1577                             "ge, r15, r3, r13, LSR, r5",
1578                             "ge_r15_r3_r13_LSR_r5"},
1579                            {{al, r15, r4, r0, LSR, r5},
1580                             "al, r15, r4, r0, LSR, r5",
1581                             "al_r15_r4_r0_LSR_r5"},
1582                            {{ge, r6, r7, r15, LSR, r5},
1583                             "ge, r6, r7, r15, LSR, r5",
1584                             "ge_r6_r7_r15_LSR_r5"},
1585                            {{cs, r12, r15, r14, LSR, r7},
1586                             "cs, r12, r15, r14, LSR, r7",
1587                             "cs_r12_r15_r14_LSR_r7"},
1588                            {{ls, r15, r13, r6, ASR, r4},
1589                             "ls, r15, r13, r6, ASR, r4",
1590                             "ls_r15_r13_r6_ASR_r4"},
1591                            {{eq, r15, r5, r3, ASR, r2},
1592                             "eq, r15, r5, r3, ASR, r2",
1593                             "eq_r15_r5_r3_ASR_r2"},
1594                            {{le, r15, r7, r13, LSR, r11},
1595                             "le, r15, r7, r13, LSR, r11",
1596                             "le_r15_r7_r13_LSR_r11"},
1597                            {{cs, r9, r15, r1, LSR, r7},
1598                             "cs, r9, r15, r1, LSR, r7",
1599                             "cs_r9_r15_r1_LSR_r7"},
1600                            {{gt, r14, r5, r2, ASR, r15},
1601                             "gt, r14, r5, r2, ASR, r15",
1602                             "gt_r14_r5_r2_ASR_r15"},
1603                            {{ne, r15, r14, r15, LSL, r7},
1604                             "ne, r15, r14, r15, LSL, r7",
1605                             "ne_r15_r14_r15_LSL_r7"},
1606                            {{gt, r13, r15, r5, ROR, r2},
1607                             "gt, r13, r15, r5, ROR, r2",
1608                             "gt_r13_r15_r5_ROR_r2"},
1609                            {{gt, r6, r5, r15, ASR, r3},
1610                             "gt, r6, r5, r15, ASR, r3",
1611                             "gt_r6_r5_r15_ASR_r3"},
1612                            {{cs, r1, r15, r13, ROR, r3},
1613                             "cs, r1, r15, r13, ROR, r3",
1614                             "cs_r1_r15_r13_ROR_r3"},
1615                            {{eq, r15, r7, r13, LSR, r2},
1616                             "eq, r15, r7, r13, LSR, r2",
1617                             "eq_r15_r7_r13_LSR_r2"},
1618                            {{cc, r15, r15, r3, LSR, r10},
1619                             "cc, r15, r15, r3, LSR, r10",
1620                             "cc_r15_r15_r3_LSR_r10"},
1621                            {{hi, r5, r4, r2, LSL, r15},
1622                             "hi, r5, r4, r2, LSL, r15",
1623                             "hi_r5_r4_r2_LSL_r15"},
1624                            {{mi, r13, r13, r15, ASR, r14},
1625                             "mi, r13, r13, r15, ASR, r14",
1626                             "mi_r13_r13_r15_ASR_r14"},
1627                            {{le, r7, r15, r9, ASR, r6},
1628                             "le, r7, r15, r9, ASR, r6",
1629                             "le_r7_r15_r9_ASR_r6"},
1630                            {{hi, r11, r15, r13, ASR, r8},
1631                             "hi, r11, r15, r13, ASR, r8",
1632                             "hi_r11_r15_r13_ASR_r8"},
1633                            {{cs, r6, r15, r3, ASR, r3},
1634                             "cs, r6, r15, r3, ASR, r3",
1635                             "cs_r6_r15_r3_ASR_r3"},
1636                            {{cs, r2, r10, r15, LSL, r15},
1637                             "cs, r2, r10, r15, LSL, r15",
1638                             "cs_r2_r10_r15_LSL_r15"},
1639                            {{le, r8, r7, r15, ROR, r14},
1640                             "le, r8, r7, r15, ROR, r14",
1641                             "le_r8_r7_r15_ROR_r14"},
1642                            {{ls, r15, r1, r6, ASR, r9},
1643                             "ls, r15, r1, r6, ASR, r9",
1644                             "ls_r15_r1_r6_ASR_r9"},
1645                            {{vs, r13, r15, r11, LSR, r7},
1646                             "vs, r13, r15, r11, LSR, r7",
1647                             "vs_r13_r15_r11_LSR_r7"},
1648                            {{cs, r2, r6, r3, LSL, r15},
1649                             "cs, r2, r6, r3, LSL, r15",
1650                             "cs_r2_r6_r3_LSL_r15"},
1651                            {{lt, r9, r14, r10, LSR, r15},
1652                             "lt, r9, r14, r10, LSR, r15",
1653                             "lt_r9_r14_r10_LSR_r15"},
1654                            {{pl, r7, r2, r15, LSR, r11},
1655                             "pl, r7, r2, r15, LSR, r11",
1656                             "pl_r7_r2_r15_LSR_r11"},
1657                            {{vc, r15, r4, r13, ASR, r13},
1658                             "vc, r15, r4, r13, ASR, r13",
1659                             "vc_r15_r4_r13_ASR_r13"},
1660                            {{gt, r5, r15, r7, ASR, r0},
1661                             "gt, r5, r15, r7, ASR, r0",
1662                             "gt_r5_r15_r7_ASR_r0"},
1663                            {{vs, r4, r11, r15, LSL, r6},
1664                             "vs, r4, r11, r15, LSL, r6",
1665                             "vs_r4_r11_r15_LSL_r6"},
1666                            {{lt, r15, r4, r7, ROR, r2},
1667                             "lt, r15, r4, r7, ROR, r2",
1668                             "lt_r15_r4_r7_ROR_r2"},
1669                            {{le, r10, r15, r9, LSL, r9},
1670                             "le, r10, r15, r9, LSL, r9",
1671                             "le_r10_r15_r9_LSL_r9"},
1672                            {{cc, r5, r11, r15, ROR, r10},
1673                             "cc, r5, r11, r15, ROR, r10",
1674                             "cc_r5_r11_r15_ROR_r10"},
1675                            {{vs, r6, r13, r15, LSL, r3},
1676                             "vs, r6, r13, r15, LSL, r3",
1677                             "vs_r6_r13_r15_LSL_r3"},
1678                            {{eq, r7, r9, r9, ASR, r15},
1679                             "eq, r7, r9, r9, ASR, r15",
1680                             "eq_r7_r9_r9_ASR_r15"},
1681                            {{vs, r15, r7, r8, ASR, r12},
1682                             "vs, r15, r7, r8, ASR, r12",
1683                             "vs_r15_r7_r8_ASR_r12"},
1684                            {{vs, r8, r15, r7, LSL, r0},
1685                             "vs, r8, r15, r7, LSL, r0",
1686                             "vs_r8_r15_r7_LSL_r0"},
1687                            {{pl, r8, r13, r11, LSL, r15},
1688                             "pl, r8, r13, r11, LSL, r15",
1689                             "pl_r8_r13_r11_LSL_r15"},
1690                            {{vs, r15, r0, r5, ASR, r5},
1691                             "vs, r15, r0, r5, ASR, r5",
1692                             "vs_r15_r0_r5_ASR_r5"},
1693                            {{pl, r15, r15, r11, LSR, r12},
1694                             "pl, r15, r15, r11, LSR, r12",
1695                             "pl_r15_r15_r11_LSR_r12"},
1696                            {{eq, r15, r7, r4, ROR, r11},
1697                             "eq, r15, r7, r4, ROR, r11",
1698                             "eq_r15_r7_r4_ROR_r11"},
1699                            {{le, r1, r3, r3, LSL, r15},
1700                             "le, r1, r3, r3, LSL, r15",
1701                             "le_r1_r3_r3_LSL_r15"},
1702                            {{pl, r15, r4, r0, ASR, r9},
1703                             "pl, r15, r4, r0, ASR, r9",
1704                             "pl_r15_r4_r0_ASR_r9"},
1705                            {{ge, r10, r3, r15, LSR, r8},
1706                             "ge, r10, r3, r15, LSR, r8",
1707                             "ge_r10_r3_r15_LSR_r8"},
1708                            {{cc, r9, r1, r2, LSR, r15},
1709                             "cc, r9, r1, r2, LSR, r15",
1710                             "cc_r9_r1_r2_LSR_r15"},
1711                            {{lt, r5, r7, r4, LSR, r15},
1712                             "lt, r5, r7, r4, LSR, r15",
1713                             "lt_r5_r7_r4_LSR_r15"},
1714                            {{vc, r10, r0, r2, LSR, r15},
1715                             "vc, r10, r0, r2, LSR, r15",
1716                             "vc_r10_r0_r2_LSR_r15"},
1717                            {{gt, r7, r4, r15, ROR, r11},
1718                             "gt, r7, r4, r15, ROR, r11",
1719                             "gt_r7_r4_r15_ROR_r11"},
1720                            {{le, r0, r0, r15, LSL, r12},
1721                             "le, r0, r0, r15, LSL, r12",
1722                             "le_r0_r0_r15_LSL_r12"},
1723                            {{al, r10, r5, r15, ASR, r14},
1724                             "al, r10, r5, r15, ASR, r14",
1725                             "al_r10_r5_r15_ASR_r14"},
1726                            {{le, r5, r10, r13, LSR, r15},
1727                             "le, r5, r10, r13, LSR, r15",
1728                             "le_r5_r10_r13_LSR_r15"},
1729                            {{mi, r12, r14, r15, LSR, r15},
1730                             "mi, r12, r14, r15, LSR, r15",
1731                             "mi_r12_r14_r15_LSR_r15"},
1732                            {{eq, r15, r2, r6, LSR, r6},
1733                             "eq, r15, r2, r6, LSR, r6",
1734                             "eq_r15_r2_r6_LSR_r6"},
1735                            {{gt, r15, r13, r15, ROR, r0},
1736                             "gt, r15, r13, r15, ROR, r0",
1737                             "gt_r15_r13_r15_ROR_r0"},
1738                            {{ne, r5, r15, r8, ROR, r9},
1739                             "ne, r5, r15, r8, ROR, r9",
1740                             "ne_r5_r15_r8_ROR_r9"},
1741                            {{gt, r15, r1, r3, ROR, r15},
1742                             "gt, r15, r1, r3, ROR, r15",
1743                             "gt_r15_r1_r3_ROR_r15"},
1744                            {{le, r15, r13, r2, ROR, r8},
1745                             "le, r15, r13, r2, ROR, r8",
1746                             "le_r15_r13_r2_ROR_r8"},
1747                            {{pl, r15, r6, r15, LSR, r13},
1748                             "pl, r15, r6, r15, LSR, r13",
1749                             "pl_r15_r6_r15_LSR_r13"},
1750                            {{ne, r5, r15, r9, LSR, r4},
1751                             "ne, r5, r15, r9, LSR, r4",
1752                             "ne_r5_r15_r9_LSR_r4"},
1753                            {{vs, r2, r15, r8, LSL, r8},
1754                             "vs, r2, r15, r8, LSL, r8",
1755                             "vs_r2_r15_r8_LSL_r8"},
1756                            {{cs, r8, r15, r8, LSR, r4},
1757                             "cs, r8, r15, r8, LSR, r4",
1758                             "cs_r8_r15_r8_LSR_r4"},
1759                            {{vc, r8, r15, r0, LSR, r5},
1760                             "vc, r8, r15, r0, LSR, r5",
1761                             "vc_r8_r15_r0_LSR_r5"},
1762                            {{pl, r3, r3, r15, LSR, r7},
1763                             "pl, r3, r3, r15, LSR, r7",
1764                             "pl_r3_r3_r15_LSR_r7"},
1765                            {{eq, r1, r13, r15, ASR, r8},
1766                             "eq, r1, r13, r15, ASR, r8",
1767                             "eq_r1_r13_r15_ASR_r8"},
1768                            {{cs, r15, r7, r15, LSR, r8},
1769                             "cs, r15, r7, r15, LSR, r8",
1770                             "cs_r15_r7_r15_LSR_r8"},
1771                            {{cs, r15, r3, r2, LSL, r3},
1772                             "cs, r15, r3, r2, LSL, r3",
1773                             "cs_r15_r3_r2_LSL_r3"},
1774                            {{mi, r4, r0, r10, ROR, r15},
1775                             "mi, r4, r0, r10, ROR, r15",
1776                             "mi_r4_r0_r10_ROR_r15"},
1777                            {{ne, r4, r15, r4, ASR, r4},
1778                             "ne, r4, r15, r4, ASR, r4",
1779                             "ne_r4_r15_r4_ASR_r4"},
1780                            {{hi, r5, r3, r8, ROR, r15},
1781                             "hi, r5, r3, r8, ROR, r15",
1782                             "hi_r5_r3_r8_ROR_r15"},
1783                            {{eq, r2, r6, r15, LSR, r8},
1784                             "eq, r2, r6, r15, LSR, r8",
1785                             "eq_r2_r6_r15_LSR_r8"},
1786                            {{ls, r3, r15, r13, ASR, r15},
1787                             "ls, r3, r15, r13, ASR, r15",
1788                             "ls_r3_r15_r13_ASR_r15"},
1789                            {{ne, r15, r7, r0, ASR, r14},
1790                             "ne, r15, r7, r0, ASR, r14",
1791                             "ne_r15_r7_r0_ASR_r14"},
1792                            {{vs, r7, r15, r5, LSL, r8},
1793                             "vs, r7, r15, r5, LSL, r8",
1794                             "vs_r7_r15_r5_LSL_r8"},
1795                            {{gt, r15, r15, r3, ASR, r3},
1796                             "gt, r15, r15, r3, ASR, r3",
1797                             "gt_r15_r15_r3_ASR_r3"},
1798                            {{cc, r5, r15, r7, LSL, r15},
1799                             "cc, r5, r15, r7, LSL, r15",
1800                             "cc_r5_r15_r7_LSL_r15"},
1801                            {{gt, r7, r3, r11, ASR, r15},
1802                             "gt, r7, r3, r11, ASR, r15",
1803                             "gt_r7_r3_r11_ASR_r15"},
1804                            {{mi, r8, r15, r13, ROR, r9},
1805                             "mi, r8, r15, r13, ROR, r9",
1806                             "mi_r8_r15_r13_ROR_r9"},
1807                            {{cc, r15, r0, r14, LSR, r12},
1808                             "cc, r15, r0, r14, LSR, r12",
1809                             "cc_r15_r0_r14_LSR_r12"},
1810                            {{cc, r15, r1, r5, ASR, r13},
1811                             "cc, r15, r1, r5, ASR, r13",
1812                             "cc_r15_r1_r5_ASR_r13"},
1813                            {{cs, r14, r13, r13, ROR, r15},
1814                             "cs, r14, r13, r13, ROR, r15",
1815                             "cs_r14_r13_r13_ROR_r15"},
1816                            {{vc, r15, r15, r2, ASR, r4},
1817                             "vc, r15, r15, r2, ASR, r4",
1818                             "vc_r15_r15_r2_ASR_r4"},
1819                            {{cs, r1, r5, r14, LSR, r15},
1820                             "cs, r1, r5, r14, LSR, r15",
1821                             "cs_r1_r5_r14_LSR_r15"},
1822                            {{ne, r14, r4, r6, ROR, r15},
1823                             "ne, r14, r4, r6, ROR, r15",
1824                             "ne_r14_r4_r6_ROR_r15"},
1825                            {{ls, r2, r14, r15, ROR, r2},
1826                             "ls, r2, r14, r15, ROR, r2",
1827                             "ls_r2_r14_r15_ROR_r2"},
1828                            {{ge, r1, r2, r9, LSL, r15},
1829                             "ge, r1, r2, r9, LSL, r15",
1830                             "ge_r1_r2_r9_LSL_r15"},
1831                            {{mi, r0, r5, r15, ROR, r15},
1832                             "mi, r0, r5, r15, ROR, r15",
1833                             "mi_r0_r5_r15_ROR_r15"},
1834                            {{mi, r0, r7, r0, ROR, r15},
1835                             "mi, r0, r7, r0, ROR, r15",
1836                             "mi_r0_r7_r0_ROR_r15"},
1837                            {{vc, r5, r12, r0, LSR, r15},
1838                             "vc, r5, r12, r0, LSR, r15",
1839                             "vc_r5_r12_r0_LSR_r15"},
1840                            {{vs, r11, r7, r15, LSR, r10},
1841                             "vs, r11, r7, r15, LSR, r10",
1842                             "vs_r11_r7_r15_LSR_r10"},
1843                            {{hi, r2, r1, r15, ASR, r10},
1844                             "hi, r2, r1, r15, ASR, r10",
1845                             "hi_r2_r1_r15_ASR_r10"},
1846                            {{vc, r14, r12, r4, LSL, r15},
1847                             "vc, r14, r12, r4, LSL, r15",
1848                             "vc_r14_r12_r4_LSL_r15"},
1849                            {{al, r1, r3, r15, LSR, r0},
1850                             "al, r1, r3, r15, LSR, r0",
1851                             "al_r1_r3_r15_LSR_r0"},
1852                            {{vc, r8, r15, r4, LSR, r6},
1853                             "vc, r8, r15, r4, LSR, r6",
1854                             "vc_r8_r15_r4_LSR_r6"},
1855                            {{ls, r9, r15, r4, LSL, r11},
1856                             "ls, r9, r15, r4, LSL, r11",
1857                             "ls_r9_r15_r4_LSL_r11"},
1858                            {{ne, r9, r11, r15, ROR, r13},
1859                             "ne, r9, r11, r15, ROR, r13",
1860                             "ne_r9_r11_r15_ROR_r13"},
1861                            {{le, r7, r15, r14, LSR, r7},
1862                             "le, r7, r15, r14, LSR, r7",
1863                             "le_r7_r15_r14_LSR_r7"},
1864                            {{ge, r15, r8, r13, LSR, r13},
1865                             "ge, r15, r8, r13, LSR, r13",
1866                             "ge_r15_r8_r13_LSR_r13"},
1867                            {{ls, r4, r15, r5, ASR, r5},
1868                             "ls, r4, r15, r5, ASR, r5",
1869                             "ls_r4_r15_r5_ASR_r5"},
1870                            {{le, r15, r14, r7, ASR, r13},
1871                             "le, r15, r14, r7, ASR, r13",
1872                             "le_r15_r14_r7_ASR_r13"},
1873                            {{mi, r12, r15, r10, LSR, r3},
1874                             "mi, r12, r15, r10, LSR, r3",
1875                             "mi_r12_r15_r10_LSR_r3"},
1876                            {{gt, r2, r15, r13, ASR, r10},
1877                             "gt, r2, r15, r13, ASR, r10",
1878                             "gt_r2_r15_r13_ASR_r10"},
1879                            {{cs, r10, r15, r9, ASR, r5},
1880                             "cs, r10, r15, r9, ASR, r5",
1881                             "cs_r10_r15_r9_ASR_r5"},
1882                            {{hi, r11, r11, r15, LSR, r6},
1883                             "hi, r11, r11, r15, LSR, r6",
1884                             "hi_r11_r11_r15_LSR_r6"},
1885                            {{pl, r6, r9, r0, LSL, r15},
1886                             "pl, r6, r9, r0, LSL, r15",
1887                             "pl_r6_r9_r0_LSL_r15"},
1888                            {{al, r13, r6, r15, ASR, r2},
1889                             "al, r13, r6, r15, ASR, r2",
1890                             "al_r13_r6_r15_ASR_r2"},
1891                            {{ls, r14, r15, r7, LSL, r13},
1892                             "ls, r14, r15, r7, LSL, r13",
1893                             "ls_r14_r15_r7_LSL_r13"},
1894                            {{hi, r0, r13, r15, LSL, r5},
1895                             "hi, r0, r13, r15, LSL, r5",
1896                             "hi_r0_r13_r15_LSL_r5"},
1897                            {{le, r15, r0, r1, ROR, r7},
1898                             "le, r15, r0, r1, ROR, r7",
1899                             "le_r15_r0_r1_ROR_r7"},
1900                            {{lt, r15, r4, r6, ASR, r4},
1901                             "lt, r15, r4, r6, ASR, r4",
1902                             "lt_r15_r4_r6_ASR_r4"},
1903                            {{ls, r0, r15, r10, LSR, r9},
1904                             "ls, r0, r15, r10, LSR, r9",
1905                             "ls_r0_r15_r10_LSR_r9"},
1906                            {{al, r5, r15, r2, ASR, r8},
1907                             "al, r5, r15, r2, ASR, r8",
1908                             "al_r5_r15_r2_ASR_r8"},
1909                            {{cs, r11, r11, r15, ASR, r6},
1910                             "cs, r11, r11, r15, ASR, r6",
1911                             "cs_r11_r11_r15_ASR_r6"},
1912                            {{gt, r1, r9, r15, ASR, r7},
1913                             "gt, r1, r9, r15, ASR, r7",
1914                             "gt_r1_r9_r15_ASR_r7"},
1915                            {{gt, r4, r12, r15, LSL, r8},
1916                             "gt, r4, r12, r15, LSL, r8",
1917                             "gt_r4_r12_r15_LSL_r8"},
1918                            {{cc, r15, r12, r4, ASR, r14},
1919                             "cc, r15, r12, r4, ASR, r14",
1920                             "cc_r15_r12_r4_ASR_r14"},
1921                            {{ne, r6, r1, r8, LSL, r15},
1922                             "ne, r6, r1, r8, LSL, r15",
1923                             "ne_r6_r1_r8_LSL_r15"},
1924                            {{eq, r5, r7, r15, ROR, r6},
1925                             "eq, r5, r7, r15, ROR, r6",
1926                             "eq_r5_r7_r15_ROR_r6"},
1927                            {{gt, r5, r1, r9, LSL, r15},
1928                             "gt, r5, r1, r9, LSL, r15",
1929                             "gt_r5_r1_r9_LSL_r15"},
1930                            {{cs, r15, r2, r4, ROR, r9},
1931                             "cs, r15, r2, r4, ROR, r9",
1932                             "cs_r15_r2_r4_ROR_r9"},
1933                            {{mi, r14, r9, r15, LSL, r7},
1934                             "mi, r14, r9, r15, LSL, r7",
1935                             "mi_r14_r9_r15_LSL_r7"},
1936                            {{ne, r3, r6, r15, ROR, r13},
1937                             "ne, r3, r6, r15, ROR, r13",
1938                             "ne_r3_r6_r15_ROR_r13"},
1939                            {{pl, r12, r3, r15, LSL, r15},
1940                             "pl, r12, r3, r15, LSL, r15",
1941                             "pl_r12_r3_r15_LSL_r15"},
1942                            {{vs, r6, r14, r3, LSL, r15},
1943                             "vs, r6, r14, r3, LSL, r15",
1944                             "vs_r6_r14_r3_LSL_r15"},
1945                            {{gt, r14, r2, r15, ASR, r4},
1946                             "gt, r14, r2, r15, ASR, r4",
1947                             "gt_r14_r2_r15_ASR_r4"},
1948                            {{hi, r9, r15, r2, ASR, r15},
1949                             "hi, r9, r15, r2, ASR, r15",
1950                             "hi_r9_r15_r2_ASR_r15"},
1951                            {{lt, r7, r2, r14, LSL, r15},
1952                             "lt, r7, r2, r14, LSL, r15",
1953                             "lt_r7_r2_r14_LSL_r15"},
1954                            {{gt, r15, r12, r11, ASR, r13},
1955                             "gt, r15, r12, r11, ASR, r13",
1956                             "gt_r15_r12_r11_ASR_r13"},
1957                            {{pl, r14, r15, r12, LSR, r8},
1958                             "pl, r14, r15, r12, LSR, r8",
1959                             "pl_r14_r15_r12_LSR_r8"},
1960                            {{gt, r15, r11, r6, LSL, r1},
1961                             "gt, r15, r11, r6, LSL, r1",
1962                             "gt_r15_r11_r6_LSL_r1"},
1963                            {{gt, r1, r15, r7, LSL, r15},
1964                             "gt, r1, r15, r7, LSL, r15",
1965                             "gt_r1_r15_r7_LSL_r15"},
1966                            {{hi, r15, r4, r15, ASR, r6},
1967                             "hi, r15, r4, r15, ASR, r6",
1968                             "hi_r15_r4_r15_ASR_r6"},
1969                            {{ne, r14, r13, r15, LSL, r4},
1970                             "ne, r14, r13, r15, LSL, r4",
1971                             "ne_r14_r13_r15_LSL_r4"},
1972                            {{cs, r7, r4, r15, LSR, r7},
1973                             "cs, r7, r4, r15, LSR, r7",
1974                             "cs_r7_r4_r15_LSR_r7"},
1975                            {{gt, r4, r7, r2, ROR, r15},
1976                             "gt, r4, r7, r2, ROR, r15",
1977                             "gt_r4_r7_r2_ROR_r15"},
1978                            {{cs, r2, r7, r14, LSL, r15},
1979                             "cs, r2, r7, r14, LSL, r15",
1980                             "cs_r2_r7_r14_LSL_r15"},
1981                            {{le, r6, r4, r15, LSR, r12},
1982                             "le, r6, r4, r15, LSR, r12",
1983                             "le_r6_r4_r15_LSR_r12"},
1984                            {{eq, r1, r8, r15, LSR, r11},
1985                             "eq, r1, r8, r15, LSR, r11",
1986                             "eq_r1_r8_r15_LSR_r11"},
1987                            {{pl, r7, r15, r9, ASR, r9},
1988                             "pl, r7, r15, r9, ASR, r9",
1989                             "pl_r7_r15_r9_ASR_r9"},
1990                            {{cs, r13, r15, r15, LSR, r11},
1991                             "cs, r13, r15, r15, LSR, r11",
1992                             "cs_r13_r15_r15_LSR_r11"},
1993                            {{eq, r15, r10, r4, ASR, r2},
1994                             "eq, r15, r10, r4, ASR, r2",
1995                             "eq_r15_r10_r4_ASR_r2"},
1996                            {{cs, r15, r0, r15, LSL, r6},
1997                             "cs, r15, r0, r15, LSL, r6",
1998                             "cs_r15_r0_r15_LSL_r6"},
1999                            {{pl, r5, r15, r15, LSL, r5},
2000                             "pl, r5, r15, r15, LSL, r5",
2001                             "pl_r5_r15_r15_LSL_r5"},
2002                            {{hi, r10, r7, r11, ASR, r15},
2003                             "hi, r10, r7, r11, ASR, r15",
2004                             "hi_r10_r7_r11_ASR_r15"},
2005                            {{vs, r15, r9, r4, ROR, r4},
2006                             "vs, r15, r9, r4, ROR, r4",
2007                             "vs_r15_r9_r4_ROR_r4"},
2008                            {{eq, r8, r2, r9, ROR, r15},
2009                             "eq, r8, r2, r9, ROR, r15",
2010                             "eq_r8_r2_r9_ROR_r15"},
2011                            {{cc, r1, r6, r15, ASR, r9},
2012                             "cc, r1, r6, r15, ASR, r9",
2013                             "cc_r1_r6_r15_ASR_r9"},
2014                            {{cc, r5, r3, r15, LSL, r13},
2015                             "cc, r5, r3, r15, LSL, r13",
2016                             "cc_r5_r3_r15_LSL_r13"},
2017                            {{vc, r14, r11, r4, LSL, r15},
2018                             "vc, r14, r11, r4, LSL, r15",
2019                             "vc_r14_r11_r4_LSL_r15"},
2020                            {{vs, r12, r15, r11, LSL, r12},
2021                             "vs, r12, r15, r11, LSL, r12",
2022                             "vs_r12_r15_r11_LSL_r12"},
2023                            {{pl, r15, r2, r14, ASR, r11},
2024                             "pl, r15, r2, r14, ASR, r11",
2025                             "pl_r15_r2_r14_ASR_r11"},
2026                            {{gt, r0, r2, r4, ROR, r15},
2027                             "gt, r0, r2, r4, ROR, r15",
2028                             "gt_r0_r2_r4_ROR_r15"},
2029                            {{le, r1, r14, r2, ASR, r15},
2030                             "le, r1, r14, r2, ASR, r15",
2031                             "le_r1_r14_r2_ASR_r15"},
2032                            {{ne, r5, r10, r6, LSL, r15},
2033                             "ne, r5, r10, r6, LSL, r15",
2034                             "ne_r5_r10_r6_LSL_r15"},
2035                            {{cs, r5, r15, r13, ROR, r4},
2036                             "cs, r5, r15, r13, ROR, r4",
2037                             "cs_r5_r15_r13_ROR_r4"},
2038                            {{hi, r4, r15, r1, LSL, r10},
2039                             "hi, r4, r15, r1, LSL, r10",
2040                             "hi_r4_r15_r1_LSL_r10"},
2041                            {{vs, r8, r15, r6, ROR, r3},
2042                             "vs, r8, r15, r6, ROR, r3",
2043                             "vs_r8_r15_r6_ROR_r3"},
2044                            {{gt, r0, r15, r12, ROR, r15},
2045                             "gt, r0, r15, r12, ROR, r15",
2046                             "gt_r0_r15_r12_ROR_r15"},
2047                            {{gt, r0, r10, r15, ROR, r2},
2048                             "gt, r0, r10, r15, ROR, r2",
2049                             "gt_r0_r10_r15_ROR_r2"},
2050                            {{mi, r8, r2, r0, ASR, r15},
2051                             "mi, r8, r2, r0, ASR, r15",
2052                             "mi_r8_r2_r0_ASR_r15"},
2053                            {{lt, r4, r7, r5, LSR, r15},
2054                             "lt, r4, r7, r5, LSR, r15",
2055                             "lt_r4_r7_r5_LSR_r15"},
2056                            {{al, r15, r6, r8, ROR, r0},
2057                             "al, r15, r6, r8, ROR, r0",
2058                             "al_r15_r6_r8_ROR_r0"},
2059                            {{le, r1, r5, r15, LSR, r2},
2060                             "le, r1, r5, r15, LSR, r2",
2061                             "le_r1_r5_r15_LSR_r2"},
2062                            {{pl, r12, r7, r4, LSR, r15},
2063                             "pl, r12, r7, r4, LSR, r15",
2064                             "pl_r12_r7_r4_LSR_r15"},
2065                            {{pl, r2, r15, r10, LSL, r8},
2066                             "pl, r2, r15, r10, LSL, r8",
2067                             "pl_r2_r15_r10_LSL_r8"},
2068                            {{cs, r10, r10, r15, LSL, r11},
2069                             "cs, r10, r10, r15, LSL, r11",
2070                             "cs_r10_r10_r15_LSL_r11"},
2071                            {{lt, r15, r1, r3, LSR, r14},
2072                             "lt, r15, r1, r3, LSR, r14",
2073                             "lt_r15_r1_r3_LSR_r14"},
2074                            {{cc, r10, r14, r7, LSL, r15},
2075                             "cc, r10, r14, r7, LSL, r15",
2076                             "cc_r10_r14_r7_LSL_r15"},
2077                            {{eq, r15, r12, r9, LSR, r11},
2078                             "eq, r15, r12, r9, LSR, r11",
2079                             "eq_r15_r12_r9_LSR_r11"},
2080                            {{vs, r15, r2, r10, ASR, r3},
2081                             "vs, r15, r2, r10, ASR, r3",
2082                             "vs_r15_r2_r10_ASR_r3"},
2083                            {{ne, r15, r14, r10, LSL, r8},
2084                             "ne, r15, r14, r10, LSL, r8",
2085                             "ne_r15_r14_r10_LSL_r8"},
2086                            {{lt, r15, r14, r10, ROR, r1},
2087                             "lt, r15, r14, r10, ROR, r1",
2088                             "lt_r15_r14_r10_ROR_r1"},
2089                            {{ls, r15, r7, r7, LSR, r0},
2090                             "ls, r15, r7, r7, LSR, r0",
2091                             "ls_r15_r7_r7_LSR_r0"},
2092                            {{cs, r6, r14, r3, LSL, r15},
2093                             "cs, r6, r14, r3, LSL, r15",
2094                             "cs_r6_r14_r3_LSL_r15"},
2095                            {{gt, r6, r15, r12, ASR, r13},
2096                             "gt, r6, r15, r12, ASR, r13",
2097                             "gt_r6_r15_r12_ASR_r13"},
2098                            {{vs, r15, r14, r0, LSL, r1},
2099                             "vs, r15, r14, r0, LSL, r1",
2100                             "vs_r15_r14_r0_LSL_r1"},
2101                            {{pl, r11, r12, r15, ASR, r1},
2102                             "pl, r11, r12, r15, ASR, r1",
2103                             "pl_r11_r12_r15_ASR_r1"},
2104                            {{eq, r9, r7, r15, LSR, r9},
2105                             "eq, r9, r7, r15, LSR, r9",
2106                             "eq_r9_r7_r15_LSR_r9"},
2107                            {{ge, r8, r10, r12, ASR, r15},
2108                             "ge, r8, r10, r12, ASR, r15",
2109                             "ge_r8_r10_r12_ASR_r15"},
2110                            {{ne, r15, r4, r4, LSL, r11},
2111                             "ne, r15, r4, r4, LSL, r11",
2112                             "ne_r15_r4_r4_LSL_r11"},
2113                            {{gt, r15, r10, r10, LSL, r2},
2114                             "gt, r15, r10, r10, LSL, r2",
2115                             "gt_r15_r10_r10_LSL_r2"},
2116                            {{mi, r5, r15, r0, LSL, r13},
2117                             "mi, r5, r15, r0, LSL, r13",
2118                             "mi_r5_r15_r0_LSL_r13"},
2119                            {{cc, r11, r15, r12, LSR, r14},
2120                             "cc, r11, r15, r12, LSR, r14",
2121                             "cc_r11_r15_r12_LSR_r14"},
2122                            {{cc, r0, r15, r11, ROR, r11},
2123                             "cc, r0, r15, r11, ROR, r11",
2124                             "cc_r0_r15_r11_ROR_r11"},
2125                            {{cs, r7, r15, r7, LSL, r5},
2126                             "cs, r7, r15, r7, LSL, r5",
2127                             "cs_r7_r15_r7_LSL_r5"},
2128                            {{eq, r3, r15, r7, LSR, r11},
2129                             "eq, r3, r15, r7, LSR, r11",
2130                             "eq_r3_r15_r7_LSR_r11"},
2131                            {{pl, r9, r15, r8, ASR, r11},
2132                             "pl, r9, r15, r8, ASR, r11",
2133                             "pl_r9_r15_r8_ASR_r11"},
2134                            {{al, r0, r15, r10, ASR, r13},
2135                             "al, r0, r15, r10, ASR, r13",
2136                             "al_r0_r15_r10_ASR_r13"},
2137                            {{vs, r14, r15, r5, ROR, r15},
2138                             "vs, r14, r15, r5, ROR, r15",
2139                             "vs_r14_r15_r5_ROR_r15"},
2140                            {{vc, r15, r2, r2, LSR, r11},
2141                             "vc, r15, r2, r2, LSR, r11",
2142                             "vc_r15_r2_r2_LSR_r11"},
2143                            {{ls, r10, r15, r2, LSL, r0},
2144                             "ls, r10, r15, r2, LSL, r0",
2145                             "ls_r10_r15_r2_LSL_r0"},
2146                            {{vs, r2, r15, r8, LSL, r0},
2147                             "vs, r2, r15, r8, LSL, r0",
2148                             "vs_r2_r15_r8_LSL_r0"},
2149                            {{hi, r15, r0, r14, LSL, r11},
2150                             "hi, r15, r0, r14, LSL, r11",
2151                             "hi_r15_r0_r14_LSL_r11"},
2152                            {{vs, r3, r15, r9, LSL, r9},
2153                             "vs, r3, r15, r9, LSL, r9",
2154                             "vs_r3_r15_r9_LSL_r9"},
2155                            {{gt, r15, r14, r3, ASR, r11},
2156                             "gt, r15, r14, r3, ASR, r11",
2157                             "gt_r15_r14_r3_ASR_r11"},
2158                            {{ne, r4, r5, r14, LSL, r15},
2159                             "ne, r4, r5, r14, LSL, r15",
2160                             "ne_r4_r5_r14_LSL_r15"},
2161                            {{ge, r2, r6, r15, ROR, r0},
2162                             "ge, r2, r6, r15, ROR, r0",
2163                             "ge_r2_r6_r15_ROR_r0"},
2164                            {{ls, r6, r12, r10, LSR, r15},
2165                             "ls, r6, r12, r10, LSR, r15",
2166                             "ls_r6_r12_r10_LSR_r15"},
2167                            {{al, r2, r8, r15, ASR, r5},
2168                             "al, r2, r8, r15, ASR, r5",
2169                             "al_r2_r8_r15_ASR_r5"},
2170                            {{ge, r15, r15, r15, ROR, r3},
2171                             "ge, r15, r15, r15, ROR, r3",
2172                             "ge_r15_r15_r15_ROR_r3"},
2173                            {{ge, r6, r8, r14, ASR, r15},
2174                             "ge, r6, r8, r14, ASR, r15",
2175                             "ge_r6_r8_r14_ASR_r15"},
2176                            {{lt, r15, r10, r2, LSL, r2},
2177                             "lt, r15, r10, r2, LSL, r2",
2178                             "lt_r15_r10_r2_LSL_r2"},
2179                            {{mi, r6, r15, r14, LSR, r3},
2180                             "mi, r6, r15, r14, LSR, r3",
2181                             "mi_r6_r15_r14_LSR_r3"},
2182                            {{cc, r11, r15, r14, ROR, r14},
2183                             "cc, r11, r15, r14, ROR, r14",
2184                             "cc_r11_r15_r14_ROR_r14"},
2185                            {{cc, r5, r0, r15, ASR, r3},
2186                             "cc, r5, r0, r15, ASR, r3",
2187                             "cc_r5_r0_r15_ASR_r3"},
2188                            {{gt, r0, r1, r15, ROR, r0},
2189                             "gt, r0, r1, r15, ROR, r0",
2190                             "gt_r0_r1_r15_ROR_r0"},
2191                            {{pl, r4, r15, r2, ASR, r2},
2192                             "pl, r4, r15, r2, ASR, r2",
2193                             "pl_r4_r15_r2_ASR_r2"},
2194                            {{gt, r15, r13, r0, LSL, r0},
2195                             "gt, r15, r13, r0, LSL, r0",
2196                             "gt_r15_r13_r0_LSL_r0"},
2197                            {{hi, r15, r8, r14, LSR, r0},
2198                             "hi, r15, r8, r14, LSR, r0",
2199                             "hi_r15_r8_r14_LSR_r0"},
2200                            {{hi, r10, r15, r11, ROR, r11},
2201                             "hi, r10, r15, r11, ROR, r11",
2202                             "hi_r10_r15_r11_ROR_r11"},
2203                            {{cs, r9, r14, r7, ASR, r15},
2204                             "cs, r9, r14, r7, ASR, r15",
2205                             "cs_r9_r14_r7_ASR_r15"},
2206                            {{ne, r15, r4, r7, LSR, r13},
2207                             "ne, r15, r4, r7, LSR, r13",
2208                             "ne_r15_r4_r7_LSR_r13"},
2209                            {{vc, r13, r12, r12, ASR, r15},
2210                             "vc, r13, r12, r12, ASR, r15",
2211                             "vc_r13_r12_r12_ASR_r15"},
2212                            {{hi, r15, r2, r12, ROR, r0},
2213                             "hi, r15, r2, r12, ROR, r0",
2214                             "hi_r15_r2_r12_ROR_r0"},
2215                            {{cs, r12, r8, r15, ASR, r14},
2216                             "cs, r12, r8, r15, ASR, r14",
2217                             "cs_r12_r8_r15_ASR_r14"},
2218                            {{al, r3, r9, r1, LSL, r15},
2219                             "al, r3, r9, r1, LSL, r15",
2220                             "al_r3_r9_r1_LSL_r15"},
2221                            {{lt, r8, r1, r15, LSR, r6},
2222                             "lt, r8, r1, r15, LSR, r6",
2223                             "lt_r8_r1_r15_LSR_r6"},
2224                            {{mi, r12, r12, r15, LSL, r6},
2225                             "mi, r12, r12, r15, LSL, r6",
2226                             "mi_r12_r12_r15_LSL_r6"},
2227                            {{eq, r5, r15, r0, ROR, r4},
2228                             "eq, r5, r15, r0, ROR, r4",
2229                             "eq_r5_r15_r0_ROR_r4"},
2230                            {{mi, r8, r1, r5, LSR, r15},
2231                             "mi, r8, r1, r5, LSR, r15",
2232                             "mi_r8_r1_r5_LSR_r15"},
2233                            {{cs, r15, r9, r11, ASR, r3},
2234                             "cs, r15, r9, r11, ASR, r3",
2235                             "cs_r15_r9_r11_ASR_r3"},
2236                            {{ls, r15, r14, r9, ROR, r11},
2237                             "ls, r15, r14, r9, ROR, r11",
2238                             "ls_r15_r14_r9_ROR_r11"},
2239                            {{mi, r3, r15, r11, LSR, r11},
2240                             "mi, r3, r15, r11, LSR, r11",
2241                             "mi_r3_r15_r11_LSR_r11"},
2242                            {{gt, r13, r5, r14, ASR, r15},
2243                             "gt, r13, r5, r14, ASR, r15",
2244                             "gt_r13_r5_r14_ASR_r15"},
2245                            {{cs, r7, r15, r15, LSL, r0},
2246                             "cs, r7, r15, r15, LSL, r0",
2247                             "cs_r7_r15_r15_LSL_r0"},
2248                            {{cc, r15, r8, r10, ASR, r5},
2249                             "cc, r15, r8, r10, ASR, r5",
2250                             "cc_r15_r8_r10_ASR_r5"},
2251                            {{eq, r6, r12, r15, ASR, r8},
2252                             "eq, r6, r12, r15, ASR, r8",
2253                             "eq_r6_r12_r15_ASR_r8"},
2254                            {{ne, r7, r15, r7, ROR, r14},
2255                             "ne, r7, r15, r7, ROR, r14",
2256                             "ne_r7_r15_r7_ROR_r14"},
2257                            {{cs, r9, r2, r14, ASR, r15},
2258                             "cs, r9, r2, r14, ASR, r15",
2259                             "cs_r9_r2_r14_ASR_r15"},
2260                            {{pl, r8, r2, r15, ROR, r2},
2261                             "pl, r8, r2, r15, ROR, r2",
2262                             "pl_r8_r2_r15_ROR_r2"},
2263                            {{cc, r10, r12, r7, LSL, r15},
2264                             "cc, r10, r12, r7, LSL, r15",
2265                             "cc_r10_r12_r7_LSL_r15"},
2266                            {{ne, r3, r12, r15, LSL, r1},
2267                             "ne, r3, r12, r15, LSL, r1",
2268                             "ne_r3_r12_r15_LSL_r1"},
2269                            {{vs, r15, r10, r1, LSL, r9},
2270                             "vs, r15, r10, r1, LSL, r9",
2271                             "vs_r15_r10_r1_LSL_r9"},
2272                            {{al, r10, r15, r7, LSL, r15},
2273                             "al, r10, r15, r7, LSL, r15",
2274                             "al_r10_r15_r7_LSL_r15"},
2275                            {{ge, r13, r0, r15, LSL, r7},
2276                             "ge, r13, r0, r15, LSL, r7",
2277                             "ge_r13_r0_r15_LSL_r7"},
2278                            {{ls, r5, r15, r7, ASR, r5},
2279                             "ls, r5, r15, r7, ASR, r5",
2280                             "ls_r5_r15_r7_ASR_r5"},
2281                            {{ls, r15, r2, r1, LSL, r9},
2282                             "ls, r15, r2, r1, LSL, r9",
2283                             "ls_r15_r2_r1_LSL_r9"},
2284                            {{ge, r9, r15, r14, ROR, r0},
2285                             "ge, r9, r15, r14, ROR, r0",
2286                             "ge_r9_r15_r14_ROR_r0"},
2287                            {{cs, r4, r13, r3, ROR, r15},
2288                             "cs, r4, r13, r3, ROR, r15",
2289                             "cs_r4_r13_r3_ROR_r15"},
2290                            {{eq, r8, r5, r8, ASR, r15},
2291                             "eq, r8, r5, r8, ASR, r15",
2292                             "eq_r8_r5_r8_ASR_r15"},
2293                            {{cs, r15, r8, r8, ASR, r12},
2294                             "cs, r15, r8, r8, ASR, r12",
2295                             "cs_r15_r8_r8_ASR_r12"},
2296                            {{mi, r15, r2, r2, ROR, r4},
2297                             "mi, r15, r2, r2, ROR, r4",
2298                             "mi_r15_r2_r2_ROR_r4"},
2299                            {{hi, r2, r13, r2, ROR, r15},
2300                             "hi, r2, r13, r2, ROR, r15",
2301                             "hi_r2_r13_r2_ROR_r15"},
2302                            {{le, r3, r4, r15, ASR, r5},
2303                             "le, r3, r4, r15, ASR, r5",
2304                             "le_r3_r4_r15_ASR_r5"},
2305                            {{ne, r9, r6, r8, ROR, r15},
2306                             "ne, r9, r6, r8, ROR, r15",
2307                             "ne_r9_r6_r8_ROR_r15"},
2308                            {{ls, r11, r15, r14, ROR, r5},
2309                             "ls, r11, r15, r14, ROR, r5",
2310                             "ls_r11_r15_r14_ROR_r5"},
2311                            {{eq, r15, r9, r12, LSL, r6},
2312                             "eq, r15, r9, r12, LSL, r6",
2313                             "eq_r15_r9_r12_LSL_r6"},
2314                            {{mi, r3, r15, r4, LSR, r10},
2315                             "mi, r3, r15, r4, LSR, r10",
2316                             "mi_r3_r15_r4_LSR_r10"},
2317                            {{cs, r10, r1, r15, LSR, r1},
2318                             "cs, r10, r1, r15, LSR, r1",
2319                             "cs_r10_r1_r15_LSR_r1"},
2320                            {{mi, r15, r10, r11, ASR, r11},
2321                             "mi, r15, r10, r11, ASR, r11",
2322                             "mi_r15_r10_r11_ASR_r11"},
2323                            {{lt, r15, r11, r9, LSL, r0},
2324                             "lt, r15, r11, r9, LSL, r0",
2325                             "lt_r15_r11_r9_LSL_r0"},
2326                            {{vc, r6, r0, r9, LSL, r15},
2327                             "vc, r6, r0, r9, LSL, r15",
2328                             "vc_r6_r0_r9_LSL_r15"},
2329                            {{al, r11, r13, r15, LSR, r0},
2330                             "al, r11, r13, r15, LSR, r0",
2331                             "al_r11_r13_r15_LSR_r0"},
2332                            {{cs, r14, r15, r0, ASR, r12},
2333                             "cs, r14, r15, r0, ASR, r12",
2334                             "cs_r14_r15_r0_ASR_r12"},
2335                            {{al, r7, r15, r8, ASR, r6},
2336                             "al, r7, r15, r8, ASR, r6",
2337                             "al_r7_r15_r8_ASR_r6"},
2338                            {{ls, r0, r15, r5, LSL, r14},
2339                             "ls, r0, r15, r5, LSL, r14",
2340                             "ls_r0_r15_r5_LSL_r14"},
2341                            {{cc, r6, r5, r0, LSR, r15},
2342                             "cc, r6, r5, r0, LSR, r15",
2343                             "cc_r6_r5_r0_LSR_r15"},
2344                            {{ge, r5, r12, r5, ASR, r15},
2345                             "ge, r5, r12, r5, ASR, r15",
2346                             "ge_r5_r12_r5_ASR_r15"},
2347                            {{pl, r15, r14, r7, ROR, r9},
2348                             "pl, r15, r14, r7, ROR, r9",
2349                             "pl_r15_r14_r7_ROR_r9"},
2350                            {{gt, r0, r14, r15, LSL, r10},
2351                             "gt, r0, r14, r15, LSL, r10",
2352                             "gt_r0_r14_r15_LSL_r10"},
2353                            {{hi, r13, r9, r15, ROR, r14},
2354                             "hi, r13, r9, r15, ROR, r14",
2355                             "hi_r13_r9_r15_ROR_r14"},
2356                            {{ls, r15, r4, r14, LSL, r7},
2357                             "ls, r15, r4, r14, LSL, r7",
2358                             "ls_r15_r4_r14_LSL_r7"},
2359                            {{eq, r12, r15, r12, ASR, r5},
2360                             "eq, r12, r15, r12, ASR, r5",
2361                             "eq_r12_r15_r12_ASR_r5"},
2362                            {{lt, r15, r15, r7, LSL, r13},
2363                             "lt, r15, r15, r7, LSL, r13",
2364                             "lt_r15_r15_r7_LSL_r13"},
2365                            {{mi, r14, r15, r13, ROR, r2},
2366                             "mi, r14, r15, r13, ROR, r2",
2367                             "mi_r14_r15_r13_ROR_r2"},
2368                            {{hi, r5, r15, r0, ROR, r3},
2369                             "hi, r5, r15, r0, ROR, r3",
2370                             "hi_r5_r15_r0_ROR_r3"},
2371                            {{cs, r13, r15, r14, LSR, r1},
2372                             "cs, r13, r15, r14, LSR, r1",
2373                             "cs_r13_r15_r14_LSR_r1"},
2374                            {{ge, r15, r0, r4, ROR, r15},
2375                             "ge, r15, r0, r4, ROR, r15",
2376                             "ge_r15_r0_r4_ROR_r15"},
2377                            {{vs, r13, r8, r15, LSL, r9},
2378                             "vs, r13, r8, r15, LSL, r9",
2379                             "vs_r13_r8_r15_LSL_r9"},
2380                            {{mi, r0, r9, r0, ASR, r15},
2381                             "mi, r0, r9, r0, ASR, r15",
2382                             "mi_r0_r9_r0_ASR_r15"},
2383                            {{ne, r0, r15, r2, LSL, r2},
2384                             "ne, r0, r15, r2, LSL, r2",
2385                             "ne_r0_r15_r2_LSL_r2"},
2386                            {{ls, r15, r14, r12, ASR, r1},
2387                             "ls, r15, r14, r12, ASR, r1",
2388                             "ls_r15_r14_r12_ASR_r1"},
2389                            {{cs, r15, r7, r10, ROR, r13},
2390                             "cs, r15, r7, r10, ROR, r13",
2391                             "cs_r15_r7_r10_ROR_r13"},
2392                            {{vc, r15, r6, r11, ASR, r2},
2393                             "vc, r15, r6, r11, ASR, r2",
2394                             "vc_r15_r6_r11_ASR_r2"},
2395                            {{cc, r15, r1, r10, LSL, r7},
2396                             "cc, r15, r1, r10, LSL, r7",
2397                             "cc_r15_r1_r10_LSL_r7"},
2398                            {{mi, r0, r15, r12, ROR, r12},
2399                             "mi, r0, r15, r12, ROR, r12",
2400                             "mi_r0_r15_r12_ROR_r12"},
2401                            {{cc, r12, r15, r12, ROR, r0},
2402                             "cc, r12, r15, r12, ROR, r0",
2403                             "cc_r12_r15_r12_ROR_r0"},
2404                            {{cs, r15, r5, r4, ROR, r6},
2405                             "cs, r15, r5, r4, ROR, r6",
2406                             "cs_r15_r5_r4_ROR_r6"},
2407                            {{ge, r11, r0, r15, LSR, r10},
2408                             "ge, r11, r0, r15, LSR, r10",
2409                             "ge_r11_r0_r15_LSR_r10"},
2410                            {{le, r11, r12, r2, LSR, r15},
2411                             "le, r11, r12, r2, LSR, r15",
2412                             "le_r11_r12_r2_LSR_r15"},
2413                            {{hi, r0, r5, r15, LSR, r2},
2414                             "hi, r0, r5, r15, LSR, r2",
2415                             "hi_r0_r5_r15_LSR_r2"},
2416                            {{hi, r15, r8, r6, LSL, r2},
2417                             "hi, r15, r8, r6, LSL, r2",
2418                             "hi_r15_r8_r6_LSL_r2"},
2419                            {{gt, r7, r15, r8, ASR, r14},
2420                             "gt, r7, r15, r8, ASR, r14",
2421                             "gt_r7_r15_r8_ASR_r14"},
2422                            {{gt, r1, r14, r5, ASR, r15},
2423                             "gt, r1, r14, r5, ASR, r15",
2424                             "gt_r1_r14_r5_ASR_r15"},
2425                            {{vc, r15, r1, r1, ASR, r8},
2426                             "vc, r15, r1, r1, ASR, r8",
2427                             "vc_r15_r1_r1_ASR_r8"},
2428                            {{hi, r15, r12, r2, ROR, r14},
2429                             "hi, r15, r12, r2, ROR, r14",
2430                             "hi_r15_r12_r2_ROR_r14"},
2431                            {{gt, r10, r10, r8, ASR, r15},
2432                             "gt, r10, r10, r8, ASR, r15",
2433                             "gt_r10_r10_r8_ASR_r15"},
2434                            {{le, r0, r3, r15, LSR, r1},
2435                             "le, r0, r3, r15, LSR, r1",
2436                             "le_r0_r3_r15_LSR_r1"},
2437                            {{ne, r12, r3, r15, ASR, r9},
2438                             "ne, r12, r3, r15, ASR, r9",
2439                             "ne_r12_r3_r15_ASR_r9"},
2440                            {{vs, r14, r2, r14, ROR, r15},
2441                             "vs, r14, r2, r14, ROR, r15",
2442                             "vs_r14_r2_r14_ROR_r15"},
2443                            {{pl, r15, r0, r3, LSR, r3},
2444                             "pl, r15, r0, r3, LSR, r3",
2445                             "pl_r15_r0_r3_LSR_r3"},
2446                            {{le, r14, r15, r6, ROR, r14},
2447                             "le, r14, r15, r6, ROR, r14",
2448                             "le_r14_r15_r6_ROR_r14"},
2449                            {{gt, r4, r15, r9, LSR, r4},
2450                             "gt, r4, r15, r9, LSR, r4",
2451                             "gt_r4_r15_r9_LSR_r4"},
2452                            {{cc, r15, r10, r3, ROR, r0},
2453                             "cc, r15, r10, r3, ROR, r0",
2454                             "cc_r15_r10_r3_ROR_r0"},
2455                            {{vs, r9, r7, r15, LSR, r4},
2456                             "vs, r9, r7, r15, LSR, r4",
2457                             "vs_r9_r7_r15_LSR_r4"},
2458                            {{lt, r0, r12, r15, LSR, r14},
2459                             "lt, r0, r12, r15, LSR, r14",
2460                             "lt_r0_r12_r15_LSR_r14"},
2461                            {{cc, r6, r5, r15, ROR, r3},
2462                             "cc, r6, r5, r15, ROR, r3",
2463                             "cc_r6_r5_r15_ROR_r3"},
2464                            {{gt, r8, r15, r9, ROR, r1},
2465                             "gt, r8, r15, r9, ROR, r1",
2466                             "gt_r8_r15_r9_ROR_r1"},
2467                            {{al, r10, r15, r11, ROR, r13},
2468                             "al, r10, r15, r11, ROR, r13",
2469                             "al_r10_r15_r11_ROR_r13"},
2470                            {{eq, r1, r13, r15, ASR, r7},
2471                             "eq, r1, r13, r15, ASR, r7",
2472                             "eq_r1_r13_r15_ASR_r7"},
2473                            {{ls, r9, r5, r15, ASR, r4},
2474                             "ls, r9, r5, r15, ASR, r4",
2475                             "ls_r9_r5_r15_ASR_r4"},
2476                            {{cs, r3, r3, r15, LSR, r6},
2477                             "cs, r3, r3, r15, LSR, r6",
2478                             "cs_r3_r3_r15_LSR_r6"},
2479                            {{pl, r12, r5, r15, ROR, r8},
2480                             "pl, r12, r5, r15, ROR, r8",
2481                             "pl_r12_r5_r15_ROR_r8"},
2482                            {{eq, r14, r15, r4, ASR, r13},
2483                             "eq, r14, r15, r4, ASR, r13",
2484                             "eq_r14_r15_r4_ASR_r13"},
2485                            {{vc, r14, r5, r14, ROR, r15},
2486                             "vc, r14, r5, r14, ROR, r15",
2487                             "vc_r14_r5_r14_ROR_r15"},
2488                            {{hi, r14, r7, r11, ASR, r15},
2489                             "hi, r14, r7, r11, ASR, r15",
2490                             "hi_r14_r7_r11_ASR_r15"},
2491                            {{lt, r8, r15, r8, LSR, r1},
2492                             "lt, r8, r15, r8, LSR, r1",
2493                             "lt_r8_r15_r8_LSR_r1"},
2494                            {{gt, r15, r8, r7, LSR, r3},
2495                             "gt, r15, r8, r7, LSR, r3",
2496                             "gt_r15_r8_r7_LSR_r3"},
2497                            {{vc, r14, r15, r15, ROR, r1},
2498                             "vc, r14, r15, r15, ROR, r1",
2499                             "vc_r14_r15_r15_ROR_r1"},
2500                            {{le, r5, r7, r15, ROR, r15},
2501                             "le, r5, r7, r15, ROR, r15",
2502                             "le_r5_r7_r15_ROR_r15"},
2503                            {{cc, r8, r2, r13, LSL, r15},
2504                             "cc, r8, r2, r13, LSL, r15",
2505                             "cc_r8_r2_r13_LSL_r15"},
2506                            {{vc, r15, r2, r10, ASR, r7},
2507                             "vc, r15, r2, r10, ASR, r7",
2508                             "vc_r15_r2_r10_ASR_r7"},
2509                            {{eq, r8, r15, r15, ROR, r3},
2510                             "eq, r8, r15, r15, ROR, r3",
2511                             "eq_r8_r15_r15_ROR_r3"},
2512                            {{le, r15, r2, r7, LSR, r8},
2513                             "le, r15, r2, r7, LSR, r8",
2514                             "le_r15_r2_r7_LSR_r8"},
2515                            {{cc, r6, r0, r15, ROR, r6},
2516                             "cc, r6, r0, r15, ROR, r6",
2517                             "cc_r6_r0_r15_ROR_r6"},
2518                            {{hi, r2, r15, r0, LSR, r15},
2519                             "hi, r2, r15, r0, LSR, r15",
2520                             "hi_r2_r15_r0_LSR_r15"},
2521                            {{vs, r13, r15, r8, ROR, r1},
2522                             "vs, r13, r15, r8, ROR, r1",
2523                             "vs_r13_r15_r8_ROR_r1"},
2524                            {{ge, r0, r15, r6, LSR, r5},
2525                             "ge, r0, r15, r6, LSR, r5",
2526                             "ge_r0_r15_r6_LSR_r5"},
2527                            {{vc, r5, r10, r15, LSL, r0},
2528                             "vc, r5, r10, r15, LSL, r0",
2529                             "vc_r5_r10_r15_LSL_r0"},
2530                            {{pl, r1, r5, r8, ROR, r15},
2531                             "pl, r1, r5, r8, ROR, r15",
2532                             "pl_r1_r5_r8_ROR_r15"},
2533                            {{ne, r2, r15, r13, ROR, r12},
2534                             "ne, r2, r15, r13, ROR, r12",
2535                             "ne_r2_r15_r13_ROR_r12"},
2536                            {{gt, r12, r15, r7, ROR, r8},
2537                             "gt, r12, r15, r7, ROR, r8",
2538                             "gt_r12_r15_r7_ROR_r8"},
2539                            {{cs, r15, r4, r3, LSR, r3},
2540                             "cs, r15, r4, r3, LSR, r3",
2541                             "cs_r15_r4_r3_LSR_r3"},
2542                            {{cc, r14, r15, r6, ROR, r0},
2543                             "cc, r14, r15, r6, ROR, r0",
2544                             "cc_r14_r15_r6_ROR_r0"},
2545                            {{ne, r15, r2, r10, LSR, r15},
2546                             "ne, r15, r2, r10, LSR, r15",
2547                             "ne_r15_r2_r10_LSR_r15"},
2548                            {{ne, r12, r1, r0, ASR, r15},
2549                             "ne, r12, r1, r0, ASR, r15",
2550                             "ne_r12_r1_r0_ASR_r15"},
2551                            {{ne, r14, r15, r9, LSL, r10},
2552                             "ne, r14, r15, r9, LSL, r10",
2553                             "ne_r14_r15_r9_LSL_r10"},
2554                            {{cs, r0, r0, r15, LSL, r4},
2555                             "cs, r0, r0, r15, LSL, r4",
2556                             "cs_r0_r0_r15_LSL_r4"},
2557                            {{hi, r15, r14, r14, LSL, r12},
2558                             "hi, r15, r14, r14, LSL, r12",
2559                             "hi_r15_r14_r14_LSL_r12"},
2560                            {{al, r2, r12, r15, ROR, r15},
2561                             "al, r2, r12, r15, ROR, r15",
2562                             "al_r2_r12_r15_ROR_r15"},
2563                            {{cc, r2, r12, r6, ASR, r15},
2564                             "cc, r2, r12, r6, ASR, r15",
2565                             "cc_r2_r12_r6_ASR_r15"},
2566                            {{vc, r0, r0, r4, ASR, r15},
2567                             "vc, r0, r0, r4, ASR, r15",
2568                             "vc_r0_r0_r4_ASR_r15"},
2569                            {{le, r15, r1, r0, ASR, r15},
2570                             "le, r15, r1, r0, ASR, r15",
2571                             "le_r15_r1_r0_ASR_r15"},
2572                            {{ne, r2, r2, r7, LSR, r15},
2573                             "ne, r2, r2, r7, LSR, r15",
2574                             "ne_r2_r2_r7_LSR_r15"},
2575                            {{pl, r7, r15, r11, ASR, r0},
2576                             "pl, r7, r15, r11, ASR, r0",
2577                             "pl_r7_r15_r11_ASR_r0"},
2578                            {{mi, r13, r15, r11, LSL, r8},
2579                             "mi, r13, r15, r11, LSL, r8",
2580                             "mi_r13_r15_r11_LSL_r8"},
2581                            {{le, r15, r0, r12, ROR, r3},
2582                             "le, r15, r0, r12, ROR, r3",
2583                             "le_r15_r0_r12_ROR_r3"},
2584                            {{eq, r10, r4, r2, ASR, r15},
2585                             "eq, r10, r4, r2, ASR, r15",
2586                             "eq_r10_r4_r2_ASR_r15"},
2587                            {{cc, r15, r6, r6, LSL, r7},
2588                             "cc, r15, r6, r6, LSL, r7",
2589                             "cc_r15_r6_r6_LSL_r7"},
2590                            {{mi, r11, r10, r15, LSL, r6},
2591                             "mi, r11, r10, r15, LSL, r6",
2592                             "mi_r11_r10_r15_LSL_r6"},
2593                            {{eq, r15, r6, r7, LSL, r12},
2594                             "eq, r15, r6, r7, LSL, r12",
2595                             "eq_r15_r6_r7_LSL_r12"},
2596                            {{le, r10, r6, r1, LSR, r15},
2597                             "le, r10, r6, r1, LSR, r15",
2598                             "le_r10_r6_r1_LSR_r15"},
2599                            {{hi, r0, r4, r15, ASR, r1},
2600                             "hi, r0, r4, r15, ASR, r1",
2601                             "hi_r0_r4_r15_ASR_r1"},
2602                            {{le, r12, r8, r3, ASR, r15},
2603                             "le, r12, r8, r3, ASR, r15",
2604                             "le_r12_r8_r3_ASR_r15"},
2605                            {{gt, r13, r15, r14, LSL, r9},
2606                             "gt, r13, r15, r14, LSL, r9",
2607                             "gt_r13_r15_r14_LSL_r9"},
2608                            {{hi, r1, r6, r15, ROR, r9},
2609                             "hi, r1, r6, r15, ROR, r9",
2610                             "hi_r1_r6_r15_ROR_r9"},
2611                            {{al, r10, r15, r2, LSR, r13},
2612                             "al, r10, r15, r2, LSR, r13",
2613                             "al_r10_r15_r2_LSR_r13"},
2614                            {{hi, r7, r8, r9, ROR, r15},
2615                             "hi, r7, r8, r9, ROR, r15",
2616                             "hi_r7_r8_r9_ROR_r15"},
2617                            {{ge, r3, r5, r14, LSR, r15},
2618                             "ge, r3, r5, r14, LSR, r15",
2619                             "ge_r3_r5_r14_LSR_r15"},
2620                            {{vc, r13, r15, r14, LSL, r12},
2621                             "vc, r13, r15, r14, LSL, r12",
2622                             "vc_r13_r15_r14_LSL_r12"},
2623                            {{vs, r13, r10, r15, ASR, r8},
2624                             "vs, r13, r10, r15, ASR, r8",
2625                             "vs_r13_r10_r15_ASR_r8"},
2626                            {{cs, r10, r11, r15, ASR, r11},
2627                             "cs, r10, r11, r15, ASR, r11",
2628                             "cs_r10_r11_r15_ASR_r11"},
2629                            {{eq, r4, r15, r2, ASR, r2},
2630                             "eq, r4, r15, r2, ASR, r2",
2631                             "eq_r4_r15_r2_ASR_r2"},
2632                            {{cs, r11, r10, r15, LSL, r6},
2633                             "cs, r11, r10, r15, LSL, r6",
2634                             "cs_r11_r10_r15_LSL_r6"},
2635                            {{ne, r6, r0, r12, LSR, r15},
2636                             "ne, r6, r0, r12, LSR, r15",
2637                             "ne_r6_r0_r12_LSR_r15"},
2638                            {{pl, r15, r11, r13, ROR, r14},
2639                             "pl, r15, r11, r13, ROR, r14",
2640                             "pl_r15_r11_r13_ROR_r14"},
2641                            {{cs, r4, r9, r15, ASR, r4},
2642                             "cs, r4, r9, r15, ASR, r4",
2643                             "cs_r4_r9_r15_ASR_r4"},
2644                            {{le, r11, r15, r4, ASR, r13},
2645                             "le, r11, r15, r4, ASR, r13",
2646                             "le_r11_r15_r4_ASR_r13"},
2647                            {{ls, r7, r15, r9, ROR, r3},
2648                             "ls, r7, r15, r9, ROR, r3",
2649                             "ls_r7_r15_r9_ROR_r3"},
2650                            {{ge, r11, r10, r9, ROR, r15},
2651                             "ge, r11, r10, r9, ROR, r15",
2652                             "ge_r11_r10_r9_ROR_r15"},
2653                            {{lt, r15, r9, r6, ASR, r10},
2654                             "lt, r15, r9, r6, ASR, r10",
2655                             "lt_r15_r9_r6_ASR_r10"},
2656                            {{hi, r4, r1, r15, ASR, r9},
2657                             "hi, r4, r1, r15, ASR, r9",
2658                             "hi_r4_r1_r15_ASR_r9"},
2659                            {{le, r15, r15, r12, ROR, r5},
2660                             "le, r15, r15, r12, ROR, r5",
2661                             "le_r15_r15_r12_ROR_r5"},
2662                            {{ge, r0, r12, r5, ASR, r15},
2663                             "ge, r0, r12, r5, ASR, r15",
2664                             "ge_r0_r12_r5_ASR_r15"},
2665                            {{cs, r0, r1, r15, ASR, r1},
2666                             "cs, r0, r1, r15, ASR, r1",
2667                             "cs_r0_r1_r15_ASR_r1"},
2668                            {{le, r15, r0, r9, ROR, r5},
2669                             "le, r15, r0, r9, ROR, r5",
2670                             "le_r15_r0_r9_ROR_r5"},
2671                            {{le, r5, r4, r15, LSR, r10},
2672                             "le, r5, r4, r15, LSR, r10",
2673                             "le_r5_r4_r15_LSR_r10"},
2674                            {{eq, r1, r11, r15, LSR, r6},
2675                             "eq, r1, r11, r15, LSR, r6",
2676                             "eq_r1_r11_r15_LSR_r6"},
2677                            {{ge, r12, r14, r15, LSL, r14},
2678                             "ge, r12, r14, r15, LSL, r14",
2679                             "ge_r12_r14_r15_LSL_r14"},
2680                            {{ls, r2, r2, r13, LSL, r15},
2681                             "ls, r2, r2, r13, LSL, r15",
2682                             "ls_r2_r2_r13_LSL_r15"},
2683                            {{lt, r15, r8, r13, ROR, r3},
2684                             "lt, r15, r8, r13, ROR, r3",
2685                             "lt_r15_r8_r13_ROR_r3"},
2686                            {{ge, r12, r12, r15, ASR, r0},
2687                             "ge, r12, r12, r15, ASR, r0",
2688                             "ge_r12_r12_r15_ASR_r0"},
2689                            {{le, r15, r10, r13, ASR, r15},
2690                             "le, r15, r10, r13, ASR, r15",
2691                             "le_r15_r10_r13_ASR_r15"},
2692                            {{hi, r12, r8, r15, ROR, r15},
2693                             "hi, r12, r8, r15, ROR, r15",
2694                             "hi_r12_r8_r15_ROR_r15"},
2695                            {{pl, r5, r6, r15, ROR, r10},
2696                             "pl, r5, r6, r15, ROR, r10",
2697                             "pl_r5_r6_r15_ROR_r10"},
2698                            {{al, r0, r13, r15, LSL, r14},
2699                             "al, r0, r13, r15, LSL, r14",
2700                             "al_r0_r13_r15_LSL_r14"},
2701                            {{hi, r0, r15, r3, ASR, r3},
2702                             "hi, r0, r15, r3, ASR, r3",
2703                             "hi_r0_r15_r3_ASR_r3"},
2704                            {{ge, r1, r10, r11, LSR, r15},
2705                             "ge, r1, r10, r11, LSR, r15",
2706                             "ge_r1_r10_r11_LSR_r15"},
2707                            {{al, r15, r13, r11, LSR, r2},
2708                             "al, r15, r13, r11, LSR, r2",
2709                             "al_r15_r13_r11_LSR_r2"},
2710                            {{lt, r2, r6, r7, ROR, r15},
2711                             "lt, r2, r6, r7, ROR, r15",
2712                             "lt_r2_r6_r7_ROR_r15"},
2713                            {{ge, r11, r3, r15, ROR, r13},
2714                             "ge, r11, r3, r15, ROR, r13",
2715                             "ge_r11_r3_r15_ROR_r13"},
2716                            {{eq, r8, r13, r13, ASR, r15},
2717                             "eq, r8, r13, r13, ASR, r15",
2718                             "eq_r8_r13_r13_ASR_r15"},
2719                            {{pl, r10, r15, r7, LSR, r4},
2720                             "pl, r10, r15, r7, LSR, r4",
2721                             "pl_r10_r15_r7_LSR_r4"},
2722                            {{le, r15, r11, r10, ASR, r3},
2723                             "le, r15, r11, r10, ASR, r3",
2724                             "le_r15_r11_r10_ASR_r3"},
2725                            {{cs, r9, r15, r2, LSR, r4},
2726                             "cs, r9, r15, r2, LSR, r4",
2727                             "cs_r9_r15_r2_LSR_r4"},
2728                            {{mi, r15, r6, r7, ROR, r10},
2729                             "mi, r15, r6, r7, ROR, r10",
2730                             "mi_r15_r6_r7_ROR_r10"},
2731                            {{vs, r15, r9, r10, ASR, r10},
2732                             "vs, r15, r9, r10, ASR, r10",
2733                             "vs_r15_r9_r10_ASR_r10"},
2734                            {{vs, r12, r1, r2, ROR, r15},
2735                             "vs, r12, r1, r2, ROR, r15",
2736                             "vs_r12_r1_r2_ROR_r15"},
2737                            {{ne, r14, r4, r5, ASR, r15},
2738                             "ne, r14, r4, r5, ASR, r15",
2739                             "ne_r14_r4_r5_ASR_r15"},
2740                            {{ne, r15, r3, r14, LSL, r1},
2741                             "ne, r15, r3, r14, LSL, r1",
2742                             "ne_r15_r3_r14_LSL_r1"},
2743                            {{ge, r5, r11, r3, ASR, r15},
2744                             "ge, r5, r11, r3, ASR, r15",
2745                             "ge_r5_r11_r3_ASR_r15"},
2746                            {{lt, r15, r6, r1, ASR, r15},
2747                             "lt, r15, r6, r1, ASR, r15",
2748                             "lt_r15_r6_r1_ASR_r15"},
2749                            {{cs, r5, r2, r12, ASR, r15},
2750                             "cs, r5, r2, r12, ASR, r15",
2751                             "cs_r5_r2_r12_ASR_r15"},
2752                            {{cs, r14, r6, r1, ASR, r15},
2753                             "cs, r14, r6, r1, ASR, r15",
2754                             "cs_r14_r6_r1_ASR_r15"},
2755                            {{cs, r15, r11, r2, LSR, r15},
2756                             "cs, r15, r11, r2, LSR, r15",
2757                             "cs_r15_r11_r2_LSR_r15"},
2758                            {{eq, r15, r5, r3, ROR, r2},
2759                             "eq, r15, r5, r3, ROR, r2",
2760                             "eq_r15_r5_r3_ROR_r2"},
2761                            {{al, r4, r15, r2, LSR, r9},
2762                             "al, r4, r15, r2, LSR, r9",
2763                             "al_r4_r15_r2_LSR_r9"},
2764                            {{vc, r12, r3, r15, ASR, r4},
2765                             "vc, r12, r3, r15, ASR, r4",
2766                             "vc_r12_r3_r15_ASR_r4"},
2767                            {{al, r9, r2, r13, LSR, r15},
2768                             "al, r9, r2, r13, LSR, r15",
2769                             "al_r9_r2_r13_LSR_r15"},
2770                            {{ge, r0, r15, r1, ROR, r12},
2771                             "ge, r0, r15, r1, ROR, r12",
2772                             "ge_r0_r15_r1_ROR_r12"},
2773                            {{gt, r15, r10, r14, ROR, r2},
2774                             "gt, r15, r10, r14, ROR, r2",
2775                             "gt_r15_r10_r14_ROR_r2"},
2776                            {{cs, r11, r15, r8, LSL, r6},
2777                             "cs, r11, r15, r8, LSL, r6",
2778                             "cs_r11_r15_r8_LSL_r6"},
2779                            {{mi, r12, r15, r9, ASR, r8},
2780                             "mi, r12, r15, r9, ASR, r8",
2781                             "mi_r12_r15_r9_ASR_r8"},
2782                            {{vc, r2, r15, r1, ASR, r3},
2783                             "vc, r2, r15, r1, ASR, r3",
2784                             "vc_r2_r15_r1_ASR_r3"},
2785                            {{gt, r11, r11, r2, ROR, r15},
2786                             "gt, r11, r11, r2, ROR, r15",
2787                             "gt_r11_r11_r2_ROR_r15"},
2788                            {{cs, r15, r7, r11, LSR, r15},
2789                             "cs, r15, r7, r11, LSR, r15",
2790                             "cs_r15_r7_r11_LSR_r15"},
2791                            {{le, r15, r10, r3, ROR, r6},
2792                             "le, r15, r10, r3, ROR, r6",
2793                             "le_r15_r10_r3_ROR_r6"},
2794                            {{gt, r12, r15, r11, ROR, r14},
2795                             "gt, r12, r15, r11, ROR, r14",
2796                             "gt_r12_r15_r11_ROR_r14"},
2797                            {{ge, r0, r14, r15, ROR, r14},
2798                             "ge, r0, r14, r15, ROR, r14",
2799                             "ge_r0_r14_r15_ROR_r14"},
2800                            {{ls, r6, r15, r7, LSR, r4},
2801                             "ls, r6, r15, r7, LSR, r4",
2802                             "ls_r6_r15_r7_LSR_r4"},
2803                            {{cc, r2, r1, r4, LSL, r15},
2804                             "cc, r2, r1, r4, LSL, r15",
2805                             "cc_r2_r1_r4_LSL_r15"},
2806                            {{ge, r7, r15, r4, LSR, r1},
2807                             "ge, r7, r15, r4, LSR, r1",
2808                             "ge_r7_r15_r4_LSR_r1"},
2809                            {{ge, r13, r15, r3, LSR, r2},
2810                             "ge, r13, r15, r3, LSR, r2",
2811                             "ge_r13_r15_r3_LSR_r2"},
2812                            {{pl, r5, r14, r15, LSR, r8},
2813                             "pl, r5, r14, r15, LSR, r8",
2814                             "pl_r5_r14_r15_LSR_r8"},
2815                            {{mi, r10, r15, r11, ASR, r14},
2816                             "mi, r10, r15, r11, ASR, r14",
2817                             "mi_r10_r15_r11_ASR_r14"},
2818                            {{vc, r2, r10, r11, LSR, r15},
2819                             "vc, r2, r10, r11, LSR, r15",
2820                             "vc_r2_r10_r11_LSR_r15"},
2821                            {{ne, r8, r1, r15, LSR, r13},
2822                             "ne, r8, r1, r15, LSR, r13",
2823                             "ne_r8_r1_r15_LSR_r13"},
2824                            {{mi, r15, r12, r15, LSR, r10},
2825                             "mi, r15, r12, r15, LSR, r10",
2826                             "mi_r15_r12_r15_LSR_r10"},
2827                            {{le, r2, r15, r0, LSR, r5},
2828                             "le, r2, r15, r0, LSR, r5",
2829                             "le_r2_r15_r0_LSR_r5"},
2830                            {{cc, r3, r9, r9, ROR, r15},
2831                             "cc, r3, r9, r9, ROR, r15",
2832                             "cc_r3_r9_r9_ROR_r15"},
2833                            {{ls, r15, r8, r7, ASR, r3},
2834                             "ls, r15, r8, r7, ASR, r3",
2835                             "ls_r15_r8_r7_ASR_r3"},
2836                            {{cc, r7, r4, r15, LSL, r8},
2837                             "cc, r7, r4, r15, LSL, r8",
2838                             "cc_r7_r4_r15_LSL_r8"},
2839                            {{pl, r10, r15, r14, ASR, r15},
2840                             "pl, r10, r15, r14, ASR, r15",
2841                             "pl_r10_r15_r14_ASR_r15"},
2842                            {{cs, r9, r15, r15, LSR, r4},
2843                             "cs, r9, r15, r15, LSR, r4",
2844                             "cs_r9_r15_r15_LSR_r4"},
2845                            {{ne, r4, r2, r7, ROR, r15},
2846                             "ne, r4, r2, r7, ROR, r15",
2847                             "ne_r4_r2_r7_ROR_r15"},
2848                            {{ls, r6, r15, r13, ROR, r13},
2849                             "ls, r6, r15, r13, ROR, r13",
2850                             "ls_r6_r15_r13_ROR_r13"},
2851                            {{le, r12, r4, r1, ROR, r15},
2852                             "le, r12, r4, r1, ROR, r15",
2853                             "le_r12_r4_r1_ROR_r15"},
2854                            {{ge, r15, r15, r3, LSL, r14},
2855                             "ge, r15, r15, r3, LSL, r14",
2856                             "ge_r15_r15_r3_LSL_r14"},
2857                            {{le, r14, r15, r12, ASR, r13},
2858                             "le, r14, r15, r12, ASR, r13",
2859                             "le_r14_r15_r12_ASR_r13"},
2860                            {{hi, r5, r2, r2, ROR, r15},
2861                             "hi, r5, r2, r2, ROR, r15",
2862                             "hi_r5_r2_r2_ROR_r15"},
2863                            {{ne, r8, r13, r11, LSL, r15},
2864                             "ne, r8, r13, r11, LSL, r15",
2865                             "ne_r8_r13_r11_LSL_r15"},
2866                            {{al, r15, r0, r0, LSL, r10},
2867                             "al, r15, r0, r0, LSL, r10",
2868                             "al_r15_r0_r0_LSL_r10"},
2869                            {{ge, r11, r0, r6, LSL, r15},
2870                             "ge, r11, r0, r6, LSL, r15",
2871                             "ge_r11_r0_r6_LSL_r15"},
2872                            {{lt, r8, r15, r2, ROR, r13},
2873                             "lt, r8, r15, r2, ROR, r13",
2874                             "lt_r8_r15_r2_ROR_r13"},
2875                            {{hi, r15, r9, r3, LSR, r0},
2876                             "hi, r15, r9, r3, LSR, r0",
2877                             "hi_r15_r9_r3_LSR_r0"},
2878                            {{ls, r2, r15, r14, ASR, r2},
2879                             "ls, r2, r15, r14, ASR, r2",
2880                             "ls_r2_r15_r14_ASR_r2"},
2881                            {{gt, r3, r2, r11, ROR, r15},
2882                             "gt, r3, r2, r11, ROR, r15",
2883                             "gt_r3_r2_r11_ROR_r15"},
2884                            {{vs, r5, r0, r15, LSL, r3},
2885                             "vs, r5, r0, r15, LSL, r3",
2886                             "vs_r5_r0_r15_LSL_r3"},
2887                            {{ls, r15, r14, r13, ASR, r1},
2888                             "ls, r15, r14, r13, ASR, r1",
2889                             "ls_r15_r14_r13_ASR_r1"},
2890                            {{al, r11, r6, r15, LSR, r10},
2891                             "al, r11, r6, r15, LSR, r10",
2892                             "al_r11_r6_r15_LSR_r10"},
2893                            {{ls, r14, r2, r4, LSR, r15},
2894                             "ls, r14, r2, r4, LSR, r15",
2895                             "ls_r14_r2_r4_LSR_r15"},
2896                            {{vc, r13, r6, r15, LSL, r12},
2897                             "vc, r13, r6, r15, LSL, r12",
2898                             "vc_r13_r6_r15_LSL_r12"},
2899                            {{al, r15, r13, r6, ASR, r12},
2900                             "al, r15, r13, r6, ASR, r12",
2901                             "al_r15_r13_r6_ASR_r12"},
2902                            {{vc, r9, r2, r9, ASR, r15},
2903                             "vc, r9, r2, r9, ASR, r15",
2904                             "vc_r9_r2_r9_ASR_r15"},
2905                            {{eq, r15, r15, r3, LSR, r12},
2906                             "eq, r15, r15, r3, LSR, r12",
2907                             "eq_r15_r15_r3_LSR_r12"},
2908                            {{cs, r2, r15, r13, LSL, r9},
2909                             "cs, r2, r15, r13, LSL, r9",
2910                             "cs_r2_r15_r13_LSL_r9"},
2911                            {{eq, r9, r1, r8, ROR, r15},
2912                             "eq, r9, r1, r8, ROR, r15",
2913                             "eq_r9_r1_r8_ROR_r15"},
2914                            {{pl, r15, r0, r6, ROR, r0},
2915                             "pl, r15, r0, r6, ROR, r0",
2916                             "pl_r15_r0_r6_ROR_r0"},
2917                            {{eq, r15, r9, r3, ROR, r3},
2918                             "eq, r15, r9, r3, ROR, r3",
2919                             "eq_r15_r9_r3_ROR_r3"},
2920                            {{ls, r11, r14, r15, LSR, r0},
2921                             "ls, r11, r14, r15, LSR, r0",
2922                             "ls_r11_r14_r15_LSR_r0"},
2923                            {{vs, r14, r7, r15, LSL, r4},
2924                             "vs, r14, r7, r15, LSL, r4",
2925                             "vs_r14_r7_r15_LSL_r4"},
2926                            {{pl, r15, r6, r2, LSL, r0},
2927                             "pl, r15, r6, r2, LSL, r0",
2928                             "pl_r15_r6_r2_LSL_r0"},
2929                            {{vc, r15, r0, r14, ROR, r15},
2930                             "vc, r15, r0, r14, ROR, r15",
2931                             "vc_r15_r0_r14_ROR_r15"},
2932                            {{pl, r11, r13, r1, LSL, r15},
2933                             "pl, r11, r13, r1, LSL, r15",
2934                             "pl_r11_r13_r1_LSL_r15"},
2935                            {{pl, r10, r5, r6, LSL, r15},
2936                             "pl, r10, r5, r6, LSL, r15",
2937                             "pl_r10_r5_r6_LSL_r15"},
2938                            {{ge, r15, r1, r12, LSL, r12},
2939                             "ge, r15, r1, r12, LSL, r12",
2940                             "ge_r15_r1_r12_LSL_r12"},
2941                            {{cc, r0, r5, r12, LSR, r15},
2942                             "cc, r0, r5, r12, LSR, r15",
2943                             "cc_r0_r5_r12_LSR_r15"},
2944                            {{ls, r5, r15, r8, LSL, r2},
2945                             "ls, r5, r15, r8, LSL, r2",
2946                             "ls_r5_r15_r8_LSL_r2"},
2947                            {{eq, r15, r11, r15, LSL, r14},
2948                             "eq, r15, r11, r15, LSL, r14",
2949                             "eq_r15_r11_r15_LSL_r14"},
2950                            {{cc, r13, r15, r1, ROR, r5},
2951                             "cc, r13, r15, r1, ROR, r5",
2952                             "cc_r13_r15_r1_ROR_r5"},
2953                            {{ne, r3, r1, r15, LSL, r1},
2954                             "ne, r3, r1, r15, LSL, r1",
2955                             "ne_r3_r1_r15_LSL_r1"},
2956                            {{gt, r4, r15, r5, ASR, r2},
2957                             "gt, r4, r15, r5, ASR, r2",
2958                             "gt_r4_r15_r5_ASR_r2"},
2959                            {{le, r15, r5, r4, LSL, r9},
2960                             "le, r15, r5, r4, LSL, r9",
2961                             "le_r15_r5_r4_LSL_r9"},
2962                            {{pl, r15, r6, r12, ROR, r5},
2963                             "pl, r15, r6, r12, ROR, r5",
2964                             "pl_r15_r6_r12_ROR_r5"},
2965                            {{ge, r11, r15, r0, ASR, r0},
2966                             "ge, r11, r15, r0, ASR, r0",
2967                             "ge_r11_r15_r0_ASR_r0"},
2968                            {{ge, r10, r11, r15, ROR, r11},
2969                             "ge, r10, r11, r15, ROR, r11",
2970                             "ge_r10_r11_r15_ROR_r11"},
2971                            {{ge, r15, r8, r14, ASR, r2},
2972                             "ge, r15, r8, r14, ASR, r2",
2973                             "ge_r15_r8_r14_ASR_r2"},
2974                            {{ls, r15, r0, r8, LSL, r11},
2975                             "ls, r15, r0, r8, LSL, r11",
2976                             "ls_r15_r0_r8_LSL_r11"},
2977                            {{pl, r6, r9, r15, ASR, r0},
2978                             "pl, r6, r9, r15, ASR, r0",
2979                             "pl_r6_r9_r15_ASR_r0"},
2980                            {{cc, r12, r7, r15, LSR, r1},
2981                             "cc, r12, r7, r15, LSR, r1",
2982                             "cc_r12_r7_r15_LSR_r1"},
2983                            {{al, r6, r15, r10, ASR, r11},
2984                             "al, r6, r15, r10, ASR, r11",
2985                             "al_r6_r15_r10_ASR_r11"},
2986                            {{pl, r15, r5, r4, LSR, r1},
2987                             "pl, r15, r5, r4, LSR, r1",
2988                             "pl_r15_r5_r4_LSR_r1"},
2989                            {{cs, r8, r7, r15, LSL, r6},
2990                             "cs, r8, r7, r15, LSL, r6",
2991                             "cs_r8_r7_r15_LSL_r6"},
2992                            {{eq, r15, r3, r10, ROR, r2},
2993                             "eq, r15, r3, r10, ROR, r2",
2994                             "eq_r15_r3_r10_ROR_r2"},
2995                            {{vc, r15, r7, r5, ASR, r7},
2996                             "vc, r15, r7, r5, ASR, r7",
2997                             "vc_r15_r7_r5_ASR_r7"},
2998                            {{ge, r8, r9, r4, ASR, r15},
2999                             "ge, r8, r9, r4, ASR, r15",
3000                             "ge_r8_r9_r4_ASR_r15"},
3001                            {{gt, r5, r9, r14, ROR, r15},
3002                             "gt, r5, r9, r14, ROR, r15",
3003                             "gt_r5_r9_r14_ROR_r15"},
3004                            {{mi, r15, r15, r2, LSL, r5},
3005                             "mi, r15, r15, r2, LSL, r5",
3006                             "mi_r15_r15_r2_LSL_r5"},
3007                            {{lt, r14, r15, r13, ROR, r8},
3008                             "lt, r14, r15, r13, ROR, r8",
3009                             "lt_r14_r15_r13_ROR_r8"},
3010                            {{ge, r15, r15, r8, LSL, r11},
3011                             "ge, r15, r15, r8, LSL, r11",
3012                             "ge_r15_r15_r8_LSL_r11"},
3013                            {{al, r15, r11, r8, ROR, r7},
3014                             "al, r15, r11, r8, ROR, r7",
3015                             "al_r15_r11_r8_ROR_r7"},
3016                            {{mi, r8, r13, r9, LSR, r15},
3017                             "mi, r8, r13, r9, LSR, r15",
3018                             "mi_r8_r13_r9_LSR_r15"},
3019                            {{vc, r1, r15, r14, ASR, r9},
3020                             "vc, r1, r15, r14, ASR, r9",
3021                             "vc_r1_r15_r14_ASR_r9"},
3022                            {{ge, r10, r6, r11, LSL, r15},
3023                             "ge, r10, r6, r11, LSL, r15",
3024                             "ge_r10_r6_r11_LSL_r15"},
3025                            {{pl, r1, r15, r8, LSR, r15},
3026                             "pl, r1, r15, r8, LSR, r15",
3027                             "pl_r1_r15_r8_LSR_r15"},
3028                            {{ge, r10, r15, r10, LSL, r15},
3029                             "ge, r10, r15, r10, LSL, r15",
3030                             "ge_r10_r15_r10_LSL_r15"},
3031                            {{cc, r0, r8, r4, LSL, r15},
3032                             "cc, r0, r8, r4, LSL, r15",
3033                             "cc_r0_r8_r4_LSL_r15"},
3034                            {{pl, r15, r0, r7, ROR, r12},
3035                             "pl, r15, r0, r7, ROR, r12",
3036                             "pl_r15_r0_r7_ROR_r12"},
3037                            {{hi, r15, r7, r5, LSL, r7},
3038                             "hi, r15, r7, r5, LSL, r7",
3039                             "hi_r15_r7_r5_LSL_r7"},
3040                            {{ne, r15, r9, r15, LSR, r5},
3041                             "ne, r15, r9, r15, LSR, r5",
3042                             "ne_r15_r9_r15_LSR_r5"},
3043                            {{gt, r13, r13, r15, LSL, r2},
3044                             "gt, r13, r13, r15, LSL, r2",
3045                             "gt_r13_r13_r15_LSL_r2"},
3046                            {{cs, r1, r13, r15, LSL, r13},
3047                             "cs, r1, r13, r15, LSL, r13",
3048                             "cs_r1_r13_r15_LSL_r13"},
3049                            {{ge, r8, r15, r10, LSR, r15},
3050                             "ge, r8, r15, r10, LSR, r15",
3051                             "ge_r8_r15_r10_LSR_r15"},
3052                            {{cs, r15, r2, r15, LSR, r8},
3053                             "cs, r15, r2, r15, LSR, r8",
3054                             "cs_r15_r2_r15_LSR_r8"},
3055                            {{le, r13, r11, r9, ASR, r15},
3056                             "le, r13, r11, r9, ASR, r15",
3057                             "le_r13_r11_r9_ASR_r15"},
3058                            {{cs, r14, r15, r2, LSL, r10},
3059                             "cs, r14, r15, r2, LSL, r10",
3060                             "cs_r14_r15_r2_LSL_r10"},
3061                            {{vc, r2, r15, r13, LSR, r9},
3062                             "vc, r2, r15, r13, LSR, r9",
3063                             "vc_r2_r15_r13_LSR_r9"},
3064                            {{le, r1, r15, r2, LSL, r0},
3065                             "le, r1, r15, r2, LSL, r0",
3066                             "le_r1_r15_r2_LSL_r0"},
3067                            {{vc, r15, r12, r0, ASR, r1},
3068                             "vc, r15, r12, r0, ASR, r1",
3069                             "vc_r15_r12_r0_ASR_r1"},
3070                            {{cs, r2, r14, r6, LSR, r15},
3071                             "cs, r2, r14, r6, LSR, r15",
3072                             "cs_r2_r14_r6_LSR_r15"},
3073                            {{pl, r9, r2, r12, LSL, r15},
3074                             "pl, r9, r2, r12, LSL, r15",
3075                             "pl_r9_r2_r12_LSL_r15"},
3076                            {{mi, r10, r13, r14, LSL, r15},
3077                             "mi, r10, r13, r14, LSL, r15",
3078                             "mi_r10_r13_r14_LSL_r15"},
3079                            {{vc, r1, r13, r3, ASR, r15},
3080                             "vc, r1, r13, r3, ASR, r15",
3081                             "vc_r1_r13_r3_ASR_r15"},
3082                            {{pl, r14, r9, r5, ASR, r15},
3083                             "pl, r14, r9, r5, ASR, r15",
3084                             "pl_r14_r9_r5_ASR_r15"},
3085                            {{cs, r7, r14, r15, LSL, r5},
3086                             "cs, r7, r14, r15, LSL, r5",
3087                             "cs_r7_r14_r15_LSL_r5"},
3088                            {{lt, r15, r10, r10, ASR, r4},
3089                             "lt, r15, r10, r10, ASR, r4",
3090                             "lt_r15_r10_r10_ASR_r4"},
3091                            {{al, r14, r15, r2, LSR, r13},
3092                             "al, r14, r15, r2, LSR, r13",
3093                             "al_r14_r15_r2_LSR_r13"},
3094                            {{le, r4, r15, r13, LSL, r7},
3095                             "le, r4, r15, r13, LSL, r7",
3096                             "le_r4_r15_r13_LSL_r7"},
3097                            {{al, r15, r6, r6, ROR, r5},
3098                             "al, r15, r6, r6, ROR, r5",
3099                             "al_r15_r6_r6_ROR_r5"},
3100                            {{al, r11, r8, r4, ROR, r15},
3101                             "al, r11, r8, r4, ROR, r15",
3102                             "al_r11_r8_r4_ROR_r15"},
3103                            {{lt, r13, r7, r6, LSR, r15},
3104                             "lt, r13, r7, r6, LSR, r15",
3105                             "lt_r13_r7_r6_LSR_r15"}};
3106 #endif
3107 
3108 typedef void (MacroAssembler::*Fn)(Condition cond,
3109                                    Register rd,
3110                                    Register rn,
3111                                    const Operand& op);
3112 
3113 #ifdef VIXL_NEGATIVE_TESTING
TestHelper(Fn instruction,const char * mnemonic)3114 void TestHelper(Fn instruction, const char* mnemonic) {
3115   for (unsigned i = 0; i < ARRAY_SIZE(kTests); i++) {
3116     MacroAssembler masm(BUF_SIZE);
3117     masm.UseA32();
3118 
3119     // Values to pass to the assembler.
3120     Condition cond = kTests[i].operands.cond;
3121     Register rd = kTests[i].operands.rd;
3122     Register rn = kTests[i].operands.rn;
3123     Register rm = kTests[i].operands.rm;
3124     ShiftType shift = kTests[i].operands.shift;
3125     Register rs = kTests[i].operands.rs;
3126     Operand op(rm, shift, rs);
3127 
3128     try {
3129       {
3130         ExactAssemblyScope scope(&masm, 4, ExactAssemblyScope::kMaximumSize);
3131         (masm.*instruction)(cond, rd, rn, op);
3132       }
3133       printf("\nNegative test for: %s\n", mnemonic);
3134       printf("%s:%d:%s\nNo exception raised.\n",
3135              __FILE__,
3136              __LINE__,
3137              masm.IsUsingT32() ? "T32" : "A32");
3138       abort();
3139     } catch (const std::runtime_error&) {
3140       // Nothing to do, test passed.
3141       // TODO: Consider checking the error message here, if possible.
3142     }
3143   }
3144 }
3145 #else
TestHelper(Fn,const char *)3146 void TestHelper(Fn, const char*) {
3147   printf(
3148       "Skipping negative tests. To enable them, build with"
3149       " 'negative_testing=on'.\n");
3150 }
3151 #endif
3152 
3153 // Instantiate tests for each instruction in the list.
3154 #define TEST(mnemonic)                                                         \
3155   void Test_##mnemonic() { TestHelper(&MacroAssembler::mnemonic, #mnemonic); } \
3156   Test test_##mnemonic(                                                        \
3157       "AARCH32_ASSEMBLER_NEGATIVE_COND_RD_RN_OPERAND_RM_SHIFT_RS_" #mnemonic   \
3158       "_A32",                                                                  \
3159       &Test_##mnemonic);
3160 FOREACH_INSTRUCTION(TEST)
3161 #undef TEST
3162 
3163 }  // namespace
3164 
3165 }  // namespace aarch32
3166 }  // namespace vixl
3167