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