• 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_1TO31_T32_ADD_H_
35 #define VIXL_ASSEMBLER_COND_RD_RN_OPERAND_RM_SHIFT_AMOUNT_1TO31_T32_ADD_H_
36 
37 const byte kInstruction_add_al_r12_r4_r7_LSL_7[] = {
38   0x04, 0xeb, 0xc7, 0x1c // add al r12 r4 r7 LSL 7
39 };
40 const byte kInstruction_add_al_r7_r8_r10_ROR_21[] = {
41   0x08, 0xeb, 0x7a, 0x57 // add al r7 r8 r10 ROR 21
42 };
43 const byte kInstruction_add_al_r5_r5_r3_ROR_12[] = {
44   0x05, 0xeb, 0x33, 0x35 // add al r5 r5 r3 ROR 12
45 };
46 const byte kInstruction_add_al_r14_r13_r10_LSL_22[] = {
47   0x0d, 0xeb, 0x8a, 0x5e // add al r14 r13 r10 LSL 22
48 };
49 const byte kInstruction_add_al_r9_r10_r11_ROR_2[] = {
50   0x0a, 0xeb, 0xbb, 0x09 // add al r9 r10 r11 ROR 2
51 };
52 const byte kInstruction_add_al_r14_r11_r5_LSL_15[] = {
53   0x0b, 0xeb, 0xc5, 0x3e // add al r14 r11 r5 LSL 15
54 };
55 const byte kInstruction_add_al_r2_r2_r7_LSL_28[] = {
56   0x02, 0xeb, 0x07, 0x72 // add al r2 r2 r7 LSL 28
57 };
58 const byte kInstruction_add_al_r2_r11_r1_ROR_9[] = {
59   0x0b, 0xeb, 0x71, 0x22 // add al r2 r11 r1 ROR 9
60 };
61 const byte kInstruction_add_al_r11_r2_r8_LSL_4[] = {
62   0x02, 0xeb, 0x08, 0x1b // add al r11 r2 r8 LSL 4
63 };
64 const byte kInstruction_add_al_r6_r13_r3_ROR_1[] = {
65   0x0d, 0xeb, 0x73, 0x06 // add al r6 r13 r3 ROR 1
66 };
67 const byte kInstruction_add_al_r13_r2_r7_LSL_11[] = {
68   0x02, 0xeb, 0xc7, 0x2d // add al r13 r2 r7 LSL 11
69 };
70 const byte kInstruction_add_al_r9_r9_r1_LSL_29[] = {
71   0x09, 0xeb, 0x41, 0x79 // add al r9 r9 r1 LSL 29
72 };
73 const byte kInstruction_add_al_r2_r12_r1_LSL_15[] = {
74   0x0c, 0xeb, 0xc1, 0x32 // add al r2 r12 r1 LSL 15
75 };
76 const byte kInstruction_add_al_r0_r2_r11_LSL_10[] = {
77   0x02, 0xeb, 0x8b, 0x20 // add al r0 r2 r11 LSL 10
78 };
79 const byte kInstruction_add_al_r11_r12_r8_LSL_13[] = {
80   0x0c, 0xeb, 0x48, 0x3b // add al r11 r12 r8 LSL 13
81 };
82 const byte kInstruction_add_al_r3_r1_r6_ROR_3[] = {
83   0x01, 0xeb, 0xf6, 0x03 // add al r3 r1 r6 ROR 3
84 };
85 const byte kInstruction_add_al_r5_r9_r11_LSL_16[] = {
86   0x09, 0xeb, 0x0b, 0x45 // add al r5 r9 r11 LSL 16
87 };
88 const byte kInstruction_add_al_r2_r0_r6_ROR_3[] = {
89   0x00, 0xeb, 0xf6, 0x02 // add al r2 r0 r6 ROR 3
90 };
91 const byte kInstruction_add_al_r7_r10_r10_ROR_19[] = {
92   0x0a, 0xeb, 0xfa, 0x47 // add al r7 r10 r10 ROR 19
93 };
94 const byte kInstruction_add_al_r14_r12_r11_LSL_27[] = {
95   0x0c, 0xeb, 0xcb, 0x6e // add al r14 r12 r11 LSL 27
96 };
97 const byte kInstruction_add_al_r2_r13_r1_LSL_3[] = {
98   0x0d, 0xeb, 0xc1, 0x02 // add al r2 r13 r1 LSL 3
99 };
100 const byte kInstruction_add_al_r5_r3_r2_LSL_11[] = {
101   0x03, 0xeb, 0xc2, 0x25 // add al r5 r3 r2 LSL 11
102 };
103 const byte kInstruction_add_al_r10_r3_r6_ROR_1[] = {
104   0x03, 0xeb, 0x76, 0x0a // add al r10 r3 r6 ROR 1
105 };
106 const byte kInstruction_add_al_r6_r14_r2_ROR_13[] = {
107   0x0e, 0xeb, 0x72, 0x36 // add al r6 r14 r2 ROR 13
108 };
109 const byte kInstruction_add_al_r9_r8_r6_ROR_13[] = {
110   0x08, 0xeb, 0x76, 0x39 // add al r9 r8 r6 ROR 13
111 };
112 const byte kInstruction_add_al_r12_r5_r8_LSL_22[] = {
113   0x05, 0xeb, 0x88, 0x5c // add al r12 r5 r8 LSL 22
114 };
115 const byte kInstruction_add_al_r11_r8_r11_LSL_3[] = {
116   0x08, 0xeb, 0xcb, 0x0b // add al r11 r8 r11 LSL 3
117 };
118 const byte kInstruction_add_al_r0_r9_r4_LSL_24[] = {
119   0x09, 0xeb, 0x04, 0x60 // add al r0 r9 r4 LSL 24
120 };
121 const byte kInstruction_add_al_r2_r2_r7_ROR_30[] = {
122   0x02, 0xeb, 0xb7, 0x72 // add al r2 r2 r7 ROR 30
123 };
124 const byte kInstruction_add_al_r9_r3_r10_LSL_27[] = {
125   0x03, 0xeb, 0xca, 0x69 // add al r9 r3 r10 LSL 27
126 };
127 const byte kInstruction_add_al_r10_r4_r11_LSL_23[] = {
128   0x04, 0xeb, 0xcb, 0x5a // add al r10 r4 r11 LSL 23
129 };
130 const byte kInstruction_add_al_r12_r5_r11_ROR_8[] = {
131   0x05, 0xeb, 0x3b, 0x2c // add al r12 r5 r11 ROR 8
132 };
133 const byte kInstruction_add_al_r6_r6_r6_ROR_4[] = {
134   0x06, 0xeb, 0x36, 0x16 // add al r6 r6 r6 ROR 4
135 };
136 const byte kInstruction_add_al_r5_r5_r10_ROR_29[] = {
137   0x05, 0xeb, 0x7a, 0x75 // add al r5 r5 r10 ROR 29
138 };
139 const byte kInstruction_add_al_r12_r12_r1_LSL_8[] = {
140   0x0c, 0xeb, 0x01, 0x2c // add al r12 r12 r1 LSL 8
141 };
142 const byte kInstruction_add_al_r5_r3_r1_LSL_4[] = {
143   0x03, 0xeb, 0x01, 0x15 // add al r5 r3 r1 LSL 4
144 };
145 const byte kInstruction_add_al_r4_r11_r7_LSL_17[] = {
146   0x0b, 0xeb, 0x47, 0x44 // add al r4 r11 r7 LSL 17
147 };
148 const byte kInstruction_add_al_r12_r8_r3_LSL_2[] = {
149   0x08, 0xeb, 0x83, 0x0c // add al r12 r8 r3 LSL 2
150 };
151 const byte kInstruction_add_al_r2_r11_r3_LSL_13[] = {
152   0x0b, 0xeb, 0x43, 0x32 // add al r2 r11 r3 LSL 13
153 };
154 const byte kInstruction_add_al_r11_r11_r4_ROR_19[] = {
155   0x0b, 0xeb, 0xf4, 0x4b // add al r11 r11 r4 ROR 19
156 };
157 const byte kInstruction_add_al_r5_r1_r3_LSL_4[] = {
158   0x01, 0xeb, 0x03, 0x15 // add al r5 r1 r3 LSL 4
159 };
160 const byte kInstruction_add_al_r2_r5_r7_ROR_20[] = {
161   0x05, 0xeb, 0x37, 0x52 // add al r2 r5 r7 ROR 20
162 };
163 const byte kInstruction_add_al_r8_r8_r1_LSL_24[] = {
164   0x08, 0xeb, 0x01, 0x68 // add al r8 r8 r1 LSL 24
165 };
166 const byte kInstruction_add_al_r7_r1_r0_LSL_11[] = {
167   0x01, 0xeb, 0xc0, 0x27 // add al r7 r1 r0 LSL 11
168 };
169 const byte kInstruction_add_al_r10_r5_r0_LSL_17[] = {
170   0x05, 0xeb, 0x40, 0x4a // add al r10 r5 r0 LSL 17
171 };
172 const byte kInstruction_add_al_r14_r13_r13_ROR_18[] = {
173   0x0d, 0xeb, 0xbd, 0x4e // add al r14 r13 r13 ROR 18
174 };
175 const byte kInstruction_add_al_r8_r3_r11_LSL_4[] = {
176   0x03, 0xeb, 0x0b, 0x18 // add al r8 r3 r11 LSL 4
177 };
178 const byte kInstruction_add_al_r1_r11_r10_LSL_2[] = {
179   0x0b, 0xeb, 0x8a, 0x01 // add al r1 r11 r10 LSL 2
180 };
181 const byte kInstruction_add_al_r0_r2_r11_LSL_25[] = {
182   0x02, 0xeb, 0x4b, 0x60 // add al r0 r2 r11 LSL 25
183 };
184 const byte kInstruction_add_al_r0_r1_r12_LSL_7[] = {
185   0x01, 0xeb, 0xcc, 0x10 // add al r0 r1 r12 LSL 7
186 };
187 const byte kInstruction_add_al_r5_r0_r8_LSL_19[] = {
188   0x00, 0xeb, 0xc8, 0x45 // add al r5 r0 r8 LSL 19
189 };
190 const byte kInstruction_add_al_r1_r5_r8_ROR_16[] = {
191   0x05, 0xeb, 0x38, 0x41 // add al r1 r5 r8 ROR 16
192 };
193 const byte kInstruction_add_al_r5_r11_r0_LSL_7[] = {
194   0x0b, 0xeb, 0xc0, 0x15 // add al r5 r11 r0 LSL 7
195 };
196 const byte kInstruction_add_al_r4_r5_r9_LSL_28[] = {
197   0x05, 0xeb, 0x09, 0x74 // add al r4 r5 r9 LSL 28
198 };
199 const byte kInstruction_add_al_r2_r6_r0_ROR_5[] = {
200   0x06, 0xeb, 0x70, 0x12 // add al r2 r6 r0 ROR 5
201 };
202 const byte kInstruction_add_al_r8_r13_r4_ROR_19[] = {
203   0x0d, 0xeb, 0xf4, 0x48 // add al r8 r13 r4 ROR 19
204 };
205 const byte kInstruction_add_al_r10_r11_r4_LSL_27[] = {
206   0x0b, 0xeb, 0xc4, 0x6a // add al r10 r11 r4 LSL 27
207 };
208 const byte kInstruction_add_al_r2_r8_r10_ROR_12[] = {
209   0x08, 0xeb, 0x3a, 0x32 // add al r2 r8 r10 ROR 12
210 };
211 const byte kInstruction_add_al_r8_r11_r8_ROR_30[] = {
212   0x0b, 0xeb, 0xb8, 0x78 // add al r8 r11 r8 ROR 30
213 };
214 const byte kInstruction_add_al_r7_r12_r14_LSL_21[] = {
215   0x0c, 0xeb, 0x4e, 0x57 // add al r7 r12 r14 LSL 21
216 };
217 const byte kInstruction_add_al_r1_r7_r14_LSL_18[] = {
218   0x07, 0xeb, 0x8e, 0x41 // add al r1 r7 r14 LSL 18
219 };
220 const byte kInstruction_add_al_r1_r2_r11_ROR_26[] = {
221   0x02, 0xeb, 0xbb, 0x61 // add al r1 r2 r11 ROR 26
222 };
223 const byte kInstruction_add_al_r12_r10_r0_ROR_10[] = {
224   0x0a, 0xeb, 0xb0, 0x2c // add al r12 r10 r0 ROR 10
225 };
226 const byte kInstruction_add_al_r4_r4_r10_ROR_22[] = {
227   0x04, 0xeb, 0xba, 0x54 // add al r4 r4 r10 ROR 22
228 };
229 const byte kInstruction_add_al_r10_r10_r11_LSL_25[] = {
230   0x0a, 0xeb, 0x4b, 0x6a // add al r10 r10 r11 LSL 25
231 };
232 const byte kInstruction_add_al_r5_r11_r12_LSL_20[] = {
233   0x0b, 0xeb, 0x0c, 0x55 // add al r5 r11 r12 LSL 20
234 };
235 const byte kInstruction_add_al_r6_r14_r7_LSL_26[] = {
236   0x0e, 0xeb, 0x87, 0x66 // add al r6 r14 r7 LSL 26
237 };
238 const byte kInstruction_add_al_r10_r3_r3_LSL_10[] = {
239   0x03, 0xeb, 0x83, 0x2a // add al r10 r3 r3 LSL 10
240 };
241 const byte kInstruction_add_al_r11_r3_r5_LSL_24[] = {
242   0x03, 0xeb, 0x05, 0x6b // add al r11 r3 r5 LSL 24
243 };
244 const byte kInstruction_add_al_r9_r5_r10_ROR_23[] = {
245   0x05, 0xeb, 0xfa, 0x59 // add al r9 r5 r10 ROR 23
246 };
247 const byte kInstruction_add_al_r4_r6_r5_ROR_28[] = {
248   0x06, 0xeb, 0x35, 0x74 // add al r4 r6 r5 ROR 28
249 };
250 const byte kInstruction_add_al_r9_r10_r4_ROR_26[] = {
251   0x0a, 0xeb, 0xb4, 0x69 // add al r9 r10 r4 ROR 26
252 };
253 const byte kInstruction_add_al_r9_r0_r9_LSL_2[] = {
254   0x00, 0xeb, 0x89, 0x09 // add al r9 r0 r9 LSL 2
255 };
256 const byte kInstruction_add_al_r4_r12_r8_LSL_23[] = {
257   0x0c, 0xeb, 0xc8, 0x54 // add al r4 r12 r8 LSL 23
258 };
259 const byte kInstruction_add_al_r7_r9_r11_LSL_18[] = {
260   0x09, 0xeb, 0x8b, 0x47 // add al r7 r9 r11 LSL 18
261 };
262 const byte kInstruction_add_al_r5_r2_r3_LSL_19[] = {
263   0x02, 0xeb, 0xc3, 0x45 // add al r5 r2 r3 LSL 19
264 };
265 const byte kInstruction_add_al_r5_r5_r1_ROR_10[] = {
266   0x05, 0xeb, 0xb1, 0x25 // add al r5 r5 r1 ROR 10
267 };
268 const byte kInstruction_add_al_r3_r0_r7_ROR_27[] = {
269   0x00, 0xeb, 0xf7, 0x63 // add al r3 r0 r7 ROR 27
270 };
271 const byte kInstruction_add_al_r8_r12_r8_ROR_14[] = {
272   0x0c, 0xeb, 0xb8, 0x38 // add al r8 r12 r8 ROR 14
273 };
274 const byte kInstruction_add_al_r3_r8_r2_LSL_25[] = {
275   0x08, 0xeb, 0x42, 0x63 // add al r3 r8 r2 LSL 25
276 };
277 const byte kInstruction_add_al_r8_r5_r8_LSL_24[] = {
278   0x05, 0xeb, 0x08, 0x68 // add al r8 r5 r8 LSL 24
279 };
280 const byte kInstruction_add_al_r10_r2_r9_LSL_23[] = {
281   0x02, 0xeb, 0xc9, 0x5a // add al r10 r2 r9 LSL 23
282 };
283 const byte kInstruction_add_al_r13_r11_r3_ROR_25[] = {
284   0x0b, 0xeb, 0x73, 0x6d // add al r13 r11 r3 ROR 25
285 };
286 const byte kInstruction_add_al_r2_r13_r2_ROR_1[] = {
287   0x0d, 0xeb, 0x72, 0x02 // add al r2 r13 r2 ROR 1
288 };
289 const byte kInstruction_add_al_r9_r7_r7_ROR_18[] = {
290   0x07, 0xeb, 0xb7, 0x49 // add al r9 r7 r7 ROR 18
291 };
292 const byte kInstruction_add_al_r13_r13_r4_ROR_15[] = {
293   0x0d, 0xeb, 0xf4, 0x3d // add al r13 r13 r4 ROR 15
294 };
295 const byte kInstruction_add_al_r1_r2_r0_LSL_1[] = {
296   0x02, 0xeb, 0x40, 0x01 // add al r1 r2 r0 LSL 1
297 };
298 const byte kInstruction_add_al_r0_r14_r1_LSL_7[] = {
299   0x0e, 0xeb, 0xc1, 0x10 // add al r0 r14 r1 LSL 7
300 };
301 const byte kInstruction_add_al_r2_r2_r3_LSL_18[] = {
302   0x02, 0xeb, 0x83, 0x42 // add al r2 r2 r3 LSL 18
303 };
304 const byte kInstruction_add_al_r12_r12_r10_ROR_22[] = {
305   0x0c, 0xeb, 0xba, 0x5c // add al r12 r12 r10 ROR 22
306 };
307 const byte kInstruction_add_al_r12_r10_r2_ROR_13[] = {
308   0x0a, 0xeb, 0x72, 0x3c // add al r12 r10 r2 ROR 13
309 };
310 const byte kInstruction_add_al_r7_r3_r11_LSL_23[] = {
311   0x03, 0xeb, 0xcb, 0x57 // add al r7 r3 r11 LSL 23
312 };
313 const byte kInstruction_add_al_r4_r7_r14_LSL_10[] = {
314   0x07, 0xeb, 0x8e, 0x24 // add al r4 r7 r14 LSL 10
315 };
316 const byte kInstruction_add_al_r3_r7_r5_ROR_27[] = {
317   0x07, 0xeb, 0xf5, 0x63 // add al r3 r7 r5 ROR 27
318 };
319 const byte kInstruction_add_al_r5_r11_r5_ROR_24[] = {
320   0x0b, 0xeb, 0x35, 0x65 // add al r5 r11 r5 ROR 24
321 };
322 const byte kInstruction_add_al_r12_r0_r6_ROR_29[] = {
323   0x00, 0xeb, 0x76, 0x7c // add al r12 r0 r6 ROR 29
324 };
325 const byte kInstruction_add_al_r14_r3_r8_LSL_26[] = {
326   0x03, 0xeb, 0x88, 0x6e // add al r14 r3 r8 LSL 26
327 };
328 const byte kInstruction_add_al_r12_r10_r3_LSL_10[] = {
329   0x0a, 0xeb, 0x83, 0x2c // add al r12 r10 r3 LSL 10
330 };
331 const byte kInstruction_add_al_r3_r8_r6_ROR_16[] = {
332   0x08, 0xeb, 0x36, 0x43 // add al r3 r8 r6 ROR 16
333 };
334 const byte kInstruction_add_al_r14_r1_r1_LSL_23[] = {
335   0x01, 0xeb, 0xc1, 0x5e // add al r14 r1 r1 LSL 23
336 };
337 const byte kInstruction_add_al_r14_r1_r0_LSL_18[] = {
338   0x01, 0xeb, 0x80, 0x4e // add al r14 r1 r0 LSL 18
339 };
340 const byte kInstruction_add_al_r7_r1_r8_LSL_29[] = {
341   0x01, 0xeb, 0x48, 0x77 // add al r7 r1 r8 LSL 29
342 };
343 const byte kInstruction_add_al_r8_r12_r1_ROR_22[] = {
344   0x0c, 0xeb, 0xb1, 0x58 // add al r8 r12 r1 ROR 22
345 };
346 const byte kInstruction_add_al_r8_r12_r10_ROR_10[] = {
347   0x0c, 0xeb, 0xba, 0x28 // add al r8 r12 r10 ROR 10
348 };
349 const byte kInstruction_add_al_r1_r14_r3_ROR_7[] = {
350   0x0e, 0xeb, 0xf3, 0x11 // add al r1 r14 r3 ROR 7
351 };
352 const byte kInstruction_add_al_r3_r4_r3_LSL_20[] = {
353   0x04, 0xeb, 0x03, 0x53 // add al r3 r4 r3 LSL 20
354 };
355 const byte kInstruction_add_al_r2_r13_r0_LSL_7[] = {
356   0x0d, 0xeb, 0xc0, 0x12 // add al r2 r13 r0 LSL 7
357 };
358 const byte kInstruction_add_al_r13_r0_r9_ROR_20[] = {
359   0x00, 0xeb, 0x39, 0x5d // add al r13 r0 r9 ROR 20
360 };
361 const byte kInstruction_add_al_r6_r4_r14_ROR_5[] = {
362   0x04, 0xeb, 0x7e, 0x16 // add al r6 r4 r14 ROR 5
363 };
364 const byte kInstruction_add_al_r12_r8_r9_ROR_3[] = {
365   0x08, 0xeb, 0xf9, 0x0c // add al r12 r8 r9 ROR 3
366 };
367 const byte kInstruction_add_al_r0_r11_r2_LSL_19[] = {
368   0x0b, 0xeb, 0xc2, 0x40 // add al r0 r11 r2 LSL 19
369 };
370 const byte kInstruction_add_al_r2_r3_r3_LSL_8[] = {
371   0x03, 0xeb, 0x03, 0x22 // add al r2 r3 r3 LSL 8
372 };
373 const byte kInstruction_add_al_r5_r1_r1_ROR_26[] = {
374   0x01, 0xeb, 0xb1, 0x65 // add al r5 r1 r1 ROR 26
375 };
376 const byte kInstruction_add_al_r4_r4_r13_ROR_31[] = {
377   0x04, 0xeb, 0xfd, 0x74 // add al r4 r4 r13 ROR 31
378 };
379 const byte kInstruction_add_al_r4_r6_r8_ROR_11[] = {
380   0x06, 0xeb, 0xf8, 0x24 // add al r4 r6 r8 ROR 11
381 };
382 const byte kInstruction_add_al_r4_r10_r13_LSL_28[] = {
383   0x0a, 0xeb, 0x0d, 0x74 // add al r4 r10 r13 LSL 28
384 };
385 const byte kInstruction_add_al_r0_r8_r5_LSL_19[] = {
386   0x08, 0xeb, 0xc5, 0x40 // add al r0 r8 r5 LSL 19
387 };
388 const byte kInstruction_add_al_r14_r0_r7_ROR_10[] = {
389   0x00, 0xeb, 0xb7, 0x2e // add al r14 r0 r7 ROR 10
390 };
391 const byte kInstruction_add_al_r9_r10_r9_ROR_13[] = {
392   0x0a, 0xeb, 0x79, 0x39 // add al r9 r10 r9 ROR 13
393 };
394 const byte kInstruction_add_al_r5_r1_r7_LSL_31[] = {
395   0x01, 0xeb, 0xc7, 0x75 // add al r5 r1 r7 LSL 31
396 };
397 const byte kInstruction_add_al_r8_r4_r12_ROR_8[] = {
398   0x04, 0xeb, 0x3c, 0x28 // add al r8 r4 r12 ROR 8
399 };
400 const byte kInstruction_add_al_r8_r13_r0_LSL_4[] = {
401   0x0d, 0xeb, 0x00, 0x18 // add al r8 r13 r0 LSL 4
402 };
403 const byte kInstruction_add_al_r10_r4_r10_LSL_19[] = {
404   0x04, 0xeb, 0xca, 0x4a // add al r10 r4 r10 LSL 19
405 };
406 const byte kInstruction_add_al_r5_r2_r3_LSL_5[] = {
407   0x02, 0xeb, 0x43, 0x15 // add al r5 r2 r3 LSL 5
408 };
409 const byte kInstruction_add_al_r1_r1_r2_LSL_17[] = {
410   0x01, 0xeb, 0x42, 0x41 // add al r1 r1 r2 LSL 17
411 };
412 const byte kInstruction_add_al_r9_r2_r13_ROR_13[] = {
413   0x02, 0xeb, 0x7d, 0x39 // add al r9 r2 r13 ROR 13
414 };
415 const byte kInstruction_add_al_r2_r5_r5_ROR_8[] = {
416   0x05, 0xeb, 0x35, 0x22 // add al r2 r5 r5 ROR 8
417 };
418 const byte kInstruction_add_al_r11_r11_r10_ROR_31[] = {
419   0x0b, 0xeb, 0xfa, 0x7b // add al r11 r11 r10 ROR 31
420 };
421 const byte kInstruction_add_al_r13_r14_r13_LSL_23[] = {
422   0x0e, 0xeb, 0xcd, 0x5d // add al r13 r14 r13 LSL 23
423 };
424 const byte kInstruction_add_al_r9_r0_r3_ROR_6[] = {
425   0x00, 0xeb, 0xb3, 0x19 // add al r9 r0 r3 ROR 6
426 };
427 const byte kInstruction_add_al_r10_r10_r11_LSL_9[] = {
428   0x0a, 0xeb, 0x4b, 0x2a // add al r10 r10 r11 LSL 9
429 };
430 const byte kInstruction_add_al_r13_r10_r11_ROR_31[] = {
431   0x0a, 0xeb, 0xfb, 0x7d // add al r13 r10 r11 ROR 31
432 };
433 const byte kInstruction_add_al_r8_r8_r10_LSL_23[] = {
434   0x08, 0xeb, 0xca, 0x58 // add al r8 r8 r10 LSL 23
435 };
436 const byte kInstruction_add_al_r13_r13_r10_ROR_27[] = {
437   0x0d, 0xeb, 0xfa, 0x6d // add al r13 r13 r10 ROR 27
438 };
439 const byte kInstruction_add_al_r6_r4_r7_LSL_19[] = {
440   0x04, 0xeb, 0xc7, 0x46 // add al r6 r4 r7 LSL 19
441 };
442 const byte kInstruction_add_al_r6_r1_r7_LSL_23[] = {
443   0x01, 0xeb, 0xc7, 0x56 // add al r6 r1 r7 LSL 23
444 };
445 const byte kInstruction_add_al_r11_r13_r9_ROR_2[] = {
446   0x0d, 0xeb, 0xb9, 0x0b // add al r11 r13 r9 ROR 2
447 };
448 const byte kInstruction_add_al_r14_r13_r8_LSL_11[] = {
449   0x0d, 0xeb, 0xc8, 0x2e // add al r14 r13 r8 LSL 11
450 };
451 const byte kInstruction_add_al_r10_r11_r8_ROR_11[] = {
452   0x0b, 0xeb, 0xf8, 0x2a // add al r10 r11 r8 ROR 11
453 };
454 const byte kInstruction_add_al_r5_r5_r1_ROR_15[] = {
455   0x05, 0xeb, 0xf1, 0x35 // add al r5 r5 r1 ROR 15
456 };
457 const byte kInstruction_add_al_r1_r3_r0_LSL_14[] = {
458   0x03, 0xeb, 0x80, 0x31 // add al r1 r3 r0 LSL 14
459 };
460 const byte kInstruction_add_al_r11_r4_r0_ROR_29[] = {
461   0x04, 0xeb, 0x70, 0x7b // add al r11 r4 r0 ROR 29
462 };
463 const byte kInstruction_add_al_r6_r11_r10_ROR_25[] = {
464   0x0b, 0xeb, 0x7a, 0x66 // add al r6 r11 r10 ROR 25
465 };
466 const byte kInstruction_add_al_r8_r3_r9_ROR_15[] = {
467   0x03, 0xeb, 0xf9, 0x38 // add al r8 r3 r9 ROR 15
468 };
469 const byte kInstruction_add_al_r3_r12_r14_LSL_23[] = {
470   0x0c, 0xeb, 0xce, 0x53 // add al r3 r12 r14 LSL 23
471 };
472 const byte kInstruction_add_al_r14_r14_r6_ROR_23[] = {
473   0x0e, 0xeb, 0xf6, 0x5e // add al r14 r14 r6 ROR 23
474 };
475 const byte kInstruction_add_al_r6_r8_r8_ROR_25[] = {
476   0x08, 0xeb, 0x78, 0x66 // add al r6 r8 r8 ROR 25
477 };
478 const byte kInstruction_add_al_r5_r5_r2_LSL_17[] = {
479   0x05, 0xeb, 0x42, 0x45 // add al r5 r5 r2 LSL 17
480 };
481 const byte kInstruction_add_al_r13_r4_r6_ROR_13[] = {
482   0x04, 0xeb, 0x76, 0x3d // add al r13 r4 r6 ROR 13
483 };
484 const byte kInstruction_add_al_r10_r9_r0_LSL_25[] = {
485   0x09, 0xeb, 0x40, 0x6a // add al r10 r9 r0 LSL 25
486 };
487 const byte kInstruction_add_al_r11_r2_r5_ROR_15[] = {
488   0x02, 0xeb, 0xf5, 0x3b // add al r11 r2 r5 ROR 15
489 };
490 const byte kInstruction_add_al_r4_r13_r4_LSL_8[] = {
491   0x0d, 0xeb, 0x04, 0x24 // add al r4 r13 r4 LSL 8
492 };
493 const byte kInstruction_add_al_r13_r6_r5_LSL_31[] = {
494   0x06, 0xeb, 0xc5, 0x7d // add al r13 r6 r5 LSL 31
495 };
496 const byte kInstruction_add_al_r3_r5_r6_ROR_25[] = {
497   0x05, 0xeb, 0x76, 0x63 // add al r3 r5 r6 ROR 25
498 };
499 const byte kInstruction_add_al_r7_r7_r12_ROR_12[] = {
500   0x07, 0xeb, 0x3c, 0x37 // add al r7 r7 r12 ROR 12
501 };
502 const byte kInstruction_add_al_r6_r10_r6_ROR_18[] = {
503   0x0a, 0xeb, 0xb6, 0x46 // add al r6 r10 r6 ROR 18
504 };
505 const byte kInstruction_add_al_r8_r14_r14_LSL_30[] = {
506   0x0e, 0xeb, 0x8e, 0x78 // add al r8 r14 r14 LSL 30
507 };
508 const byte kInstruction_add_al_r0_r0_r2_LSL_4[] = {
509   0x00, 0xeb, 0x02, 0x10 // add al r0 r0 r2 LSL 4
510 };
511 const byte kInstruction_add_al_r11_r2_r3_ROR_10[] = {
512   0x02, 0xeb, 0xb3, 0x2b // add al r11 r2 r3 ROR 10
513 };
514 const byte kInstruction_add_al_r2_r6_r14_ROR_29[] = {
515   0x06, 0xeb, 0x7e, 0x72 // add al r2 r6 r14 ROR 29
516 };
517 const byte kInstruction_add_al_r4_r5_r11_ROR_22[] = {
518   0x05, 0xeb, 0xbb, 0x54 // add al r4 r5 r11 ROR 22
519 };
520 const byte kInstruction_add_al_r13_r5_r1_LSL_8[] = {
521   0x05, 0xeb, 0x01, 0x2d // add al r13 r5 r1 LSL 8
522 };
523 const byte kInstruction_add_al_r9_r3_r0_ROR_25[] = {
524   0x03, 0xeb, 0x70, 0x69 // add al r9 r3 r0 ROR 25
525 };
526 const byte kInstruction_add_al_r10_r0_r14_LSL_11[] = {
527   0x00, 0xeb, 0xce, 0x2a // add al r10 r0 r14 LSL 11
528 };
529 const byte kInstruction_add_al_r8_r13_r13_ROR_6[] = {
530   0x0d, 0xeb, 0xbd, 0x18 // add al r8 r13 r13 ROR 6
531 };
532 const byte kInstruction_add_al_r10_r7_r14_LSL_10[] = {
533   0x07, 0xeb, 0x8e, 0x2a // add al r10 r7 r14 LSL 10
534 };
535 const byte kInstruction_add_al_r9_r6_r12_ROR_31[] = {
536   0x06, 0xeb, 0xfc, 0x79 // add al r9 r6 r12 ROR 31
537 };
538 const byte kInstruction_add_al_r9_r5_r0_ROR_1[] = {
539   0x05, 0xeb, 0x70, 0x09 // add al r9 r5 r0 ROR 1
540 };
541 const byte kInstruction_add_al_r0_r10_r12_LSL_11[] = {
542   0x0a, 0xeb, 0xcc, 0x20 // add al r0 r10 r12 LSL 11
543 };
544 const byte kInstruction_add_al_r8_r0_r8_ROR_15[] = {
545   0x00, 0xeb, 0xf8, 0x38 // add al r8 r0 r8 ROR 15
546 };
547 const byte kInstruction_add_al_r13_r2_r1_LSL_21[] = {
548   0x02, 0xeb, 0x41, 0x5d // add al r13 r2 r1 LSL 21
549 };
550 const byte kInstruction_add_al_r3_r0_r9_LSL_29[] = {
551   0x00, 0xeb, 0x49, 0x73 // add al r3 r0 r9 LSL 29
552 };
553 const byte kInstruction_add_al_r14_r10_r11_LSL_17[] = {
554   0x0a, 0xeb, 0x4b, 0x4e // add al r14 r10 r11 LSL 17
555 };
556 const byte kInstruction_add_al_r13_r4_r0_LSL_17[] = {
557   0x04, 0xeb, 0x40, 0x4d // add al r13 r4 r0 LSL 17
558 };
559 const byte kInstruction_add_al_r0_r3_r4_LSL_6[] = {
560   0x03, 0xeb, 0x84, 0x10 // add al r0 r3 r4 LSL 6
561 };
562 const byte kInstruction_add_al_r13_r9_r2_LSL_21[] = {
563   0x09, 0xeb, 0x42, 0x5d // add al r13 r9 r2 LSL 21
564 };
565 const byte kInstruction_add_al_r13_r5_r13_LSL_23[] = {
566   0x05, 0xeb, 0xcd, 0x5d // add al r13 r5 r13 LSL 23
567 };
568 const byte kInstruction_add_al_r14_r10_r2_LSL_8[] = {
569   0x0a, 0xeb, 0x02, 0x2e // add al r14 r10 r2 LSL 8
570 };
571 const byte kInstruction_add_al_r12_r11_r12_LSL_13[] = {
572   0x0b, 0xeb, 0x4c, 0x3c // add al r12 r11 r12 LSL 13
573 };
574 const byte kInstruction_add_al_r10_r2_r12_ROR_23[] = {
575   0x02, 0xeb, 0xfc, 0x5a // add al r10 r2 r12 ROR 23
576 };
577 const byte kInstruction_add_al_r5_r5_r8_ROR_28[] = {
578   0x05, 0xeb, 0x38, 0x75 // add al r5 r5 r8 ROR 28
579 };
580 const byte kInstruction_add_al_r0_r14_r12_ROR_19[] = {
581   0x0e, 0xeb, 0xfc, 0x40 // add al r0 r14 r12 ROR 19
582 };
583 const byte kInstruction_add_al_r8_r13_r11_LSL_24[] = {
584   0x0d, 0xeb, 0x0b, 0x68 // add al r8 r13 r11 LSL 24
585 };
586 const byte kInstruction_add_al_r9_r5_r3_ROR_30[] = {
587   0x05, 0xeb, 0xb3, 0x79 // add al r9 r5 r3 ROR 30
588 };
589 const byte kInstruction_add_al_r9_r10_r7_ROR_22[] = {
590   0x0a, 0xeb, 0xb7, 0x59 // add al r9 r10 r7 ROR 22
591 };
592 const byte kInstruction_add_al_r10_r3_r10_LSL_18[] = {
593   0x03, 0xeb, 0x8a, 0x4a // add al r10 r3 r10 LSL 18
594 };
595 const byte kInstruction_add_al_r7_r3_r14_ROR_22[] = {
596   0x03, 0xeb, 0xbe, 0x57 // add al r7 r3 r14 ROR 22
597 };
598 const byte kInstruction_add_al_r11_r4_r4_LSL_20[] = {
599   0x04, 0xeb, 0x04, 0x5b // add al r11 r4 r4 LSL 20
600 };
601 const byte kInstruction_add_al_r7_r13_r14_ROR_25[] = {
602   0x0d, 0xeb, 0x7e, 0x67 // add al r7 r13 r14 ROR 25
603 };
604 const byte kInstruction_add_al_r10_r10_r1_ROR_5[] = {
605   0x0a, 0xeb, 0x71, 0x1a // add al r10 r10 r1 ROR 5
606 };
607 const byte kInstruction_add_al_r4_r12_r6_LSL_6[] = {
608   0x0c, 0xeb, 0x86, 0x14 // add al r4 r12 r6 LSL 6
609 };
610 const byte kInstruction_add_al_r3_r6_r9_ROR_3[] = {
611   0x06, 0xeb, 0xf9, 0x03 // add al r3 r6 r9 ROR 3
612 };
613 const byte kInstruction_add_al_r14_r3_r7_LSL_26[] = {
614   0x03, 0xeb, 0x87, 0x6e // add al r14 r3 r7 LSL 26
615 };
616 const byte kInstruction_add_al_r0_r8_r10_LSL_10[] = {
617   0x08, 0xeb, 0x8a, 0x20 // add al r0 r8 r10 LSL 10
618 };
619 const byte kInstruction_add_al_r13_r10_r7_ROR_19[] = {
620   0x0a, 0xeb, 0xf7, 0x4d // add al r13 r10 r7 ROR 19
621 };
622 const byte kInstruction_add_al_r14_r1_r6_ROR_27[] = {
623   0x01, 0xeb, 0xf6, 0x6e // add al r14 r1 r6 ROR 27
624 };
625 const byte kInstruction_add_al_r0_r5_r13_LSL_18[] = {
626   0x05, 0xeb, 0x8d, 0x40 // add al r0 r5 r13 LSL 18
627 };
628 const byte kInstruction_add_al_r10_r9_r0_LSL_15[] = {
629   0x09, 0xeb, 0xc0, 0x3a // add al r10 r9 r0 LSL 15
630 };
631 const byte kInstruction_add_al_r12_r8_r13_ROR_19[] = {
632   0x08, 0xeb, 0xfd, 0x4c // add al r12 r8 r13 ROR 19
633 };
634 const byte kInstruction_add_al_r8_r0_r11_LSL_31[] = {
635   0x00, 0xeb, 0xcb, 0x78 // add al r8 r0 r11 LSL 31
636 };
637 const byte kInstruction_add_al_r8_r14_r0_ROR_20[] = {
638   0x0e, 0xeb, 0x30, 0x58 // add al r8 r14 r0 ROR 20
639 };
640 const byte kInstruction_add_al_r8_r7_r6_ROR_14[] = {
641   0x07, 0xeb, 0xb6, 0x38 // add al r8 r7 r6 ROR 14
642 };
643 const byte kInstruction_add_al_r10_r9_r5_LSL_21[] = {
644   0x09, 0xeb, 0x45, 0x5a // add al r10 r9 r5 LSL 21
645 };
646 const byte kInstruction_add_al_r9_r8_r13_ROR_28[] = {
647   0x08, 0xeb, 0x3d, 0x79 // add al r9 r8 r13 ROR 28
648 };
649 const byte kInstruction_add_al_r12_r12_r12_ROR_25[] = {
650   0x0c, 0xeb, 0x7c, 0x6c // add al r12 r12 r12 ROR 25
651 };
652 const byte kInstruction_add_al_r5_r11_r4_ROR_12[] = {
653   0x0b, 0xeb, 0x34, 0x35 // add al r5 r11 r4 ROR 12
654 };
655 const byte kInstruction_add_al_r1_r7_r10_ROR_13[] = {
656   0x07, 0xeb, 0x7a, 0x31 // add al r1 r7 r10 ROR 13
657 };
658 const byte kInstruction_add_al_r14_r12_r2_LSL_19[] = {
659   0x0c, 0xeb, 0xc2, 0x4e // add al r14 r12 r2 LSL 19
660 };
661 const byte kInstruction_add_al_r0_r5_r14_LSL_20[] = {
662   0x05, 0xeb, 0x0e, 0x50 // add al r0 r5 r14 LSL 20
663 };
664 const byte kInstruction_add_al_r12_r4_r3_ROR_27[] = {
665   0x04, 0xeb, 0xf3, 0x6c // add al r12 r4 r3 ROR 27
666 };
667 const byte kInstruction_add_al_r9_r3_r1_ROR_22[] = {
668   0x03, 0xeb, 0xb1, 0x59 // add al r9 r3 r1 ROR 22
669 };
670 const byte kInstruction_add_al_r2_r12_r7_ROR_23[] = {
671   0x0c, 0xeb, 0xf7, 0x52 // add al r2 r12 r7 ROR 23
672 };
673 const byte kInstruction_add_al_r10_r4_r8_ROR_11[] = {
674   0x04, 0xeb, 0xf8, 0x2a // add al r10 r4 r8 ROR 11
675 };
676 const byte kInstruction_add_al_r6_r0_r2_LSL_8[] = {
677   0x00, 0xeb, 0x02, 0x26 // add al r6 r0 r2 LSL 8
678 };
679 const byte kInstruction_add_al_r10_r3_r0_LSL_1[] = {
680   0x03, 0xeb, 0x40, 0x0a // add al r10 r3 r0 LSL 1
681 };
682 const byte kInstruction_add_al_r6_r6_r4_LSL_1[] = {
683   0x06, 0xeb, 0x44, 0x06 // add al r6 r6 r4 LSL 1
684 };
685 const byte kInstruction_add_al_r13_r12_r13_ROR_13[] = {
686   0x0c, 0xeb, 0x7d, 0x3d // add al r13 r12 r13 ROR 13
687 };
688 const byte kInstruction_add_al_r0_r9_r10_ROR_1[] = {
689   0x09, 0xeb, 0x7a, 0x00 // add al r0 r9 r10 ROR 1
690 };
691 const byte kInstruction_add_al_r9_r13_r9_ROR_16[] = {
692   0x0d, 0xeb, 0x39, 0x49 // add al r9 r13 r9 ROR 16
693 };
694 const byte kInstruction_add_al_r0_r6_r2_LSL_4[] = {
695   0x06, 0xeb, 0x02, 0x10 // add al r0 r6 r2 LSL 4
696 };
697 const byte kInstruction_add_al_r9_r2_r11_LSL_31[] = {
698   0x02, 0xeb, 0xcb, 0x79 // add al r9 r2 r11 LSL 31
699 };
700 const byte kInstruction_add_al_r12_r12_r13_ROR_19[] = {
701   0x0c, 0xeb, 0xfd, 0x4c // add al r12 r12 r13 ROR 19
702 };
703 const byte kInstruction_add_al_r7_r14_r2_ROR_23[] = {
704   0x0e, 0xeb, 0xf2, 0x57 // add al r7 r14 r2 ROR 23
705 };
706 const byte kInstruction_add_al_r7_r1_r3_LSL_26[] = {
707   0x01, 0xeb, 0x83, 0x67 // add al r7 r1 r3 LSL 26
708 };
709 const byte kInstruction_add_al_r13_r6_r12_ROR_26[] = {
710   0x06, 0xeb, 0xbc, 0x6d // add al r13 r6 r12 ROR 26
711 };
712 const byte kInstruction_add_al_r10_r14_r12_ROR_5[] = {
713   0x0e, 0xeb, 0x7c, 0x1a // add al r10 r14 r12 ROR 5
714 };
715 const byte kInstruction_add_al_r5_r9_r12_LSL_9[] = {
716   0x09, 0xeb, 0x4c, 0x25 // add al r5 r9 r12 LSL 9
717 };
718 const byte kInstruction_add_al_r2_r7_r2_ROR_10[] = {
719   0x07, 0xeb, 0xb2, 0x22 // add al r2 r7 r2 ROR 10
720 };
721 const byte kInstruction_add_al_r12_r12_r8_ROR_6[] = {
722   0x0c, 0xeb, 0xb8, 0x1c // add al r12 r12 r8 ROR 6
723 };
724 const byte kInstruction_add_al_r1_r13_r13_ROR_24[] = {
725   0x0d, 0xeb, 0x3d, 0x61 // add al r1 r13 r13 ROR 24
726 };
727 const byte kInstruction_add_al_r6_r10_r10_ROR_26[] = {
728   0x0a, 0xeb, 0xba, 0x66 // add al r6 r10 r10 ROR 26
729 };
730 const byte kInstruction_add_al_r13_r9_r1_LSL_18[] = {
731   0x09, 0xeb, 0x81, 0x4d // add al r13 r9 r1 LSL 18
732 };
733 const byte kInstruction_add_al_r6_r1_r4_ROR_21[] = {
734   0x01, 0xeb, 0x74, 0x56 // add al r6 r1 r4 ROR 21
735 };
736 const byte kInstruction_add_al_r0_r3_r3_ROR_18[] = {
737   0x03, 0xeb, 0xb3, 0x40 // add al r0 r3 r3 ROR 18
738 };
739 const byte kInstruction_add_al_r1_r9_r5_LSL_29[] = {
740   0x09, 0xeb, 0x45, 0x71 // add al r1 r9 r5 LSL 29
741 };
742 const byte kInstruction_add_al_r11_r8_r7_ROR_18[] = {
743   0x08, 0xeb, 0xb7, 0x4b // add al r11 r8 r7 ROR 18
744 };
745 const byte kInstruction_add_al_r2_r3_r12_LSL_7[] = {
746   0x03, 0xeb, 0xcc, 0x12 // add al r2 r3 r12 LSL 7
747 };
748 const byte kInstruction_add_al_r8_r3_r9_LSL_18[] = {
749   0x03, 0xeb, 0x89, 0x48 // add al r8 r3 r9 LSL 18
750 };
751 const byte kInstruction_add_al_r8_r12_r1_LSL_11[] = {
752   0x0c, 0xeb, 0xc1, 0x28 // add al r8 r12 r1 LSL 11
753 };
754 const byte kInstruction_add_al_r14_r9_r5_ROR_21[] = {
755   0x09, 0xeb, 0x75, 0x5e // add al r14 r9 r5 ROR 21
756 };
757 const byte kInstruction_add_al_r0_r6_r12_ROR_26[] = {
758   0x06, 0xeb, 0xbc, 0x60 // add al r0 r6 r12 ROR 26
759 };
760 const byte kInstruction_add_al_r3_r6_r14_LSL_14[] = {
761   0x06, 0xeb, 0x8e, 0x33 // add al r3 r6 r14 LSL 14
762 };
763 const byte kInstruction_add_al_r11_r0_r9_LSL_9[] = {
764   0x00, 0xeb, 0x49, 0x2b // add al r11 r0 r9 LSL 9
765 };
766 const byte kInstruction_add_al_r8_r13_r7_LSL_9[] = {
767   0x0d, 0xeb, 0x47, 0x28 // add al r8 r13 r7 LSL 9
768 };
769 const byte kInstruction_add_al_r3_r1_r13_LSL_23[] = {
770   0x01, 0xeb, 0xcd, 0x53 // add al r3 r1 r13 LSL 23
771 };
772 const byte kInstruction_add_al_r12_r13_r13_ROR_4[] = {
773   0x0d, 0xeb, 0x3d, 0x1c // add al r12 r13 r13 ROR 4
774 };
775 const byte kInstruction_add_al_r10_r14_r9_ROR_13[] = {
776   0x0e, 0xeb, 0x79, 0x3a // add al r10 r14 r9 ROR 13
777 };
778 const byte kInstruction_add_al_r14_r5_r1_LSL_22[] = {
779   0x05, 0xeb, 0x81, 0x5e // add al r14 r5 r1 LSL 22
780 };
781 const byte kInstruction_add_al_r11_r8_r8_ROR_28[] = {
782   0x08, 0xeb, 0x38, 0x7b // add al r11 r8 r8 ROR 28
783 };
784 const byte kInstruction_add_al_r0_r8_r12_ROR_19[] = {
785   0x08, 0xeb, 0xfc, 0x40 // add al r0 r8 r12 ROR 19
786 };
787 const byte kInstruction_add_al_r11_r3_r1_ROR_6[] = {
788   0x03, 0xeb, 0xb1, 0x1b // add al r11 r3 r1 ROR 6
789 };
790 const byte kInstruction_add_al_r2_r7_r2_ROR_5[] = {
791   0x07, 0xeb, 0x72, 0x12 // add al r2 r7 r2 ROR 5
792 };
793 const byte kInstruction_add_al_r11_r14_r2_ROR_14[] = {
794   0x0e, 0xeb, 0xb2, 0x3b // add al r11 r14 r2 ROR 14
795 };
796 const byte kInstruction_add_al_r9_r13_r7_LSL_27[] = {
797   0x0d, 0xeb, 0xc7, 0x69 // add al r9 r13 r7 LSL 27
798 };
799 const byte kInstruction_add_al_r0_r0_r3_ROR_29[] = {
800   0x00, 0xeb, 0x73, 0x70 // add al r0 r0 r3 ROR 29
801 };
802 const byte kInstruction_add_al_r9_r12_r7_LSL_24[] = {
803   0x0c, 0xeb, 0x07, 0x69 // add al r9 r12 r7 LSL 24
804 };
805 const byte kInstruction_add_al_r8_r5_r4_LSL_10[] = {
806   0x05, 0xeb, 0x84, 0x28 // add al r8 r5 r4 LSL 10
807 };
808 const byte kInstruction_add_al_r0_r2_r12_ROR_10[] = {
809   0x02, 0xeb, 0xbc, 0x20 // add al r0 r2 r12 ROR 10
810 };
811 const byte kInstruction_add_al_r6_r0_r5_ROR_16[] = {
812   0x00, 0xeb, 0x35, 0x46 // add al r6 r0 r5 ROR 16
813 };
814 const byte kInstruction_add_al_r9_r9_r14_ROR_2[] = {
815   0x09, 0xeb, 0xbe, 0x09 // add al r9 r9 r14 ROR 2
816 };
817 const byte kInstruction_add_al_r0_r0_r7_ROR_28[] = {
818   0x00, 0xeb, 0x37, 0x70 // add al r0 r0 r7 ROR 28
819 };
820 const byte kInstruction_add_al_r2_r11_r12_LSL_16[] = {
821   0x0b, 0xeb, 0x0c, 0x42 // add al r2 r11 r12 LSL 16
822 };
823 const byte kInstruction_add_al_r14_r0_r8_ROR_13[] = {
824   0x00, 0xeb, 0x78, 0x3e // add al r14 r0 r8 ROR 13
825 };
826 const byte kInstruction_add_al_r3_r4_r3_LSL_2[] = {
827   0x04, 0xeb, 0x83, 0x03 // add al r3 r4 r3 LSL 2
828 };
829 const byte kInstruction_add_al_r11_r6_r4_ROR_25[] = {
830   0x06, 0xeb, 0x74, 0x6b // add al r11 r6 r4 ROR 25
831 };
832 const byte kInstruction_add_al_r14_r1_r12_LSL_4[] = {
833   0x01, 0xeb, 0x0c, 0x1e // add al r14 r1 r12 LSL 4
834 };
835 const byte kInstruction_add_al_r9_r2_r6_LSL_12[] = {
836   0x02, 0xeb, 0x06, 0x39 // add al r9 r2 r6 LSL 12
837 };
838 const byte kInstruction_add_al_r10_r9_r2_ROR_26[] = {
839   0x09, 0xeb, 0xb2, 0x6a // add al r10 r9 r2 ROR 26
840 };
841 const byte kInstruction_add_al_r2_r3_r10_ROR_2[] = {
842   0x03, 0xeb, 0xba, 0x02 // add al r2 r3 r10 ROR 2
843 };
844 const byte kInstruction_add_al_r6_r7_r9_LSL_12[] = {
845   0x07, 0xeb, 0x09, 0x36 // add al r6 r7 r9 LSL 12
846 };
847 const byte kInstruction_add_al_r4_r1_r7_LSL_6[] = {
848   0x01, 0xeb, 0x87, 0x14 // add al r4 r1 r7 LSL 6
849 };
850 const byte kInstruction_add_al_r4_r3_r13_ROR_31[] = {
851   0x03, 0xeb, 0xfd, 0x74 // add al r4 r3 r13 ROR 31
852 };
853 const byte kInstruction_add_al_r14_r1_r0_ROR_11[] = {
854   0x01, 0xeb, 0xf0, 0x2e // add al r14 r1 r0 ROR 11
855 };
856 const byte kInstruction_add_al_r4_r3_r9_ROR_18[] = {
857   0x03, 0xeb, 0xb9, 0x44 // add al r4 r3 r9 ROR 18
858 };
859 const byte kInstruction_add_al_r4_r5_r2_ROR_26[] = {
860   0x05, 0xeb, 0xb2, 0x64 // add al r4 r5 r2 ROR 26
861 };
862 const byte kInstruction_add_al_r11_r13_r9_LSL_1[] = {
863   0x0d, 0xeb, 0x49, 0x0b // add al r11 r13 r9 LSL 1
864 };
865 const byte kInstruction_add_al_r6_r13_r8_LSL_31[] = {
866   0x0d, 0xeb, 0xc8, 0x76 // add al r6 r13 r8 LSL 31
867 };
868 const byte kInstruction_add_al_r8_r6_r5_LSL_7[] = {
869   0x06, 0xeb, 0xc5, 0x18 // add al r8 r6 r5 LSL 7
870 };
871 const byte kInstruction_add_al_r3_r12_r11_LSL_29[] = {
872   0x0c, 0xeb, 0x4b, 0x73 // add al r3 r12 r11 LSL 29
873 };
874 const byte kInstruction_add_al_r4_r11_r3_ROR_25[] = {
875   0x0b, 0xeb, 0x73, 0x64 // add al r4 r11 r3 ROR 25
876 };
877 const byte kInstruction_add_al_r11_r0_r3_ROR_1[] = {
878   0x00, 0xeb, 0x73, 0x0b // add al r11 r0 r3 ROR 1
879 };
880 const byte kInstruction_add_al_r10_r7_r8_ROR_14[] = {
881   0x07, 0xeb, 0xb8, 0x3a // add al r10 r7 r8 ROR 14
882 };
883 const byte kInstruction_add_al_r12_r8_r5_ROR_17[] = {
884   0x08, 0xeb, 0x75, 0x4c // add al r12 r8 r5 ROR 17
885 };
886 const byte kInstruction_add_al_r13_r11_r1_LSL_26[] = {
887   0x0b, 0xeb, 0x81, 0x6d // add al r13 r11 r1 LSL 26
888 };
889 const byte kInstruction_add_al_r13_r4_r5_ROR_26[] = {
890   0x04, 0xeb, 0xb5, 0x6d // add al r13 r4 r5 ROR 26
891 };
892 const byte kInstruction_add_al_r12_r5_r8_ROR_17[] = {
893   0x05, 0xeb, 0x78, 0x4c // add al r12 r5 r8 ROR 17
894 };
895 const byte kInstruction_add_al_r12_r0_r10_ROR_16[] = {
896   0x00, 0xeb, 0x3a, 0x4c // add al r12 r0 r10 ROR 16
897 };
898 const byte kInstruction_add_al_r6_r4_r14_ROR_28[] = {
899   0x04, 0xeb, 0x3e, 0x76 // add al r6 r4 r14 ROR 28
900 };
901 const byte kInstruction_add_al_r13_r13_r5_LSL_16[] = {
902   0x0d, 0xeb, 0x05, 0x4d // add al r13 r13 r5 LSL 16
903 };
904 const byte kInstruction_add_al_r9_r6_r10_LSL_15[] = {
905   0x06, 0xeb, 0xca, 0x39 // add al r9 r6 r10 LSL 15
906 };
907 const byte kInstruction_add_al_r2_r10_r8_LSL_16[] = {
908   0x0a, 0xeb, 0x08, 0x42 // add al r2 r10 r8 LSL 16
909 };
910 const byte kInstruction_add_al_r11_r4_r0_LSL_5[] = {
911   0x04, 0xeb, 0x40, 0x1b // add al r11 r4 r0 LSL 5
912 };
913 const byte kInstruction_add_al_r9_r2_r14_ROR_31[] = {
914   0x02, 0xeb, 0xfe, 0x79 // add al r9 r2 r14 ROR 31
915 };
916 const byte kInstruction_add_al_r0_r7_r11_LSL_25[] = {
917   0x07, 0xeb, 0x4b, 0x60 // add al r0 r7 r11 LSL 25
918 };
919 const byte kInstruction_add_al_r2_r6_r12_LSL_8[] = {
920   0x06, 0xeb, 0x0c, 0x22 // add al r2 r6 r12 LSL 8
921 };
922 const byte kInstruction_add_al_r1_r10_r4_ROR_7[] = {
923   0x0a, 0xeb, 0xf4, 0x11 // add al r1 r10 r4 ROR 7
924 };
925 const byte kInstruction_add_al_r4_r3_r7_LSL_10[] = {
926   0x03, 0xeb, 0x87, 0x24 // add al r4 r3 r7 LSL 10
927 };
928 const byte kInstruction_add_al_r6_r7_r11_LSL_14[] = {
929   0x07, 0xeb, 0x8b, 0x36 // add al r6 r7 r11 LSL 14
930 };
931 const byte kInstruction_add_al_r9_r10_r0_LSL_31[] = {
932   0x0a, 0xeb, 0xc0, 0x79 // add al r9 r10 r0 LSL 31
933 };
934 const byte kInstruction_add_al_r5_r5_r13_LSL_2[] = {
935   0x05, 0xeb, 0x8d, 0x05 // add al r5 r5 r13 LSL 2
936 };
937 const byte kInstruction_add_al_r7_r10_r2_LSL_26[] = {
938   0x0a, 0xeb, 0x82, 0x67 // add al r7 r10 r2 LSL 26
939 };
940 const byte kInstruction_add_al_r3_r7_r7_LSL_29[] = {
941   0x07, 0xeb, 0x47, 0x73 // add al r3 r7 r7 LSL 29
942 };
943 const byte kInstruction_add_al_r4_r1_r8_LSL_18[] = {
944   0x01, 0xeb, 0x88, 0x44 // add al r4 r1 r8 LSL 18
945 };
946 const byte kInstruction_add_al_r14_r12_r2_LSL_29[] = {
947   0x0c, 0xeb, 0x42, 0x7e // add al r14 r12 r2 LSL 29
948 };
949 const byte kInstruction_add_al_r11_r6_r3_ROR_8[] = {
950   0x06, 0xeb, 0x33, 0x2b // add al r11 r6 r3 ROR 8
951 };
952 const byte kInstruction_add_al_r14_r5_r3_LSL_7[] = {
953   0x05, 0xeb, 0xc3, 0x1e // add al r14 r5 r3 LSL 7
954 };
955 const byte kInstruction_add_al_r6_r13_r12_LSL_2[] = {
956   0x0d, 0xeb, 0x8c, 0x06 // add al r6 r13 r12 LSL 2
957 };
958 const byte kInstruction_add_al_r9_r1_r0_ROR_13[] = {
959   0x01, 0xeb, 0x70, 0x39 // add al r9 r1 r0 ROR 13
960 };
961 const byte kInstruction_add_al_r9_r5_r7_LSL_16[] = {
962   0x05, 0xeb, 0x07, 0x49 // add al r9 r5 r7 LSL 16
963 };
964 const byte kInstruction_add_al_r2_r6_r0_ROR_27[] = {
965   0x06, 0xeb, 0xf0, 0x62 // add al r2 r6 r0 ROR 27
966 };
967 const byte kInstruction_add_al_r4_r9_r5_LSL_19[] = {
968   0x09, 0xeb, 0xc5, 0x44 // add al r4 r9 r5 LSL 19
969 };
970 const byte kInstruction_add_al_r9_r5_r13_ROR_26[] = {
971   0x05, 0xeb, 0xbd, 0x69 // add al r9 r5 r13 ROR 26
972 };
973 const byte kInstruction_add_al_r4_r9_r14_LSL_25[] = {
974   0x09, 0xeb, 0x4e, 0x64 // add al r4 r9 r14 LSL 25
975 };
976 const byte kInstruction_add_al_r7_r13_r1_LSL_22[] = {
977   0x0d, 0xeb, 0x81, 0x57 // add al r7 r13 r1 LSL 22
978 };
979 const byte kInstruction_add_al_r14_r13_r6_LSL_25[] = {
980   0x0d, 0xeb, 0x46, 0x6e // add al r14 r13 r6 LSL 25
981 };
982 const byte kInstruction_add_al_r14_r12_r14_ROR_1[] = {
983   0x0c, 0xeb, 0x7e, 0x0e // add al r14 r12 r14 ROR 1
984 };
985 const byte kInstruction_add_al_r9_r7_r4_ROR_28[] = {
986   0x07, 0xeb, 0x34, 0x79 // add al r9 r7 r4 ROR 28
987 };
988 const byte kInstruction_add_al_r13_r14_r11_ROR_4[] = {
989   0x0e, 0xeb, 0x3b, 0x1d // add al r13 r14 r11 ROR 4
990 };
991 const byte kInstruction_add_al_r14_r6_r14_LSL_22[] = {
992   0x06, 0xeb, 0x8e, 0x5e // add al r14 r6 r14 LSL 22
993 };
994 const byte kInstruction_add_al_r9_r10_r13_LSL_27[] = {
995   0x0a, 0xeb, 0xcd, 0x69 // add al r9 r10 r13 LSL 27
996 };
997 const byte kInstruction_add_al_r12_r1_r7_LSL_17[] = {
998   0x01, 0xeb, 0x47, 0x4c // add al r12 r1 r7 LSL 17
999 };
1000 const byte kInstruction_add_al_r8_r0_r5_ROR_6[] = {
1001   0x00, 0xeb, 0xb5, 0x18 // add al r8 r0 r5 ROR 6
1002 };
1003 const byte kInstruction_add_al_r3_r11_r6_LSL_6[] = {
1004   0x0b, 0xeb, 0x86, 0x13 // add al r3 r11 r6 LSL 6
1005 };
1006 const byte kInstruction_add_al_r13_r5_r7_LSL_23[] = {
1007   0x05, 0xeb, 0xc7, 0x5d // add al r13 r5 r7 LSL 23
1008 };
1009 const byte kInstruction_add_al_r13_r8_r1_ROR_20[] = {
1010   0x08, 0xeb, 0x31, 0x5d // add al r13 r8 r1 ROR 20
1011 };
1012 const byte kInstruction_add_al_r13_r0_r7_LSL_10[] = {
1013   0x00, 0xeb, 0x87, 0x2d // add al r13 r0 r7 LSL 10
1014 };
1015 const byte kInstruction_add_al_r7_r1_r12_ROR_17[] = {
1016   0x01, 0xeb, 0x7c, 0x47 // add al r7 r1 r12 ROR 17
1017 };
1018 const byte kInstruction_add_al_r5_r3_r12_LSL_12[] = {
1019   0x03, 0xeb, 0x0c, 0x35 // add al r5 r3 r12 LSL 12
1020 };
1021 const byte kInstruction_add_al_r0_r12_r4_LSL_6[] = {
1022   0x0c, 0xeb, 0x84, 0x10 // add al r0 r12 r4 LSL 6
1023 };
1024 const byte kInstruction_add_al_r7_r11_r11_ROR_8[] = {
1025   0x0b, 0xeb, 0x3b, 0x27 // add al r7 r11 r11 ROR 8
1026 };
1027 const byte kInstruction_add_al_r3_r0_r0_LSL_17[] = {
1028   0x00, 0xeb, 0x40, 0x43 // add al r3 r0 r0 LSL 17
1029 };
1030 const byte kInstruction_add_al_r4_r12_r0_ROR_2[] = {
1031   0x0c, 0xeb, 0xb0, 0x04 // add al r4 r12 r0 ROR 2
1032 };
1033 const byte kInstruction_add_al_r6_r3_r3_LSL_25[] = {
1034   0x03, 0xeb, 0x43, 0x66 // add al r6 r3 r3 LSL 25
1035 };
1036 const byte kInstruction_add_al_r9_r5_r5_LSL_9[] = {
1037   0x05, 0xeb, 0x45, 0x29 // add al r9 r5 r5 LSL 9
1038 };
1039 const byte kInstruction_add_al_r7_r3_r4_LSL_20[] = {
1040   0x03, 0xeb, 0x04, 0x57 // add al r7 r3 r4 LSL 20
1041 };
1042 const byte kInstruction_add_al_r12_r1_r7_ROR_6[] = {
1043   0x01, 0xeb, 0xb7, 0x1c // add al r12 r1 r7 ROR 6
1044 };
1045 const byte kInstruction_add_al_r2_r14_r7_LSL_23[] = {
1046   0x0e, 0xeb, 0xc7, 0x52 // add al r2 r14 r7 LSL 23
1047 };
1048 const byte kInstruction_add_al_r9_r6_r9_ROR_22[] = {
1049   0x06, 0xeb, 0xb9, 0x59 // add al r9 r6 r9 ROR 22
1050 };
1051 const byte kInstruction_add_al_r1_r8_r2_ROR_11[] = {
1052   0x08, 0xeb, 0xf2, 0x21 // add al r1 r8 r2 ROR 11
1053 };
1054 const byte kInstruction_add_al_r10_r2_r14_ROR_15[] = {
1055   0x02, 0xeb, 0xfe, 0x3a // add al r10 r2 r14 ROR 15
1056 };
1057 const byte kInstruction_add_al_r9_r1_r9_ROR_27[] = {
1058   0x01, 0xeb, 0xf9, 0x69 // add al r9 r1 r9 ROR 27
1059 };
1060 const byte kInstruction_add_al_r12_r11_r13_ROR_30[] = {
1061   0x0b, 0xeb, 0xbd, 0x7c // add al r12 r11 r13 ROR 30
1062 };
1063 const byte kInstruction_add_al_r13_r11_r1_ROR_5[] = {
1064   0x0b, 0xeb, 0x71, 0x1d // add al r13 r11 r1 ROR 5
1065 };
1066 const byte kInstruction_add_al_r12_r8_r10_LSL_24[] = {
1067   0x08, 0xeb, 0x0a, 0x6c // add al r12 r8 r10 LSL 24
1068 };
1069 const byte kInstruction_add_al_r8_r6_r10_ROR_19[] = {
1070   0x06, 0xeb, 0xfa, 0x48 // add al r8 r6 r10 ROR 19
1071 };
1072 const byte kInstruction_add_al_r0_r0_r2_ROR_26[] = {
1073   0x00, 0xeb, 0xb2, 0x60 // add al r0 r0 r2 ROR 26
1074 };
1075 const byte kInstruction_add_al_r7_r14_r10_LSL_28[] = {
1076   0x0e, 0xeb, 0x0a, 0x77 // add al r7 r14 r10 LSL 28
1077 };
1078 const byte kInstruction_add_al_r3_r2_r12_LSL_12[] = {
1079   0x02, 0xeb, 0x0c, 0x33 // add al r3 r2 r12 LSL 12
1080 };
1081 const byte kInstruction_add_al_r9_r3_r8_ROR_29[] = {
1082   0x03, 0xeb, 0x78, 0x79 // add al r9 r3 r8 ROR 29
1083 };
1084 const byte kInstruction_add_al_r4_r11_r12_LSL_14[] = {
1085   0x0b, 0xeb, 0x8c, 0x34 // add al r4 r11 r12 LSL 14
1086 };
1087 const byte kInstruction_add_al_r7_r5_r11_ROR_9[] = {
1088   0x05, 0xeb, 0x7b, 0x27 // add al r7 r5 r11 ROR 9
1089 };
1090 const byte kInstruction_add_al_r12_r7_r7_ROR_2[] = {
1091   0x07, 0xeb, 0xb7, 0x0c // add al r12 r7 r7 ROR 2
1092 };
1093 const byte kInstruction_add_al_r3_r6_r9_ROR_24[] = {
1094   0x06, 0xeb, 0x39, 0x63 // add al r3 r6 r9 ROR 24
1095 };
1096 const byte kInstruction_add_al_r13_r14_r9_ROR_12[] = {
1097   0x0e, 0xeb, 0x39, 0x3d // add al r13 r14 r9 ROR 12
1098 };
1099 const byte kInstruction_add_al_r7_r3_r13_ROR_2[] = {
1100   0x03, 0xeb, 0xbd, 0x07 // add al r7 r3 r13 ROR 2
1101 };
1102 const byte kInstruction_add_al_r5_r11_r3_LSL_21[] = {
1103   0x0b, 0xeb, 0x43, 0x55 // add al r5 r11 r3 LSL 21
1104 };
1105 const byte kInstruction_add_al_r12_r9_r9_ROR_17[] = {
1106   0x09, 0xeb, 0x79, 0x4c // add al r12 r9 r9 ROR 17
1107 };
1108 const byte kInstruction_add_al_r0_r12_r13_ROR_3[] = {
1109   0x0c, 0xeb, 0xfd, 0x00 // add al r0 r12 r13 ROR 3
1110 };
1111 const byte kInstruction_add_al_r2_r4_r7_ROR_28[] = {
1112   0x04, 0xeb, 0x37, 0x72 // add al r2 r4 r7 ROR 28
1113 };
1114 const byte kInstruction_add_al_r11_r14_r8_LSL_5[] = {
1115   0x0e, 0xeb, 0x48, 0x1b // add al r11 r14 r8 LSL 5
1116 };
1117 const byte kInstruction_add_al_r14_r3_r14_ROR_11[] = {
1118   0x03, 0xeb, 0xfe, 0x2e // add al r14 r3 r14 ROR 11
1119 };
1120 const byte kInstruction_add_al_r3_r4_r9_LSL_10[] = {
1121   0x04, 0xeb, 0x89, 0x23 // add al r3 r4 r9 LSL 10
1122 };
1123 const byte kInstruction_add_al_r10_r5_r3_ROR_11[] = {
1124   0x05, 0xeb, 0xf3, 0x2a // add al r10 r5 r3 ROR 11
1125 };
1126 const byte kInstruction_add_al_r5_r12_r2_ROR_29[] = {
1127   0x0c, 0xeb, 0x72, 0x75 // add al r5 r12 r2 ROR 29
1128 };
1129 const byte kInstruction_add_al_r12_r10_r8_ROR_29[] = {
1130   0x0a, 0xeb, 0x78, 0x7c // add al r12 r10 r8 ROR 29
1131 };
1132 const byte kInstruction_add_al_r4_r2_r12_ROR_13[] = {
1133   0x02, 0xeb, 0x7c, 0x34 // add al r4 r2 r12 ROR 13
1134 };
1135 const byte kInstruction_add_al_r11_r7_r7_ROR_29[] = {
1136   0x07, 0xeb, 0x77, 0x7b // add al r11 r7 r7 ROR 29
1137 };
1138 const byte kInstruction_add_al_r12_r10_r2_ROR_20[] = {
1139   0x0a, 0xeb, 0x32, 0x5c // add al r12 r10 r2 ROR 20
1140 };
1141 const byte kInstruction_add_al_r0_r11_r3_LSL_6[] = {
1142   0x0b, 0xeb, 0x83, 0x10 // add al r0 r11 r3 LSL 6
1143 };
1144 const byte kInstruction_add_al_r12_r8_r10_ROR_13[] = {
1145   0x08, 0xeb, 0x7a, 0x3c // add al r12 r8 r10 ROR 13
1146 };
1147 const byte kInstruction_add_al_r2_r3_r9_LSL_30[] = {
1148   0x03, 0xeb, 0x89, 0x72 // add al r2 r3 r9 LSL 30
1149 };
1150 const byte kInstruction_add_al_r9_r5_r8_ROR_27[] = {
1151   0x05, 0xeb, 0xf8, 0x69 // add al r9 r5 r8 ROR 27
1152 };
1153 const byte kInstruction_add_al_r7_r3_r12_ROR_16[] = {
1154   0x03, 0xeb, 0x3c, 0x47 // add al r7 r3 r12 ROR 16
1155 };
1156 const byte kInstruction_add_al_r11_r8_r3_LSL_29[] = {
1157   0x08, 0xeb, 0x43, 0x7b // add al r11 r8 r3 LSL 29
1158 };
1159 const byte kInstruction_add_al_r3_r9_r3_LSL_13[] = {
1160   0x09, 0xeb, 0x43, 0x33 // add al r3 r9 r3 LSL 13
1161 };
1162 const byte kInstruction_add_al_r10_r2_r13_LSL_7[] = {
1163   0x02, 0xeb, 0xcd, 0x1a // add al r10 r2 r13 LSL 7
1164 };
1165 const byte kInstruction_add_al_r1_r0_r9_LSL_22[] = {
1166   0x00, 0xeb, 0x89, 0x51 // add al r1 r0 r9 LSL 22
1167 };
1168 const byte kInstruction_add_al_r8_r3_r9_ROR_24[] = {
1169   0x03, 0xeb, 0x39, 0x68 // add al r8 r3 r9 ROR 24
1170 };
1171 const byte kInstruction_add_al_r9_r13_r8_LSL_25[] = {
1172   0x0d, 0xeb, 0x48, 0x69 // add al r9 r13 r8 LSL 25
1173 };
1174 const byte kInstruction_add_al_r7_r2_r13_ROR_16[] = {
1175   0x02, 0xeb, 0x3d, 0x47 // add al r7 r2 r13 ROR 16
1176 };
1177 const byte kInstruction_add_al_r5_r6_r3_LSL_3[] = {
1178   0x06, 0xeb, 0xc3, 0x05 // add al r5 r6 r3 LSL 3
1179 };
1180 const byte kInstruction_add_al_r5_r6_r10_LSL_15[] = {
1181   0x06, 0xeb, 0xca, 0x35 // add al r5 r6 r10 LSL 15
1182 };
1183 const byte kInstruction_add_al_r6_r8_r12_LSL_13[] = {
1184   0x08, 0xeb, 0x4c, 0x36 // add al r6 r8 r12 LSL 13
1185 };
1186 const byte kInstruction_add_al_r1_r9_r11_ROR_7[] = {
1187   0x09, 0xeb, 0xfb, 0x11 // add al r1 r9 r11 ROR 7
1188 };
1189 const byte kInstruction_add_al_r0_r3_r7_LSL_12[] = {
1190   0x03, 0xeb, 0x07, 0x30 // add al r0 r3 r7 LSL 12
1191 };
1192 const byte kInstruction_add_al_r8_r10_r2_ROR_6[] = {
1193   0x0a, 0xeb, 0xb2, 0x18 // add al r8 r10 r2 ROR 6
1194 };
1195 const byte kInstruction_add_al_r2_r11_r5_LSL_10[] = {
1196   0x0b, 0xeb, 0x85, 0x22 // add al r2 r11 r5 LSL 10
1197 };
1198 const byte kInstruction_add_al_r13_r5_r4_LSL_15[] = {
1199   0x05, 0xeb, 0xc4, 0x3d // add al r13 r5 r4 LSL 15
1200 };
1201 const byte kInstruction_add_al_r6_r1_r12_LSL_27[] = {
1202   0x01, 0xeb, 0xcc, 0x66 // add al r6 r1 r12 LSL 27
1203 };
1204 const byte kInstruction_add_al_r14_r3_r5_ROR_19[] = {
1205   0x03, 0xeb, 0xf5, 0x4e // add al r14 r3 r5 ROR 19
1206 };
1207 const byte kInstruction_add_al_r14_r0_r13_LSL_12[] = {
1208   0x00, 0xeb, 0x0d, 0x3e // add al r14 r0 r13 LSL 12
1209 };
1210 const byte kInstruction_add_al_r11_r2_r8_ROR_15[] = {
1211   0x02, 0xeb, 0xf8, 0x3b // add al r11 r2 r8 ROR 15
1212 };
1213 const byte kInstruction_add_al_r0_r1_r3_ROR_1[] = {
1214   0x01, 0xeb, 0x73, 0x00 // add al r0 r1 r3 ROR 1
1215 };
1216 const byte kInstruction_add_al_r13_r11_r11_ROR_31[] = {
1217   0x0b, 0xeb, 0xfb, 0x7d // add al r13 r11 r11 ROR 31
1218 };
1219 const byte kInstruction_add_al_r1_r4_r4_LSL_20[] = {
1220   0x04, 0xeb, 0x04, 0x51 // add al r1 r4 r4 LSL 20
1221 };
1222 const byte kInstruction_add_al_r2_r7_r6_ROR_7[] = {
1223   0x07, 0xeb, 0xf6, 0x12 // add al r2 r7 r6 ROR 7
1224 };
1225 const byte kInstruction_add_al_r0_r3_r11_ROR_21[] = {
1226   0x03, 0xeb, 0x7b, 0x50 // add al r0 r3 r11 ROR 21
1227 };
1228 const byte kInstruction_add_al_r14_r9_r6_LSL_20[] = {
1229   0x09, 0xeb, 0x06, 0x5e // add al r14 r9 r6 LSL 20
1230 };
1231 const byte kInstruction_add_al_r11_r2_r14_ROR_1[] = {
1232   0x02, 0xeb, 0x7e, 0x0b // add al r11 r2 r14 ROR 1
1233 };
1234 const byte kInstruction_add_al_r13_r10_r8_ROR_22[] = {
1235   0x0a, 0xeb, 0xb8, 0x5d // add al r13 r10 r8 ROR 22
1236 };
1237 const byte kInstruction_add_al_r11_r2_r2_LSL_27[] = {
1238   0x02, 0xeb, 0xc2, 0x6b // add al r11 r2 r2 LSL 27
1239 };
1240 const byte kInstruction_add_al_r3_r2_r14_LSL_6[] = {
1241   0x02, 0xeb, 0x8e, 0x13 // add al r3 r2 r14 LSL 6
1242 };
1243 const byte kInstruction_add_al_r8_r3_r0_LSL_20[] = {
1244   0x03, 0xeb, 0x00, 0x58 // add al r8 r3 r0 LSL 20
1245 };
1246 const byte kInstruction_add_al_r8_r14_r11_ROR_19[] = {
1247   0x0e, 0xeb, 0xfb, 0x48 // add al r8 r14 r11 ROR 19
1248 };
1249 const byte kInstruction_add_al_r7_r14_r0_ROR_8[] = {
1250   0x0e, 0xeb, 0x30, 0x27 // add al r7 r14 r0 ROR 8
1251 };
1252 const byte kInstruction_add_al_r6_r6_r3_ROR_13[] = {
1253   0x06, 0xeb, 0x73, 0x36 // add al r6 r6 r3 ROR 13
1254 };
1255 const byte kInstruction_add_al_r1_r9_r3_LSL_10[] = {
1256   0x09, 0xeb, 0x83, 0x21 // add al r1 r9 r3 LSL 10
1257 };
1258 const byte kInstruction_add_al_r14_r12_r14_ROR_13[] = {
1259   0x0c, 0xeb, 0x7e, 0x3e // add al r14 r12 r14 ROR 13
1260 };
1261 const byte kInstruction_add_al_r8_r5_r13_LSL_19[] = {
1262   0x05, 0xeb, 0xcd, 0x48 // add al r8 r5 r13 LSL 19
1263 };
1264 const byte kInstruction_add_al_r6_r10_r10_ROR_3[] = {
1265   0x0a, 0xeb, 0xfa, 0x06 // add al r6 r10 r10 ROR 3
1266 };
1267 const byte kInstruction_add_al_r9_r5_r1_ROR_19[] = {
1268   0x05, 0xeb, 0xf1, 0x49 // add al r9 r5 r1 ROR 19
1269 };
1270 const byte kInstruction_add_al_r10_r8_r1_LSL_12[] = {
1271   0x08, 0xeb, 0x01, 0x3a // add al r10 r8 r1 LSL 12
1272 };
1273 const byte kInstruction_add_al_r3_r0_r6_ROR_31[] = {
1274   0x00, 0xeb, 0xf6, 0x73 // add al r3 r0 r6 ROR 31
1275 };
1276 const byte kInstruction_add_al_r6_r6_r5_ROR_1[] = {
1277   0x06, 0xeb, 0x75, 0x06 // add al r6 r6 r5 ROR 1
1278 };
1279 const byte kInstruction_add_al_r3_r0_r0_LSL_18[] = {
1280   0x00, 0xeb, 0x80, 0x43 // add al r3 r0 r0 LSL 18
1281 };
1282 const byte kInstruction_add_al_r14_r12_r1_LSL_11[] = {
1283   0x0c, 0xeb, 0xc1, 0x2e // add al r14 r12 r1 LSL 11
1284 };
1285 const byte kInstruction_add_al_r4_r13_r1_ROR_17[] = {
1286   0x0d, 0xeb, 0x71, 0x44 // add al r4 r13 r1 ROR 17
1287 };
1288 const byte kInstruction_add_al_r1_r13_r0_ROR_10[] = {
1289   0x0d, 0xeb, 0xb0, 0x21 // add al r1 r13 r0 ROR 10
1290 };
1291 const byte kInstruction_add_al_r8_r0_r0_LSL_11[] = {
1292   0x00, 0xeb, 0xc0, 0x28 // add al r8 r0 r0 LSL 11
1293 };
1294 const byte kInstruction_add_al_r3_r3_r10_ROR_18[] = {
1295   0x03, 0xeb, 0xba, 0x43 // add al r3 r3 r10 ROR 18
1296 };
1297 const byte kInstruction_add_al_r12_r8_r9_LSL_7[] = {
1298   0x08, 0xeb, 0xc9, 0x1c // add al r12 r8 r9 LSL 7
1299 };
1300 const byte kInstruction_add_al_r3_r3_r11_ROR_10[] = {
1301   0x03, 0xeb, 0xbb, 0x23 // add al r3 r3 r11 ROR 10
1302 };
1303 const byte kInstruction_add_al_r3_r14_r6_ROR_5[] = {
1304   0x0e, 0xeb, 0x76, 0x13 // add al r3 r14 r6 ROR 5
1305 };
1306 const byte kInstruction_add_al_r7_r0_r12_ROR_7[] = {
1307   0x00, 0xeb, 0xfc, 0x17 // add al r7 r0 r12 ROR 7
1308 };
1309 const byte kInstruction_add_al_r12_r2_r8_LSL_13[] = {
1310   0x02, 0xeb, 0x48, 0x3c // add al r12 r2 r8 LSL 13
1311 };
1312 const byte kInstruction_add_al_r10_r1_r0_ROR_8[] = {
1313   0x01, 0xeb, 0x30, 0x2a // add al r10 r1 r0 ROR 8
1314 };
1315 const byte kInstruction_add_al_r6_r12_r6_LSL_30[] = {
1316   0x0c, 0xeb, 0x86, 0x76 // add al r6 r12 r6 LSL 30
1317 };
1318 const byte kInstruction_add_al_r6_r3_r7_ROR_11[] = {
1319   0x03, 0xeb, 0xf7, 0x26 // add al r6 r3 r7 ROR 11
1320 };
1321 const byte kInstruction_add_al_r5_r12_r7_ROR_28[] = {
1322   0x0c, 0xeb, 0x37, 0x75 // add al r5 r12 r7 ROR 28
1323 };
1324 const byte kInstruction_add_al_r4_r12_r10_LSL_6[] = {
1325   0x0c, 0xeb, 0x8a, 0x14 // add al r4 r12 r10 LSL 6
1326 };
1327 const byte kInstruction_add_al_r11_r5_r1_ROR_3[] = {
1328   0x05, 0xeb, 0xf1, 0x0b // add al r11 r5 r1 ROR 3
1329 };
1330 const byte kInstruction_add_al_r9_r3_r0_ROR_26[] = {
1331   0x03, 0xeb, 0xb0, 0x69 // add al r9 r3 r0 ROR 26
1332 };
1333 const byte kInstruction_add_al_r8_r1_r10_LSL_13[] = {
1334   0x01, 0xeb, 0x4a, 0x38 // add al r8 r1 r10 LSL 13
1335 };
1336 const byte kInstruction_add_al_r14_r13_r14_ROR_20[] = {
1337   0x0d, 0xeb, 0x3e, 0x5e // add al r14 r13 r14 ROR 20
1338 };
1339 const byte kInstruction_add_al_r2_r3_r8_LSL_7[] = {
1340   0x03, 0xeb, 0xc8, 0x12 // add al r2 r3 r8 LSL 7
1341 };
1342 const byte kInstruction_add_al_r0_r11_r10_ROR_4[] = {
1343   0x0b, 0xeb, 0x3a, 0x10 // add al r0 r11 r10 ROR 4
1344 };
1345 const byte kInstruction_add_al_r1_r6_r9_LSL_27[] = {
1346   0x06, 0xeb, 0xc9, 0x61 // add al r1 r6 r9 LSL 27
1347 };
1348 const byte kInstruction_add_al_r5_r2_r4_ROR_10[] = {
1349   0x02, 0xeb, 0xb4, 0x25 // add al r5 r2 r4 ROR 10
1350 };
1351 const byte kInstruction_add_al_r13_r8_r9_LSL_20[] = {
1352   0x08, 0xeb, 0x09, 0x5d // add al r13 r8 r9 LSL 20
1353 };
1354 const byte kInstruction_add_al_r11_r7_r0_LSL_20[] = {
1355   0x07, 0xeb, 0x00, 0x5b // add al r11 r7 r0 LSL 20
1356 };
1357 const byte kInstruction_add_al_r2_r9_r1_LSL_30[] = {
1358   0x09, 0xeb, 0x81, 0x72 // add al r2 r9 r1 LSL 30
1359 };
1360 const byte kInstruction_add_al_r5_r0_r5_ROR_24[] = {
1361   0x00, 0xeb, 0x35, 0x65 // add al r5 r0 r5 ROR 24
1362 };
1363 const byte kInstruction_add_al_r7_r4_r10_LSL_17[] = {
1364   0x04, 0xeb, 0x4a, 0x47 // add al r7 r4 r10 LSL 17
1365 };
1366 const byte kInstruction_add_al_r11_r3_r7_ROR_19[] = {
1367   0x03, 0xeb, 0xf7, 0x4b // add al r11 r3 r7 ROR 19
1368 };
1369 const byte kInstruction_add_al_r8_r2_r6_ROR_1[] = {
1370   0x02, 0xeb, 0x76, 0x08 // add al r8 r2 r6 ROR 1
1371 };
1372 const byte kInstruction_add_al_r5_r1_r8_ROR_25[] = {
1373   0x01, 0xeb, 0x78, 0x65 // add al r5 r1 r8 ROR 25
1374 };
1375 const byte kInstruction_add_al_r1_r4_r12_LSL_28[] = {
1376   0x04, 0xeb, 0x0c, 0x71 // add al r1 r4 r12 LSL 28
1377 };
1378 const byte kInstruction_add_al_r12_r1_r4_LSL_14[] = {
1379   0x01, 0xeb, 0x84, 0x3c // add al r12 r1 r4 LSL 14
1380 };
1381 const byte kInstruction_add_al_r9_r12_r13_LSL_25[] = {
1382   0x0c, 0xeb, 0x4d, 0x69 // add al r9 r12 r13 LSL 25
1383 };
1384 const byte kInstruction_add_al_r11_r14_r5_ROR_12[] = {
1385   0x0e, 0xeb, 0x35, 0x3b // add al r11 r14 r5 ROR 12
1386 };
1387 const byte kInstruction_add_al_r3_r8_r13_LSL_4[] = {
1388   0x08, 0xeb, 0x0d, 0x13 // add al r3 r8 r13 LSL 4
1389 };
1390 const byte kInstruction_add_al_r9_r14_r10_ROR_12[] = {
1391   0x0e, 0xeb, 0x3a, 0x39 // add al r9 r14 r10 ROR 12
1392 };
1393 const byte kInstruction_add_al_r0_r13_r1_ROR_30[] = {
1394   0x0d, 0xeb, 0xb1, 0x70 // add al r0 r13 r1 ROR 30
1395 };
1396 const byte kInstruction_add_al_r11_r9_r9_ROR_23[] = {
1397   0x09, 0xeb, 0xf9, 0x5b // add al r11 r9 r9 ROR 23
1398 };
1399 const byte kInstruction_add_al_r5_r2_r8_ROR_6[] = {
1400   0x02, 0xeb, 0xb8, 0x15 // add al r5 r2 r8 ROR 6
1401 };
1402 const byte kInstruction_add_al_r8_r14_r10_ROR_23[] = {
1403   0x0e, 0xeb, 0xfa, 0x58 // add al r8 r14 r10 ROR 23
1404 };
1405 const byte kInstruction_add_al_r14_r12_r2_LSL_26[] = {
1406   0x0c, 0xeb, 0x82, 0x6e // add al r14 r12 r2 LSL 26
1407 };
1408 const byte kInstruction_add_al_r2_r9_r10_LSL_12[] = {
1409   0x09, 0xeb, 0x0a, 0x32 // add al r2 r9 r10 LSL 12
1410 };
1411 const byte kInstruction_add_al_r3_r1_r11_LSL_17[] = {
1412   0x01, 0xeb, 0x4b, 0x43 // add al r3 r1 r11 LSL 17
1413 };
1414 const byte kInstruction_add_al_r3_r8_r10_LSL_23[] = {
1415   0x08, 0xeb, 0xca, 0x53 // add al r3 r8 r10 LSL 23
1416 };
1417 const byte kInstruction_add_al_r3_r6_r4_ROR_31[] = {
1418   0x06, 0xeb, 0xf4, 0x73 // add al r3 r6 r4 ROR 31
1419 };
1420 const byte kInstruction_add_al_r3_r5_r10_LSL_22[] = {
1421   0x05, 0xeb, 0x8a, 0x53 // add al r3 r5 r10 LSL 22
1422 };
1423 const byte kInstruction_add_al_r0_r3_r10_ROR_1[] = {
1424   0x03, 0xeb, 0x7a, 0x00 // add al r0 r3 r10 ROR 1
1425 };
1426 const byte kInstruction_add_al_r5_r9_r7_ROR_9[] = {
1427   0x09, 0xeb, 0x77, 0x25 // add al r5 r9 r7 ROR 9
1428 };
1429 const byte kInstruction_add_al_r11_r2_r2_LSL_24[] = {
1430   0x02, 0xeb, 0x02, 0x6b // add al r11 r2 r2 LSL 24
1431 };
1432 const byte kInstruction_add_al_r10_r11_r7_LSL_29[] = {
1433   0x0b, 0xeb, 0x47, 0x7a // add al r10 r11 r7 LSL 29
1434 };
1435 const byte kInstruction_add_al_r5_r4_r10_ROR_26[] = {
1436   0x04, 0xeb, 0xba, 0x65 // add al r5 r4 r10 ROR 26
1437 };
1438 const byte kInstruction_add_al_r8_r8_r7_LSL_20[] = {
1439   0x08, 0xeb, 0x07, 0x58 // add al r8 r8 r7 LSL 20
1440 };
1441 const byte kInstruction_add_al_r12_r6_r5_ROR_20[] = {
1442   0x06, 0xeb, 0x35, 0x5c // add al r12 r6 r5 ROR 20
1443 };
1444 const byte kInstruction_add_al_r9_r4_r7_LSL_21[] = {
1445   0x04, 0xeb, 0x47, 0x59 // add al r9 r4 r7 LSL 21
1446 };
1447 const byte kInstruction_add_al_r8_r2_r7_LSL_4[] = {
1448   0x02, 0xeb, 0x07, 0x18 // add al r8 r2 r7 LSL 4
1449 };
1450 const byte kInstruction_add_al_r9_r14_r12_LSL_8[] = {
1451   0x0e, 0xeb, 0x0c, 0x29 // add al r9 r14 r12 LSL 8
1452 };
1453 const byte kInstruction_add_al_r1_r12_r8_ROR_25[] = {
1454   0x0c, 0xeb, 0x78, 0x61 // add al r1 r12 r8 ROR 25
1455 };
1456 const byte kInstruction_add_al_r4_r1_r4_ROR_26[] = {
1457   0x01, 0xeb, 0xb4, 0x64 // add al r4 r1 r4 ROR 26
1458 };
1459 const byte kInstruction_add_al_r12_r6_r14_ROR_22[] = {
1460   0x06, 0xeb, 0xbe, 0x5c // add al r12 r6 r14 ROR 22
1461 };
1462 const byte kInstruction_add_al_r2_r6_r9_LSL_17[] = {
1463   0x06, 0xeb, 0x49, 0x42 // add al r2 r6 r9 LSL 17
1464 };
1465 const byte kInstruction_add_al_r8_r8_r1_ROR_15[] = {
1466   0x08, 0xeb, 0xf1, 0x38 // add al r8 r8 r1 ROR 15
1467 };
1468 const byte kInstruction_add_al_r13_r10_r8_ROR_27[] = {
1469   0x0a, 0xeb, 0xf8, 0x6d // add al r13 r10 r8 ROR 27
1470 };
1471 const byte kInstruction_add_al_r1_r10_r10_LSL_27[] = {
1472   0x0a, 0xeb, 0xca, 0x61 // add al r1 r10 r10 LSL 27
1473 };
1474 const byte kInstruction_add_al_r7_r1_r11_ROR_26[] = {
1475   0x01, 0xeb, 0xbb, 0x67 // add al r7 r1 r11 ROR 26
1476 };
1477 const byte kInstruction_add_al_r13_r14_r11_ROR_29[] = {
1478   0x0e, 0xeb, 0x7b, 0x7d // add al r13 r14 r11 ROR 29
1479 };
1480 const byte kInstruction_add_al_r5_r3_r14_ROR_7[] = {
1481   0x03, 0xeb, 0xfe, 0x15 // add al r5 r3 r14 ROR 7
1482 };
1483 const byte kInstruction_add_al_r2_r12_r9_LSL_22[] = {
1484   0x0c, 0xeb, 0x89, 0x52 // add al r2 r12 r9 LSL 22
1485 };
1486 const byte kInstruction_add_al_r4_r2_r9_LSL_12[] = {
1487   0x02, 0xeb, 0x09, 0x34 // add al r4 r2 r9 LSL 12
1488 };
1489 const byte kInstruction_add_al_r6_r7_r5_LSL_8[] = {
1490   0x07, 0xeb, 0x05, 0x26 // add al r6 r7 r5 LSL 8
1491 };
1492 const byte kInstruction_add_al_r14_r11_r6_LSL_10[] = {
1493   0x0b, 0xeb, 0x86, 0x2e // add al r14 r11 r6 LSL 10
1494 };
1495 const byte kInstruction_add_al_r11_r10_r7_ROR_10[] = {
1496   0x0a, 0xeb, 0xb7, 0x2b // add al r11 r10 r7 ROR 10
1497 };
1498 const byte kInstruction_add_al_r9_r11_r5_ROR_8[] = {
1499   0x0b, 0xeb, 0x35, 0x29 // add al r9 r11 r5 ROR 8
1500 };
1501 const byte kInstruction_add_al_r13_r12_r0_ROR_1[] = {
1502   0x0c, 0xeb, 0x70, 0x0d // add al r13 r12 r0 ROR 1
1503 };
1504 const byte kInstruction_add_al_r7_r9_r3_ROR_1[] = {
1505   0x09, 0xeb, 0x73, 0x07 // add al r7 r9 r3 ROR 1
1506 };
1507 const byte kInstruction_add_al_r10_r2_r13_LSL_17[] = {
1508   0x02, 0xeb, 0x4d, 0x4a // add al r10 r2 r13 LSL 17
1509 };
1510 const byte kInstruction_add_al_r10_r6_r6_LSL_16[] = {
1511   0x06, 0xeb, 0x06, 0x4a // add al r10 r6 r6 LSL 16
1512 };
1513 const byte kInstruction_add_al_r5_r8_r9_ROR_25[] = {
1514   0x08, 0xeb, 0x79, 0x65 // add al r5 r8 r9 ROR 25
1515 };
1516 const byte kInstruction_add_al_r14_r13_r2_LSL_23[] = {
1517   0x0d, 0xeb, 0xc2, 0x5e // add al r14 r13 r2 LSL 23
1518 };
1519 const byte kInstruction_add_al_r5_r13_r6_ROR_13[] = {
1520   0x0d, 0xeb, 0x76, 0x35 // add al r5 r13 r6 ROR 13
1521 };
1522 const byte kInstruction_add_al_r6_r14_r5_LSL_3[] = {
1523   0x0e, 0xeb, 0xc5, 0x06 // add al r6 r14 r5 LSL 3
1524 };
1525 const byte kInstruction_add_al_r11_r8_r14_ROR_2[] = {
1526   0x08, 0xeb, 0xbe, 0x0b // add al r11 r8 r14 ROR 2
1527 };
1528 const byte kInstruction_add_al_r3_r11_r13_ROR_25[] = {
1529   0x0b, 0xeb, 0x7d, 0x63 // add al r3 r11 r13 ROR 25
1530 };
1531 const byte kInstruction_add_al_r2_r1_r6_LSL_3[] = {
1532   0x01, 0xeb, 0xc6, 0x02 // add al r2 r1 r6 LSL 3
1533 };
1534 const byte kInstruction_add_al_r1_r7_r3_ROR_30[] = {
1535   0x07, 0xeb, 0xb3, 0x71 // add al r1 r7 r3 ROR 30
1536 };
1537 const TestResult kReferenceadd[] = {
1538   {
1539     ARRAY_SIZE(kInstruction_add_al_r12_r4_r7_LSL_7),
1540     kInstruction_add_al_r12_r4_r7_LSL_7,
1541   },
1542   {
1543     ARRAY_SIZE(kInstruction_add_al_r7_r8_r10_ROR_21),
1544     kInstruction_add_al_r7_r8_r10_ROR_21,
1545   },
1546   {
1547     ARRAY_SIZE(kInstruction_add_al_r5_r5_r3_ROR_12),
1548     kInstruction_add_al_r5_r5_r3_ROR_12,
1549   },
1550   {
1551     ARRAY_SIZE(kInstruction_add_al_r14_r13_r10_LSL_22),
1552     kInstruction_add_al_r14_r13_r10_LSL_22,
1553   },
1554   {
1555     ARRAY_SIZE(kInstruction_add_al_r9_r10_r11_ROR_2),
1556     kInstruction_add_al_r9_r10_r11_ROR_2,
1557   },
1558   {
1559     ARRAY_SIZE(kInstruction_add_al_r14_r11_r5_LSL_15),
1560     kInstruction_add_al_r14_r11_r5_LSL_15,
1561   },
1562   {
1563     ARRAY_SIZE(kInstruction_add_al_r2_r2_r7_LSL_28),
1564     kInstruction_add_al_r2_r2_r7_LSL_28,
1565   },
1566   {
1567     ARRAY_SIZE(kInstruction_add_al_r2_r11_r1_ROR_9),
1568     kInstruction_add_al_r2_r11_r1_ROR_9,
1569   },
1570   {
1571     ARRAY_SIZE(kInstruction_add_al_r11_r2_r8_LSL_4),
1572     kInstruction_add_al_r11_r2_r8_LSL_4,
1573   },
1574   {
1575     ARRAY_SIZE(kInstruction_add_al_r6_r13_r3_ROR_1),
1576     kInstruction_add_al_r6_r13_r3_ROR_1,
1577   },
1578   {
1579     ARRAY_SIZE(kInstruction_add_al_r13_r2_r7_LSL_11),
1580     kInstruction_add_al_r13_r2_r7_LSL_11,
1581   },
1582   {
1583     ARRAY_SIZE(kInstruction_add_al_r9_r9_r1_LSL_29),
1584     kInstruction_add_al_r9_r9_r1_LSL_29,
1585   },
1586   {
1587     ARRAY_SIZE(kInstruction_add_al_r2_r12_r1_LSL_15),
1588     kInstruction_add_al_r2_r12_r1_LSL_15,
1589   },
1590   {
1591     ARRAY_SIZE(kInstruction_add_al_r0_r2_r11_LSL_10),
1592     kInstruction_add_al_r0_r2_r11_LSL_10,
1593   },
1594   {
1595     ARRAY_SIZE(kInstruction_add_al_r11_r12_r8_LSL_13),
1596     kInstruction_add_al_r11_r12_r8_LSL_13,
1597   },
1598   {
1599     ARRAY_SIZE(kInstruction_add_al_r3_r1_r6_ROR_3),
1600     kInstruction_add_al_r3_r1_r6_ROR_3,
1601   },
1602   {
1603     ARRAY_SIZE(kInstruction_add_al_r5_r9_r11_LSL_16),
1604     kInstruction_add_al_r5_r9_r11_LSL_16,
1605   },
1606   {
1607     ARRAY_SIZE(kInstruction_add_al_r2_r0_r6_ROR_3),
1608     kInstruction_add_al_r2_r0_r6_ROR_3,
1609   },
1610   {
1611     ARRAY_SIZE(kInstruction_add_al_r7_r10_r10_ROR_19),
1612     kInstruction_add_al_r7_r10_r10_ROR_19,
1613   },
1614   {
1615     ARRAY_SIZE(kInstruction_add_al_r14_r12_r11_LSL_27),
1616     kInstruction_add_al_r14_r12_r11_LSL_27,
1617   },
1618   {
1619     ARRAY_SIZE(kInstruction_add_al_r2_r13_r1_LSL_3),
1620     kInstruction_add_al_r2_r13_r1_LSL_3,
1621   },
1622   {
1623     ARRAY_SIZE(kInstruction_add_al_r5_r3_r2_LSL_11),
1624     kInstruction_add_al_r5_r3_r2_LSL_11,
1625   },
1626   {
1627     ARRAY_SIZE(kInstruction_add_al_r10_r3_r6_ROR_1),
1628     kInstruction_add_al_r10_r3_r6_ROR_1,
1629   },
1630   {
1631     ARRAY_SIZE(kInstruction_add_al_r6_r14_r2_ROR_13),
1632     kInstruction_add_al_r6_r14_r2_ROR_13,
1633   },
1634   {
1635     ARRAY_SIZE(kInstruction_add_al_r9_r8_r6_ROR_13),
1636     kInstruction_add_al_r9_r8_r6_ROR_13,
1637   },
1638   {
1639     ARRAY_SIZE(kInstruction_add_al_r12_r5_r8_LSL_22),
1640     kInstruction_add_al_r12_r5_r8_LSL_22,
1641   },
1642   {
1643     ARRAY_SIZE(kInstruction_add_al_r11_r8_r11_LSL_3),
1644     kInstruction_add_al_r11_r8_r11_LSL_3,
1645   },
1646   {
1647     ARRAY_SIZE(kInstruction_add_al_r0_r9_r4_LSL_24),
1648     kInstruction_add_al_r0_r9_r4_LSL_24,
1649   },
1650   {
1651     ARRAY_SIZE(kInstruction_add_al_r2_r2_r7_ROR_30),
1652     kInstruction_add_al_r2_r2_r7_ROR_30,
1653   },
1654   {
1655     ARRAY_SIZE(kInstruction_add_al_r9_r3_r10_LSL_27),
1656     kInstruction_add_al_r9_r3_r10_LSL_27,
1657   },
1658   {
1659     ARRAY_SIZE(kInstruction_add_al_r10_r4_r11_LSL_23),
1660     kInstruction_add_al_r10_r4_r11_LSL_23,
1661   },
1662   {
1663     ARRAY_SIZE(kInstruction_add_al_r12_r5_r11_ROR_8),
1664     kInstruction_add_al_r12_r5_r11_ROR_8,
1665   },
1666   {
1667     ARRAY_SIZE(kInstruction_add_al_r6_r6_r6_ROR_4),
1668     kInstruction_add_al_r6_r6_r6_ROR_4,
1669   },
1670   {
1671     ARRAY_SIZE(kInstruction_add_al_r5_r5_r10_ROR_29),
1672     kInstruction_add_al_r5_r5_r10_ROR_29,
1673   },
1674   {
1675     ARRAY_SIZE(kInstruction_add_al_r12_r12_r1_LSL_8),
1676     kInstruction_add_al_r12_r12_r1_LSL_8,
1677   },
1678   {
1679     ARRAY_SIZE(kInstruction_add_al_r5_r3_r1_LSL_4),
1680     kInstruction_add_al_r5_r3_r1_LSL_4,
1681   },
1682   {
1683     ARRAY_SIZE(kInstruction_add_al_r4_r11_r7_LSL_17),
1684     kInstruction_add_al_r4_r11_r7_LSL_17,
1685   },
1686   {
1687     ARRAY_SIZE(kInstruction_add_al_r12_r8_r3_LSL_2),
1688     kInstruction_add_al_r12_r8_r3_LSL_2,
1689   },
1690   {
1691     ARRAY_SIZE(kInstruction_add_al_r2_r11_r3_LSL_13),
1692     kInstruction_add_al_r2_r11_r3_LSL_13,
1693   },
1694   {
1695     ARRAY_SIZE(kInstruction_add_al_r11_r11_r4_ROR_19),
1696     kInstruction_add_al_r11_r11_r4_ROR_19,
1697   },
1698   {
1699     ARRAY_SIZE(kInstruction_add_al_r5_r1_r3_LSL_4),
1700     kInstruction_add_al_r5_r1_r3_LSL_4,
1701   },
1702   {
1703     ARRAY_SIZE(kInstruction_add_al_r2_r5_r7_ROR_20),
1704     kInstruction_add_al_r2_r5_r7_ROR_20,
1705   },
1706   {
1707     ARRAY_SIZE(kInstruction_add_al_r8_r8_r1_LSL_24),
1708     kInstruction_add_al_r8_r8_r1_LSL_24,
1709   },
1710   {
1711     ARRAY_SIZE(kInstruction_add_al_r7_r1_r0_LSL_11),
1712     kInstruction_add_al_r7_r1_r0_LSL_11,
1713   },
1714   {
1715     ARRAY_SIZE(kInstruction_add_al_r10_r5_r0_LSL_17),
1716     kInstruction_add_al_r10_r5_r0_LSL_17,
1717   },
1718   {
1719     ARRAY_SIZE(kInstruction_add_al_r14_r13_r13_ROR_18),
1720     kInstruction_add_al_r14_r13_r13_ROR_18,
1721   },
1722   {
1723     ARRAY_SIZE(kInstruction_add_al_r8_r3_r11_LSL_4),
1724     kInstruction_add_al_r8_r3_r11_LSL_4,
1725   },
1726   {
1727     ARRAY_SIZE(kInstruction_add_al_r1_r11_r10_LSL_2),
1728     kInstruction_add_al_r1_r11_r10_LSL_2,
1729   },
1730   {
1731     ARRAY_SIZE(kInstruction_add_al_r0_r2_r11_LSL_25),
1732     kInstruction_add_al_r0_r2_r11_LSL_25,
1733   },
1734   {
1735     ARRAY_SIZE(kInstruction_add_al_r0_r1_r12_LSL_7),
1736     kInstruction_add_al_r0_r1_r12_LSL_7,
1737   },
1738   {
1739     ARRAY_SIZE(kInstruction_add_al_r5_r0_r8_LSL_19),
1740     kInstruction_add_al_r5_r0_r8_LSL_19,
1741   },
1742   {
1743     ARRAY_SIZE(kInstruction_add_al_r1_r5_r8_ROR_16),
1744     kInstruction_add_al_r1_r5_r8_ROR_16,
1745   },
1746   {
1747     ARRAY_SIZE(kInstruction_add_al_r5_r11_r0_LSL_7),
1748     kInstruction_add_al_r5_r11_r0_LSL_7,
1749   },
1750   {
1751     ARRAY_SIZE(kInstruction_add_al_r4_r5_r9_LSL_28),
1752     kInstruction_add_al_r4_r5_r9_LSL_28,
1753   },
1754   {
1755     ARRAY_SIZE(kInstruction_add_al_r2_r6_r0_ROR_5),
1756     kInstruction_add_al_r2_r6_r0_ROR_5,
1757   },
1758   {
1759     ARRAY_SIZE(kInstruction_add_al_r8_r13_r4_ROR_19),
1760     kInstruction_add_al_r8_r13_r4_ROR_19,
1761   },
1762   {
1763     ARRAY_SIZE(kInstruction_add_al_r10_r11_r4_LSL_27),
1764     kInstruction_add_al_r10_r11_r4_LSL_27,
1765   },
1766   {
1767     ARRAY_SIZE(kInstruction_add_al_r2_r8_r10_ROR_12),
1768     kInstruction_add_al_r2_r8_r10_ROR_12,
1769   },
1770   {
1771     ARRAY_SIZE(kInstruction_add_al_r8_r11_r8_ROR_30),
1772     kInstruction_add_al_r8_r11_r8_ROR_30,
1773   },
1774   {
1775     ARRAY_SIZE(kInstruction_add_al_r7_r12_r14_LSL_21),
1776     kInstruction_add_al_r7_r12_r14_LSL_21,
1777   },
1778   {
1779     ARRAY_SIZE(kInstruction_add_al_r1_r7_r14_LSL_18),
1780     kInstruction_add_al_r1_r7_r14_LSL_18,
1781   },
1782   {
1783     ARRAY_SIZE(kInstruction_add_al_r1_r2_r11_ROR_26),
1784     kInstruction_add_al_r1_r2_r11_ROR_26,
1785   },
1786   {
1787     ARRAY_SIZE(kInstruction_add_al_r12_r10_r0_ROR_10),
1788     kInstruction_add_al_r12_r10_r0_ROR_10,
1789   },
1790   {
1791     ARRAY_SIZE(kInstruction_add_al_r4_r4_r10_ROR_22),
1792     kInstruction_add_al_r4_r4_r10_ROR_22,
1793   },
1794   {
1795     ARRAY_SIZE(kInstruction_add_al_r10_r10_r11_LSL_25),
1796     kInstruction_add_al_r10_r10_r11_LSL_25,
1797   },
1798   {
1799     ARRAY_SIZE(kInstruction_add_al_r5_r11_r12_LSL_20),
1800     kInstruction_add_al_r5_r11_r12_LSL_20,
1801   },
1802   {
1803     ARRAY_SIZE(kInstruction_add_al_r6_r14_r7_LSL_26),
1804     kInstruction_add_al_r6_r14_r7_LSL_26,
1805   },
1806   {
1807     ARRAY_SIZE(kInstruction_add_al_r10_r3_r3_LSL_10),
1808     kInstruction_add_al_r10_r3_r3_LSL_10,
1809   },
1810   {
1811     ARRAY_SIZE(kInstruction_add_al_r11_r3_r5_LSL_24),
1812     kInstruction_add_al_r11_r3_r5_LSL_24,
1813   },
1814   {
1815     ARRAY_SIZE(kInstruction_add_al_r9_r5_r10_ROR_23),
1816     kInstruction_add_al_r9_r5_r10_ROR_23,
1817   },
1818   {
1819     ARRAY_SIZE(kInstruction_add_al_r4_r6_r5_ROR_28),
1820     kInstruction_add_al_r4_r6_r5_ROR_28,
1821   },
1822   {
1823     ARRAY_SIZE(kInstruction_add_al_r9_r10_r4_ROR_26),
1824     kInstruction_add_al_r9_r10_r4_ROR_26,
1825   },
1826   {
1827     ARRAY_SIZE(kInstruction_add_al_r9_r0_r9_LSL_2),
1828     kInstruction_add_al_r9_r0_r9_LSL_2,
1829   },
1830   {
1831     ARRAY_SIZE(kInstruction_add_al_r4_r12_r8_LSL_23),
1832     kInstruction_add_al_r4_r12_r8_LSL_23,
1833   },
1834   {
1835     ARRAY_SIZE(kInstruction_add_al_r7_r9_r11_LSL_18),
1836     kInstruction_add_al_r7_r9_r11_LSL_18,
1837   },
1838   {
1839     ARRAY_SIZE(kInstruction_add_al_r5_r2_r3_LSL_19),
1840     kInstruction_add_al_r5_r2_r3_LSL_19,
1841   },
1842   {
1843     ARRAY_SIZE(kInstruction_add_al_r5_r5_r1_ROR_10),
1844     kInstruction_add_al_r5_r5_r1_ROR_10,
1845   },
1846   {
1847     ARRAY_SIZE(kInstruction_add_al_r3_r0_r7_ROR_27),
1848     kInstruction_add_al_r3_r0_r7_ROR_27,
1849   },
1850   {
1851     ARRAY_SIZE(kInstruction_add_al_r8_r12_r8_ROR_14),
1852     kInstruction_add_al_r8_r12_r8_ROR_14,
1853   },
1854   {
1855     ARRAY_SIZE(kInstruction_add_al_r3_r8_r2_LSL_25),
1856     kInstruction_add_al_r3_r8_r2_LSL_25,
1857   },
1858   {
1859     ARRAY_SIZE(kInstruction_add_al_r8_r5_r8_LSL_24),
1860     kInstruction_add_al_r8_r5_r8_LSL_24,
1861   },
1862   {
1863     ARRAY_SIZE(kInstruction_add_al_r10_r2_r9_LSL_23),
1864     kInstruction_add_al_r10_r2_r9_LSL_23,
1865   },
1866   {
1867     ARRAY_SIZE(kInstruction_add_al_r13_r11_r3_ROR_25),
1868     kInstruction_add_al_r13_r11_r3_ROR_25,
1869   },
1870   {
1871     ARRAY_SIZE(kInstruction_add_al_r2_r13_r2_ROR_1),
1872     kInstruction_add_al_r2_r13_r2_ROR_1,
1873   },
1874   {
1875     ARRAY_SIZE(kInstruction_add_al_r9_r7_r7_ROR_18),
1876     kInstruction_add_al_r9_r7_r7_ROR_18,
1877   },
1878   {
1879     ARRAY_SIZE(kInstruction_add_al_r13_r13_r4_ROR_15),
1880     kInstruction_add_al_r13_r13_r4_ROR_15,
1881   },
1882   {
1883     ARRAY_SIZE(kInstruction_add_al_r1_r2_r0_LSL_1),
1884     kInstruction_add_al_r1_r2_r0_LSL_1,
1885   },
1886   {
1887     ARRAY_SIZE(kInstruction_add_al_r0_r14_r1_LSL_7),
1888     kInstruction_add_al_r0_r14_r1_LSL_7,
1889   },
1890   {
1891     ARRAY_SIZE(kInstruction_add_al_r2_r2_r3_LSL_18),
1892     kInstruction_add_al_r2_r2_r3_LSL_18,
1893   },
1894   {
1895     ARRAY_SIZE(kInstruction_add_al_r12_r12_r10_ROR_22),
1896     kInstruction_add_al_r12_r12_r10_ROR_22,
1897   },
1898   {
1899     ARRAY_SIZE(kInstruction_add_al_r12_r10_r2_ROR_13),
1900     kInstruction_add_al_r12_r10_r2_ROR_13,
1901   },
1902   {
1903     ARRAY_SIZE(kInstruction_add_al_r7_r3_r11_LSL_23),
1904     kInstruction_add_al_r7_r3_r11_LSL_23,
1905   },
1906   {
1907     ARRAY_SIZE(kInstruction_add_al_r4_r7_r14_LSL_10),
1908     kInstruction_add_al_r4_r7_r14_LSL_10,
1909   },
1910   {
1911     ARRAY_SIZE(kInstruction_add_al_r3_r7_r5_ROR_27),
1912     kInstruction_add_al_r3_r7_r5_ROR_27,
1913   },
1914   {
1915     ARRAY_SIZE(kInstruction_add_al_r5_r11_r5_ROR_24),
1916     kInstruction_add_al_r5_r11_r5_ROR_24,
1917   },
1918   {
1919     ARRAY_SIZE(kInstruction_add_al_r12_r0_r6_ROR_29),
1920     kInstruction_add_al_r12_r0_r6_ROR_29,
1921   },
1922   {
1923     ARRAY_SIZE(kInstruction_add_al_r14_r3_r8_LSL_26),
1924     kInstruction_add_al_r14_r3_r8_LSL_26,
1925   },
1926   {
1927     ARRAY_SIZE(kInstruction_add_al_r12_r10_r3_LSL_10),
1928     kInstruction_add_al_r12_r10_r3_LSL_10,
1929   },
1930   {
1931     ARRAY_SIZE(kInstruction_add_al_r3_r8_r6_ROR_16),
1932     kInstruction_add_al_r3_r8_r6_ROR_16,
1933   },
1934   {
1935     ARRAY_SIZE(kInstruction_add_al_r14_r1_r1_LSL_23),
1936     kInstruction_add_al_r14_r1_r1_LSL_23,
1937   },
1938   {
1939     ARRAY_SIZE(kInstruction_add_al_r14_r1_r0_LSL_18),
1940     kInstruction_add_al_r14_r1_r0_LSL_18,
1941   },
1942   {
1943     ARRAY_SIZE(kInstruction_add_al_r7_r1_r8_LSL_29),
1944     kInstruction_add_al_r7_r1_r8_LSL_29,
1945   },
1946   {
1947     ARRAY_SIZE(kInstruction_add_al_r8_r12_r1_ROR_22),
1948     kInstruction_add_al_r8_r12_r1_ROR_22,
1949   },
1950   {
1951     ARRAY_SIZE(kInstruction_add_al_r8_r12_r10_ROR_10),
1952     kInstruction_add_al_r8_r12_r10_ROR_10,
1953   },
1954   {
1955     ARRAY_SIZE(kInstruction_add_al_r1_r14_r3_ROR_7),
1956     kInstruction_add_al_r1_r14_r3_ROR_7,
1957   },
1958   {
1959     ARRAY_SIZE(kInstruction_add_al_r3_r4_r3_LSL_20),
1960     kInstruction_add_al_r3_r4_r3_LSL_20,
1961   },
1962   {
1963     ARRAY_SIZE(kInstruction_add_al_r2_r13_r0_LSL_7),
1964     kInstruction_add_al_r2_r13_r0_LSL_7,
1965   },
1966   {
1967     ARRAY_SIZE(kInstruction_add_al_r13_r0_r9_ROR_20),
1968     kInstruction_add_al_r13_r0_r9_ROR_20,
1969   },
1970   {
1971     ARRAY_SIZE(kInstruction_add_al_r6_r4_r14_ROR_5),
1972     kInstruction_add_al_r6_r4_r14_ROR_5,
1973   },
1974   {
1975     ARRAY_SIZE(kInstruction_add_al_r12_r8_r9_ROR_3),
1976     kInstruction_add_al_r12_r8_r9_ROR_3,
1977   },
1978   {
1979     ARRAY_SIZE(kInstruction_add_al_r0_r11_r2_LSL_19),
1980     kInstruction_add_al_r0_r11_r2_LSL_19,
1981   },
1982   {
1983     ARRAY_SIZE(kInstruction_add_al_r2_r3_r3_LSL_8),
1984     kInstruction_add_al_r2_r3_r3_LSL_8,
1985   },
1986   {
1987     ARRAY_SIZE(kInstruction_add_al_r5_r1_r1_ROR_26),
1988     kInstruction_add_al_r5_r1_r1_ROR_26,
1989   },
1990   {
1991     ARRAY_SIZE(kInstruction_add_al_r4_r4_r13_ROR_31),
1992     kInstruction_add_al_r4_r4_r13_ROR_31,
1993   },
1994   {
1995     ARRAY_SIZE(kInstruction_add_al_r4_r6_r8_ROR_11),
1996     kInstruction_add_al_r4_r6_r8_ROR_11,
1997   },
1998   {
1999     ARRAY_SIZE(kInstruction_add_al_r4_r10_r13_LSL_28),
2000     kInstruction_add_al_r4_r10_r13_LSL_28,
2001   },
2002   {
2003     ARRAY_SIZE(kInstruction_add_al_r0_r8_r5_LSL_19),
2004     kInstruction_add_al_r0_r8_r5_LSL_19,
2005   },
2006   {
2007     ARRAY_SIZE(kInstruction_add_al_r14_r0_r7_ROR_10),
2008     kInstruction_add_al_r14_r0_r7_ROR_10,
2009   },
2010   {
2011     ARRAY_SIZE(kInstruction_add_al_r9_r10_r9_ROR_13),
2012     kInstruction_add_al_r9_r10_r9_ROR_13,
2013   },
2014   {
2015     ARRAY_SIZE(kInstruction_add_al_r5_r1_r7_LSL_31),
2016     kInstruction_add_al_r5_r1_r7_LSL_31,
2017   },
2018   {
2019     ARRAY_SIZE(kInstruction_add_al_r8_r4_r12_ROR_8),
2020     kInstruction_add_al_r8_r4_r12_ROR_8,
2021   },
2022   {
2023     ARRAY_SIZE(kInstruction_add_al_r8_r13_r0_LSL_4),
2024     kInstruction_add_al_r8_r13_r0_LSL_4,
2025   },
2026   {
2027     ARRAY_SIZE(kInstruction_add_al_r10_r4_r10_LSL_19),
2028     kInstruction_add_al_r10_r4_r10_LSL_19,
2029   },
2030   {
2031     ARRAY_SIZE(kInstruction_add_al_r5_r2_r3_LSL_5),
2032     kInstruction_add_al_r5_r2_r3_LSL_5,
2033   },
2034   {
2035     ARRAY_SIZE(kInstruction_add_al_r1_r1_r2_LSL_17),
2036     kInstruction_add_al_r1_r1_r2_LSL_17,
2037   },
2038   {
2039     ARRAY_SIZE(kInstruction_add_al_r9_r2_r13_ROR_13),
2040     kInstruction_add_al_r9_r2_r13_ROR_13,
2041   },
2042   {
2043     ARRAY_SIZE(kInstruction_add_al_r2_r5_r5_ROR_8),
2044     kInstruction_add_al_r2_r5_r5_ROR_8,
2045   },
2046   {
2047     ARRAY_SIZE(kInstruction_add_al_r11_r11_r10_ROR_31),
2048     kInstruction_add_al_r11_r11_r10_ROR_31,
2049   },
2050   {
2051     ARRAY_SIZE(kInstruction_add_al_r13_r14_r13_LSL_23),
2052     kInstruction_add_al_r13_r14_r13_LSL_23,
2053   },
2054   {
2055     ARRAY_SIZE(kInstruction_add_al_r9_r0_r3_ROR_6),
2056     kInstruction_add_al_r9_r0_r3_ROR_6,
2057   },
2058   {
2059     ARRAY_SIZE(kInstruction_add_al_r10_r10_r11_LSL_9),
2060     kInstruction_add_al_r10_r10_r11_LSL_9,
2061   },
2062   {
2063     ARRAY_SIZE(kInstruction_add_al_r13_r10_r11_ROR_31),
2064     kInstruction_add_al_r13_r10_r11_ROR_31,
2065   },
2066   {
2067     ARRAY_SIZE(kInstruction_add_al_r8_r8_r10_LSL_23),
2068     kInstruction_add_al_r8_r8_r10_LSL_23,
2069   },
2070   {
2071     ARRAY_SIZE(kInstruction_add_al_r13_r13_r10_ROR_27),
2072     kInstruction_add_al_r13_r13_r10_ROR_27,
2073   },
2074   {
2075     ARRAY_SIZE(kInstruction_add_al_r6_r4_r7_LSL_19),
2076     kInstruction_add_al_r6_r4_r7_LSL_19,
2077   },
2078   {
2079     ARRAY_SIZE(kInstruction_add_al_r6_r1_r7_LSL_23),
2080     kInstruction_add_al_r6_r1_r7_LSL_23,
2081   },
2082   {
2083     ARRAY_SIZE(kInstruction_add_al_r11_r13_r9_ROR_2),
2084     kInstruction_add_al_r11_r13_r9_ROR_2,
2085   },
2086   {
2087     ARRAY_SIZE(kInstruction_add_al_r14_r13_r8_LSL_11),
2088     kInstruction_add_al_r14_r13_r8_LSL_11,
2089   },
2090   {
2091     ARRAY_SIZE(kInstruction_add_al_r10_r11_r8_ROR_11),
2092     kInstruction_add_al_r10_r11_r8_ROR_11,
2093   },
2094   {
2095     ARRAY_SIZE(kInstruction_add_al_r5_r5_r1_ROR_15),
2096     kInstruction_add_al_r5_r5_r1_ROR_15,
2097   },
2098   {
2099     ARRAY_SIZE(kInstruction_add_al_r1_r3_r0_LSL_14),
2100     kInstruction_add_al_r1_r3_r0_LSL_14,
2101   },
2102   {
2103     ARRAY_SIZE(kInstruction_add_al_r11_r4_r0_ROR_29),
2104     kInstruction_add_al_r11_r4_r0_ROR_29,
2105   },
2106   {
2107     ARRAY_SIZE(kInstruction_add_al_r6_r11_r10_ROR_25),
2108     kInstruction_add_al_r6_r11_r10_ROR_25,
2109   },
2110   {
2111     ARRAY_SIZE(kInstruction_add_al_r8_r3_r9_ROR_15),
2112     kInstruction_add_al_r8_r3_r9_ROR_15,
2113   },
2114   {
2115     ARRAY_SIZE(kInstruction_add_al_r3_r12_r14_LSL_23),
2116     kInstruction_add_al_r3_r12_r14_LSL_23,
2117   },
2118   {
2119     ARRAY_SIZE(kInstruction_add_al_r14_r14_r6_ROR_23),
2120     kInstruction_add_al_r14_r14_r6_ROR_23,
2121   },
2122   {
2123     ARRAY_SIZE(kInstruction_add_al_r6_r8_r8_ROR_25),
2124     kInstruction_add_al_r6_r8_r8_ROR_25,
2125   },
2126   {
2127     ARRAY_SIZE(kInstruction_add_al_r5_r5_r2_LSL_17),
2128     kInstruction_add_al_r5_r5_r2_LSL_17,
2129   },
2130   {
2131     ARRAY_SIZE(kInstruction_add_al_r13_r4_r6_ROR_13),
2132     kInstruction_add_al_r13_r4_r6_ROR_13,
2133   },
2134   {
2135     ARRAY_SIZE(kInstruction_add_al_r10_r9_r0_LSL_25),
2136     kInstruction_add_al_r10_r9_r0_LSL_25,
2137   },
2138   {
2139     ARRAY_SIZE(kInstruction_add_al_r11_r2_r5_ROR_15),
2140     kInstruction_add_al_r11_r2_r5_ROR_15,
2141   },
2142   {
2143     ARRAY_SIZE(kInstruction_add_al_r4_r13_r4_LSL_8),
2144     kInstruction_add_al_r4_r13_r4_LSL_8,
2145   },
2146   {
2147     ARRAY_SIZE(kInstruction_add_al_r13_r6_r5_LSL_31),
2148     kInstruction_add_al_r13_r6_r5_LSL_31,
2149   },
2150   {
2151     ARRAY_SIZE(kInstruction_add_al_r3_r5_r6_ROR_25),
2152     kInstruction_add_al_r3_r5_r6_ROR_25,
2153   },
2154   {
2155     ARRAY_SIZE(kInstruction_add_al_r7_r7_r12_ROR_12),
2156     kInstruction_add_al_r7_r7_r12_ROR_12,
2157   },
2158   {
2159     ARRAY_SIZE(kInstruction_add_al_r6_r10_r6_ROR_18),
2160     kInstruction_add_al_r6_r10_r6_ROR_18,
2161   },
2162   {
2163     ARRAY_SIZE(kInstruction_add_al_r8_r14_r14_LSL_30),
2164     kInstruction_add_al_r8_r14_r14_LSL_30,
2165   },
2166   {
2167     ARRAY_SIZE(kInstruction_add_al_r0_r0_r2_LSL_4),
2168     kInstruction_add_al_r0_r0_r2_LSL_4,
2169   },
2170   {
2171     ARRAY_SIZE(kInstruction_add_al_r11_r2_r3_ROR_10),
2172     kInstruction_add_al_r11_r2_r3_ROR_10,
2173   },
2174   {
2175     ARRAY_SIZE(kInstruction_add_al_r2_r6_r14_ROR_29),
2176     kInstruction_add_al_r2_r6_r14_ROR_29,
2177   },
2178   {
2179     ARRAY_SIZE(kInstruction_add_al_r4_r5_r11_ROR_22),
2180     kInstruction_add_al_r4_r5_r11_ROR_22,
2181   },
2182   {
2183     ARRAY_SIZE(kInstruction_add_al_r13_r5_r1_LSL_8),
2184     kInstruction_add_al_r13_r5_r1_LSL_8,
2185   },
2186   {
2187     ARRAY_SIZE(kInstruction_add_al_r9_r3_r0_ROR_25),
2188     kInstruction_add_al_r9_r3_r0_ROR_25,
2189   },
2190   {
2191     ARRAY_SIZE(kInstruction_add_al_r10_r0_r14_LSL_11),
2192     kInstruction_add_al_r10_r0_r14_LSL_11,
2193   },
2194   {
2195     ARRAY_SIZE(kInstruction_add_al_r8_r13_r13_ROR_6),
2196     kInstruction_add_al_r8_r13_r13_ROR_6,
2197   },
2198   {
2199     ARRAY_SIZE(kInstruction_add_al_r10_r7_r14_LSL_10),
2200     kInstruction_add_al_r10_r7_r14_LSL_10,
2201   },
2202   {
2203     ARRAY_SIZE(kInstruction_add_al_r9_r6_r12_ROR_31),
2204     kInstruction_add_al_r9_r6_r12_ROR_31,
2205   },
2206   {
2207     ARRAY_SIZE(kInstruction_add_al_r9_r5_r0_ROR_1),
2208     kInstruction_add_al_r9_r5_r0_ROR_1,
2209   },
2210   {
2211     ARRAY_SIZE(kInstruction_add_al_r0_r10_r12_LSL_11),
2212     kInstruction_add_al_r0_r10_r12_LSL_11,
2213   },
2214   {
2215     ARRAY_SIZE(kInstruction_add_al_r8_r0_r8_ROR_15),
2216     kInstruction_add_al_r8_r0_r8_ROR_15,
2217   },
2218   {
2219     ARRAY_SIZE(kInstruction_add_al_r13_r2_r1_LSL_21),
2220     kInstruction_add_al_r13_r2_r1_LSL_21,
2221   },
2222   {
2223     ARRAY_SIZE(kInstruction_add_al_r3_r0_r9_LSL_29),
2224     kInstruction_add_al_r3_r0_r9_LSL_29,
2225   },
2226   {
2227     ARRAY_SIZE(kInstruction_add_al_r14_r10_r11_LSL_17),
2228     kInstruction_add_al_r14_r10_r11_LSL_17,
2229   },
2230   {
2231     ARRAY_SIZE(kInstruction_add_al_r13_r4_r0_LSL_17),
2232     kInstruction_add_al_r13_r4_r0_LSL_17,
2233   },
2234   {
2235     ARRAY_SIZE(kInstruction_add_al_r0_r3_r4_LSL_6),
2236     kInstruction_add_al_r0_r3_r4_LSL_6,
2237   },
2238   {
2239     ARRAY_SIZE(kInstruction_add_al_r13_r9_r2_LSL_21),
2240     kInstruction_add_al_r13_r9_r2_LSL_21,
2241   },
2242   {
2243     ARRAY_SIZE(kInstruction_add_al_r13_r5_r13_LSL_23),
2244     kInstruction_add_al_r13_r5_r13_LSL_23,
2245   },
2246   {
2247     ARRAY_SIZE(kInstruction_add_al_r14_r10_r2_LSL_8),
2248     kInstruction_add_al_r14_r10_r2_LSL_8,
2249   },
2250   {
2251     ARRAY_SIZE(kInstruction_add_al_r12_r11_r12_LSL_13),
2252     kInstruction_add_al_r12_r11_r12_LSL_13,
2253   },
2254   {
2255     ARRAY_SIZE(kInstruction_add_al_r10_r2_r12_ROR_23),
2256     kInstruction_add_al_r10_r2_r12_ROR_23,
2257   },
2258   {
2259     ARRAY_SIZE(kInstruction_add_al_r5_r5_r8_ROR_28),
2260     kInstruction_add_al_r5_r5_r8_ROR_28,
2261   },
2262   {
2263     ARRAY_SIZE(kInstruction_add_al_r0_r14_r12_ROR_19),
2264     kInstruction_add_al_r0_r14_r12_ROR_19,
2265   },
2266   {
2267     ARRAY_SIZE(kInstruction_add_al_r8_r13_r11_LSL_24),
2268     kInstruction_add_al_r8_r13_r11_LSL_24,
2269   },
2270   {
2271     ARRAY_SIZE(kInstruction_add_al_r9_r5_r3_ROR_30),
2272     kInstruction_add_al_r9_r5_r3_ROR_30,
2273   },
2274   {
2275     ARRAY_SIZE(kInstruction_add_al_r9_r10_r7_ROR_22),
2276     kInstruction_add_al_r9_r10_r7_ROR_22,
2277   },
2278   {
2279     ARRAY_SIZE(kInstruction_add_al_r10_r3_r10_LSL_18),
2280     kInstruction_add_al_r10_r3_r10_LSL_18,
2281   },
2282   {
2283     ARRAY_SIZE(kInstruction_add_al_r7_r3_r14_ROR_22),
2284     kInstruction_add_al_r7_r3_r14_ROR_22,
2285   },
2286   {
2287     ARRAY_SIZE(kInstruction_add_al_r11_r4_r4_LSL_20),
2288     kInstruction_add_al_r11_r4_r4_LSL_20,
2289   },
2290   {
2291     ARRAY_SIZE(kInstruction_add_al_r7_r13_r14_ROR_25),
2292     kInstruction_add_al_r7_r13_r14_ROR_25,
2293   },
2294   {
2295     ARRAY_SIZE(kInstruction_add_al_r10_r10_r1_ROR_5),
2296     kInstruction_add_al_r10_r10_r1_ROR_5,
2297   },
2298   {
2299     ARRAY_SIZE(kInstruction_add_al_r4_r12_r6_LSL_6),
2300     kInstruction_add_al_r4_r12_r6_LSL_6,
2301   },
2302   {
2303     ARRAY_SIZE(kInstruction_add_al_r3_r6_r9_ROR_3),
2304     kInstruction_add_al_r3_r6_r9_ROR_3,
2305   },
2306   {
2307     ARRAY_SIZE(kInstruction_add_al_r14_r3_r7_LSL_26),
2308     kInstruction_add_al_r14_r3_r7_LSL_26,
2309   },
2310   {
2311     ARRAY_SIZE(kInstruction_add_al_r0_r8_r10_LSL_10),
2312     kInstruction_add_al_r0_r8_r10_LSL_10,
2313   },
2314   {
2315     ARRAY_SIZE(kInstruction_add_al_r13_r10_r7_ROR_19),
2316     kInstruction_add_al_r13_r10_r7_ROR_19,
2317   },
2318   {
2319     ARRAY_SIZE(kInstruction_add_al_r14_r1_r6_ROR_27),
2320     kInstruction_add_al_r14_r1_r6_ROR_27,
2321   },
2322   {
2323     ARRAY_SIZE(kInstruction_add_al_r0_r5_r13_LSL_18),
2324     kInstruction_add_al_r0_r5_r13_LSL_18,
2325   },
2326   {
2327     ARRAY_SIZE(kInstruction_add_al_r10_r9_r0_LSL_15),
2328     kInstruction_add_al_r10_r9_r0_LSL_15,
2329   },
2330   {
2331     ARRAY_SIZE(kInstruction_add_al_r12_r8_r13_ROR_19),
2332     kInstruction_add_al_r12_r8_r13_ROR_19,
2333   },
2334   {
2335     ARRAY_SIZE(kInstruction_add_al_r8_r0_r11_LSL_31),
2336     kInstruction_add_al_r8_r0_r11_LSL_31,
2337   },
2338   {
2339     ARRAY_SIZE(kInstruction_add_al_r8_r14_r0_ROR_20),
2340     kInstruction_add_al_r8_r14_r0_ROR_20,
2341   },
2342   {
2343     ARRAY_SIZE(kInstruction_add_al_r8_r7_r6_ROR_14),
2344     kInstruction_add_al_r8_r7_r6_ROR_14,
2345   },
2346   {
2347     ARRAY_SIZE(kInstruction_add_al_r10_r9_r5_LSL_21),
2348     kInstruction_add_al_r10_r9_r5_LSL_21,
2349   },
2350   {
2351     ARRAY_SIZE(kInstruction_add_al_r9_r8_r13_ROR_28),
2352     kInstruction_add_al_r9_r8_r13_ROR_28,
2353   },
2354   {
2355     ARRAY_SIZE(kInstruction_add_al_r12_r12_r12_ROR_25),
2356     kInstruction_add_al_r12_r12_r12_ROR_25,
2357   },
2358   {
2359     ARRAY_SIZE(kInstruction_add_al_r5_r11_r4_ROR_12),
2360     kInstruction_add_al_r5_r11_r4_ROR_12,
2361   },
2362   {
2363     ARRAY_SIZE(kInstruction_add_al_r1_r7_r10_ROR_13),
2364     kInstruction_add_al_r1_r7_r10_ROR_13,
2365   },
2366   {
2367     ARRAY_SIZE(kInstruction_add_al_r14_r12_r2_LSL_19),
2368     kInstruction_add_al_r14_r12_r2_LSL_19,
2369   },
2370   {
2371     ARRAY_SIZE(kInstruction_add_al_r0_r5_r14_LSL_20),
2372     kInstruction_add_al_r0_r5_r14_LSL_20,
2373   },
2374   {
2375     ARRAY_SIZE(kInstruction_add_al_r12_r4_r3_ROR_27),
2376     kInstruction_add_al_r12_r4_r3_ROR_27,
2377   },
2378   {
2379     ARRAY_SIZE(kInstruction_add_al_r9_r3_r1_ROR_22),
2380     kInstruction_add_al_r9_r3_r1_ROR_22,
2381   },
2382   {
2383     ARRAY_SIZE(kInstruction_add_al_r2_r12_r7_ROR_23),
2384     kInstruction_add_al_r2_r12_r7_ROR_23,
2385   },
2386   {
2387     ARRAY_SIZE(kInstruction_add_al_r10_r4_r8_ROR_11),
2388     kInstruction_add_al_r10_r4_r8_ROR_11,
2389   },
2390   {
2391     ARRAY_SIZE(kInstruction_add_al_r6_r0_r2_LSL_8),
2392     kInstruction_add_al_r6_r0_r2_LSL_8,
2393   },
2394   {
2395     ARRAY_SIZE(kInstruction_add_al_r10_r3_r0_LSL_1),
2396     kInstruction_add_al_r10_r3_r0_LSL_1,
2397   },
2398   {
2399     ARRAY_SIZE(kInstruction_add_al_r6_r6_r4_LSL_1),
2400     kInstruction_add_al_r6_r6_r4_LSL_1,
2401   },
2402   {
2403     ARRAY_SIZE(kInstruction_add_al_r13_r12_r13_ROR_13),
2404     kInstruction_add_al_r13_r12_r13_ROR_13,
2405   },
2406   {
2407     ARRAY_SIZE(kInstruction_add_al_r0_r9_r10_ROR_1),
2408     kInstruction_add_al_r0_r9_r10_ROR_1,
2409   },
2410   {
2411     ARRAY_SIZE(kInstruction_add_al_r9_r13_r9_ROR_16),
2412     kInstruction_add_al_r9_r13_r9_ROR_16,
2413   },
2414   {
2415     ARRAY_SIZE(kInstruction_add_al_r0_r6_r2_LSL_4),
2416     kInstruction_add_al_r0_r6_r2_LSL_4,
2417   },
2418   {
2419     ARRAY_SIZE(kInstruction_add_al_r9_r2_r11_LSL_31),
2420     kInstruction_add_al_r9_r2_r11_LSL_31,
2421   },
2422   {
2423     ARRAY_SIZE(kInstruction_add_al_r12_r12_r13_ROR_19),
2424     kInstruction_add_al_r12_r12_r13_ROR_19,
2425   },
2426   {
2427     ARRAY_SIZE(kInstruction_add_al_r7_r14_r2_ROR_23),
2428     kInstruction_add_al_r7_r14_r2_ROR_23,
2429   },
2430   {
2431     ARRAY_SIZE(kInstruction_add_al_r7_r1_r3_LSL_26),
2432     kInstruction_add_al_r7_r1_r3_LSL_26,
2433   },
2434   {
2435     ARRAY_SIZE(kInstruction_add_al_r13_r6_r12_ROR_26),
2436     kInstruction_add_al_r13_r6_r12_ROR_26,
2437   },
2438   {
2439     ARRAY_SIZE(kInstruction_add_al_r10_r14_r12_ROR_5),
2440     kInstruction_add_al_r10_r14_r12_ROR_5,
2441   },
2442   {
2443     ARRAY_SIZE(kInstruction_add_al_r5_r9_r12_LSL_9),
2444     kInstruction_add_al_r5_r9_r12_LSL_9,
2445   },
2446   {
2447     ARRAY_SIZE(kInstruction_add_al_r2_r7_r2_ROR_10),
2448     kInstruction_add_al_r2_r7_r2_ROR_10,
2449   },
2450   {
2451     ARRAY_SIZE(kInstruction_add_al_r12_r12_r8_ROR_6),
2452     kInstruction_add_al_r12_r12_r8_ROR_6,
2453   },
2454   {
2455     ARRAY_SIZE(kInstruction_add_al_r1_r13_r13_ROR_24),
2456     kInstruction_add_al_r1_r13_r13_ROR_24,
2457   },
2458   {
2459     ARRAY_SIZE(kInstruction_add_al_r6_r10_r10_ROR_26),
2460     kInstruction_add_al_r6_r10_r10_ROR_26,
2461   },
2462   {
2463     ARRAY_SIZE(kInstruction_add_al_r13_r9_r1_LSL_18),
2464     kInstruction_add_al_r13_r9_r1_LSL_18,
2465   },
2466   {
2467     ARRAY_SIZE(kInstruction_add_al_r6_r1_r4_ROR_21),
2468     kInstruction_add_al_r6_r1_r4_ROR_21,
2469   },
2470   {
2471     ARRAY_SIZE(kInstruction_add_al_r0_r3_r3_ROR_18),
2472     kInstruction_add_al_r0_r3_r3_ROR_18,
2473   },
2474   {
2475     ARRAY_SIZE(kInstruction_add_al_r1_r9_r5_LSL_29),
2476     kInstruction_add_al_r1_r9_r5_LSL_29,
2477   },
2478   {
2479     ARRAY_SIZE(kInstruction_add_al_r11_r8_r7_ROR_18),
2480     kInstruction_add_al_r11_r8_r7_ROR_18,
2481   },
2482   {
2483     ARRAY_SIZE(kInstruction_add_al_r2_r3_r12_LSL_7),
2484     kInstruction_add_al_r2_r3_r12_LSL_7,
2485   },
2486   {
2487     ARRAY_SIZE(kInstruction_add_al_r8_r3_r9_LSL_18),
2488     kInstruction_add_al_r8_r3_r9_LSL_18,
2489   },
2490   {
2491     ARRAY_SIZE(kInstruction_add_al_r8_r12_r1_LSL_11),
2492     kInstruction_add_al_r8_r12_r1_LSL_11,
2493   },
2494   {
2495     ARRAY_SIZE(kInstruction_add_al_r14_r9_r5_ROR_21),
2496     kInstruction_add_al_r14_r9_r5_ROR_21,
2497   },
2498   {
2499     ARRAY_SIZE(kInstruction_add_al_r0_r6_r12_ROR_26),
2500     kInstruction_add_al_r0_r6_r12_ROR_26,
2501   },
2502   {
2503     ARRAY_SIZE(kInstruction_add_al_r3_r6_r14_LSL_14),
2504     kInstruction_add_al_r3_r6_r14_LSL_14,
2505   },
2506   {
2507     ARRAY_SIZE(kInstruction_add_al_r11_r0_r9_LSL_9),
2508     kInstruction_add_al_r11_r0_r9_LSL_9,
2509   },
2510   {
2511     ARRAY_SIZE(kInstruction_add_al_r8_r13_r7_LSL_9),
2512     kInstruction_add_al_r8_r13_r7_LSL_9,
2513   },
2514   {
2515     ARRAY_SIZE(kInstruction_add_al_r3_r1_r13_LSL_23),
2516     kInstruction_add_al_r3_r1_r13_LSL_23,
2517   },
2518   {
2519     ARRAY_SIZE(kInstruction_add_al_r12_r13_r13_ROR_4),
2520     kInstruction_add_al_r12_r13_r13_ROR_4,
2521   },
2522   {
2523     ARRAY_SIZE(kInstruction_add_al_r10_r14_r9_ROR_13),
2524     kInstruction_add_al_r10_r14_r9_ROR_13,
2525   },
2526   {
2527     ARRAY_SIZE(kInstruction_add_al_r14_r5_r1_LSL_22),
2528     kInstruction_add_al_r14_r5_r1_LSL_22,
2529   },
2530   {
2531     ARRAY_SIZE(kInstruction_add_al_r11_r8_r8_ROR_28),
2532     kInstruction_add_al_r11_r8_r8_ROR_28,
2533   },
2534   {
2535     ARRAY_SIZE(kInstruction_add_al_r0_r8_r12_ROR_19),
2536     kInstruction_add_al_r0_r8_r12_ROR_19,
2537   },
2538   {
2539     ARRAY_SIZE(kInstruction_add_al_r11_r3_r1_ROR_6),
2540     kInstruction_add_al_r11_r3_r1_ROR_6,
2541   },
2542   {
2543     ARRAY_SIZE(kInstruction_add_al_r2_r7_r2_ROR_5),
2544     kInstruction_add_al_r2_r7_r2_ROR_5,
2545   },
2546   {
2547     ARRAY_SIZE(kInstruction_add_al_r11_r14_r2_ROR_14),
2548     kInstruction_add_al_r11_r14_r2_ROR_14,
2549   },
2550   {
2551     ARRAY_SIZE(kInstruction_add_al_r9_r13_r7_LSL_27),
2552     kInstruction_add_al_r9_r13_r7_LSL_27,
2553   },
2554   {
2555     ARRAY_SIZE(kInstruction_add_al_r0_r0_r3_ROR_29),
2556     kInstruction_add_al_r0_r0_r3_ROR_29,
2557   },
2558   {
2559     ARRAY_SIZE(kInstruction_add_al_r9_r12_r7_LSL_24),
2560     kInstruction_add_al_r9_r12_r7_LSL_24,
2561   },
2562   {
2563     ARRAY_SIZE(kInstruction_add_al_r8_r5_r4_LSL_10),
2564     kInstruction_add_al_r8_r5_r4_LSL_10,
2565   },
2566   {
2567     ARRAY_SIZE(kInstruction_add_al_r0_r2_r12_ROR_10),
2568     kInstruction_add_al_r0_r2_r12_ROR_10,
2569   },
2570   {
2571     ARRAY_SIZE(kInstruction_add_al_r6_r0_r5_ROR_16),
2572     kInstruction_add_al_r6_r0_r5_ROR_16,
2573   },
2574   {
2575     ARRAY_SIZE(kInstruction_add_al_r9_r9_r14_ROR_2),
2576     kInstruction_add_al_r9_r9_r14_ROR_2,
2577   },
2578   {
2579     ARRAY_SIZE(kInstruction_add_al_r0_r0_r7_ROR_28),
2580     kInstruction_add_al_r0_r0_r7_ROR_28,
2581   },
2582   {
2583     ARRAY_SIZE(kInstruction_add_al_r2_r11_r12_LSL_16),
2584     kInstruction_add_al_r2_r11_r12_LSL_16,
2585   },
2586   {
2587     ARRAY_SIZE(kInstruction_add_al_r14_r0_r8_ROR_13),
2588     kInstruction_add_al_r14_r0_r8_ROR_13,
2589   },
2590   {
2591     ARRAY_SIZE(kInstruction_add_al_r3_r4_r3_LSL_2),
2592     kInstruction_add_al_r3_r4_r3_LSL_2,
2593   },
2594   {
2595     ARRAY_SIZE(kInstruction_add_al_r11_r6_r4_ROR_25),
2596     kInstruction_add_al_r11_r6_r4_ROR_25,
2597   },
2598   {
2599     ARRAY_SIZE(kInstruction_add_al_r14_r1_r12_LSL_4),
2600     kInstruction_add_al_r14_r1_r12_LSL_4,
2601   },
2602   {
2603     ARRAY_SIZE(kInstruction_add_al_r9_r2_r6_LSL_12),
2604     kInstruction_add_al_r9_r2_r6_LSL_12,
2605   },
2606   {
2607     ARRAY_SIZE(kInstruction_add_al_r10_r9_r2_ROR_26),
2608     kInstruction_add_al_r10_r9_r2_ROR_26,
2609   },
2610   {
2611     ARRAY_SIZE(kInstruction_add_al_r2_r3_r10_ROR_2),
2612     kInstruction_add_al_r2_r3_r10_ROR_2,
2613   },
2614   {
2615     ARRAY_SIZE(kInstruction_add_al_r6_r7_r9_LSL_12),
2616     kInstruction_add_al_r6_r7_r9_LSL_12,
2617   },
2618   {
2619     ARRAY_SIZE(kInstruction_add_al_r4_r1_r7_LSL_6),
2620     kInstruction_add_al_r4_r1_r7_LSL_6,
2621   },
2622   {
2623     ARRAY_SIZE(kInstruction_add_al_r4_r3_r13_ROR_31),
2624     kInstruction_add_al_r4_r3_r13_ROR_31,
2625   },
2626   {
2627     ARRAY_SIZE(kInstruction_add_al_r14_r1_r0_ROR_11),
2628     kInstruction_add_al_r14_r1_r0_ROR_11,
2629   },
2630   {
2631     ARRAY_SIZE(kInstruction_add_al_r4_r3_r9_ROR_18),
2632     kInstruction_add_al_r4_r3_r9_ROR_18,
2633   },
2634   {
2635     ARRAY_SIZE(kInstruction_add_al_r4_r5_r2_ROR_26),
2636     kInstruction_add_al_r4_r5_r2_ROR_26,
2637   },
2638   {
2639     ARRAY_SIZE(kInstruction_add_al_r11_r13_r9_LSL_1),
2640     kInstruction_add_al_r11_r13_r9_LSL_1,
2641   },
2642   {
2643     ARRAY_SIZE(kInstruction_add_al_r6_r13_r8_LSL_31),
2644     kInstruction_add_al_r6_r13_r8_LSL_31,
2645   },
2646   {
2647     ARRAY_SIZE(kInstruction_add_al_r8_r6_r5_LSL_7),
2648     kInstruction_add_al_r8_r6_r5_LSL_7,
2649   },
2650   {
2651     ARRAY_SIZE(kInstruction_add_al_r3_r12_r11_LSL_29),
2652     kInstruction_add_al_r3_r12_r11_LSL_29,
2653   },
2654   {
2655     ARRAY_SIZE(kInstruction_add_al_r4_r11_r3_ROR_25),
2656     kInstruction_add_al_r4_r11_r3_ROR_25,
2657   },
2658   {
2659     ARRAY_SIZE(kInstruction_add_al_r11_r0_r3_ROR_1),
2660     kInstruction_add_al_r11_r0_r3_ROR_1,
2661   },
2662   {
2663     ARRAY_SIZE(kInstruction_add_al_r10_r7_r8_ROR_14),
2664     kInstruction_add_al_r10_r7_r8_ROR_14,
2665   },
2666   {
2667     ARRAY_SIZE(kInstruction_add_al_r12_r8_r5_ROR_17),
2668     kInstruction_add_al_r12_r8_r5_ROR_17,
2669   },
2670   {
2671     ARRAY_SIZE(kInstruction_add_al_r13_r11_r1_LSL_26),
2672     kInstruction_add_al_r13_r11_r1_LSL_26,
2673   },
2674   {
2675     ARRAY_SIZE(kInstruction_add_al_r13_r4_r5_ROR_26),
2676     kInstruction_add_al_r13_r4_r5_ROR_26,
2677   },
2678   {
2679     ARRAY_SIZE(kInstruction_add_al_r12_r5_r8_ROR_17),
2680     kInstruction_add_al_r12_r5_r8_ROR_17,
2681   },
2682   {
2683     ARRAY_SIZE(kInstruction_add_al_r12_r0_r10_ROR_16),
2684     kInstruction_add_al_r12_r0_r10_ROR_16,
2685   },
2686   {
2687     ARRAY_SIZE(kInstruction_add_al_r6_r4_r14_ROR_28),
2688     kInstruction_add_al_r6_r4_r14_ROR_28,
2689   },
2690   {
2691     ARRAY_SIZE(kInstruction_add_al_r13_r13_r5_LSL_16),
2692     kInstruction_add_al_r13_r13_r5_LSL_16,
2693   },
2694   {
2695     ARRAY_SIZE(kInstruction_add_al_r9_r6_r10_LSL_15),
2696     kInstruction_add_al_r9_r6_r10_LSL_15,
2697   },
2698   {
2699     ARRAY_SIZE(kInstruction_add_al_r2_r10_r8_LSL_16),
2700     kInstruction_add_al_r2_r10_r8_LSL_16,
2701   },
2702   {
2703     ARRAY_SIZE(kInstruction_add_al_r11_r4_r0_LSL_5),
2704     kInstruction_add_al_r11_r4_r0_LSL_5,
2705   },
2706   {
2707     ARRAY_SIZE(kInstruction_add_al_r9_r2_r14_ROR_31),
2708     kInstruction_add_al_r9_r2_r14_ROR_31,
2709   },
2710   {
2711     ARRAY_SIZE(kInstruction_add_al_r0_r7_r11_LSL_25),
2712     kInstruction_add_al_r0_r7_r11_LSL_25,
2713   },
2714   {
2715     ARRAY_SIZE(kInstruction_add_al_r2_r6_r12_LSL_8),
2716     kInstruction_add_al_r2_r6_r12_LSL_8,
2717   },
2718   {
2719     ARRAY_SIZE(kInstruction_add_al_r1_r10_r4_ROR_7),
2720     kInstruction_add_al_r1_r10_r4_ROR_7,
2721   },
2722   {
2723     ARRAY_SIZE(kInstruction_add_al_r4_r3_r7_LSL_10),
2724     kInstruction_add_al_r4_r3_r7_LSL_10,
2725   },
2726   {
2727     ARRAY_SIZE(kInstruction_add_al_r6_r7_r11_LSL_14),
2728     kInstruction_add_al_r6_r7_r11_LSL_14,
2729   },
2730   {
2731     ARRAY_SIZE(kInstruction_add_al_r9_r10_r0_LSL_31),
2732     kInstruction_add_al_r9_r10_r0_LSL_31,
2733   },
2734   {
2735     ARRAY_SIZE(kInstruction_add_al_r5_r5_r13_LSL_2),
2736     kInstruction_add_al_r5_r5_r13_LSL_2,
2737   },
2738   {
2739     ARRAY_SIZE(kInstruction_add_al_r7_r10_r2_LSL_26),
2740     kInstruction_add_al_r7_r10_r2_LSL_26,
2741   },
2742   {
2743     ARRAY_SIZE(kInstruction_add_al_r3_r7_r7_LSL_29),
2744     kInstruction_add_al_r3_r7_r7_LSL_29,
2745   },
2746   {
2747     ARRAY_SIZE(kInstruction_add_al_r4_r1_r8_LSL_18),
2748     kInstruction_add_al_r4_r1_r8_LSL_18,
2749   },
2750   {
2751     ARRAY_SIZE(kInstruction_add_al_r14_r12_r2_LSL_29),
2752     kInstruction_add_al_r14_r12_r2_LSL_29,
2753   },
2754   {
2755     ARRAY_SIZE(kInstruction_add_al_r11_r6_r3_ROR_8),
2756     kInstruction_add_al_r11_r6_r3_ROR_8,
2757   },
2758   {
2759     ARRAY_SIZE(kInstruction_add_al_r14_r5_r3_LSL_7),
2760     kInstruction_add_al_r14_r5_r3_LSL_7,
2761   },
2762   {
2763     ARRAY_SIZE(kInstruction_add_al_r6_r13_r12_LSL_2),
2764     kInstruction_add_al_r6_r13_r12_LSL_2,
2765   },
2766   {
2767     ARRAY_SIZE(kInstruction_add_al_r9_r1_r0_ROR_13),
2768     kInstruction_add_al_r9_r1_r0_ROR_13,
2769   },
2770   {
2771     ARRAY_SIZE(kInstruction_add_al_r9_r5_r7_LSL_16),
2772     kInstruction_add_al_r9_r5_r7_LSL_16,
2773   },
2774   {
2775     ARRAY_SIZE(kInstruction_add_al_r2_r6_r0_ROR_27),
2776     kInstruction_add_al_r2_r6_r0_ROR_27,
2777   },
2778   {
2779     ARRAY_SIZE(kInstruction_add_al_r4_r9_r5_LSL_19),
2780     kInstruction_add_al_r4_r9_r5_LSL_19,
2781   },
2782   {
2783     ARRAY_SIZE(kInstruction_add_al_r9_r5_r13_ROR_26),
2784     kInstruction_add_al_r9_r5_r13_ROR_26,
2785   },
2786   {
2787     ARRAY_SIZE(kInstruction_add_al_r4_r9_r14_LSL_25),
2788     kInstruction_add_al_r4_r9_r14_LSL_25,
2789   },
2790   {
2791     ARRAY_SIZE(kInstruction_add_al_r7_r13_r1_LSL_22),
2792     kInstruction_add_al_r7_r13_r1_LSL_22,
2793   },
2794   {
2795     ARRAY_SIZE(kInstruction_add_al_r14_r13_r6_LSL_25),
2796     kInstruction_add_al_r14_r13_r6_LSL_25,
2797   },
2798   {
2799     ARRAY_SIZE(kInstruction_add_al_r14_r12_r14_ROR_1),
2800     kInstruction_add_al_r14_r12_r14_ROR_1,
2801   },
2802   {
2803     ARRAY_SIZE(kInstruction_add_al_r9_r7_r4_ROR_28),
2804     kInstruction_add_al_r9_r7_r4_ROR_28,
2805   },
2806   {
2807     ARRAY_SIZE(kInstruction_add_al_r13_r14_r11_ROR_4),
2808     kInstruction_add_al_r13_r14_r11_ROR_4,
2809   },
2810   {
2811     ARRAY_SIZE(kInstruction_add_al_r14_r6_r14_LSL_22),
2812     kInstruction_add_al_r14_r6_r14_LSL_22,
2813   },
2814   {
2815     ARRAY_SIZE(kInstruction_add_al_r9_r10_r13_LSL_27),
2816     kInstruction_add_al_r9_r10_r13_LSL_27,
2817   },
2818   {
2819     ARRAY_SIZE(kInstruction_add_al_r12_r1_r7_LSL_17),
2820     kInstruction_add_al_r12_r1_r7_LSL_17,
2821   },
2822   {
2823     ARRAY_SIZE(kInstruction_add_al_r8_r0_r5_ROR_6),
2824     kInstruction_add_al_r8_r0_r5_ROR_6,
2825   },
2826   {
2827     ARRAY_SIZE(kInstruction_add_al_r3_r11_r6_LSL_6),
2828     kInstruction_add_al_r3_r11_r6_LSL_6,
2829   },
2830   {
2831     ARRAY_SIZE(kInstruction_add_al_r13_r5_r7_LSL_23),
2832     kInstruction_add_al_r13_r5_r7_LSL_23,
2833   },
2834   {
2835     ARRAY_SIZE(kInstruction_add_al_r13_r8_r1_ROR_20),
2836     kInstruction_add_al_r13_r8_r1_ROR_20,
2837   },
2838   {
2839     ARRAY_SIZE(kInstruction_add_al_r13_r0_r7_LSL_10),
2840     kInstruction_add_al_r13_r0_r7_LSL_10,
2841   },
2842   {
2843     ARRAY_SIZE(kInstruction_add_al_r7_r1_r12_ROR_17),
2844     kInstruction_add_al_r7_r1_r12_ROR_17,
2845   },
2846   {
2847     ARRAY_SIZE(kInstruction_add_al_r5_r3_r12_LSL_12),
2848     kInstruction_add_al_r5_r3_r12_LSL_12,
2849   },
2850   {
2851     ARRAY_SIZE(kInstruction_add_al_r0_r12_r4_LSL_6),
2852     kInstruction_add_al_r0_r12_r4_LSL_6,
2853   },
2854   {
2855     ARRAY_SIZE(kInstruction_add_al_r7_r11_r11_ROR_8),
2856     kInstruction_add_al_r7_r11_r11_ROR_8,
2857   },
2858   {
2859     ARRAY_SIZE(kInstruction_add_al_r3_r0_r0_LSL_17),
2860     kInstruction_add_al_r3_r0_r0_LSL_17,
2861   },
2862   {
2863     ARRAY_SIZE(kInstruction_add_al_r4_r12_r0_ROR_2),
2864     kInstruction_add_al_r4_r12_r0_ROR_2,
2865   },
2866   {
2867     ARRAY_SIZE(kInstruction_add_al_r6_r3_r3_LSL_25),
2868     kInstruction_add_al_r6_r3_r3_LSL_25,
2869   },
2870   {
2871     ARRAY_SIZE(kInstruction_add_al_r9_r5_r5_LSL_9),
2872     kInstruction_add_al_r9_r5_r5_LSL_9,
2873   },
2874   {
2875     ARRAY_SIZE(kInstruction_add_al_r7_r3_r4_LSL_20),
2876     kInstruction_add_al_r7_r3_r4_LSL_20,
2877   },
2878   {
2879     ARRAY_SIZE(kInstruction_add_al_r12_r1_r7_ROR_6),
2880     kInstruction_add_al_r12_r1_r7_ROR_6,
2881   },
2882   {
2883     ARRAY_SIZE(kInstruction_add_al_r2_r14_r7_LSL_23),
2884     kInstruction_add_al_r2_r14_r7_LSL_23,
2885   },
2886   {
2887     ARRAY_SIZE(kInstruction_add_al_r9_r6_r9_ROR_22),
2888     kInstruction_add_al_r9_r6_r9_ROR_22,
2889   },
2890   {
2891     ARRAY_SIZE(kInstruction_add_al_r1_r8_r2_ROR_11),
2892     kInstruction_add_al_r1_r8_r2_ROR_11,
2893   },
2894   {
2895     ARRAY_SIZE(kInstruction_add_al_r10_r2_r14_ROR_15),
2896     kInstruction_add_al_r10_r2_r14_ROR_15,
2897   },
2898   {
2899     ARRAY_SIZE(kInstruction_add_al_r9_r1_r9_ROR_27),
2900     kInstruction_add_al_r9_r1_r9_ROR_27,
2901   },
2902   {
2903     ARRAY_SIZE(kInstruction_add_al_r12_r11_r13_ROR_30),
2904     kInstruction_add_al_r12_r11_r13_ROR_30,
2905   },
2906   {
2907     ARRAY_SIZE(kInstruction_add_al_r13_r11_r1_ROR_5),
2908     kInstruction_add_al_r13_r11_r1_ROR_5,
2909   },
2910   {
2911     ARRAY_SIZE(kInstruction_add_al_r12_r8_r10_LSL_24),
2912     kInstruction_add_al_r12_r8_r10_LSL_24,
2913   },
2914   {
2915     ARRAY_SIZE(kInstruction_add_al_r8_r6_r10_ROR_19),
2916     kInstruction_add_al_r8_r6_r10_ROR_19,
2917   },
2918   {
2919     ARRAY_SIZE(kInstruction_add_al_r0_r0_r2_ROR_26),
2920     kInstruction_add_al_r0_r0_r2_ROR_26,
2921   },
2922   {
2923     ARRAY_SIZE(kInstruction_add_al_r7_r14_r10_LSL_28),
2924     kInstruction_add_al_r7_r14_r10_LSL_28,
2925   },
2926   {
2927     ARRAY_SIZE(kInstruction_add_al_r3_r2_r12_LSL_12),
2928     kInstruction_add_al_r3_r2_r12_LSL_12,
2929   },
2930   {
2931     ARRAY_SIZE(kInstruction_add_al_r9_r3_r8_ROR_29),
2932     kInstruction_add_al_r9_r3_r8_ROR_29,
2933   },
2934   {
2935     ARRAY_SIZE(kInstruction_add_al_r4_r11_r12_LSL_14),
2936     kInstruction_add_al_r4_r11_r12_LSL_14,
2937   },
2938   {
2939     ARRAY_SIZE(kInstruction_add_al_r7_r5_r11_ROR_9),
2940     kInstruction_add_al_r7_r5_r11_ROR_9,
2941   },
2942   {
2943     ARRAY_SIZE(kInstruction_add_al_r12_r7_r7_ROR_2),
2944     kInstruction_add_al_r12_r7_r7_ROR_2,
2945   },
2946   {
2947     ARRAY_SIZE(kInstruction_add_al_r3_r6_r9_ROR_24),
2948     kInstruction_add_al_r3_r6_r9_ROR_24,
2949   },
2950   {
2951     ARRAY_SIZE(kInstruction_add_al_r13_r14_r9_ROR_12),
2952     kInstruction_add_al_r13_r14_r9_ROR_12,
2953   },
2954   {
2955     ARRAY_SIZE(kInstruction_add_al_r7_r3_r13_ROR_2),
2956     kInstruction_add_al_r7_r3_r13_ROR_2,
2957   },
2958   {
2959     ARRAY_SIZE(kInstruction_add_al_r5_r11_r3_LSL_21),
2960     kInstruction_add_al_r5_r11_r3_LSL_21,
2961   },
2962   {
2963     ARRAY_SIZE(kInstruction_add_al_r12_r9_r9_ROR_17),
2964     kInstruction_add_al_r12_r9_r9_ROR_17,
2965   },
2966   {
2967     ARRAY_SIZE(kInstruction_add_al_r0_r12_r13_ROR_3),
2968     kInstruction_add_al_r0_r12_r13_ROR_3,
2969   },
2970   {
2971     ARRAY_SIZE(kInstruction_add_al_r2_r4_r7_ROR_28),
2972     kInstruction_add_al_r2_r4_r7_ROR_28,
2973   },
2974   {
2975     ARRAY_SIZE(kInstruction_add_al_r11_r14_r8_LSL_5),
2976     kInstruction_add_al_r11_r14_r8_LSL_5,
2977   },
2978   {
2979     ARRAY_SIZE(kInstruction_add_al_r14_r3_r14_ROR_11),
2980     kInstruction_add_al_r14_r3_r14_ROR_11,
2981   },
2982   {
2983     ARRAY_SIZE(kInstruction_add_al_r3_r4_r9_LSL_10),
2984     kInstruction_add_al_r3_r4_r9_LSL_10,
2985   },
2986   {
2987     ARRAY_SIZE(kInstruction_add_al_r10_r5_r3_ROR_11),
2988     kInstruction_add_al_r10_r5_r3_ROR_11,
2989   },
2990   {
2991     ARRAY_SIZE(kInstruction_add_al_r5_r12_r2_ROR_29),
2992     kInstruction_add_al_r5_r12_r2_ROR_29,
2993   },
2994   {
2995     ARRAY_SIZE(kInstruction_add_al_r12_r10_r8_ROR_29),
2996     kInstruction_add_al_r12_r10_r8_ROR_29,
2997   },
2998   {
2999     ARRAY_SIZE(kInstruction_add_al_r4_r2_r12_ROR_13),
3000     kInstruction_add_al_r4_r2_r12_ROR_13,
3001   },
3002   {
3003     ARRAY_SIZE(kInstruction_add_al_r11_r7_r7_ROR_29),
3004     kInstruction_add_al_r11_r7_r7_ROR_29,
3005   },
3006   {
3007     ARRAY_SIZE(kInstruction_add_al_r12_r10_r2_ROR_20),
3008     kInstruction_add_al_r12_r10_r2_ROR_20,
3009   },
3010   {
3011     ARRAY_SIZE(kInstruction_add_al_r0_r11_r3_LSL_6),
3012     kInstruction_add_al_r0_r11_r3_LSL_6,
3013   },
3014   {
3015     ARRAY_SIZE(kInstruction_add_al_r12_r8_r10_ROR_13),
3016     kInstruction_add_al_r12_r8_r10_ROR_13,
3017   },
3018   {
3019     ARRAY_SIZE(kInstruction_add_al_r2_r3_r9_LSL_30),
3020     kInstruction_add_al_r2_r3_r9_LSL_30,
3021   },
3022   {
3023     ARRAY_SIZE(kInstruction_add_al_r9_r5_r8_ROR_27),
3024     kInstruction_add_al_r9_r5_r8_ROR_27,
3025   },
3026   {
3027     ARRAY_SIZE(kInstruction_add_al_r7_r3_r12_ROR_16),
3028     kInstruction_add_al_r7_r3_r12_ROR_16,
3029   },
3030   {
3031     ARRAY_SIZE(kInstruction_add_al_r11_r8_r3_LSL_29),
3032     kInstruction_add_al_r11_r8_r3_LSL_29,
3033   },
3034   {
3035     ARRAY_SIZE(kInstruction_add_al_r3_r9_r3_LSL_13),
3036     kInstruction_add_al_r3_r9_r3_LSL_13,
3037   },
3038   {
3039     ARRAY_SIZE(kInstruction_add_al_r10_r2_r13_LSL_7),
3040     kInstruction_add_al_r10_r2_r13_LSL_7,
3041   },
3042   {
3043     ARRAY_SIZE(kInstruction_add_al_r1_r0_r9_LSL_22),
3044     kInstruction_add_al_r1_r0_r9_LSL_22,
3045   },
3046   {
3047     ARRAY_SIZE(kInstruction_add_al_r8_r3_r9_ROR_24),
3048     kInstruction_add_al_r8_r3_r9_ROR_24,
3049   },
3050   {
3051     ARRAY_SIZE(kInstruction_add_al_r9_r13_r8_LSL_25),
3052     kInstruction_add_al_r9_r13_r8_LSL_25,
3053   },
3054   {
3055     ARRAY_SIZE(kInstruction_add_al_r7_r2_r13_ROR_16),
3056     kInstruction_add_al_r7_r2_r13_ROR_16,
3057   },
3058   {
3059     ARRAY_SIZE(kInstruction_add_al_r5_r6_r3_LSL_3),
3060     kInstruction_add_al_r5_r6_r3_LSL_3,
3061   },
3062   {
3063     ARRAY_SIZE(kInstruction_add_al_r5_r6_r10_LSL_15),
3064     kInstruction_add_al_r5_r6_r10_LSL_15,
3065   },
3066   {
3067     ARRAY_SIZE(kInstruction_add_al_r6_r8_r12_LSL_13),
3068     kInstruction_add_al_r6_r8_r12_LSL_13,
3069   },
3070   {
3071     ARRAY_SIZE(kInstruction_add_al_r1_r9_r11_ROR_7),
3072     kInstruction_add_al_r1_r9_r11_ROR_7,
3073   },
3074   {
3075     ARRAY_SIZE(kInstruction_add_al_r0_r3_r7_LSL_12),
3076     kInstruction_add_al_r0_r3_r7_LSL_12,
3077   },
3078   {
3079     ARRAY_SIZE(kInstruction_add_al_r8_r10_r2_ROR_6),
3080     kInstruction_add_al_r8_r10_r2_ROR_6,
3081   },
3082   {
3083     ARRAY_SIZE(kInstruction_add_al_r2_r11_r5_LSL_10),
3084     kInstruction_add_al_r2_r11_r5_LSL_10,
3085   },
3086   {
3087     ARRAY_SIZE(kInstruction_add_al_r13_r5_r4_LSL_15),
3088     kInstruction_add_al_r13_r5_r4_LSL_15,
3089   },
3090   {
3091     ARRAY_SIZE(kInstruction_add_al_r6_r1_r12_LSL_27),
3092     kInstruction_add_al_r6_r1_r12_LSL_27,
3093   },
3094   {
3095     ARRAY_SIZE(kInstruction_add_al_r14_r3_r5_ROR_19),
3096     kInstruction_add_al_r14_r3_r5_ROR_19,
3097   },
3098   {
3099     ARRAY_SIZE(kInstruction_add_al_r14_r0_r13_LSL_12),
3100     kInstruction_add_al_r14_r0_r13_LSL_12,
3101   },
3102   {
3103     ARRAY_SIZE(kInstruction_add_al_r11_r2_r8_ROR_15),
3104     kInstruction_add_al_r11_r2_r8_ROR_15,
3105   },
3106   {
3107     ARRAY_SIZE(kInstruction_add_al_r0_r1_r3_ROR_1),
3108     kInstruction_add_al_r0_r1_r3_ROR_1,
3109   },
3110   {
3111     ARRAY_SIZE(kInstruction_add_al_r13_r11_r11_ROR_31),
3112     kInstruction_add_al_r13_r11_r11_ROR_31,
3113   },
3114   {
3115     ARRAY_SIZE(kInstruction_add_al_r1_r4_r4_LSL_20),
3116     kInstruction_add_al_r1_r4_r4_LSL_20,
3117   },
3118   {
3119     ARRAY_SIZE(kInstruction_add_al_r2_r7_r6_ROR_7),
3120     kInstruction_add_al_r2_r7_r6_ROR_7,
3121   },
3122   {
3123     ARRAY_SIZE(kInstruction_add_al_r0_r3_r11_ROR_21),
3124     kInstruction_add_al_r0_r3_r11_ROR_21,
3125   },
3126   {
3127     ARRAY_SIZE(kInstruction_add_al_r14_r9_r6_LSL_20),
3128     kInstruction_add_al_r14_r9_r6_LSL_20,
3129   },
3130   {
3131     ARRAY_SIZE(kInstruction_add_al_r11_r2_r14_ROR_1),
3132     kInstruction_add_al_r11_r2_r14_ROR_1,
3133   },
3134   {
3135     ARRAY_SIZE(kInstruction_add_al_r13_r10_r8_ROR_22),
3136     kInstruction_add_al_r13_r10_r8_ROR_22,
3137   },
3138   {
3139     ARRAY_SIZE(kInstruction_add_al_r11_r2_r2_LSL_27),
3140     kInstruction_add_al_r11_r2_r2_LSL_27,
3141   },
3142   {
3143     ARRAY_SIZE(kInstruction_add_al_r3_r2_r14_LSL_6),
3144     kInstruction_add_al_r3_r2_r14_LSL_6,
3145   },
3146   {
3147     ARRAY_SIZE(kInstruction_add_al_r8_r3_r0_LSL_20),
3148     kInstruction_add_al_r8_r3_r0_LSL_20,
3149   },
3150   {
3151     ARRAY_SIZE(kInstruction_add_al_r8_r14_r11_ROR_19),
3152     kInstruction_add_al_r8_r14_r11_ROR_19,
3153   },
3154   {
3155     ARRAY_SIZE(kInstruction_add_al_r7_r14_r0_ROR_8),
3156     kInstruction_add_al_r7_r14_r0_ROR_8,
3157   },
3158   {
3159     ARRAY_SIZE(kInstruction_add_al_r6_r6_r3_ROR_13),
3160     kInstruction_add_al_r6_r6_r3_ROR_13,
3161   },
3162   {
3163     ARRAY_SIZE(kInstruction_add_al_r1_r9_r3_LSL_10),
3164     kInstruction_add_al_r1_r9_r3_LSL_10,
3165   },
3166   {
3167     ARRAY_SIZE(kInstruction_add_al_r14_r12_r14_ROR_13),
3168     kInstruction_add_al_r14_r12_r14_ROR_13,
3169   },
3170   {
3171     ARRAY_SIZE(kInstruction_add_al_r8_r5_r13_LSL_19),
3172     kInstruction_add_al_r8_r5_r13_LSL_19,
3173   },
3174   {
3175     ARRAY_SIZE(kInstruction_add_al_r6_r10_r10_ROR_3),
3176     kInstruction_add_al_r6_r10_r10_ROR_3,
3177   },
3178   {
3179     ARRAY_SIZE(kInstruction_add_al_r9_r5_r1_ROR_19),
3180     kInstruction_add_al_r9_r5_r1_ROR_19,
3181   },
3182   {
3183     ARRAY_SIZE(kInstruction_add_al_r10_r8_r1_LSL_12),
3184     kInstruction_add_al_r10_r8_r1_LSL_12,
3185   },
3186   {
3187     ARRAY_SIZE(kInstruction_add_al_r3_r0_r6_ROR_31),
3188     kInstruction_add_al_r3_r0_r6_ROR_31,
3189   },
3190   {
3191     ARRAY_SIZE(kInstruction_add_al_r6_r6_r5_ROR_1),
3192     kInstruction_add_al_r6_r6_r5_ROR_1,
3193   },
3194   {
3195     ARRAY_SIZE(kInstruction_add_al_r3_r0_r0_LSL_18),
3196     kInstruction_add_al_r3_r0_r0_LSL_18,
3197   },
3198   {
3199     ARRAY_SIZE(kInstruction_add_al_r14_r12_r1_LSL_11),
3200     kInstruction_add_al_r14_r12_r1_LSL_11,
3201   },
3202   {
3203     ARRAY_SIZE(kInstruction_add_al_r4_r13_r1_ROR_17),
3204     kInstruction_add_al_r4_r13_r1_ROR_17,
3205   },
3206   {
3207     ARRAY_SIZE(kInstruction_add_al_r1_r13_r0_ROR_10),
3208     kInstruction_add_al_r1_r13_r0_ROR_10,
3209   },
3210   {
3211     ARRAY_SIZE(kInstruction_add_al_r8_r0_r0_LSL_11),
3212     kInstruction_add_al_r8_r0_r0_LSL_11,
3213   },
3214   {
3215     ARRAY_SIZE(kInstruction_add_al_r3_r3_r10_ROR_18),
3216     kInstruction_add_al_r3_r3_r10_ROR_18,
3217   },
3218   {
3219     ARRAY_SIZE(kInstruction_add_al_r12_r8_r9_LSL_7),
3220     kInstruction_add_al_r12_r8_r9_LSL_7,
3221   },
3222   {
3223     ARRAY_SIZE(kInstruction_add_al_r3_r3_r11_ROR_10),
3224     kInstruction_add_al_r3_r3_r11_ROR_10,
3225   },
3226   {
3227     ARRAY_SIZE(kInstruction_add_al_r3_r14_r6_ROR_5),
3228     kInstruction_add_al_r3_r14_r6_ROR_5,
3229   },
3230   {
3231     ARRAY_SIZE(kInstruction_add_al_r7_r0_r12_ROR_7),
3232     kInstruction_add_al_r7_r0_r12_ROR_7,
3233   },
3234   {
3235     ARRAY_SIZE(kInstruction_add_al_r12_r2_r8_LSL_13),
3236     kInstruction_add_al_r12_r2_r8_LSL_13,
3237   },
3238   {
3239     ARRAY_SIZE(kInstruction_add_al_r10_r1_r0_ROR_8),
3240     kInstruction_add_al_r10_r1_r0_ROR_8,
3241   },
3242   {
3243     ARRAY_SIZE(kInstruction_add_al_r6_r12_r6_LSL_30),
3244     kInstruction_add_al_r6_r12_r6_LSL_30,
3245   },
3246   {
3247     ARRAY_SIZE(kInstruction_add_al_r6_r3_r7_ROR_11),
3248     kInstruction_add_al_r6_r3_r7_ROR_11,
3249   },
3250   {
3251     ARRAY_SIZE(kInstruction_add_al_r5_r12_r7_ROR_28),
3252     kInstruction_add_al_r5_r12_r7_ROR_28,
3253   },
3254   {
3255     ARRAY_SIZE(kInstruction_add_al_r4_r12_r10_LSL_6),
3256     kInstruction_add_al_r4_r12_r10_LSL_6,
3257   },
3258   {
3259     ARRAY_SIZE(kInstruction_add_al_r11_r5_r1_ROR_3),
3260     kInstruction_add_al_r11_r5_r1_ROR_3,
3261   },
3262   {
3263     ARRAY_SIZE(kInstruction_add_al_r9_r3_r0_ROR_26),
3264     kInstruction_add_al_r9_r3_r0_ROR_26,
3265   },
3266   {
3267     ARRAY_SIZE(kInstruction_add_al_r8_r1_r10_LSL_13),
3268     kInstruction_add_al_r8_r1_r10_LSL_13,
3269   },
3270   {
3271     ARRAY_SIZE(kInstruction_add_al_r14_r13_r14_ROR_20),
3272     kInstruction_add_al_r14_r13_r14_ROR_20,
3273   },
3274   {
3275     ARRAY_SIZE(kInstruction_add_al_r2_r3_r8_LSL_7),
3276     kInstruction_add_al_r2_r3_r8_LSL_7,
3277   },
3278   {
3279     ARRAY_SIZE(kInstruction_add_al_r0_r11_r10_ROR_4),
3280     kInstruction_add_al_r0_r11_r10_ROR_4,
3281   },
3282   {
3283     ARRAY_SIZE(kInstruction_add_al_r1_r6_r9_LSL_27),
3284     kInstruction_add_al_r1_r6_r9_LSL_27,
3285   },
3286   {
3287     ARRAY_SIZE(kInstruction_add_al_r5_r2_r4_ROR_10),
3288     kInstruction_add_al_r5_r2_r4_ROR_10,
3289   },
3290   {
3291     ARRAY_SIZE(kInstruction_add_al_r13_r8_r9_LSL_20),
3292     kInstruction_add_al_r13_r8_r9_LSL_20,
3293   },
3294   {
3295     ARRAY_SIZE(kInstruction_add_al_r11_r7_r0_LSL_20),
3296     kInstruction_add_al_r11_r7_r0_LSL_20,
3297   },
3298   {
3299     ARRAY_SIZE(kInstruction_add_al_r2_r9_r1_LSL_30),
3300     kInstruction_add_al_r2_r9_r1_LSL_30,
3301   },
3302   {
3303     ARRAY_SIZE(kInstruction_add_al_r5_r0_r5_ROR_24),
3304     kInstruction_add_al_r5_r0_r5_ROR_24,
3305   },
3306   {
3307     ARRAY_SIZE(kInstruction_add_al_r7_r4_r10_LSL_17),
3308     kInstruction_add_al_r7_r4_r10_LSL_17,
3309   },
3310   {
3311     ARRAY_SIZE(kInstruction_add_al_r11_r3_r7_ROR_19),
3312     kInstruction_add_al_r11_r3_r7_ROR_19,
3313   },
3314   {
3315     ARRAY_SIZE(kInstruction_add_al_r8_r2_r6_ROR_1),
3316     kInstruction_add_al_r8_r2_r6_ROR_1,
3317   },
3318   {
3319     ARRAY_SIZE(kInstruction_add_al_r5_r1_r8_ROR_25),
3320     kInstruction_add_al_r5_r1_r8_ROR_25,
3321   },
3322   {
3323     ARRAY_SIZE(kInstruction_add_al_r1_r4_r12_LSL_28),
3324     kInstruction_add_al_r1_r4_r12_LSL_28,
3325   },
3326   {
3327     ARRAY_SIZE(kInstruction_add_al_r12_r1_r4_LSL_14),
3328     kInstruction_add_al_r12_r1_r4_LSL_14,
3329   },
3330   {
3331     ARRAY_SIZE(kInstruction_add_al_r9_r12_r13_LSL_25),
3332     kInstruction_add_al_r9_r12_r13_LSL_25,
3333   },
3334   {
3335     ARRAY_SIZE(kInstruction_add_al_r11_r14_r5_ROR_12),
3336     kInstruction_add_al_r11_r14_r5_ROR_12,
3337   },
3338   {
3339     ARRAY_SIZE(kInstruction_add_al_r3_r8_r13_LSL_4),
3340     kInstruction_add_al_r3_r8_r13_LSL_4,
3341   },
3342   {
3343     ARRAY_SIZE(kInstruction_add_al_r9_r14_r10_ROR_12),
3344     kInstruction_add_al_r9_r14_r10_ROR_12,
3345   },
3346   {
3347     ARRAY_SIZE(kInstruction_add_al_r0_r13_r1_ROR_30),
3348     kInstruction_add_al_r0_r13_r1_ROR_30,
3349   },
3350   {
3351     ARRAY_SIZE(kInstruction_add_al_r11_r9_r9_ROR_23),
3352     kInstruction_add_al_r11_r9_r9_ROR_23,
3353   },
3354   {
3355     ARRAY_SIZE(kInstruction_add_al_r5_r2_r8_ROR_6),
3356     kInstruction_add_al_r5_r2_r8_ROR_6,
3357   },
3358   {
3359     ARRAY_SIZE(kInstruction_add_al_r8_r14_r10_ROR_23),
3360     kInstruction_add_al_r8_r14_r10_ROR_23,
3361   },
3362   {
3363     ARRAY_SIZE(kInstruction_add_al_r14_r12_r2_LSL_26),
3364     kInstruction_add_al_r14_r12_r2_LSL_26,
3365   },
3366   {
3367     ARRAY_SIZE(kInstruction_add_al_r2_r9_r10_LSL_12),
3368     kInstruction_add_al_r2_r9_r10_LSL_12,
3369   },
3370   {
3371     ARRAY_SIZE(kInstruction_add_al_r3_r1_r11_LSL_17),
3372     kInstruction_add_al_r3_r1_r11_LSL_17,
3373   },
3374   {
3375     ARRAY_SIZE(kInstruction_add_al_r3_r8_r10_LSL_23),
3376     kInstruction_add_al_r3_r8_r10_LSL_23,
3377   },
3378   {
3379     ARRAY_SIZE(kInstruction_add_al_r3_r6_r4_ROR_31),
3380     kInstruction_add_al_r3_r6_r4_ROR_31,
3381   },
3382   {
3383     ARRAY_SIZE(kInstruction_add_al_r3_r5_r10_LSL_22),
3384     kInstruction_add_al_r3_r5_r10_LSL_22,
3385   },
3386   {
3387     ARRAY_SIZE(kInstruction_add_al_r0_r3_r10_ROR_1),
3388     kInstruction_add_al_r0_r3_r10_ROR_1,
3389   },
3390   {
3391     ARRAY_SIZE(kInstruction_add_al_r5_r9_r7_ROR_9),
3392     kInstruction_add_al_r5_r9_r7_ROR_9,
3393   },
3394   {
3395     ARRAY_SIZE(kInstruction_add_al_r11_r2_r2_LSL_24),
3396     kInstruction_add_al_r11_r2_r2_LSL_24,
3397   },
3398   {
3399     ARRAY_SIZE(kInstruction_add_al_r10_r11_r7_LSL_29),
3400     kInstruction_add_al_r10_r11_r7_LSL_29,
3401   },
3402   {
3403     ARRAY_SIZE(kInstruction_add_al_r5_r4_r10_ROR_26),
3404     kInstruction_add_al_r5_r4_r10_ROR_26,
3405   },
3406   {
3407     ARRAY_SIZE(kInstruction_add_al_r8_r8_r7_LSL_20),
3408     kInstruction_add_al_r8_r8_r7_LSL_20,
3409   },
3410   {
3411     ARRAY_SIZE(kInstruction_add_al_r12_r6_r5_ROR_20),
3412     kInstruction_add_al_r12_r6_r5_ROR_20,
3413   },
3414   {
3415     ARRAY_SIZE(kInstruction_add_al_r9_r4_r7_LSL_21),
3416     kInstruction_add_al_r9_r4_r7_LSL_21,
3417   },
3418   {
3419     ARRAY_SIZE(kInstruction_add_al_r8_r2_r7_LSL_4),
3420     kInstruction_add_al_r8_r2_r7_LSL_4,
3421   },
3422   {
3423     ARRAY_SIZE(kInstruction_add_al_r9_r14_r12_LSL_8),
3424     kInstruction_add_al_r9_r14_r12_LSL_8,
3425   },
3426   {
3427     ARRAY_SIZE(kInstruction_add_al_r1_r12_r8_ROR_25),
3428     kInstruction_add_al_r1_r12_r8_ROR_25,
3429   },
3430   {
3431     ARRAY_SIZE(kInstruction_add_al_r4_r1_r4_ROR_26),
3432     kInstruction_add_al_r4_r1_r4_ROR_26,
3433   },
3434   {
3435     ARRAY_SIZE(kInstruction_add_al_r12_r6_r14_ROR_22),
3436     kInstruction_add_al_r12_r6_r14_ROR_22,
3437   },
3438   {
3439     ARRAY_SIZE(kInstruction_add_al_r2_r6_r9_LSL_17),
3440     kInstruction_add_al_r2_r6_r9_LSL_17,
3441   },
3442   {
3443     ARRAY_SIZE(kInstruction_add_al_r8_r8_r1_ROR_15),
3444     kInstruction_add_al_r8_r8_r1_ROR_15,
3445   },
3446   {
3447     ARRAY_SIZE(kInstruction_add_al_r13_r10_r8_ROR_27),
3448     kInstruction_add_al_r13_r10_r8_ROR_27,
3449   },
3450   {
3451     ARRAY_SIZE(kInstruction_add_al_r1_r10_r10_LSL_27),
3452     kInstruction_add_al_r1_r10_r10_LSL_27,
3453   },
3454   {
3455     ARRAY_SIZE(kInstruction_add_al_r7_r1_r11_ROR_26),
3456     kInstruction_add_al_r7_r1_r11_ROR_26,
3457   },
3458   {
3459     ARRAY_SIZE(kInstruction_add_al_r13_r14_r11_ROR_29),
3460     kInstruction_add_al_r13_r14_r11_ROR_29,
3461   },
3462   {
3463     ARRAY_SIZE(kInstruction_add_al_r5_r3_r14_ROR_7),
3464     kInstruction_add_al_r5_r3_r14_ROR_7,
3465   },
3466   {
3467     ARRAY_SIZE(kInstruction_add_al_r2_r12_r9_LSL_22),
3468     kInstruction_add_al_r2_r12_r9_LSL_22,
3469   },
3470   {
3471     ARRAY_SIZE(kInstruction_add_al_r4_r2_r9_LSL_12),
3472     kInstruction_add_al_r4_r2_r9_LSL_12,
3473   },
3474   {
3475     ARRAY_SIZE(kInstruction_add_al_r6_r7_r5_LSL_8),
3476     kInstruction_add_al_r6_r7_r5_LSL_8,
3477   },
3478   {
3479     ARRAY_SIZE(kInstruction_add_al_r14_r11_r6_LSL_10),
3480     kInstruction_add_al_r14_r11_r6_LSL_10,
3481   },
3482   {
3483     ARRAY_SIZE(kInstruction_add_al_r11_r10_r7_ROR_10),
3484     kInstruction_add_al_r11_r10_r7_ROR_10,
3485   },
3486   {
3487     ARRAY_SIZE(kInstruction_add_al_r9_r11_r5_ROR_8),
3488     kInstruction_add_al_r9_r11_r5_ROR_8,
3489   },
3490   {
3491     ARRAY_SIZE(kInstruction_add_al_r13_r12_r0_ROR_1),
3492     kInstruction_add_al_r13_r12_r0_ROR_1,
3493   },
3494   {
3495     ARRAY_SIZE(kInstruction_add_al_r7_r9_r3_ROR_1),
3496     kInstruction_add_al_r7_r9_r3_ROR_1,
3497   },
3498   {
3499     ARRAY_SIZE(kInstruction_add_al_r10_r2_r13_LSL_17),
3500     kInstruction_add_al_r10_r2_r13_LSL_17,
3501   },
3502   {
3503     ARRAY_SIZE(kInstruction_add_al_r10_r6_r6_LSL_16),
3504     kInstruction_add_al_r10_r6_r6_LSL_16,
3505   },
3506   {
3507     ARRAY_SIZE(kInstruction_add_al_r5_r8_r9_ROR_25),
3508     kInstruction_add_al_r5_r8_r9_ROR_25,
3509   },
3510   {
3511     ARRAY_SIZE(kInstruction_add_al_r14_r13_r2_LSL_23),
3512     kInstruction_add_al_r14_r13_r2_LSL_23,
3513   },
3514   {
3515     ARRAY_SIZE(kInstruction_add_al_r5_r13_r6_ROR_13),
3516     kInstruction_add_al_r5_r13_r6_ROR_13,
3517   },
3518   {
3519     ARRAY_SIZE(kInstruction_add_al_r6_r14_r5_LSL_3),
3520     kInstruction_add_al_r6_r14_r5_LSL_3,
3521   },
3522   {
3523     ARRAY_SIZE(kInstruction_add_al_r11_r8_r14_ROR_2),
3524     kInstruction_add_al_r11_r8_r14_ROR_2,
3525   },
3526   {
3527     ARRAY_SIZE(kInstruction_add_al_r3_r11_r13_ROR_25),
3528     kInstruction_add_al_r3_r11_r13_ROR_25,
3529   },
3530   {
3531     ARRAY_SIZE(kInstruction_add_al_r2_r1_r6_LSL_3),
3532     kInstruction_add_al_r2_r1_r6_LSL_3,
3533   },
3534   {
3535     ARRAY_SIZE(kInstruction_add_al_r1_r7_r3_ROR_30),
3536     kInstruction_add_al_r1_r7_r3_ROR_30,
3537   },
3538 };
3539 
3540 #endif  // VIXL_ASSEMBLER_COND_RD_RN_OPERAND_RM_SHIFT_AMOUNT_1TO31_T32_ADD_H_
3541