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