• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // Copyright 2015, 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 using tools/generate_simulator_traces.py.
30 //
31 // PLEASE DO NOT EDIT.
32 // ---------------------------------------------------------------------
33 
34 #ifndef VIXL_ASSEMBLER_COND_RD_RN_OPERAND_RM_SHIFT_AMOUNT_1TO32_SUB_A32_H_
35 #define VIXL_ASSEMBLER_COND_RD_RN_OPERAND_RM_SHIFT_AMOUNT_1TO32_SUB_A32_H_
36 
37 const byte kInstruction_sub_eq_r13_r6_r7_ASR_5[] = {
38   0xc7, 0xd2, 0x46, 0x00 // sub eq r13 r6 r7 ASR 5
39 };
40 const byte kInstruction_sub_mi_r8_r11_r8_ASR_32[] = {
41   0x48, 0x80, 0x4b, 0x40 // sub mi r8 r11 r8 ASR 32
42 };
43 const byte kInstruction_sub_hi_r2_r3_r10_ASR_18[] = {
44   0x4a, 0x29, 0x43, 0x80 // sub hi r2 r3 r10 ASR 18
45 };
46 const byte kInstruction_sub_ls_r13_r8_r14_LSR_32[] = {
47   0x2e, 0xd0, 0x48, 0x90 // sub ls r13 r8 r14 LSR 32
48 };
49 const byte kInstruction_sub_cc_r8_r9_r2_ASR_3[] = {
50   0xc2, 0x81, 0x49, 0x30 // sub cc r8 r9 r2 ASR 3
51 };
52 const byte kInstruction_sub_ls_r14_r2_r5_LSR_2[] = {
53   0x25, 0xe1, 0x42, 0x90 // sub ls r14 r2 r5 LSR 2
54 };
55 const byte kInstruction_sub_pl_r8_r6_r1_ASR_31[] = {
56   0xc1, 0x8f, 0x46, 0x50 // sub pl r8 r6 r1 ASR 31
57 };
58 const byte kInstruction_sub_le_r2_r0_r14_LSR_3[] = {
59   0xae, 0x21, 0x40, 0xd0 // sub le r2 r0 r14 LSR 3
60 };
61 const byte kInstruction_sub_ne_r2_r0_r13_LSR_15[] = {
62   0xad, 0x27, 0x40, 0x10 // sub ne r2 r0 r13 LSR 15
63 };
64 const byte kInstruction_sub_ge_r9_r12_r3_LSR_8[] = {
65   0x23, 0x94, 0x4c, 0xa0 // sub ge r9 r12 r3 LSR 8
66 };
67 const byte kInstruction_sub_pl_r13_r8_r1_ASR_7[] = {
68   0xc1, 0xd3, 0x48, 0x50 // sub pl r13 r8 r1 ASR 7
69 };
70 const byte kInstruction_sub_cs_r10_r13_r4_LSR_5[] = {
71   0xa4, 0xa2, 0x4d, 0x20 // sub cs r10 r13 r4 LSR 5
72 };
73 const byte kInstruction_sub_pl_r13_r8_r11_ASR_17[] = {
74   0xcb, 0xd8, 0x48, 0x50 // sub pl r13 r8 r11 ASR 17
75 };
76 const byte kInstruction_sub_cs_r8_r7_r3_LSR_9[] = {
77   0xa3, 0x84, 0x47, 0x20 // sub cs r8 r7 r3 LSR 9
78 };
79 const byte kInstruction_sub_vc_r11_r2_r7_LSR_30[] = {
80   0x27, 0xbf, 0x42, 0x70 // sub vc r11 r2 r7 LSR 30
81 };
82 const byte kInstruction_sub_ge_r6_r14_r7_LSR_19[] = {
83   0xa7, 0x69, 0x4e, 0xa0 // sub ge r6 r14 r7 LSR 19
84 };
85 const byte kInstruction_sub_cc_r11_r3_r0_LSR_20[] = {
86   0x20, 0xba, 0x43, 0x30 // sub cc r11 r3 r0 LSR 20
87 };
88 const byte kInstruction_sub_lt_r10_r9_r7_ASR_25[] = {
89   0xc7, 0xac, 0x49, 0xb0 // sub lt r10 r9 r7 ASR 25
90 };
91 const byte kInstruction_sub_ne_r8_r0_r12_LSR_30[] = {
92   0x2c, 0x8f, 0x40, 0x10 // sub ne r8 r0 r12 LSR 30
93 };
94 const byte kInstruction_sub_vc_r1_r4_r13_ASR_32[] = {
95   0x4d, 0x10, 0x44, 0x70 // sub vc r1 r4 r13 ASR 32
96 };
97 const byte kInstruction_sub_al_r8_r14_r8_LSR_14[] = {
98   0x28, 0x87, 0x4e, 0xe0 // sub al r8 r14 r8 LSR 14
99 };
100 const byte kInstruction_sub_pl_r2_r12_r7_ASR_2[] = {
101   0x47, 0x21, 0x4c, 0x50 // sub pl r2 r12 r7 ASR 2
102 };
103 const byte kInstruction_sub_pl_r11_r1_r0_LSR_14[] = {
104   0x20, 0xb7, 0x41, 0x50 // sub pl r11 r1 r0 LSR 14
105 };
106 const byte kInstruction_sub_gt_r5_r11_r9_ASR_24[] = {
107   0x49, 0x5c, 0x4b, 0xc0 // sub gt r5 r11 r9 ASR 24
108 };
109 const byte kInstruction_sub_eq_r8_r9_r12_ASR_6[] = {
110   0x4c, 0x83, 0x49, 0x00 // sub eq r8 r9 r12 ASR 6
111 };
112 const byte kInstruction_sub_cs_r10_r9_r12_LSR_30[] = {
113   0x2c, 0xaf, 0x49, 0x20 // sub cs r10 r9 r12 LSR 30
114 };
115 const byte kInstruction_sub_lt_r7_r11_r2_ASR_21[] = {
116   0xc2, 0x7a, 0x4b, 0xb0 // sub lt r7 r11 r2 ASR 21
117 };
118 const byte kInstruction_sub_eq_r14_r3_r11_LSR_10[] = {
119   0x2b, 0xe5, 0x43, 0x00 // sub eq r14 r3 r11 LSR 10
120 };
121 const byte kInstruction_sub_vs_r4_r11_r5_ASR_7[] = {
122   0xc5, 0x43, 0x4b, 0x60 // sub vs r4 r11 r5 ASR 7
123 };
124 const byte kInstruction_sub_le_r7_r14_r12_ASR_3[] = {
125   0xcc, 0x71, 0x4e, 0xd0 // sub le r7 r14 r12 ASR 3
126 };
127 const byte kInstruction_sub_ne_r7_r4_r0_ASR_17[] = {
128   0xc0, 0x78, 0x44, 0x10 // sub ne r7 r4 r0 ASR 17
129 };
130 const byte kInstruction_sub_hi_r5_r11_r3_ASR_4[] = {
131   0x43, 0x52, 0x4b, 0x80 // sub hi r5 r11 r3 ASR 4
132 };
133 const byte kInstruction_sub_cs_r8_r7_r9_LSR_24[] = {
134   0x29, 0x8c, 0x47, 0x20 // sub cs r8 r7 r9 LSR 24
135 };
136 const byte kInstruction_sub_vc_r3_r9_r13_LSR_7[] = {
137   0xad, 0x33, 0x49, 0x70 // sub vc r3 r9 r13 LSR 7
138 };
139 const byte kInstruction_sub_lt_r6_r14_r3_LSR_2[] = {
140   0x23, 0x61, 0x4e, 0xb0 // sub lt r6 r14 r3 LSR 2
141 };
142 const byte kInstruction_sub_lt_r10_r14_r2_LSR_29[] = {
143   0xa2, 0xae, 0x4e, 0xb0 // sub lt r10 r14 r2 LSR 29
144 };
145 const byte kInstruction_sub_mi_r8_r12_r0_ASR_30[] = {
146   0x40, 0x8f, 0x4c, 0x40 // sub mi r8 r12 r0 ASR 30
147 };
148 const byte kInstruction_sub_ls_r9_r0_r5_LSR_25[] = {
149   0xa5, 0x9c, 0x40, 0x90 // sub ls r9 r0 r5 LSR 25
150 };
151 const byte kInstruction_sub_ls_r10_r12_r5_ASR_21[] = {
152   0xc5, 0xaa, 0x4c, 0x90 // sub ls r10 r12 r5 ASR 21
153 };
154 const byte kInstruction_sub_vs_r9_r10_r0_LSR_8[] = {
155   0x20, 0x94, 0x4a, 0x60 // sub vs r9 r10 r0 LSR 8
156 };
157 const byte kInstruction_sub_mi_r13_r9_r9_LSR_32[] = {
158   0x29, 0xd0, 0x49, 0x40 // sub mi r13 r9 r9 LSR 32
159 };
160 const byte kInstruction_sub_mi_r10_r14_r4_ASR_5[] = {
161   0xc4, 0xa2, 0x4e, 0x40 // sub mi r10 r14 r4 ASR 5
162 };
163 const byte kInstruction_sub_ls_r12_r2_r12_LSR_7[] = {
164   0xac, 0xc3, 0x42, 0x90 // sub ls r12 r2 r12 LSR 7
165 };
166 const byte kInstruction_sub_ne_r5_r5_r11_LSR_20[] = {
167   0x2b, 0x5a, 0x45, 0x10 // sub ne r5 r5 r11 LSR 20
168 };
169 const byte kInstruction_sub_vc_r5_r2_r13_ASR_15[] = {
170   0xcd, 0x57, 0x42, 0x70 // sub vc r5 r2 r13 ASR 15
171 };
172 const byte kInstruction_sub_cc_r8_r13_r0_LSR_2[] = {
173   0x20, 0x81, 0x4d, 0x30 // sub cc r8 r13 r0 LSR 2
174 };
175 const byte kInstruction_sub_hi_r5_r5_r12_LSR_9[] = {
176   0xac, 0x54, 0x45, 0x80 // sub hi r5 r5 r12 LSR 9
177 };
178 const byte kInstruction_sub_cs_r9_r10_r5_ASR_29[] = {
179   0xc5, 0x9e, 0x4a, 0x20 // sub cs r9 r10 r5 ASR 29
180 };
181 const byte kInstruction_sub_le_r14_r1_r2_ASR_10[] = {
182   0x42, 0xe5, 0x41, 0xd0 // sub le r14 r1 r2 ASR 10
183 };
184 const byte kInstruction_sub_mi_r1_r11_r5_LSR_23[] = {
185   0xa5, 0x1b, 0x4b, 0x40 // sub mi r1 r11 r5 LSR 23
186 };
187 const byte kInstruction_sub_vc_r3_r0_r12_LSR_9[] = {
188   0xac, 0x34, 0x40, 0x70 // sub vc r3 r0 r12 LSR 9
189 };
190 const byte kInstruction_sub_cs_r2_r4_r11_LSR_14[] = {
191   0x2b, 0x27, 0x44, 0x20 // sub cs r2 r4 r11 LSR 14
192 };
193 const byte kInstruction_sub_gt_r8_r13_r2_ASR_29[] = {
194   0xc2, 0x8e, 0x4d, 0xc0 // sub gt r8 r13 r2 ASR 29
195 };
196 const byte kInstruction_sub_vc_r1_r8_r13_ASR_9[] = {
197   0xcd, 0x14, 0x48, 0x70 // sub vc r1 r8 r13 ASR 9
198 };
199 const byte kInstruction_sub_vs_r3_r10_r6_LSR_29[] = {
200   0xa6, 0x3e, 0x4a, 0x60 // sub vs r3 r10 r6 LSR 29
201 };
202 const byte kInstruction_sub_ge_r1_r3_r6_LSR_6[] = {
203   0x26, 0x13, 0x43, 0xa0 // sub ge r1 r3 r6 LSR 6
204 };
205 const byte kInstruction_sub_cs_r5_r1_r9_ASR_4[] = {
206   0x49, 0x52, 0x41, 0x20 // sub cs r5 r1 r9 ASR 4
207 };
208 const byte kInstruction_sub_le_r3_r6_r14_ASR_22[] = {
209   0x4e, 0x3b, 0x46, 0xd0 // sub le r3 r6 r14 ASR 22
210 };
211 const byte kInstruction_sub_le_r4_r4_r9_LSR_15[] = {
212   0xa9, 0x47, 0x44, 0xd0 // sub le r4 r4 r9 LSR 15
213 };
214 const byte kInstruction_sub_le_r13_r3_r1_LSR_25[] = {
215   0xa1, 0xdc, 0x43, 0xd0 // sub le r13 r3 r1 LSR 25
216 };
217 const byte kInstruction_sub_cc_r8_r14_r8_ASR_5[] = {
218   0xc8, 0x82, 0x4e, 0x30 // sub cc r8 r14 r8 ASR 5
219 };
220 const byte kInstruction_sub_ge_r6_r12_r0_ASR_14[] = {
221   0x40, 0x67, 0x4c, 0xa0 // sub ge r6 r12 r0 ASR 14
222 };
223 const byte kInstruction_sub_gt_r3_r6_r10_LSR_15[] = {
224   0xaa, 0x37, 0x46, 0xc0 // sub gt r3 r6 r10 LSR 15
225 };
226 const byte kInstruction_sub_cs_r0_r5_r6_LSR_29[] = {
227   0xa6, 0x0e, 0x45, 0x20 // sub cs r0 r5 r6 LSR 29
228 };
229 const byte kInstruction_sub_pl_r6_r4_r3_LSR_13[] = {
230   0xa3, 0x66, 0x44, 0x50 // sub pl r6 r4 r3 LSR 13
231 };
232 const byte kInstruction_sub_pl_r8_r12_r6_LSR_5[] = {
233   0xa6, 0x82, 0x4c, 0x50 // sub pl r8 r12 r6 LSR 5
234 };
235 const byte kInstruction_sub_vc_r13_r7_r0_LSR_18[] = {
236   0x20, 0xd9, 0x47, 0x70 // sub vc r13 r7 r0 LSR 18
237 };
238 const byte kInstruction_sub_ne_r0_r12_r8_ASR_1[] = {
239   0xc8, 0x00, 0x4c, 0x10 // sub ne r0 r12 r8 ASR 1
240 };
241 const byte kInstruction_sub_ls_r8_r2_r10_ASR_14[] = {
242   0x4a, 0x87, 0x42, 0x90 // sub ls r8 r2 r10 ASR 14
243 };
244 const byte kInstruction_sub_al_r5_r3_r9_ASR_2[] = {
245   0x49, 0x51, 0x43, 0xe0 // sub al r5 r3 r9 ASR 2
246 };
247 const byte kInstruction_sub_vc_r1_r14_r13_LSR_4[] = {
248   0x2d, 0x12, 0x4e, 0x70 // sub vc r1 r14 r13 LSR 4
249 };
250 const byte kInstruction_sub_vc_r0_r10_r4_LSR_30[] = {
251   0x24, 0x0f, 0x4a, 0x70 // sub vc r0 r10 r4 LSR 30
252 };
253 const byte kInstruction_sub_al_r3_r0_r11_ASR_14[] = {
254   0x4b, 0x37, 0x40, 0xe0 // sub al r3 r0 r11 ASR 14
255 };
256 const byte kInstruction_sub_vs_r3_r11_r10_ASR_23[] = {
257   0xca, 0x3b, 0x4b, 0x60 // sub vs r3 r11 r10 ASR 23
258 };
259 const byte kInstruction_sub_ls_r0_r9_r0_ASR_8[] = {
260   0x40, 0x04, 0x49, 0x90 // sub ls r0 r9 r0 ASR 8
261 };
262 const byte kInstruction_sub_le_r2_r8_r10_LSR_5[] = {
263   0xaa, 0x22, 0x48, 0xd0 // sub le r2 r8 r10 LSR 5
264 };
265 const byte kInstruction_sub_cs_r0_r5_r0_LSR_31[] = {
266   0xa0, 0x0f, 0x45, 0x20 // sub cs r0 r5 r0 LSR 31
267 };
268 const byte kInstruction_sub_cc_r1_r10_r13_LSR_27[] = {
269   0xad, 0x1d, 0x4a, 0x30 // sub cc r1 r10 r13 LSR 27
270 };
271 const byte kInstruction_sub_ge_r11_r13_r12_ASR_17[] = {
272   0xcc, 0xb8, 0x4d, 0xa0 // sub ge r11 r13 r12 ASR 17
273 };
274 const byte kInstruction_sub_eq_r2_r9_r4_LSR_12[] = {
275   0x24, 0x26, 0x49, 0x00 // sub eq r2 r9 r4 LSR 12
276 };
277 const byte kInstruction_sub_ge_r4_r14_r0_ASR_13[] = {
278   0xc0, 0x46, 0x4e, 0xa0 // sub ge r4 r14 r0 ASR 13
279 };
280 const byte kInstruction_sub_vc_r1_r6_r0_ASR_16[] = {
281   0x40, 0x18, 0x46, 0x70 // sub vc r1 r6 r0 ASR 16
282 };
283 const byte kInstruction_sub_hi_r7_r9_r12_LSR_11[] = {
284   0xac, 0x75, 0x49, 0x80 // sub hi r7 r9 r12 LSR 11
285 };
286 const byte kInstruction_sub_eq_r14_r11_r12_LSR_29[] = {
287   0xac, 0xee, 0x4b, 0x00 // sub eq r14 r11 r12 LSR 29
288 };
289 const byte kInstruction_sub_ge_r14_r13_r4_ASR_23[] = {
290   0xc4, 0xeb, 0x4d, 0xa0 // sub ge r14 r13 r4 ASR 23
291 };
292 const byte kInstruction_sub_pl_r8_r0_r14_ASR_25[] = {
293   0xce, 0x8c, 0x40, 0x50 // sub pl r8 r0 r14 ASR 25
294 };
295 const byte kInstruction_sub_ne_r7_r13_r12_LSR_14[] = {
296   0x2c, 0x77, 0x4d, 0x10 // sub ne r7 r13 r12 LSR 14
297 };
298 const byte kInstruction_sub_vs_r13_r4_r7_ASR_10[] = {
299   0x47, 0xd5, 0x44, 0x60 // sub vs r13 r4 r7 ASR 10
300 };
301 const byte kInstruction_sub_mi_r3_r14_r9_ASR_15[] = {
302   0xc9, 0x37, 0x4e, 0x40 // sub mi r3 r14 r9 ASR 15
303 };
304 const byte kInstruction_sub_cs_r14_r9_r14_ASR_25[] = {
305   0xce, 0xec, 0x49, 0x20 // sub cs r14 r9 r14 ASR 25
306 };
307 const byte kInstruction_sub_cc_r11_r7_r4_LSR_4[] = {
308   0x24, 0xb2, 0x47, 0x30 // sub cc r11 r7 r4 LSR 4
309 };
310 const byte kInstruction_sub_cc_r11_r7_r2_ASR_1[] = {
311   0xc2, 0xb0, 0x47, 0x30 // sub cc r11 r7 r2 ASR 1
312 };
313 const byte kInstruction_sub_al_r0_r5_r5_LSR_11[] = {
314   0xa5, 0x05, 0x45, 0xe0 // sub al r0 r5 r5 LSR 11
315 };
316 const byte kInstruction_sub_eq_r3_r5_r13_LSR_3[] = {
317   0xad, 0x31, 0x45, 0x00 // sub eq r3 r5 r13 LSR 3
318 };
319 const byte kInstruction_sub_ge_r11_r1_r1_ASR_24[] = {
320   0x41, 0xbc, 0x41, 0xa0 // sub ge r11 r1 r1 ASR 24
321 };
322 const byte kInstruction_sub_lt_r13_r12_r12_LSR_9[] = {
323   0xac, 0xd4, 0x4c, 0xb0 // sub lt r13 r12 r12 LSR 9
324 };
325 const byte kInstruction_sub_cs_r13_r1_r14_LSR_26[] = {
326   0x2e, 0xdd, 0x41, 0x20 // sub cs r13 r1 r14 LSR 26
327 };
328 const byte kInstruction_sub_ge_r10_r4_r4_LSR_31[] = {
329   0xa4, 0xaf, 0x44, 0xa0 // sub ge r10 r4 r4 LSR 31
330 };
331 const byte kInstruction_sub_pl_r7_r7_r5_ASR_5[] = {
332   0xc5, 0x72, 0x47, 0x50 // sub pl r7 r7 r5 ASR 5
333 };
334 const byte kInstruction_sub_eq_r2_r13_r10_ASR_26[] = {
335   0x4a, 0x2d, 0x4d, 0x00 // sub eq r2 r13 r10 ASR 26
336 };
337 const byte kInstruction_sub_ne_r5_r8_r13_LSR_23[] = {
338   0xad, 0x5b, 0x48, 0x10 // sub ne r5 r8 r13 LSR 23
339 };
340 const byte kInstruction_sub_al_r0_r5_r12_LSR_1[] = {
341   0xac, 0x00, 0x45, 0xe0 // sub al r0 r5 r12 LSR 1
342 };
343 const byte kInstruction_sub_al_r10_r11_r4_ASR_23[] = {
344   0xc4, 0xab, 0x4b, 0xe0 // sub al r10 r11 r4 ASR 23
345 };
346 const byte kInstruction_sub_al_r0_r11_r10_LSR_1[] = {
347   0xaa, 0x00, 0x4b, 0xe0 // sub al r0 r11 r10 LSR 1
348 };
349 const byte kInstruction_sub_eq_r9_r9_r2_LSR_18[] = {
350   0x22, 0x99, 0x49, 0x00 // sub eq r9 r9 r2 LSR 18
351 };
352 const byte kInstruction_sub_mi_r2_r9_r8_ASR_25[] = {
353   0xc8, 0x2c, 0x49, 0x40 // sub mi r2 r9 r8 ASR 25
354 };
355 const byte kInstruction_sub_vc_r6_r7_r1_LSR_3[] = {
356   0xa1, 0x61, 0x47, 0x70 // sub vc r6 r7 r1 LSR 3
357 };
358 const byte kInstruction_sub_pl_r6_r10_r0_ASR_29[] = {
359   0xc0, 0x6e, 0x4a, 0x50 // sub pl r6 r10 r0 ASR 29
360 };
361 const byte kInstruction_sub_gt_r9_r5_r5_ASR_10[] = {
362   0x45, 0x95, 0x45, 0xc0 // sub gt r9 r5 r5 ASR 10
363 };
364 const byte kInstruction_sub_mi_r1_r0_r3_LSR_28[] = {
365   0x23, 0x1e, 0x40, 0x40 // sub mi r1 r0 r3 LSR 28
366 };
367 const byte kInstruction_sub_ne_r10_r11_r9_LSR_8[] = {
368   0x29, 0xa4, 0x4b, 0x10 // sub ne r10 r11 r9 LSR 8
369 };
370 const byte kInstruction_sub_ls_r1_r9_r3_ASR_29[] = {
371   0xc3, 0x1e, 0x49, 0x90 // sub ls r1 r9 r3 ASR 29
372 };
373 const byte kInstruction_sub_eq_r13_r10_r13_LSR_9[] = {
374   0xad, 0xd4, 0x4a, 0x00 // sub eq r13 r10 r13 LSR 9
375 };
376 const byte kInstruction_sub_mi_r13_r0_r3_ASR_20[] = {
377   0x43, 0xda, 0x40, 0x40 // sub mi r13 r0 r3 ASR 20
378 };
379 const byte kInstruction_sub_eq_r14_r13_r12_ASR_18[] = {
380   0x4c, 0xe9, 0x4d, 0x00 // sub eq r14 r13 r12 ASR 18
381 };
382 const byte kInstruction_sub_mi_r10_r7_r6_ASR_2[] = {
383   0x46, 0xa1, 0x47, 0x40 // sub mi r10 r7 r6 ASR 2
384 };
385 const byte kInstruction_sub_hi_r0_r1_r2_LSR_32[] = {
386   0x22, 0x00, 0x41, 0x80 // sub hi r0 r1 r2 LSR 32
387 };
388 const byte kInstruction_sub_pl_r10_r2_r8_LSR_14[] = {
389   0x28, 0xa7, 0x42, 0x50 // sub pl r10 r2 r8 LSR 14
390 };
391 const byte kInstruction_sub_le_r12_r6_r2_ASR_8[] = {
392   0x42, 0xc4, 0x46, 0xd0 // sub le r12 r6 r2 ASR 8
393 };
394 const byte kInstruction_sub_gt_r4_r0_r4_ASR_12[] = {
395   0x44, 0x46, 0x40, 0xc0 // sub gt r4 r0 r4 ASR 12
396 };
397 const byte kInstruction_sub_eq_r9_r0_r10_LSR_15[] = {
398   0xaa, 0x97, 0x40, 0x00 // sub eq r9 r0 r10 LSR 15
399 };
400 const byte kInstruction_sub_ge_r7_r1_r8_ASR_8[] = {
401   0x48, 0x74, 0x41, 0xa0 // sub ge r7 r1 r8 ASR 8
402 };
403 const byte kInstruction_sub_al_r1_r1_r12_ASR_7[] = {
404   0xcc, 0x13, 0x41, 0xe0 // sub al r1 r1 r12 ASR 7
405 };
406 const byte kInstruction_sub_lt_r13_r1_r2_LSR_11[] = {
407   0xa2, 0xd5, 0x41, 0xb0 // sub lt r13 r1 r2 LSR 11
408 };
409 const byte kInstruction_sub_cc_r2_r5_r3_ASR_3[] = {
410   0xc3, 0x21, 0x45, 0x30 // sub cc r2 r5 r3 ASR 3
411 };
412 const byte kInstruction_sub_ne_r8_r2_r9_LSR_14[] = {
413   0x29, 0x87, 0x42, 0x10 // sub ne r8 r2 r9 LSR 14
414 };
415 const byte kInstruction_sub_eq_r11_r8_r1_LSR_3[] = {
416   0xa1, 0xb1, 0x48, 0x00 // sub eq r11 r8 r1 LSR 3
417 };
418 const byte kInstruction_sub_al_r3_r14_r11_LSR_14[] = {
419   0x2b, 0x37, 0x4e, 0xe0 // sub al r3 r14 r11 LSR 14
420 };
421 const byte kInstruction_sub_pl_r1_r2_r7_LSR_31[] = {
422   0xa7, 0x1f, 0x42, 0x50 // sub pl r1 r2 r7 LSR 31
423 };
424 const byte kInstruction_sub_eq_r14_r2_r5_LSR_20[] = {
425   0x25, 0xea, 0x42, 0x00 // sub eq r14 r2 r5 LSR 20
426 };
427 const byte kInstruction_sub_hi_r7_r13_r3_LSR_21[] = {
428   0xa3, 0x7a, 0x4d, 0x80 // sub hi r7 r13 r3 LSR 21
429 };
430 const byte kInstruction_sub_gt_r14_r7_r11_LSR_16[] = {
431   0x2b, 0xe8, 0x47, 0xc0 // sub gt r14 r7 r11 LSR 16
432 };
433 const byte kInstruction_sub_ls_r0_r5_r14_ASR_25[] = {
434   0xce, 0x0c, 0x45, 0x90 // sub ls r0 r5 r14 ASR 25
435 };
436 const byte kInstruction_sub_cc_r0_r7_r8_LSR_4[] = {
437   0x28, 0x02, 0x47, 0x30 // sub cc r0 r7 r8 LSR 4
438 };
439 const byte kInstruction_sub_hi_r3_r5_r9_ASR_9[] = {
440   0xc9, 0x34, 0x45, 0x80 // sub hi r3 r5 r9 ASR 9
441 };
442 const byte kInstruction_sub_hi_r10_r5_r5_ASR_15[] = {
443   0xc5, 0xa7, 0x45, 0x80 // sub hi r10 r5 r5 ASR 15
444 };
445 const byte kInstruction_sub_le_r7_r14_r0_LSR_19[] = {
446   0xa0, 0x79, 0x4e, 0xd0 // sub le r7 r14 r0 LSR 19
447 };
448 const byte kInstruction_sub_gt_r10_r1_r2_LSR_16[] = {
449   0x22, 0xa8, 0x41, 0xc0 // sub gt r10 r1 r2 LSR 16
450 };
451 const byte kInstruction_sub_ls_r4_r14_r10_LSR_21[] = {
452   0xaa, 0x4a, 0x4e, 0x90 // sub ls r4 r14 r10 LSR 21
453 };
454 const byte kInstruction_sub_mi_r12_r14_r3_LSR_11[] = {
455   0xa3, 0xc5, 0x4e, 0x40 // sub mi r12 r14 r3 LSR 11
456 };
457 const byte kInstruction_sub_al_r7_r9_r4_LSR_12[] = {
458   0x24, 0x76, 0x49, 0xe0 // sub al r7 r9 r4 LSR 12
459 };
460 const byte kInstruction_sub_cc_r0_r10_r1_ASR_20[] = {
461   0x41, 0x0a, 0x4a, 0x30 // sub cc r0 r10 r1 ASR 20
462 };
463 const byte kInstruction_sub_mi_r0_r2_r11_LSR_31[] = {
464   0xab, 0x0f, 0x42, 0x40 // sub mi r0 r2 r11 LSR 31
465 };
466 const byte kInstruction_sub_cs_r7_r9_r6_ASR_22[] = {
467   0x46, 0x7b, 0x49, 0x20 // sub cs r7 r9 r6 ASR 22
468 };
469 const byte kInstruction_sub_gt_r9_r6_r13_LSR_25[] = {
470   0xad, 0x9c, 0x46, 0xc0 // sub gt r9 r6 r13 LSR 25
471 };
472 const byte kInstruction_sub_cc_r1_r2_r8_ASR_16[] = {
473   0x48, 0x18, 0x42, 0x30 // sub cc r1 r2 r8 ASR 16
474 };
475 const byte kInstruction_sub_ne_r6_r4_r14_ASR_12[] = {
476   0x4e, 0x66, 0x44, 0x10 // sub ne r6 r4 r14 ASR 12
477 };
478 const byte kInstruction_sub_al_r7_r2_r14_ASR_11[] = {
479   0xce, 0x75, 0x42, 0xe0 // sub al r7 r2 r14 ASR 11
480 };
481 const byte kInstruction_sub_gt_r10_r14_r13_LSR_22[] = {
482   0x2d, 0xab, 0x4e, 0xc0 // sub gt r10 r14 r13 LSR 22
483 };
484 const byte kInstruction_sub_lt_r0_r8_r6_LSR_25[] = {
485   0xa6, 0x0c, 0x48, 0xb0 // sub lt r0 r8 r6 LSR 25
486 };
487 const byte kInstruction_sub_ne_r12_r5_r6_ASR_20[] = {
488   0x46, 0xca, 0x45, 0x10 // sub ne r12 r5 r6 ASR 20
489 };
490 const byte kInstruction_sub_pl_r12_r6_r7_ASR_27[] = {
491   0xc7, 0xcd, 0x46, 0x50 // sub pl r12 r6 r7 ASR 27
492 };
493 const byte kInstruction_sub_gt_r5_r8_r7_ASR_19[] = {
494   0xc7, 0x59, 0x48, 0xc0 // sub gt r5 r8 r7 ASR 19
495 };
496 const byte kInstruction_sub_le_r12_r1_r4_LSR_22[] = {
497   0x24, 0xcb, 0x41, 0xd0 // sub le r12 r1 r4 LSR 22
498 };
499 const byte kInstruction_sub_le_r9_r8_r11_LSR_17[] = {
500   0xab, 0x98, 0x48, 0xd0 // sub le r9 r8 r11 LSR 17
501 };
502 const byte kInstruction_sub_gt_r5_r2_r3_ASR_30[] = {
503   0x43, 0x5f, 0x42, 0xc0 // sub gt r5 r2 r3 ASR 30
504 };
505 const byte kInstruction_sub_ge_r8_r7_r7_ASR_31[] = {
506   0xc7, 0x8f, 0x47, 0xa0 // sub ge r8 r7 r7 ASR 31
507 };
508 const byte kInstruction_sub_lt_r14_r8_r11_ASR_23[] = {
509   0xcb, 0xeb, 0x48, 0xb0 // sub lt r14 r8 r11 ASR 23
510 };
511 const byte kInstruction_sub_cc_r0_r11_r6_LSR_1[] = {
512   0xa6, 0x00, 0x4b, 0x30 // sub cc r0 r11 r6 LSR 1
513 };
514 const byte kInstruction_sub_pl_r0_r6_r14_LSR_2[] = {
515   0x2e, 0x01, 0x46, 0x50 // sub pl r0 r6 r14 LSR 2
516 };
517 const byte kInstruction_sub_lt_r4_r2_r1_ASR_16[] = {
518   0x41, 0x48, 0x42, 0xb0 // sub lt r4 r2 r1 ASR 16
519 };
520 const byte kInstruction_sub_pl_r14_r2_r14_ASR_19[] = {
521   0xce, 0xe9, 0x42, 0x50 // sub pl r14 r2 r14 ASR 19
522 };
523 const byte kInstruction_sub_cs_r13_r5_r9_LSR_32[] = {
524   0x29, 0xd0, 0x45, 0x20 // sub cs r13 r5 r9 LSR 32
525 };
526 const byte kInstruction_sub_cc_r13_r8_r1_LSR_1[] = {
527   0xa1, 0xd0, 0x48, 0x30 // sub cc r13 r8 r1 LSR 1
528 };
529 const byte kInstruction_sub_cs_r7_r9_r10_LSR_17[] = {
530   0xaa, 0x78, 0x49, 0x20 // sub cs r7 r9 r10 LSR 17
531 };
532 const byte kInstruction_sub_vc_r2_r1_r7_LSR_29[] = {
533   0xa7, 0x2e, 0x41, 0x70 // sub vc r2 r1 r7 LSR 29
534 };
535 const byte kInstruction_sub_hi_r9_r2_r1_ASR_17[] = {
536   0xc1, 0x98, 0x42, 0x80 // sub hi r9 r2 r1 ASR 17
537 };
538 const byte kInstruction_sub_cc_r14_r14_r7_ASR_17[] = {
539   0xc7, 0xe8, 0x4e, 0x30 // sub cc r14 r14 r7 ASR 17
540 };
541 const byte kInstruction_sub_vs_r4_r8_r1_LSR_17[] = {
542   0xa1, 0x48, 0x48, 0x60 // sub vs r4 r8 r1 LSR 17
543 };
544 const byte kInstruction_sub_vs_r8_r0_r6_LSR_8[] = {
545   0x26, 0x84, 0x40, 0x60 // sub vs r8 r0 r6 LSR 8
546 };
547 const byte kInstruction_sub_vs_r8_r0_r14_LSR_12[] = {
548   0x2e, 0x86, 0x40, 0x60 // sub vs r8 r0 r14 LSR 12
549 };
550 const byte kInstruction_sub_vc_r5_r8_r1_ASR_10[] = {
551   0x41, 0x55, 0x48, 0x70 // sub vc r5 r8 r1 ASR 10
552 };
553 const byte kInstruction_sub_eq_r2_r0_r5_ASR_12[] = {
554   0x45, 0x26, 0x40, 0x00 // sub eq r2 r0 r5 ASR 12
555 };
556 const byte kInstruction_sub_vc_r13_r2_r11_LSR_27[] = {
557   0xab, 0xdd, 0x42, 0x70 // sub vc r13 r2 r11 LSR 27
558 };
559 const byte kInstruction_sub_vc_r9_r3_r1_LSR_15[] = {
560   0xa1, 0x97, 0x43, 0x70 // sub vc r9 r3 r1 LSR 15
561 };
562 const byte kInstruction_sub_gt_r3_r11_r10_ASR_19[] = {
563   0xca, 0x39, 0x4b, 0xc0 // sub gt r3 r11 r10 ASR 19
564 };
565 const byte kInstruction_sub_pl_r1_r0_r6_ASR_23[] = {
566   0xc6, 0x1b, 0x40, 0x50 // sub pl r1 r0 r6 ASR 23
567 };
568 const byte kInstruction_sub_ls_r3_r7_r8_LSR_8[] = {
569   0x28, 0x34, 0x47, 0x90 // sub ls r3 r7 r8 LSR 8
570 };
571 const byte kInstruction_sub_ls_r12_r14_r11_LSR_22[] = {
572   0x2b, 0xcb, 0x4e, 0x90 // sub ls r12 r14 r11 LSR 22
573 };
574 const byte kInstruction_sub_vc_r5_r3_r8_ASR_6[] = {
575   0x48, 0x53, 0x43, 0x70 // sub vc r5 r3 r8 ASR 6
576 };
577 const byte kInstruction_sub_le_r4_r13_r14_LSR_10[] = {
578   0x2e, 0x45, 0x4d, 0xd0 // sub le r4 r13 r14 LSR 10
579 };
580 const byte kInstruction_sub_vc_r7_r4_r14_ASR_8[] = {
581   0x4e, 0x74, 0x44, 0x70 // sub vc r7 r4 r14 ASR 8
582 };
583 const byte kInstruction_sub_ge_r3_r7_r8_LSR_3[] = {
584   0xa8, 0x31, 0x47, 0xa0 // sub ge r3 r7 r8 LSR 3
585 };
586 const byte kInstruction_sub_al_r13_r8_r4_LSR_18[] = {
587   0x24, 0xd9, 0x48, 0xe0 // sub al r13 r8 r4 LSR 18
588 };
589 const byte kInstruction_sub_gt_r7_r0_r6_ASR_21[] = {
590   0xc6, 0x7a, 0x40, 0xc0 // sub gt r7 r0 r6 ASR 21
591 };
592 const byte kInstruction_sub_al_r3_r11_r13_LSR_31[] = {
593   0xad, 0x3f, 0x4b, 0xe0 // sub al r3 r11 r13 LSR 31
594 };
595 const byte kInstruction_sub_le_r5_r0_r11_ASR_6[] = {
596   0x4b, 0x53, 0x40, 0xd0 // sub le r5 r0 r11 ASR 6
597 };
598 const byte kInstruction_sub_cc_r11_r2_r5_LSR_26[] = {
599   0x25, 0xbd, 0x42, 0x30 // sub cc r11 r2 r5 LSR 26
600 };
601 const byte kInstruction_sub_eq_r10_r14_r7_ASR_8[] = {
602   0x47, 0xa4, 0x4e, 0x00 // sub eq r10 r14 r7 ASR 8
603 };
604 const byte kInstruction_sub_ne_r0_r0_r5_LSR_3[] = {
605   0xa5, 0x01, 0x40, 0x10 // sub ne r0 r0 r5 LSR 3
606 };
607 const byte kInstruction_sub_mi_r9_r1_r2_ASR_6[] = {
608   0x42, 0x93, 0x41, 0x40 // sub mi r9 r1 r2 ASR 6
609 };
610 const byte kInstruction_sub_eq_r6_r10_r13_ASR_17[] = {
611   0xcd, 0x68, 0x4a, 0x00 // sub eq r6 r10 r13 ASR 17
612 };
613 const byte kInstruction_sub_hi_r2_r7_r0_ASR_32[] = {
614   0x40, 0x20, 0x47, 0x80 // sub hi r2 r7 r0 ASR 32
615 };
616 const byte kInstruction_sub_ge_r14_r3_r11_LSR_17[] = {
617   0xab, 0xe8, 0x43, 0xa0 // sub ge r14 r3 r11 LSR 17
618 };
619 const byte kInstruction_sub_cc_r6_r4_r5_LSR_4[] = {
620   0x25, 0x62, 0x44, 0x30 // sub cc r6 r4 r5 LSR 4
621 };
622 const byte kInstruction_sub_al_r9_r14_r3_LSR_32[] = {
623   0x23, 0x90, 0x4e, 0xe0 // sub al r9 r14 r3 LSR 32
624 };
625 const byte kInstruction_sub_vc_r14_r14_r6_LSR_23[] = {
626   0xa6, 0xeb, 0x4e, 0x70 // sub vc r14 r14 r6 LSR 23
627 };
628 const byte kInstruction_sub_le_r1_r9_r7_ASR_6[] = {
629   0x47, 0x13, 0x49, 0xd0 // sub le r1 r9 r7 ASR 6
630 };
631 const byte kInstruction_sub_mi_r2_r11_r7_ASR_5[] = {
632   0xc7, 0x22, 0x4b, 0x40 // sub mi r2 r11 r7 ASR 5
633 };
634 const byte kInstruction_sub_le_r3_r14_r9_LSR_25[] = {
635   0xa9, 0x3c, 0x4e, 0xd0 // sub le r3 r14 r9 LSR 25
636 };
637 const byte kInstruction_sub_mi_r10_r8_r10_ASR_25[] = {
638   0xca, 0xac, 0x48, 0x40 // sub mi r10 r8 r10 ASR 25
639 };
640 const byte kInstruction_sub_eq_r5_r9_r5_LSR_24[] = {
641   0x25, 0x5c, 0x49, 0x00 // sub eq r5 r9 r5 LSR 24
642 };
643 const byte kInstruction_sub_al_r2_r3_r13_ASR_24[] = {
644   0x4d, 0x2c, 0x43, 0xe0 // sub al r2 r3 r13 ASR 24
645 };
646 const byte kInstruction_sub_cc_r6_r3_r7_ASR_23[] = {
647   0xc7, 0x6b, 0x43, 0x30 // sub cc r6 r3 r7 ASR 23
648 };
649 const byte kInstruction_sub_ge_r11_r11_r13_LSR_7[] = {
650   0xad, 0xb3, 0x4b, 0xa0 // sub ge r11 r11 r13 LSR 7
651 };
652 const byte kInstruction_sub_vc_r14_r1_r3_ASR_17[] = {
653   0xc3, 0xe8, 0x41, 0x70 // sub vc r14 r1 r3 ASR 17
654 };
655 const byte kInstruction_sub_ls_r5_r1_r14_ASR_3[] = {
656   0xce, 0x51, 0x41, 0x90 // sub ls r5 r1 r14 ASR 3
657 };
658 const byte kInstruction_sub_ge_r13_r5_r4_LSR_18[] = {
659   0x24, 0xd9, 0x45, 0xa0 // sub ge r13 r5 r4 LSR 18
660 };
661 const byte kInstruction_sub_gt_r6_r5_r14_LSR_6[] = {
662   0x2e, 0x63, 0x45, 0xc0 // sub gt r6 r5 r14 LSR 6
663 };
664 const byte kInstruction_sub_eq_r9_r6_r7_LSR_11[] = {
665   0xa7, 0x95, 0x46, 0x00 // sub eq r9 r6 r7 LSR 11
666 };
667 const byte kInstruction_sub_eq_r14_r6_r12_ASR_27[] = {
668   0xcc, 0xed, 0x46, 0x00 // sub eq r14 r6 r12 ASR 27
669 };
670 const byte kInstruction_sub_pl_r14_r14_r9_ASR_19[] = {
671   0xc9, 0xe9, 0x4e, 0x50 // sub pl r14 r14 r9 ASR 19
672 };
673 const byte kInstruction_sub_le_r14_r12_r8_LSR_13[] = {
674   0xa8, 0xe6, 0x4c, 0xd0 // sub le r14 r12 r8 LSR 13
675 };
676 const byte kInstruction_sub_cc_r7_r5_r5_LSR_13[] = {
677   0xa5, 0x76, 0x45, 0x30 // sub cc r7 r5 r5 LSR 13
678 };
679 const byte kInstruction_sub_eq_r2_r13_r4_ASR_19[] = {
680   0xc4, 0x29, 0x4d, 0x00 // sub eq r2 r13 r4 ASR 19
681 };
682 const byte kInstruction_sub_vs_r11_r11_r10_ASR_2[] = {
683   0x4a, 0xb1, 0x4b, 0x60 // sub vs r11 r11 r10 ASR 2
684 };
685 const byte kInstruction_sub_cc_r10_r8_r8_LSR_23[] = {
686   0xa8, 0xab, 0x48, 0x30 // sub cc r10 r8 r8 LSR 23
687 };
688 const byte kInstruction_sub_ls_r14_r12_r6_ASR_30[] = {
689   0x46, 0xef, 0x4c, 0x90 // sub ls r14 r12 r6 ASR 30
690 };
691 const byte kInstruction_sub_hi_r8_r8_r6_ASR_19[] = {
692   0xc6, 0x89, 0x48, 0x80 // sub hi r8 r8 r6 ASR 19
693 };
694 const byte kInstruction_sub_cs_r5_r12_r3_ASR_6[] = {
695   0x43, 0x53, 0x4c, 0x20 // sub cs r5 r12 r3 ASR 6
696 };
697 const byte kInstruction_sub_vs_r0_r9_r14_ASR_5[] = {
698   0xce, 0x02, 0x49, 0x60 // sub vs r0 r9 r14 ASR 5
699 };
700 const byte kInstruction_sub_lt_r9_r6_r14_ASR_7[] = {
701   0xce, 0x93, 0x46, 0xb0 // sub lt r9 r6 r14 ASR 7
702 };
703 const byte kInstruction_sub_lt_r5_r1_r11_ASR_3[] = {
704   0xcb, 0x51, 0x41, 0xb0 // sub lt r5 r1 r11 ASR 3
705 };
706 const byte kInstruction_sub_al_r4_r11_r3_LSR_14[] = {
707   0x23, 0x47, 0x4b, 0xe0 // sub al r4 r11 r3 LSR 14
708 };
709 const byte kInstruction_sub_cs_r7_r1_r3_LSR_10[] = {
710   0x23, 0x75, 0x41, 0x20 // sub cs r7 r1 r3 LSR 10
711 };
712 const byte kInstruction_sub_cc_r2_r11_r4_ASR_29[] = {
713   0xc4, 0x2e, 0x4b, 0x30 // sub cc r2 r11 r4 ASR 29
714 };
715 const byte kInstruction_sub_eq_r7_r1_r4_LSR_31[] = {
716   0xa4, 0x7f, 0x41, 0x00 // sub eq r7 r1 r4 LSR 31
717 };
718 const byte kInstruction_sub_hi_r2_r13_r7_ASR_17[] = {
719   0xc7, 0x28, 0x4d, 0x80 // sub hi r2 r13 r7 ASR 17
720 };
721 const byte kInstruction_sub_cs_r12_r10_r9_ASR_4[] = {
722   0x49, 0xc2, 0x4a, 0x20 // sub cs r12 r10 r9 ASR 4
723 };
724 const byte kInstruction_sub_gt_r10_r2_r2_LSR_28[] = {
725   0x22, 0xae, 0x42, 0xc0 // sub gt r10 r2 r2 LSR 28
726 };
727 const byte kInstruction_sub_gt_r13_r12_r0_ASR_2[] = {
728   0x40, 0xd1, 0x4c, 0xc0 // sub gt r13 r12 r0 ASR 2
729 };
730 const byte kInstruction_sub_pl_r14_r8_r7_LSR_1[] = {
731   0xa7, 0xe0, 0x48, 0x50 // sub pl r14 r8 r7 LSR 1
732 };
733 const byte kInstruction_sub_hi_r2_r13_r3_ASR_20[] = {
734   0x43, 0x2a, 0x4d, 0x80 // sub hi r2 r13 r3 ASR 20
735 };
736 const byte kInstruction_sub_lt_r2_r3_r3_LSR_13[] = {
737   0xa3, 0x26, 0x43, 0xb0 // sub lt r2 r3 r3 LSR 13
738 };
739 const byte kInstruction_sub_mi_r11_r1_r12_ASR_24[] = {
740   0x4c, 0xbc, 0x41, 0x40 // sub mi r11 r1 r12 ASR 24
741 };
742 const byte kInstruction_sub_vs_r8_r8_r8_LSR_1[] = {
743   0xa8, 0x80, 0x48, 0x60 // sub vs r8 r8 r8 LSR 1
744 };
745 const byte kInstruction_sub_ne_r2_r14_r3_ASR_31[] = {
746   0xc3, 0x2f, 0x4e, 0x10 // sub ne r2 r14 r3 ASR 31
747 };
748 const byte kInstruction_sub_lt_r8_r5_r1_LSR_11[] = {
749   0xa1, 0x85, 0x45, 0xb0 // sub lt r8 r5 r1 LSR 11
750 };
751 const byte kInstruction_sub_pl_r4_r9_r8_ASR_31[] = {
752   0xc8, 0x4f, 0x49, 0x50 // sub pl r4 r9 r8 ASR 31
753 };
754 const byte kInstruction_sub_ls_r8_r1_r13_ASR_4[] = {
755   0x4d, 0x82, 0x41, 0x90 // sub ls r8 r1 r13 ASR 4
756 };
757 const byte kInstruction_sub_al_r2_r9_r14_LSR_16[] = {
758   0x2e, 0x28, 0x49, 0xe0 // sub al r2 r9 r14 LSR 16
759 };
760 const byte kInstruction_sub_cs_r3_r6_r10_ASR_5[] = {
761   0xca, 0x32, 0x46, 0x20 // sub cs r3 r6 r10 ASR 5
762 };
763 const byte kInstruction_sub_eq_r4_r12_r6_ASR_9[] = {
764   0xc6, 0x44, 0x4c, 0x00 // sub eq r4 r12 r6 ASR 9
765 };
766 const byte kInstruction_sub_al_r12_r12_r4_ASR_32[] = {
767   0x44, 0xc0, 0x4c, 0xe0 // sub al r12 r12 r4 ASR 32
768 };
769 const byte kInstruction_sub_pl_r1_r6_r11_LSR_19[] = {
770   0xab, 0x19, 0x46, 0x50 // sub pl r1 r6 r11 LSR 19
771 };
772 const byte kInstruction_sub_pl_r8_r2_r1_LSR_13[] = {
773   0xa1, 0x86, 0x42, 0x50 // sub pl r8 r2 r1 LSR 13
774 };
775 const byte kInstruction_sub_gt_r2_r11_r2_LSR_23[] = {
776   0xa2, 0x2b, 0x4b, 0xc0 // sub gt r2 r11 r2 LSR 23
777 };
778 const byte kInstruction_sub_eq_r14_r8_r6_ASR_31[] = {
779   0xc6, 0xef, 0x48, 0x00 // sub eq r14 r8 r6 ASR 31
780 };
781 const byte kInstruction_sub_cc_r6_r5_r7_ASR_31[] = {
782   0xc7, 0x6f, 0x45, 0x30 // sub cc r6 r5 r7 ASR 31
783 };
784 const byte kInstruction_sub_cs_r14_r10_r11_ASR_28[] = {
785   0x4b, 0xee, 0x4a, 0x20 // sub cs r14 r10 r11 ASR 28
786 };
787 const byte kInstruction_sub_le_r9_r9_r4_LSR_22[] = {
788   0x24, 0x9b, 0x49, 0xd0 // sub le r9 r9 r4 LSR 22
789 };
790 const byte kInstruction_sub_cs_r4_r1_r14_ASR_11[] = {
791   0xce, 0x45, 0x41, 0x20 // sub cs r4 r1 r14 ASR 11
792 };
793 const byte kInstruction_sub_ne_r6_r0_r9_LSR_30[] = {
794   0x29, 0x6f, 0x40, 0x10 // sub ne r6 r0 r9 LSR 30
795 };
796 const byte kInstruction_sub_gt_r8_r6_r6_ASR_16[] = {
797   0x46, 0x88, 0x46, 0xc0 // sub gt r8 r6 r6 ASR 16
798 };
799 const byte kInstruction_sub_pl_r11_r3_r5_ASR_4[] = {
800   0x45, 0xb2, 0x43, 0x50 // sub pl r11 r3 r5 ASR 4
801 };
802 const byte kInstruction_sub_cs_r6_r3_r5_LSR_20[] = {
803   0x25, 0x6a, 0x43, 0x20 // sub cs r6 r3 r5 LSR 20
804 };
805 const byte kInstruction_sub_cc_r1_r9_r13_LSR_26[] = {
806   0x2d, 0x1d, 0x49, 0x30 // sub cc r1 r9 r13 LSR 26
807 };
808 const byte kInstruction_sub_vc_r5_r11_r2_ASR_14[] = {
809   0x42, 0x57, 0x4b, 0x70 // sub vc r5 r11 r2 ASR 14
810 };
811 const byte kInstruction_sub_vc_r11_r0_r0_ASR_12[] = {
812   0x40, 0xb6, 0x40, 0x70 // sub vc r11 r0 r0 ASR 12
813 };
814 const byte kInstruction_sub_mi_r3_r8_r2_LSR_7[] = {
815   0xa2, 0x33, 0x48, 0x40 // sub mi r3 r8 r2 LSR 7
816 };
817 const byte kInstruction_sub_eq_r11_r2_r11_ASR_32[] = {
818   0x4b, 0xb0, 0x42, 0x00 // sub eq r11 r2 r11 ASR 32
819 };
820 const byte kInstruction_sub_vc_r6_r0_r9_LSR_5[] = {
821   0xa9, 0x62, 0x40, 0x70 // sub vc r6 r0 r9 LSR 5
822 };
823 const byte kInstruction_sub_gt_r4_r10_r13_LSR_15[] = {
824   0xad, 0x47, 0x4a, 0xc0 // sub gt r4 r10 r13 LSR 15
825 };
826 const byte kInstruction_sub_mi_r5_r13_r14_LSR_30[] = {
827   0x2e, 0x5f, 0x4d, 0x40 // sub mi r5 r13 r14 LSR 30
828 };
829 const byte kInstruction_sub_ge_r2_r13_r12_LSR_12[] = {
830   0x2c, 0x26, 0x4d, 0xa0 // sub ge r2 r13 r12 LSR 12
831 };
832 const byte kInstruction_sub_ge_r0_r3_r2_LSR_2[] = {
833   0x22, 0x01, 0x43, 0xa0 // sub ge r0 r3 r2 LSR 2
834 };
835 const byte kInstruction_sub_lt_r12_r10_r0_LSR_7[] = {
836   0xa0, 0xc3, 0x4a, 0xb0 // sub lt r12 r10 r0 LSR 7
837 };
838 const byte kInstruction_sub_hi_r11_r8_r0_LSR_15[] = {
839   0xa0, 0xb7, 0x48, 0x80 // sub hi r11 r8 r0 LSR 15
840 };
841 const byte kInstruction_sub_le_r9_r10_r5_LSR_31[] = {
842   0xa5, 0x9f, 0x4a, 0xd0 // sub le r9 r10 r5 LSR 31
843 };
844 const byte kInstruction_sub_cs_r5_r3_r3_LSR_5[] = {
845   0xa3, 0x52, 0x43, 0x20 // sub cs r5 r3 r3 LSR 5
846 };
847 const byte kInstruction_sub_mi_r8_r0_r4_ASR_1[] = {
848   0xc4, 0x80, 0x40, 0x40 // sub mi r8 r0 r4 ASR 1
849 };
850 const byte kInstruction_sub_lt_r2_r6_r10_ASR_22[] = {
851   0x4a, 0x2b, 0x46, 0xb0 // sub lt r2 r6 r10 ASR 22
852 };
853 const byte kInstruction_sub_cc_r8_r4_r12_ASR_22[] = {
854   0x4c, 0x8b, 0x44, 0x30 // sub cc r8 r4 r12 ASR 22
855 };
856 const byte kInstruction_sub_vc_r10_r0_r12_ASR_21[] = {
857   0xcc, 0xaa, 0x40, 0x70 // sub vc r10 r0 r12 ASR 21
858 };
859 const byte kInstruction_sub_mi_r14_r8_r9_ASR_26[] = {
860   0x49, 0xed, 0x48, 0x40 // sub mi r14 r8 r9 ASR 26
861 };
862 const byte kInstruction_sub_al_r2_r4_r9_LSR_23[] = {
863   0xa9, 0x2b, 0x44, 0xe0 // sub al r2 r4 r9 LSR 23
864 };
865 const byte kInstruction_sub_mi_r3_r0_r0_ASR_22[] = {
866   0x40, 0x3b, 0x40, 0x40 // sub mi r3 r0 r0 ASR 22
867 };
868 const byte kInstruction_sub_ge_r6_r0_r7_ASR_8[] = {
869   0x47, 0x64, 0x40, 0xa0 // sub ge r6 r0 r7 ASR 8
870 };
871 const byte kInstruction_sub_ls_r7_r14_r8_ASR_23[] = {
872   0xc8, 0x7b, 0x4e, 0x90 // sub ls r7 r14 r8 ASR 23
873 };
874 const byte kInstruction_sub_ne_r6_r5_r12_LSR_30[] = {
875   0x2c, 0x6f, 0x45, 0x10 // sub ne r6 r5 r12 LSR 30
876 };
877 const byte kInstruction_sub_ge_r5_r1_r3_ASR_29[] = {
878   0xc3, 0x5e, 0x41, 0xa0 // sub ge r5 r1 r3 ASR 29
879 };
880 const byte kInstruction_sub_cc_r2_r10_r2_ASR_17[] = {
881   0xc2, 0x28, 0x4a, 0x30 // sub cc r2 r10 r2 ASR 17
882 };
883 const byte kInstruction_sub_ne_r6_r4_r3_LSR_2[] = {
884   0x23, 0x61, 0x44, 0x10 // sub ne r6 r4 r3 LSR 2
885 };
886 const byte kInstruction_sub_vs_r10_r13_r11_LSR_19[] = {
887   0xab, 0xa9, 0x4d, 0x60 // sub vs r10 r13 r11 LSR 19
888 };
889 const byte kInstruction_sub_hi_r0_r0_r8_LSR_27[] = {
890   0xa8, 0x0d, 0x40, 0x80 // sub hi r0 r0 r8 LSR 27
891 };
892 const byte kInstruction_sub_gt_r4_r3_r9_LSR_16[] = {
893   0x29, 0x48, 0x43, 0xc0 // sub gt r4 r3 r9 LSR 16
894 };
895 const byte kInstruction_sub_lt_r13_r11_r1_LSR_21[] = {
896   0xa1, 0xda, 0x4b, 0xb0 // sub lt r13 r11 r1 LSR 21
897 };
898 const byte kInstruction_sub_mi_r13_r10_r2_LSR_30[] = {
899   0x22, 0xdf, 0x4a, 0x40 // sub mi r13 r10 r2 LSR 30
900 };
901 const byte kInstruction_sub_mi_r4_r13_r2_LSR_19[] = {
902   0xa2, 0x49, 0x4d, 0x40 // sub mi r4 r13 r2 LSR 19
903 };
904 const byte kInstruction_sub_vs_r6_r3_r5_LSR_8[] = {
905   0x25, 0x64, 0x43, 0x60 // sub vs r6 r3 r5 LSR 8
906 };
907 const byte kInstruction_sub_ls_r9_r12_r9_ASR_28[] = {
908   0x49, 0x9e, 0x4c, 0x90 // sub ls r9 r12 r9 ASR 28
909 };
910 const byte kInstruction_sub_al_r1_r2_r2_ASR_3[] = {
911   0xc2, 0x11, 0x42, 0xe0 // sub al r1 r2 r2 ASR 3
912 };
913 const byte kInstruction_sub_ls_r11_r11_r3_LSR_2[] = {
914   0x23, 0xb1, 0x4b, 0x90 // sub ls r11 r11 r3 LSR 2
915 };
916 const byte kInstruction_sub_al_r10_r3_r5_LSR_2[] = {
917   0x25, 0xa1, 0x43, 0xe0 // sub al r10 r3 r5 LSR 2
918 };
919 const byte kInstruction_sub_eq_r1_r11_r1_LSR_14[] = {
920   0x21, 0x17, 0x4b, 0x00 // sub eq r1 r11 r1 LSR 14
921 };
922 const byte kInstruction_sub_mi_r0_r1_r4_ASR_12[] = {
923   0x44, 0x06, 0x41, 0x40 // sub mi r0 r1 r4 ASR 12
924 };
925 const byte kInstruction_sub_pl_r0_r3_r0_LSR_5[] = {
926   0xa0, 0x02, 0x43, 0x50 // sub pl r0 r3 r0 LSR 5
927 };
928 const byte kInstruction_sub_mi_r2_r2_r8_LSR_27[] = {
929   0xa8, 0x2d, 0x42, 0x40 // sub mi r2 r2 r8 LSR 27
930 };
931 const byte kInstruction_sub_ls_r13_r1_r13_LSR_20[] = {
932   0x2d, 0xda, 0x41, 0x90 // sub ls r13 r1 r13 LSR 20
933 };
934 const byte kInstruction_sub_cs_r1_r4_r1_ASR_5[] = {
935   0xc1, 0x12, 0x44, 0x20 // sub cs r1 r4 r1 ASR 5
936 };
937 const byte kInstruction_sub_ge_r5_r9_r1_ASR_6[] = {
938   0x41, 0x53, 0x49, 0xa0 // sub ge r5 r9 r1 ASR 6
939 };
940 const byte kInstruction_sub_cc_r7_r8_r11_LSR_30[] = {
941   0x2b, 0x7f, 0x48, 0x30 // sub cc r7 r8 r11 LSR 30
942 };
943 const byte kInstruction_sub_le_r1_r10_r8_LSR_12[] = {
944   0x28, 0x16, 0x4a, 0xd0 // sub le r1 r10 r8 LSR 12
945 };
946 const byte kInstruction_sub_gt_r5_r5_r9_LSR_6[] = {
947   0x29, 0x53, 0x45, 0xc0 // sub gt r5 r5 r9 LSR 6
948 };
949 const byte kInstruction_sub_eq_r14_r11_r13_LSR_21[] = {
950   0xad, 0xea, 0x4b, 0x00 // sub eq r14 r11 r13 LSR 21
951 };
952 const byte kInstruction_sub_hi_r4_r10_r7_ASR_29[] = {
953   0xc7, 0x4e, 0x4a, 0x80 // sub hi r4 r10 r7 ASR 29
954 };
955 const byte kInstruction_sub_ls_r12_r6_r13_LSR_30[] = {
956   0x2d, 0xcf, 0x46, 0x90 // sub ls r12 r6 r13 LSR 30
957 };
958 const byte kInstruction_sub_cc_r1_r2_r13_ASR_31[] = {
959   0xcd, 0x1f, 0x42, 0x30 // sub cc r1 r2 r13 ASR 31
960 };
961 const byte kInstruction_sub_cs_r4_r12_r12_ASR_31[] = {
962   0xcc, 0x4f, 0x4c, 0x20 // sub cs r4 r12 r12 ASR 31
963 };
964 const byte kInstruction_sub_cs_r10_r8_r8_LSR_25[] = {
965   0xa8, 0xac, 0x48, 0x20 // sub cs r10 r8 r8 LSR 25
966 };
967 const byte kInstruction_sub_eq_r11_r14_r12_ASR_9[] = {
968   0xcc, 0xb4, 0x4e, 0x00 // sub eq r11 r14 r12 ASR 9
969 };
970 const byte kInstruction_sub_pl_r8_r7_r6_LSR_29[] = {
971   0xa6, 0x8e, 0x47, 0x50 // sub pl r8 r7 r6 LSR 29
972 };
973 const byte kInstruction_sub_vs_r2_r3_r12_ASR_15[] = {
974   0xcc, 0x27, 0x43, 0x60 // sub vs r2 r3 r12 ASR 15
975 };
976 const byte kInstruction_sub_vs_r10_r11_r9_ASR_31[] = {
977   0xc9, 0xaf, 0x4b, 0x60 // sub vs r10 r11 r9 ASR 31
978 };
979 const byte kInstruction_sub_mi_r2_r4_r13_ASR_2[] = {
980   0x4d, 0x21, 0x44, 0x40 // sub mi r2 r4 r13 ASR 2
981 };
982 const byte kInstruction_sub_ls_r3_r0_r1_LSR_25[] = {
983   0xa1, 0x3c, 0x40, 0x90 // sub ls r3 r0 r1 LSR 25
984 };
985 const byte kInstruction_sub_pl_r7_r2_r12_LSR_16[] = {
986   0x2c, 0x78, 0x42, 0x50 // sub pl r7 r2 r12 LSR 16
987 };
988 const byte kInstruction_sub_ge_r6_r14_r9_ASR_30[] = {
989   0x49, 0x6f, 0x4e, 0xa0 // sub ge r6 r14 r9 ASR 30
990 };
991 const byte kInstruction_sub_pl_r2_r5_r4_ASR_11[] = {
992   0xc4, 0x25, 0x45, 0x50 // sub pl r2 r5 r4 ASR 11
993 };
994 const byte kInstruction_sub_al_r5_r10_r11_ASR_23[] = {
995   0xcb, 0x5b, 0x4a, 0xe0 // sub al r5 r10 r11 ASR 23
996 };
997 const byte kInstruction_sub_le_r4_r1_r9_LSR_28[] = {
998   0x29, 0x4e, 0x41, 0xd0 // sub le r4 r1 r9 LSR 28
999 };
1000 const byte kInstruction_sub_cc_r13_r4_r2_ASR_25[] = {
1001   0xc2, 0xdc, 0x44, 0x30 // sub cc r13 r4 r2 ASR 25
1002 };
1003 const byte kInstruction_sub_pl_r7_r7_r8_LSR_9[] = {
1004   0xa8, 0x74, 0x47, 0x50 // sub pl r7 r7 r8 LSR 9
1005 };
1006 const byte kInstruction_sub_le_r8_r11_r0_ASR_13[] = {
1007   0xc0, 0x86, 0x4b, 0xd0 // sub le r8 r11 r0 ASR 13
1008 };
1009 const byte kInstruction_sub_eq_r11_r9_r12_ASR_32[] = {
1010   0x4c, 0xb0, 0x49, 0x00 // sub eq r11 r9 r12 ASR 32
1011 };
1012 const byte kInstruction_sub_ls_r4_r0_r10_ASR_31[] = {
1013   0xca, 0x4f, 0x40, 0x90 // sub ls r4 r0 r10 ASR 31
1014 };
1015 const byte kInstruction_sub_gt_r10_r8_r4_LSR_22[] = {
1016   0x24, 0xab, 0x48, 0xc0 // sub gt r10 r8 r4 LSR 22
1017 };
1018 const byte kInstruction_sub_ne_r9_r8_r0_ASR_21[] = {
1019   0xc0, 0x9a, 0x48, 0x10 // sub ne r9 r8 r0 ASR 21
1020 };
1021 const byte kInstruction_sub_lt_r11_r9_r9_ASR_27[] = {
1022   0xc9, 0xbd, 0x49, 0xb0 // sub lt r11 r9 r9 ASR 27
1023 };
1024 const byte kInstruction_sub_vc_r14_r6_r14_LSR_22[] = {
1025   0x2e, 0xeb, 0x46, 0x70 // sub vc r14 r6 r14 LSR 22
1026 };
1027 const byte kInstruction_sub_vs_r12_r4_r14_LSR_12[] = {
1028   0x2e, 0xc6, 0x44, 0x60 // sub vs r12 r4 r14 LSR 12
1029 };
1030 const byte kInstruction_sub_lt_r7_r11_r6_ASR_9[] = {
1031   0xc6, 0x74, 0x4b, 0xb0 // sub lt r7 r11 r6 ASR 9
1032 };
1033 const byte kInstruction_sub_lt_r3_r13_r5_LSR_8[] = {
1034   0x25, 0x34, 0x4d, 0xb0 // sub lt r3 r13 r5 LSR 8
1035 };
1036 const byte kInstruction_sub_le_r2_r7_r6_ASR_11[] = {
1037   0xc6, 0x25, 0x47, 0xd0 // sub le r2 r7 r6 ASR 11
1038 };
1039 const byte kInstruction_sub_vc_r2_r0_r4_ASR_25[] = {
1040   0xc4, 0x2c, 0x40, 0x70 // sub vc r2 r0 r4 ASR 25
1041 };
1042 const byte kInstruction_sub_lt_r2_r11_r10_LSR_10[] = {
1043   0x2a, 0x25, 0x4b, 0xb0 // sub lt r2 r11 r10 LSR 10
1044 };
1045 const byte kInstruction_sub_al_r7_r9_r12_ASR_13[] = {
1046   0xcc, 0x76, 0x49, 0xe0 // sub al r7 r9 r12 ASR 13
1047 };
1048 const byte kInstruction_sub_cs_r13_r0_r2_LSR_2[] = {
1049   0x22, 0xd1, 0x40, 0x20 // sub cs r13 r0 r2 LSR 2
1050 };
1051 const byte kInstruction_sub_cc_r0_r6_r0_LSR_23[] = {
1052   0xa0, 0x0b, 0x46, 0x30 // sub cc r0 r6 r0 LSR 23
1053 };
1054 const byte kInstruction_sub_vc_r10_r2_r12_LSR_21[] = {
1055   0xac, 0xaa, 0x42, 0x70 // sub vc r10 r2 r12 LSR 21
1056 };
1057 const byte kInstruction_sub_mi_r0_r1_r6_ASR_28[] = {
1058   0x46, 0x0e, 0x41, 0x40 // sub mi r0 r1 r6 ASR 28
1059 };
1060 const byte kInstruction_sub_hi_r0_r12_r1_LSR_23[] = {
1061   0xa1, 0x0b, 0x4c, 0x80 // sub hi r0 r12 r1 LSR 23
1062 };
1063 const byte kInstruction_sub_eq_r10_r7_r3_ASR_6[] = {
1064   0x43, 0xa3, 0x47, 0x00 // sub eq r10 r7 r3 ASR 6
1065 };
1066 const byte kInstruction_sub_hi_r9_r13_r9_ASR_9[] = {
1067   0xc9, 0x94, 0x4d, 0x80 // sub hi r9 r13 r9 ASR 9
1068 };
1069 const byte kInstruction_sub_le_r4_r14_r1_LSR_13[] = {
1070   0xa1, 0x46, 0x4e, 0xd0 // sub le r4 r14 r1 LSR 13
1071 };
1072 const byte kInstruction_sub_vs_r9_r12_r12_LSR_2[] = {
1073   0x2c, 0x91, 0x4c, 0x60 // sub vs r9 r12 r12 LSR 2
1074 };
1075 const byte kInstruction_sub_vc_r11_r3_r4_ASR_7[] = {
1076   0xc4, 0xb3, 0x43, 0x70 // sub vc r11 r3 r4 ASR 7
1077 };
1078 const byte kInstruction_sub_mi_r13_r8_r3_LSR_8[] = {
1079   0x23, 0xd4, 0x48, 0x40 // sub mi r13 r8 r3 LSR 8
1080 };
1081 const byte kInstruction_sub_eq_r6_r12_r1_LSR_12[] = {
1082   0x21, 0x66, 0x4c, 0x00 // sub eq r6 r12 r1 LSR 12
1083 };
1084 const byte kInstruction_sub_le_r10_r11_r4_LSR_27[] = {
1085   0xa4, 0xad, 0x4b, 0xd0 // sub le r10 r11 r4 LSR 27
1086 };
1087 const byte kInstruction_sub_le_r7_r0_r1_ASR_15[] = {
1088   0xc1, 0x77, 0x40, 0xd0 // sub le r7 r0 r1 ASR 15
1089 };
1090 const byte kInstruction_sub_ne_r12_r0_r10_ASR_13[] = {
1091   0xca, 0xc6, 0x40, 0x10 // sub ne r12 r0 r10 ASR 13
1092 };
1093 const byte kInstruction_sub_hi_r1_r11_r12_ASR_1[] = {
1094   0xcc, 0x10, 0x4b, 0x80 // sub hi r1 r11 r12 ASR 1
1095 };
1096 const byte kInstruction_sub_cs_r2_r12_r10_ASR_28[] = {
1097   0x4a, 0x2e, 0x4c, 0x20 // sub cs r2 r12 r10 ASR 28
1098 };
1099 const byte kInstruction_sub_vc_r0_r7_r14_LSR_4[] = {
1100   0x2e, 0x02, 0x47, 0x70 // sub vc r0 r7 r14 LSR 4
1101 };
1102 const byte kInstruction_sub_gt_r9_r8_r6_LSR_6[] = {
1103   0x26, 0x93, 0x48, 0xc0 // sub gt r9 r8 r6 LSR 6
1104 };
1105 const byte kInstruction_sub_cc_r9_r8_r11_ASR_5[] = {
1106   0xcb, 0x92, 0x48, 0x30 // sub cc r9 r8 r11 ASR 5
1107 };
1108 const byte kInstruction_sub_le_r0_r12_r4_ASR_22[] = {
1109   0x44, 0x0b, 0x4c, 0xd0 // sub le r0 r12 r4 ASR 22
1110 };
1111 const byte kInstruction_sub_vs_r6_r4_r14_ASR_2[] = {
1112   0x4e, 0x61, 0x44, 0x60 // sub vs r6 r4 r14 ASR 2
1113 };
1114 const byte kInstruction_sub_le_r1_r13_r12_ASR_14[] = {
1115   0x4c, 0x17, 0x4d, 0xd0 // sub le r1 r13 r12 ASR 14
1116 };
1117 const byte kInstruction_sub_le_r0_r3_r3_LSR_6[] = {
1118   0x23, 0x03, 0x43, 0xd0 // sub le r0 r3 r3 LSR 6
1119 };
1120 const byte kInstruction_sub_ls_r2_r7_r3_ASR_23[] = {
1121   0xc3, 0x2b, 0x47, 0x90 // sub ls r2 r7 r3 ASR 23
1122 };
1123 const byte kInstruction_sub_ge_r12_r3_r11_LSR_13[] = {
1124   0xab, 0xc6, 0x43, 0xa0 // sub ge r12 r3 r11 LSR 13
1125 };
1126 const byte kInstruction_sub_ne_r3_r0_r9_LSR_16[] = {
1127   0x29, 0x38, 0x40, 0x10 // sub ne r3 r0 r9 LSR 16
1128 };
1129 const byte kInstruction_sub_ge_r5_r14_r10_ASR_24[] = {
1130   0x4a, 0x5c, 0x4e, 0xa0 // sub ge r5 r14 r10 ASR 24
1131 };
1132 const byte kInstruction_sub_eq_r14_r4_r1_ASR_16[] = {
1133   0x41, 0xe8, 0x44, 0x00 // sub eq r14 r4 r1 ASR 16
1134 };
1135 const byte kInstruction_sub_cs_r5_r1_r9_ASR_17[] = {
1136   0xc9, 0x58, 0x41, 0x20 // sub cs r5 r1 r9 ASR 17
1137 };
1138 const byte kInstruction_sub_mi_r4_r7_r2_LSR_17[] = {
1139   0xa2, 0x48, 0x47, 0x40 // sub mi r4 r7 r2 LSR 17
1140 };
1141 const byte kInstruction_sub_ne_r9_r0_r7_LSR_18[] = {
1142   0x27, 0x99, 0x40, 0x10 // sub ne r9 r0 r7 LSR 18
1143 };
1144 const byte kInstruction_sub_al_r5_r2_r13_LSR_12[] = {
1145   0x2d, 0x56, 0x42, 0xe0 // sub al r5 r2 r13 LSR 12
1146 };
1147 const byte kInstruction_sub_pl_r12_r13_r1_LSR_28[] = {
1148   0x21, 0xce, 0x4d, 0x50 // sub pl r12 r13 r1 LSR 28
1149 };
1150 const byte kInstruction_sub_vc_r9_r7_r4_ASR_7[] = {
1151   0xc4, 0x93, 0x47, 0x70 // sub vc r9 r7 r4 ASR 7
1152 };
1153 const byte kInstruction_sub_le_r4_r11_r9_ASR_5[] = {
1154   0xc9, 0x42, 0x4b, 0xd0 // sub le r4 r11 r9 ASR 5
1155 };
1156 const byte kInstruction_sub_cc_r1_r14_r3_ASR_26[] = {
1157   0x43, 0x1d, 0x4e, 0x30 // sub cc r1 r14 r3 ASR 26
1158 };
1159 const byte kInstruction_sub_le_r1_r2_r1_LSR_27[] = {
1160   0xa1, 0x1d, 0x42, 0xd0 // sub le r1 r2 r1 LSR 27
1161 };
1162 const byte kInstruction_sub_ge_r14_r0_r5_LSR_11[] = {
1163   0xa5, 0xe5, 0x40, 0xa0 // sub ge r14 r0 r5 LSR 11
1164 };
1165 const byte kInstruction_sub_cc_r5_r5_r0_ASR_19[] = {
1166   0xc0, 0x59, 0x45, 0x30 // sub cc r5 r5 r0 ASR 19
1167 };
1168 const byte kInstruction_sub_ne_r11_r11_r6_LSR_4[] = {
1169   0x26, 0xb2, 0x4b, 0x10 // sub ne r11 r11 r6 LSR 4
1170 };
1171 const byte kInstruction_sub_vc_r13_r10_r9_LSR_18[] = {
1172   0x29, 0xd9, 0x4a, 0x70 // sub vc r13 r10 r9 LSR 18
1173 };
1174 const byte kInstruction_sub_hi_r10_r10_r7_ASR_26[] = {
1175   0x47, 0xad, 0x4a, 0x80 // sub hi r10 r10 r7 ASR 26
1176 };
1177 const byte kInstruction_sub_al_r2_r8_r12_ASR_21[] = {
1178   0xcc, 0x2a, 0x48, 0xe0 // sub al r2 r8 r12 ASR 21
1179 };
1180 const byte kInstruction_sub_vc_r5_r4_r6_LSR_5[] = {
1181   0xa6, 0x52, 0x44, 0x70 // sub vc r5 r4 r6 LSR 5
1182 };
1183 const byte kInstruction_sub_cc_r0_r9_r7_LSR_24[] = {
1184   0x27, 0x0c, 0x49, 0x30 // sub cc r0 r9 r7 LSR 24
1185 };
1186 const byte kInstruction_sub_ls_r10_r9_r3_LSR_32[] = {
1187   0x23, 0xa0, 0x49, 0x90 // sub ls r10 r9 r3 LSR 32
1188 };
1189 const byte kInstruction_sub_vc_r8_r12_r7_ASR_14[] = {
1190   0x47, 0x87, 0x4c, 0x70 // sub vc r8 r12 r7 ASR 14
1191 };
1192 const byte kInstruction_sub_le_r6_r13_r8_ASR_15[] = {
1193   0xc8, 0x67, 0x4d, 0xd0 // sub le r6 r13 r8 ASR 15
1194 };
1195 const byte kInstruction_sub_le_r0_r0_r13_ASR_9[] = {
1196   0xcd, 0x04, 0x40, 0xd0 // sub le r0 r0 r13 ASR 9
1197 };
1198 const byte kInstruction_sub_eq_r9_r3_r0_ASR_5[] = {
1199   0xc0, 0x92, 0x43, 0x00 // sub eq r9 r3 r0 ASR 5
1200 };
1201 const byte kInstruction_sub_mi_r0_r7_r5_LSR_21[] = {
1202   0xa5, 0x0a, 0x47, 0x40 // sub mi r0 r7 r5 LSR 21
1203 };
1204 const byte kInstruction_sub_mi_r13_r1_r8_LSR_19[] = {
1205   0xa8, 0xd9, 0x41, 0x40 // sub mi r13 r1 r8 LSR 19
1206 };
1207 const byte kInstruction_sub_le_r7_r0_r7_ASR_26[] = {
1208   0x47, 0x7d, 0x40, 0xd0 // sub le r7 r0 r7 ASR 26
1209 };
1210 const byte kInstruction_sub_mi_r7_r4_r3_ASR_20[] = {
1211   0x43, 0x7a, 0x44, 0x40 // sub mi r7 r4 r3 ASR 20
1212 };
1213 const byte kInstruction_sub_al_r3_r5_r8_ASR_23[] = {
1214   0xc8, 0x3b, 0x45, 0xe0 // sub al r3 r5 r8 ASR 23
1215 };
1216 const byte kInstruction_sub_ge_r4_r12_r5_LSR_28[] = {
1217   0x25, 0x4e, 0x4c, 0xa0 // sub ge r4 r12 r5 LSR 28
1218 };
1219 const byte kInstruction_sub_vs_r7_r13_r13_ASR_1[] = {
1220   0xcd, 0x70, 0x4d, 0x60 // sub vs r7 r13 r13 ASR 1
1221 };
1222 const byte kInstruction_sub_gt_r8_r8_r11_LSR_23[] = {
1223   0xab, 0x8b, 0x48, 0xc0 // sub gt r8 r8 r11 LSR 23
1224 };
1225 const byte kInstruction_sub_eq_r13_r8_r4_ASR_7[] = {
1226   0xc4, 0xd3, 0x48, 0x00 // sub eq r13 r8 r4 ASR 7
1227 };
1228 const byte kInstruction_sub_eq_r14_r3_r13_LSR_12[] = {
1229   0x2d, 0xe6, 0x43, 0x00 // sub eq r14 r3 r13 LSR 12
1230 };
1231 const byte kInstruction_sub_vs_r5_r13_r10_ASR_21[] = {
1232   0xca, 0x5a, 0x4d, 0x60 // sub vs r5 r13 r10 ASR 21
1233 };
1234 const byte kInstruction_sub_vc_r4_r2_r8_ASR_31[] = {
1235   0xc8, 0x4f, 0x42, 0x70 // sub vc r4 r2 r8 ASR 31
1236 };
1237 const byte kInstruction_sub_vc_r2_r9_r12_ASR_18[] = {
1238   0x4c, 0x29, 0x49, 0x70 // sub vc r2 r9 r12 ASR 18
1239 };
1240 const byte kInstruction_sub_pl_r4_r8_r11_ASR_3[] = {
1241   0xcb, 0x41, 0x48, 0x50 // sub pl r4 r8 r11 ASR 3
1242 };
1243 const byte kInstruction_sub_cc_r11_r8_r1_ASR_13[] = {
1244   0xc1, 0xb6, 0x48, 0x30 // sub cc r11 r8 r1 ASR 13
1245 };
1246 const byte kInstruction_sub_pl_r11_r13_r2_ASR_11[] = {
1247   0xc2, 0xb5, 0x4d, 0x50 // sub pl r11 r13 r2 ASR 11
1248 };
1249 const byte kInstruction_sub_ge_r8_r5_r5_LSR_9[] = {
1250   0xa5, 0x84, 0x45, 0xa0 // sub ge r8 r5 r5 LSR 9
1251 };
1252 const byte kInstruction_sub_mi_r2_r6_r7_LSR_22[] = {
1253   0x27, 0x2b, 0x46, 0x40 // sub mi r2 r6 r7 LSR 22
1254 };
1255 const byte kInstruction_sub_cs_r0_r1_r1_LSR_27[] = {
1256   0xa1, 0x0d, 0x41, 0x20 // sub cs r0 r1 r1 LSR 27
1257 };
1258 const byte kInstruction_sub_vs_r2_r0_r5_ASR_22[] = {
1259   0x45, 0x2b, 0x40, 0x60 // sub vs r2 r0 r5 ASR 22
1260 };
1261 const byte kInstruction_sub_cs_r13_r1_r3_ASR_10[] = {
1262   0x43, 0xd5, 0x41, 0x20 // sub cs r13 r1 r3 ASR 10
1263 };
1264 const byte kInstruction_sub_vs_r5_r6_r8_LSR_24[] = {
1265   0x28, 0x5c, 0x46, 0x60 // sub vs r5 r6 r8 LSR 24
1266 };
1267 const byte kInstruction_sub_ge_r5_r2_r10_LSR_15[] = {
1268   0xaa, 0x57, 0x42, 0xa0 // sub ge r5 r2 r10 LSR 15
1269 };
1270 const byte kInstruction_sub_hi_r8_r10_r10_ASR_26[] = {
1271   0x4a, 0x8d, 0x4a, 0x80 // sub hi r8 r10 r10 ASR 26
1272 };
1273 const byte kInstruction_sub_vc_r7_r6_r11_LSR_19[] = {
1274   0xab, 0x79, 0x46, 0x70 // sub vc r7 r6 r11 LSR 19
1275 };
1276 const byte kInstruction_sub_ls_r7_r5_r0_LSR_1[] = {
1277   0xa0, 0x70, 0x45, 0x90 // sub ls r7 r5 r0 LSR 1
1278 };
1279 const byte kInstruction_sub_al_r9_r4_r12_LSR_28[] = {
1280   0x2c, 0x9e, 0x44, 0xe0 // sub al r9 r4 r12 LSR 28
1281 };
1282 const byte kInstruction_sub_vs_r2_r2_r5_ASR_19[] = {
1283   0xc5, 0x29, 0x42, 0x60 // sub vs r2 r2 r5 ASR 19
1284 };
1285 const byte kInstruction_sub_mi_r9_r12_r11_LSR_26[] = {
1286   0x2b, 0x9d, 0x4c, 0x40 // sub mi r9 r12 r11 LSR 26
1287 };
1288 const byte kInstruction_sub_ne_r13_r7_r8_LSR_6[] = {
1289   0x28, 0xd3, 0x47, 0x10 // sub ne r13 r7 r8 LSR 6
1290 };
1291 const byte kInstruction_sub_al_r13_r7_r0_LSR_20[] = {
1292   0x20, 0xda, 0x47, 0xe0 // sub al r13 r7 r0 LSR 20
1293 };
1294 const byte kInstruction_sub_eq_r5_r5_r4_ASR_9[] = {
1295   0xc4, 0x54, 0x45, 0x00 // sub eq r5 r5 r4 ASR 9
1296 };
1297 const byte kInstruction_sub_le_r7_r11_r10_ASR_16[] = {
1298   0x4a, 0x78, 0x4b, 0xd0 // sub le r7 r11 r10 ASR 16
1299 };
1300 const byte kInstruction_sub_lt_r14_r14_r13_LSR_3[] = {
1301   0xad, 0xe1, 0x4e, 0xb0 // sub lt r14 r14 r13 LSR 3
1302 };
1303 const byte kInstruction_sub_pl_r5_r9_r2_ASR_7[] = {
1304   0xc2, 0x53, 0x49, 0x50 // sub pl r5 r9 r2 ASR 7
1305 };
1306 const byte kInstruction_sub_cc_r2_r13_r14_LSR_13[] = {
1307   0xae, 0x26, 0x4d, 0x30 // sub cc r2 r13 r14 LSR 13
1308 };
1309 const byte kInstruction_sub_gt_r2_r8_r11_ASR_11[] = {
1310   0xcb, 0x25, 0x48, 0xc0 // sub gt r2 r8 r11 ASR 11
1311 };
1312 const byte kInstruction_sub_hi_r8_r12_r8_ASR_1[] = {
1313   0xc8, 0x80, 0x4c, 0x80 // sub hi r8 r12 r8 ASR 1
1314 };
1315 const byte kInstruction_sub_cc_r11_r12_r12_LSR_26[] = {
1316   0x2c, 0xbd, 0x4c, 0x30 // sub cc r11 r12 r12 LSR 26
1317 };
1318 const byte kInstruction_sub_eq_r6_r4_r1_ASR_27[] = {
1319   0xc1, 0x6d, 0x44, 0x00 // sub eq r6 r4 r1 ASR 27
1320 };
1321 const byte kInstruction_sub_eq_r7_r6_r7_ASR_17[] = {
1322   0xc7, 0x78, 0x46, 0x00 // sub eq r7 r6 r7 ASR 17
1323 };
1324 const byte kInstruction_sub_mi_r10_r12_r0_LSR_3[] = {
1325   0xa0, 0xa1, 0x4c, 0x40 // sub mi r10 r12 r0 LSR 3
1326 };
1327 const byte kInstruction_sub_ge_r2_r1_r5_ASR_20[] = {
1328   0x45, 0x2a, 0x41, 0xa0 // sub ge r2 r1 r5 ASR 20
1329 };
1330 const byte kInstruction_sub_lt_r12_r12_r3_ASR_25[] = {
1331   0xc3, 0xcc, 0x4c, 0xb0 // sub lt r12 r12 r3 ASR 25
1332 };
1333 const byte kInstruction_sub_mi_r11_r7_r8_ASR_13[] = {
1334   0xc8, 0xb6, 0x47, 0x40 // sub mi r11 r7 r8 ASR 13
1335 };
1336 const byte kInstruction_sub_al_r5_r5_r13_ASR_4[] = {
1337   0x4d, 0x52, 0x45, 0xe0 // sub al r5 r5 r13 ASR 4
1338 };
1339 const byte kInstruction_sub_eq_r8_r9_r4_LSR_5[] = {
1340   0xa4, 0x82, 0x49, 0x00 // sub eq r8 r9 r4 LSR 5
1341 };
1342 const byte kInstruction_sub_ne_r9_r5_r0_LSR_5[] = {
1343   0xa0, 0x92, 0x45, 0x10 // sub ne r9 r5 r0 LSR 5
1344 };
1345 const byte kInstruction_sub_hi_r4_r7_r7_ASR_22[] = {
1346   0x47, 0x4b, 0x47, 0x80 // sub hi r4 r7 r7 ASR 22
1347 };
1348 const byte kInstruction_sub_al_r13_r12_r14_ASR_26[] = {
1349   0x4e, 0xdd, 0x4c, 0xe0 // sub al r13 r12 r14 ASR 26
1350 };
1351 const byte kInstruction_sub_lt_r11_r6_r1_ASR_11[] = {
1352   0xc1, 0xb5, 0x46, 0xb0 // sub lt r11 r6 r1 ASR 11
1353 };
1354 const byte kInstruction_sub_cs_r4_r2_r11_LSR_27[] = {
1355   0xab, 0x4d, 0x42, 0x20 // sub cs r4 r2 r11 LSR 27
1356 };
1357 const byte kInstruction_sub_cc_r4_r5_r12_LSR_22[] = {
1358   0x2c, 0x4b, 0x45, 0x30 // sub cc r4 r5 r12 LSR 22
1359 };
1360 const byte kInstruction_sub_mi_r6_r1_r1_LSR_23[] = {
1361   0xa1, 0x6b, 0x41, 0x40 // sub mi r6 r1 r1 LSR 23
1362 };
1363 const byte kInstruction_sub_eq_r7_r1_r2_LSR_30[] = {
1364   0x22, 0x7f, 0x41, 0x00 // sub eq r7 r1 r2 LSR 30
1365 };
1366 const byte kInstruction_sub_al_r2_r13_r12_ASR_6[] = {
1367   0x4c, 0x23, 0x4d, 0xe0 // sub al r2 r13 r12 ASR 6
1368 };
1369 const byte kInstruction_sub_ge_r9_r13_r10_ASR_19[] = {
1370   0xca, 0x99, 0x4d, 0xa0 // sub ge r9 r13 r10 ASR 19
1371 };
1372 const byte kInstruction_sub_le_r1_r10_r9_LSR_3[] = {
1373   0xa9, 0x11, 0x4a, 0xd0 // sub le r1 r10 r9 LSR 3
1374 };
1375 const byte kInstruction_sub_le_r3_r11_r9_LSR_18[] = {
1376   0x29, 0x39, 0x4b, 0xd0 // sub le r3 r11 r9 LSR 18
1377 };
1378 const byte kInstruction_sub_vs_r1_r7_r13_LSR_23[] = {
1379   0xad, 0x1b, 0x47, 0x60 // sub vs r1 r7 r13 LSR 23
1380 };
1381 const byte kInstruction_sub_cc_r14_r9_r4_ASR_2[] = {
1382   0x44, 0xe1, 0x49, 0x30 // sub cc r14 r9 r4 ASR 2
1383 };
1384 const byte kInstruction_sub_mi_r1_r14_r2_ASR_15[] = {
1385   0xc2, 0x17, 0x4e, 0x40 // sub mi r1 r14 r2 ASR 15
1386 };
1387 const byte kInstruction_sub_ne_r8_r1_r14_ASR_32[] = {
1388   0x4e, 0x80, 0x41, 0x10 // sub ne r8 r1 r14 ASR 32
1389 };
1390 const byte kInstruction_sub_hi_r14_r12_r14_LSR_21[] = {
1391   0xae, 0xea, 0x4c, 0x80 // sub hi r14 r12 r14 LSR 21
1392 };
1393 const byte kInstruction_sub_lt_r6_r2_r0_LSR_1[] = {
1394   0xa0, 0x60, 0x42, 0xb0 // sub lt r6 r2 r0 LSR 1
1395 };
1396 const byte kInstruction_sub_ls_r5_r12_r4_ASR_4[] = {
1397   0x44, 0x52, 0x4c, 0x90 // sub ls r5 r12 r4 ASR 4
1398 };
1399 const byte kInstruction_sub_vs_r3_r12_r8_ASR_25[] = {
1400   0xc8, 0x3c, 0x4c, 0x60 // sub vs r3 r12 r8 ASR 25
1401 };
1402 const byte kInstruction_sub_hi_r11_r6_r11_LSR_11[] = {
1403   0xab, 0xb5, 0x46, 0x80 // sub hi r11 r6 r11 LSR 11
1404 };
1405 const byte kInstruction_sub_vc_r5_r7_r11_LSR_13[] = {
1406   0xab, 0x56, 0x47, 0x70 // sub vc r5 r7 r11 LSR 13
1407 };
1408 const byte kInstruction_sub_cc_r13_r9_r9_LSR_21[] = {
1409   0xa9, 0xda, 0x49, 0x30 // sub cc r13 r9 r9 LSR 21
1410 };
1411 const byte kInstruction_sub_al_r3_r14_r14_ASR_31[] = {
1412   0xce, 0x3f, 0x4e, 0xe0 // sub al r3 r14 r14 ASR 31
1413 };
1414 const byte kInstruction_sub_ls_r13_r3_r9_LSR_28[] = {
1415   0x29, 0xde, 0x43, 0x90 // sub ls r13 r3 r9 LSR 28
1416 };
1417 const byte kInstruction_sub_pl_r11_r5_r11_ASR_26[] = {
1418   0x4b, 0xbd, 0x45, 0x50 // sub pl r11 r5 r11 ASR 26
1419 };
1420 const byte kInstruction_sub_cc_r2_r9_r8_ASR_25[] = {
1421   0xc8, 0x2c, 0x49, 0x30 // sub cc r2 r9 r8 ASR 25
1422 };
1423 const byte kInstruction_sub_al_r10_r2_r6_ASR_8[] = {
1424   0x46, 0xa4, 0x42, 0xe0 // sub al r10 r2 r6 ASR 8
1425 };
1426 const byte kInstruction_sub_vc_r12_r9_r2_ASR_15[] = {
1427   0xc2, 0xc7, 0x49, 0x70 // sub vc r12 r9 r2 ASR 15
1428 };
1429 const byte kInstruction_sub_vs_r7_r9_r8_LSR_13[] = {
1430   0xa8, 0x76, 0x49, 0x60 // sub vs r7 r9 r8 LSR 13
1431 };
1432 const byte kInstruction_sub_pl_r12_r6_r7_ASR_21[] = {
1433   0xc7, 0xca, 0x46, 0x50 // sub pl r12 r6 r7 ASR 21
1434 };
1435 const byte kInstruction_sub_eq_r0_r0_r11_ASR_10[] = {
1436   0x4b, 0x05, 0x40, 0x00 // sub eq r0 r0 r11 ASR 10
1437 };
1438 const byte kInstruction_sub_lt_r1_r12_r9_LSR_8[] = {
1439   0x29, 0x14, 0x4c, 0xb0 // sub lt r1 r12 r9 LSR 8
1440 };
1441 const byte kInstruction_sub_hi_r14_r14_r8_LSR_4[] = {
1442   0x28, 0xe2, 0x4e, 0x80 // sub hi r14 r14 r8 LSR 4
1443 };
1444 const byte kInstruction_sub_vs_r10_r12_r14_LSR_14[] = {
1445   0x2e, 0xa7, 0x4c, 0x60 // sub vs r10 r12 r14 LSR 14
1446 };
1447 const byte kInstruction_sub_lt_r11_r4_r8_ASR_4[] = {
1448   0x48, 0xb2, 0x44, 0xb0 // sub lt r11 r4 r8 ASR 4
1449 };
1450 const byte kInstruction_sub_hi_r13_r14_r14_LSR_8[] = {
1451   0x2e, 0xd4, 0x4e, 0x80 // sub hi r13 r14 r14 LSR 8
1452 };
1453 const byte kInstruction_sub_al_r0_r7_r8_ASR_8[] = {
1454   0x48, 0x04, 0x47, 0xe0 // sub al r0 r7 r8 ASR 8
1455 };
1456 const byte kInstruction_sub_cc_r12_r14_r1_ASR_25[] = {
1457   0xc1, 0xcc, 0x4e, 0x30 // sub cc r12 r14 r1 ASR 25
1458 };
1459 const byte kInstruction_sub_pl_r12_r0_r2_LSR_4[] = {
1460   0x22, 0xc2, 0x40, 0x50 // sub pl r12 r0 r2 LSR 4
1461 };
1462 const byte kInstruction_sub_pl_r12_r2_r2_LSR_15[] = {
1463   0xa2, 0xc7, 0x42, 0x50 // sub pl r12 r2 r2 LSR 15
1464 };
1465 const byte kInstruction_sub_gt_r11_r12_r3_LSR_13[] = {
1466   0xa3, 0xb6, 0x4c, 0xc0 // sub gt r11 r12 r3 LSR 13
1467 };
1468 const byte kInstruction_sub_al_r2_r7_r6_ASR_19[] = {
1469   0xc6, 0x29, 0x47, 0xe0 // sub al r2 r7 r6 ASR 19
1470 };
1471 const byte kInstruction_sub_eq_r0_r3_r5_LSR_11[] = {
1472   0xa5, 0x05, 0x43, 0x00 // sub eq r0 r3 r5 LSR 11
1473 };
1474 const byte kInstruction_sub_mi_r1_r12_r1_LSR_25[] = {
1475   0xa1, 0x1c, 0x4c, 0x40 // sub mi r1 r12 r1 LSR 25
1476 };
1477 const byte kInstruction_sub_hi_r2_r7_r2_LSR_20[] = {
1478   0x22, 0x2a, 0x47, 0x80 // sub hi r2 r7 r2 LSR 20
1479 };
1480 const byte kInstruction_sub_gt_r14_r12_r2_LSR_2[] = {
1481   0x22, 0xe1, 0x4c, 0xc0 // sub gt r14 r12 r2 LSR 2
1482 };
1483 const byte kInstruction_sub_gt_r1_r13_r4_LSR_15[] = {
1484   0xa4, 0x17, 0x4d, 0xc0 // sub gt r1 r13 r4 LSR 15
1485 };
1486 const byte kInstruction_sub_lt_r11_r4_r12_ASR_11[] = {
1487   0xcc, 0xb5, 0x44, 0xb0 // sub lt r11 r4 r12 ASR 11
1488 };
1489 const byte kInstruction_sub_cs_r0_r0_r14_LSR_26[] = {
1490   0x2e, 0x0d, 0x40, 0x20 // sub cs r0 r0 r14 LSR 26
1491 };
1492 const byte kInstruction_sub_lt_r12_r6_r0_LSR_22[] = {
1493   0x20, 0xcb, 0x46, 0xb0 // sub lt r12 r6 r0 LSR 22
1494 };
1495 const byte kInstruction_sub_al_r11_r8_r2_ASR_9[] = {
1496   0xc2, 0xb4, 0x48, 0xe0 // sub al r11 r8 r2 ASR 9
1497 };
1498 const byte kInstruction_sub_ls_r8_r10_r3_ASR_17[] = {
1499   0xc3, 0x88, 0x4a, 0x90 // sub ls r8 r10 r3 ASR 17
1500 };
1501 const byte kInstruction_sub_hi_r7_r2_r14_LSR_13[] = {
1502   0xae, 0x76, 0x42, 0x80 // sub hi r7 r2 r14 LSR 13
1503 };
1504 const byte kInstruction_sub_hi_r13_r10_r12_ASR_31[] = {
1505   0xcc, 0xdf, 0x4a, 0x80 // sub hi r13 r10 r12 ASR 31
1506 };
1507 const byte kInstruction_sub_cs_r1_r5_r10_ASR_29[] = {
1508   0xca, 0x1e, 0x45, 0x20 // sub cs r1 r5 r10 ASR 29
1509 };
1510 const byte kInstruction_sub_lt_r11_r11_r9_LSR_18[] = {
1511   0x29, 0xb9, 0x4b, 0xb0 // sub lt r11 r11 r9 LSR 18
1512 };
1513 const byte kInstruction_sub_gt_r3_r4_r4_LSR_1[] = {
1514   0xa4, 0x30, 0x44, 0xc0 // sub gt r3 r4 r4 LSR 1
1515 };
1516 const byte kInstruction_sub_ge_r10_r12_r4_LSR_12[] = {
1517   0x24, 0xa6, 0x4c, 0xa0 // sub ge r10 r12 r4 LSR 12
1518 };
1519 const byte kInstruction_sub_hi_r4_r13_r11_ASR_25[] = {
1520   0xcb, 0x4c, 0x4d, 0x80 // sub hi r4 r13 r11 ASR 25
1521 };
1522 const byte kInstruction_sub_le_r0_r8_r4_ASR_4[] = {
1523   0x44, 0x02, 0x48, 0xd0 // sub le r0 r8 r4 ASR 4
1524 };
1525 const byte kInstruction_sub_mi_r14_r14_r3_LSR_31[] = {
1526   0xa3, 0xef, 0x4e, 0x40 // sub mi r14 r14 r3 LSR 31
1527 };
1528 const byte kInstruction_sub_gt_r7_r4_r8_ASR_15[] = {
1529   0xc8, 0x77, 0x44, 0xc0 // sub gt r7 r4 r8 ASR 15
1530 };
1531 const byte kInstruction_sub_eq_r4_r6_r6_ASR_1[] = {
1532   0xc6, 0x40, 0x46, 0x00 // sub eq r4 r6 r6 ASR 1
1533 };
1534 const byte kInstruction_sub_vs_r13_r2_r6_ASR_30[] = {
1535   0x46, 0xdf, 0x42, 0x60 // sub vs r13 r2 r6 ASR 30
1536 };
1537 const TestResult kReferencesub[] = {
1538   {
1539     ARRAY_SIZE(kInstruction_sub_eq_r13_r6_r7_ASR_5),
1540     kInstruction_sub_eq_r13_r6_r7_ASR_5,
1541   },
1542   {
1543     ARRAY_SIZE(kInstruction_sub_mi_r8_r11_r8_ASR_32),
1544     kInstruction_sub_mi_r8_r11_r8_ASR_32,
1545   },
1546   {
1547     ARRAY_SIZE(kInstruction_sub_hi_r2_r3_r10_ASR_18),
1548     kInstruction_sub_hi_r2_r3_r10_ASR_18,
1549   },
1550   {
1551     ARRAY_SIZE(kInstruction_sub_ls_r13_r8_r14_LSR_32),
1552     kInstruction_sub_ls_r13_r8_r14_LSR_32,
1553   },
1554   {
1555     ARRAY_SIZE(kInstruction_sub_cc_r8_r9_r2_ASR_3),
1556     kInstruction_sub_cc_r8_r9_r2_ASR_3,
1557   },
1558   {
1559     ARRAY_SIZE(kInstruction_sub_ls_r14_r2_r5_LSR_2),
1560     kInstruction_sub_ls_r14_r2_r5_LSR_2,
1561   },
1562   {
1563     ARRAY_SIZE(kInstruction_sub_pl_r8_r6_r1_ASR_31),
1564     kInstruction_sub_pl_r8_r6_r1_ASR_31,
1565   },
1566   {
1567     ARRAY_SIZE(kInstruction_sub_le_r2_r0_r14_LSR_3),
1568     kInstruction_sub_le_r2_r0_r14_LSR_3,
1569   },
1570   {
1571     ARRAY_SIZE(kInstruction_sub_ne_r2_r0_r13_LSR_15),
1572     kInstruction_sub_ne_r2_r0_r13_LSR_15,
1573   },
1574   {
1575     ARRAY_SIZE(kInstruction_sub_ge_r9_r12_r3_LSR_8),
1576     kInstruction_sub_ge_r9_r12_r3_LSR_8,
1577   },
1578   {
1579     ARRAY_SIZE(kInstruction_sub_pl_r13_r8_r1_ASR_7),
1580     kInstruction_sub_pl_r13_r8_r1_ASR_7,
1581   },
1582   {
1583     ARRAY_SIZE(kInstruction_sub_cs_r10_r13_r4_LSR_5),
1584     kInstruction_sub_cs_r10_r13_r4_LSR_5,
1585   },
1586   {
1587     ARRAY_SIZE(kInstruction_sub_pl_r13_r8_r11_ASR_17),
1588     kInstruction_sub_pl_r13_r8_r11_ASR_17,
1589   },
1590   {
1591     ARRAY_SIZE(kInstruction_sub_cs_r8_r7_r3_LSR_9),
1592     kInstruction_sub_cs_r8_r7_r3_LSR_9,
1593   },
1594   {
1595     ARRAY_SIZE(kInstruction_sub_vc_r11_r2_r7_LSR_30),
1596     kInstruction_sub_vc_r11_r2_r7_LSR_30,
1597   },
1598   {
1599     ARRAY_SIZE(kInstruction_sub_ge_r6_r14_r7_LSR_19),
1600     kInstruction_sub_ge_r6_r14_r7_LSR_19,
1601   },
1602   {
1603     ARRAY_SIZE(kInstruction_sub_cc_r11_r3_r0_LSR_20),
1604     kInstruction_sub_cc_r11_r3_r0_LSR_20,
1605   },
1606   {
1607     ARRAY_SIZE(kInstruction_sub_lt_r10_r9_r7_ASR_25),
1608     kInstruction_sub_lt_r10_r9_r7_ASR_25,
1609   },
1610   {
1611     ARRAY_SIZE(kInstruction_sub_ne_r8_r0_r12_LSR_30),
1612     kInstruction_sub_ne_r8_r0_r12_LSR_30,
1613   },
1614   {
1615     ARRAY_SIZE(kInstruction_sub_vc_r1_r4_r13_ASR_32),
1616     kInstruction_sub_vc_r1_r4_r13_ASR_32,
1617   },
1618   {
1619     ARRAY_SIZE(kInstruction_sub_al_r8_r14_r8_LSR_14),
1620     kInstruction_sub_al_r8_r14_r8_LSR_14,
1621   },
1622   {
1623     ARRAY_SIZE(kInstruction_sub_pl_r2_r12_r7_ASR_2),
1624     kInstruction_sub_pl_r2_r12_r7_ASR_2,
1625   },
1626   {
1627     ARRAY_SIZE(kInstruction_sub_pl_r11_r1_r0_LSR_14),
1628     kInstruction_sub_pl_r11_r1_r0_LSR_14,
1629   },
1630   {
1631     ARRAY_SIZE(kInstruction_sub_gt_r5_r11_r9_ASR_24),
1632     kInstruction_sub_gt_r5_r11_r9_ASR_24,
1633   },
1634   {
1635     ARRAY_SIZE(kInstruction_sub_eq_r8_r9_r12_ASR_6),
1636     kInstruction_sub_eq_r8_r9_r12_ASR_6,
1637   },
1638   {
1639     ARRAY_SIZE(kInstruction_sub_cs_r10_r9_r12_LSR_30),
1640     kInstruction_sub_cs_r10_r9_r12_LSR_30,
1641   },
1642   {
1643     ARRAY_SIZE(kInstruction_sub_lt_r7_r11_r2_ASR_21),
1644     kInstruction_sub_lt_r7_r11_r2_ASR_21,
1645   },
1646   {
1647     ARRAY_SIZE(kInstruction_sub_eq_r14_r3_r11_LSR_10),
1648     kInstruction_sub_eq_r14_r3_r11_LSR_10,
1649   },
1650   {
1651     ARRAY_SIZE(kInstruction_sub_vs_r4_r11_r5_ASR_7),
1652     kInstruction_sub_vs_r4_r11_r5_ASR_7,
1653   },
1654   {
1655     ARRAY_SIZE(kInstruction_sub_le_r7_r14_r12_ASR_3),
1656     kInstruction_sub_le_r7_r14_r12_ASR_3,
1657   },
1658   {
1659     ARRAY_SIZE(kInstruction_sub_ne_r7_r4_r0_ASR_17),
1660     kInstruction_sub_ne_r7_r4_r0_ASR_17,
1661   },
1662   {
1663     ARRAY_SIZE(kInstruction_sub_hi_r5_r11_r3_ASR_4),
1664     kInstruction_sub_hi_r5_r11_r3_ASR_4,
1665   },
1666   {
1667     ARRAY_SIZE(kInstruction_sub_cs_r8_r7_r9_LSR_24),
1668     kInstruction_sub_cs_r8_r7_r9_LSR_24,
1669   },
1670   {
1671     ARRAY_SIZE(kInstruction_sub_vc_r3_r9_r13_LSR_7),
1672     kInstruction_sub_vc_r3_r9_r13_LSR_7,
1673   },
1674   {
1675     ARRAY_SIZE(kInstruction_sub_lt_r6_r14_r3_LSR_2),
1676     kInstruction_sub_lt_r6_r14_r3_LSR_2,
1677   },
1678   {
1679     ARRAY_SIZE(kInstruction_sub_lt_r10_r14_r2_LSR_29),
1680     kInstruction_sub_lt_r10_r14_r2_LSR_29,
1681   },
1682   {
1683     ARRAY_SIZE(kInstruction_sub_mi_r8_r12_r0_ASR_30),
1684     kInstruction_sub_mi_r8_r12_r0_ASR_30,
1685   },
1686   {
1687     ARRAY_SIZE(kInstruction_sub_ls_r9_r0_r5_LSR_25),
1688     kInstruction_sub_ls_r9_r0_r5_LSR_25,
1689   },
1690   {
1691     ARRAY_SIZE(kInstruction_sub_ls_r10_r12_r5_ASR_21),
1692     kInstruction_sub_ls_r10_r12_r5_ASR_21,
1693   },
1694   {
1695     ARRAY_SIZE(kInstruction_sub_vs_r9_r10_r0_LSR_8),
1696     kInstruction_sub_vs_r9_r10_r0_LSR_8,
1697   },
1698   {
1699     ARRAY_SIZE(kInstruction_sub_mi_r13_r9_r9_LSR_32),
1700     kInstruction_sub_mi_r13_r9_r9_LSR_32,
1701   },
1702   {
1703     ARRAY_SIZE(kInstruction_sub_mi_r10_r14_r4_ASR_5),
1704     kInstruction_sub_mi_r10_r14_r4_ASR_5,
1705   },
1706   {
1707     ARRAY_SIZE(kInstruction_sub_ls_r12_r2_r12_LSR_7),
1708     kInstruction_sub_ls_r12_r2_r12_LSR_7,
1709   },
1710   {
1711     ARRAY_SIZE(kInstruction_sub_ne_r5_r5_r11_LSR_20),
1712     kInstruction_sub_ne_r5_r5_r11_LSR_20,
1713   },
1714   {
1715     ARRAY_SIZE(kInstruction_sub_vc_r5_r2_r13_ASR_15),
1716     kInstruction_sub_vc_r5_r2_r13_ASR_15,
1717   },
1718   {
1719     ARRAY_SIZE(kInstruction_sub_cc_r8_r13_r0_LSR_2),
1720     kInstruction_sub_cc_r8_r13_r0_LSR_2,
1721   },
1722   {
1723     ARRAY_SIZE(kInstruction_sub_hi_r5_r5_r12_LSR_9),
1724     kInstruction_sub_hi_r5_r5_r12_LSR_9,
1725   },
1726   {
1727     ARRAY_SIZE(kInstruction_sub_cs_r9_r10_r5_ASR_29),
1728     kInstruction_sub_cs_r9_r10_r5_ASR_29,
1729   },
1730   {
1731     ARRAY_SIZE(kInstruction_sub_le_r14_r1_r2_ASR_10),
1732     kInstruction_sub_le_r14_r1_r2_ASR_10,
1733   },
1734   {
1735     ARRAY_SIZE(kInstruction_sub_mi_r1_r11_r5_LSR_23),
1736     kInstruction_sub_mi_r1_r11_r5_LSR_23,
1737   },
1738   {
1739     ARRAY_SIZE(kInstruction_sub_vc_r3_r0_r12_LSR_9),
1740     kInstruction_sub_vc_r3_r0_r12_LSR_9,
1741   },
1742   {
1743     ARRAY_SIZE(kInstruction_sub_cs_r2_r4_r11_LSR_14),
1744     kInstruction_sub_cs_r2_r4_r11_LSR_14,
1745   },
1746   {
1747     ARRAY_SIZE(kInstruction_sub_gt_r8_r13_r2_ASR_29),
1748     kInstruction_sub_gt_r8_r13_r2_ASR_29,
1749   },
1750   {
1751     ARRAY_SIZE(kInstruction_sub_vc_r1_r8_r13_ASR_9),
1752     kInstruction_sub_vc_r1_r8_r13_ASR_9,
1753   },
1754   {
1755     ARRAY_SIZE(kInstruction_sub_vs_r3_r10_r6_LSR_29),
1756     kInstruction_sub_vs_r3_r10_r6_LSR_29,
1757   },
1758   {
1759     ARRAY_SIZE(kInstruction_sub_ge_r1_r3_r6_LSR_6),
1760     kInstruction_sub_ge_r1_r3_r6_LSR_6,
1761   },
1762   {
1763     ARRAY_SIZE(kInstruction_sub_cs_r5_r1_r9_ASR_4),
1764     kInstruction_sub_cs_r5_r1_r9_ASR_4,
1765   },
1766   {
1767     ARRAY_SIZE(kInstruction_sub_le_r3_r6_r14_ASR_22),
1768     kInstruction_sub_le_r3_r6_r14_ASR_22,
1769   },
1770   {
1771     ARRAY_SIZE(kInstruction_sub_le_r4_r4_r9_LSR_15),
1772     kInstruction_sub_le_r4_r4_r9_LSR_15,
1773   },
1774   {
1775     ARRAY_SIZE(kInstruction_sub_le_r13_r3_r1_LSR_25),
1776     kInstruction_sub_le_r13_r3_r1_LSR_25,
1777   },
1778   {
1779     ARRAY_SIZE(kInstruction_sub_cc_r8_r14_r8_ASR_5),
1780     kInstruction_sub_cc_r8_r14_r8_ASR_5,
1781   },
1782   {
1783     ARRAY_SIZE(kInstruction_sub_ge_r6_r12_r0_ASR_14),
1784     kInstruction_sub_ge_r6_r12_r0_ASR_14,
1785   },
1786   {
1787     ARRAY_SIZE(kInstruction_sub_gt_r3_r6_r10_LSR_15),
1788     kInstruction_sub_gt_r3_r6_r10_LSR_15,
1789   },
1790   {
1791     ARRAY_SIZE(kInstruction_sub_cs_r0_r5_r6_LSR_29),
1792     kInstruction_sub_cs_r0_r5_r6_LSR_29,
1793   },
1794   {
1795     ARRAY_SIZE(kInstruction_sub_pl_r6_r4_r3_LSR_13),
1796     kInstruction_sub_pl_r6_r4_r3_LSR_13,
1797   },
1798   {
1799     ARRAY_SIZE(kInstruction_sub_pl_r8_r12_r6_LSR_5),
1800     kInstruction_sub_pl_r8_r12_r6_LSR_5,
1801   },
1802   {
1803     ARRAY_SIZE(kInstruction_sub_vc_r13_r7_r0_LSR_18),
1804     kInstruction_sub_vc_r13_r7_r0_LSR_18,
1805   },
1806   {
1807     ARRAY_SIZE(kInstruction_sub_ne_r0_r12_r8_ASR_1),
1808     kInstruction_sub_ne_r0_r12_r8_ASR_1,
1809   },
1810   {
1811     ARRAY_SIZE(kInstruction_sub_ls_r8_r2_r10_ASR_14),
1812     kInstruction_sub_ls_r8_r2_r10_ASR_14,
1813   },
1814   {
1815     ARRAY_SIZE(kInstruction_sub_al_r5_r3_r9_ASR_2),
1816     kInstruction_sub_al_r5_r3_r9_ASR_2,
1817   },
1818   {
1819     ARRAY_SIZE(kInstruction_sub_vc_r1_r14_r13_LSR_4),
1820     kInstruction_sub_vc_r1_r14_r13_LSR_4,
1821   },
1822   {
1823     ARRAY_SIZE(kInstruction_sub_vc_r0_r10_r4_LSR_30),
1824     kInstruction_sub_vc_r0_r10_r4_LSR_30,
1825   },
1826   {
1827     ARRAY_SIZE(kInstruction_sub_al_r3_r0_r11_ASR_14),
1828     kInstruction_sub_al_r3_r0_r11_ASR_14,
1829   },
1830   {
1831     ARRAY_SIZE(kInstruction_sub_vs_r3_r11_r10_ASR_23),
1832     kInstruction_sub_vs_r3_r11_r10_ASR_23,
1833   },
1834   {
1835     ARRAY_SIZE(kInstruction_sub_ls_r0_r9_r0_ASR_8),
1836     kInstruction_sub_ls_r0_r9_r0_ASR_8,
1837   },
1838   {
1839     ARRAY_SIZE(kInstruction_sub_le_r2_r8_r10_LSR_5),
1840     kInstruction_sub_le_r2_r8_r10_LSR_5,
1841   },
1842   {
1843     ARRAY_SIZE(kInstruction_sub_cs_r0_r5_r0_LSR_31),
1844     kInstruction_sub_cs_r0_r5_r0_LSR_31,
1845   },
1846   {
1847     ARRAY_SIZE(kInstruction_sub_cc_r1_r10_r13_LSR_27),
1848     kInstruction_sub_cc_r1_r10_r13_LSR_27,
1849   },
1850   {
1851     ARRAY_SIZE(kInstruction_sub_ge_r11_r13_r12_ASR_17),
1852     kInstruction_sub_ge_r11_r13_r12_ASR_17,
1853   },
1854   {
1855     ARRAY_SIZE(kInstruction_sub_eq_r2_r9_r4_LSR_12),
1856     kInstruction_sub_eq_r2_r9_r4_LSR_12,
1857   },
1858   {
1859     ARRAY_SIZE(kInstruction_sub_ge_r4_r14_r0_ASR_13),
1860     kInstruction_sub_ge_r4_r14_r0_ASR_13,
1861   },
1862   {
1863     ARRAY_SIZE(kInstruction_sub_vc_r1_r6_r0_ASR_16),
1864     kInstruction_sub_vc_r1_r6_r0_ASR_16,
1865   },
1866   {
1867     ARRAY_SIZE(kInstruction_sub_hi_r7_r9_r12_LSR_11),
1868     kInstruction_sub_hi_r7_r9_r12_LSR_11,
1869   },
1870   {
1871     ARRAY_SIZE(kInstruction_sub_eq_r14_r11_r12_LSR_29),
1872     kInstruction_sub_eq_r14_r11_r12_LSR_29,
1873   },
1874   {
1875     ARRAY_SIZE(kInstruction_sub_ge_r14_r13_r4_ASR_23),
1876     kInstruction_sub_ge_r14_r13_r4_ASR_23,
1877   },
1878   {
1879     ARRAY_SIZE(kInstruction_sub_pl_r8_r0_r14_ASR_25),
1880     kInstruction_sub_pl_r8_r0_r14_ASR_25,
1881   },
1882   {
1883     ARRAY_SIZE(kInstruction_sub_ne_r7_r13_r12_LSR_14),
1884     kInstruction_sub_ne_r7_r13_r12_LSR_14,
1885   },
1886   {
1887     ARRAY_SIZE(kInstruction_sub_vs_r13_r4_r7_ASR_10),
1888     kInstruction_sub_vs_r13_r4_r7_ASR_10,
1889   },
1890   {
1891     ARRAY_SIZE(kInstruction_sub_mi_r3_r14_r9_ASR_15),
1892     kInstruction_sub_mi_r3_r14_r9_ASR_15,
1893   },
1894   {
1895     ARRAY_SIZE(kInstruction_sub_cs_r14_r9_r14_ASR_25),
1896     kInstruction_sub_cs_r14_r9_r14_ASR_25,
1897   },
1898   {
1899     ARRAY_SIZE(kInstruction_sub_cc_r11_r7_r4_LSR_4),
1900     kInstruction_sub_cc_r11_r7_r4_LSR_4,
1901   },
1902   {
1903     ARRAY_SIZE(kInstruction_sub_cc_r11_r7_r2_ASR_1),
1904     kInstruction_sub_cc_r11_r7_r2_ASR_1,
1905   },
1906   {
1907     ARRAY_SIZE(kInstruction_sub_al_r0_r5_r5_LSR_11),
1908     kInstruction_sub_al_r0_r5_r5_LSR_11,
1909   },
1910   {
1911     ARRAY_SIZE(kInstruction_sub_eq_r3_r5_r13_LSR_3),
1912     kInstruction_sub_eq_r3_r5_r13_LSR_3,
1913   },
1914   {
1915     ARRAY_SIZE(kInstruction_sub_ge_r11_r1_r1_ASR_24),
1916     kInstruction_sub_ge_r11_r1_r1_ASR_24,
1917   },
1918   {
1919     ARRAY_SIZE(kInstruction_sub_lt_r13_r12_r12_LSR_9),
1920     kInstruction_sub_lt_r13_r12_r12_LSR_9,
1921   },
1922   {
1923     ARRAY_SIZE(kInstruction_sub_cs_r13_r1_r14_LSR_26),
1924     kInstruction_sub_cs_r13_r1_r14_LSR_26,
1925   },
1926   {
1927     ARRAY_SIZE(kInstruction_sub_ge_r10_r4_r4_LSR_31),
1928     kInstruction_sub_ge_r10_r4_r4_LSR_31,
1929   },
1930   {
1931     ARRAY_SIZE(kInstruction_sub_pl_r7_r7_r5_ASR_5),
1932     kInstruction_sub_pl_r7_r7_r5_ASR_5,
1933   },
1934   {
1935     ARRAY_SIZE(kInstruction_sub_eq_r2_r13_r10_ASR_26),
1936     kInstruction_sub_eq_r2_r13_r10_ASR_26,
1937   },
1938   {
1939     ARRAY_SIZE(kInstruction_sub_ne_r5_r8_r13_LSR_23),
1940     kInstruction_sub_ne_r5_r8_r13_LSR_23,
1941   },
1942   {
1943     ARRAY_SIZE(kInstruction_sub_al_r0_r5_r12_LSR_1),
1944     kInstruction_sub_al_r0_r5_r12_LSR_1,
1945   },
1946   {
1947     ARRAY_SIZE(kInstruction_sub_al_r10_r11_r4_ASR_23),
1948     kInstruction_sub_al_r10_r11_r4_ASR_23,
1949   },
1950   {
1951     ARRAY_SIZE(kInstruction_sub_al_r0_r11_r10_LSR_1),
1952     kInstruction_sub_al_r0_r11_r10_LSR_1,
1953   },
1954   {
1955     ARRAY_SIZE(kInstruction_sub_eq_r9_r9_r2_LSR_18),
1956     kInstruction_sub_eq_r9_r9_r2_LSR_18,
1957   },
1958   {
1959     ARRAY_SIZE(kInstruction_sub_mi_r2_r9_r8_ASR_25),
1960     kInstruction_sub_mi_r2_r9_r8_ASR_25,
1961   },
1962   {
1963     ARRAY_SIZE(kInstruction_sub_vc_r6_r7_r1_LSR_3),
1964     kInstruction_sub_vc_r6_r7_r1_LSR_3,
1965   },
1966   {
1967     ARRAY_SIZE(kInstruction_sub_pl_r6_r10_r0_ASR_29),
1968     kInstruction_sub_pl_r6_r10_r0_ASR_29,
1969   },
1970   {
1971     ARRAY_SIZE(kInstruction_sub_gt_r9_r5_r5_ASR_10),
1972     kInstruction_sub_gt_r9_r5_r5_ASR_10,
1973   },
1974   {
1975     ARRAY_SIZE(kInstruction_sub_mi_r1_r0_r3_LSR_28),
1976     kInstruction_sub_mi_r1_r0_r3_LSR_28,
1977   },
1978   {
1979     ARRAY_SIZE(kInstruction_sub_ne_r10_r11_r9_LSR_8),
1980     kInstruction_sub_ne_r10_r11_r9_LSR_8,
1981   },
1982   {
1983     ARRAY_SIZE(kInstruction_sub_ls_r1_r9_r3_ASR_29),
1984     kInstruction_sub_ls_r1_r9_r3_ASR_29,
1985   },
1986   {
1987     ARRAY_SIZE(kInstruction_sub_eq_r13_r10_r13_LSR_9),
1988     kInstruction_sub_eq_r13_r10_r13_LSR_9,
1989   },
1990   {
1991     ARRAY_SIZE(kInstruction_sub_mi_r13_r0_r3_ASR_20),
1992     kInstruction_sub_mi_r13_r0_r3_ASR_20,
1993   },
1994   {
1995     ARRAY_SIZE(kInstruction_sub_eq_r14_r13_r12_ASR_18),
1996     kInstruction_sub_eq_r14_r13_r12_ASR_18,
1997   },
1998   {
1999     ARRAY_SIZE(kInstruction_sub_mi_r10_r7_r6_ASR_2),
2000     kInstruction_sub_mi_r10_r7_r6_ASR_2,
2001   },
2002   {
2003     ARRAY_SIZE(kInstruction_sub_hi_r0_r1_r2_LSR_32),
2004     kInstruction_sub_hi_r0_r1_r2_LSR_32,
2005   },
2006   {
2007     ARRAY_SIZE(kInstruction_sub_pl_r10_r2_r8_LSR_14),
2008     kInstruction_sub_pl_r10_r2_r8_LSR_14,
2009   },
2010   {
2011     ARRAY_SIZE(kInstruction_sub_le_r12_r6_r2_ASR_8),
2012     kInstruction_sub_le_r12_r6_r2_ASR_8,
2013   },
2014   {
2015     ARRAY_SIZE(kInstruction_sub_gt_r4_r0_r4_ASR_12),
2016     kInstruction_sub_gt_r4_r0_r4_ASR_12,
2017   },
2018   {
2019     ARRAY_SIZE(kInstruction_sub_eq_r9_r0_r10_LSR_15),
2020     kInstruction_sub_eq_r9_r0_r10_LSR_15,
2021   },
2022   {
2023     ARRAY_SIZE(kInstruction_sub_ge_r7_r1_r8_ASR_8),
2024     kInstruction_sub_ge_r7_r1_r8_ASR_8,
2025   },
2026   {
2027     ARRAY_SIZE(kInstruction_sub_al_r1_r1_r12_ASR_7),
2028     kInstruction_sub_al_r1_r1_r12_ASR_7,
2029   },
2030   {
2031     ARRAY_SIZE(kInstruction_sub_lt_r13_r1_r2_LSR_11),
2032     kInstruction_sub_lt_r13_r1_r2_LSR_11,
2033   },
2034   {
2035     ARRAY_SIZE(kInstruction_sub_cc_r2_r5_r3_ASR_3),
2036     kInstruction_sub_cc_r2_r5_r3_ASR_3,
2037   },
2038   {
2039     ARRAY_SIZE(kInstruction_sub_ne_r8_r2_r9_LSR_14),
2040     kInstruction_sub_ne_r8_r2_r9_LSR_14,
2041   },
2042   {
2043     ARRAY_SIZE(kInstruction_sub_eq_r11_r8_r1_LSR_3),
2044     kInstruction_sub_eq_r11_r8_r1_LSR_3,
2045   },
2046   {
2047     ARRAY_SIZE(kInstruction_sub_al_r3_r14_r11_LSR_14),
2048     kInstruction_sub_al_r3_r14_r11_LSR_14,
2049   },
2050   {
2051     ARRAY_SIZE(kInstruction_sub_pl_r1_r2_r7_LSR_31),
2052     kInstruction_sub_pl_r1_r2_r7_LSR_31,
2053   },
2054   {
2055     ARRAY_SIZE(kInstruction_sub_eq_r14_r2_r5_LSR_20),
2056     kInstruction_sub_eq_r14_r2_r5_LSR_20,
2057   },
2058   {
2059     ARRAY_SIZE(kInstruction_sub_hi_r7_r13_r3_LSR_21),
2060     kInstruction_sub_hi_r7_r13_r3_LSR_21,
2061   },
2062   {
2063     ARRAY_SIZE(kInstruction_sub_gt_r14_r7_r11_LSR_16),
2064     kInstruction_sub_gt_r14_r7_r11_LSR_16,
2065   },
2066   {
2067     ARRAY_SIZE(kInstruction_sub_ls_r0_r5_r14_ASR_25),
2068     kInstruction_sub_ls_r0_r5_r14_ASR_25,
2069   },
2070   {
2071     ARRAY_SIZE(kInstruction_sub_cc_r0_r7_r8_LSR_4),
2072     kInstruction_sub_cc_r0_r7_r8_LSR_4,
2073   },
2074   {
2075     ARRAY_SIZE(kInstruction_sub_hi_r3_r5_r9_ASR_9),
2076     kInstruction_sub_hi_r3_r5_r9_ASR_9,
2077   },
2078   {
2079     ARRAY_SIZE(kInstruction_sub_hi_r10_r5_r5_ASR_15),
2080     kInstruction_sub_hi_r10_r5_r5_ASR_15,
2081   },
2082   {
2083     ARRAY_SIZE(kInstruction_sub_le_r7_r14_r0_LSR_19),
2084     kInstruction_sub_le_r7_r14_r0_LSR_19,
2085   },
2086   {
2087     ARRAY_SIZE(kInstruction_sub_gt_r10_r1_r2_LSR_16),
2088     kInstruction_sub_gt_r10_r1_r2_LSR_16,
2089   },
2090   {
2091     ARRAY_SIZE(kInstruction_sub_ls_r4_r14_r10_LSR_21),
2092     kInstruction_sub_ls_r4_r14_r10_LSR_21,
2093   },
2094   {
2095     ARRAY_SIZE(kInstruction_sub_mi_r12_r14_r3_LSR_11),
2096     kInstruction_sub_mi_r12_r14_r3_LSR_11,
2097   },
2098   {
2099     ARRAY_SIZE(kInstruction_sub_al_r7_r9_r4_LSR_12),
2100     kInstruction_sub_al_r7_r9_r4_LSR_12,
2101   },
2102   {
2103     ARRAY_SIZE(kInstruction_sub_cc_r0_r10_r1_ASR_20),
2104     kInstruction_sub_cc_r0_r10_r1_ASR_20,
2105   },
2106   {
2107     ARRAY_SIZE(kInstruction_sub_mi_r0_r2_r11_LSR_31),
2108     kInstruction_sub_mi_r0_r2_r11_LSR_31,
2109   },
2110   {
2111     ARRAY_SIZE(kInstruction_sub_cs_r7_r9_r6_ASR_22),
2112     kInstruction_sub_cs_r7_r9_r6_ASR_22,
2113   },
2114   {
2115     ARRAY_SIZE(kInstruction_sub_gt_r9_r6_r13_LSR_25),
2116     kInstruction_sub_gt_r9_r6_r13_LSR_25,
2117   },
2118   {
2119     ARRAY_SIZE(kInstruction_sub_cc_r1_r2_r8_ASR_16),
2120     kInstruction_sub_cc_r1_r2_r8_ASR_16,
2121   },
2122   {
2123     ARRAY_SIZE(kInstruction_sub_ne_r6_r4_r14_ASR_12),
2124     kInstruction_sub_ne_r6_r4_r14_ASR_12,
2125   },
2126   {
2127     ARRAY_SIZE(kInstruction_sub_al_r7_r2_r14_ASR_11),
2128     kInstruction_sub_al_r7_r2_r14_ASR_11,
2129   },
2130   {
2131     ARRAY_SIZE(kInstruction_sub_gt_r10_r14_r13_LSR_22),
2132     kInstruction_sub_gt_r10_r14_r13_LSR_22,
2133   },
2134   {
2135     ARRAY_SIZE(kInstruction_sub_lt_r0_r8_r6_LSR_25),
2136     kInstruction_sub_lt_r0_r8_r6_LSR_25,
2137   },
2138   {
2139     ARRAY_SIZE(kInstruction_sub_ne_r12_r5_r6_ASR_20),
2140     kInstruction_sub_ne_r12_r5_r6_ASR_20,
2141   },
2142   {
2143     ARRAY_SIZE(kInstruction_sub_pl_r12_r6_r7_ASR_27),
2144     kInstruction_sub_pl_r12_r6_r7_ASR_27,
2145   },
2146   {
2147     ARRAY_SIZE(kInstruction_sub_gt_r5_r8_r7_ASR_19),
2148     kInstruction_sub_gt_r5_r8_r7_ASR_19,
2149   },
2150   {
2151     ARRAY_SIZE(kInstruction_sub_le_r12_r1_r4_LSR_22),
2152     kInstruction_sub_le_r12_r1_r4_LSR_22,
2153   },
2154   {
2155     ARRAY_SIZE(kInstruction_sub_le_r9_r8_r11_LSR_17),
2156     kInstruction_sub_le_r9_r8_r11_LSR_17,
2157   },
2158   {
2159     ARRAY_SIZE(kInstruction_sub_gt_r5_r2_r3_ASR_30),
2160     kInstruction_sub_gt_r5_r2_r3_ASR_30,
2161   },
2162   {
2163     ARRAY_SIZE(kInstruction_sub_ge_r8_r7_r7_ASR_31),
2164     kInstruction_sub_ge_r8_r7_r7_ASR_31,
2165   },
2166   {
2167     ARRAY_SIZE(kInstruction_sub_lt_r14_r8_r11_ASR_23),
2168     kInstruction_sub_lt_r14_r8_r11_ASR_23,
2169   },
2170   {
2171     ARRAY_SIZE(kInstruction_sub_cc_r0_r11_r6_LSR_1),
2172     kInstruction_sub_cc_r0_r11_r6_LSR_1,
2173   },
2174   {
2175     ARRAY_SIZE(kInstruction_sub_pl_r0_r6_r14_LSR_2),
2176     kInstruction_sub_pl_r0_r6_r14_LSR_2,
2177   },
2178   {
2179     ARRAY_SIZE(kInstruction_sub_lt_r4_r2_r1_ASR_16),
2180     kInstruction_sub_lt_r4_r2_r1_ASR_16,
2181   },
2182   {
2183     ARRAY_SIZE(kInstruction_sub_pl_r14_r2_r14_ASR_19),
2184     kInstruction_sub_pl_r14_r2_r14_ASR_19,
2185   },
2186   {
2187     ARRAY_SIZE(kInstruction_sub_cs_r13_r5_r9_LSR_32),
2188     kInstruction_sub_cs_r13_r5_r9_LSR_32,
2189   },
2190   {
2191     ARRAY_SIZE(kInstruction_sub_cc_r13_r8_r1_LSR_1),
2192     kInstruction_sub_cc_r13_r8_r1_LSR_1,
2193   },
2194   {
2195     ARRAY_SIZE(kInstruction_sub_cs_r7_r9_r10_LSR_17),
2196     kInstruction_sub_cs_r7_r9_r10_LSR_17,
2197   },
2198   {
2199     ARRAY_SIZE(kInstruction_sub_vc_r2_r1_r7_LSR_29),
2200     kInstruction_sub_vc_r2_r1_r7_LSR_29,
2201   },
2202   {
2203     ARRAY_SIZE(kInstruction_sub_hi_r9_r2_r1_ASR_17),
2204     kInstruction_sub_hi_r9_r2_r1_ASR_17,
2205   },
2206   {
2207     ARRAY_SIZE(kInstruction_sub_cc_r14_r14_r7_ASR_17),
2208     kInstruction_sub_cc_r14_r14_r7_ASR_17,
2209   },
2210   {
2211     ARRAY_SIZE(kInstruction_sub_vs_r4_r8_r1_LSR_17),
2212     kInstruction_sub_vs_r4_r8_r1_LSR_17,
2213   },
2214   {
2215     ARRAY_SIZE(kInstruction_sub_vs_r8_r0_r6_LSR_8),
2216     kInstruction_sub_vs_r8_r0_r6_LSR_8,
2217   },
2218   {
2219     ARRAY_SIZE(kInstruction_sub_vs_r8_r0_r14_LSR_12),
2220     kInstruction_sub_vs_r8_r0_r14_LSR_12,
2221   },
2222   {
2223     ARRAY_SIZE(kInstruction_sub_vc_r5_r8_r1_ASR_10),
2224     kInstruction_sub_vc_r5_r8_r1_ASR_10,
2225   },
2226   {
2227     ARRAY_SIZE(kInstruction_sub_eq_r2_r0_r5_ASR_12),
2228     kInstruction_sub_eq_r2_r0_r5_ASR_12,
2229   },
2230   {
2231     ARRAY_SIZE(kInstruction_sub_vc_r13_r2_r11_LSR_27),
2232     kInstruction_sub_vc_r13_r2_r11_LSR_27,
2233   },
2234   {
2235     ARRAY_SIZE(kInstruction_sub_vc_r9_r3_r1_LSR_15),
2236     kInstruction_sub_vc_r9_r3_r1_LSR_15,
2237   },
2238   {
2239     ARRAY_SIZE(kInstruction_sub_gt_r3_r11_r10_ASR_19),
2240     kInstruction_sub_gt_r3_r11_r10_ASR_19,
2241   },
2242   {
2243     ARRAY_SIZE(kInstruction_sub_pl_r1_r0_r6_ASR_23),
2244     kInstruction_sub_pl_r1_r0_r6_ASR_23,
2245   },
2246   {
2247     ARRAY_SIZE(kInstruction_sub_ls_r3_r7_r8_LSR_8),
2248     kInstruction_sub_ls_r3_r7_r8_LSR_8,
2249   },
2250   {
2251     ARRAY_SIZE(kInstruction_sub_ls_r12_r14_r11_LSR_22),
2252     kInstruction_sub_ls_r12_r14_r11_LSR_22,
2253   },
2254   {
2255     ARRAY_SIZE(kInstruction_sub_vc_r5_r3_r8_ASR_6),
2256     kInstruction_sub_vc_r5_r3_r8_ASR_6,
2257   },
2258   {
2259     ARRAY_SIZE(kInstruction_sub_le_r4_r13_r14_LSR_10),
2260     kInstruction_sub_le_r4_r13_r14_LSR_10,
2261   },
2262   {
2263     ARRAY_SIZE(kInstruction_sub_vc_r7_r4_r14_ASR_8),
2264     kInstruction_sub_vc_r7_r4_r14_ASR_8,
2265   },
2266   {
2267     ARRAY_SIZE(kInstruction_sub_ge_r3_r7_r8_LSR_3),
2268     kInstruction_sub_ge_r3_r7_r8_LSR_3,
2269   },
2270   {
2271     ARRAY_SIZE(kInstruction_sub_al_r13_r8_r4_LSR_18),
2272     kInstruction_sub_al_r13_r8_r4_LSR_18,
2273   },
2274   {
2275     ARRAY_SIZE(kInstruction_sub_gt_r7_r0_r6_ASR_21),
2276     kInstruction_sub_gt_r7_r0_r6_ASR_21,
2277   },
2278   {
2279     ARRAY_SIZE(kInstruction_sub_al_r3_r11_r13_LSR_31),
2280     kInstruction_sub_al_r3_r11_r13_LSR_31,
2281   },
2282   {
2283     ARRAY_SIZE(kInstruction_sub_le_r5_r0_r11_ASR_6),
2284     kInstruction_sub_le_r5_r0_r11_ASR_6,
2285   },
2286   {
2287     ARRAY_SIZE(kInstruction_sub_cc_r11_r2_r5_LSR_26),
2288     kInstruction_sub_cc_r11_r2_r5_LSR_26,
2289   },
2290   {
2291     ARRAY_SIZE(kInstruction_sub_eq_r10_r14_r7_ASR_8),
2292     kInstruction_sub_eq_r10_r14_r7_ASR_8,
2293   },
2294   {
2295     ARRAY_SIZE(kInstruction_sub_ne_r0_r0_r5_LSR_3),
2296     kInstruction_sub_ne_r0_r0_r5_LSR_3,
2297   },
2298   {
2299     ARRAY_SIZE(kInstruction_sub_mi_r9_r1_r2_ASR_6),
2300     kInstruction_sub_mi_r9_r1_r2_ASR_6,
2301   },
2302   {
2303     ARRAY_SIZE(kInstruction_sub_eq_r6_r10_r13_ASR_17),
2304     kInstruction_sub_eq_r6_r10_r13_ASR_17,
2305   },
2306   {
2307     ARRAY_SIZE(kInstruction_sub_hi_r2_r7_r0_ASR_32),
2308     kInstruction_sub_hi_r2_r7_r0_ASR_32,
2309   },
2310   {
2311     ARRAY_SIZE(kInstruction_sub_ge_r14_r3_r11_LSR_17),
2312     kInstruction_sub_ge_r14_r3_r11_LSR_17,
2313   },
2314   {
2315     ARRAY_SIZE(kInstruction_sub_cc_r6_r4_r5_LSR_4),
2316     kInstruction_sub_cc_r6_r4_r5_LSR_4,
2317   },
2318   {
2319     ARRAY_SIZE(kInstruction_sub_al_r9_r14_r3_LSR_32),
2320     kInstruction_sub_al_r9_r14_r3_LSR_32,
2321   },
2322   {
2323     ARRAY_SIZE(kInstruction_sub_vc_r14_r14_r6_LSR_23),
2324     kInstruction_sub_vc_r14_r14_r6_LSR_23,
2325   },
2326   {
2327     ARRAY_SIZE(kInstruction_sub_le_r1_r9_r7_ASR_6),
2328     kInstruction_sub_le_r1_r9_r7_ASR_6,
2329   },
2330   {
2331     ARRAY_SIZE(kInstruction_sub_mi_r2_r11_r7_ASR_5),
2332     kInstruction_sub_mi_r2_r11_r7_ASR_5,
2333   },
2334   {
2335     ARRAY_SIZE(kInstruction_sub_le_r3_r14_r9_LSR_25),
2336     kInstruction_sub_le_r3_r14_r9_LSR_25,
2337   },
2338   {
2339     ARRAY_SIZE(kInstruction_sub_mi_r10_r8_r10_ASR_25),
2340     kInstruction_sub_mi_r10_r8_r10_ASR_25,
2341   },
2342   {
2343     ARRAY_SIZE(kInstruction_sub_eq_r5_r9_r5_LSR_24),
2344     kInstruction_sub_eq_r5_r9_r5_LSR_24,
2345   },
2346   {
2347     ARRAY_SIZE(kInstruction_sub_al_r2_r3_r13_ASR_24),
2348     kInstruction_sub_al_r2_r3_r13_ASR_24,
2349   },
2350   {
2351     ARRAY_SIZE(kInstruction_sub_cc_r6_r3_r7_ASR_23),
2352     kInstruction_sub_cc_r6_r3_r7_ASR_23,
2353   },
2354   {
2355     ARRAY_SIZE(kInstruction_sub_ge_r11_r11_r13_LSR_7),
2356     kInstruction_sub_ge_r11_r11_r13_LSR_7,
2357   },
2358   {
2359     ARRAY_SIZE(kInstruction_sub_vc_r14_r1_r3_ASR_17),
2360     kInstruction_sub_vc_r14_r1_r3_ASR_17,
2361   },
2362   {
2363     ARRAY_SIZE(kInstruction_sub_ls_r5_r1_r14_ASR_3),
2364     kInstruction_sub_ls_r5_r1_r14_ASR_3,
2365   },
2366   {
2367     ARRAY_SIZE(kInstruction_sub_ge_r13_r5_r4_LSR_18),
2368     kInstruction_sub_ge_r13_r5_r4_LSR_18,
2369   },
2370   {
2371     ARRAY_SIZE(kInstruction_sub_gt_r6_r5_r14_LSR_6),
2372     kInstruction_sub_gt_r6_r5_r14_LSR_6,
2373   },
2374   {
2375     ARRAY_SIZE(kInstruction_sub_eq_r9_r6_r7_LSR_11),
2376     kInstruction_sub_eq_r9_r6_r7_LSR_11,
2377   },
2378   {
2379     ARRAY_SIZE(kInstruction_sub_eq_r14_r6_r12_ASR_27),
2380     kInstruction_sub_eq_r14_r6_r12_ASR_27,
2381   },
2382   {
2383     ARRAY_SIZE(kInstruction_sub_pl_r14_r14_r9_ASR_19),
2384     kInstruction_sub_pl_r14_r14_r9_ASR_19,
2385   },
2386   {
2387     ARRAY_SIZE(kInstruction_sub_le_r14_r12_r8_LSR_13),
2388     kInstruction_sub_le_r14_r12_r8_LSR_13,
2389   },
2390   {
2391     ARRAY_SIZE(kInstruction_sub_cc_r7_r5_r5_LSR_13),
2392     kInstruction_sub_cc_r7_r5_r5_LSR_13,
2393   },
2394   {
2395     ARRAY_SIZE(kInstruction_sub_eq_r2_r13_r4_ASR_19),
2396     kInstruction_sub_eq_r2_r13_r4_ASR_19,
2397   },
2398   {
2399     ARRAY_SIZE(kInstruction_sub_vs_r11_r11_r10_ASR_2),
2400     kInstruction_sub_vs_r11_r11_r10_ASR_2,
2401   },
2402   {
2403     ARRAY_SIZE(kInstruction_sub_cc_r10_r8_r8_LSR_23),
2404     kInstruction_sub_cc_r10_r8_r8_LSR_23,
2405   },
2406   {
2407     ARRAY_SIZE(kInstruction_sub_ls_r14_r12_r6_ASR_30),
2408     kInstruction_sub_ls_r14_r12_r6_ASR_30,
2409   },
2410   {
2411     ARRAY_SIZE(kInstruction_sub_hi_r8_r8_r6_ASR_19),
2412     kInstruction_sub_hi_r8_r8_r6_ASR_19,
2413   },
2414   {
2415     ARRAY_SIZE(kInstruction_sub_cs_r5_r12_r3_ASR_6),
2416     kInstruction_sub_cs_r5_r12_r3_ASR_6,
2417   },
2418   {
2419     ARRAY_SIZE(kInstruction_sub_vs_r0_r9_r14_ASR_5),
2420     kInstruction_sub_vs_r0_r9_r14_ASR_5,
2421   },
2422   {
2423     ARRAY_SIZE(kInstruction_sub_lt_r9_r6_r14_ASR_7),
2424     kInstruction_sub_lt_r9_r6_r14_ASR_7,
2425   },
2426   {
2427     ARRAY_SIZE(kInstruction_sub_lt_r5_r1_r11_ASR_3),
2428     kInstruction_sub_lt_r5_r1_r11_ASR_3,
2429   },
2430   {
2431     ARRAY_SIZE(kInstruction_sub_al_r4_r11_r3_LSR_14),
2432     kInstruction_sub_al_r4_r11_r3_LSR_14,
2433   },
2434   {
2435     ARRAY_SIZE(kInstruction_sub_cs_r7_r1_r3_LSR_10),
2436     kInstruction_sub_cs_r7_r1_r3_LSR_10,
2437   },
2438   {
2439     ARRAY_SIZE(kInstruction_sub_cc_r2_r11_r4_ASR_29),
2440     kInstruction_sub_cc_r2_r11_r4_ASR_29,
2441   },
2442   {
2443     ARRAY_SIZE(kInstruction_sub_eq_r7_r1_r4_LSR_31),
2444     kInstruction_sub_eq_r7_r1_r4_LSR_31,
2445   },
2446   {
2447     ARRAY_SIZE(kInstruction_sub_hi_r2_r13_r7_ASR_17),
2448     kInstruction_sub_hi_r2_r13_r7_ASR_17,
2449   },
2450   {
2451     ARRAY_SIZE(kInstruction_sub_cs_r12_r10_r9_ASR_4),
2452     kInstruction_sub_cs_r12_r10_r9_ASR_4,
2453   },
2454   {
2455     ARRAY_SIZE(kInstruction_sub_gt_r10_r2_r2_LSR_28),
2456     kInstruction_sub_gt_r10_r2_r2_LSR_28,
2457   },
2458   {
2459     ARRAY_SIZE(kInstruction_sub_gt_r13_r12_r0_ASR_2),
2460     kInstruction_sub_gt_r13_r12_r0_ASR_2,
2461   },
2462   {
2463     ARRAY_SIZE(kInstruction_sub_pl_r14_r8_r7_LSR_1),
2464     kInstruction_sub_pl_r14_r8_r7_LSR_1,
2465   },
2466   {
2467     ARRAY_SIZE(kInstruction_sub_hi_r2_r13_r3_ASR_20),
2468     kInstruction_sub_hi_r2_r13_r3_ASR_20,
2469   },
2470   {
2471     ARRAY_SIZE(kInstruction_sub_lt_r2_r3_r3_LSR_13),
2472     kInstruction_sub_lt_r2_r3_r3_LSR_13,
2473   },
2474   {
2475     ARRAY_SIZE(kInstruction_sub_mi_r11_r1_r12_ASR_24),
2476     kInstruction_sub_mi_r11_r1_r12_ASR_24,
2477   },
2478   {
2479     ARRAY_SIZE(kInstruction_sub_vs_r8_r8_r8_LSR_1),
2480     kInstruction_sub_vs_r8_r8_r8_LSR_1,
2481   },
2482   {
2483     ARRAY_SIZE(kInstruction_sub_ne_r2_r14_r3_ASR_31),
2484     kInstruction_sub_ne_r2_r14_r3_ASR_31,
2485   },
2486   {
2487     ARRAY_SIZE(kInstruction_sub_lt_r8_r5_r1_LSR_11),
2488     kInstruction_sub_lt_r8_r5_r1_LSR_11,
2489   },
2490   {
2491     ARRAY_SIZE(kInstruction_sub_pl_r4_r9_r8_ASR_31),
2492     kInstruction_sub_pl_r4_r9_r8_ASR_31,
2493   },
2494   {
2495     ARRAY_SIZE(kInstruction_sub_ls_r8_r1_r13_ASR_4),
2496     kInstruction_sub_ls_r8_r1_r13_ASR_4,
2497   },
2498   {
2499     ARRAY_SIZE(kInstruction_sub_al_r2_r9_r14_LSR_16),
2500     kInstruction_sub_al_r2_r9_r14_LSR_16,
2501   },
2502   {
2503     ARRAY_SIZE(kInstruction_sub_cs_r3_r6_r10_ASR_5),
2504     kInstruction_sub_cs_r3_r6_r10_ASR_5,
2505   },
2506   {
2507     ARRAY_SIZE(kInstruction_sub_eq_r4_r12_r6_ASR_9),
2508     kInstruction_sub_eq_r4_r12_r6_ASR_9,
2509   },
2510   {
2511     ARRAY_SIZE(kInstruction_sub_al_r12_r12_r4_ASR_32),
2512     kInstruction_sub_al_r12_r12_r4_ASR_32,
2513   },
2514   {
2515     ARRAY_SIZE(kInstruction_sub_pl_r1_r6_r11_LSR_19),
2516     kInstruction_sub_pl_r1_r6_r11_LSR_19,
2517   },
2518   {
2519     ARRAY_SIZE(kInstruction_sub_pl_r8_r2_r1_LSR_13),
2520     kInstruction_sub_pl_r8_r2_r1_LSR_13,
2521   },
2522   {
2523     ARRAY_SIZE(kInstruction_sub_gt_r2_r11_r2_LSR_23),
2524     kInstruction_sub_gt_r2_r11_r2_LSR_23,
2525   },
2526   {
2527     ARRAY_SIZE(kInstruction_sub_eq_r14_r8_r6_ASR_31),
2528     kInstruction_sub_eq_r14_r8_r6_ASR_31,
2529   },
2530   {
2531     ARRAY_SIZE(kInstruction_sub_cc_r6_r5_r7_ASR_31),
2532     kInstruction_sub_cc_r6_r5_r7_ASR_31,
2533   },
2534   {
2535     ARRAY_SIZE(kInstruction_sub_cs_r14_r10_r11_ASR_28),
2536     kInstruction_sub_cs_r14_r10_r11_ASR_28,
2537   },
2538   {
2539     ARRAY_SIZE(kInstruction_sub_le_r9_r9_r4_LSR_22),
2540     kInstruction_sub_le_r9_r9_r4_LSR_22,
2541   },
2542   {
2543     ARRAY_SIZE(kInstruction_sub_cs_r4_r1_r14_ASR_11),
2544     kInstruction_sub_cs_r4_r1_r14_ASR_11,
2545   },
2546   {
2547     ARRAY_SIZE(kInstruction_sub_ne_r6_r0_r9_LSR_30),
2548     kInstruction_sub_ne_r6_r0_r9_LSR_30,
2549   },
2550   {
2551     ARRAY_SIZE(kInstruction_sub_gt_r8_r6_r6_ASR_16),
2552     kInstruction_sub_gt_r8_r6_r6_ASR_16,
2553   },
2554   {
2555     ARRAY_SIZE(kInstruction_sub_pl_r11_r3_r5_ASR_4),
2556     kInstruction_sub_pl_r11_r3_r5_ASR_4,
2557   },
2558   {
2559     ARRAY_SIZE(kInstruction_sub_cs_r6_r3_r5_LSR_20),
2560     kInstruction_sub_cs_r6_r3_r5_LSR_20,
2561   },
2562   {
2563     ARRAY_SIZE(kInstruction_sub_cc_r1_r9_r13_LSR_26),
2564     kInstruction_sub_cc_r1_r9_r13_LSR_26,
2565   },
2566   {
2567     ARRAY_SIZE(kInstruction_sub_vc_r5_r11_r2_ASR_14),
2568     kInstruction_sub_vc_r5_r11_r2_ASR_14,
2569   },
2570   {
2571     ARRAY_SIZE(kInstruction_sub_vc_r11_r0_r0_ASR_12),
2572     kInstruction_sub_vc_r11_r0_r0_ASR_12,
2573   },
2574   {
2575     ARRAY_SIZE(kInstruction_sub_mi_r3_r8_r2_LSR_7),
2576     kInstruction_sub_mi_r3_r8_r2_LSR_7,
2577   },
2578   {
2579     ARRAY_SIZE(kInstruction_sub_eq_r11_r2_r11_ASR_32),
2580     kInstruction_sub_eq_r11_r2_r11_ASR_32,
2581   },
2582   {
2583     ARRAY_SIZE(kInstruction_sub_vc_r6_r0_r9_LSR_5),
2584     kInstruction_sub_vc_r6_r0_r9_LSR_5,
2585   },
2586   {
2587     ARRAY_SIZE(kInstruction_sub_gt_r4_r10_r13_LSR_15),
2588     kInstruction_sub_gt_r4_r10_r13_LSR_15,
2589   },
2590   {
2591     ARRAY_SIZE(kInstruction_sub_mi_r5_r13_r14_LSR_30),
2592     kInstruction_sub_mi_r5_r13_r14_LSR_30,
2593   },
2594   {
2595     ARRAY_SIZE(kInstruction_sub_ge_r2_r13_r12_LSR_12),
2596     kInstruction_sub_ge_r2_r13_r12_LSR_12,
2597   },
2598   {
2599     ARRAY_SIZE(kInstruction_sub_ge_r0_r3_r2_LSR_2),
2600     kInstruction_sub_ge_r0_r3_r2_LSR_2,
2601   },
2602   {
2603     ARRAY_SIZE(kInstruction_sub_lt_r12_r10_r0_LSR_7),
2604     kInstruction_sub_lt_r12_r10_r0_LSR_7,
2605   },
2606   {
2607     ARRAY_SIZE(kInstruction_sub_hi_r11_r8_r0_LSR_15),
2608     kInstruction_sub_hi_r11_r8_r0_LSR_15,
2609   },
2610   {
2611     ARRAY_SIZE(kInstruction_sub_le_r9_r10_r5_LSR_31),
2612     kInstruction_sub_le_r9_r10_r5_LSR_31,
2613   },
2614   {
2615     ARRAY_SIZE(kInstruction_sub_cs_r5_r3_r3_LSR_5),
2616     kInstruction_sub_cs_r5_r3_r3_LSR_5,
2617   },
2618   {
2619     ARRAY_SIZE(kInstruction_sub_mi_r8_r0_r4_ASR_1),
2620     kInstruction_sub_mi_r8_r0_r4_ASR_1,
2621   },
2622   {
2623     ARRAY_SIZE(kInstruction_sub_lt_r2_r6_r10_ASR_22),
2624     kInstruction_sub_lt_r2_r6_r10_ASR_22,
2625   },
2626   {
2627     ARRAY_SIZE(kInstruction_sub_cc_r8_r4_r12_ASR_22),
2628     kInstruction_sub_cc_r8_r4_r12_ASR_22,
2629   },
2630   {
2631     ARRAY_SIZE(kInstruction_sub_vc_r10_r0_r12_ASR_21),
2632     kInstruction_sub_vc_r10_r0_r12_ASR_21,
2633   },
2634   {
2635     ARRAY_SIZE(kInstruction_sub_mi_r14_r8_r9_ASR_26),
2636     kInstruction_sub_mi_r14_r8_r9_ASR_26,
2637   },
2638   {
2639     ARRAY_SIZE(kInstruction_sub_al_r2_r4_r9_LSR_23),
2640     kInstruction_sub_al_r2_r4_r9_LSR_23,
2641   },
2642   {
2643     ARRAY_SIZE(kInstruction_sub_mi_r3_r0_r0_ASR_22),
2644     kInstruction_sub_mi_r3_r0_r0_ASR_22,
2645   },
2646   {
2647     ARRAY_SIZE(kInstruction_sub_ge_r6_r0_r7_ASR_8),
2648     kInstruction_sub_ge_r6_r0_r7_ASR_8,
2649   },
2650   {
2651     ARRAY_SIZE(kInstruction_sub_ls_r7_r14_r8_ASR_23),
2652     kInstruction_sub_ls_r7_r14_r8_ASR_23,
2653   },
2654   {
2655     ARRAY_SIZE(kInstruction_sub_ne_r6_r5_r12_LSR_30),
2656     kInstruction_sub_ne_r6_r5_r12_LSR_30,
2657   },
2658   {
2659     ARRAY_SIZE(kInstruction_sub_ge_r5_r1_r3_ASR_29),
2660     kInstruction_sub_ge_r5_r1_r3_ASR_29,
2661   },
2662   {
2663     ARRAY_SIZE(kInstruction_sub_cc_r2_r10_r2_ASR_17),
2664     kInstruction_sub_cc_r2_r10_r2_ASR_17,
2665   },
2666   {
2667     ARRAY_SIZE(kInstruction_sub_ne_r6_r4_r3_LSR_2),
2668     kInstruction_sub_ne_r6_r4_r3_LSR_2,
2669   },
2670   {
2671     ARRAY_SIZE(kInstruction_sub_vs_r10_r13_r11_LSR_19),
2672     kInstruction_sub_vs_r10_r13_r11_LSR_19,
2673   },
2674   {
2675     ARRAY_SIZE(kInstruction_sub_hi_r0_r0_r8_LSR_27),
2676     kInstruction_sub_hi_r0_r0_r8_LSR_27,
2677   },
2678   {
2679     ARRAY_SIZE(kInstruction_sub_gt_r4_r3_r9_LSR_16),
2680     kInstruction_sub_gt_r4_r3_r9_LSR_16,
2681   },
2682   {
2683     ARRAY_SIZE(kInstruction_sub_lt_r13_r11_r1_LSR_21),
2684     kInstruction_sub_lt_r13_r11_r1_LSR_21,
2685   },
2686   {
2687     ARRAY_SIZE(kInstruction_sub_mi_r13_r10_r2_LSR_30),
2688     kInstruction_sub_mi_r13_r10_r2_LSR_30,
2689   },
2690   {
2691     ARRAY_SIZE(kInstruction_sub_mi_r4_r13_r2_LSR_19),
2692     kInstruction_sub_mi_r4_r13_r2_LSR_19,
2693   },
2694   {
2695     ARRAY_SIZE(kInstruction_sub_vs_r6_r3_r5_LSR_8),
2696     kInstruction_sub_vs_r6_r3_r5_LSR_8,
2697   },
2698   {
2699     ARRAY_SIZE(kInstruction_sub_ls_r9_r12_r9_ASR_28),
2700     kInstruction_sub_ls_r9_r12_r9_ASR_28,
2701   },
2702   {
2703     ARRAY_SIZE(kInstruction_sub_al_r1_r2_r2_ASR_3),
2704     kInstruction_sub_al_r1_r2_r2_ASR_3,
2705   },
2706   {
2707     ARRAY_SIZE(kInstruction_sub_ls_r11_r11_r3_LSR_2),
2708     kInstruction_sub_ls_r11_r11_r3_LSR_2,
2709   },
2710   {
2711     ARRAY_SIZE(kInstruction_sub_al_r10_r3_r5_LSR_2),
2712     kInstruction_sub_al_r10_r3_r5_LSR_2,
2713   },
2714   {
2715     ARRAY_SIZE(kInstruction_sub_eq_r1_r11_r1_LSR_14),
2716     kInstruction_sub_eq_r1_r11_r1_LSR_14,
2717   },
2718   {
2719     ARRAY_SIZE(kInstruction_sub_mi_r0_r1_r4_ASR_12),
2720     kInstruction_sub_mi_r0_r1_r4_ASR_12,
2721   },
2722   {
2723     ARRAY_SIZE(kInstruction_sub_pl_r0_r3_r0_LSR_5),
2724     kInstruction_sub_pl_r0_r3_r0_LSR_5,
2725   },
2726   {
2727     ARRAY_SIZE(kInstruction_sub_mi_r2_r2_r8_LSR_27),
2728     kInstruction_sub_mi_r2_r2_r8_LSR_27,
2729   },
2730   {
2731     ARRAY_SIZE(kInstruction_sub_ls_r13_r1_r13_LSR_20),
2732     kInstruction_sub_ls_r13_r1_r13_LSR_20,
2733   },
2734   {
2735     ARRAY_SIZE(kInstruction_sub_cs_r1_r4_r1_ASR_5),
2736     kInstruction_sub_cs_r1_r4_r1_ASR_5,
2737   },
2738   {
2739     ARRAY_SIZE(kInstruction_sub_ge_r5_r9_r1_ASR_6),
2740     kInstruction_sub_ge_r5_r9_r1_ASR_6,
2741   },
2742   {
2743     ARRAY_SIZE(kInstruction_sub_cc_r7_r8_r11_LSR_30),
2744     kInstruction_sub_cc_r7_r8_r11_LSR_30,
2745   },
2746   {
2747     ARRAY_SIZE(kInstruction_sub_le_r1_r10_r8_LSR_12),
2748     kInstruction_sub_le_r1_r10_r8_LSR_12,
2749   },
2750   {
2751     ARRAY_SIZE(kInstruction_sub_gt_r5_r5_r9_LSR_6),
2752     kInstruction_sub_gt_r5_r5_r9_LSR_6,
2753   },
2754   {
2755     ARRAY_SIZE(kInstruction_sub_eq_r14_r11_r13_LSR_21),
2756     kInstruction_sub_eq_r14_r11_r13_LSR_21,
2757   },
2758   {
2759     ARRAY_SIZE(kInstruction_sub_hi_r4_r10_r7_ASR_29),
2760     kInstruction_sub_hi_r4_r10_r7_ASR_29,
2761   },
2762   {
2763     ARRAY_SIZE(kInstruction_sub_ls_r12_r6_r13_LSR_30),
2764     kInstruction_sub_ls_r12_r6_r13_LSR_30,
2765   },
2766   {
2767     ARRAY_SIZE(kInstruction_sub_cc_r1_r2_r13_ASR_31),
2768     kInstruction_sub_cc_r1_r2_r13_ASR_31,
2769   },
2770   {
2771     ARRAY_SIZE(kInstruction_sub_cs_r4_r12_r12_ASR_31),
2772     kInstruction_sub_cs_r4_r12_r12_ASR_31,
2773   },
2774   {
2775     ARRAY_SIZE(kInstruction_sub_cs_r10_r8_r8_LSR_25),
2776     kInstruction_sub_cs_r10_r8_r8_LSR_25,
2777   },
2778   {
2779     ARRAY_SIZE(kInstruction_sub_eq_r11_r14_r12_ASR_9),
2780     kInstruction_sub_eq_r11_r14_r12_ASR_9,
2781   },
2782   {
2783     ARRAY_SIZE(kInstruction_sub_pl_r8_r7_r6_LSR_29),
2784     kInstruction_sub_pl_r8_r7_r6_LSR_29,
2785   },
2786   {
2787     ARRAY_SIZE(kInstruction_sub_vs_r2_r3_r12_ASR_15),
2788     kInstruction_sub_vs_r2_r3_r12_ASR_15,
2789   },
2790   {
2791     ARRAY_SIZE(kInstruction_sub_vs_r10_r11_r9_ASR_31),
2792     kInstruction_sub_vs_r10_r11_r9_ASR_31,
2793   },
2794   {
2795     ARRAY_SIZE(kInstruction_sub_mi_r2_r4_r13_ASR_2),
2796     kInstruction_sub_mi_r2_r4_r13_ASR_2,
2797   },
2798   {
2799     ARRAY_SIZE(kInstruction_sub_ls_r3_r0_r1_LSR_25),
2800     kInstruction_sub_ls_r3_r0_r1_LSR_25,
2801   },
2802   {
2803     ARRAY_SIZE(kInstruction_sub_pl_r7_r2_r12_LSR_16),
2804     kInstruction_sub_pl_r7_r2_r12_LSR_16,
2805   },
2806   {
2807     ARRAY_SIZE(kInstruction_sub_ge_r6_r14_r9_ASR_30),
2808     kInstruction_sub_ge_r6_r14_r9_ASR_30,
2809   },
2810   {
2811     ARRAY_SIZE(kInstruction_sub_pl_r2_r5_r4_ASR_11),
2812     kInstruction_sub_pl_r2_r5_r4_ASR_11,
2813   },
2814   {
2815     ARRAY_SIZE(kInstruction_sub_al_r5_r10_r11_ASR_23),
2816     kInstruction_sub_al_r5_r10_r11_ASR_23,
2817   },
2818   {
2819     ARRAY_SIZE(kInstruction_sub_le_r4_r1_r9_LSR_28),
2820     kInstruction_sub_le_r4_r1_r9_LSR_28,
2821   },
2822   {
2823     ARRAY_SIZE(kInstruction_sub_cc_r13_r4_r2_ASR_25),
2824     kInstruction_sub_cc_r13_r4_r2_ASR_25,
2825   },
2826   {
2827     ARRAY_SIZE(kInstruction_sub_pl_r7_r7_r8_LSR_9),
2828     kInstruction_sub_pl_r7_r7_r8_LSR_9,
2829   },
2830   {
2831     ARRAY_SIZE(kInstruction_sub_le_r8_r11_r0_ASR_13),
2832     kInstruction_sub_le_r8_r11_r0_ASR_13,
2833   },
2834   {
2835     ARRAY_SIZE(kInstruction_sub_eq_r11_r9_r12_ASR_32),
2836     kInstruction_sub_eq_r11_r9_r12_ASR_32,
2837   },
2838   {
2839     ARRAY_SIZE(kInstruction_sub_ls_r4_r0_r10_ASR_31),
2840     kInstruction_sub_ls_r4_r0_r10_ASR_31,
2841   },
2842   {
2843     ARRAY_SIZE(kInstruction_sub_gt_r10_r8_r4_LSR_22),
2844     kInstruction_sub_gt_r10_r8_r4_LSR_22,
2845   },
2846   {
2847     ARRAY_SIZE(kInstruction_sub_ne_r9_r8_r0_ASR_21),
2848     kInstruction_sub_ne_r9_r8_r0_ASR_21,
2849   },
2850   {
2851     ARRAY_SIZE(kInstruction_sub_lt_r11_r9_r9_ASR_27),
2852     kInstruction_sub_lt_r11_r9_r9_ASR_27,
2853   },
2854   {
2855     ARRAY_SIZE(kInstruction_sub_vc_r14_r6_r14_LSR_22),
2856     kInstruction_sub_vc_r14_r6_r14_LSR_22,
2857   },
2858   {
2859     ARRAY_SIZE(kInstruction_sub_vs_r12_r4_r14_LSR_12),
2860     kInstruction_sub_vs_r12_r4_r14_LSR_12,
2861   },
2862   {
2863     ARRAY_SIZE(kInstruction_sub_lt_r7_r11_r6_ASR_9),
2864     kInstruction_sub_lt_r7_r11_r6_ASR_9,
2865   },
2866   {
2867     ARRAY_SIZE(kInstruction_sub_lt_r3_r13_r5_LSR_8),
2868     kInstruction_sub_lt_r3_r13_r5_LSR_8,
2869   },
2870   {
2871     ARRAY_SIZE(kInstruction_sub_le_r2_r7_r6_ASR_11),
2872     kInstruction_sub_le_r2_r7_r6_ASR_11,
2873   },
2874   {
2875     ARRAY_SIZE(kInstruction_sub_vc_r2_r0_r4_ASR_25),
2876     kInstruction_sub_vc_r2_r0_r4_ASR_25,
2877   },
2878   {
2879     ARRAY_SIZE(kInstruction_sub_lt_r2_r11_r10_LSR_10),
2880     kInstruction_sub_lt_r2_r11_r10_LSR_10,
2881   },
2882   {
2883     ARRAY_SIZE(kInstruction_sub_al_r7_r9_r12_ASR_13),
2884     kInstruction_sub_al_r7_r9_r12_ASR_13,
2885   },
2886   {
2887     ARRAY_SIZE(kInstruction_sub_cs_r13_r0_r2_LSR_2),
2888     kInstruction_sub_cs_r13_r0_r2_LSR_2,
2889   },
2890   {
2891     ARRAY_SIZE(kInstruction_sub_cc_r0_r6_r0_LSR_23),
2892     kInstruction_sub_cc_r0_r6_r0_LSR_23,
2893   },
2894   {
2895     ARRAY_SIZE(kInstruction_sub_vc_r10_r2_r12_LSR_21),
2896     kInstruction_sub_vc_r10_r2_r12_LSR_21,
2897   },
2898   {
2899     ARRAY_SIZE(kInstruction_sub_mi_r0_r1_r6_ASR_28),
2900     kInstruction_sub_mi_r0_r1_r6_ASR_28,
2901   },
2902   {
2903     ARRAY_SIZE(kInstruction_sub_hi_r0_r12_r1_LSR_23),
2904     kInstruction_sub_hi_r0_r12_r1_LSR_23,
2905   },
2906   {
2907     ARRAY_SIZE(kInstruction_sub_eq_r10_r7_r3_ASR_6),
2908     kInstruction_sub_eq_r10_r7_r3_ASR_6,
2909   },
2910   {
2911     ARRAY_SIZE(kInstruction_sub_hi_r9_r13_r9_ASR_9),
2912     kInstruction_sub_hi_r9_r13_r9_ASR_9,
2913   },
2914   {
2915     ARRAY_SIZE(kInstruction_sub_le_r4_r14_r1_LSR_13),
2916     kInstruction_sub_le_r4_r14_r1_LSR_13,
2917   },
2918   {
2919     ARRAY_SIZE(kInstruction_sub_vs_r9_r12_r12_LSR_2),
2920     kInstruction_sub_vs_r9_r12_r12_LSR_2,
2921   },
2922   {
2923     ARRAY_SIZE(kInstruction_sub_vc_r11_r3_r4_ASR_7),
2924     kInstruction_sub_vc_r11_r3_r4_ASR_7,
2925   },
2926   {
2927     ARRAY_SIZE(kInstruction_sub_mi_r13_r8_r3_LSR_8),
2928     kInstruction_sub_mi_r13_r8_r3_LSR_8,
2929   },
2930   {
2931     ARRAY_SIZE(kInstruction_sub_eq_r6_r12_r1_LSR_12),
2932     kInstruction_sub_eq_r6_r12_r1_LSR_12,
2933   },
2934   {
2935     ARRAY_SIZE(kInstruction_sub_le_r10_r11_r4_LSR_27),
2936     kInstruction_sub_le_r10_r11_r4_LSR_27,
2937   },
2938   {
2939     ARRAY_SIZE(kInstruction_sub_le_r7_r0_r1_ASR_15),
2940     kInstruction_sub_le_r7_r0_r1_ASR_15,
2941   },
2942   {
2943     ARRAY_SIZE(kInstruction_sub_ne_r12_r0_r10_ASR_13),
2944     kInstruction_sub_ne_r12_r0_r10_ASR_13,
2945   },
2946   {
2947     ARRAY_SIZE(kInstruction_sub_hi_r1_r11_r12_ASR_1),
2948     kInstruction_sub_hi_r1_r11_r12_ASR_1,
2949   },
2950   {
2951     ARRAY_SIZE(kInstruction_sub_cs_r2_r12_r10_ASR_28),
2952     kInstruction_sub_cs_r2_r12_r10_ASR_28,
2953   },
2954   {
2955     ARRAY_SIZE(kInstruction_sub_vc_r0_r7_r14_LSR_4),
2956     kInstruction_sub_vc_r0_r7_r14_LSR_4,
2957   },
2958   {
2959     ARRAY_SIZE(kInstruction_sub_gt_r9_r8_r6_LSR_6),
2960     kInstruction_sub_gt_r9_r8_r6_LSR_6,
2961   },
2962   {
2963     ARRAY_SIZE(kInstruction_sub_cc_r9_r8_r11_ASR_5),
2964     kInstruction_sub_cc_r9_r8_r11_ASR_5,
2965   },
2966   {
2967     ARRAY_SIZE(kInstruction_sub_le_r0_r12_r4_ASR_22),
2968     kInstruction_sub_le_r0_r12_r4_ASR_22,
2969   },
2970   {
2971     ARRAY_SIZE(kInstruction_sub_vs_r6_r4_r14_ASR_2),
2972     kInstruction_sub_vs_r6_r4_r14_ASR_2,
2973   },
2974   {
2975     ARRAY_SIZE(kInstruction_sub_le_r1_r13_r12_ASR_14),
2976     kInstruction_sub_le_r1_r13_r12_ASR_14,
2977   },
2978   {
2979     ARRAY_SIZE(kInstruction_sub_le_r0_r3_r3_LSR_6),
2980     kInstruction_sub_le_r0_r3_r3_LSR_6,
2981   },
2982   {
2983     ARRAY_SIZE(kInstruction_sub_ls_r2_r7_r3_ASR_23),
2984     kInstruction_sub_ls_r2_r7_r3_ASR_23,
2985   },
2986   {
2987     ARRAY_SIZE(kInstruction_sub_ge_r12_r3_r11_LSR_13),
2988     kInstruction_sub_ge_r12_r3_r11_LSR_13,
2989   },
2990   {
2991     ARRAY_SIZE(kInstruction_sub_ne_r3_r0_r9_LSR_16),
2992     kInstruction_sub_ne_r3_r0_r9_LSR_16,
2993   },
2994   {
2995     ARRAY_SIZE(kInstruction_sub_ge_r5_r14_r10_ASR_24),
2996     kInstruction_sub_ge_r5_r14_r10_ASR_24,
2997   },
2998   {
2999     ARRAY_SIZE(kInstruction_sub_eq_r14_r4_r1_ASR_16),
3000     kInstruction_sub_eq_r14_r4_r1_ASR_16,
3001   },
3002   {
3003     ARRAY_SIZE(kInstruction_sub_cs_r5_r1_r9_ASR_17),
3004     kInstruction_sub_cs_r5_r1_r9_ASR_17,
3005   },
3006   {
3007     ARRAY_SIZE(kInstruction_sub_mi_r4_r7_r2_LSR_17),
3008     kInstruction_sub_mi_r4_r7_r2_LSR_17,
3009   },
3010   {
3011     ARRAY_SIZE(kInstruction_sub_ne_r9_r0_r7_LSR_18),
3012     kInstruction_sub_ne_r9_r0_r7_LSR_18,
3013   },
3014   {
3015     ARRAY_SIZE(kInstruction_sub_al_r5_r2_r13_LSR_12),
3016     kInstruction_sub_al_r5_r2_r13_LSR_12,
3017   },
3018   {
3019     ARRAY_SIZE(kInstruction_sub_pl_r12_r13_r1_LSR_28),
3020     kInstruction_sub_pl_r12_r13_r1_LSR_28,
3021   },
3022   {
3023     ARRAY_SIZE(kInstruction_sub_vc_r9_r7_r4_ASR_7),
3024     kInstruction_sub_vc_r9_r7_r4_ASR_7,
3025   },
3026   {
3027     ARRAY_SIZE(kInstruction_sub_le_r4_r11_r9_ASR_5),
3028     kInstruction_sub_le_r4_r11_r9_ASR_5,
3029   },
3030   {
3031     ARRAY_SIZE(kInstruction_sub_cc_r1_r14_r3_ASR_26),
3032     kInstruction_sub_cc_r1_r14_r3_ASR_26,
3033   },
3034   {
3035     ARRAY_SIZE(kInstruction_sub_le_r1_r2_r1_LSR_27),
3036     kInstruction_sub_le_r1_r2_r1_LSR_27,
3037   },
3038   {
3039     ARRAY_SIZE(kInstruction_sub_ge_r14_r0_r5_LSR_11),
3040     kInstruction_sub_ge_r14_r0_r5_LSR_11,
3041   },
3042   {
3043     ARRAY_SIZE(kInstruction_sub_cc_r5_r5_r0_ASR_19),
3044     kInstruction_sub_cc_r5_r5_r0_ASR_19,
3045   },
3046   {
3047     ARRAY_SIZE(kInstruction_sub_ne_r11_r11_r6_LSR_4),
3048     kInstruction_sub_ne_r11_r11_r6_LSR_4,
3049   },
3050   {
3051     ARRAY_SIZE(kInstruction_sub_vc_r13_r10_r9_LSR_18),
3052     kInstruction_sub_vc_r13_r10_r9_LSR_18,
3053   },
3054   {
3055     ARRAY_SIZE(kInstruction_sub_hi_r10_r10_r7_ASR_26),
3056     kInstruction_sub_hi_r10_r10_r7_ASR_26,
3057   },
3058   {
3059     ARRAY_SIZE(kInstruction_sub_al_r2_r8_r12_ASR_21),
3060     kInstruction_sub_al_r2_r8_r12_ASR_21,
3061   },
3062   {
3063     ARRAY_SIZE(kInstruction_sub_vc_r5_r4_r6_LSR_5),
3064     kInstruction_sub_vc_r5_r4_r6_LSR_5,
3065   },
3066   {
3067     ARRAY_SIZE(kInstruction_sub_cc_r0_r9_r7_LSR_24),
3068     kInstruction_sub_cc_r0_r9_r7_LSR_24,
3069   },
3070   {
3071     ARRAY_SIZE(kInstruction_sub_ls_r10_r9_r3_LSR_32),
3072     kInstruction_sub_ls_r10_r9_r3_LSR_32,
3073   },
3074   {
3075     ARRAY_SIZE(kInstruction_sub_vc_r8_r12_r7_ASR_14),
3076     kInstruction_sub_vc_r8_r12_r7_ASR_14,
3077   },
3078   {
3079     ARRAY_SIZE(kInstruction_sub_le_r6_r13_r8_ASR_15),
3080     kInstruction_sub_le_r6_r13_r8_ASR_15,
3081   },
3082   {
3083     ARRAY_SIZE(kInstruction_sub_le_r0_r0_r13_ASR_9),
3084     kInstruction_sub_le_r0_r0_r13_ASR_9,
3085   },
3086   {
3087     ARRAY_SIZE(kInstruction_sub_eq_r9_r3_r0_ASR_5),
3088     kInstruction_sub_eq_r9_r3_r0_ASR_5,
3089   },
3090   {
3091     ARRAY_SIZE(kInstruction_sub_mi_r0_r7_r5_LSR_21),
3092     kInstruction_sub_mi_r0_r7_r5_LSR_21,
3093   },
3094   {
3095     ARRAY_SIZE(kInstruction_sub_mi_r13_r1_r8_LSR_19),
3096     kInstruction_sub_mi_r13_r1_r8_LSR_19,
3097   },
3098   {
3099     ARRAY_SIZE(kInstruction_sub_le_r7_r0_r7_ASR_26),
3100     kInstruction_sub_le_r7_r0_r7_ASR_26,
3101   },
3102   {
3103     ARRAY_SIZE(kInstruction_sub_mi_r7_r4_r3_ASR_20),
3104     kInstruction_sub_mi_r7_r4_r3_ASR_20,
3105   },
3106   {
3107     ARRAY_SIZE(kInstruction_sub_al_r3_r5_r8_ASR_23),
3108     kInstruction_sub_al_r3_r5_r8_ASR_23,
3109   },
3110   {
3111     ARRAY_SIZE(kInstruction_sub_ge_r4_r12_r5_LSR_28),
3112     kInstruction_sub_ge_r4_r12_r5_LSR_28,
3113   },
3114   {
3115     ARRAY_SIZE(kInstruction_sub_vs_r7_r13_r13_ASR_1),
3116     kInstruction_sub_vs_r7_r13_r13_ASR_1,
3117   },
3118   {
3119     ARRAY_SIZE(kInstruction_sub_gt_r8_r8_r11_LSR_23),
3120     kInstruction_sub_gt_r8_r8_r11_LSR_23,
3121   },
3122   {
3123     ARRAY_SIZE(kInstruction_sub_eq_r13_r8_r4_ASR_7),
3124     kInstruction_sub_eq_r13_r8_r4_ASR_7,
3125   },
3126   {
3127     ARRAY_SIZE(kInstruction_sub_eq_r14_r3_r13_LSR_12),
3128     kInstruction_sub_eq_r14_r3_r13_LSR_12,
3129   },
3130   {
3131     ARRAY_SIZE(kInstruction_sub_vs_r5_r13_r10_ASR_21),
3132     kInstruction_sub_vs_r5_r13_r10_ASR_21,
3133   },
3134   {
3135     ARRAY_SIZE(kInstruction_sub_vc_r4_r2_r8_ASR_31),
3136     kInstruction_sub_vc_r4_r2_r8_ASR_31,
3137   },
3138   {
3139     ARRAY_SIZE(kInstruction_sub_vc_r2_r9_r12_ASR_18),
3140     kInstruction_sub_vc_r2_r9_r12_ASR_18,
3141   },
3142   {
3143     ARRAY_SIZE(kInstruction_sub_pl_r4_r8_r11_ASR_3),
3144     kInstruction_sub_pl_r4_r8_r11_ASR_3,
3145   },
3146   {
3147     ARRAY_SIZE(kInstruction_sub_cc_r11_r8_r1_ASR_13),
3148     kInstruction_sub_cc_r11_r8_r1_ASR_13,
3149   },
3150   {
3151     ARRAY_SIZE(kInstruction_sub_pl_r11_r13_r2_ASR_11),
3152     kInstruction_sub_pl_r11_r13_r2_ASR_11,
3153   },
3154   {
3155     ARRAY_SIZE(kInstruction_sub_ge_r8_r5_r5_LSR_9),
3156     kInstruction_sub_ge_r8_r5_r5_LSR_9,
3157   },
3158   {
3159     ARRAY_SIZE(kInstruction_sub_mi_r2_r6_r7_LSR_22),
3160     kInstruction_sub_mi_r2_r6_r7_LSR_22,
3161   },
3162   {
3163     ARRAY_SIZE(kInstruction_sub_cs_r0_r1_r1_LSR_27),
3164     kInstruction_sub_cs_r0_r1_r1_LSR_27,
3165   },
3166   {
3167     ARRAY_SIZE(kInstruction_sub_vs_r2_r0_r5_ASR_22),
3168     kInstruction_sub_vs_r2_r0_r5_ASR_22,
3169   },
3170   {
3171     ARRAY_SIZE(kInstruction_sub_cs_r13_r1_r3_ASR_10),
3172     kInstruction_sub_cs_r13_r1_r3_ASR_10,
3173   },
3174   {
3175     ARRAY_SIZE(kInstruction_sub_vs_r5_r6_r8_LSR_24),
3176     kInstruction_sub_vs_r5_r6_r8_LSR_24,
3177   },
3178   {
3179     ARRAY_SIZE(kInstruction_sub_ge_r5_r2_r10_LSR_15),
3180     kInstruction_sub_ge_r5_r2_r10_LSR_15,
3181   },
3182   {
3183     ARRAY_SIZE(kInstruction_sub_hi_r8_r10_r10_ASR_26),
3184     kInstruction_sub_hi_r8_r10_r10_ASR_26,
3185   },
3186   {
3187     ARRAY_SIZE(kInstruction_sub_vc_r7_r6_r11_LSR_19),
3188     kInstruction_sub_vc_r7_r6_r11_LSR_19,
3189   },
3190   {
3191     ARRAY_SIZE(kInstruction_sub_ls_r7_r5_r0_LSR_1),
3192     kInstruction_sub_ls_r7_r5_r0_LSR_1,
3193   },
3194   {
3195     ARRAY_SIZE(kInstruction_sub_al_r9_r4_r12_LSR_28),
3196     kInstruction_sub_al_r9_r4_r12_LSR_28,
3197   },
3198   {
3199     ARRAY_SIZE(kInstruction_sub_vs_r2_r2_r5_ASR_19),
3200     kInstruction_sub_vs_r2_r2_r5_ASR_19,
3201   },
3202   {
3203     ARRAY_SIZE(kInstruction_sub_mi_r9_r12_r11_LSR_26),
3204     kInstruction_sub_mi_r9_r12_r11_LSR_26,
3205   },
3206   {
3207     ARRAY_SIZE(kInstruction_sub_ne_r13_r7_r8_LSR_6),
3208     kInstruction_sub_ne_r13_r7_r8_LSR_6,
3209   },
3210   {
3211     ARRAY_SIZE(kInstruction_sub_al_r13_r7_r0_LSR_20),
3212     kInstruction_sub_al_r13_r7_r0_LSR_20,
3213   },
3214   {
3215     ARRAY_SIZE(kInstruction_sub_eq_r5_r5_r4_ASR_9),
3216     kInstruction_sub_eq_r5_r5_r4_ASR_9,
3217   },
3218   {
3219     ARRAY_SIZE(kInstruction_sub_le_r7_r11_r10_ASR_16),
3220     kInstruction_sub_le_r7_r11_r10_ASR_16,
3221   },
3222   {
3223     ARRAY_SIZE(kInstruction_sub_lt_r14_r14_r13_LSR_3),
3224     kInstruction_sub_lt_r14_r14_r13_LSR_3,
3225   },
3226   {
3227     ARRAY_SIZE(kInstruction_sub_pl_r5_r9_r2_ASR_7),
3228     kInstruction_sub_pl_r5_r9_r2_ASR_7,
3229   },
3230   {
3231     ARRAY_SIZE(kInstruction_sub_cc_r2_r13_r14_LSR_13),
3232     kInstruction_sub_cc_r2_r13_r14_LSR_13,
3233   },
3234   {
3235     ARRAY_SIZE(kInstruction_sub_gt_r2_r8_r11_ASR_11),
3236     kInstruction_sub_gt_r2_r8_r11_ASR_11,
3237   },
3238   {
3239     ARRAY_SIZE(kInstruction_sub_hi_r8_r12_r8_ASR_1),
3240     kInstruction_sub_hi_r8_r12_r8_ASR_1,
3241   },
3242   {
3243     ARRAY_SIZE(kInstruction_sub_cc_r11_r12_r12_LSR_26),
3244     kInstruction_sub_cc_r11_r12_r12_LSR_26,
3245   },
3246   {
3247     ARRAY_SIZE(kInstruction_sub_eq_r6_r4_r1_ASR_27),
3248     kInstruction_sub_eq_r6_r4_r1_ASR_27,
3249   },
3250   {
3251     ARRAY_SIZE(kInstruction_sub_eq_r7_r6_r7_ASR_17),
3252     kInstruction_sub_eq_r7_r6_r7_ASR_17,
3253   },
3254   {
3255     ARRAY_SIZE(kInstruction_sub_mi_r10_r12_r0_LSR_3),
3256     kInstruction_sub_mi_r10_r12_r0_LSR_3,
3257   },
3258   {
3259     ARRAY_SIZE(kInstruction_sub_ge_r2_r1_r5_ASR_20),
3260     kInstruction_sub_ge_r2_r1_r5_ASR_20,
3261   },
3262   {
3263     ARRAY_SIZE(kInstruction_sub_lt_r12_r12_r3_ASR_25),
3264     kInstruction_sub_lt_r12_r12_r3_ASR_25,
3265   },
3266   {
3267     ARRAY_SIZE(kInstruction_sub_mi_r11_r7_r8_ASR_13),
3268     kInstruction_sub_mi_r11_r7_r8_ASR_13,
3269   },
3270   {
3271     ARRAY_SIZE(kInstruction_sub_al_r5_r5_r13_ASR_4),
3272     kInstruction_sub_al_r5_r5_r13_ASR_4,
3273   },
3274   {
3275     ARRAY_SIZE(kInstruction_sub_eq_r8_r9_r4_LSR_5),
3276     kInstruction_sub_eq_r8_r9_r4_LSR_5,
3277   },
3278   {
3279     ARRAY_SIZE(kInstruction_sub_ne_r9_r5_r0_LSR_5),
3280     kInstruction_sub_ne_r9_r5_r0_LSR_5,
3281   },
3282   {
3283     ARRAY_SIZE(kInstruction_sub_hi_r4_r7_r7_ASR_22),
3284     kInstruction_sub_hi_r4_r7_r7_ASR_22,
3285   },
3286   {
3287     ARRAY_SIZE(kInstruction_sub_al_r13_r12_r14_ASR_26),
3288     kInstruction_sub_al_r13_r12_r14_ASR_26,
3289   },
3290   {
3291     ARRAY_SIZE(kInstruction_sub_lt_r11_r6_r1_ASR_11),
3292     kInstruction_sub_lt_r11_r6_r1_ASR_11,
3293   },
3294   {
3295     ARRAY_SIZE(kInstruction_sub_cs_r4_r2_r11_LSR_27),
3296     kInstruction_sub_cs_r4_r2_r11_LSR_27,
3297   },
3298   {
3299     ARRAY_SIZE(kInstruction_sub_cc_r4_r5_r12_LSR_22),
3300     kInstruction_sub_cc_r4_r5_r12_LSR_22,
3301   },
3302   {
3303     ARRAY_SIZE(kInstruction_sub_mi_r6_r1_r1_LSR_23),
3304     kInstruction_sub_mi_r6_r1_r1_LSR_23,
3305   },
3306   {
3307     ARRAY_SIZE(kInstruction_sub_eq_r7_r1_r2_LSR_30),
3308     kInstruction_sub_eq_r7_r1_r2_LSR_30,
3309   },
3310   {
3311     ARRAY_SIZE(kInstruction_sub_al_r2_r13_r12_ASR_6),
3312     kInstruction_sub_al_r2_r13_r12_ASR_6,
3313   },
3314   {
3315     ARRAY_SIZE(kInstruction_sub_ge_r9_r13_r10_ASR_19),
3316     kInstruction_sub_ge_r9_r13_r10_ASR_19,
3317   },
3318   {
3319     ARRAY_SIZE(kInstruction_sub_le_r1_r10_r9_LSR_3),
3320     kInstruction_sub_le_r1_r10_r9_LSR_3,
3321   },
3322   {
3323     ARRAY_SIZE(kInstruction_sub_le_r3_r11_r9_LSR_18),
3324     kInstruction_sub_le_r3_r11_r9_LSR_18,
3325   },
3326   {
3327     ARRAY_SIZE(kInstruction_sub_vs_r1_r7_r13_LSR_23),
3328     kInstruction_sub_vs_r1_r7_r13_LSR_23,
3329   },
3330   {
3331     ARRAY_SIZE(kInstruction_sub_cc_r14_r9_r4_ASR_2),
3332     kInstruction_sub_cc_r14_r9_r4_ASR_2,
3333   },
3334   {
3335     ARRAY_SIZE(kInstruction_sub_mi_r1_r14_r2_ASR_15),
3336     kInstruction_sub_mi_r1_r14_r2_ASR_15,
3337   },
3338   {
3339     ARRAY_SIZE(kInstruction_sub_ne_r8_r1_r14_ASR_32),
3340     kInstruction_sub_ne_r8_r1_r14_ASR_32,
3341   },
3342   {
3343     ARRAY_SIZE(kInstruction_sub_hi_r14_r12_r14_LSR_21),
3344     kInstruction_sub_hi_r14_r12_r14_LSR_21,
3345   },
3346   {
3347     ARRAY_SIZE(kInstruction_sub_lt_r6_r2_r0_LSR_1),
3348     kInstruction_sub_lt_r6_r2_r0_LSR_1,
3349   },
3350   {
3351     ARRAY_SIZE(kInstruction_sub_ls_r5_r12_r4_ASR_4),
3352     kInstruction_sub_ls_r5_r12_r4_ASR_4,
3353   },
3354   {
3355     ARRAY_SIZE(kInstruction_sub_vs_r3_r12_r8_ASR_25),
3356     kInstruction_sub_vs_r3_r12_r8_ASR_25,
3357   },
3358   {
3359     ARRAY_SIZE(kInstruction_sub_hi_r11_r6_r11_LSR_11),
3360     kInstruction_sub_hi_r11_r6_r11_LSR_11,
3361   },
3362   {
3363     ARRAY_SIZE(kInstruction_sub_vc_r5_r7_r11_LSR_13),
3364     kInstruction_sub_vc_r5_r7_r11_LSR_13,
3365   },
3366   {
3367     ARRAY_SIZE(kInstruction_sub_cc_r13_r9_r9_LSR_21),
3368     kInstruction_sub_cc_r13_r9_r9_LSR_21,
3369   },
3370   {
3371     ARRAY_SIZE(kInstruction_sub_al_r3_r14_r14_ASR_31),
3372     kInstruction_sub_al_r3_r14_r14_ASR_31,
3373   },
3374   {
3375     ARRAY_SIZE(kInstruction_sub_ls_r13_r3_r9_LSR_28),
3376     kInstruction_sub_ls_r13_r3_r9_LSR_28,
3377   },
3378   {
3379     ARRAY_SIZE(kInstruction_sub_pl_r11_r5_r11_ASR_26),
3380     kInstruction_sub_pl_r11_r5_r11_ASR_26,
3381   },
3382   {
3383     ARRAY_SIZE(kInstruction_sub_cc_r2_r9_r8_ASR_25),
3384     kInstruction_sub_cc_r2_r9_r8_ASR_25,
3385   },
3386   {
3387     ARRAY_SIZE(kInstruction_sub_al_r10_r2_r6_ASR_8),
3388     kInstruction_sub_al_r10_r2_r6_ASR_8,
3389   },
3390   {
3391     ARRAY_SIZE(kInstruction_sub_vc_r12_r9_r2_ASR_15),
3392     kInstruction_sub_vc_r12_r9_r2_ASR_15,
3393   },
3394   {
3395     ARRAY_SIZE(kInstruction_sub_vs_r7_r9_r8_LSR_13),
3396     kInstruction_sub_vs_r7_r9_r8_LSR_13,
3397   },
3398   {
3399     ARRAY_SIZE(kInstruction_sub_pl_r12_r6_r7_ASR_21),
3400     kInstruction_sub_pl_r12_r6_r7_ASR_21,
3401   },
3402   {
3403     ARRAY_SIZE(kInstruction_sub_eq_r0_r0_r11_ASR_10),
3404     kInstruction_sub_eq_r0_r0_r11_ASR_10,
3405   },
3406   {
3407     ARRAY_SIZE(kInstruction_sub_lt_r1_r12_r9_LSR_8),
3408     kInstruction_sub_lt_r1_r12_r9_LSR_8,
3409   },
3410   {
3411     ARRAY_SIZE(kInstruction_sub_hi_r14_r14_r8_LSR_4),
3412     kInstruction_sub_hi_r14_r14_r8_LSR_4,
3413   },
3414   {
3415     ARRAY_SIZE(kInstruction_sub_vs_r10_r12_r14_LSR_14),
3416     kInstruction_sub_vs_r10_r12_r14_LSR_14,
3417   },
3418   {
3419     ARRAY_SIZE(kInstruction_sub_lt_r11_r4_r8_ASR_4),
3420     kInstruction_sub_lt_r11_r4_r8_ASR_4,
3421   },
3422   {
3423     ARRAY_SIZE(kInstruction_sub_hi_r13_r14_r14_LSR_8),
3424     kInstruction_sub_hi_r13_r14_r14_LSR_8,
3425   },
3426   {
3427     ARRAY_SIZE(kInstruction_sub_al_r0_r7_r8_ASR_8),
3428     kInstruction_sub_al_r0_r7_r8_ASR_8,
3429   },
3430   {
3431     ARRAY_SIZE(kInstruction_sub_cc_r12_r14_r1_ASR_25),
3432     kInstruction_sub_cc_r12_r14_r1_ASR_25,
3433   },
3434   {
3435     ARRAY_SIZE(kInstruction_sub_pl_r12_r0_r2_LSR_4),
3436     kInstruction_sub_pl_r12_r0_r2_LSR_4,
3437   },
3438   {
3439     ARRAY_SIZE(kInstruction_sub_pl_r12_r2_r2_LSR_15),
3440     kInstruction_sub_pl_r12_r2_r2_LSR_15,
3441   },
3442   {
3443     ARRAY_SIZE(kInstruction_sub_gt_r11_r12_r3_LSR_13),
3444     kInstruction_sub_gt_r11_r12_r3_LSR_13,
3445   },
3446   {
3447     ARRAY_SIZE(kInstruction_sub_al_r2_r7_r6_ASR_19),
3448     kInstruction_sub_al_r2_r7_r6_ASR_19,
3449   },
3450   {
3451     ARRAY_SIZE(kInstruction_sub_eq_r0_r3_r5_LSR_11),
3452     kInstruction_sub_eq_r0_r3_r5_LSR_11,
3453   },
3454   {
3455     ARRAY_SIZE(kInstruction_sub_mi_r1_r12_r1_LSR_25),
3456     kInstruction_sub_mi_r1_r12_r1_LSR_25,
3457   },
3458   {
3459     ARRAY_SIZE(kInstruction_sub_hi_r2_r7_r2_LSR_20),
3460     kInstruction_sub_hi_r2_r7_r2_LSR_20,
3461   },
3462   {
3463     ARRAY_SIZE(kInstruction_sub_gt_r14_r12_r2_LSR_2),
3464     kInstruction_sub_gt_r14_r12_r2_LSR_2,
3465   },
3466   {
3467     ARRAY_SIZE(kInstruction_sub_gt_r1_r13_r4_LSR_15),
3468     kInstruction_sub_gt_r1_r13_r4_LSR_15,
3469   },
3470   {
3471     ARRAY_SIZE(kInstruction_sub_lt_r11_r4_r12_ASR_11),
3472     kInstruction_sub_lt_r11_r4_r12_ASR_11,
3473   },
3474   {
3475     ARRAY_SIZE(kInstruction_sub_cs_r0_r0_r14_LSR_26),
3476     kInstruction_sub_cs_r0_r0_r14_LSR_26,
3477   },
3478   {
3479     ARRAY_SIZE(kInstruction_sub_lt_r12_r6_r0_LSR_22),
3480     kInstruction_sub_lt_r12_r6_r0_LSR_22,
3481   },
3482   {
3483     ARRAY_SIZE(kInstruction_sub_al_r11_r8_r2_ASR_9),
3484     kInstruction_sub_al_r11_r8_r2_ASR_9,
3485   },
3486   {
3487     ARRAY_SIZE(kInstruction_sub_ls_r8_r10_r3_ASR_17),
3488     kInstruction_sub_ls_r8_r10_r3_ASR_17,
3489   },
3490   {
3491     ARRAY_SIZE(kInstruction_sub_hi_r7_r2_r14_LSR_13),
3492     kInstruction_sub_hi_r7_r2_r14_LSR_13,
3493   },
3494   {
3495     ARRAY_SIZE(kInstruction_sub_hi_r13_r10_r12_ASR_31),
3496     kInstruction_sub_hi_r13_r10_r12_ASR_31,
3497   },
3498   {
3499     ARRAY_SIZE(kInstruction_sub_cs_r1_r5_r10_ASR_29),
3500     kInstruction_sub_cs_r1_r5_r10_ASR_29,
3501   },
3502   {
3503     ARRAY_SIZE(kInstruction_sub_lt_r11_r11_r9_LSR_18),
3504     kInstruction_sub_lt_r11_r11_r9_LSR_18,
3505   },
3506   {
3507     ARRAY_SIZE(kInstruction_sub_gt_r3_r4_r4_LSR_1),
3508     kInstruction_sub_gt_r3_r4_r4_LSR_1,
3509   },
3510   {
3511     ARRAY_SIZE(kInstruction_sub_ge_r10_r12_r4_LSR_12),
3512     kInstruction_sub_ge_r10_r12_r4_LSR_12,
3513   },
3514   {
3515     ARRAY_SIZE(kInstruction_sub_hi_r4_r13_r11_ASR_25),
3516     kInstruction_sub_hi_r4_r13_r11_ASR_25,
3517   },
3518   {
3519     ARRAY_SIZE(kInstruction_sub_le_r0_r8_r4_ASR_4),
3520     kInstruction_sub_le_r0_r8_r4_ASR_4,
3521   },
3522   {
3523     ARRAY_SIZE(kInstruction_sub_mi_r14_r14_r3_LSR_31),
3524     kInstruction_sub_mi_r14_r14_r3_LSR_31,
3525   },
3526   {
3527     ARRAY_SIZE(kInstruction_sub_gt_r7_r4_r8_ASR_15),
3528     kInstruction_sub_gt_r7_r4_r8_ASR_15,
3529   },
3530   {
3531     ARRAY_SIZE(kInstruction_sub_eq_r4_r6_r6_ASR_1),
3532     kInstruction_sub_eq_r4_r6_r6_ASR_1,
3533   },
3534   {
3535     ARRAY_SIZE(kInstruction_sub_vs_r13_r2_r6_ASR_30),
3536     kInstruction_sub_vs_r13_r2_r6_ASR_30,
3537   },
3538 };
3539 
3540 #endif  // VIXL_ASSEMBLER_COND_RD_RN_OPERAND_RM_SHIFT_AMOUNT_1TO32_SUB_A32_H_
3541