1 // Copyright 2016, VIXL authors
2 // All rights reserved.
3 //
4 // Redistribution and use in source and binary forms, with or without
5 // modification, are permitted provided that the following conditions are met:
6 //
7 // * Redistributions of source code must retain the above copyright notice,
8 // this list of conditions and the following disclaimer.
9 // * Redistributions in binary form must reproduce the above copyright notice,
10 // this list of conditions and the following disclaimer in the documentation
11 // and/or other materials provided with the distribution.
12 // * Neither the name of ARM Limited nor the names of its contributors may be
13 // used to endorse or promote products derived from this software without
14 // specific prior written permission.
15 //
16 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS CONTRIBUTORS "AS IS" AND
17 // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
18 // WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
19 // DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
20 // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
21 // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
22 // SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
23 // CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
24 // OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
25 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26
27
28 // -----------------------------------------------------------------------------
29 // This file is auto generated from the
30 // test/aarch32/config/template-simulator-aarch32.cc.in template file using
31 // tools/generate_tests.py.
32 //
33 // PLEASE DO NOT EDIT.
34 // -----------------------------------------------------------------------------
35
36
37 #include "test-runner.h"
38
39 #include "test-utils.h"
40 #include "test-utils-aarch32.h"
41
42 #include "aarch32/assembler-aarch32.h"
43 #include "aarch32/disasm-aarch32.h"
44 #include "aarch32/macro-assembler-aarch32.h"
45
46 #define __ masm.
47 #define BUF_SIZE (4096)
48
49 #ifdef VIXL_INCLUDE_SIMULATOR_AARCH32
50 // Run tests with the simulator.
51
52 #define SETUP() MacroAssembler masm(BUF_SIZE)
53
54 #define START() masm.GetBuffer()->Reset()
55
56 #define END() \
57 __ Hlt(0); \
58 __ FinalizeCode();
59
60 // TODO: Run the tests in the simulator.
61 #define RUN()
62
63 #else // ifdef VIXL_INCLUDE_SIMULATOR_AARCH32.
64
65 #define SETUP() \
66 MacroAssembler masm(BUF_SIZE); \
67 UseScratchRegisterScope harness_scratch;
68
69 #define START() \
70 harness_scratch.Open(&masm); \
71 harness_scratch.ExcludeAll(); \
72 masm.GetBuffer()->Reset(); \
73 __ Push(r4); \
74 __ Push(r5); \
75 __ Push(r6); \
76 __ Push(r7); \
77 __ Push(r8); \
78 __ Push(r9); \
79 __ Push(r10); \
80 __ Push(r11); \
81 __ Push(lr); \
82 harness_scratch.Include(ip);
83
84 #define END() \
85 harness_scratch.Exclude(ip); \
86 __ Pop(lr); \
87 __ Pop(r11); \
88 __ Pop(r10); \
89 __ Pop(r9); \
90 __ Pop(r8); \
91 __ Pop(r7); \
92 __ Pop(r6); \
93 __ Pop(r5); \
94 __ Pop(r4); \
95 __ Bx(lr); \
96 __ FinalizeCode(); \
97 harness_scratch.Close();
98
99 #define RUN() \
100 { \
101 int pcs_offset = masm.IsUsingT32() ? 1 : 0; \
102 masm.GetBuffer()->SetExecutable(); \
103 ExecuteMemory(masm.GetBuffer()->GetStartAddress<byte*>(), \
104 masm.GetSizeOfCodeGenerated(), \
105 pcs_offset); \
106 masm.GetBuffer()->SetWritable(); \
107 }
108
109 #endif // ifdef VIXL_INCLUDE_SIMULATOR_AARCH32
110
111 namespace vixl {
112 namespace aarch32 {
113
114 // List of instruction encodings:
115 #define FOREACH_INSTRUCTION(M) \
116 M(Ldrh) \
117 M(Ldrsh) \
118 M(Ldrsb) \
119 M(Strh)
120
121
122 // The following definitions are defined again in each generated test, therefore
123 // we need to place them in an anomymous namespace. It expresses that they are
124 // local to this file only, and the compiler is not allowed to share these types
125 // across test files during template instantiation. Specifically, `Operands` and
126 // `Inputs` have various layouts across generated tests so they absolutely
127 // cannot be shared.
128
129 #ifdef VIXL_INCLUDE_TARGET_A32
130 namespace {
131
132 // Values to be passed to the assembler to produce the instruction under test.
133 struct Operands {
134 Condition cond;
135 Register rd;
136 Register rn;
137 Sign sign;
138 int32_t offset;
139 AddrMode addr_mode;
140 };
141
142 // Input data to feed to the instruction.
143 struct Inputs {
144 uint32_t apsr;
145 uint32_t rd;
146 uint32_t memop[2];
147 };
148
149 // This structure contains all input data needed to test one specific encoding.
150 // It used to generate a loop over an instruction.
151 struct TestLoopData {
152 // The `operands` fields represents the values to pass to the assembler to
153 // produce the instruction.
154 Operands operands;
155 // Description of the operands, used for error reporting.
156 const char* operands_description;
157 // Unique identifier, used for generating traces.
158 const char* identifier;
159 // Array of values to be fed to the instruction.
160 size_t input_size;
161 const Inputs* inputs;
162 };
163
164 static const Inputs kCondition[] = {{NFlag, 0xabababab, {0, 0x77777777}},
165 {ZFlag, 0xabababab, {0, 0x77777777}},
166 {CFlag, 0xabababab, {0, 0x77777777}},
167 {VFlag, 0xabababab, {0, 0x77777777}},
168 {NZFlag, 0xabababab, {0, 0x77777777}},
169 {NCFlag, 0xabababab, {0, 0x77777777}},
170 {NVFlag, 0xabababab, {0, 0x77777777}},
171 {ZCFlag, 0xabababab, {0, 0x77777777}},
172 {ZVFlag, 0xabababab, {0, 0x77777777}},
173 {CVFlag, 0xabababab, {0, 0x77777777}},
174 {NZCFlag, 0xabababab, {0, 0x77777777}},
175 {NZVFlag, 0xabababab, {0, 0x77777777}},
176 {NCVFlag, 0xabababab, {0, 0x77777777}},
177 {ZCVFlag, 0xabababab, {0, 0x77777777}},
178 {NZCVFlag, 0xabababab, {0, 0x77777777}}};
179
180 static const Inputs kPositiveOffset[] = {{NoFlag, 0x00000000, {0, 0x0badbeef}},
181 {NoFlag, 0x00000020, {0, 0x0badbeef}},
182 {NoFlag, 0x00000020, {0, 0x55555555}},
183 {NoFlag, 0x33333333, {0, 0x0badbeef}},
184 {NoFlag, 0x00000002, {0, 0x0cabba9e}},
185 {NoFlag, 0x7fffffff, {0, 0x0cabba9e}},
186 {NoFlag, 0xcccccccc, {0, 0x77777777}},
187 {NoFlag, 0x7ffffffd, {0, 0x55555555}},
188 {NoFlag, 0xffffff83, {0, 0x77777777}},
189 {NoFlag, 0xaaaaaaaa, {0, 0x77777777}}};
190
191 static const Inputs kNegativeOffset[] = {{NoFlag, 0xcccccccc, {0, 0x0badbeef}},
192 {NoFlag, 0x0000007f, {0, 0x0cabba9e}},
193 {NoFlag, 0x00007ffe, {0, 0x55555555}},
194 {NoFlag, 0xffffffff, {0, 0x0cabba9e}},
195 {NoFlag, 0x00007ffd, {0, 0x77777777}},
196 {NoFlag, 0x0000007d, {0, 0x0badbeef}},
197 {NoFlag, 0xffff8001, {0, 0x0cabba9e}},
198 {NoFlag, 0xaaaaaaaa, {0, 0x55555555}},
199 {NoFlag, 0x55555555, {0, 0x0badbeef}},
200 {NoFlag, 0xffffff82, {0, 0x77777777}}};
201
202 static const Inputs kPositivePostIndex[] =
203 {{NoFlag, 0xffff8003, {0, 0x77777777}},
204 {NoFlag, 0xfffffffd, {0, 0x55555555}},
205 {NoFlag, 0xffffff83, {0, 0x0cabba9e}},
206 {NoFlag, 0x7ffffffd, {0, 0x0badbeef}},
207 {NoFlag, 0xcccccccc, {0, 0x55555555}},
208 {NoFlag, 0x00007ffd, {0, 0x55555555}},
209 {NoFlag, 0x00007fff, {0, 0x0badbeef}},
210 {NoFlag, 0x00000020, {0, 0x77777777}},
211 {NoFlag, 0x80000000, {0, 0x0cabba9e}},
212 {NoFlag, 0x80000001, {0, 0x0badbeef}}};
213
214 static const Inputs kNegativePostIndex[] =
215 {{NoFlag, 0x80000001, {0, 0x77777777}},
216 {NoFlag, 0x7ffffffe, {0, 0x0badbeef}},
217 {NoFlag, 0x0000007d, {0, 0x0badbeef}},
218 {NoFlag, 0x0000007d, {0, 0x77777777}},
219 {NoFlag, 0xcccccccc, {0, 0x77777777}},
220 {NoFlag, 0xffff8003, {0, 0x77777777}},
221 {NoFlag, 0x00000001, {0, 0x77777777}},
222 {NoFlag, 0xffff8003, {0, 0x0badbeef}},
223 {NoFlag, 0xffff8000, {0, 0x0badbeef}},
224 {NoFlag, 0xffffff80, {0, 0x0badbeef}}};
225
226 static const Inputs kPositivePreIndex[] =
227 {{NoFlag, 0xffff8003, {0, 0x55555555}},
228 {NoFlag, 0x7ffffffd, {0, 0x55555555}},
229 {NoFlag, 0x33333333, {0, 0x77777777}},
230 {NoFlag, 0xcccccccc, {0, 0x0cabba9e}},
231 {NoFlag, 0xffffffff, {0, 0x0cabba9e}},
232 {NoFlag, 0x33333333, {0, 0x55555555}},
233 {NoFlag, 0xffffff82, {0, 0x77777777}},
234 {NoFlag, 0x55555555, {0, 0x0cabba9e}},
235 {NoFlag, 0xfffffffe, {0, 0x77777777}},
236 {NoFlag, 0x0000007e, {0, 0x0cabba9e}}};
237
238 static const Inputs kNegativePreIndex[] =
239 {{NoFlag, 0x00007ffd, {0, 0x0badbeef}},
240 {NoFlag, 0xffffffff, {0, 0x77777777}},
241 {NoFlag, 0x00000002, {0, 0x0cabba9e}},
242 {NoFlag, 0xfffffffd, {0, 0x0cabba9e}},
243 {NoFlag, 0x7ffffffd, {0, 0x77777777}},
244 {NoFlag, 0xffffffff, {0, 0x55555555}},
245 {NoFlag, 0x00007ffe, {0, 0x77777777}},
246 {NoFlag, 0xffffff82, {0, 0x0cabba9e}},
247 {NoFlag, 0x0000007e, {0, 0x55555555}},
248 {NoFlag, 0x7ffffffe, {0, 0x77777777}}};
249
250
251 // A loop will be generated for each element of this array.
252 const TestLoopData kTests[] =
253 {{{eq, r0, r1, plus, 0, Offset},
254 "eq r0 r1 plus 0 Offset",
255 "Condition_eq_r0_r1_plus_0_Offset",
256 ARRAY_SIZE(kCondition),
257 kCondition},
258 {{ne, r0, r1, plus, 0, Offset},
259 "ne r0 r1 plus 0 Offset",
260 "Condition_ne_r0_r1_plus_0_Offset",
261 ARRAY_SIZE(kCondition),
262 kCondition},
263 {{cs, r0, r1, plus, 0, Offset},
264 "cs r0 r1 plus 0 Offset",
265 "Condition_cs_r0_r1_plus_0_Offset",
266 ARRAY_SIZE(kCondition),
267 kCondition},
268 {{cc, r0, r1, plus, 0, Offset},
269 "cc r0 r1 plus 0 Offset",
270 "Condition_cc_r0_r1_plus_0_Offset",
271 ARRAY_SIZE(kCondition),
272 kCondition},
273 {{mi, r0, r1, plus, 0, Offset},
274 "mi r0 r1 plus 0 Offset",
275 "Condition_mi_r0_r1_plus_0_Offset",
276 ARRAY_SIZE(kCondition),
277 kCondition},
278 {{pl, r0, r1, plus, 0, Offset},
279 "pl r0 r1 plus 0 Offset",
280 "Condition_pl_r0_r1_plus_0_Offset",
281 ARRAY_SIZE(kCondition),
282 kCondition},
283 {{vs, r0, r1, plus, 0, Offset},
284 "vs r0 r1 plus 0 Offset",
285 "Condition_vs_r0_r1_plus_0_Offset",
286 ARRAY_SIZE(kCondition),
287 kCondition},
288 {{vc, r0, r1, plus, 0, Offset},
289 "vc r0 r1 plus 0 Offset",
290 "Condition_vc_r0_r1_plus_0_Offset",
291 ARRAY_SIZE(kCondition),
292 kCondition},
293 {{hi, r0, r1, plus, 0, Offset},
294 "hi r0 r1 plus 0 Offset",
295 "Condition_hi_r0_r1_plus_0_Offset",
296 ARRAY_SIZE(kCondition),
297 kCondition},
298 {{ls, r0, r1, plus, 0, Offset},
299 "ls r0 r1 plus 0 Offset",
300 "Condition_ls_r0_r1_plus_0_Offset",
301 ARRAY_SIZE(kCondition),
302 kCondition},
303 {{ge, r0, r1, plus, 0, Offset},
304 "ge r0 r1 plus 0 Offset",
305 "Condition_ge_r0_r1_plus_0_Offset",
306 ARRAY_SIZE(kCondition),
307 kCondition},
308 {{lt, r0, r1, plus, 0, Offset},
309 "lt r0 r1 plus 0 Offset",
310 "Condition_lt_r0_r1_plus_0_Offset",
311 ARRAY_SIZE(kCondition),
312 kCondition},
313 {{gt, r0, r1, plus, 0, Offset},
314 "gt r0 r1 plus 0 Offset",
315 "Condition_gt_r0_r1_plus_0_Offset",
316 ARRAY_SIZE(kCondition),
317 kCondition},
318 {{le, r0, r1, plus, 0, Offset},
319 "le r0 r1 plus 0 Offset",
320 "Condition_le_r0_r1_plus_0_Offset",
321 ARRAY_SIZE(kCondition),
322 kCondition},
323 {{al, r0, r1, plus, 0, Offset},
324 "al r0 r1 plus 0 Offset",
325 "Condition_al_r0_r1_plus_0_Offset",
326 ARRAY_SIZE(kCondition),
327 kCondition},
328 {{al, r0, r6, plus, 126, Offset},
329 "al r0 r6 plus 126 Offset",
330 "PositiveOffset_al_r0_r6_plus_126_Offset",
331 ARRAY_SIZE(kPositiveOffset),
332 kPositiveOffset},
333 {{al, r2, r4, plus, 106, Offset},
334 "al r2 r4 plus 106 Offset",
335 "PositiveOffset_al_r2_r4_plus_106_Offset",
336 ARRAY_SIZE(kPositiveOffset),
337 kPositiveOffset},
338 {{al, r2, r1, plus, 108, Offset},
339 "al r2 r1 plus 108 Offset",
340 "PositiveOffset_al_r2_r1_plus_108_Offset",
341 ARRAY_SIZE(kPositiveOffset),
342 kPositiveOffset},
343 {{al, r6, r8, plus, 186, Offset},
344 "al r6 r8 plus 186 Offset",
345 "PositiveOffset_al_r6_r8_plus_186_Offset",
346 ARRAY_SIZE(kPositiveOffset),
347 kPositiveOffset},
348 {{al, r1, r11, plus, 233, Offset},
349 "al r1 r11 plus 233 Offset",
350 "PositiveOffset_al_r1_r11_plus_233_Offset",
351 ARRAY_SIZE(kPositiveOffset),
352 kPositiveOffset},
353 {{al, r9, r2, plus, 89, Offset},
354 "al r9 r2 plus 89 Offset",
355 "PositiveOffset_al_r9_r2_plus_89_Offset",
356 ARRAY_SIZE(kPositiveOffset),
357 kPositiveOffset},
358 {{al, r11, r1, plus, 103, Offset},
359 "al r11 r1 plus 103 Offset",
360 "PositiveOffset_al_r11_r1_plus_103_Offset",
361 ARRAY_SIZE(kPositiveOffset),
362 kPositiveOffset},
363 {{al, r7, r8, plus, 42, Offset},
364 "al r7 r8 plus 42 Offset",
365 "PositiveOffset_al_r7_r8_plus_42_Offset",
366 ARRAY_SIZE(kPositiveOffset),
367 kPositiveOffset},
368 {{al, r10, r6, plus, 158, Offset},
369 "al r10 r6 plus 158 Offset",
370 "PositiveOffset_al_r10_r6_plus_158_Offset",
371 ARRAY_SIZE(kPositiveOffset),
372 kPositiveOffset},
373 {{al, r10, r11, plus, 164, Offset},
374 "al r10 r11 plus 164 Offset",
375 "PositiveOffset_al_r10_r11_plus_164_Offset",
376 ARRAY_SIZE(kPositiveOffset),
377 kPositiveOffset},
378 {{al, r8, r14, plus, 211, Offset},
379 "al r8 r14 plus 211 Offset",
380 "PositiveOffset_al_r8_r14_plus_211_Offset",
381 ARRAY_SIZE(kPositiveOffset),
382 kPositiveOffset},
383 {{al, r2, r7, plus, 46, Offset},
384 "al r2 r7 plus 46 Offset",
385 "PositiveOffset_al_r2_r7_plus_46_Offset",
386 ARRAY_SIZE(kPositiveOffset),
387 kPositiveOffset},
388 {{al, r1, r4, plus, 196, Offset},
389 "al r1 r4 plus 196 Offset",
390 "PositiveOffset_al_r1_r4_plus_196_Offset",
391 ARRAY_SIZE(kPositiveOffset),
392 kPositiveOffset},
393 {{al, r5, r9, plus, 232, Offset},
394 "al r5 r9 plus 232 Offset",
395 "PositiveOffset_al_r5_r9_plus_232_Offset",
396 ARRAY_SIZE(kPositiveOffset),
397 kPositiveOffset},
398 {{al, r8, r4, plus, 204, Offset},
399 "al r8 r4 plus 204 Offset",
400 "PositiveOffset_al_r8_r4_plus_204_Offset",
401 ARRAY_SIZE(kPositiveOffset),
402 kPositiveOffset},
403 {{al, r4, r2, plus, 210, Offset},
404 "al r4 r2 plus 210 Offset",
405 "PositiveOffset_al_r4_r2_plus_210_Offset",
406 ARRAY_SIZE(kPositiveOffset),
407 kPositiveOffset},
408 {{al, r14, r1, plus, 136, Offset},
409 "al r14 r1 plus 136 Offset",
410 "PositiveOffset_al_r14_r1_plus_136_Offset",
411 ARRAY_SIZE(kPositiveOffset),
412 kPositiveOffset},
413 {{al, r11, r10, plus, 32, Offset},
414 "al r11 r10 plus 32 Offset",
415 "PositiveOffset_al_r11_r10_plus_32_Offset",
416 ARRAY_SIZE(kPositiveOffset),
417 kPositiveOffset},
418 {{al, r10, r11, plus, 23, Offset},
419 "al r10 r11 plus 23 Offset",
420 "PositiveOffset_al_r10_r11_plus_23_Offset",
421 ARRAY_SIZE(kPositiveOffset),
422 kPositiveOffset},
423 {{al, r3, r0, plus, 199, Offset},
424 "al r3 r0 plus 199 Offset",
425 "PositiveOffset_al_r3_r0_plus_199_Offset",
426 ARRAY_SIZE(kPositiveOffset),
427 kPositiveOffset},
428 {{al, r0, r6, plus, 46, Offset},
429 "al r0 r6 plus 46 Offset",
430 "PositiveOffset_al_r0_r6_plus_46_Offset",
431 ARRAY_SIZE(kPositiveOffset),
432 kPositiveOffset},
433 {{al, r5, r3, plus, 31, Offset},
434 "al r5 r3 plus 31 Offset",
435 "PositiveOffset_al_r5_r3_plus_31_Offset",
436 ARRAY_SIZE(kPositiveOffset),
437 kPositiveOffset},
438 {{al, r9, r8, plus, 143, Offset},
439 "al r9 r8 plus 143 Offset",
440 "PositiveOffset_al_r9_r8_plus_143_Offset",
441 ARRAY_SIZE(kPositiveOffset),
442 kPositiveOffset},
443 {{al, r11, r9, plus, 224, Offset},
444 "al r11 r9 plus 224 Offset",
445 "PositiveOffset_al_r11_r9_plus_224_Offset",
446 ARRAY_SIZE(kPositiveOffset),
447 kPositiveOffset},
448 {{al, r5, r14, plus, 48, Offset},
449 "al r5 r14 plus 48 Offset",
450 "PositiveOffset_al_r5_r14_plus_48_Offset",
451 ARRAY_SIZE(kPositiveOffset),
452 kPositiveOffset},
453 {{al, r14, r3, plus, 252, Offset},
454 "al r14 r3 plus 252 Offset",
455 "PositiveOffset_al_r14_r3_plus_252_Offset",
456 ARRAY_SIZE(kPositiveOffset),
457 kPositiveOffset},
458 {{al, r0, r11, plus, 159, Offset},
459 "al r0 r11 plus 159 Offset",
460 "PositiveOffset_al_r0_r11_plus_159_Offset",
461 ARRAY_SIZE(kPositiveOffset),
462 kPositiveOffset},
463 {{al, r12, r4, plus, 181, Offset},
464 "al r12 r4 plus 181 Offset",
465 "PositiveOffset_al_r12_r4_plus_181_Offset",
466 ARRAY_SIZE(kPositiveOffset),
467 kPositiveOffset},
468 {{al, r9, r1, plus, 28, Offset},
469 "al r9 r1 plus 28 Offset",
470 "PositiveOffset_al_r9_r1_plus_28_Offset",
471 ARRAY_SIZE(kPositiveOffset),
472 kPositiveOffset},
473 {{al, r1, r5, plus, 245, Offset},
474 "al r1 r5 plus 245 Offset",
475 "PositiveOffset_al_r1_r5_plus_245_Offset",
476 ARRAY_SIZE(kPositiveOffset),
477 kPositiveOffset},
478 {{al, r3, r5, plus, 186, Offset},
479 "al r3 r5 plus 186 Offset",
480 "PositiveOffset_al_r3_r5_plus_186_Offset",
481 ARRAY_SIZE(kPositiveOffset),
482 kPositiveOffset},
483 {{al, r1, r0, plus, 238, Offset},
484 "al r1 r0 plus 238 Offset",
485 "PositiveOffset_al_r1_r0_plus_238_Offset",
486 ARRAY_SIZE(kPositiveOffset),
487 kPositiveOffset},
488 {{al, r4, r8, plus, 228, Offset},
489 "al r4 r8 plus 228 Offset",
490 "PositiveOffset_al_r4_r8_plus_228_Offset",
491 ARRAY_SIZE(kPositiveOffset),
492 kPositiveOffset},
493 {{al, r5, r9, plus, 17, Offset},
494 "al r5 r9 plus 17 Offset",
495 "PositiveOffset_al_r5_r9_plus_17_Offset",
496 ARRAY_SIZE(kPositiveOffset),
497 kPositiveOffset},
498 {{al, r5, r7, plus, 190, Offset},
499 "al r5 r7 plus 190 Offset",
500 "PositiveOffset_al_r5_r7_plus_190_Offset",
501 ARRAY_SIZE(kPositiveOffset),
502 kPositiveOffset},
503 {{al, r14, r4, plus, 6, Offset},
504 "al r14 r4 plus 6 Offset",
505 "PositiveOffset_al_r14_r4_plus_6_Offset",
506 ARRAY_SIZE(kPositiveOffset),
507 kPositiveOffset},
508 {{al, r0, r3, plus, 24, Offset},
509 "al r0 r3 plus 24 Offset",
510 "PositiveOffset_al_r0_r3_plus_24_Offset",
511 ARRAY_SIZE(kPositiveOffset),
512 kPositiveOffset},
513 {{al, r12, r14, plus, 247, Offset},
514 "al r12 r14 plus 247 Offset",
515 "PositiveOffset_al_r12_r14_plus_247_Offset",
516 ARRAY_SIZE(kPositiveOffset),
517 kPositiveOffset},
518 {{al, r12, r3, plus, 242, Offset},
519 "al r12 r3 plus 242 Offset",
520 "PositiveOffset_al_r12_r3_plus_242_Offset",
521 ARRAY_SIZE(kPositiveOffset),
522 kPositiveOffset},
523 {{al, r7, r8, plus, 211, Offset},
524 "al r7 r8 plus 211 Offset",
525 "PositiveOffset_al_r7_r8_plus_211_Offset",
526 ARRAY_SIZE(kPositiveOffset),
527 kPositiveOffset},
528 {{al, r12, r14, plus, 203, Offset},
529 "al r12 r14 plus 203 Offset",
530 "PositiveOffset_al_r12_r14_plus_203_Offset",
531 ARRAY_SIZE(kPositiveOffset),
532 kPositiveOffset},
533 {{al, r9, r12, plus, 119, Offset},
534 "al r9 r12 plus 119 Offset",
535 "PositiveOffset_al_r9_r12_plus_119_Offset",
536 ARRAY_SIZE(kPositiveOffset),
537 kPositiveOffset},
538 {{al, r1, r7, plus, 132, Offset},
539 "al r1 r7 plus 132 Offset",
540 "PositiveOffset_al_r1_r7_plus_132_Offset",
541 ARRAY_SIZE(kPositiveOffset),
542 kPositiveOffset},
543 {{al, r3, r4, plus, 96, Offset},
544 "al r3 r4 plus 96 Offset",
545 "PositiveOffset_al_r3_r4_plus_96_Offset",
546 ARRAY_SIZE(kPositiveOffset),
547 kPositiveOffset},
548 {{al, r0, r8, plus, 230, Offset},
549 "al r0 r8 plus 230 Offset",
550 "PositiveOffset_al_r0_r8_plus_230_Offset",
551 ARRAY_SIZE(kPositiveOffset),
552 kPositiveOffset},
553 {{al, r0, r5, plus, 10, Offset},
554 "al r0 r5 plus 10 Offset",
555 "PositiveOffset_al_r0_r5_plus_10_Offset",
556 ARRAY_SIZE(kPositiveOffset),
557 kPositiveOffset},
558 {{al, r14, r5, plus, 185, Offset},
559 "al r14 r5 plus 185 Offset",
560 "PositiveOffset_al_r14_r5_plus_185_Offset",
561 ARRAY_SIZE(kPositiveOffset),
562 kPositiveOffset},
563 {{al, r6, r3, plus, 180, Offset},
564 "al r6 r3 plus 180 Offset",
565 "PositiveOffset_al_r6_r3_plus_180_Offset",
566 ARRAY_SIZE(kPositiveOffset),
567 kPositiveOffset},
568 {{al, r10, r11, plus, 5, Offset},
569 "al r10 r11 plus 5 Offset",
570 "PositiveOffset_al_r10_r11_plus_5_Offset",
571 ARRAY_SIZE(kPositiveOffset),
572 kPositiveOffset},
573 {{al, r4, r11, plus, 78, Offset},
574 "al r4 r11 plus 78 Offset",
575 "PositiveOffset_al_r4_r11_plus_78_Offset",
576 ARRAY_SIZE(kPositiveOffset),
577 kPositiveOffset},
578 {{al, r11, r6, plus, 101, Offset},
579 "al r11 r6 plus 101 Offset",
580 "PositiveOffset_al_r11_r6_plus_101_Offset",
581 ARRAY_SIZE(kPositiveOffset),
582 kPositiveOffset},
583 {{al, r3, r6, plus, 203, Offset},
584 "al r3 r6 plus 203 Offset",
585 "PositiveOffset_al_r3_r6_plus_203_Offset",
586 ARRAY_SIZE(kPositiveOffset),
587 kPositiveOffset},
588 {{al, r4, r2, plus, 93, Offset},
589 "al r4 r2 plus 93 Offset",
590 "PositiveOffset_al_r4_r2_plus_93_Offset",
591 ARRAY_SIZE(kPositiveOffset),
592 kPositiveOffset},
593 {{al, r8, r2, plus, 213, Offset},
594 "al r8 r2 plus 213 Offset",
595 "PositiveOffset_al_r8_r2_plus_213_Offset",
596 ARRAY_SIZE(kPositiveOffset),
597 kPositiveOffset},
598 {{al, r4, r14, plus, 92, Offset},
599 "al r4 r14 plus 92 Offset",
600 "PositiveOffset_al_r4_r14_plus_92_Offset",
601 ARRAY_SIZE(kPositiveOffset),
602 kPositiveOffset},
603 {{al, r11, r12, plus, 250, Offset},
604 "al r11 r12 plus 250 Offset",
605 "PositiveOffset_al_r11_r12_plus_250_Offset",
606 ARRAY_SIZE(kPositiveOffset),
607 kPositiveOffset},
608 {{al, r8, r14, plus, 181, Offset},
609 "al r8 r14 plus 181 Offset",
610 "PositiveOffset_al_r8_r14_plus_181_Offset",
611 ARRAY_SIZE(kPositiveOffset),
612 kPositiveOffset},
613 {{al, r11, r2, plus, 30, Offset},
614 "al r11 r2 plus 30 Offset",
615 "PositiveOffset_al_r11_r2_plus_30_Offset",
616 ARRAY_SIZE(kPositiveOffset),
617 kPositiveOffset},
618 {{al, r7, r11, plus, 102, Offset},
619 "al r7 r11 plus 102 Offset",
620 "PositiveOffset_al_r7_r11_plus_102_Offset",
621 ARRAY_SIZE(kPositiveOffset),
622 kPositiveOffset},
623 {{al, r6, r8, plus, 135, Offset},
624 "al r6 r8 plus 135 Offset",
625 "PositiveOffset_al_r6_r8_plus_135_Offset",
626 ARRAY_SIZE(kPositiveOffset),
627 kPositiveOffset},
628 {{al, r10, r6, plus, 19, Offset},
629 "al r10 r6 plus 19 Offset",
630 "PositiveOffset_al_r10_r6_plus_19_Offset",
631 ARRAY_SIZE(kPositiveOffset),
632 kPositiveOffset},
633 {{al, r6, r12, plus, 130, Offset},
634 "al r6 r12 plus 130 Offset",
635 "PositiveOffset_al_r6_r12_plus_130_Offset",
636 ARRAY_SIZE(kPositiveOffset),
637 kPositiveOffset},
638 {{al, r9, r2, plus, 187, Offset},
639 "al r9 r2 plus 187 Offset",
640 "PositiveOffset_al_r9_r2_plus_187_Offset",
641 ARRAY_SIZE(kPositiveOffset),
642 kPositiveOffset},
643 {{al, r12, r5, plus, 134, Offset},
644 "al r12 r5 plus 134 Offset",
645 "PositiveOffset_al_r12_r5_plus_134_Offset",
646 ARRAY_SIZE(kPositiveOffset),
647 kPositiveOffset},
648 {{al, r5, r4, plus, 101, Offset},
649 "al r5 r4 plus 101 Offset",
650 "PositiveOffset_al_r5_r4_plus_101_Offset",
651 ARRAY_SIZE(kPositiveOffset),
652 kPositiveOffset},
653 {{al, r14, r9, plus, 124, Offset},
654 "al r14 r9 plus 124 Offset",
655 "PositiveOffset_al_r14_r9_plus_124_Offset",
656 ARRAY_SIZE(kPositiveOffset),
657 kPositiveOffset},
658 {{al, r9, r14, plus, 119, Offset},
659 "al r9 r14 plus 119 Offset",
660 "PositiveOffset_al_r9_r14_plus_119_Offset",
661 ARRAY_SIZE(kPositiveOffset),
662 kPositiveOffset},
663 {{al, r8, r1, plus, 9, Offset},
664 "al r8 r1 plus 9 Offset",
665 "PositiveOffset_al_r8_r1_plus_9_Offset",
666 ARRAY_SIZE(kPositiveOffset),
667 kPositiveOffset},
668 {{al, r6, r14, plus, 6, Offset},
669 "al r6 r14 plus 6 Offset",
670 "PositiveOffset_al_r6_r14_plus_6_Offset",
671 ARRAY_SIZE(kPositiveOffset),
672 kPositiveOffset},
673 {{al, r6, r14, plus, 162, Offset},
674 "al r6 r14 plus 162 Offset",
675 "PositiveOffset_al_r6_r14_plus_162_Offset",
676 ARRAY_SIZE(kPositiveOffset),
677 kPositiveOffset},
678 {{al, r3, r8, plus, 36, Offset},
679 "al r3 r8 plus 36 Offset",
680 "PositiveOffset_al_r3_r8_plus_36_Offset",
681 ARRAY_SIZE(kPositiveOffset),
682 kPositiveOffset},
683 {{al, r3, r1, plus, 32, Offset},
684 "al r3 r1 plus 32 Offset",
685 "PositiveOffset_al_r3_r1_plus_32_Offset",
686 ARRAY_SIZE(kPositiveOffset),
687 kPositiveOffset},
688 {{al, r9, r0, plus, 90, Offset},
689 "al r9 r0 plus 90 Offset",
690 "PositiveOffset_al_r9_r0_plus_90_Offset",
691 ARRAY_SIZE(kPositiveOffset),
692 kPositiveOffset},
693 {{al, r11, r10, plus, 131, Offset},
694 "al r11 r10 plus 131 Offset",
695 "PositiveOffset_al_r11_r10_plus_131_Offset",
696 ARRAY_SIZE(kPositiveOffset),
697 kPositiveOffset},
698 {{al, r7, r12, plus, 34, Offset},
699 "al r7 r12 plus 34 Offset",
700 "PositiveOffset_al_r7_r12_plus_34_Offset",
701 ARRAY_SIZE(kPositiveOffset),
702 kPositiveOffset},
703 {{al, r0, r9, plus, 145, Offset},
704 "al r0 r9 plus 145 Offset",
705 "PositiveOffset_al_r0_r9_plus_145_Offset",
706 ARRAY_SIZE(kPositiveOffset),
707 kPositiveOffset},
708 {{al, r3, r2, plus, 101, Offset},
709 "al r3 r2 plus 101 Offset",
710 "PositiveOffset_al_r3_r2_plus_101_Offset",
711 ARRAY_SIZE(kPositiveOffset),
712 kPositiveOffset},
713 {{al, r12, r6, plus, 236, Offset},
714 "al r12 r6 plus 236 Offset",
715 "PositiveOffset_al_r12_r6_plus_236_Offset",
716 ARRAY_SIZE(kPositiveOffset),
717 kPositiveOffset},
718 {{al, r8, r2, plus, 111, Offset},
719 "al r8 r2 plus 111 Offset",
720 "PositiveOffset_al_r8_r2_plus_111_Offset",
721 ARRAY_SIZE(kPositiveOffset),
722 kPositiveOffset},
723 {{al, r12, r6, plus, 80, Offset},
724 "al r12 r6 plus 80 Offset",
725 "PositiveOffset_al_r12_r6_plus_80_Offset",
726 ARRAY_SIZE(kPositiveOffset),
727 kPositiveOffset},
728 {{al, r6, r0, plus, 17, Offset},
729 "al r6 r0 plus 17 Offset",
730 "PositiveOffset_al_r6_r0_plus_17_Offset",
731 ARRAY_SIZE(kPositiveOffset),
732 kPositiveOffset},
733 {{al, r0, r3, plus, 50, Offset},
734 "al r0 r3 plus 50 Offset",
735 "PositiveOffset_al_r0_r3_plus_50_Offset",
736 ARRAY_SIZE(kPositiveOffset),
737 kPositiveOffset},
738 {{al, r8, r7, plus, 238, Offset},
739 "al r8 r7 plus 238 Offset",
740 "PositiveOffset_al_r8_r7_plus_238_Offset",
741 ARRAY_SIZE(kPositiveOffset),
742 kPositiveOffset},
743 {{al, r5, r0, plus, 101, Offset},
744 "al r5 r0 plus 101 Offset",
745 "PositiveOffset_al_r5_r0_plus_101_Offset",
746 ARRAY_SIZE(kPositiveOffset),
747 kPositiveOffset},
748 {{al, r2, r9, plus, 38, Offset},
749 "al r2 r9 plus 38 Offset",
750 "PositiveOffset_al_r2_r9_plus_38_Offset",
751 ARRAY_SIZE(kPositiveOffset),
752 kPositiveOffset},
753 {{al, r8, r7, plus, 169, Offset},
754 "al r8 r7 plus 169 Offset",
755 "PositiveOffset_al_r8_r7_plus_169_Offset",
756 ARRAY_SIZE(kPositiveOffset),
757 kPositiveOffset},
758 {{al, r11, r8, plus, 241, Offset},
759 "al r11 r8 plus 241 Offset",
760 "PositiveOffset_al_r11_r8_plus_241_Offset",
761 ARRAY_SIZE(kPositiveOffset),
762 kPositiveOffset},
763 {{al, r6, r5, plus, 218, Offset},
764 "al r6 r5 plus 218 Offset",
765 "PositiveOffset_al_r6_r5_plus_218_Offset",
766 ARRAY_SIZE(kPositiveOffset),
767 kPositiveOffset},
768 {{al, r11, r5, plus, 126, Offset},
769 "al r11 r5 plus 126 Offset",
770 "PositiveOffset_al_r11_r5_plus_126_Offset",
771 ARRAY_SIZE(kPositiveOffset),
772 kPositiveOffset},
773 {{al, r5, r3, plus, 250, Offset},
774 "al r5 r3 plus 250 Offset",
775 "PositiveOffset_al_r5_r3_plus_250_Offset",
776 ARRAY_SIZE(kPositiveOffset),
777 kPositiveOffset},
778 {{al, r0, r12, plus, 46, Offset},
779 "al r0 r12 plus 46 Offset",
780 "PositiveOffset_al_r0_r12_plus_46_Offset",
781 ARRAY_SIZE(kPositiveOffset),
782 kPositiveOffset},
783 {{al, r6, r14, plus, 124, Offset},
784 "al r6 r14 plus 124 Offset",
785 "PositiveOffset_al_r6_r14_plus_124_Offset",
786 ARRAY_SIZE(kPositiveOffset),
787 kPositiveOffset},
788 {{al, r1, r3, plus, 237, Offset},
789 "al r1 r3 plus 237 Offset",
790 "PositiveOffset_al_r1_r3_plus_237_Offset",
791 ARRAY_SIZE(kPositiveOffset),
792 kPositiveOffset},
793 {{al, r9, r1, plus, 42, Offset},
794 "al r9 r1 plus 42 Offset",
795 "PositiveOffset_al_r9_r1_plus_42_Offset",
796 ARRAY_SIZE(kPositiveOffset),
797 kPositiveOffset},
798 {{al, r2, r9, plus, 17, Offset},
799 "al r2 r9 plus 17 Offset",
800 "PositiveOffset_al_r2_r9_plus_17_Offset",
801 ARRAY_SIZE(kPositiveOffset),
802 kPositiveOffset},
803 {{al, r7, r0, plus, 206, Offset},
804 "al r7 r0 plus 206 Offset",
805 "PositiveOffset_al_r7_r0_plus_206_Offset",
806 ARRAY_SIZE(kPositiveOffset),
807 kPositiveOffset},
808 {{al, r2, r14, plus, 248, Offset},
809 "al r2 r14 plus 248 Offset",
810 "PositiveOffset_al_r2_r14_plus_248_Offset",
811 ARRAY_SIZE(kPositiveOffset),
812 kPositiveOffset},
813 {{al, r4, r11, plus, 2, Offset},
814 "al r4 r11 plus 2 Offset",
815 "PositiveOffset_al_r4_r11_plus_2_Offset",
816 ARRAY_SIZE(kPositiveOffset),
817 kPositiveOffset},
818 {{al, r0, r5, plus, 213, Offset},
819 "al r0 r5 plus 213 Offset",
820 "PositiveOffset_al_r0_r5_plus_213_Offset",
821 ARRAY_SIZE(kPositiveOffset),
822 kPositiveOffset},
823 {{al, r0, r9, plus, 229, Offset},
824 "al r0 r9 plus 229 Offset",
825 "PositiveOffset_al_r0_r9_plus_229_Offset",
826 ARRAY_SIZE(kPositiveOffset),
827 kPositiveOffset},
828 {{al, r11, r6, minus, 4, Offset},
829 "al r11 r6 minus 4 Offset",
830 "NegativeOffset_al_r11_r6_minus_4_Offset",
831 ARRAY_SIZE(kNegativeOffset),
832 kNegativeOffset},
833 {{al, r4, r3, minus, 59, Offset},
834 "al r4 r3 minus 59 Offset",
835 "NegativeOffset_al_r4_r3_minus_59_Offset",
836 ARRAY_SIZE(kNegativeOffset),
837 kNegativeOffset},
838 {{al, r5, r2, minus, 23, Offset},
839 "al r5 r2 minus 23 Offset",
840 "NegativeOffset_al_r5_r2_minus_23_Offset",
841 ARRAY_SIZE(kNegativeOffset),
842 kNegativeOffset},
843 {{al, r11, r6, minus, 97, Offset},
844 "al r11 r6 minus 97 Offset",
845 "NegativeOffset_al_r11_r6_minus_97_Offset",
846 ARRAY_SIZE(kNegativeOffset),
847 kNegativeOffset},
848 {{al, r4, r6, minus, 239, Offset},
849 "al r4 r6 minus 239 Offset",
850 "NegativeOffset_al_r4_r6_minus_239_Offset",
851 ARRAY_SIZE(kNegativeOffset),
852 kNegativeOffset},
853 {{al, r2, r12, minus, 36, Offset},
854 "al r2 r12 minus 36 Offset",
855 "NegativeOffset_al_r2_r12_minus_36_Offset",
856 ARRAY_SIZE(kNegativeOffset),
857 kNegativeOffset},
858 {{al, r12, r11, minus, 6, Offset},
859 "al r12 r11 minus 6 Offset",
860 "NegativeOffset_al_r12_r11_minus_6_Offset",
861 ARRAY_SIZE(kNegativeOffset),
862 kNegativeOffset},
863 {{al, r10, r9, minus, 11, Offset},
864 "al r10 r9 minus 11 Offset",
865 "NegativeOffset_al_r10_r9_minus_11_Offset",
866 ARRAY_SIZE(kNegativeOffset),
867 kNegativeOffset},
868 {{al, r7, r1, minus, 0, Offset},
869 "al r7 r1 minus 0 Offset",
870 "NegativeOffset_al_r7_r1_minus_0_Offset",
871 ARRAY_SIZE(kNegativeOffset),
872 kNegativeOffset},
873 {{al, r10, r9, minus, 148, Offset},
874 "al r10 r9 minus 148 Offset",
875 "NegativeOffset_al_r10_r9_minus_148_Offset",
876 ARRAY_SIZE(kNegativeOffset),
877 kNegativeOffset},
878 {{al, r11, r2, minus, 249, Offset},
879 "al r11 r2 minus 249 Offset",
880 "NegativeOffset_al_r11_r2_minus_249_Offset",
881 ARRAY_SIZE(kNegativeOffset),
882 kNegativeOffset},
883 {{al, r9, r8, minus, 99, Offset},
884 "al r9 r8 minus 99 Offset",
885 "NegativeOffset_al_r9_r8_minus_99_Offset",
886 ARRAY_SIZE(kNegativeOffset),
887 kNegativeOffset},
888 {{al, r9, r4, minus, 43, Offset},
889 "al r9 r4 minus 43 Offset",
890 "NegativeOffset_al_r9_r4_minus_43_Offset",
891 ARRAY_SIZE(kNegativeOffset),
892 kNegativeOffset},
893 {{al, r14, r9, minus, 43, Offset},
894 "al r14 r9 minus 43 Offset",
895 "NegativeOffset_al_r14_r9_minus_43_Offset",
896 ARRAY_SIZE(kNegativeOffset),
897 kNegativeOffset},
898 {{al, r8, r7, minus, 52, Offset},
899 "al r8 r7 minus 52 Offset",
900 "NegativeOffset_al_r8_r7_minus_52_Offset",
901 ARRAY_SIZE(kNegativeOffset),
902 kNegativeOffset},
903 {{al, r9, r3, minus, 171, Offset},
904 "al r9 r3 minus 171 Offset",
905 "NegativeOffset_al_r9_r3_minus_171_Offset",
906 ARRAY_SIZE(kNegativeOffset),
907 kNegativeOffset},
908 {{al, r5, r1, minus, 119, Offset},
909 "al r5 r1 minus 119 Offset",
910 "NegativeOffset_al_r5_r1_minus_119_Offset",
911 ARRAY_SIZE(kNegativeOffset),
912 kNegativeOffset},
913 {{al, r14, r12, minus, 144, Offset},
914 "al r14 r12 minus 144 Offset",
915 "NegativeOffset_al_r14_r12_minus_144_Offset",
916 ARRAY_SIZE(kNegativeOffset),
917 kNegativeOffset},
918 {{al, r0, r5, minus, 111, Offset},
919 "al r0 r5 minus 111 Offset",
920 "NegativeOffset_al_r0_r5_minus_111_Offset",
921 ARRAY_SIZE(kNegativeOffset),
922 kNegativeOffset},
923 {{al, r2, r1, minus, 85, Offset},
924 "al r2 r1 minus 85 Offset",
925 "NegativeOffset_al_r2_r1_minus_85_Offset",
926 ARRAY_SIZE(kNegativeOffset),
927 kNegativeOffset},
928 {{al, r7, r3, minus, 68, Offset},
929 "al r7 r3 minus 68 Offset",
930 "NegativeOffset_al_r7_r3_minus_68_Offset",
931 ARRAY_SIZE(kNegativeOffset),
932 kNegativeOffset},
933 {{al, r11, r3, minus, 4, Offset},
934 "al r11 r3 minus 4 Offset",
935 "NegativeOffset_al_r11_r3_minus_4_Offset",
936 ARRAY_SIZE(kNegativeOffset),
937 kNegativeOffset},
938 {{al, r3, r5, minus, 178, Offset},
939 "al r3 r5 minus 178 Offset",
940 "NegativeOffset_al_r3_r5_minus_178_Offset",
941 ARRAY_SIZE(kNegativeOffset),
942 kNegativeOffset},
943 {{al, r7, r5, minus, 40, Offset},
944 "al r7 r5 minus 40 Offset",
945 "NegativeOffset_al_r7_r5_minus_40_Offset",
946 ARRAY_SIZE(kNegativeOffset),
947 kNegativeOffset},
948 {{al, r5, r7, minus, 117, Offset},
949 "al r5 r7 minus 117 Offset",
950 "NegativeOffset_al_r5_r7_minus_117_Offset",
951 ARRAY_SIZE(kNegativeOffset),
952 kNegativeOffset},
953 {{al, r14, r10, minus, 118, Offset},
954 "al r14 r10 minus 118 Offset",
955 "NegativeOffset_al_r14_r10_minus_118_Offset",
956 ARRAY_SIZE(kNegativeOffset),
957 kNegativeOffset},
958 {{al, r3, r10, minus, 118, Offset},
959 "al r3 r10 minus 118 Offset",
960 "NegativeOffset_al_r3_r10_minus_118_Offset",
961 ARRAY_SIZE(kNegativeOffset),
962 kNegativeOffset},
963 {{al, r14, r9, minus, 34, Offset},
964 "al r14 r9 minus 34 Offset",
965 "NegativeOffset_al_r14_r9_minus_34_Offset",
966 ARRAY_SIZE(kNegativeOffset),
967 kNegativeOffset},
968 {{al, r5, r8, minus, 135, Offset},
969 "al r5 r8 minus 135 Offset",
970 "NegativeOffset_al_r5_r8_minus_135_Offset",
971 ARRAY_SIZE(kNegativeOffset),
972 kNegativeOffset},
973 {{al, r3, r1, minus, 121, Offset},
974 "al r3 r1 minus 121 Offset",
975 "NegativeOffset_al_r3_r1_minus_121_Offset",
976 ARRAY_SIZE(kNegativeOffset),
977 kNegativeOffset},
978 {{al, r2, r1, minus, 150, Offset},
979 "al r2 r1 minus 150 Offset",
980 "NegativeOffset_al_r2_r1_minus_150_Offset",
981 ARRAY_SIZE(kNegativeOffset),
982 kNegativeOffset},
983 {{al, r0, r2, minus, 10, Offset},
984 "al r0 r2 minus 10 Offset",
985 "NegativeOffset_al_r0_r2_minus_10_Offset",
986 ARRAY_SIZE(kNegativeOffset),
987 kNegativeOffset},
988 {{al, r5, r6, minus, 222, Offset},
989 "al r5 r6 minus 222 Offset",
990 "NegativeOffset_al_r5_r6_minus_222_Offset",
991 ARRAY_SIZE(kNegativeOffset),
992 kNegativeOffset},
993 {{al, r3, r9, minus, 150, Offset},
994 "al r3 r9 minus 150 Offset",
995 "NegativeOffset_al_r3_r9_minus_150_Offset",
996 ARRAY_SIZE(kNegativeOffset),
997 kNegativeOffset},
998 {{al, r5, r0, minus, 154, Offset},
999 "al r5 r0 minus 154 Offset",
1000 "NegativeOffset_al_r5_r0_minus_154_Offset",
1001 ARRAY_SIZE(kNegativeOffset),
1002 kNegativeOffset},
1003 {{al, r5, r0, minus, 11, Offset},
1004 "al r5 r0 minus 11 Offset",
1005 "NegativeOffset_al_r5_r0_minus_11_Offset",
1006 ARRAY_SIZE(kNegativeOffset),
1007 kNegativeOffset},
1008 {{al, r1, r11, minus, 149, Offset},
1009 "al r1 r11 minus 149 Offset",
1010 "NegativeOffset_al_r1_r11_minus_149_Offset",
1011 ARRAY_SIZE(kNegativeOffset),
1012 kNegativeOffset},
1013 {{al, r0, r9, minus, 146, Offset},
1014 "al r0 r9 minus 146 Offset",
1015 "NegativeOffset_al_r0_r9_minus_146_Offset",
1016 ARRAY_SIZE(kNegativeOffset),
1017 kNegativeOffset},
1018 {{al, r9, r8, minus, 129, Offset},
1019 "al r9 r8 minus 129 Offset",
1020 "NegativeOffset_al_r9_r8_minus_129_Offset",
1021 ARRAY_SIZE(kNegativeOffset),
1022 kNegativeOffset},
1023 {{al, r11, r0, minus, 88, Offset},
1024 "al r11 r0 minus 88 Offset",
1025 "NegativeOffset_al_r11_r0_minus_88_Offset",
1026 ARRAY_SIZE(kNegativeOffset),
1027 kNegativeOffset},
1028 {{al, r10, r12, minus, 5, Offset},
1029 "al r10 r12 minus 5 Offset",
1030 "NegativeOffset_al_r10_r12_minus_5_Offset",
1031 ARRAY_SIZE(kNegativeOffset),
1032 kNegativeOffset},
1033 {{al, r9, r5, minus, 90, Offset},
1034 "al r9 r5 minus 90 Offset",
1035 "NegativeOffset_al_r9_r5_minus_90_Offset",
1036 ARRAY_SIZE(kNegativeOffset),
1037 kNegativeOffset},
1038 {{al, r8, r6, minus, 28, Offset},
1039 "al r8 r6 minus 28 Offset",
1040 "NegativeOffset_al_r8_r6_minus_28_Offset",
1041 ARRAY_SIZE(kNegativeOffset),
1042 kNegativeOffset},
1043 {{al, r0, r7, minus, 66, Offset},
1044 "al r0 r7 minus 66 Offset",
1045 "NegativeOffset_al_r0_r7_minus_66_Offset",
1046 ARRAY_SIZE(kNegativeOffset),
1047 kNegativeOffset},
1048 {{al, r6, r14, minus, 2, Offset},
1049 "al r6 r14 minus 2 Offset",
1050 "NegativeOffset_al_r6_r14_minus_2_Offset",
1051 ARRAY_SIZE(kNegativeOffset),
1052 kNegativeOffset},
1053 {{al, r4, r2, minus, 240, Offset},
1054 "al r4 r2 minus 240 Offset",
1055 "NegativeOffset_al_r4_r2_minus_240_Offset",
1056 ARRAY_SIZE(kNegativeOffset),
1057 kNegativeOffset},
1058 {{al, r3, r9, minus, 66, Offset},
1059 "al r3 r9 minus 66 Offset",
1060 "NegativeOffset_al_r3_r9_minus_66_Offset",
1061 ARRAY_SIZE(kNegativeOffset),
1062 kNegativeOffset},
1063 {{al, r9, r10, minus, 52, Offset},
1064 "al r9 r10 minus 52 Offset",
1065 "NegativeOffset_al_r9_r10_minus_52_Offset",
1066 ARRAY_SIZE(kNegativeOffset),
1067 kNegativeOffset},
1068 {{al, r7, r6, minus, 38, Offset},
1069 "al r7 r6 minus 38 Offset",
1070 "NegativeOffset_al_r7_r6_minus_38_Offset",
1071 ARRAY_SIZE(kNegativeOffset),
1072 kNegativeOffset},
1073 {{al, r5, r12, minus, 7, Offset},
1074 "al r5 r12 minus 7 Offset",
1075 "NegativeOffset_al_r5_r12_minus_7_Offset",
1076 ARRAY_SIZE(kNegativeOffset),
1077 kNegativeOffset},
1078 {{al, r8, r5, minus, 6, Offset},
1079 "al r8 r5 minus 6 Offset",
1080 "NegativeOffset_al_r8_r5_minus_6_Offset",
1081 ARRAY_SIZE(kNegativeOffset),
1082 kNegativeOffset},
1083 {{al, r2, r10, minus, 251, Offset},
1084 "al r2 r10 minus 251 Offset",
1085 "NegativeOffset_al_r2_r10_minus_251_Offset",
1086 ARRAY_SIZE(kNegativeOffset),
1087 kNegativeOffset},
1088 {{al, r11, r8, minus, 11, Offset},
1089 "al r11 r8 minus 11 Offset",
1090 "NegativeOffset_al_r11_r8_minus_11_Offset",
1091 ARRAY_SIZE(kNegativeOffset),
1092 kNegativeOffset},
1093 {{al, r4, r11, minus, 97, Offset},
1094 "al r4 r11 minus 97 Offset",
1095 "NegativeOffset_al_r4_r11_minus_97_Offset",
1096 ARRAY_SIZE(kNegativeOffset),
1097 kNegativeOffset},
1098 {{al, r14, r2, minus, 21, Offset},
1099 "al r14 r2 minus 21 Offset",
1100 "NegativeOffset_al_r14_r2_minus_21_Offset",
1101 ARRAY_SIZE(kNegativeOffset),
1102 kNegativeOffset},
1103 {{al, r12, r1, minus, 127, Offset},
1104 "al r12 r1 minus 127 Offset",
1105 "NegativeOffset_al_r12_r1_minus_127_Offset",
1106 ARRAY_SIZE(kNegativeOffset),
1107 kNegativeOffset},
1108 {{al, r0, r9, minus, 144, Offset},
1109 "al r0 r9 minus 144 Offset",
1110 "NegativeOffset_al_r0_r9_minus_144_Offset",
1111 ARRAY_SIZE(kNegativeOffset),
1112 kNegativeOffset},
1113 {{al, r8, r4, minus, 6, Offset},
1114 "al r8 r4 minus 6 Offset",
1115 "NegativeOffset_al_r8_r4_minus_6_Offset",
1116 ARRAY_SIZE(kNegativeOffset),
1117 kNegativeOffset},
1118 {{al, r7, r2, minus, 128, Offset},
1119 "al r7 r2 minus 128 Offset",
1120 "NegativeOffset_al_r7_r2_minus_128_Offset",
1121 ARRAY_SIZE(kNegativeOffset),
1122 kNegativeOffset},
1123 {{al, r0, r9, minus, 79, Offset},
1124 "al r0 r9 minus 79 Offset",
1125 "NegativeOffset_al_r0_r9_minus_79_Offset",
1126 ARRAY_SIZE(kNegativeOffset),
1127 kNegativeOffset},
1128 {{al, r7, r6, minus, 53, Offset},
1129 "al r7 r6 minus 53 Offset",
1130 "NegativeOffset_al_r7_r6_minus_53_Offset",
1131 ARRAY_SIZE(kNegativeOffset),
1132 kNegativeOffset},
1133 {{al, r4, r9, minus, 32, Offset},
1134 "al r4 r9 minus 32 Offset",
1135 "NegativeOffset_al_r4_r9_minus_32_Offset",
1136 ARRAY_SIZE(kNegativeOffset),
1137 kNegativeOffset},
1138 {{al, r4, r8, minus, 146, Offset},
1139 "al r4 r8 minus 146 Offset",
1140 "NegativeOffset_al_r4_r8_minus_146_Offset",
1141 ARRAY_SIZE(kNegativeOffset),
1142 kNegativeOffset},
1143 {{al, r5, r3, minus, 228, Offset},
1144 "al r5 r3 minus 228 Offset",
1145 "NegativeOffset_al_r5_r3_minus_228_Offset",
1146 ARRAY_SIZE(kNegativeOffset),
1147 kNegativeOffset},
1148 {{al, r2, r0, minus, 42, Offset},
1149 "al r2 r0 minus 42 Offset",
1150 "NegativeOffset_al_r2_r0_minus_42_Offset",
1151 ARRAY_SIZE(kNegativeOffset),
1152 kNegativeOffset},
1153 {{al, r1, r8, minus, 85, Offset},
1154 "al r1 r8 minus 85 Offset",
1155 "NegativeOffset_al_r1_r8_minus_85_Offset",
1156 ARRAY_SIZE(kNegativeOffset),
1157 kNegativeOffset},
1158 {{al, r3, r1, minus, 137, Offset},
1159 "al r3 r1 minus 137 Offset",
1160 "NegativeOffset_al_r3_r1_minus_137_Offset",
1161 ARRAY_SIZE(kNegativeOffset),
1162 kNegativeOffset},
1163 {{al, r5, r8, minus, 6, Offset},
1164 "al r5 r8 minus 6 Offset",
1165 "NegativeOffset_al_r5_r8_minus_6_Offset",
1166 ARRAY_SIZE(kNegativeOffset),
1167 kNegativeOffset},
1168 {{al, r5, r4, minus, 58, Offset},
1169 "al r5 r4 minus 58 Offset",
1170 "NegativeOffset_al_r5_r4_minus_58_Offset",
1171 ARRAY_SIZE(kNegativeOffset),
1172 kNegativeOffset},
1173 {{al, r5, r11, minus, 41, Offset},
1174 "al r5 r11 minus 41 Offset",
1175 "NegativeOffset_al_r5_r11_minus_41_Offset",
1176 ARRAY_SIZE(kNegativeOffset),
1177 kNegativeOffset},
1178 {{al, r7, r8, minus, 27, Offset},
1179 "al r7 r8 minus 27 Offset",
1180 "NegativeOffset_al_r7_r8_minus_27_Offset",
1181 ARRAY_SIZE(kNegativeOffset),
1182 kNegativeOffset},
1183 {{al, r6, r7, minus, 58, Offset},
1184 "al r6 r7 minus 58 Offset",
1185 "NegativeOffset_al_r6_r7_minus_58_Offset",
1186 ARRAY_SIZE(kNegativeOffset),
1187 kNegativeOffset},
1188 {{al, r7, r5, minus, 6, Offset},
1189 "al r7 r5 minus 6 Offset",
1190 "NegativeOffset_al_r7_r5_minus_6_Offset",
1191 ARRAY_SIZE(kNegativeOffset),
1192 kNegativeOffset},
1193 {{al, r9, r3, minus, 167, Offset},
1194 "al r9 r3 minus 167 Offset",
1195 "NegativeOffset_al_r9_r3_minus_167_Offset",
1196 ARRAY_SIZE(kNegativeOffset),
1197 kNegativeOffset},
1198 {{al, r6, r4, minus, 44, Offset},
1199 "al r6 r4 minus 44 Offset",
1200 "NegativeOffset_al_r6_r4_minus_44_Offset",
1201 ARRAY_SIZE(kNegativeOffset),
1202 kNegativeOffset},
1203 {{al, r8, r1, minus, 115, Offset},
1204 "al r8 r1 minus 115 Offset",
1205 "NegativeOffset_al_r8_r1_minus_115_Offset",
1206 ARRAY_SIZE(kNegativeOffset),
1207 kNegativeOffset},
1208 {{al, r4, r8, minus, 127, Offset},
1209 "al r4 r8 minus 127 Offset",
1210 "NegativeOffset_al_r4_r8_minus_127_Offset",
1211 ARRAY_SIZE(kNegativeOffset),
1212 kNegativeOffset},
1213 {{al, r6, r1, minus, 247, Offset},
1214 "al r6 r1 minus 247 Offset",
1215 "NegativeOffset_al_r6_r1_minus_247_Offset",
1216 ARRAY_SIZE(kNegativeOffset),
1217 kNegativeOffset},
1218 {{al, r5, r2, minus, 113, Offset},
1219 "al r5 r2 minus 113 Offset",
1220 "NegativeOffset_al_r5_r2_minus_113_Offset",
1221 ARRAY_SIZE(kNegativeOffset),
1222 kNegativeOffset},
1223 {{al, r10, r5, minus, 197, Offset},
1224 "al r10 r5 minus 197 Offset",
1225 "NegativeOffset_al_r10_r5_minus_197_Offset",
1226 ARRAY_SIZE(kNegativeOffset),
1227 kNegativeOffset},
1228 {{al, r3, r14, minus, 149, Offset},
1229 "al r3 r14 minus 149 Offset",
1230 "NegativeOffset_al_r3_r14_minus_149_Offset",
1231 ARRAY_SIZE(kNegativeOffset),
1232 kNegativeOffset},
1233 {{al, r4, r9, minus, 71, Offset},
1234 "al r4 r9 minus 71 Offset",
1235 "NegativeOffset_al_r4_r9_minus_71_Offset",
1236 ARRAY_SIZE(kNegativeOffset),
1237 kNegativeOffset},
1238 {{al, r9, r5, minus, 65, Offset},
1239 "al r9 r5 minus 65 Offset",
1240 "NegativeOffset_al_r9_r5_minus_65_Offset",
1241 ARRAY_SIZE(kNegativeOffset),
1242 kNegativeOffset},
1243 {{al, r1, r12, minus, 238, Offset},
1244 "al r1 r12 minus 238 Offset",
1245 "NegativeOffset_al_r1_r12_minus_238_Offset",
1246 ARRAY_SIZE(kNegativeOffset),
1247 kNegativeOffset},
1248 {{al, r8, r12, minus, 102, Offset},
1249 "al r8 r12 minus 102 Offset",
1250 "NegativeOffset_al_r8_r12_minus_102_Offset",
1251 ARRAY_SIZE(kNegativeOffset),
1252 kNegativeOffset},
1253 {{al, r14, r0, minus, 49, Offset},
1254 "al r14 r0 minus 49 Offset",
1255 "NegativeOffset_al_r14_r0_minus_49_Offset",
1256 ARRAY_SIZE(kNegativeOffset),
1257 kNegativeOffset},
1258 {{al, r12, r5, minus, 63, Offset},
1259 "al r12 r5 minus 63 Offset",
1260 "NegativeOffset_al_r12_r5_minus_63_Offset",
1261 ARRAY_SIZE(kNegativeOffset),
1262 kNegativeOffset},
1263 {{al, r9, r3, minus, 146, Offset},
1264 "al r9 r3 minus 146 Offset",
1265 "NegativeOffset_al_r9_r3_minus_146_Offset",
1266 ARRAY_SIZE(kNegativeOffset),
1267 kNegativeOffset},
1268 {{al, r14, r0, minus, 36, Offset},
1269 "al r14 r0 minus 36 Offset",
1270 "NegativeOffset_al_r14_r0_minus_36_Offset",
1271 ARRAY_SIZE(kNegativeOffset),
1272 kNegativeOffset},
1273 {{al, r1, r5, minus, 154, Offset},
1274 "al r1 r5 minus 154 Offset",
1275 "NegativeOffset_al_r1_r5_minus_154_Offset",
1276 ARRAY_SIZE(kNegativeOffset),
1277 kNegativeOffset},
1278 {{al, r4, r9, minus, 139, Offset},
1279 "al r4 r9 minus 139 Offset",
1280 "NegativeOffset_al_r4_r9_minus_139_Offset",
1281 ARRAY_SIZE(kNegativeOffset),
1282 kNegativeOffset},
1283 {{al, r8, r11, minus, 131, Offset},
1284 "al r8 r11 minus 131 Offset",
1285 "NegativeOffset_al_r8_r11_minus_131_Offset",
1286 ARRAY_SIZE(kNegativeOffset),
1287 kNegativeOffset},
1288 {{al, r4, r10, minus, 45, Offset},
1289 "al r4 r10 minus 45 Offset",
1290 "NegativeOffset_al_r4_r10_minus_45_Offset",
1291 ARRAY_SIZE(kNegativeOffset),
1292 kNegativeOffset},
1293 {{al, r11, r2, minus, 77, Offset},
1294 "al r11 r2 minus 77 Offset",
1295 "NegativeOffset_al_r11_r2_minus_77_Offset",
1296 ARRAY_SIZE(kNegativeOffset),
1297 kNegativeOffset},
1298 {{al, r9, r5, minus, 75, Offset},
1299 "al r9 r5 minus 75 Offset",
1300 "NegativeOffset_al_r9_r5_minus_75_Offset",
1301 ARRAY_SIZE(kNegativeOffset),
1302 kNegativeOffset},
1303 {{al, r12, r6, minus, 86, Offset},
1304 "al r12 r6 minus 86 Offset",
1305 "NegativeOffset_al_r12_r6_minus_86_Offset",
1306 ARRAY_SIZE(kNegativeOffset),
1307 kNegativeOffset},
1308 {{al, r0, r7, minus, 191, Offset},
1309 "al r0 r7 minus 191 Offset",
1310 "NegativeOffset_al_r0_r7_minus_191_Offset",
1311 ARRAY_SIZE(kNegativeOffset),
1312 kNegativeOffset},
1313 {{al, r3, r10, minus, 125, Offset},
1314 "al r3 r10 minus 125 Offset",
1315 "NegativeOffset_al_r3_r10_minus_125_Offset",
1316 ARRAY_SIZE(kNegativeOffset),
1317 kNegativeOffset},
1318 {{al, r2, r8, minus, 23, Offset},
1319 "al r2 r8 minus 23 Offset",
1320 "NegativeOffset_al_r2_r8_minus_23_Offset",
1321 ARRAY_SIZE(kNegativeOffset),
1322 kNegativeOffset},
1323 {{al, r1, r11, minus, 105, Offset},
1324 "al r1 r11 minus 105 Offset",
1325 "NegativeOffset_al_r1_r11_minus_105_Offset",
1326 ARRAY_SIZE(kNegativeOffset),
1327 kNegativeOffset},
1328 {{al, r14, r7, plus, 211, PostIndex},
1329 "al r14 r7 plus 211 PostIndex",
1330 "PositivePostIndex_al_r14_r7_plus_211_PostIndex",
1331 ARRAY_SIZE(kPositivePostIndex),
1332 kPositivePostIndex},
1333 {{al, r7, r11, plus, 202, PostIndex},
1334 "al r7 r11 plus 202 PostIndex",
1335 "PositivePostIndex_al_r7_r11_plus_202_PostIndex",
1336 ARRAY_SIZE(kPositivePostIndex),
1337 kPositivePostIndex},
1338 {{al, r11, r3, plus, 175, PostIndex},
1339 "al r11 r3 plus 175 PostIndex",
1340 "PositivePostIndex_al_r11_r3_plus_175_PostIndex",
1341 ARRAY_SIZE(kPositivePostIndex),
1342 kPositivePostIndex},
1343 {{al, r4, r8, plus, 129, PostIndex},
1344 "al r4 r8 plus 129 PostIndex",
1345 "PositivePostIndex_al_r4_r8_plus_129_PostIndex",
1346 ARRAY_SIZE(kPositivePostIndex),
1347 kPositivePostIndex},
1348 {{al, r4, r7, plus, 71, PostIndex},
1349 "al r4 r7 plus 71 PostIndex",
1350 "PositivePostIndex_al_r4_r7_plus_71_PostIndex",
1351 ARRAY_SIZE(kPositivePostIndex),
1352 kPositivePostIndex},
1353 {{al, r5, r12, plus, 226, PostIndex},
1354 "al r5 r12 plus 226 PostIndex",
1355 "PositivePostIndex_al_r5_r12_plus_226_PostIndex",
1356 ARRAY_SIZE(kPositivePostIndex),
1357 kPositivePostIndex},
1358 {{al, r1, r14, plus, 53, PostIndex},
1359 "al r1 r14 plus 53 PostIndex",
1360 "PositivePostIndex_al_r1_r14_plus_53_PostIndex",
1361 ARRAY_SIZE(kPositivePostIndex),
1362 kPositivePostIndex},
1363 {{al, r9, r10, plus, 116, PostIndex},
1364 "al r9 r10 plus 116 PostIndex",
1365 "PositivePostIndex_al_r9_r10_plus_116_PostIndex",
1366 ARRAY_SIZE(kPositivePostIndex),
1367 kPositivePostIndex},
1368 {{al, r10, r2, plus, 137, PostIndex},
1369 "al r10 r2 plus 137 PostIndex",
1370 "PositivePostIndex_al_r10_r2_plus_137_PostIndex",
1371 ARRAY_SIZE(kPositivePostIndex),
1372 kPositivePostIndex},
1373 {{al, r5, r7, plus, 157, PostIndex},
1374 "al r5 r7 plus 157 PostIndex",
1375 "PositivePostIndex_al_r5_r7_plus_157_PostIndex",
1376 ARRAY_SIZE(kPositivePostIndex),
1377 kPositivePostIndex},
1378 {{al, r11, r9, plus, 19, PostIndex},
1379 "al r11 r9 plus 19 PostIndex",
1380 "PositivePostIndex_al_r11_r9_plus_19_PostIndex",
1381 ARRAY_SIZE(kPositivePostIndex),
1382 kPositivePostIndex},
1383 {{al, r6, r11, plus, 229, PostIndex},
1384 "al r6 r11 plus 229 PostIndex",
1385 "PositivePostIndex_al_r6_r11_plus_229_PostIndex",
1386 ARRAY_SIZE(kPositivePostIndex),
1387 kPositivePostIndex},
1388 {{al, r5, r7, plus, 91, PostIndex},
1389 "al r5 r7 plus 91 PostIndex",
1390 "PositivePostIndex_al_r5_r7_plus_91_PostIndex",
1391 ARRAY_SIZE(kPositivePostIndex),
1392 kPositivePostIndex},
1393 {{al, r0, r2, plus, 32, PostIndex},
1394 "al r0 r2 plus 32 PostIndex",
1395 "PositivePostIndex_al_r0_r2_plus_32_PostIndex",
1396 ARRAY_SIZE(kPositivePostIndex),
1397 kPositivePostIndex},
1398 {{al, r12, r9, plus, 244, PostIndex},
1399 "al r12 r9 plus 244 PostIndex",
1400 "PositivePostIndex_al_r12_r9_plus_244_PostIndex",
1401 ARRAY_SIZE(kPositivePostIndex),
1402 kPositivePostIndex},
1403 {{al, r0, r7, plus, 180, PostIndex},
1404 "al r0 r7 plus 180 PostIndex",
1405 "PositivePostIndex_al_r0_r7_plus_180_PostIndex",
1406 ARRAY_SIZE(kPositivePostIndex),
1407 kPositivePostIndex},
1408 {{al, r5, r1, plus, 49, PostIndex},
1409 "al r5 r1 plus 49 PostIndex",
1410 "PositivePostIndex_al_r5_r1_plus_49_PostIndex",
1411 ARRAY_SIZE(kPositivePostIndex),
1412 kPositivePostIndex},
1413 {{al, r7, r2, plus, 149, PostIndex},
1414 "al r7 r2 plus 149 PostIndex",
1415 "PositivePostIndex_al_r7_r2_plus_149_PostIndex",
1416 ARRAY_SIZE(kPositivePostIndex),
1417 kPositivePostIndex},
1418 {{al, r3, r11, plus, 128, PostIndex},
1419 "al r3 r11 plus 128 PostIndex",
1420 "PositivePostIndex_al_r3_r11_plus_128_PostIndex",
1421 ARRAY_SIZE(kPositivePostIndex),
1422 kPositivePostIndex},
1423 {{al, r3, r14, plus, 139, PostIndex},
1424 "al r3 r14 plus 139 PostIndex",
1425 "PositivePostIndex_al_r3_r14_plus_139_PostIndex",
1426 ARRAY_SIZE(kPositivePostIndex),
1427 kPositivePostIndex},
1428 {{al, r1, r4, plus, 104, PostIndex},
1429 "al r1 r4 plus 104 PostIndex",
1430 "PositivePostIndex_al_r1_r4_plus_104_PostIndex",
1431 ARRAY_SIZE(kPositivePostIndex),
1432 kPositivePostIndex},
1433 {{al, r6, r8, plus, 26, PostIndex},
1434 "al r6 r8 plus 26 PostIndex",
1435 "PositivePostIndex_al_r6_r8_plus_26_PostIndex",
1436 ARRAY_SIZE(kPositivePostIndex),
1437 kPositivePostIndex},
1438 {{al, r0, r14, plus, 98, PostIndex},
1439 "al r0 r14 plus 98 PostIndex",
1440 "PositivePostIndex_al_r0_r14_plus_98_PostIndex",
1441 ARRAY_SIZE(kPositivePostIndex),
1442 kPositivePostIndex},
1443 {{al, r3, r0, plus, 148, PostIndex},
1444 "al r3 r0 plus 148 PostIndex",
1445 "PositivePostIndex_al_r3_r0_plus_148_PostIndex",
1446 ARRAY_SIZE(kPositivePostIndex),
1447 kPositivePostIndex},
1448 {{al, r2, r0, plus, 158, PostIndex},
1449 "al r2 r0 plus 158 PostIndex",
1450 "PositivePostIndex_al_r2_r0_plus_158_PostIndex",
1451 ARRAY_SIZE(kPositivePostIndex),
1452 kPositivePostIndex},
1453 {{al, r3, r1, plus, 136, PostIndex},
1454 "al r3 r1 plus 136 PostIndex",
1455 "PositivePostIndex_al_r3_r1_plus_136_PostIndex",
1456 ARRAY_SIZE(kPositivePostIndex),
1457 kPositivePostIndex},
1458 {{al, r7, r1, plus, 248, PostIndex},
1459 "al r7 r1 plus 248 PostIndex",
1460 "PositivePostIndex_al_r7_r1_plus_248_PostIndex",
1461 ARRAY_SIZE(kPositivePostIndex),
1462 kPositivePostIndex},
1463 {{al, r9, r2, plus, 34, PostIndex},
1464 "al r9 r2 plus 34 PostIndex",
1465 "PositivePostIndex_al_r9_r2_plus_34_PostIndex",
1466 ARRAY_SIZE(kPositivePostIndex),
1467 kPositivePostIndex},
1468 {{al, r1, r2, plus, 142, PostIndex},
1469 "al r1 r2 plus 142 PostIndex",
1470 "PositivePostIndex_al_r1_r2_plus_142_PostIndex",
1471 ARRAY_SIZE(kPositivePostIndex),
1472 kPositivePostIndex},
1473 {{al, r8, r4, plus, 111, PostIndex},
1474 "al r8 r4 plus 111 PostIndex",
1475 "PositivePostIndex_al_r8_r4_plus_111_PostIndex",
1476 ARRAY_SIZE(kPositivePostIndex),
1477 kPositivePostIndex},
1478 {{al, r11, r14, plus, 156, PostIndex},
1479 "al r11 r14 plus 156 PostIndex",
1480 "PositivePostIndex_al_r11_r14_plus_156_PostIndex",
1481 ARRAY_SIZE(kPositivePostIndex),
1482 kPositivePostIndex},
1483 {{al, r0, r5, plus, 87, PostIndex},
1484 "al r0 r5 plus 87 PostIndex",
1485 "PositivePostIndex_al_r0_r5_plus_87_PostIndex",
1486 ARRAY_SIZE(kPositivePostIndex),
1487 kPositivePostIndex},
1488 {{al, r10, r12, plus, 244, PostIndex},
1489 "al r10 r12 plus 244 PostIndex",
1490 "PositivePostIndex_al_r10_r12_plus_244_PostIndex",
1491 ARRAY_SIZE(kPositivePostIndex),
1492 kPositivePostIndex},
1493 {{al, r6, r8, plus, 135, PostIndex},
1494 "al r6 r8 plus 135 PostIndex",
1495 "PositivePostIndex_al_r6_r8_plus_135_PostIndex",
1496 ARRAY_SIZE(kPositivePostIndex),
1497 kPositivePostIndex},
1498 {{al, r0, r5, plus, 177, PostIndex},
1499 "al r0 r5 plus 177 PostIndex",
1500 "PositivePostIndex_al_r0_r5_plus_177_PostIndex",
1501 ARRAY_SIZE(kPositivePostIndex),
1502 kPositivePostIndex},
1503 {{al, r6, r12, plus, 160, PostIndex},
1504 "al r6 r12 plus 160 PostIndex",
1505 "PositivePostIndex_al_r6_r12_plus_160_PostIndex",
1506 ARRAY_SIZE(kPositivePostIndex),
1507 kPositivePostIndex},
1508 {{al, r6, r5, plus, 69, PostIndex},
1509 "al r6 r5 plus 69 PostIndex",
1510 "PositivePostIndex_al_r6_r5_plus_69_PostIndex",
1511 ARRAY_SIZE(kPositivePostIndex),
1512 kPositivePostIndex},
1513 {{al, r4, r6, plus, 6, PostIndex},
1514 "al r4 r6 plus 6 PostIndex",
1515 "PositivePostIndex_al_r4_r6_plus_6_PostIndex",
1516 ARRAY_SIZE(kPositivePostIndex),
1517 kPositivePostIndex},
1518 {{al, r7, r8, plus, 10, PostIndex},
1519 "al r7 r8 plus 10 PostIndex",
1520 "PositivePostIndex_al_r7_r8_plus_10_PostIndex",
1521 ARRAY_SIZE(kPositivePostIndex),
1522 kPositivePostIndex},
1523 {{al, r0, r2, plus, 76, PostIndex},
1524 "al r0 r2 plus 76 PostIndex",
1525 "PositivePostIndex_al_r0_r2_plus_76_PostIndex",
1526 ARRAY_SIZE(kPositivePostIndex),
1527 kPositivePostIndex},
1528 {{al, r2, r5, plus, 46, PostIndex},
1529 "al r2 r5 plus 46 PostIndex",
1530 "PositivePostIndex_al_r2_r5_plus_46_PostIndex",
1531 ARRAY_SIZE(kPositivePostIndex),
1532 kPositivePostIndex},
1533 {{al, r8, r0, plus, 93, PostIndex},
1534 "al r8 r0 plus 93 PostIndex",
1535 "PositivePostIndex_al_r8_r0_plus_93_PostIndex",
1536 ARRAY_SIZE(kPositivePostIndex),
1537 kPositivePostIndex},
1538 {{al, r7, r12, plus, 243, PostIndex},
1539 "al r7 r12 plus 243 PostIndex",
1540 "PositivePostIndex_al_r7_r12_plus_243_PostIndex",
1541 ARRAY_SIZE(kPositivePostIndex),
1542 kPositivePostIndex},
1543 {{al, r1, r8, plus, 223, PostIndex},
1544 "al r1 r8 plus 223 PostIndex",
1545 "PositivePostIndex_al_r1_r8_plus_223_PostIndex",
1546 ARRAY_SIZE(kPositivePostIndex),
1547 kPositivePostIndex},
1548 {{al, r12, r8, plus, 95, PostIndex},
1549 "al r12 r8 plus 95 PostIndex",
1550 "PositivePostIndex_al_r12_r8_plus_95_PostIndex",
1551 ARRAY_SIZE(kPositivePostIndex),
1552 kPositivePostIndex},
1553 {{al, r8, r11, plus, 191, PostIndex},
1554 "al r8 r11 plus 191 PostIndex",
1555 "PositivePostIndex_al_r8_r11_plus_191_PostIndex",
1556 ARRAY_SIZE(kPositivePostIndex),
1557 kPositivePostIndex},
1558 {{al, r11, r2, plus, 120, PostIndex},
1559 "al r11 r2 plus 120 PostIndex",
1560 "PositivePostIndex_al_r11_r2_plus_120_PostIndex",
1561 ARRAY_SIZE(kPositivePostIndex),
1562 kPositivePostIndex},
1563 {{al, r14, r0, plus, 161, PostIndex},
1564 "al r14 r0 plus 161 PostIndex",
1565 "PositivePostIndex_al_r14_r0_plus_161_PostIndex",
1566 ARRAY_SIZE(kPositivePostIndex),
1567 kPositivePostIndex},
1568 {{al, r5, r12, plus, 143, PostIndex},
1569 "al r5 r12 plus 143 PostIndex",
1570 "PositivePostIndex_al_r5_r12_plus_143_PostIndex",
1571 ARRAY_SIZE(kPositivePostIndex),
1572 kPositivePostIndex},
1573 {{al, r12, r11, plus, 208, PostIndex},
1574 "al r12 r11 plus 208 PostIndex",
1575 "PositivePostIndex_al_r12_r11_plus_208_PostIndex",
1576 ARRAY_SIZE(kPositivePostIndex),
1577 kPositivePostIndex},
1578 {{al, r1, r10, plus, 111, PostIndex},
1579 "al r1 r10 plus 111 PostIndex",
1580 "PositivePostIndex_al_r1_r10_plus_111_PostIndex",
1581 ARRAY_SIZE(kPositivePostIndex),
1582 kPositivePostIndex},
1583 {{al, r9, r11, plus, 36, PostIndex},
1584 "al r9 r11 plus 36 PostIndex",
1585 "PositivePostIndex_al_r9_r11_plus_36_PostIndex",
1586 ARRAY_SIZE(kPositivePostIndex),
1587 kPositivePostIndex},
1588 {{al, r9, r1, plus, 36, PostIndex},
1589 "al r9 r1 plus 36 PostIndex",
1590 "PositivePostIndex_al_r9_r1_plus_36_PostIndex",
1591 ARRAY_SIZE(kPositivePostIndex),
1592 kPositivePostIndex},
1593 {{al, r5, r1, plus, 227, PostIndex},
1594 "al r5 r1 plus 227 PostIndex",
1595 "PositivePostIndex_al_r5_r1_plus_227_PostIndex",
1596 ARRAY_SIZE(kPositivePostIndex),
1597 kPositivePostIndex},
1598 {{al, r0, r8, plus, 23, PostIndex},
1599 "al r0 r8 plus 23 PostIndex",
1600 "PositivePostIndex_al_r0_r8_plus_23_PostIndex",
1601 ARRAY_SIZE(kPositivePostIndex),
1602 kPositivePostIndex},
1603 {{al, r0, r5, plus, 200, PostIndex},
1604 "al r0 r5 plus 200 PostIndex",
1605 "PositivePostIndex_al_r0_r5_plus_200_PostIndex",
1606 ARRAY_SIZE(kPositivePostIndex),
1607 kPositivePostIndex},
1608 {{al, r1, r5, plus, 43, PostIndex},
1609 "al r1 r5 plus 43 PostIndex",
1610 "PositivePostIndex_al_r1_r5_plus_43_PostIndex",
1611 ARRAY_SIZE(kPositivePostIndex),
1612 kPositivePostIndex},
1613 {{al, r9, r4, plus, 101, PostIndex},
1614 "al r9 r4 plus 101 PostIndex",
1615 "PositivePostIndex_al_r9_r4_plus_101_PostIndex",
1616 ARRAY_SIZE(kPositivePostIndex),
1617 kPositivePostIndex},
1618 {{al, r14, r5, plus, 68, PostIndex},
1619 "al r14 r5 plus 68 PostIndex",
1620 "PositivePostIndex_al_r14_r5_plus_68_PostIndex",
1621 ARRAY_SIZE(kPositivePostIndex),
1622 kPositivePostIndex},
1623 {{al, r10, r1, plus, 29, PostIndex},
1624 "al r10 r1 plus 29 PostIndex",
1625 "PositivePostIndex_al_r10_r1_plus_29_PostIndex",
1626 ARRAY_SIZE(kPositivePostIndex),
1627 kPositivePostIndex},
1628 {{al, r7, r2, plus, 102, PostIndex},
1629 "al r7 r2 plus 102 PostIndex",
1630 "PositivePostIndex_al_r7_r2_plus_102_PostIndex",
1631 ARRAY_SIZE(kPositivePostIndex),
1632 kPositivePostIndex},
1633 {{al, r2, r4, plus, 233, PostIndex},
1634 "al r2 r4 plus 233 PostIndex",
1635 "PositivePostIndex_al_r2_r4_plus_233_PostIndex",
1636 ARRAY_SIZE(kPositivePostIndex),
1637 kPositivePostIndex},
1638 {{al, r8, r10, plus, 134, PostIndex},
1639 "al r8 r10 plus 134 PostIndex",
1640 "PositivePostIndex_al_r8_r10_plus_134_PostIndex",
1641 ARRAY_SIZE(kPositivePostIndex),
1642 kPositivePostIndex},
1643 {{al, r4, r0, plus, 136, PostIndex},
1644 "al r4 r0 plus 136 PostIndex",
1645 "PositivePostIndex_al_r4_r0_plus_136_PostIndex",
1646 ARRAY_SIZE(kPositivePostIndex),
1647 kPositivePostIndex},
1648 {{al, r9, r7, plus, 194, PostIndex},
1649 "al r9 r7 plus 194 PostIndex",
1650 "PositivePostIndex_al_r9_r7_plus_194_PostIndex",
1651 ARRAY_SIZE(kPositivePostIndex),
1652 kPositivePostIndex},
1653 {{al, r8, r14, plus, 9, PostIndex},
1654 "al r8 r14 plus 9 PostIndex",
1655 "PositivePostIndex_al_r8_r14_plus_9_PostIndex",
1656 ARRAY_SIZE(kPositivePostIndex),
1657 kPositivePostIndex},
1658 {{al, r2, r10, plus, 93, PostIndex},
1659 "al r2 r10 plus 93 PostIndex",
1660 "PositivePostIndex_al_r2_r10_plus_93_PostIndex",
1661 ARRAY_SIZE(kPositivePostIndex),
1662 kPositivePostIndex},
1663 {{al, r10, r8, plus, 29, PostIndex},
1664 "al r10 r8 plus 29 PostIndex",
1665 "PositivePostIndex_al_r10_r8_plus_29_PostIndex",
1666 ARRAY_SIZE(kPositivePostIndex),
1667 kPositivePostIndex},
1668 {{al, r11, r3, plus, 219, PostIndex},
1669 "al r11 r3 plus 219 PostIndex",
1670 "PositivePostIndex_al_r11_r3_plus_219_PostIndex",
1671 ARRAY_SIZE(kPositivePostIndex),
1672 kPositivePostIndex},
1673 {{al, r7, r5, plus, 122, PostIndex},
1674 "al r7 r5 plus 122 PostIndex",
1675 "PositivePostIndex_al_r7_r5_plus_122_PostIndex",
1676 ARRAY_SIZE(kPositivePostIndex),
1677 kPositivePostIndex},
1678 {{al, r3, r7, plus, 115, PostIndex},
1679 "al r3 r7 plus 115 PostIndex",
1680 "PositivePostIndex_al_r3_r7_plus_115_PostIndex",
1681 ARRAY_SIZE(kPositivePostIndex),
1682 kPositivePostIndex},
1683 {{al, r14, r0, plus, 168, PostIndex},
1684 "al r14 r0 plus 168 PostIndex",
1685 "PositivePostIndex_al_r14_r0_plus_168_PostIndex",
1686 ARRAY_SIZE(kPositivePostIndex),
1687 kPositivePostIndex},
1688 {{al, r1, r5, plus, 102, PostIndex},
1689 "al r1 r5 plus 102 PostIndex",
1690 "PositivePostIndex_al_r1_r5_plus_102_PostIndex",
1691 ARRAY_SIZE(kPositivePostIndex),
1692 kPositivePostIndex},
1693 {{al, r8, r0, plus, 131, PostIndex},
1694 "al r8 r0 plus 131 PostIndex",
1695 "PositivePostIndex_al_r8_r0_plus_131_PostIndex",
1696 ARRAY_SIZE(kPositivePostIndex),
1697 kPositivePostIndex},
1698 {{al, r4, r1, plus, 161, PostIndex},
1699 "al r4 r1 plus 161 PostIndex",
1700 "PositivePostIndex_al_r4_r1_plus_161_PostIndex",
1701 ARRAY_SIZE(kPositivePostIndex),
1702 kPositivePostIndex},
1703 {{al, r1, r6, plus, 140, PostIndex},
1704 "al r1 r6 plus 140 PostIndex",
1705 "PositivePostIndex_al_r1_r6_plus_140_PostIndex",
1706 ARRAY_SIZE(kPositivePostIndex),
1707 kPositivePostIndex},
1708 {{al, r2, r8, plus, 73, PostIndex},
1709 "al r2 r8 plus 73 PostIndex",
1710 "PositivePostIndex_al_r2_r8_plus_73_PostIndex",
1711 ARRAY_SIZE(kPositivePostIndex),
1712 kPositivePostIndex},
1713 {{al, r3, r8, plus, 68, PostIndex},
1714 "al r3 r8 plus 68 PostIndex",
1715 "PositivePostIndex_al_r3_r8_plus_68_PostIndex",
1716 ARRAY_SIZE(kPositivePostIndex),
1717 kPositivePostIndex},
1718 {{al, r12, r2, plus, 185, PostIndex},
1719 "al r12 r2 plus 185 PostIndex",
1720 "PositivePostIndex_al_r12_r2_plus_185_PostIndex",
1721 ARRAY_SIZE(kPositivePostIndex),
1722 kPositivePostIndex},
1723 {{al, r0, r12, plus, 95, PostIndex},
1724 "al r0 r12 plus 95 PostIndex",
1725 "PositivePostIndex_al_r0_r12_plus_95_PostIndex",
1726 ARRAY_SIZE(kPositivePostIndex),
1727 kPositivePostIndex},
1728 {{al, r12, r2, plus, 172, PostIndex},
1729 "al r12 r2 plus 172 PostIndex",
1730 "PositivePostIndex_al_r12_r2_plus_172_PostIndex",
1731 ARRAY_SIZE(kPositivePostIndex),
1732 kPositivePostIndex},
1733 {{al, r1, r5, plus, 14, PostIndex},
1734 "al r1 r5 plus 14 PostIndex",
1735 "PositivePostIndex_al_r1_r5_plus_14_PostIndex",
1736 ARRAY_SIZE(kPositivePostIndex),
1737 kPositivePostIndex},
1738 {{al, r6, r9, plus, 229, PostIndex},
1739 "al r6 r9 plus 229 PostIndex",
1740 "PositivePostIndex_al_r6_r9_plus_229_PostIndex",
1741 ARRAY_SIZE(kPositivePostIndex),
1742 kPositivePostIndex},
1743 {{al, r10, r6, plus, 31, PostIndex},
1744 "al r10 r6 plus 31 PostIndex",
1745 "PositivePostIndex_al_r10_r6_plus_31_PostIndex",
1746 ARRAY_SIZE(kPositivePostIndex),
1747 kPositivePostIndex},
1748 {{al, r8, r5, plus, 229, PostIndex},
1749 "al r8 r5 plus 229 PostIndex",
1750 "PositivePostIndex_al_r8_r5_plus_229_PostIndex",
1751 ARRAY_SIZE(kPositivePostIndex),
1752 kPositivePostIndex},
1753 {{al, r11, r10, plus, 132, PostIndex},
1754 "al r11 r10 plus 132 PostIndex",
1755 "PositivePostIndex_al_r11_r10_plus_132_PostIndex",
1756 ARRAY_SIZE(kPositivePostIndex),
1757 kPositivePostIndex},
1758 {{al, r4, r0, plus, 192, PostIndex},
1759 "al r4 r0 plus 192 PostIndex",
1760 "PositivePostIndex_al_r4_r0_plus_192_PostIndex",
1761 ARRAY_SIZE(kPositivePostIndex),
1762 kPositivePostIndex},
1763 {{al, r5, r0, plus, 176, PostIndex},
1764 "al r5 r0 plus 176 PostIndex",
1765 "PositivePostIndex_al_r5_r0_plus_176_PostIndex",
1766 ARRAY_SIZE(kPositivePostIndex),
1767 kPositivePostIndex},
1768 {{al, r5, r4, plus, 106, PostIndex},
1769 "al r5 r4 plus 106 PostIndex",
1770 "PositivePostIndex_al_r5_r4_plus_106_PostIndex",
1771 ARRAY_SIZE(kPositivePostIndex),
1772 kPositivePostIndex},
1773 {{al, r2, r12, plus, 69, PostIndex},
1774 "al r2 r12 plus 69 PostIndex",
1775 "PositivePostIndex_al_r2_r12_plus_69_PostIndex",
1776 ARRAY_SIZE(kPositivePostIndex),
1777 kPositivePostIndex},
1778 {{al, r11, r10, plus, 15, PostIndex},
1779 "al r11 r10 plus 15 PostIndex",
1780 "PositivePostIndex_al_r11_r10_plus_15_PostIndex",
1781 ARRAY_SIZE(kPositivePostIndex),
1782 kPositivePostIndex},
1783 {{al, r10, r6, plus, 159, PostIndex},
1784 "al r10 r6 plus 159 PostIndex",
1785 "PositivePostIndex_al_r10_r6_plus_159_PostIndex",
1786 ARRAY_SIZE(kPositivePostIndex),
1787 kPositivePostIndex},
1788 {{al, r12, r8, plus, 78, PostIndex},
1789 "al r12 r8 plus 78 PostIndex",
1790 "PositivePostIndex_al_r12_r8_plus_78_PostIndex",
1791 ARRAY_SIZE(kPositivePostIndex),
1792 kPositivePostIndex},
1793 {{al, r0, r5, plus, 227, PostIndex},
1794 "al r0 r5 plus 227 PostIndex",
1795 "PositivePostIndex_al_r0_r5_plus_227_PostIndex",
1796 ARRAY_SIZE(kPositivePostIndex),
1797 kPositivePostIndex},
1798 {{al, r8, r10, plus, 73, PostIndex},
1799 "al r8 r10 plus 73 PostIndex",
1800 "PositivePostIndex_al_r8_r10_plus_73_PostIndex",
1801 ARRAY_SIZE(kPositivePostIndex),
1802 kPositivePostIndex},
1803 {{al, r9, r5, plus, 10, PostIndex},
1804 "al r9 r5 plus 10 PostIndex",
1805 "PositivePostIndex_al_r9_r5_plus_10_PostIndex",
1806 ARRAY_SIZE(kPositivePostIndex),
1807 kPositivePostIndex},
1808 {{al, r12, r14, plus, 214, PostIndex},
1809 "al r12 r14 plus 214 PostIndex",
1810 "PositivePostIndex_al_r12_r14_plus_214_PostIndex",
1811 ARRAY_SIZE(kPositivePostIndex),
1812 kPositivePostIndex},
1813 {{al, r7, r14, plus, 246, PostIndex},
1814 "al r7 r14 plus 246 PostIndex",
1815 "PositivePostIndex_al_r7_r14_plus_246_PostIndex",
1816 ARRAY_SIZE(kPositivePostIndex),
1817 kPositivePostIndex},
1818 {{al, r11, r1, plus, 78, PostIndex},
1819 "al r11 r1 plus 78 PostIndex",
1820 "PositivePostIndex_al_r11_r1_plus_78_PostIndex",
1821 ARRAY_SIZE(kPositivePostIndex),
1822 kPositivePostIndex},
1823 {{al, r5, r9, plus, 26, PostIndex},
1824 "al r5 r9 plus 26 PostIndex",
1825 "PositivePostIndex_al_r5_r9_plus_26_PostIndex",
1826 ARRAY_SIZE(kPositivePostIndex),
1827 kPositivePostIndex},
1828 {{al, r9, r14, minus, 12, PostIndex},
1829 "al r9 r14 minus 12 PostIndex",
1830 "NegativePostIndex_al_r9_r14_minus_12_PostIndex",
1831 ARRAY_SIZE(kNegativePostIndex),
1832 kNegativePostIndex},
1833 {{al, r8, r4, minus, 212, PostIndex},
1834 "al r8 r4 minus 212 PostIndex",
1835 "NegativePostIndex_al_r8_r4_minus_212_PostIndex",
1836 ARRAY_SIZE(kNegativePostIndex),
1837 kNegativePostIndex},
1838 {{al, r2, r11, minus, 14, PostIndex},
1839 "al r2 r11 minus 14 PostIndex",
1840 "NegativePostIndex_al_r2_r11_minus_14_PostIndex",
1841 ARRAY_SIZE(kNegativePostIndex),
1842 kNegativePostIndex},
1843 {{al, r2, r7, minus, 225, PostIndex},
1844 "al r2 r7 minus 225 PostIndex",
1845 "NegativePostIndex_al_r2_r7_minus_225_PostIndex",
1846 ARRAY_SIZE(kNegativePostIndex),
1847 kNegativePostIndex},
1848 {{al, r11, r2, minus, 77, PostIndex},
1849 "al r11 r2 minus 77 PostIndex",
1850 "NegativePostIndex_al_r11_r2_minus_77_PostIndex",
1851 ARRAY_SIZE(kNegativePostIndex),
1852 kNegativePostIndex},
1853 {{al, r14, r8, minus, 23, PostIndex},
1854 "al r14 r8 minus 23 PostIndex",
1855 "NegativePostIndex_al_r14_r8_minus_23_PostIndex",
1856 ARRAY_SIZE(kNegativePostIndex),
1857 kNegativePostIndex},
1858 {{al, r0, r9, minus, 250, PostIndex},
1859 "al r0 r9 minus 250 PostIndex",
1860 "NegativePostIndex_al_r0_r9_minus_250_PostIndex",
1861 ARRAY_SIZE(kNegativePostIndex),
1862 kNegativePostIndex},
1863 {{al, r14, r11, minus, 121, PostIndex},
1864 "al r14 r11 minus 121 PostIndex",
1865 "NegativePostIndex_al_r14_r11_minus_121_PostIndex",
1866 ARRAY_SIZE(kNegativePostIndex),
1867 kNegativePostIndex},
1868 {{al, r12, r1, minus, 122, PostIndex},
1869 "al r12 r1 minus 122 PostIndex",
1870 "NegativePostIndex_al_r12_r1_minus_122_PostIndex",
1871 ARRAY_SIZE(kNegativePostIndex),
1872 kNegativePostIndex},
1873 {{al, r11, r5, minus, 75, PostIndex},
1874 "al r11 r5 minus 75 PostIndex",
1875 "NegativePostIndex_al_r11_r5_minus_75_PostIndex",
1876 ARRAY_SIZE(kNegativePostIndex),
1877 kNegativePostIndex},
1878 {{al, r9, r5, minus, 123, PostIndex},
1879 "al r9 r5 minus 123 PostIndex",
1880 "NegativePostIndex_al_r9_r5_minus_123_PostIndex",
1881 ARRAY_SIZE(kNegativePostIndex),
1882 kNegativePostIndex},
1883 {{al, r0, r10, minus, 31, PostIndex},
1884 "al r0 r10 minus 31 PostIndex",
1885 "NegativePostIndex_al_r0_r10_minus_31_PostIndex",
1886 ARRAY_SIZE(kNegativePostIndex),
1887 kNegativePostIndex},
1888 {{al, r9, r2, minus, 154, PostIndex},
1889 "al r9 r2 minus 154 PostIndex",
1890 "NegativePostIndex_al_r9_r2_minus_154_PostIndex",
1891 ARRAY_SIZE(kNegativePostIndex),
1892 kNegativePostIndex},
1893 {{al, r10, r3, minus, 39, PostIndex},
1894 "al r10 r3 minus 39 PostIndex",
1895 "NegativePostIndex_al_r10_r3_minus_39_PostIndex",
1896 ARRAY_SIZE(kNegativePostIndex),
1897 kNegativePostIndex},
1898 {{al, r9, r8, minus, 40, PostIndex},
1899 "al r9 r8 minus 40 PostIndex",
1900 "NegativePostIndex_al_r9_r8_minus_40_PostIndex",
1901 ARRAY_SIZE(kNegativePostIndex),
1902 kNegativePostIndex},
1903 {{al, r2, r11, minus, 19, PostIndex},
1904 "al r2 r11 minus 19 PostIndex",
1905 "NegativePostIndex_al_r2_r11_minus_19_PostIndex",
1906 ARRAY_SIZE(kNegativePostIndex),
1907 kNegativePostIndex},
1908 {{al, r7, r12, minus, 62, PostIndex},
1909 "al r7 r12 minus 62 PostIndex",
1910 "NegativePostIndex_al_r7_r12_minus_62_PostIndex",
1911 ARRAY_SIZE(kNegativePostIndex),
1912 kNegativePostIndex},
1913 {{al, r12, r5, minus, 94, PostIndex},
1914 "al r12 r5 minus 94 PostIndex",
1915 "NegativePostIndex_al_r12_r5_minus_94_PostIndex",
1916 ARRAY_SIZE(kNegativePostIndex),
1917 kNegativePostIndex},
1918 {{al, r3, r12, minus, 177, PostIndex},
1919 "al r3 r12 minus 177 PostIndex",
1920 "NegativePostIndex_al_r3_r12_minus_177_PostIndex",
1921 ARRAY_SIZE(kNegativePostIndex),
1922 kNegativePostIndex},
1923 {{al, r10, r3, minus, 22, PostIndex},
1924 "al r10 r3 minus 22 PostIndex",
1925 "NegativePostIndex_al_r10_r3_minus_22_PostIndex",
1926 ARRAY_SIZE(kNegativePostIndex),
1927 kNegativePostIndex},
1928 {{al, r5, r4, minus, 136, PostIndex},
1929 "al r5 r4 minus 136 PostIndex",
1930 "NegativePostIndex_al_r5_r4_minus_136_PostIndex",
1931 ARRAY_SIZE(kNegativePostIndex),
1932 kNegativePostIndex},
1933 {{al, r9, r11, minus, 186, PostIndex},
1934 "al r9 r11 minus 186 PostIndex",
1935 "NegativePostIndex_al_r9_r11_minus_186_PostIndex",
1936 ARRAY_SIZE(kNegativePostIndex),
1937 kNegativePostIndex},
1938 {{al, r12, r9, minus, 205, PostIndex},
1939 "al r12 r9 minus 205 PostIndex",
1940 "NegativePostIndex_al_r12_r9_minus_205_PostIndex",
1941 ARRAY_SIZE(kNegativePostIndex),
1942 kNegativePostIndex},
1943 {{al, r2, r1, minus, 10, PostIndex},
1944 "al r2 r1 minus 10 PostIndex",
1945 "NegativePostIndex_al_r2_r1_minus_10_PostIndex",
1946 ARRAY_SIZE(kNegativePostIndex),
1947 kNegativePostIndex},
1948 {{al, r7, r4, minus, 95, PostIndex},
1949 "al r7 r4 minus 95 PostIndex",
1950 "NegativePostIndex_al_r7_r4_minus_95_PostIndex",
1951 ARRAY_SIZE(kNegativePostIndex),
1952 kNegativePostIndex},
1953 {{al, r12, r11, minus, 221, PostIndex},
1954 "al r12 r11 minus 221 PostIndex",
1955 "NegativePostIndex_al_r12_r11_minus_221_PostIndex",
1956 ARRAY_SIZE(kNegativePostIndex),
1957 kNegativePostIndex},
1958 {{al, r9, r6, minus, 235, PostIndex},
1959 "al r9 r6 minus 235 PostIndex",
1960 "NegativePostIndex_al_r9_r6_minus_235_PostIndex",
1961 ARRAY_SIZE(kNegativePostIndex),
1962 kNegativePostIndex},
1963 {{al, r3, r0, minus, 144, PostIndex},
1964 "al r3 r0 minus 144 PostIndex",
1965 "NegativePostIndex_al_r3_r0_minus_144_PostIndex",
1966 ARRAY_SIZE(kNegativePostIndex),
1967 kNegativePostIndex},
1968 {{al, r6, r4, minus, 230, PostIndex},
1969 "al r6 r4 minus 230 PostIndex",
1970 "NegativePostIndex_al_r6_r4_minus_230_PostIndex",
1971 ARRAY_SIZE(kNegativePostIndex),
1972 kNegativePostIndex},
1973 {{al, r7, r10, minus, 156, PostIndex},
1974 "al r7 r10 minus 156 PostIndex",
1975 "NegativePostIndex_al_r7_r10_minus_156_PostIndex",
1976 ARRAY_SIZE(kNegativePostIndex),
1977 kNegativePostIndex},
1978 {{al, r14, r10, minus, 232, PostIndex},
1979 "al r14 r10 minus 232 PostIndex",
1980 "NegativePostIndex_al_r14_r10_minus_232_PostIndex",
1981 ARRAY_SIZE(kNegativePostIndex),
1982 kNegativePostIndex},
1983 {{al, r14, r3, minus, 242, PostIndex},
1984 "al r14 r3 minus 242 PostIndex",
1985 "NegativePostIndex_al_r14_r3_minus_242_PostIndex",
1986 ARRAY_SIZE(kNegativePostIndex),
1987 kNegativePostIndex},
1988 {{al, r3, r8, minus, 10, PostIndex},
1989 "al r3 r8 minus 10 PostIndex",
1990 "NegativePostIndex_al_r3_r8_minus_10_PostIndex",
1991 ARRAY_SIZE(kNegativePostIndex),
1992 kNegativePostIndex},
1993 {{al, r4, r7, minus, 37, PostIndex},
1994 "al r4 r7 minus 37 PostIndex",
1995 "NegativePostIndex_al_r4_r7_minus_37_PostIndex",
1996 ARRAY_SIZE(kNegativePostIndex),
1997 kNegativePostIndex},
1998 {{al, r10, r4, minus, 23, PostIndex},
1999 "al r10 r4 minus 23 PostIndex",
2000 "NegativePostIndex_al_r10_r4_minus_23_PostIndex",
2001 ARRAY_SIZE(kNegativePostIndex),
2002 kNegativePostIndex},
2003 {{al, r7, r10, minus, 52, PostIndex},
2004 "al r7 r10 minus 52 PostIndex",
2005 "NegativePostIndex_al_r7_r10_minus_52_PostIndex",
2006 ARRAY_SIZE(kNegativePostIndex),
2007 kNegativePostIndex},
2008 {{al, r0, r7, minus, 59, PostIndex},
2009 "al r0 r7 minus 59 PostIndex",
2010 "NegativePostIndex_al_r0_r7_minus_59_PostIndex",
2011 ARRAY_SIZE(kNegativePostIndex),
2012 kNegativePostIndex},
2013 {{al, r1, r10, minus, 253, PostIndex},
2014 "al r1 r10 minus 253 PostIndex",
2015 "NegativePostIndex_al_r1_r10_minus_253_PostIndex",
2016 ARRAY_SIZE(kNegativePostIndex),
2017 kNegativePostIndex},
2018 {{al, r8, r9, minus, 213, PostIndex},
2019 "al r8 r9 minus 213 PostIndex",
2020 "NegativePostIndex_al_r8_r9_minus_213_PostIndex",
2021 ARRAY_SIZE(kNegativePostIndex),
2022 kNegativePostIndex},
2023 {{al, r3, r0, minus, 22, PostIndex},
2024 "al r3 r0 minus 22 PostIndex",
2025 "NegativePostIndex_al_r3_r0_minus_22_PostIndex",
2026 ARRAY_SIZE(kNegativePostIndex),
2027 kNegativePostIndex},
2028 {{al, r10, r1, minus, 13, PostIndex},
2029 "al r10 r1 minus 13 PostIndex",
2030 "NegativePostIndex_al_r10_r1_minus_13_PostIndex",
2031 ARRAY_SIZE(kNegativePostIndex),
2032 kNegativePostIndex},
2033 {{al, r10, r0, minus, 107, PostIndex},
2034 "al r10 r0 minus 107 PostIndex",
2035 "NegativePostIndex_al_r10_r0_minus_107_PostIndex",
2036 ARRAY_SIZE(kNegativePostIndex),
2037 kNegativePostIndex},
2038 {{al, r9, r6, minus, 6, PostIndex},
2039 "al r9 r6 minus 6 PostIndex",
2040 "NegativePostIndex_al_r9_r6_minus_6_PostIndex",
2041 ARRAY_SIZE(kNegativePostIndex),
2042 kNegativePostIndex},
2043 {{al, r14, r8, minus, 78, PostIndex},
2044 "al r14 r8 minus 78 PostIndex",
2045 "NegativePostIndex_al_r14_r8_minus_78_PostIndex",
2046 ARRAY_SIZE(kNegativePostIndex),
2047 kNegativePostIndex},
2048 {{al, r5, r6, minus, 164, PostIndex},
2049 "al r5 r6 minus 164 PostIndex",
2050 "NegativePostIndex_al_r5_r6_minus_164_PostIndex",
2051 ARRAY_SIZE(kNegativePostIndex),
2052 kNegativePostIndex},
2053 {{al, r9, r7, minus, 155, PostIndex},
2054 "al r9 r7 minus 155 PostIndex",
2055 "NegativePostIndex_al_r9_r7_minus_155_PostIndex",
2056 ARRAY_SIZE(kNegativePostIndex),
2057 kNegativePostIndex},
2058 {{al, r7, r0, minus, 45, PostIndex},
2059 "al r7 r0 minus 45 PostIndex",
2060 "NegativePostIndex_al_r7_r0_minus_45_PostIndex",
2061 ARRAY_SIZE(kNegativePostIndex),
2062 kNegativePostIndex},
2063 {{al, r9, r4, minus, 182, PostIndex},
2064 "al r9 r4 minus 182 PostIndex",
2065 "NegativePostIndex_al_r9_r4_minus_182_PostIndex",
2066 ARRAY_SIZE(kNegativePostIndex),
2067 kNegativePostIndex},
2068 {{al, r14, r12, minus, 238, PostIndex},
2069 "al r14 r12 minus 238 PostIndex",
2070 "NegativePostIndex_al_r14_r12_minus_238_PostIndex",
2071 ARRAY_SIZE(kNegativePostIndex),
2072 kNegativePostIndex},
2073 {{al, r12, r10, minus, 93, PostIndex},
2074 "al r12 r10 minus 93 PostIndex",
2075 "NegativePostIndex_al_r12_r10_minus_93_PostIndex",
2076 ARRAY_SIZE(kNegativePostIndex),
2077 kNegativePostIndex},
2078 {{al, r1, r2, minus, 255, PostIndex},
2079 "al r1 r2 minus 255 PostIndex",
2080 "NegativePostIndex_al_r1_r2_minus_255_PostIndex",
2081 ARRAY_SIZE(kNegativePostIndex),
2082 kNegativePostIndex},
2083 {{al, r11, r6, minus, 65, PostIndex},
2084 "al r11 r6 minus 65 PostIndex",
2085 "NegativePostIndex_al_r11_r6_minus_65_PostIndex",
2086 ARRAY_SIZE(kNegativePostIndex),
2087 kNegativePostIndex},
2088 {{al, r1, r14, minus, 30, PostIndex},
2089 "al r1 r14 minus 30 PostIndex",
2090 "NegativePostIndex_al_r1_r14_minus_30_PostIndex",
2091 ARRAY_SIZE(kNegativePostIndex),
2092 kNegativePostIndex},
2093 {{al, r9, r12, minus, 128, PostIndex},
2094 "al r9 r12 minus 128 PostIndex",
2095 "NegativePostIndex_al_r9_r12_minus_128_PostIndex",
2096 ARRAY_SIZE(kNegativePostIndex),
2097 kNegativePostIndex},
2098 {{al, r1, r2, minus, 2, PostIndex},
2099 "al r1 r2 minus 2 PostIndex",
2100 "NegativePostIndex_al_r1_r2_minus_2_PostIndex",
2101 ARRAY_SIZE(kNegativePostIndex),
2102 kNegativePostIndex},
2103 {{al, r0, r7, minus, 122, PostIndex},
2104 "al r0 r7 minus 122 PostIndex",
2105 "NegativePostIndex_al_r0_r7_minus_122_PostIndex",
2106 ARRAY_SIZE(kNegativePostIndex),
2107 kNegativePostIndex},
2108 {{al, r7, r8, minus, 170, PostIndex},
2109 "al r7 r8 minus 170 PostIndex",
2110 "NegativePostIndex_al_r7_r8_minus_170_PostIndex",
2111 ARRAY_SIZE(kNegativePostIndex),
2112 kNegativePostIndex},
2113 {{al, r14, r7, minus, 242, PostIndex},
2114 "al r14 r7 minus 242 PostIndex",
2115 "NegativePostIndex_al_r14_r7_minus_242_PostIndex",
2116 ARRAY_SIZE(kNegativePostIndex),
2117 kNegativePostIndex},
2118 {{al, r4, r0, minus, 211, PostIndex},
2119 "al r4 r0 minus 211 PostIndex",
2120 "NegativePostIndex_al_r4_r0_minus_211_PostIndex",
2121 ARRAY_SIZE(kNegativePostIndex),
2122 kNegativePostIndex},
2123 {{al, r2, r8, minus, 122, PostIndex},
2124 "al r2 r8 minus 122 PostIndex",
2125 "NegativePostIndex_al_r2_r8_minus_122_PostIndex",
2126 ARRAY_SIZE(kNegativePostIndex),
2127 kNegativePostIndex},
2128 {{al, r12, r5, minus, 40, PostIndex},
2129 "al r12 r5 minus 40 PostIndex",
2130 "NegativePostIndex_al_r12_r5_minus_40_PostIndex",
2131 ARRAY_SIZE(kNegativePostIndex),
2132 kNegativePostIndex},
2133 {{al, r4, r10, minus, 138, PostIndex},
2134 "al r4 r10 minus 138 PostIndex",
2135 "NegativePostIndex_al_r4_r10_minus_138_PostIndex",
2136 ARRAY_SIZE(kNegativePostIndex),
2137 kNegativePostIndex},
2138 {{al, r2, r7, minus, 80, PostIndex},
2139 "al r2 r7 minus 80 PostIndex",
2140 "NegativePostIndex_al_r2_r7_minus_80_PostIndex",
2141 ARRAY_SIZE(kNegativePostIndex),
2142 kNegativePostIndex},
2143 {{al, r6, r12, minus, 150, PostIndex},
2144 "al r6 r12 minus 150 PostIndex",
2145 "NegativePostIndex_al_r6_r12_minus_150_PostIndex",
2146 ARRAY_SIZE(kNegativePostIndex),
2147 kNegativePostIndex},
2148 {{al, r4, r1, minus, 167, PostIndex},
2149 "al r4 r1 minus 167 PostIndex",
2150 "NegativePostIndex_al_r4_r1_minus_167_PostIndex",
2151 ARRAY_SIZE(kNegativePostIndex),
2152 kNegativePostIndex},
2153 {{al, r6, r2, minus, 67, PostIndex},
2154 "al r6 r2 minus 67 PostIndex",
2155 "NegativePostIndex_al_r6_r2_minus_67_PostIndex",
2156 ARRAY_SIZE(kNegativePostIndex),
2157 kNegativePostIndex},
2158 {{al, r12, r5, minus, 180, PostIndex},
2159 "al r12 r5 minus 180 PostIndex",
2160 "NegativePostIndex_al_r12_r5_minus_180_PostIndex",
2161 ARRAY_SIZE(kNegativePostIndex),
2162 kNegativePostIndex},
2163 {{al, r14, r7, minus, 115, PostIndex},
2164 "al r14 r7 minus 115 PostIndex",
2165 "NegativePostIndex_al_r14_r7_minus_115_PostIndex",
2166 ARRAY_SIZE(kNegativePostIndex),
2167 kNegativePostIndex},
2168 {{al, r2, r5, minus, 238, PostIndex},
2169 "al r2 r5 minus 238 PostIndex",
2170 "NegativePostIndex_al_r2_r5_minus_238_PostIndex",
2171 ARRAY_SIZE(kNegativePostIndex),
2172 kNegativePostIndex},
2173 {{al, r14, r6, minus, 34, PostIndex},
2174 "al r14 r6 minus 34 PostIndex",
2175 "NegativePostIndex_al_r14_r6_minus_34_PostIndex",
2176 ARRAY_SIZE(kNegativePostIndex),
2177 kNegativePostIndex},
2178 {{al, r4, r12, minus, 74, PostIndex},
2179 "al r4 r12 minus 74 PostIndex",
2180 "NegativePostIndex_al_r4_r12_minus_74_PostIndex",
2181 ARRAY_SIZE(kNegativePostIndex),
2182 kNegativePostIndex},
2183 {{al, r12, r11, minus, 197, PostIndex},
2184 "al r12 r11 minus 197 PostIndex",
2185 "NegativePostIndex_al_r12_r11_minus_197_PostIndex",
2186 ARRAY_SIZE(kNegativePostIndex),
2187 kNegativePostIndex},
2188 {{al, r8, r12, minus, 53, PostIndex},
2189 "al r8 r12 minus 53 PostIndex",
2190 "NegativePostIndex_al_r8_r12_minus_53_PostIndex",
2191 ARRAY_SIZE(kNegativePostIndex),
2192 kNegativePostIndex},
2193 {{al, r4, r1, minus, 189, PostIndex},
2194 "al r4 r1 minus 189 PostIndex",
2195 "NegativePostIndex_al_r4_r1_minus_189_PostIndex",
2196 ARRAY_SIZE(kNegativePostIndex),
2197 kNegativePostIndex},
2198 {{al, r1, r2, minus, 101, PostIndex},
2199 "al r1 r2 minus 101 PostIndex",
2200 "NegativePostIndex_al_r1_r2_minus_101_PostIndex",
2201 ARRAY_SIZE(kNegativePostIndex),
2202 kNegativePostIndex},
2203 {{al, r8, r2, minus, 152, PostIndex},
2204 "al r8 r2 minus 152 PostIndex",
2205 "NegativePostIndex_al_r8_r2_minus_152_PostIndex",
2206 ARRAY_SIZE(kNegativePostIndex),
2207 kNegativePostIndex},
2208 {{al, r9, r0, minus, 238, PostIndex},
2209 "al r9 r0 minus 238 PostIndex",
2210 "NegativePostIndex_al_r9_r0_minus_238_PostIndex",
2211 ARRAY_SIZE(kNegativePostIndex),
2212 kNegativePostIndex},
2213 {{al, r1, r8, minus, 34, PostIndex},
2214 "al r1 r8 minus 34 PostIndex",
2215 "NegativePostIndex_al_r1_r8_minus_34_PostIndex",
2216 ARRAY_SIZE(kNegativePostIndex),
2217 kNegativePostIndex},
2218 {{al, r8, r0, minus, 216, PostIndex},
2219 "al r8 r0 minus 216 PostIndex",
2220 "NegativePostIndex_al_r8_r0_minus_216_PostIndex",
2221 ARRAY_SIZE(kNegativePostIndex),
2222 kNegativePostIndex},
2223 {{al, r4, r7, minus, 235, PostIndex},
2224 "al r4 r7 minus 235 PostIndex",
2225 "NegativePostIndex_al_r4_r7_minus_235_PostIndex",
2226 ARRAY_SIZE(kNegativePostIndex),
2227 kNegativePostIndex},
2228 {{al, r5, r14, minus, 235, PostIndex},
2229 "al r5 r14 minus 235 PostIndex",
2230 "NegativePostIndex_al_r5_r14_minus_235_PostIndex",
2231 ARRAY_SIZE(kNegativePostIndex),
2232 kNegativePostIndex},
2233 {{al, r11, r4, minus, 230, PostIndex},
2234 "al r11 r4 minus 230 PostIndex",
2235 "NegativePostIndex_al_r11_r4_minus_230_PostIndex",
2236 ARRAY_SIZE(kNegativePostIndex),
2237 kNegativePostIndex},
2238 {{al, r7, r2, minus, 52, PostIndex},
2239 "al r7 r2 minus 52 PostIndex",
2240 "NegativePostIndex_al_r7_r2_minus_52_PostIndex",
2241 ARRAY_SIZE(kNegativePostIndex),
2242 kNegativePostIndex},
2243 {{al, r1, r11, minus, 229, PostIndex},
2244 "al r1 r11 minus 229 PostIndex",
2245 "NegativePostIndex_al_r1_r11_minus_229_PostIndex",
2246 ARRAY_SIZE(kNegativePostIndex),
2247 kNegativePostIndex},
2248 {{al, r6, r5, minus, 62, PostIndex},
2249 "al r6 r5 minus 62 PostIndex",
2250 "NegativePostIndex_al_r6_r5_minus_62_PostIndex",
2251 ARRAY_SIZE(kNegativePostIndex),
2252 kNegativePostIndex},
2253 {{al, r9, r7, minus, 247, PostIndex},
2254 "al r9 r7 minus 247 PostIndex",
2255 "NegativePostIndex_al_r9_r7_minus_247_PostIndex",
2256 ARRAY_SIZE(kNegativePostIndex),
2257 kNegativePostIndex},
2258 {{al, r6, r0, minus, 121, PostIndex},
2259 "al r6 r0 minus 121 PostIndex",
2260 "NegativePostIndex_al_r6_r0_minus_121_PostIndex",
2261 ARRAY_SIZE(kNegativePostIndex),
2262 kNegativePostIndex},
2263 {{al, r12, r3, minus, 104, PostIndex},
2264 "al r12 r3 minus 104 PostIndex",
2265 "NegativePostIndex_al_r12_r3_minus_104_PostIndex",
2266 ARRAY_SIZE(kNegativePostIndex),
2267 kNegativePostIndex},
2268 {{al, r1, r3, minus, 169, PostIndex},
2269 "al r1 r3 minus 169 PostIndex",
2270 "NegativePostIndex_al_r1_r3_minus_169_PostIndex",
2271 ARRAY_SIZE(kNegativePostIndex),
2272 kNegativePostIndex},
2273 {{al, r3, r1, minus, 240, PostIndex},
2274 "al r3 r1 minus 240 PostIndex",
2275 "NegativePostIndex_al_r3_r1_minus_240_PostIndex",
2276 ARRAY_SIZE(kNegativePostIndex),
2277 kNegativePostIndex},
2278 {{al, r2, r6, minus, 173, PostIndex},
2279 "al r2 r6 minus 173 PostIndex",
2280 "NegativePostIndex_al_r2_r6_minus_173_PostIndex",
2281 ARRAY_SIZE(kNegativePostIndex),
2282 kNegativePostIndex},
2283 {{al, r12, r8, minus, 58, PostIndex},
2284 "al r12 r8 minus 58 PostIndex",
2285 "NegativePostIndex_al_r12_r8_minus_58_PostIndex",
2286 ARRAY_SIZE(kNegativePostIndex),
2287 kNegativePostIndex},
2288 {{al, r0, r3, minus, 134, PostIndex},
2289 "al r0 r3 minus 134 PostIndex",
2290 "NegativePostIndex_al_r0_r3_minus_134_PostIndex",
2291 ARRAY_SIZE(kNegativePostIndex),
2292 kNegativePostIndex},
2293 {{al, r6, r2, minus, 75, PostIndex},
2294 "al r6 r2 minus 75 PostIndex",
2295 "NegativePostIndex_al_r6_r2_minus_75_PostIndex",
2296 ARRAY_SIZE(kNegativePostIndex),
2297 kNegativePostIndex},
2298 {{al, r5, r0, minus, 53, PostIndex},
2299 "al r5 r0 minus 53 PostIndex",
2300 "NegativePostIndex_al_r5_r0_minus_53_PostIndex",
2301 ARRAY_SIZE(kNegativePostIndex),
2302 kNegativePostIndex},
2303 {{al, r10, r12, minus, 160, PostIndex},
2304 "al r10 r12 minus 160 PostIndex",
2305 "NegativePostIndex_al_r10_r12_minus_160_PostIndex",
2306 ARRAY_SIZE(kNegativePostIndex),
2307 kNegativePostIndex},
2308 {{al, r8, r9, minus, 55, PostIndex},
2309 "al r8 r9 minus 55 PostIndex",
2310 "NegativePostIndex_al_r8_r9_minus_55_PostIndex",
2311 ARRAY_SIZE(kNegativePostIndex),
2312 kNegativePostIndex},
2313 {{al, r3, r7, minus, 175, PostIndex},
2314 "al r3 r7 minus 175 PostIndex",
2315 "NegativePostIndex_al_r3_r7_minus_175_PostIndex",
2316 ARRAY_SIZE(kNegativePostIndex),
2317 kNegativePostIndex},
2318 {{al, r12, r4, minus, 179, PostIndex},
2319 "al r12 r4 minus 179 PostIndex",
2320 "NegativePostIndex_al_r12_r4_minus_179_PostIndex",
2321 ARRAY_SIZE(kNegativePostIndex),
2322 kNegativePostIndex},
2323 {{al, r7, r14, minus, 16, PostIndex},
2324 "al r7 r14 minus 16 PostIndex",
2325 "NegativePostIndex_al_r7_r14_minus_16_PostIndex",
2326 ARRAY_SIZE(kNegativePostIndex),
2327 kNegativePostIndex},
2328 {{al, r14, r9, plus, 41, PreIndex},
2329 "al r14 r9 plus 41 PreIndex",
2330 "PositivePreIndex_al_r14_r9_plus_41_PreIndex",
2331 ARRAY_SIZE(kPositivePreIndex),
2332 kPositivePreIndex},
2333 {{al, r7, r9, plus, 78, PreIndex},
2334 "al r7 r9 plus 78 PreIndex",
2335 "PositivePreIndex_al_r7_r9_plus_78_PreIndex",
2336 ARRAY_SIZE(kPositivePreIndex),
2337 kPositivePreIndex},
2338 {{al, r6, r3, plus, 255, PreIndex},
2339 "al r6 r3 plus 255 PreIndex",
2340 "PositivePreIndex_al_r6_r3_plus_255_PreIndex",
2341 ARRAY_SIZE(kPositivePreIndex),
2342 kPositivePreIndex},
2343 {{al, r11, r8, plus, 139, PreIndex},
2344 "al r11 r8 plus 139 PreIndex",
2345 "PositivePreIndex_al_r11_r8_plus_139_PreIndex",
2346 ARRAY_SIZE(kPositivePreIndex),
2347 kPositivePreIndex},
2348 {{al, r6, r3, plus, 170, PreIndex},
2349 "al r6 r3 plus 170 PreIndex",
2350 "PositivePreIndex_al_r6_r3_plus_170_PreIndex",
2351 ARRAY_SIZE(kPositivePreIndex),
2352 kPositivePreIndex},
2353 {{al, r6, r4, plus, 221, PreIndex},
2354 "al r6 r4 plus 221 PreIndex",
2355 "PositivePreIndex_al_r6_r4_plus_221_PreIndex",
2356 ARRAY_SIZE(kPositivePreIndex),
2357 kPositivePreIndex},
2358 {{al, r7, r8, plus, 229, PreIndex},
2359 "al r7 r8 plus 229 PreIndex",
2360 "PositivePreIndex_al_r7_r8_plus_229_PreIndex",
2361 ARRAY_SIZE(kPositivePreIndex),
2362 kPositivePreIndex},
2363 {{al, r7, r4, plus, 18, PreIndex},
2364 "al r7 r4 plus 18 PreIndex",
2365 "PositivePreIndex_al_r7_r4_plus_18_PreIndex",
2366 ARRAY_SIZE(kPositivePreIndex),
2367 kPositivePreIndex},
2368 {{al, r3, r8, plus, 157, PreIndex},
2369 "al r3 r8 plus 157 PreIndex",
2370 "PositivePreIndex_al_r3_r8_plus_157_PreIndex",
2371 ARRAY_SIZE(kPositivePreIndex),
2372 kPositivePreIndex},
2373 {{al, r8, r5, plus, 82, PreIndex},
2374 "al r8 r5 plus 82 PreIndex",
2375 "PositivePreIndex_al_r8_r5_plus_82_PreIndex",
2376 ARRAY_SIZE(kPositivePreIndex),
2377 kPositivePreIndex},
2378 {{al, r5, r10, plus, 63, PreIndex},
2379 "al r5 r10 plus 63 PreIndex",
2380 "PositivePreIndex_al_r5_r10_plus_63_PreIndex",
2381 ARRAY_SIZE(kPositivePreIndex),
2382 kPositivePreIndex},
2383 {{al, r1, r11, plus, 179, PreIndex},
2384 "al r1 r11 plus 179 PreIndex",
2385 "PositivePreIndex_al_r1_r11_plus_179_PreIndex",
2386 ARRAY_SIZE(kPositivePreIndex),
2387 kPositivePreIndex},
2388 {{al, r12, r11, plus, 124, PreIndex},
2389 "al r12 r11 plus 124 PreIndex",
2390 "PositivePreIndex_al_r12_r11_plus_124_PreIndex",
2391 ARRAY_SIZE(kPositivePreIndex),
2392 kPositivePreIndex},
2393 {{al, r9, r12, plus, 102, PreIndex},
2394 "al r9 r12 plus 102 PreIndex",
2395 "PositivePreIndex_al_r9_r12_plus_102_PreIndex",
2396 ARRAY_SIZE(kPositivePreIndex),
2397 kPositivePreIndex},
2398 {{al, r12, r1, plus, 157, PreIndex},
2399 "al r12 r1 plus 157 PreIndex",
2400 "PositivePreIndex_al_r12_r1_plus_157_PreIndex",
2401 ARRAY_SIZE(kPositivePreIndex),
2402 kPositivePreIndex},
2403 {{al, r6, r2, plus, 10, PreIndex},
2404 "al r6 r2 plus 10 PreIndex",
2405 "PositivePreIndex_al_r6_r2_plus_10_PreIndex",
2406 ARRAY_SIZE(kPositivePreIndex),
2407 kPositivePreIndex},
2408 {{al, r9, r4, plus, 100, PreIndex},
2409 "al r9 r4 plus 100 PreIndex",
2410 "PositivePreIndex_al_r9_r4_plus_100_PreIndex",
2411 ARRAY_SIZE(kPositivePreIndex),
2412 kPositivePreIndex},
2413 {{al, r2, r7, plus, 62, PreIndex},
2414 "al r2 r7 plus 62 PreIndex",
2415 "PositivePreIndex_al_r2_r7_plus_62_PreIndex",
2416 ARRAY_SIZE(kPositivePreIndex),
2417 kPositivePreIndex},
2418 {{al, r9, r12, plus, 191, PreIndex},
2419 "al r9 r12 plus 191 PreIndex",
2420 "PositivePreIndex_al_r9_r12_plus_191_PreIndex",
2421 ARRAY_SIZE(kPositivePreIndex),
2422 kPositivePreIndex},
2423 {{al, r2, r7, plus, 241, PreIndex},
2424 "al r2 r7 plus 241 PreIndex",
2425 "PositivePreIndex_al_r2_r7_plus_241_PreIndex",
2426 ARRAY_SIZE(kPositivePreIndex),
2427 kPositivePreIndex},
2428 {{al, r2, r12, plus, 220, PreIndex},
2429 "al r2 r12 plus 220 PreIndex",
2430 "PositivePreIndex_al_r2_r12_plus_220_PreIndex",
2431 ARRAY_SIZE(kPositivePreIndex),
2432 kPositivePreIndex},
2433 {{al, r0, r12, plus, 98, PreIndex},
2434 "al r0 r12 plus 98 PreIndex",
2435 "PositivePreIndex_al_r0_r12_plus_98_PreIndex",
2436 ARRAY_SIZE(kPositivePreIndex),
2437 kPositivePreIndex},
2438 {{al, r11, r4, plus, 218, PreIndex},
2439 "al r11 r4 plus 218 PreIndex",
2440 "PositivePreIndex_al_r11_r4_plus_218_PreIndex",
2441 ARRAY_SIZE(kPositivePreIndex),
2442 kPositivePreIndex},
2443 {{al, r11, r10, plus, 211, PreIndex},
2444 "al r11 r10 plus 211 PreIndex",
2445 "PositivePreIndex_al_r11_r10_plus_211_PreIndex",
2446 ARRAY_SIZE(kPositivePreIndex),
2447 kPositivePreIndex},
2448 {{al, r4, r1, plus, 160, PreIndex},
2449 "al r4 r1 plus 160 PreIndex",
2450 "PositivePreIndex_al_r4_r1_plus_160_PreIndex",
2451 ARRAY_SIZE(kPositivePreIndex),
2452 kPositivePreIndex},
2453 {{al, r12, r0, plus, 107, PreIndex},
2454 "al r12 r0 plus 107 PreIndex",
2455 "PositivePreIndex_al_r12_r0_plus_107_PreIndex",
2456 ARRAY_SIZE(kPositivePreIndex),
2457 kPositivePreIndex},
2458 {{al, r9, r4, plus, 239, PreIndex},
2459 "al r9 r4 plus 239 PreIndex",
2460 "PositivePreIndex_al_r9_r4_plus_239_PreIndex",
2461 ARRAY_SIZE(kPositivePreIndex),
2462 kPositivePreIndex},
2463 {{al, r2, r14, plus, 54, PreIndex},
2464 "al r2 r14 plus 54 PreIndex",
2465 "PositivePreIndex_al_r2_r14_plus_54_PreIndex",
2466 ARRAY_SIZE(kPositivePreIndex),
2467 kPositivePreIndex},
2468 {{al, r9, r8, plus, 89, PreIndex},
2469 "al r9 r8 plus 89 PreIndex",
2470 "PositivePreIndex_al_r9_r8_plus_89_PreIndex",
2471 ARRAY_SIZE(kPositivePreIndex),
2472 kPositivePreIndex},
2473 {{al, r8, r7, plus, 162, PreIndex},
2474 "al r8 r7 plus 162 PreIndex",
2475 "PositivePreIndex_al_r8_r7_plus_162_PreIndex",
2476 ARRAY_SIZE(kPositivePreIndex),
2477 kPositivePreIndex},
2478 {{al, r11, r0, plus, 91, PreIndex},
2479 "al r11 r0 plus 91 PreIndex",
2480 "PositivePreIndex_al_r11_r0_plus_91_PreIndex",
2481 ARRAY_SIZE(kPositivePreIndex),
2482 kPositivePreIndex},
2483 {{al, r6, r5, plus, 62, PreIndex},
2484 "al r6 r5 plus 62 PreIndex",
2485 "PositivePreIndex_al_r6_r5_plus_62_PreIndex",
2486 ARRAY_SIZE(kPositivePreIndex),
2487 kPositivePreIndex},
2488 {{al, r7, r12, plus, 140, PreIndex},
2489 "al r7 r12 plus 140 PreIndex",
2490 "PositivePreIndex_al_r7_r12_plus_140_PreIndex",
2491 ARRAY_SIZE(kPositivePreIndex),
2492 kPositivePreIndex},
2493 {{al, r11, r1, plus, 38, PreIndex},
2494 "al r11 r1 plus 38 PreIndex",
2495 "PositivePreIndex_al_r11_r1_plus_38_PreIndex",
2496 ARRAY_SIZE(kPositivePreIndex),
2497 kPositivePreIndex},
2498 {{al, r11, r12, plus, 185, PreIndex},
2499 "al r11 r12 plus 185 PreIndex",
2500 "PositivePreIndex_al_r11_r12_plus_185_PreIndex",
2501 ARRAY_SIZE(kPositivePreIndex),
2502 kPositivePreIndex},
2503 {{al, r11, r7, plus, 27, PreIndex},
2504 "al r11 r7 plus 27 PreIndex",
2505 "PositivePreIndex_al_r11_r7_plus_27_PreIndex",
2506 ARRAY_SIZE(kPositivePreIndex),
2507 kPositivePreIndex},
2508 {{al, r2, r6, plus, 81, PreIndex},
2509 "al r2 r6 plus 81 PreIndex",
2510 "PositivePreIndex_al_r2_r6_plus_81_PreIndex",
2511 ARRAY_SIZE(kPositivePreIndex),
2512 kPositivePreIndex},
2513 {{al, r11, r8, plus, 60, PreIndex},
2514 "al r11 r8 plus 60 PreIndex",
2515 "PositivePreIndex_al_r11_r8_plus_60_PreIndex",
2516 ARRAY_SIZE(kPositivePreIndex),
2517 kPositivePreIndex},
2518 {{al, r6, r9, plus, 39, PreIndex},
2519 "al r6 r9 plus 39 PreIndex",
2520 "PositivePreIndex_al_r6_r9_plus_39_PreIndex",
2521 ARRAY_SIZE(kPositivePreIndex),
2522 kPositivePreIndex},
2523 {{al, r12, r14, plus, 46, PreIndex},
2524 "al r12 r14 plus 46 PreIndex",
2525 "PositivePreIndex_al_r12_r14_plus_46_PreIndex",
2526 ARRAY_SIZE(kPositivePreIndex),
2527 kPositivePreIndex},
2528 {{al, r3, r9, plus, 188, PreIndex},
2529 "al r3 r9 plus 188 PreIndex",
2530 "PositivePreIndex_al_r3_r9_plus_188_PreIndex",
2531 ARRAY_SIZE(kPositivePreIndex),
2532 kPositivePreIndex},
2533 {{al, r4, r12, plus, 58, PreIndex},
2534 "al r4 r12 plus 58 PreIndex",
2535 "PositivePreIndex_al_r4_r12_plus_58_PreIndex",
2536 ARRAY_SIZE(kPositivePreIndex),
2537 kPositivePreIndex},
2538 {{al, r4, r5, plus, 220, PreIndex},
2539 "al r4 r5 plus 220 PreIndex",
2540 "PositivePreIndex_al_r4_r5_plus_220_PreIndex",
2541 ARRAY_SIZE(kPositivePreIndex),
2542 kPositivePreIndex},
2543 {{al, r4, r10, plus, 249, PreIndex},
2544 "al r4 r10 plus 249 PreIndex",
2545 "PositivePreIndex_al_r4_r10_plus_249_PreIndex",
2546 ARRAY_SIZE(kPositivePreIndex),
2547 kPositivePreIndex},
2548 {{al, r9, r0, plus, 23, PreIndex},
2549 "al r9 r0 plus 23 PreIndex",
2550 "PositivePreIndex_al_r9_r0_plus_23_PreIndex",
2551 ARRAY_SIZE(kPositivePreIndex),
2552 kPositivePreIndex},
2553 {{al, r10, r11, plus, 190, PreIndex},
2554 "al r10 r11 plus 190 PreIndex",
2555 "PositivePreIndex_al_r10_r11_plus_190_PreIndex",
2556 ARRAY_SIZE(kPositivePreIndex),
2557 kPositivePreIndex},
2558 {{al, r4, r11, plus, 33, PreIndex},
2559 "al r4 r11 plus 33 PreIndex",
2560 "PositivePreIndex_al_r4_r11_plus_33_PreIndex",
2561 ARRAY_SIZE(kPositivePreIndex),
2562 kPositivePreIndex},
2563 {{al, r7, r3, plus, 163, PreIndex},
2564 "al r7 r3 plus 163 PreIndex",
2565 "PositivePreIndex_al_r7_r3_plus_163_PreIndex",
2566 ARRAY_SIZE(kPositivePreIndex),
2567 kPositivePreIndex},
2568 {{al, r10, r9, plus, 147, PreIndex},
2569 "al r10 r9 plus 147 PreIndex",
2570 "PositivePreIndex_al_r10_r9_plus_147_PreIndex",
2571 ARRAY_SIZE(kPositivePreIndex),
2572 kPositivePreIndex},
2573 {{al, r8, r10, plus, 8, PreIndex},
2574 "al r8 r10 plus 8 PreIndex",
2575 "PositivePreIndex_al_r8_r10_plus_8_PreIndex",
2576 ARRAY_SIZE(kPositivePreIndex),
2577 kPositivePreIndex},
2578 {{al, r0, r10, plus, 0, PreIndex},
2579 "al r0 r10 plus 0 PreIndex",
2580 "PositivePreIndex_al_r0_r10_plus_0_PreIndex",
2581 ARRAY_SIZE(kPositivePreIndex),
2582 kPositivePreIndex},
2583 {{al, r5, r7, plus, 83, PreIndex},
2584 "al r5 r7 plus 83 PreIndex",
2585 "PositivePreIndex_al_r5_r7_plus_83_PreIndex",
2586 ARRAY_SIZE(kPositivePreIndex),
2587 kPositivePreIndex},
2588 {{al, r3, r9, plus, 233, PreIndex},
2589 "al r3 r9 plus 233 PreIndex",
2590 "PositivePreIndex_al_r3_r9_plus_233_PreIndex",
2591 ARRAY_SIZE(kPositivePreIndex),
2592 kPositivePreIndex},
2593 {{al, r11, r5, plus, 14, PreIndex},
2594 "al r11 r5 plus 14 PreIndex",
2595 "PositivePreIndex_al_r11_r5_plus_14_PreIndex",
2596 ARRAY_SIZE(kPositivePreIndex),
2597 kPositivePreIndex},
2598 {{al, r11, r12, plus, 21, PreIndex},
2599 "al r11 r12 plus 21 PreIndex",
2600 "PositivePreIndex_al_r11_r12_plus_21_PreIndex",
2601 ARRAY_SIZE(kPositivePreIndex),
2602 kPositivePreIndex},
2603 {{al, r6, r2, plus, 117, PreIndex},
2604 "al r6 r2 plus 117 PreIndex",
2605 "PositivePreIndex_al_r6_r2_plus_117_PreIndex",
2606 ARRAY_SIZE(kPositivePreIndex),
2607 kPositivePreIndex},
2608 {{al, r10, r0, plus, 0, PreIndex},
2609 "al r10 r0 plus 0 PreIndex",
2610 "PositivePreIndex_al_r10_r0_plus_0_PreIndex",
2611 ARRAY_SIZE(kPositivePreIndex),
2612 kPositivePreIndex},
2613 {{al, r4, r12, plus, 109, PreIndex},
2614 "al r4 r12 plus 109 PreIndex",
2615 "PositivePreIndex_al_r4_r12_plus_109_PreIndex",
2616 ARRAY_SIZE(kPositivePreIndex),
2617 kPositivePreIndex},
2618 {{al, r3, r4, plus, 212, PreIndex},
2619 "al r3 r4 plus 212 PreIndex",
2620 "PositivePreIndex_al_r3_r4_plus_212_PreIndex",
2621 ARRAY_SIZE(kPositivePreIndex),
2622 kPositivePreIndex},
2623 {{al, r9, r4, plus, 152, PreIndex},
2624 "al r9 r4 plus 152 PreIndex",
2625 "PositivePreIndex_al_r9_r4_plus_152_PreIndex",
2626 ARRAY_SIZE(kPositivePreIndex),
2627 kPositivePreIndex},
2628 {{al, r0, r12, plus, 89, PreIndex},
2629 "al r0 r12 plus 89 PreIndex",
2630 "PositivePreIndex_al_r0_r12_plus_89_PreIndex",
2631 ARRAY_SIZE(kPositivePreIndex),
2632 kPositivePreIndex},
2633 {{al, r3, r0, plus, 184, PreIndex},
2634 "al r3 r0 plus 184 PreIndex",
2635 "PositivePreIndex_al_r3_r0_plus_184_PreIndex",
2636 ARRAY_SIZE(kPositivePreIndex),
2637 kPositivePreIndex},
2638 {{al, r4, r12, plus, 168, PreIndex},
2639 "al r4 r12 plus 168 PreIndex",
2640 "PositivePreIndex_al_r4_r12_plus_168_PreIndex",
2641 ARRAY_SIZE(kPositivePreIndex),
2642 kPositivePreIndex},
2643 {{al, r7, r12, plus, 236, PreIndex},
2644 "al r7 r12 plus 236 PreIndex",
2645 "PositivePreIndex_al_r7_r12_plus_236_PreIndex",
2646 ARRAY_SIZE(kPositivePreIndex),
2647 kPositivePreIndex},
2648 {{al, r1, r5, plus, 98, PreIndex},
2649 "al r1 r5 plus 98 PreIndex",
2650 "PositivePreIndex_al_r1_r5_plus_98_PreIndex",
2651 ARRAY_SIZE(kPositivePreIndex),
2652 kPositivePreIndex},
2653 {{al, r3, r11, plus, 213, PreIndex},
2654 "al r3 r11 plus 213 PreIndex",
2655 "PositivePreIndex_al_r3_r11_plus_213_PreIndex",
2656 ARRAY_SIZE(kPositivePreIndex),
2657 kPositivePreIndex},
2658 {{al, r14, r6, plus, 123, PreIndex},
2659 "al r14 r6 plus 123 PreIndex",
2660 "PositivePreIndex_al_r14_r6_plus_123_PreIndex",
2661 ARRAY_SIZE(kPositivePreIndex),
2662 kPositivePreIndex},
2663 {{al, r10, r7, plus, 211, PreIndex},
2664 "al r10 r7 plus 211 PreIndex",
2665 "PositivePreIndex_al_r10_r7_plus_211_PreIndex",
2666 ARRAY_SIZE(kPositivePreIndex),
2667 kPositivePreIndex},
2668 {{al, r6, r8, plus, 11, PreIndex},
2669 "al r6 r8 plus 11 PreIndex",
2670 "PositivePreIndex_al_r6_r8_plus_11_PreIndex",
2671 ARRAY_SIZE(kPositivePreIndex),
2672 kPositivePreIndex},
2673 {{al, r3, r1, plus, 35, PreIndex},
2674 "al r3 r1 plus 35 PreIndex",
2675 "PositivePreIndex_al_r3_r1_plus_35_PreIndex",
2676 ARRAY_SIZE(kPositivePreIndex),
2677 kPositivePreIndex},
2678 {{al, r14, r0, plus, 248, PreIndex},
2679 "al r14 r0 plus 248 PreIndex",
2680 "PositivePreIndex_al_r14_r0_plus_248_PreIndex",
2681 ARRAY_SIZE(kPositivePreIndex),
2682 kPositivePreIndex},
2683 {{al, r9, r4, plus, 103, PreIndex},
2684 "al r9 r4 plus 103 PreIndex",
2685 "PositivePreIndex_al_r9_r4_plus_103_PreIndex",
2686 ARRAY_SIZE(kPositivePreIndex),
2687 kPositivePreIndex},
2688 {{al, r2, r1, plus, 6, PreIndex},
2689 "al r2 r1 plus 6 PreIndex",
2690 "PositivePreIndex_al_r2_r1_plus_6_PreIndex",
2691 ARRAY_SIZE(kPositivePreIndex),
2692 kPositivePreIndex},
2693 {{al, r14, r1, plus, 33, PreIndex},
2694 "al r14 r1 plus 33 PreIndex",
2695 "PositivePreIndex_al_r14_r1_plus_33_PreIndex",
2696 ARRAY_SIZE(kPositivePreIndex),
2697 kPositivePreIndex},
2698 {{al, r4, r3, plus, 206, PreIndex},
2699 "al r4 r3 plus 206 PreIndex",
2700 "PositivePreIndex_al_r4_r3_plus_206_PreIndex",
2701 ARRAY_SIZE(kPositivePreIndex),
2702 kPositivePreIndex},
2703 {{al, r5, r14, plus, 201, PreIndex},
2704 "al r5 r14 plus 201 PreIndex",
2705 "PositivePreIndex_al_r5_r14_plus_201_PreIndex",
2706 ARRAY_SIZE(kPositivePreIndex),
2707 kPositivePreIndex},
2708 {{al, r10, r5, plus, 86, PreIndex},
2709 "al r10 r5 plus 86 PreIndex",
2710 "PositivePreIndex_al_r10_r5_plus_86_PreIndex",
2711 ARRAY_SIZE(kPositivePreIndex),
2712 kPositivePreIndex},
2713 {{al, r6, r8, plus, 160, PreIndex},
2714 "al r6 r8 plus 160 PreIndex",
2715 "PositivePreIndex_al_r6_r8_plus_160_PreIndex",
2716 ARRAY_SIZE(kPositivePreIndex),
2717 kPositivePreIndex},
2718 {{al, r12, r5, plus, 81, PreIndex},
2719 "al r12 r5 plus 81 PreIndex",
2720 "PositivePreIndex_al_r12_r5_plus_81_PreIndex",
2721 ARRAY_SIZE(kPositivePreIndex),
2722 kPositivePreIndex},
2723 {{al, r3, r14, plus, 184, PreIndex},
2724 "al r3 r14 plus 184 PreIndex",
2725 "PositivePreIndex_al_r3_r14_plus_184_PreIndex",
2726 ARRAY_SIZE(kPositivePreIndex),
2727 kPositivePreIndex},
2728 {{al, r9, r11, plus, 95, PreIndex},
2729 "al r9 r11 plus 95 PreIndex",
2730 "PositivePreIndex_al_r9_r11_plus_95_PreIndex",
2731 ARRAY_SIZE(kPositivePreIndex),
2732 kPositivePreIndex},
2733 {{al, r2, r9, plus, 227, PreIndex},
2734 "al r2 r9 plus 227 PreIndex",
2735 "PositivePreIndex_al_r2_r9_plus_227_PreIndex",
2736 ARRAY_SIZE(kPositivePreIndex),
2737 kPositivePreIndex},
2738 {{al, r2, r7, plus, 103, PreIndex},
2739 "al r2 r7 plus 103 PreIndex",
2740 "PositivePreIndex_al_r2_r7_plus_103_PreIndex",
2741 ARRAY_SIZE(kPositivePreIndex),
2742 kPositivePreIndex},
2743 {{al, r5, r1, plus, 72, PreIndex},
2744 "al r5 r1 plus 72 PreIndex",
2745 "PositivePreIndex_al_r5_r1_plus_72_PreIndex",
2746 ARRAY_SIZE(kPositivePreIndex),
2747 kPositivePreIndex},
2748 {{al, r4, r10, plus, 82, PreIndex},
2749 "al r4 r10 plus 82 PreIndex",
2750 "PositivePreIndex_al_r4_r10_plus_82_PreIndex",
2751 ARRAY_SIZE(kPositivePreIndex),
2752 kPositivePreIndex},
2753 {{al, r7, r0, plus, 46, PreIndex},
2754 "al r7 r0 plus 46 PreIndex",
2755 "PositivePreIndex_al_r7_r0_plus_46_PreIndex",
2756 ARRAY_SIZE(kPositivePreIndex),
2757 kPositivePreIndex},
2758 {{al, r7, r14, plus, 24, PreIndex},
2759 "al r7 r14 plus 24 PreIndex",
2760 "PositivePreIndex_al_r7_r14_plus_24_PreIndex",
2761 ARRAY_SIZE(kPositivePreIndex),
2762 kPositivePreIndex},
2763 {{al, r9, r1, plus, 2, PreIndex},
2764 "al r9 r1 plus 2 PreIndex",
2765 "PositivePreIndex_al_r9_r1_plus_2_PreIndex",
2766 ARRAY_SIZE(kPositivePreIndex),
2767 kPositivePreIndex},
2768 {{al, r3, r12, plus, 91, PreIndex},
2769 "al r3 r12 plus 91 PreIndex",
2770 "PositivePreIndex_al_r3_r12_plus_91_PreIndex",
2771 ARRAY_SIZE(kPositivePreIndex),
2772 kPositivePreIndex},
2773 {{al, r6, r7, plus, 158, PreIndex},
2774 "al r6 r7 plus 158 PreIndex",
2775 "PositivePreIndex_al_r6_r7_plus_158_PreIndex",
2776 ARRAY_SIZE(kPositivePreIndex),
2777 kPositivePreIndex},
2778 {{al, r2, r7, plus, 47, PreIndex},
2779 "al r2 r7 plus 47 PreIndex",
2780 "PositivePreIndex_al_r2_r7_plus_47_PreIndex",
2781 ARRAY_SIZE(kPositivePreIndex),
2782 kPositivePreIndex},
2783 {{al, r7, r3, plus, 119, PreIndex},
2784 "al r7 r3 plus 119 PreIndex",
2785 "PositivePreIndex_al_r7_r3_plus_119_PreIndex",
2786 ARRAY_SIZE(kPositivePreIndex),
2787 kPositivePreIndex},
2788 {{al, r12, r3, plus, 214, PreIndex},
2789 "al r12 r3 plus 214 PreIndex",
2790 "PositivePreIndex_al_r12_r3_plus_214_PreIndex",
2791 ARRAY_SIZE(kPositivePreIndex),
2792 kPositivePreIndex},
2793 {{al, r11, r10, plus, 180, PreIndex},
2794 "al r11 r10 plus 180 PreIndex",
2795 "PositivePreIndex_al_r11_r10_plus_180_PreIndex",
2796 ARRAY_SIZE(kPositivePreIndex),
2797 kPositivePreIndex},
2798 {{al, r4, r9, plus, 241, PreIndex},
2799 "al r4 r9 plus 241 PreIndex",
2800 "PositivePreIndex_al_r4_r9_plus_241_PreIndex",
2801 ARRAY_SIZE(kPositivePreIndex),
2802 kPositivePreIndex},
2803 {{al, r10, r9, plus, 100, PreIndex},
2804 "al r10 r9 plus 100 PreIndex",
2805 "PositivePreIndex_al_r10_r9_plus_100_PreIndex",
2806 ARRAY_SIZE(kPositivePreIndex),
2807 kPositivePreIndex},
2808 {{al, r1, r8, plus, 117, PreIndex},
2809 "al r1 r8 plus 117 PreIndex",
2810 "PositivePreIndex_al_r1_r8_plus_117_PreIndex",
2811 ARRAY_SIZE(kPositivePreIndex),
2812 kPositivePreIndex},
2813 {{al, r8, r4, plus, 167, PreIndex},
2814 "al r8 r4 plus 167 PreIndex",
2815 "PositivePreIndex_al_r8_r4_plus_167_PreIndex",
2816 ARRAY_SIZE(kPositivePreIndex),
2817 kPositivePreIndex},
2818 {{al, r10, r11, plus, 158, PreIndex},
2819 "al r10 r11 plus 158 PreIndex",
2820 "PositivePreIndex_al_r10_r11_plus_158_PreIndex",
2821 ARRAY_SIZE(kPositivePreIndex),
2822 kPositivePreIndex},
2823 {{al, r11, r0, plus, 85, PreIndex},
2824 "al r11 r0 plus 85 PreIndex",
2825 "PositivePreIndex_al_r11_r0_plus_85_PreIndex",
2826 ARRAY_SIZE(kPositivePreIndex),
2827 kPositivePreIndex},
2828 {{al, r4, r9, minus, 228, PreIndex},
2829 "al r4 r9 minus 228 PreIndex",
2830 "NegativePreIndex_al_r4_r9_minus_228_PreIndex",
2831 ARRAY_SIZE(kNegativePreIndex),
2832 kNegativePreIndex},
2833 {{al, r1, r10, minus, 109, PreIndex},
2834 "al r1 r10 minus 109 PreIndex",
2835 "NegativePreIndex_al_r1_r10_minus_109_PreIndex",
2836 ARRAY_SIZE(kNegativePreIndex),
2837 kNegativePreIndex},
2838 {{al, r7, r6, minus, 59, PreIndex},
2839 "al r7 r6 minus 59 PreIndex",
2840 "NegativePreIndex_al_r7_r6_minus_59_PreIndex",
2841 ARRAY_SIZE(kNegativePreIndex),
2842 kNegativePreIndex},
2843 {{al, r4, r14, minus, 243, PreIndex},
2844 "al r4 r14 minus 243 PreIndex",
2845 "NegativePreIndex_al_r4_r14_minus_243_PreIndex",
2846 ARRAY_SIZE(kNegativePreIndex),
2847 kNegativePreIndex},
2848 {{al, r3, r4, minus, 140, PreIndex},
2849 "al r3 r4 minus 140 PreIndex",
2850 "NegativePreIndex_al_r3_r4_minus_140_PreIndex",
2851 ARRAY_SIZE(kNegativePreIndex),
2852 kNegativePreIndex},
2853 {{al, r8, r0, minus, 103, PreIndex},
2854 "al r8 r0 minus 103 PreIndex",
2855 "NegativePreIndex_al_r8_r0_minus_103_PreIndex",
2856 ARRAY_SIZE(kNegativePreIndex),
2857 kNegativePreIndex},
2858 {{al, r14, r2, minus, 13, PreIndex},
2859 "al r14 r2 minus 13 PreIndex",
2860 "NegativePreIndex_al_r14_r2_minus_13_PreIndex",
2861 ARRAY_SIZE(kNegativePreIndex),
2862 kNegativePreIndex},
2863 {{al, r5, r3, minus, 81, PreIndex},
2864 "al r5 r3 minus 81 PreIndex",
2865 "NegativePreIndex_al_r5_r3_minus_81_PreIndex",
2866 ARRAY_SIZE(kNegativePreIndex),
2867 kNegativePreIndex},
2868 {{al, r9, r10, minus, 138, PreIndex},
2869 "al r9 r10 minus 138 PreIndex",
2870 "NegativePreIndex_al_r9_r10_minus_138_PreIndex",
2871 ARRAY_SIZE(kNegativePreIndex),
2872 kNegativePreIndex},
2873 {{al, r6, r14, minus, 81, PreIndex},
2874 "al r6 r14 minus 81 PreIndex",
2875 "NegativePreIndex_al_r6_r14_minus_81_PreIndex",
2876 ARRAY_SIZE(kNegativePreIndex),
2877 kNegativePreIndex},
2878 {{al, r14, r6, minus, 242, PreIndex},
2879 "al r14 r6 minus 242 PreIndex",
2880 "NegativePreIndex_al_r14_r6_minus_242_PreIndex",
2881 ARRAY_SIZE(kNegativePreIndex),
2882 kNegativePreIndex},
2883 {{al, r7, r11, minus, 70, PreIndex},
2884 "al r7 r11 minus 70 PreIndex",
2885 "NegativePreIndex_al_r7_r11_minus_70_PreIndex",
2886 ARRAY_SIZE(kNegativePreIndex),
2887 kNegativePreIndex},
2888 {{al, r1, r7, minus, 169, PreIndex},
2889 "al r1 r7 minus 169 PreIndex",
2890 "NegativePreIndex_al_r1_r7_minus_169_PreIndex",
2891 ARRAY_SIZE(kNegativePreIndex),
2892 kNegativePreIndex},
2893 {{al, r10, r6, minus, 244, PreIndex},
2894 "al r10 r6 minus 244 PreIndex",
2895 "NegativePreIndex_al_r10_r6_minus_244_PreIndex",
2896 ARRAY_SIZE(kNegativePreIndex),
2897 kNegativePreIndex},
2898 {{al, r14, r2, minus, 252, PreIndex},
2899 "al r14 r2 minus 252 PreIndex",
2900 "NegativePreIndex_al_r14_r2_minus_252_PreIndex",
2901 ARRAY_SIZE(kNegativePreIndex),
2902 kNegativePreIndex},
2903 {{al, r1, r14, minus, 15, PreIndex},
2904 "al r1 r14 minus 15 PreIndex",
2905 "NegativePreIndex_al_r1_r14_minus_15_PreIndex",
2906 ARRAY_SIZE(kNegativePreIndex),
2907 kNegativePreIndex},
2908 {{al, r1, r6, minus, 31, PreIndex},
2909 "al r1 r6 minus 31 PreIndex",
2910 "NegativePreIndex_al_r1_r6_minus_31_PreIndex",
2911 ARRAY_SIZE(kNegativePreIndex),
2912 kNegativePreIndex},
2913 {{al, r3, r5, minus, 26, PreIndex},
2914 "al r3 r5 minus 26 PreIndex",
2915 "NegativePreIndex_al_r3_r5_minus_26_PreIndex",
2916 ARRAY_SIZE(kNegativePreIndex),
2917 kNegativePreIndex},
2918 {{al, r7, r6, minus, 9, PreIndex},
2919 "al r7 r6 minus 9 PreIndex",
2920 "NegativePreIndex_al_r7_r6_minus_9_PreIndex",
2921 ARRAY_SIZE(kNegativePreIndex),
2922 kNegativePreIndex},
2923 {{al, r2, r0, minus, 112, PreIndex},
2924 "al r2 r0 minus 112 PreIndex",
2925 "NegativePreIndex_al_r2_r0_minus_112_PreIndex",
2926 ARRAY_SIZE(kNegativePreIndex),
2927 kNegativePreIndex},
2928 {{al, r0, r9, minus, 237, PreIndex},
2929 "al r0 r9 minus 237 PreIndex",
2930 "NegativePreIndex_al_r0_r9_minus_237_PreIndex",
2931 ARRAY_SIZE(kNegativePreIndex),
2932 kNegativePreIndex},
2933 {{al, r1, r11, minus, 112, PreIndex},
2934 "al r1 r11 minus 112 PreIndex",
2935 "NegativePreIndex_al_r1_r11_minus_112_PreIndex",
2936 ARRAY_SIZE(kNegativePreIndex),
2937 kNegativePreIndex},
2938 {{al, r12, r5, minus, 220, PreIndex},
2939 "al r12 r5 minus 220 PreIndex",
2940 "NegativePreIndex_al_r12_r5_minus_220_PreIndex",
2941 ARRAY_SIZE(kNegativePreIndex),
2942 kNegativePreIndex},
2943 {{al, r3, r8, minus, 166, PreIndex},
2944 "al r3 r8 minus 166 PreIndex",
2945 "NegativePreIndex_al_r3_r8_minus_166_PreIndex",
2946 ARRAY_SIZE(kNegativePreIndex),
2947 kNegativePreIndex},
2948 {{al, r2, r14, minus, 128, PreIndex},
2949 "al r2 r14 minus 128 PreIndex",
2950 "NegativePreIndex_al_r2_r14_minus_128_PreIndex",
2951 ARRAY_SIZE(kNegativePreIndex),
2952 kNegativePreIndex},
2953 {{al, r9, r11, minus, 182, PreIndex},
2954 "al r9 r11 minus 182 PreIndex",
2955 "NegativePreIndex_al_r9_r11_minus_182_PreIndex",
2956 ARRAY_SIZE(kNegativePreIndex),
2957 kNegativePreIndex},
2958 {{al, r8, r14, minus, 16, PreIndex},
2959 "al r8 r14 minus 16 PreIndex",
2960 "NegativePreIndex_al_r8_r14_minus_16_PreIndex",
2961 ARRAY_SIZE(kNegativePreIndex),
2962 kNegativePreIndex},
2963 {{al, r4, r14, minus, 165, PreIndex},
2964 "al r4 r14 minus 165 PreIndex",
2965 "NegativePreIndex_al_r4_r14_minus_165_PreIndex",
2966 ARRAY_SIZE(kNegativePreIndex),
2967 kNegativePreIndex},
2968 {{al, r1, r6, minus, 32, PreIndex},
2969 "al r1 r6 minus 32 PreIndex",
2970 "NegativePreIndex_al_r1_r6_minus_32_PreIndex",
2971 ARRAY_SIZE(kNegativePreIndex),
2972 kNegativePreIndex},
2973 {{al, r4, r10, minus, 224, PreIndex},
2974 "al r4 r10 minus 224 PreIndex",
2975 "NegativePreIndex_al_r4_r10_minus_224_PreIndex",
2976 ARRAY_SIZE(kNegativePreIndex),
2977 kNegativePreIndex},
2978 {{al, r5, r2, minus, 27, PreIndex},
2979 "al r5 r2 minus 27 PreIndex",
2980 "NegativePreIndex_al_r5_r2_minus_27_PreIndex",
2981 ARRAY_SIZE(kNegativePreIndex),
2982 kNegativePreIndex},
2983 {{al, r14, r1, minus, 207, PreIndex},
2984 "al r14 r1 minus 207 PreIndex",
2985 "NegativePreIndex_al_r14_r1_minus_207_PreIndex",
2986 ARRAY_SIZE(kNegativePreIndex),
2987 kNegativePreIndex},
2988 {{al, r9, r14, minus, 236, PreIndex},
2989 "al r9 r14 minus 236 PreIndex",
2990 "NegativePreIndex_al_r9_r14_minus_236_PreIndex",
2991 ARRAY_SIZE(kNegativePreIndex),
2992 kNegativePreIndex},
2993 {{al, r9, r2, minus, 20, PreIndex},
2994 "al r9 r2 minus 20 PreIndex",
2995 "NegativePreIndex_al_r9_r2_minus_20_PreIndex",
2996 ARRAY_SIZE(kNegativePreIndex),
2997 kNegativePreIndex},
2998 {{al, r3, r4, minus, 247, PreIndex},
2999 "al r3 r4 minus 247 PreIndex",
3000 "NegativePreIndex_al_r3_r4_minus_247_PreIndex",
3001 ARRAY_SIZE(kNegativePreIndex),
3002 kNegativePreIndex},
3003 {{al, r4, r12, minus, 53, PreIndex},
3004 "al r4 r12 minus 53 PreIndex",
3005 "NegativePreIndex_al_r4_r12_minus_53_PreIndex",
3006 ARRAY_SIZE(kNegativePreIndex),
3007 kNegativePreIndex},
3008 {{al, r0, r3, minus, 17, PreIndex},
3009 "al r0 r3 minus 17 PreIndex",
3010 "NegativePreIndex_al_r0_r3_minus_17_PreIndex",
3011 ARRAY_SIZE(kNegativePreIndex),
3012 kNegativePreIndex},
3013 {{al, r11, r9, minus, 11, PreIndex},
3014 "al r11 r9 minus 11 PreIndex",
3015 "NegativePreIndex_al_r11_r9_minus_11_PreIndex",
3016 ARRAY_SIZE(kNegativePreIndex),
3017 kNegativePreIndex},
3018 {{al, r0, r5, minus, 107, PreIndex},
3019 "al r0 r5 minus 107 PreIndex",
3020 "NegativePreIndex_al_r0_r5_minus_107_PreIndex",
3021 ARRAY_SIZE(kNegativePreIndex),
3022 kNegativePreIndex},
3023 {{al, r9, r11, minus, 44, PreIndex},
3024 "al r9 r11 minus 44 PreIndex",
3025 "NegativePreIndex_al_r9_r11_minus_44_PreIndex",
3026 ARRAY_SIZE(kNegativePreIndex),
3027 kNegativePreIndex},
3028 {{al, r9, r12, minus, 32, PreIndex},
3029 "al r9 r12 minus 32 PreIndex",
3030 "NegativePreIndex_al_r9_r12_minus_32_PreIndex",
3031 ARRAY_SIZE(kNegativePreIndex),
3032 kNegativePreIndex},
3033 {{al, r4, r1, minus, 135, PreIndex},
3034 "al r4 r1 minus 135 PreIndex",
3035 "NegativePreIndex_al_r4_r1_minus_135_PreIndex",
3036 ARRAY_SIZE(kNegativePreIndex),
3037 kNegativePreIndex},
3038 {{al, r6, r14, minus, 39, PreIndex},
3039 "al r6 r14 minus 39 PreIndex",
3040 "NegativePreIndex_al_r6_r14_minus_39_PreIndex",
3041 ARRAY_SIZE(kNegativePreIndex),
3042 kNegativePreIndex},
3043 {{al, r5, r12, minus, 80, PreIndex},
3044 "al r5 r12 minus 80 PreIndex",
3045 "NegativePreIndex_al_r5_r12_minus_80_PreIndex",
3046 ARRAY_SIZE(kNegativePreIndex),
3047 kNegativePreIndex},
3048 {{al, r8, r11, minus, 55, PreIndex},
3049 "al r8 r11 minus 55 PreIndex",
3050 "NegativePreIndex_al_r8_r11_minus_55_PreIndex",
3051 ARRAY_SIZE(kNegativePreIndex),
3052 kNegativePreIndex},
3053 {{al, r5, r4, minus, 122, PreIndex},
3054 "al r5 r4 minus 122 PreIndex",
3055 "NegativePreIndex_al_r5_r4_minus_122_PreIndex",
3056 ARRAY_SIZE(kNegativePreIndex),
3057 kNegativePreIndex},
3058 {{al, r11, r1, minus, 82, PreIndex},
3059 "al r11 r1 minus 82 PreIndex",
3060 "NegativePreIndex_al_r11_r1_minus_82_PreIndex",
3061 ARRAY_SIZE(kNegativePreIndex),
3062 kNegativePreIndex},
3063 {{al, r5, r7, minus, 3, PreIndex},
3064 "al r5 r7 minus 3 PreIndex",
3065 "NegativePreIndex_al_r5_r7_minus_3_PreIndex",
3066 ARRAY_SIZE(kNegativePreIndex),
3067 kNegativePreIndex},
3068 {{al, r8, r5, minus, 199, PreIndex},
3069 "al r8 r5 minus 199 PreIndex",
3070 "NegativePreIndex_al_r8_r5_minus_199_PreIndex",
3071 ARRAY_SIZE(kNegativePreIndex),
3072 kNegativePreIndex},
3073 {{al, r6, r10, minus, 23, PreIndex},
3074 "al r6 r10 minus 23 PreIndex",
3075 "NegativePreIndex_al_r6_r10_minus_23_PreIndex",
3076 ARRAY_SIZE(kNegativePreIndex),
3077 kNegativePreIndex},
3078 {{al, r8, r11, minus, 221, PreIndex},
3079 "al r8 r11 minus 221 PreIndex",
3080 "NegativePreIndex_al_r8_r11_minus_221_PreIndex",
3081 ARRAY_SIZE(kNegativePreIndex),
3082 kNegativePreIndex},
3083 {{al, r2, r6, minus, 206, PreIndex},
3084 "al r2 r6 minus 206 PreIndex",
3085 "NegativePreIndex_al_r2_r6_minus_206_PreIndex",
3086 ARRAY_SIZE(kNegativePreIndex),
3087 kNegativePreIndex},
3088 {{al, r12, r3, minus, 198, PreIndex},
3089 "al r12 r3 minus 198 PreIndex",
3090 "NegativePreIndex_al_r12_r3_minus_198_PreIndex",
3091 ARRAY_SIZE(kNegativePreIndex),
3092 kNegativePreIndex},
3093 {{al, r2, r12, minus, 94, PreIndex},
3094 "al r2 r12 minus 94 PreIndex",
3095 "NegativePreIndex_al_r2_r12_minus_94_PreIndex",
3096 ARRAY_SIZE(kNegativePreIndex),
3097 kNegativePreIndex},
3098 {{al, r2, r9, minus, 69, PreIndex},
3099 "al r2 r9 minus 69 PreIndex",
3100 "NegativePreIndex_al_r2_r9_minus_69_PreIndex",
3101 ARRAY_SIZE(kNegativePreIndex),
3102 kNegativePreIndex},
3103 {{al, r10, r14, minus, 120, PreIndex},
3104 "al r10 r14 minus 120 PreIndex",
3105 "NegativePreIndex_al_r10_r14_minus_120_PreIndex",
3106 ARRAY_SIZE(kNegativePreIndex),
3107 kNegativePreIndex},
3108 {{al, r8, r5, minus, 138, PreIndex},
3109 "al r8 r5 minus 138 PreIndex",
3110 "NegativePreIndex_al_r8_r5_minus_138_PreIndex",
3111 ARRAY_SIZE(kNegativePreIndex),
3112 kNegativePreIndex},
3113 {{al, r8, r12, minus, 206, PreIndex},
3114 "al r8 r12 minus 206 PreIndex",
3115 "NegativePreIndex_al_r8_r12_minus_206_PreIndex",
3116 ARRAY_SIZE(kNegativePreIndex),
3117 kNegativePreIndex},
3118 {{al, r11, r4, minus, 27, PreIndex},
3119 "al r11 r4 minus 27 PreIndex",
3120 "NegativePreIndex_al_r11_r4_minus_27_PreIndex",
3121 ARRAY_SIZE(kNegativePreIndex),
3122 kNegativePreIndex},
3123 {{al, r0, r3, minus, 34, PreIndex},
3124 "al r0 r3 minus 34 PreIndex",
3125 "NegativePreIndex_al_r0_r3_minus_34_PreIndex",
3126 ARRAY_SIZE(kNegativePreIndex),
3127 kNegativePreIndex},
3128 {{al, r9, r10, minus, 216, PreIndex},
3129 "al r9 r10 minus 216 PreIndex",
3130 "NegativePreIndex_al_r9_r10_minus_216_PreIndex",
3131 ARRAY_SIZE(kNegativePreIndex),
3132 kNegativePreIndex},
3133 {{al, r2, r14, minus, 186, PreIndex},
3134 "al r2 r14 minus 186 PreIndex",
3135 "NegativePreIndex_al_r2_r14_minus_186_PreIndex",
3136 ARRAY_SIZE(kNegativePreIndex),
3137 kNegativePreIndex},
3138 {{al, r3, r12, minus, 92, PreIndex},
3139 "al r3 r12 minus 92 PreIndex",
3140 "NegativePreIndex_al_r3_r12_minus_92_PreIndex",
3141 ARRAY_SIZE(kNegativePreIndex),
3142 kNegativePreIndex},
3143 {{al, r8, r7, minus, 248, PreIndex},
3144 "al r8 r7 minus 248 PreIndex",
3145 "NegativePreIndex_al_r8_r7_minus_248_PreIndex",
3146 ARRAY_SIZE(kNegativePreIndex),
3147 kNegativePreIndex},
3148 {{al, r11, r0, minus, 63, PreIndex},
3149 "al r11 r0 minus 63 PreIndex",
3150 "NegativePreIndex_al_r11_r0_minus_63_PreIndex",
3151 ARRAY_SIZE(kNegativePreIndex),
3152 kNegativePreIndex},
3153 {{al, r12, r2, minus, 217, PreIndex},
3154 "al r12 r2 minus 217 PreIndex",
3155 "NegativePreIndex_al_r12_r2_minus_217_PreIndex",
3156 ARRAY_SIZE(kNegativePreIndex),
3157 kNegativePreIndex},
3158 {{al, r1, r2, minus, 19, PreIndex},
3159 "al r1 r2 minus 19 PreIndex",
3160 "NegativePreIndex_al_r1_r2_minus_19_PreIndex",
3161 ARRAY_SIZE(kNegativePreIndex),
3162 kNegativePreIndex},
3163 {{al, r11, r4, minus, 160, PreIndex},
3164 "al r11 r4 minus 160 PreIndex",
3165 "NegativePreIndex_al_r11_r4_minus_160_PreIndex",
3166 ARRAY_SIZE(kNegativePreIndex),
3167 kNegativePreIndex},
3168 {{al, r7, r8, minus, 121, PreIndex},
3169 "al r7 r8 minus 121 PreIndex",
3170 "NegativePreIndex_al_r7_r8_minus_121_PreIndex",
3171 ARRAY_SIZE(kNegativePreIndex),
3172 kNegativePreIndex},
3173 {{al, r14, r3, minus, 105, PreIndex},
3174 "al r14 r3 minus 105 PreIndex",
3175 "NegativePreIndex_al_r14_r3_minus_105_PreIndex",
3176 ARRAY_SIZE(kNegativePreIndex),
3177 kNegativePreIndex},
3178 {{al, r11, r2, minus, 136, PreIndex},
3179 "al r11 r2 minus 136 PreIndex",
3180 "NegativePreIndex_al_r11_r2_minus_136_PreIndex",
3181 ARRAY_SIZE(kNegativePreIndex),
3182 kNegativePreIndex},
3183 {{al, r14, r7, minus, 145, PreIndex},
3184 "al r14 r7 minus 145 PreIndex",
3185 "NegativePreIndex_al_r14_r7_minus_145_PreIndex",
3186 ARRAY_SIZE(kNegativePreIndex),
3187 kNegativePreIndex},
3188 {{al, r3, r11, minus, 152, PreIndex},
3189 "al r3 r11 minus 152 PreIndex",
3190 "NegativePreIndex_al_r3_r11_minus_152_PreIndex",
3191 ARRAY_SIZE(kNegativePreIndex),
3192 kNegativePreIndex},
3193 {{al, r6, r0, minus, 234, PreIndex},
3194 "al r6 r0 minus 234 PreIndex",
3195 "NegativePreIndex_al_r6_r0_minus_234_PreIndex",
3196 ARRAY_SIZE(kNegativePreIndex),
3197 kNegativePreIndex},
3198 {{al, r4, r9, minus, 30, PreIndex},
3199 "al r4 r9 minus 30 PreIndex",
3200 "NegativePreIndex_al_r4_r9_minus_30_PreIndex",
3201 ARRAY_SIZE(kNegativePreIndex),
3202 kNegativePreIndex},
3203 {{al, r3, r4, minus, 103, PreIndex},
3204 "al r3 r4 minus 103 PreIndex",
3205 "NegativePreIndex_al_r3_r4_minus_103_PreIndex",
3206 ARRAY_SIZE(kNegativePreIndex),
3207 kNegativePreIndex},
3208 {{al, r10, r9, minus, 212, PreIndex},
3209 "al r10 r9 minus 212 PreIndex",
3210 "NegativePreIndex_al_r10_r9_minus_212_PreIndex",
3211 ARRAY_SIZE(kNegativePreIndex),
3212 kNegativePreIndex},
3213 {{al, r3, r8, minus, 184, PreIndex},
3214 "al r3 r8 minus 184 PreIndex",
3215 "NegativePreIndex_al_r3_r8_minus_184_PreIndex",
3216 ARRAY_SIZE(kNegativePreIndex),
3217 kNegativePreIndex},
3218 {{al, r14, r5, minus, 28, PreIndex},
3219 "al r14 r5 minus 28 PreIndex",
3220 "NegativePreIndex_al_r14_r5_minus_28_PreIndex",
3221 ARRAY_SIZE(kNegativePreIndex),
3222 kNegativePreIndex},
3223 {{al, r14, r1, minus, 182, PreIndex},
3224 "al r14 r1 minus 182 PreIndex",
3225 "NegativePreIndex_al_r14_r1_minus_182_PreIndex",
3226 ARRAY_SIZE(kNegativePreIndex),
3227 kNegativePreIndex},
3228 {{al, r14, r0, minus, 42, PreIndex},
3229 "al r14 r0 minus 42 PreIndex",
3230 "NegativePreIndex_al_r14_r0_minus_42_PreIndex",
3231 ARRAY_SIZE(kNegativePreIndex),
3232 kNegativePreIndex},
3233 {{al, r7, r10, minus, 167, PreIndex},
3234 "al r7 r10 minus 167 PreIndex",
3235 "NegativePreIndex_al_r7_r10_minus_167_PreIndex",
3236 ARRAY_SIZE(kNegativePreIndex),
3237 kNegativePreIndex},
3238 {{al, r4, r12, minus, 31, PreIndex},
3239 "al r4 r12 minus 31 PreIndex",
3240 "NegativePreIndex_al_r4_r12_minus_31_PreIndex",
3241 ARRAY_SIZE(kNegativePreIndex),
3242 kNegativePreIndex},
3243 {{al, r10, r3, minus, 36, PreIndex},
3244 "al r10 r3 minus 36 PreIndex",
3245 "NegativePreIndex_al_r10_r3_minus_36_PreIndex",
3246 ARRAY_SIZE(kNegativePreIndex),
3247 kNegativePreIndex},
3248 {{al, r11, r4, minus, 228, PreIndex},
3249 "al r11 r4 minus 228 PreIndex",
3250 "NegativePreIndex_al_r11_r4_minus_228_PreIndex",
3251 ARRAY_SIZE(kNegativePreIndex),
3252 kNegativePreIndex},
3253 {{al, r12, r11, minus, 117, PreIndex},
3254 "al r12 r11 minus 117 PreIndex",
3255 "NegativePreIndex_al_r12_r11_minus_117_PreIndex",
3256 ARRAY_SIZE(kNegativePreIndex),
3257 kNegativePreIndex},
3258 {{al, r5, r0, minus, 124, PreIndex},
3259 "al r5 r0 minus 124 PreIndex",
3260 "NegativePreIndex_al_r5_r0_minus_124_PreIndex",
3261 ARRAY_SIZE(kNegativePreIndex),
3262 kNegativePreIndex},
3263 {{al, r7, r9, minus, 8, PreIndex},
3264 "al r7 r9 minus 8 PreIndex",
3265 "NegativePreIndex_al_r7_r9_minus_8_PreIndex",
3266 ARRAY_SIZE(kNegativePreIndex),
3267 kNegativePreIndex},
3268 {{al, r9, r1, minus, 10, PreIndex},
3269 "al r9 r1 minus 10 PreIndex",
3270 "NegativePreIndex_al_r9_r1_minus_10_PreIndex",
3271 ARRAY_SIZE(kNegativePreIndex),
3272 kNegativePreIndex},
3273 {{al, r7, r14, minus, 123, PreIndex},
3274 "al r7 r14 minus 123 PreIndex",
3275 "NegativePreIndex_al_r7_r14_minus_123_PreIndex",
3276 ARRAY_SIZE(kNegativePreIndex),
3277 kNegativePreIndex},
3278 {{al, r2, r12, minus, 160, PreIndex},
3279 "al r2 r12 minus 160 PreIndex",
3280 "NegativePreIndex_al_r2_r12_minus_160_PreIndex",
3281 ARRAY_SIZE(kNegativePreIndex),
3282 kNegativePreIndex},
3283 {{al, r3, r0, minus, 111, PreIndex},
3284 "al r3 r0 minus 111 PreIndex",
3285 "NegativePreIndex_al_r3_r0_minus_111_PreIndex",
3286 ARRAY_SIZE(kNegativePreIndex),
3287 kNegativePreIndex},
3288 {{al, r0, r9, minus, 168, PreIndex},
3289 "al r0 r9 minus 168 PreIndex",
3290 "NegativePreIndex_al_r0_r9_minus_168_PreIndex",
3291 ARRAY_SIZE(kNegativePreIndex),
3292 kNegativePreIndex},
3293 {{al, r14, r6, minus, 190, PreIndex},
3294 "al r14 r6 minus 190 PreIndex",
3295 "NegativePreIndex_al_r14_r6_minus_190_PreIndex",
3296 ARRAY_SIZE(kNegativePreIndex),
3297 kNegativePreIndex},
3298 {{al, r4, r2, minus, 142, PreIndex},
3299 "al r4 r2 minus 142 PreIndex",
3300 "NegativePreIndex_al_r4_r2_minus_142_PreIndex",
3301 ARRAY_SIZE(kNegativePreIndex),
3302 kNegativePreIndex},
3303 {{al, r8, r6, minus, 253, PreIndex},
3304 "al r8 r6 minus 253 PreIndex",
3305 "NegativePreIndex_al_r8_r6_minus_253_PreIndex",
3306 ARRAY_SIZE(kNegativePreIndex),
3307 kNegativePreIndex},
3308 {{al, r5, r4, minus, 101, PreIndex},
3309 "al r5 r4 minus 101 PreIndex",
3310 "NegativePreIndex_al_r5_r4_minus_101_PreIndex",
3311 ARRAY_SIZE(kNegativePreIndex),
3312 kNegativePreIndex},
3313 {{al, r2, r3, minus, 79, PreIndex},
3314 "al r2 r3 minus 79 PreIndex",
3315 "NegativePreIndex_al_r2_r3_minus_79_PreIndex",
3316 ARRAY_SIZE(kNegativePreIndex),
3317 kNegativePreIndex},
3318 {{al, r14, r4, minus, 13, PreIndex},
3319 "al r14 r4 minus 13 PreIndex",
3320 "NegativePreIndex_al_r14_r4_minus_13_PreIndex",
3321 ARRAY_SIZE(kNegativePreIndex),
3322 kNegativePreIndex},
3323 {{al, r4, r2, minus, 132, PreIndex},
3324 "al r4 r2 minus 132 PreIndex",
3325 "NegativePreIndex_al_r4_r2_minus_132_PreIndex",
3326 ARRAY_SIZE(kNegativePreIndex),
3327 kNegativePreIndex}};
3328
3329 // We record all inputs to the instructions as outputs. This way, we also check
3330 // that what shouldn't change didn't change.
3331 struct TestResult {
3332 size_t output_size;
3333 const Inputs* outputs;
3334 };
3335
3336 // These headers each contain an array of `TestResult` with the reference output
3337 // values. The reference arrays are names `kReference{mnemonic}`.
3338 #include "aarch32/traces/simulator-cond-rd-memop-immediate-512-ldrh-a32.h"
3339 #include "aarch32/traces/simulator-cond-rd-memop-immediate-512-ldrsb-a32.h"
3340 #include "aarch32/traces/simulator-cond-rd-memop-immediate-512-ldrsh-a32.h"
3341 #include "aarch32/traces/simulator-cond-rd-memop-immediate-512-strh-a32.h"
3342
3343
3344 // The maximum number of errors to report in detail for each test.
3345 const unsigned kErrorReportLimit = 8;
3346
3347 typedef void (MacroAssembler::*Fn)(Condition cond,
3348 Register rd,
3349 const MemOperand& memop);
3350
TestHelper(Fn instruction,const char * mnemonic,const TestResult reference[])3351 void TestHelper(Fn instruction,
3352 const char* mnemonic,
3353 const TestResult reference[]) {
3354 SETUP();
3355 masm.UseA32();
3356 START();
3357
3358 // Data to compare to `reference`.
3359 TestResult* results[ARRAY_SIZE(kTests)];
3360
3361 // Test cases for memory bound instructions may allocate a buffer and save its
3362 // address in this array.
3363 byte* scratch_memory_buffers[ARRAY_SIZE(kTests)];
3364
3365 // Generate a loop for each element in `kTests`. Each loop tests one specific
3366 // instruction.
3367 for (unsigned i = 0; i < ARRAY_SIZE(kTests); i++) {
3368 // Allocate results on the heap for this test.
3369 results[i] = new TestResult;
3370 results[i]->outputs = new Inputs[kTests[i].input_size];
3371 results[i]->output_size = kTests[i].input_size;
3372
3373 size_t input_stride = sizeof(kTests[i].inputs[0]) * kTests[i].input_size;
3374 VIXL_ASSERT(IsUint32(input_stride));
3375
3376 scratch_memory_buffers[i] = NULL;
3377
3378 Label loop;
3379 UseScratchRegisterScope scratch_registers(&masm);
3380 // Include all registers from r0 ro r12.
3381 scratch_registers.Include(RegisterList(0x1fff));
3382
3383 // Values to pass to the macro-assembler.
3384 Condition cond = kTests[i].operands.cond;
3385 Register rd = kTests[i].operands.rd;
3386 Register rn = kTests[i].operands.rn;
3387 Sign sign = kTests[i].operands.sign;
3388 int32_t offset = kTests[i].operands.offset;
3389 AddrMode addr_mode = kTests[i].operands.addr_mode;
3390 MemOperand memop(rn, sign, offset, addr_mode);
3391 scratch_registers.Exclude(rd);
3392 scratch_registers.Exclude(rn);
3393
3394 // Allocate reserved registers for our own use.
3395 Register input_ptr = scratch_registers.Acquire();
3396 Register input_end = scratch_registers.Acquire();
3397 Register result_ptr = scratch_registers.Acquire();
3398
3399 // Initialize `input_ptr` to the first element and `input_end` the address
3400 // after the array.
3401 __ Mov(input_ptr, Operand::From(kTests[i].inputs));
3402 __ Add(input_end, input_ptr, static_cast<uint32_t>(input_stride));
3403 __ Mov(result_ptr, Operand::From(results[i]->outputs));
3404 __ Bind(&loop);
3405
3406 {
3407 UseScratchRegisterScope temp_registers(&masm);
3408 Register nzcv_bits = temp_registers.Acquire();
3409 Register saved_q_bit = temp_registers.Acquire();
3410 // Save the `Q` bit flag.
3411 __ Mrs(saved_q_bit, APSR);
3412 __ And(saved_q_bit, saved_q_bit, QFlag);
3413 // Set the `NZCV` and `Q` flags together.
3414 __ Ldr(nzcv_bits, MemOperand(input_ptr, offsetof(Inputs, apsr)));
3415 __ Orr(nzcv_bits, nzcv_bits, saved_q_bit);
3416 __ Msr(APSR_nzcvq, nzcv_bits);
3417 }
3418 __ Ldr(rd, MemOperand(input_ptr, offsetof(Inputs, rd)));
3419 // Allocate 4 bytes for the instruction to work with.
3420 scratch_memory_buffers[i] = new byte[4];
3421 {
3422 UseScratchRegisterScope temp_registers(&masm);
3423
3424 Register memop_tmp = temp_registers.Acquire();
3425 Register base_register = memop.GetBaseRegister();
3426
3427 // Write the expected data into the scratch buffer.
3428 __ Mov(base_register, Operand::From(scratch_memory_buffers[i]));
3429 __ Ldr(memop_tmp, MemOperand(input_ptr, offsetof(Inputs, memop) + 4));
3430 __ Str(memop_tmp, MemOperand(base_register));
3431
3432 // Compute the address to put into the base register so that the
3433 // `MemOperand` points to the right location.
3434 // TODO: Support more kinds of `MemOperand`.
3435 if (!memop.IsPostIndex()) {
3436 if (memop.IsImmediate()) {
3437 if (memop.GetSign().IsPlus()) {
3438 __ Mov(memop_tmp, memop.GetOffsetImmediate());
3439 __ Sub(base_register, base_register, memop_tmp);
3440 } else {
3441 __ Mov(memop_tmp, -memop.GetOffsetImmediate());
3442 __ Add(base_register, base_register, memop_tmp);
3443 }
3444 } else if (memop.IsShiftedRegister()) {
3445 __ Mov(memop_tmp,
3446 Operand(memop.GetOffsetRegister(),
3447 memop.GetShift(),
3448 memop.GetShiftAmount()));
3449 if (memop.GetSign().IsPlus()) {
3450 __ Sub(base_register, base_register, memop_tmp);
3451 } else {
3452 __ Add(base_register, base_register, memop_tmp);
3453 }
3454 }
3455 }
3456 }
3457
3458
3459 (masm.*instruction)(cond, rd, memop);
3460
3461 {
3462 UseScratchRegisterScope temp_registers(&masm);
3463 Register nzcv_bits = temp_registers.Acquire();
3464 __ Mrs(nzcv_bits, APSR);
3465 // Only record the NZCV bits.
3466 __ And(nzcv_bits, nzcv_bits, NZCVFlag);
3467 __ Str(nzcv_bits, MemOperand(result_ptr, offsetof(Inputs, apsr)));
3468 }
3469 __ Str(rd, MemOperand(result_ptr, offsetof(Inputs, rd)));
3470 {
3471 UseScratchRegisterScope temp_registers(&masm);
3472 Register memop_tmp = temp_registers.Acquire();
3473 Register base_register = memop.GetBaseRegister();
3474
3475 // Compute the address of the scratch buffer by from the base register. If
3476 // the instruction has updated the base register, we will be able to
3477 // record it.
3478 if (!memop.IsPostIndex()) {
3479 if (memop.IsImmediate()) {
3480 if (memop.GetSign().IsPlus()) {
3481 __ Mov(memop_tmp, memop.GetOffsetImmediate());
3482 __ Add(base_register, base_register, memop_tmp);
3483 } else {
3484 __ Mov(memop_tmp, -memop.GetOffsetImmediate());
3485 __ Sub(base_register, base_register, memop_tmp);
3486 }
3487 } else if (memop.IsShiftedRegister()) {
3488 __ Mov(memop_tmp,
3489 Operand(memop.GetOffsetRegister(),
3490 memop.GetShift(),
3491 memop.GetShiftAmount()));
3492 if (memop.GetSign().IsPlus()) {
3493 __ Add(base_register, base_register, memop_tmp);
3494 } else {
3495 __ Sub(base_register, base_register, memop_tmp);
3496 }
3497 }
3498 }
3499
3500 // Record the value of the base register, as an offset from the scratch
3501 // buffer's address.
3502 __ Mov(memop_tmp, Operand::From(scratch_memory_buffers[i]));
3503 __ Sub(base_register, base_register, memop_tmp);
3504 __ Str(base_register, MemOperand(result_ptr, offsetof(Inputs, memop)));
3505
3506 // Record the 32 bit word from memory.
3507 __ Ldr(memop_tmp, MemOperand(memop_tmp));
3508 __ Str(memop_tmp, MemOperand(result_ptr, offsetof(Inputs, memop) + 4));
3509 }
3510
3511
3512 // Advance the result pointer.
3513 __ Add(result_ptr, result_ptr, Operand::From(sizeof(kTests[i].inputs[0])));
3514 // Loop back until `input_ptr` is lower than `input_base`.
3515 __ Add(input_ptr, input_ptr, Operand::From(sizeof(kTests[i].inputs[0])));
3516 __ Cmp(input_ptr, input_end);
3517 __ B(ne, &loop);
3518 }
3519
3520 END();
3521
3522 RUN();
3523
3524 if (Test::generate_test_trace()) {
3525 // Print the results.
3526 for (size_t i = 0; i < ARRAY_SIZE(kTests); i++) {
3527 printf("const Inputs kOutputs_%s_%s[] = {\n",
3528 mnemonic,
3529 kTests[i].identifier);
3530 for (size_t j = 0; j < results[i]->output_size; j++) {
3531 printf(" { ");
3532 printf("0x%08" PRIx32, results[i]->outputs[j].apsr);
3533 printf(", ");
3534 printf("0x%08" PRIx32, results[i]->outputs[j].rd);
3535 printf(", ");
3536 printf("{0x%08" PRIx32 ", 0x%08" PRIx32 "}",
3537 results[i]->outputs[j].memop[0],
3538 results[i]->outputs[j].memop[1]);
3539 printf(" },\n");
3540 }
3541 printf("};\n");
3542 }
3543 printf("const TestResult kReference%s[] = {\n", mnemonic);
3544 for (size_t i = 0; i < ARRAY_SIZE(kTests); i++) {
3545 printf(" {\n");
3546 printf(" ARRAY_SIZE(kOutputs_%s_%s),\n",
3547 mnemonic,
3548 kTests[i].identifier);
3549 printf(" kOutputs_%s_%s,\n", mnemonic, kTests[i].identifier);
3550 printf(" },\n");
3551 }
3552 printf("};\n");
3553 } else if (kCheckSimulatorTestResults) {
3554 // Check the results.
3555 unsigned total_error_count = 0;
3556 for (size_t i = 0; i < ARRAY_SIZE(kTests); i++) {
3557 bool instruction_has_errors = false;
3558 for (size_t j = 0; j < kTests[i].input_size; j++) {
3559 uint32_t apsr = results[i]->outputs[j].apsr;
3560 uint32_t rd = results[i]->outputs[j].rd;
3561 uint32_t memop[2] = {results[i]->outputs[j].memop[0],
3562 results[i]->outputs[j].memop[1]};
3563
3564 uint32_t apsr_input = kTests[i].inputs[j].apsr;
3565 uint32_t rd_input = kTests[i].inputs[j].rd;
3566 uint32_t memop_input[2] = {kTests[i].inputs[j].memop[0],
3567 kTests[i].inputs[j].memop[1]};
3568
3569 uint32_t apsr_ref = reference[i].outputs[j].apsr;
3570 uint32_t rd_ref = reference[i].outputs[j].rd;
3571 uint32_t memop_ref[2] = {results[i]->outputs[j].memop[0],
3572 results[i]->outputs[j].memop[1]};
3573
3574
3575 if (((apsr != apsr_ref) || (rd != rd_ref) ||
3576 ((memop[0] != memop_ref[0]) && (memop[1] != memop_ref[1]))) &&
3577 (++total_error_count <= kErrorReportLimit)) {
3578 // Print the instruction once even if it triggered multiple failures.
3579 if (!instruction_has_errors) {
3580 printf("Error(s) when testing \"%s %s\":\n",
3581 mnemonic,
3582 kTests[i].operands_description);
3583 instruction_has_errors = true;
3584 }
3585 // Print subsequent errors.
3586 printf(" Input: ");
3587 printf("0x%08" PRIx32, apsr_input);
3588 printf(", ");
3589 printf("0x%08" PRIx32, rd_input);
3590 printf(", ");
3591 printf("{0x%08" PRIx32 ", 0x%08" PRIx32 "}",
3592 memop_input[0],
3593 memop_input[1]);
3594 printf("\n");
3595 printf(" Expected: ");
3596 printf("0x%08" PRIx32, apsr_ref);
3597 printf(", ");
3598 printf("0x%08" PRIx32, rd_ref);
3599 printf(", ");
3600 printf("{0x%08" PRIx32 ", 0x%08" PRIx32 "}",
3601 memop_ref[0],
3602 memop_ref[1]);
3603 printf("\n");
3604 printf(" Found: ");
3605 printf("0x%08" PRIx32, apsr);
3606 printf(", ");
3607 printf("0x%08" PRIx32, rd);
3608 printf(", ");
3609 printf("{0x%08" PRIx32 ", 0x%08" PRIx32 "}", memop[0], memop[1]);
3610 printf("\n\n");
3611 }
3612 }
3613 }
3614
3615 if (total_error_count > kErrorReportLimit) {
3616 printf("%u other errors follow.\n",
3617 total_error_count - kErrorReportLimit);
3618 }
3619 VIXL_CHECK(total_error_count == 0);
3620 } else {
3621 VIXL_WARNING("Assembled the code, but did not run anything.\n");
3622 }
3623
3624 for (size_t i = 0; i < ARRAY_SIZE(kTests); i++) {
3625 delete[] results[i]->outputs;
3626 delete results[i];
3627 delete[] scratch_memory_buffers[i];
3628 }
3629 }
3630
3631 // Instantiate tests for each instruction in the list.
3632 // TODO: Remove this limitation by having a sandboxing mechanism.
3633 #if defined(VIXL_HOST_POINTER_32)
3634 #define TEST(mnemonic) \
3635 void Test_##mnemonic() { \
3636 TestHelper(&MacroAssembler::mnemonic, #mnemonic, kReference##mnemonic); \
3637 } \
3638 Test test_##mnemonic( \
3639 "AARCH32_SIMULATOR_COND_RD_MEMOP_IMMEDIATE_512_" #mnemonic "_A32", \
3640 &Test_##mnemonic);
3641 #else
3642 #define TEST(mnemonic) \
3643 void Test_##mnemonic() { \
3644 VIXL_WARNING("This test can only run on a 32-bit host.\n"); \
3645 USE(TestHelper); \
3646 } \
3647 Test test_##mnemonic( \
3648 "AARCH32_SIMULATOR_COND_RD_MEMOP_IMMEDIATE_512_" #mnemonic "_A32", \
3649 &Test_##mnemonic);
3650 #endif
3651
3652 FOREACH_INSTRUCTION(TEST)
3653 #undef TEST
3654
3655 } // namespace
3656 #endif
3657
3658 } // namespace aarch32
3659 } // namespace vixl
3660