1*f5c631daSSadaf Ebrahimi // Copyright 2016, VIXL authors
2*f5c631daSSadaf Ebrahimi // All rights reserved.
3*f5c631daSSadaf Ebrahimi //
4*f5c631daSSadaf Ebrahimi // Redistribution and use in source and binary forms, with or without
5*f5c631daSSadaf Ebrahimi // modification, are permitted provided that the following conditions are met:
6*f5c631daSSadaf Ebrahimi //
7*f5c631daSSadaf Ebrahimi // * Redistributions of source code must retain the above copyright notice,
8*f5c631daSSadaf Ebrahimi // this list of conditions and the following disclaimer.
9*f5c631daSSadaf Ebrahimi // * Redistributions in binary form must reproduce the above copyright notice,
10*f5c631daSSadaf Ebrahimi // this list of conditions and the following disclaimer in the documentation
11*f5c631daSSadaf Ebrahimi // and/or other materials provided with the distribution.
12*f5c631daSSadaf Ebrahimi // * Neither the name of ARM Limited nor the names of its contributors may be
13*f5c631daSSadaf Ebrahimi // used to endorse or promote products derived from this software without
14*f5c631daSSadaf Ebrahimi // specific prior written permission.
15*f5c631daSSadaf Ebrahimi //
16*f5c631daSSadaf Ebrahimi // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS CONTRIBUTORS "AS IS" AND
17*f5c631daSSadaf Ebrahimi // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
18*f5c631daSSadaf Ebrahimi // WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
19*f5c631daSSadaf Ebrahimi // DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
20*f5c631daSSadaf Ebrahimi // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
21*f5c631daSSadaf Ebrahimi // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
22*f5c631daSSadaf Ebrahimi // SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
23*f5c631daSSadaf Ebrahimi // CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
24*f5c631daSSadaf Ebrahimi // OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
25*f5c631daSSadaf Ebrahimi // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26*f5c631daSSadaf Ebrahimi
27*f5c631daSSadaf Ebrahimi
28*f5c631daSSadaf Ebrahimi // -----------------------------------------------------------------------------
29*f5c631daSSadaf Ebrahimi // This file is auto generated from the
30*f5c631daSSadaf Ebrahimi // test/aarch32/config/template-simulator-aarch32.cc.in template file using
31*f5c631daSSadaf Ebrahimi // tools/generate_tests.py.
32*f5c631daSSadaf Ebrahimi //
33*f5c631daSSadaf Ebrahimi // PLEASE DO NOT EDIT.
34*f5c631daSSadaf Ebrahimi // -----------------------------------------------------------------------------
35*f5c631daSSadaf Ebrahimi
36*f5c631daSSadaf Ebrahimi
37*f5c631daSSadaf Ebrahimi #include "test-runner.h"
38*f5c631daSSadaf Ebrahimi
39*f5c631daSSadaf Ebrahimi #include "test-utils.h"
40*f5c631daSSadaf Ebrahimi #include "test-utils-aarch32.h"
41*f5c631daSSadaf Ebrahimi
42*f5c631daSSadaf Ebrahimi #include "aarch32/assembler-aarch32.h"
43*f5c631daSSadaf Ebrahimi #include "aarch32/disasm-aarch32.h"
44*f5c631daSSadaf Ebrahimi #include "aarch32/macro-assembler-aarch32.h"
45*f5c631daSSadaf Ebrahimi
46*f5c631daSSadaf Ebrahimi #define __ masm.
47*f5c631daSSadaf Ebrahimi #define BUF_SIZE (4096)
48*f5c631daSSadaf Ebrahimi
49*f5c631daSSadaf Ebrahimi #ifdef VIXL_INCLUDE_SIMULATOR_AARCH32
50*f5c631daSSadaf Ebrahimi // Run tests with the simulator.
51*f5c631daSSadaf Ebrahimi
52*f5c631daSSadaf Ebrahimi #define SETUP() MacroAssembler masm(BUF_SIZE)
53*f5c631daSSadaf Ebrahimi
54*f5c631daSSadaf Ebrahimi #define START() masm.GetBuffer()->Reset()
55*f5c631daSSadaf Ebrahimi
56*f5c631daSSadaf Ebrahimi #define END() \
57*f5c631daSSadaf Ebrahimi __ Hlt(0); \
58*f5c631daSSadaf Ebrahimi __ FinalizeCode();
59*f5c631daSSadaf Ebrahimi
60*f5c631daSSadaf Ebrahimi // TODO: Run the tests in the simulator.
61*f5c631daSSadaf Ebrahimi #define RUN()
62*f5c631daSSadaf Ebrahimi
63*f5c631daSSadaf Ebrahimi #else // ifdef VIXL_INCLUDE_SIMULATOR_AARCH32.
64*f5c631daSSadaf Ebrahimi
65*f5c631daSSadaf Ebrahimi #define SETUP() \
66*f5c631daSSadaf Ebrahimi MacroAssembler masm(BUF_SIZE); \
67*f5c631daSSadaf Ebrahimi UseScratchRegisterScope harness_scratch;
68*f5c631daSSadaf Ebrahimi
69*f5c631daSSadaf Ebrahimi #define START() \
70*f5c631daSSadaf Ebrahimi harness_scratch.Open(&masm); \
71*f5c631daSSadaf Ebrahimi harness_scratch.ExcludeAll(); \
72*f5c631daSSadaf Ebrahimi masm.GetBuffer()->Reset(); \
73*f5c631daSSadaf Ebrahimi __ Push(r4); \
74*f5c631daSSadaf Ebrahimi __ Push(r5); \
75*f5c631daSSadaf Ebrahimi __ Push(r6); \
76*f5c631daSSadaf Ebrahimi __ Push(r7); \
77*f5c631daSSadaf Ebrahimi __ Push(r8); \
78*f5c631daSSadaf Ebrahimi __ Push(r9); \
79*f5c631daSSadaf Ebrahimi __ Push(r10); \
80*f5c631daSSadaf Ebrahimi __ Push(r11); \
81*f5c631daSSadaf Ebrahimi __ Push(lr); \
82*f5c631daSSadaf Ebrahimi harness_scratch.Include(ip);
83*f5c631daSSadaf Ebrahimi
84*f5c631daSSadaf Ebrahimi #define END() \
85*f5c631daSSadaf Ebrahimi harness_scratch.Exclude(ip); \
86*f5c631daSSadaf Ebrahimi __ Pop(lr); \
87*f5c631daSSadaf Ebrahimi __ Pop(r11); \
88*f5c631daSSadaf Ebrahimi __ Pop(r10); \
89*f5c631daSSadaf Ebrahimi __ Pop(r9); \
90*f5c631daSSadaf Ebrahimi __ Pop(r8); \
91*f5c631daSSadaf Ebrahimi __ Pop(r7); \
92*f5c631daSSadaf Ebrahimi __ Pop(r6); \
93*f5c631daSSadaf Ebrahimi __ Pop(r5); \
94*f5c631daSSadaf Ebrahimi __ Pop(r4); \
95*f5c631daSSadaf Ebrahimi __ Bx(lr); \
96*f5c631daSSadaf Ebrahimi __ FinalizeCode(); \
97*f5c631daSSadaf Ebrahimi harness_scratch.Close();
98*f5c631daSSadaf Ebrahimi
99*f5c631daSSadaf Ebrahimi #define RUN() \
100*f5c631daSSadaf Ebrahimi { \
101*f5c631daSSadaf Ebrahimi int pcs_offset = masm.IsUsingT32() ? 1 : 0; \
102*f5c631daSSadaf Ebrahimi masm.GetBuffer()->SetExecutable(); \
103*f5c631daSSadaf Ebrahimi ExecuteMemory(masm.GetBuffer()->GetStartAddress<byte*>(), \
104*f5c631daSSadaf Ebrahimi masm.GetSizeOfCodeGenerated(), \
105*f5c631daSSadaf Ebrahimi pcs_offset); \
106*f5c631daSSadaf Ebrahimi masm.GetBuffer()->SetWritable(); \
107*f5c631daSSadaf Ebrahimi }
108*f5c631daSSadaf Ebrahimi
109*f5c631daSSadaf Ebrahimi #endif // ifdef VIXL_INCLUDE_SIMULATOR_AARCH32
110*f5c631daSSadaf Ebrahimi
111*f5c631daSSadaf Ebrahimi namespace vixl {
112*f5c631daSSadaf Ebrahimi namespace aarch32 {
113*f5c631daSSadaf Ebrahimi
114*f5c631daSSadaf Ebrahimi // List of instruction encodings:
115*f5c631daSSadaf Ebrahimi #define FOREACH_INSTRUCTION(M) \
116*f5c631daSSadaf Ebrahimi M(Ldr) \
117*f5c631daSSadaf Ebrahimi M(Ldrb) \
118*f5c631daSSadaf Ebrahimi M(Str) \
119*f5c631daSSadaf Ebrahimi M(Strb)
120*f5c631daSSadaf Ebrahimi
121*f5c631daSSadaf Ebrahimi
122*f5c631daSSadaf Ebrahimi // The following definitions are defined again in each generated test, therefore
123*f5c631daSSadaf Ebrahimi // we need to place them in an anomymous namespace. It expresses that they are
124*f5c631daSSadaf Ebrahimi // local to this file only, and the compiler is not allowed to share these types
125*f5c631daSSadaf Ebrahimi // across test files during template instantiation. Specifically, `Operands` and
126*f5c631daSSadaf Ebrahimi // `Inputs` have various layouts across generated tests so they absolutely
127*f5c631daSSadaf Ebrahimi // cannot be shared.
128*f5c631daSSadaf Ebrahimi
129*f5c631daSSadaf Ebrahimi #ifdef VIXL_INCLUDE_TARGET_A32
130*f5c631daSSadaf Ebrahimi namespace {
131*f5c631daSSadaf Ebrahimi
132*f5c631daSSadaf Ebrahimi // Values to be passed to the assembler to produce the instruction under test.
133*f5c631daSSadaf Ebrahimi struct Operands {
134*f5c631daSSadaf Ebrahimi Condition cond;
135*f5c631daSSadaf Ebrahimi Register rd;
136*f5c631daSSadaf Ebrahimi Register rn;
137*f5c631daSSadaf Ebrahimi Sign sign;
138*f5c631daSSadaf Ebrahimi Register rm;
139*f5c631daSSadaf Ebrahimi ShiftType shift;
140*f5c631daSSadaf Ebrahimi uint32_t amount;
141*f5c631daSSadaf Ebrahimi AddrMode addr_mode;
142*f5c631daSSadaf Ebrahimi };
143*f5c631daSSadaf Ebrahimi
144*f5c631daSSadaf Ebrahimi // Input data to feed to the instruction.
145*f5c631daSSadaf Ebrahimi struct Inputs {
146*f5c631daSSadaf Ebrahimi uint32_t apsr;
147*f5c631daSSadaf Ebrahimi uint32_t rd;
148*f5c631daSSadaf Ebrahimi uint32_t rm;
149*f5c631daSSadaf Ebrahimi uint32_t memop[2];
150*f5c631daSSadaf Ebrahimi };
151*f5c631daSSadaf Ebrahimi
152*f5c631daSSadaf Ebrahimi // This structure contains all input data needed to test one specific encoding.
153*f5c631daSSadaf Ebrahimi // It used to generate a loop over an instruction.
154*f5c631daSSadaf Ebrahimi struct TestLoopData {
155*f5c631daSSadaf Ebrahimi // The `operands` fields represents the values to pass to the assembler to
156*f5c631daSSadaf Ebrahimi // produce the instruction.
157*f5c631daSSadaf Ebrahimi Operands operands;
158*f5c631daSSadaf Ebrahimi // Description of the operands, used for error reporting.
159*f5c631daSSadaf Ebrahimi const char* operands_description;
160*f5c631daSSadaf Ebrahimi // Unique identifier, used for generating traces.
161*f5c631daSSadaf Ebrahimi const char* identifier;
162*f5c631daSSadaf Ebrahimi // Array of values to be fed to the instruction.
163*f5c631daSSadaf Ebrahimi size_t input_size;
164*f5c631daSSadaf Ebrahimi const Inputs* inputs;
165*f5c631daSSadaf Ebrahimi };
166*f5c631daSSadaf Ebrahimi
167*f5c631daSSadaf Ebrahimi static const Inputs kCondition[] = {{NFlag, 0xabababab, 0, {0, 0x77777777}},
168*f5c631daSSadaf Ebrahimi {ZFlag, 0xabababab, 0, {0, 0x77777777}},
169*f5c631daSSadaf Ebrahimi {CFlag, 0xabababab, 0, {0, 0x77777777}},
170*f5c631daSSadaf Ebrahimi {VFlag, 0xabababab, 0, {0, 0x77777777}},
171*f5c631daSSadaf Ebrahimi {NZFlag, 0xabababab, 0, {0, 0x77777777}},
172*f5c631daSSadaf Ebrahimi {NCFlag, 0xabababab, 0, {0, 0x77777777}},
173*f5c631daSSadaf Ebrahimi {NVFlag, 0xabababab, 0, {0, 0x77777777}},
174*f5c631daSSadaf Ebrahimi {ZCFlag, 0xabababab, 0, {0, 0x77777777}},
175*f5c631daSSadaf Ebrahimi {ZVFlag, 0xabababab, 0, {0, 0x77777777}},
176*f5c631daSSadaf Ebrahimi {CVFlag, 0xabababab, 0, {0, 0x77777777}},
177*f5c631daSSadaf Ebrahimi {NZCFlag, 0xabababab, 0, {0, 0x77777777}},
178*f5c631daSSadaf Ebrahimi {NZVFlag, 0xabababab, 0, {0, 0x77777777}},
179*f5c631daSSadaf Ebrahimi {NCVFlag, 0xabababab, 0, {0, 0x77777777}},
180*f5c631daSSadaf Ebrahimi {ZCVFlag, 0xabababab, 0, {0, 0x77777777}},
181*f5c631daSSadaf Ebrahimi {NZCVFlag, 0xabababab, 0, {0, 0x77777777}}};
182*f5c631daSSadaf Ebrahimi
183*f5c631daSSadaf Ebrahimi static const Inputs kPositiveOffset[] =
184*f5c631daSSadaf Ebrahimi {{NoFlag, 0xabababab, 2590, {0, 0x77777777}},
185*f5c631daSSadaf Ebrahimi {NoFlag, 0xabababab, 180, {0, 0x0cabba9e}},
186*f5c631daSSadaf Ebrahimi {NoFlag, 0xabababab, 3870, {0, 0x77777777}},
187*f5c631daSSadaf Ebrahimi {NoFlag, 0xabababab, 618, {0, 0x55555555}},
188*f5c631daSSadaf Ebrahimi {NoFlag, 0xabababab, 2650, {0, 0x0badbeef}},
189*f5c631daSSadaf Ebrahimi {NoFlag, 0xabababab, 2091, {0, 0x77777777}},
190*f5c631daSSadaf Ebrahimi {NoFlag, 0xabababab, 778, {0, 0x0badbeef}},
191*f5c631daSSadaf Ebrahimi {NoFlag, 0xabababab, 282, {0, 0x0cabba9e}},
192*f5c631daSSadaf Ebrahimi {NoFlag, 0xabababab, 263, {0, 0x77777777}},
193*f5c631daSSadaf Ebrahimi {NoFlag, 0xabababab, 200, {0, 0x0cabba9e}}};
194*f5c631daSSadaf Ebrahimi
195*f5c631daSSadaf Ebrahimi static const Inputs kNegativeOffset[] =
196*f5c631daSSadaf Ebrahimi {{NoFlag, 0xabababab, 3743, {0, 0x77777777}},
197*f5c631daSSadaf Ebrahimi {NoFlag, 0xabababab, 2475, {0, 0x0badbeef}},
198*f5c631daSSadaf Ebrahimi {NoFlag, 0xabababab, 1159, {0, 0x0cabba9e}},
199*f5c631daSSadaf Ebrahimi {NoFlag, 0xabababab, 2345, {0, 0x55555555}},
200*f5c631daSSadaf Ebrahimi {NoFlag, 0xabababab, 3625, {0, 0x55555555}},
201*f5c631daSSadaf Ebrahimi {NoFlag, 0xabababab, 2381, {0, 0x0badbeef}},
202*f5c631daSSadaf Ebrahimi {NoFlag, 0xabababab, 4037, {0, 0x0badbeef}},
203*f5c631daSSadaf Ebrahimi {NoFlag, 0xabababab, 778, {0, 0x77777777}},
204*f5c631daSSadaf Ebrahimi {NoFlag, 0xabababab, 3880, {0, 0x0cabba9e}},
205*f5c631daSSadaf Ebrahimi {NoFlag, 0xabababab, 3384, {0, 0x77777777}}};
206*f5c631daSSadaf Ebrahimi
207*f5c631daSSadaf Ebrahimi static const Inputs kPositivePostIndex[] =
208*f5c631daSSadaf Ebrahimi {{NoFlag, 0xabababab, 1526, {0, 0x0cabba9e}},
209*f5c631daSSadaf Ebrahimi {NoFlag, 0xabababab, 365, {0, 0x55555555}},
210*f5c631daSSadaf Ebrahimi {NoFlag, 0xabababab, 1948, {0, 0x0cabba9e}},
211*f5c631daSSadaf Ebrahimi {NoFlag, 0xabababab, 958, {0, 0x0cabba9e}},
212*f5c631daSSadaf Ebrahimi {NoFlag, 0xabababab, 969, {0, 0x55555555}},
213*f5c631daSSadaf Ebrahimi {NoFlag, 0xabababab, 2695, {0, 0x55555555}},
214*f5c631daSSadaf Ebrahimi {NoFlag, 0xabababab, 2690, {0, 0x0cabba9e}},
215*f5c631daSSadaf Ebrahimi {NoFlag, 0xabababab, 523, {0, 0x0cabba9e}},
216*f5c631daSSadaf Ebrahimi {NoFlag, 0xabababab, 2046, {0, 0x0cabba9e}},
217*f5c631daSSadaf Ebrahimi {NoFlag, 0xabababab, 2490, {0, 0x0cabba9e}}};
218*f5c631daSSadaf Ebrahimi
219*f5c631daSSadaf Ebrahimi static const Inputs kNegativePostIndex[] =
220*f5c631daSSadaf Ebrahimi {{NoFlag, 0xabababab, 4093, {0, 0x0badbeef}},
221*f5c631daSSadaf Ebrahimi {NoFlag, 0xabababab, 1860, {0, 0x0cabba9e}},
222*f5c631daSSadaf Ebrahimi {NoFlag, 0xabababab, 3157, {0, 0x55555555}},
223*f5c631daSSadaf Ebrahimi {NoFlag, 0xabababab, 3069, {0, 0x55555555}},
224*f5c631daSSadaf Ebrahimi {NoFlag, 0xabababab, 932, {0, 0x55555555}},
225*f5c631daSSadaf Ebrahimi {NoFlag, 0xabababab, 3287, {0, 0x55555555}},
226*f5c631daSSadaf Ebrahimi {NoFlag, 0xabababab, 685, {0, 0x0cabba9e}},
227*f5c631daSSadaf Ebrahimi {NoFlag, 0xabababab, 3685, {0, 0x55555555}},
228*f5c631daSSadaf Ebrahimi {NoFlag, 0xabababab, 3039, {0, 0x0badbeef}},
229*f5c631daSSadaf Ebrahimi {NoFlag, 0xabababab, 2245, {0, 0x0badbeef}}};
230*f5c631daSSadaf Ebrahimi
231*f5c631daSSadaf Ebrahimi static const Inputs kPositivePreIndex[] =
232*f5c631daSSadaf Ebrahimi {{NoFlag, 0xabababab, 719, {0, 0x0badbeef}},
233*f5c631daSSadaf Ebrahimi {NoFlag, 0xabababab, 2933, {0, 0x0badbeef}},
234*f5c631daSSadaf Ebrahimi {NoFlag, 0xabababab, 263, {0, 0x0badbeef}},
235*f5c631daSSadaf Ebrahimi {NoFlag, 0xabababab, 2086, {0, 0x55555555}},
236*f5c631daSSadaf Ebrahimi {NoFlag, 0xabababab, 2728, {0, 0x0badbeef}},
237*f5c631daSSadaf Ebrahimi {NoFlag, 0xabababab, 3399, {0, 0x55555555}},
238*f5c631daSSadaf Ebrahimi {NoFlag, 0xabababab, 2532, {0, 0x0badbeef}},
239*f5c631daSSadaf Ebrahimi {NoFlag, 0xabababab, 3626, {0, 0x0badbeef}},
240*f5c631daSSadaf Ebrahimi {NoFlag, 0xabababab, 612, {0, 0x77777777}},
241*f5c631daSSadaf Ebrahimi {NoFlag, 0xabababab, 3811, {0, 0x77777777}}};
242*f5c631daSSadaf Ebrahimi
243*f5c631daSSadaf Ebrahimi static const Inputs kNegativePreIndex[] =
244*f5c631daSSadaf Ebrahimi {{NoFlag, 0xabababab, 3564, {0, 0x77777777}},
245*f5c631daSSadaf Ebrahimi {NoFlag, 0xabababab, 766, {0, 0x55555555}},
246*f5c631daSSadaf Ebrahimi {NoFlag, 0xabababab, 2365, {0, 0x0badbeef}},
247*f5c631daSSadaf Ebrahimi {NoFlag, 0xabababab, 2462, {0, 0x0cabba9e}},
248*f5c631daSSadaf Ebrahimi {NoFlag, 0xabababab, 3439, {0, 0x0badbeef}},
249*f5c631daSSadaf Ebrahimi {NoFlag, 0xabababab, 2810, {0, 0x77777777}},
250*f5c631daSSadaf Ebrahimi {NoFlag, 0xabababab, 2590, {0, 0x55555555}},
251*f5c631daSSadaf Ebrahimi {NoFlag, 0xabababab, 1527, {0, 0x0cabba9e}},
252*f5c631daSSadaf Ebrahimi {NoFlag, 0xabababab, 523, {0, 0x0cabba9e}},
253*f5c631daSSadaf Ebrahimi {NoFlag, 0xabababab, 2290, {0, 0x77777777}}};
254*f5c631daSSadaf Ebrahimi
255*f5c631daSSadaf Ebrahimi
256*f5c631daSSadaf Ebrahimi // A loop will be generated for each element of this array.
257*f5c631daSSadaf Ebrahimi const TestLoopData kTests[] =
258*f5c631daSSadaf Ebrahimi {{{eq, r0, r1, plus, r8, LSL, 1, Offset},
259*f5c631daSSadaf Ebrahimi "eq r0 r1 plus r8 LSL 1 Offset",
260*f5c631daSSadaf Ebrahimi "Condition_eq_r0_r1_plus_r8_LSL_1_Offset",
261*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kCondition),
262*f5c631daSSadaf Ebrahimi kCondition},
263*f5c631daSSadaf Ebrahimi {{ne, r0, r1, plus, r8, LSL, 1, Offset},
264*f5c631daSSadaf Ebrahimi "ne r0 r1 plus r8 LSL 1 Offset",
265*f5c631daSSadaf Ebrahimi "Condition_ne_r0_r1_plus_r8_LSL_1_Offset",
266*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kCondition),
267*f5c631daSSadaf Ebrahimi kCondition},
268*f5c631daSSadaf Ebrahimi {{cs, r0, r1, plus, r8, LSL, 1, Offset},
269*f5c631daSSadaf Ebrahimi "cs r0 r1 plus r8 LSL 1 Offset",
270*f5c631daSSadaf Ebrahimi "Condition_cs_r0_r1_plus_r8_LSL_1_Offset",
271*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kCondition),
272*f5c631daSSadaf Ebrahimi kCondition},
273*f5c631daSSadaf Ebrahimi {{cc, r0, r1, plus, r8, LSL, 1, Offset},
274*f5c631daSSadaf Ebrahimi "cc r0 r1 plus r8 LSL 1 Offset",
275*f5c631daSSadaf Ebrahimi "Condition_cc_r0_r1_plus_r8_LSL_1_Offset",
276*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kCondition),
277*f5c631daSSadaf Ebrahimi kCondition},
278*f5c631daSSadaf Ebrahimi {{mi, r0, r1, plus, r8, LSL, 1, Offset},
279*f5c631daSSadaf Ebrahimi "mi r0 r1 plus r8 LSL 1 Offset",
280*f5c631daSSadaf Ebrahimi "Condition_mi_r0_r1_plus_r8_LSL_1_Offset",
281*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kCondition),
282*f5c631daSSadaf Ebrahimi kCondition},
283*f5c631daSSadaf Ebrahimi {{pl, r0, r1, plus, r8, LSL, 1, Offset},
284*f5c631daSSadaf Ebrahimi "pl r0 r1 plus r8 LSL 1 Offset",
285*f5c631daSSadaf Ebrahimi "Condition_pl_r0_r1_plus_r8_LSL_1_Offset",
286*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kCondition),
287*f5c631daSSadaf Ebrahimi kCondition},
288*f5c631daSSadaf Ebrahimi {{vs, r0, r1, plus, r8, LSL, 1, Offset},
289*f5c631daSSadaf Ebrahimi "vs r0 r1 plus r8 LSL 1 Offset",
290*f5c631daSSadaf Ebrahimi "Condition_vs_r0_r1_plus_r8_LSL_1_Offset",
291*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kCondition),
292*f5c631daSSadaf Ebrahimi kCondition},
293*f5c631daSSadaf Ebrahimi {{vc, r0, r1, plus, r8, LSL, 1, Offset},
294*f5c631daSSadaf Ebrahimi "vc r0 r1 plus r8 LSL 1 Offset",
295*f5c631daSSadaf Ebrahimi "Condition_vc_r0_r1_plus_r8_LSL_1_Offset",
296*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kCondition),
297*f5c631daSSadaf Ebrahimi kCondition},
298*f5c631daSSadaf Ebrahimi {{hi, r0, r1, plus, r8, LSL, 1, Offset},
299*f5c631daSSadaf Ebrahimi "hi r0 r1 plus r8 LSL 1 Offset",
300*f5c631daSSadaf Ebrahimi "Condition_hi_r0_r1_plus_r8_LSL_1_Offset",
301*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kCondition),
302*f5c631daSSadaf Ebrahimi kCondition},
303*f5c631daSSadaf Ebrahimi {{ls, r0, r1, plus, r8, LSL, 1, Offset},
304*f5c631daSSadaf Ebrahimi "ls r0 r1 plus r8 LSL 1 Offset",
305*f5c631daSSadaf Ebrahimi "Condition_ls_r0_r1_plus_r8_LSL_1_Offset",
306*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kCondition),
307*f5c631daSSadaf Ebrahimi kCondition},
308*f5c631daSSadaf Ebrahimi {{ge, r0, r1, plus, r8, LSL, 1, Offset},
309*f5c631daSSadaf Ebrahimi "ge r0 r1 plus r8 LSL 1 Offset",
310*f5c631daSSadaf Ebrahimi "Condition_ge_r0_r1_plus_r8_LSL_1_Offset",
311*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kCondition),
312*f5c631daSSadaf Ebrahimi kCondition},
313*f5c631daSSadaf Ebrahimi {{lt, r0, r1, plus, r8, LSL, 1, Offset},
314*f5c631daSSadaf Ebrahimi "lt r0 r1 plus r8 LSL 1 Offset",
315*f5c631daSSadaf Ebrahimi "Condition_lt_r0_r1_plus_r8_LSL_1_Offset",
316*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kCondition),
317*f5c631daSSadaf Ebrahimi kCondition},
318*f5c631daSSadaf Ebrahimi {{gt, r0, r1, plus, r8, LSL, 1, Offset},
319*f5c631daSSadaf Ebrahimi "gt r0 r1 plus r8 LSL 1 Offset",
320*f5c631daSSadaf Ebrahimi "Condition_gt_r0_r1_plus_r8_LSL_1_Offset",
321*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kCondition),
322*f5c631daSSadaf Ebrahimi kCondition},
323*f5c631daSSadaf Ebrahimi {{le, r0, r1, plus, r8, LSL, 1, Offset},
324*f5c631daSSadaf Ebrahimi "le r0 r1 plus r8 LSL 1 Offset",
325*f5c631daSSadaf Ebrahimi "Condition_le_r0_r1_plus_r8_LSL_1_Offset",
326*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kCondition),
327*f5c631daSSadaf Ebrahimi kCondition},
328*f5c631daSSadaf Ebrahimi {{al, r0, r1, plus, r8, LSL, 1, Offset},
329*f5c631daSSadaf Ebrahimi "al r0 r1 plus r8 LSL 1 Offset",
330*f5c631daSSadaf Ebrahimi "Condition_al_r0_r1_plus_r8_LSL_1_Offset",
331*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kCondition),
332*f5c631daSSadaf Ebrahimi kCondition},
333*f5c631daSSadaf Ebrahimi {{al, r1, r0, plus, r11, LSL, 2, Offset},
334*f5c631daSSadaf Ebrahimi "al r1 r0 plus r11 LSL 2 Offset",
335*f5c631daSSadaf Ebrahimi "PositiveOffset_al_r1_r0_plus_r11_LSL_2_Offset",
336*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositiveOffset),
337*f5c631daSSadaf Ebrahimi kPositiveOffset},
338*f5c631daSSadaf Ebrahimi {{al, r3, r11, plus, r12, LSL, 11, Offset},
339*f5c631daSSadaf Ebrahimi "al r3 r11 plus r12 LSL 11 Offset",
340*f5c631daSSadaf Ebrahimi "PositiveOffset_al_r3_r11_plus_r12_LSL_11_Offset",
341*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositiveOffset),
342*f5c631daSSadaf Ebrahimi kPositiveOffset},
343*f5c631daSSadaf Ebrahimi {{al, r14, r2, plus, r6, LSL, 2, Offset},
344*f5c631daSSadaf Ebrahimi "al r14 r2 plus r6 LSL 2 Offset",
345*f5c631daSSadaf Ebrahimi "PositiveOffset_al_r14_r2_plus_r6_LSL_2_Offset",
346*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositiveOffset),
347*f5c631daSSadaf Ebrahimi kPositiveOffset},
348*f5c631daSSadaf Ebrahimi {{al, r4, r12, plus, r9, ROR, 12, Offset},
349*f5c631daSSadaf Ebrahimi "al r4 r12 plus r9 ROR 12 Offset",
350*f5c631daSSadaf Ebrahimi "PositiveOffset_al_r4_r12_plus_r9_ROR_12_Offset",
351*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositiveOffset),
352*f5c631daSSadaf Ebrahimi kPositiveOffset},
353*f5c631daSSadaf Ebrahimi {{al, r1, r12, plus, r0, LSL, 17, Offset},
354*f5c631daSSadaf Ebrahimi "al r1 r12 plus r0 LSL 17 Offset",
355*f5c631daSSadaf Ebrahimi "PositiveOffset_al_r1_r12_plus_r0_LSL_17_Offset",
356*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositiveOffset),
357*f5c631daSSadaf Ebrahimi kPositiveOffset},
358*f5c631daSSadaf Ebrahimi {{al, r1, r9, plus, r6, LSL, 24, Offset},
359*f5c631daSSadaf Ebrahimi "al r1 r9 plus r6 LSL 24 Offset",
360*f5c631daSSadaf Ebrahimi "PositiveOffset_al_r1_r9_plus_r6_LSL_24_Offset",
361*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositiveOffset),
362*f5c631daSSadaf Ebrahimi kPositiveOffset},
363*f5c631daSSadaf Ebrahimi {{al, r1, r5, plus, r3, LSL, 21, Offset},
364*f5c631daSSadaf Ebrahimi "al r1 r5 plus r3 LSL 21 Offset",
365*f5c631daSSadaf Ebrahimi "PositiveOffset_al_r1_r5_plus_r3_LSL_21_Offset",
366*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositiveOffset),
367*f5c631daSSadaf Ebrahimi kPositiveOffset},
368*f5c631daSSadaf Ebrahimi {{al, r8, r7, plus, r6, LSL, 20, Offset},
369*f5c631daSSadaf Ebrahimi "al r8 r7 plus r6 LSL 20 Offset",
370*f5c631daSSadaf Ebrahimi "PositiveOffset_al_r8_r7_plus_r6_LSL_20_Offset",
371*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositiveOffset),
372*f5c631daSSadaf Ebrahimi kPositiveOffset},
373*f5c631daSSadaf Ebrahimi {{al, r12, r14, plus, r7, LSL, 21, Offset},
374*f5c631daSSadaf Ebrahimi "al r12 r14 plus r7 LSL 21 Offset",
375*f5c631daSSadaf Ebrahimi "PositiveOffset_al_r12_r14_plus_r7_LSL_21_Offset",
376*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositiveOffset),
377*f5c631daSSadaf Ebrahimi kPositiveOffset},
378*f5c631daSSadaf Ebrahimi {{al, r0, r11, plus, r4, ROR, 2, Offset},
379*f5c631daSSadaf Ebrahimi "al r0 r11 plus r4 ROR 2 Offset",
380*f5c631daSSadaf Ebrahimi "PositiveOffset_al_r0_r11_plus_r4_ROR_2_Offset",
381*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositiveOffset),
382*f5c631daSSadaf Ebrahimi kPositiveOffset},
383*f5c631daSSadaf Ebrahimi {{al, r6, r14, plus, r8, LSL, 30, Offset},
384*f5c631daSSadaf Ebrahimi "al r6 r14 plus r8 LSL 30 Offset",
385*f5c631daSSadaf Ebrahimi "PositiveOffset_al_r6_r14_plus_r8_LSL_30_Offset",
386*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositiveOffset),
387*f5c631daSSadaf Ebrahimi kPositiveOffset},
388*f5c631daSSadaf Ebrahimi {{al, r2, r11, plus, r9, ROR, 29, Offset},
389*f5c631daSSadaf Ebrahimi "al r2 r11 plus r9 ROR 29 Offset",
390*f5c631daSSadaf Ebrahimi "PositiveOffset_al_r2_r11_plus_r9_ROR_29_Offset",
391*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositiveOffset),
392*f5c631daSSadaf Ebrahimi kPositiveOffset},
393*f5c631daSSadaf Ebrahimi {{al, r0, r14, plus, r2, LSL, 31, Offset},
394*f5c631daSSadaf Ebrahimi "al r0 r14 plus r2 LSL 31 Offset",
395*f5c631daSSadaf Ebrahimi "PositiveOffset_al_r0_r14_plus_r2_LSL_31_Offset",
396*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositiveOffset),
397*f5c631daSSadaf Ebrahimi kPositiveOffset},
398*f5c631daSSadaf Ebrahimi {{al, r3, r4, plus, r7, LSL, 13, Offset},
399*f5c631daSSadaf Ebrahimi "al r3 r4 plus r7 LSL 13 Offset",
400*f5c631daSSadaf Ebrahimi "PositiveOffset_al_r3_r4_plus_r7_LSL_13_Offset",
401*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositiveOffset),
402*f5c631daSSadaf Ebrahimi kPositiveOffset},
403*f5c631daSSadaf Ebrahimi {{al, r10, r12, plus, r9, LSL, 7, Offset},
404*f5c631daSSadaf Ebrahimi "al r10 r12 plus r9 LSL 7 Offset",
405*f5c631daSSadaf Ebrahimi "PositiveOffset_al_r10_r12_plus_r9_LSL_7_Offset",
406*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositiveOffset),
407*f5c631daSSadaf Ebrahimi kPositiveOffset},
408*f5c631daSSadaf Ebrahimi {{al, r5, r1, plus, r3, ROR, 19, Offset},
409*f5c631daSSadaf Ebrahimi "al r5 r1 plus r3 ROR 19 Offset",
410*f5c631daSSadaf Ebrahimi "PositiveOffset_al_r5_r1_plus_r3_ROR_19_Offset",
411*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositiveOffset),
412*f5c631daSSadaf Ebrahimi kPositiveOffset},
413*f5c631daSSadaf Ebrahimi {{al, r5, r6, plus, r3, LSL, 27, Offset},
414*f5c631daSSadaf Ebrahimi "al r5 r6 plus r3 LSL 27 Offset",
415*f5c631daSSadaf Ebrahimi "PositiveOffset_al_r5_r6_plus_r3_LSL_27_Offset",
416*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositiveOffset),
417*f5c631daSSadaf Ebrahimi kPositiveOffset},
418*f5c631daSSadaf Ebrahimi {{al, r2, r10, plus, r1, LSL, 21, Offset},
419*f5c631daSSadaf Ebrahimi "al r2 r10 plus r1 LSL 21 Offset",
420*f5c631daSSadaf Ebrahimi "PositiveOffset_al_r2_r10_plus_r1_LSL_21_Offset",
421*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositiveOffset),
422*f5c631daSSadaf Ebrahimi kPositiveOffset},
423*f5c631daSSadaf Ebrahimi {{al, r7, r2, plus, r5, LSL, 23, Offset},
424*f5c631daSSadaf Ebrahimi "al r7 r2 plus r5 LSL 23 Offset",
425*f5c631daSSadaf Ebrahimi "PositiveOffset_al_r7_r2_plus_r5_LSL_23_Offset",
426*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositiveOffset),
427*f5c631daSSadaf Ebrahimi kPositiveOffset},
428*f5c631daSSadaf Ebrahimi {{al, r7, r14, plus, r0, ROR, 17, Offset},
429*f5c631daSSadaf Ebrahimi "al r7 r14 plus r0 ROR 17 Offset",
430*f5c631daSSadaf Ebrahimi "PositiveOffset_al_r7_r14_plus_r0_ROR_17_Offset",
431*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositiveOffset),
432*f5c631daSSadaf Ebrahimi kPositiveOffset},
433*f5c631daSSadaf Ebrahimi {{al, r4, r5, plus, r9, LSL, 19, Offset},
434*f5c631daSSadaf Ebrahimi "al r4 r5 plus r9 LSL 19 Offset",
435*f5c631daSSadaf Ebrahimi "PositiveOffset_al_r4_r5_plus_r9_LSL_19_Offset",
436*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositiveOffset),
437*f5c631daSSadaf Ebrahimi kPositiveOffset},
438*f5c631daSSadaf Ebrahimi {{al, r14, r0, plus, r2, ROR, 27, Offset},
439*f5c631daSSadaf Ebrahimi "al r14 r0 plus r2 ROR 27 Offset",
440*f5c631daSSadaf Ebrahimi "PositiveOffset_al_r14_r0_plus_r2_ROR_27_Offset",
441*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositiveOffset),
442*f5c631daSSadaf Ebrahimi kPositiveOffset},
443*f5c631daSSadaf Ebrahimi {{al, r11, r7, plus, r5, LSL, 15, Offset},
444*f5c631daSSadaf Ebrahimi "al r11 r7 plus r5 LSL 15 Offset",
445*f5c631daSSadaf Ebrahimi "PositiveOffset_al_r11_r7_plus_r5_LSL_15_Offset",
446*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositiveOffset),
447*f5c631daSSadaf Ebrahimi kPositiveOffset},
448*f5c631daSSadaf Ebrahimi {{al, r7, r6, plus, r0, LSL, 3, Offset},
449*f5c631daSSadaf Ebrahimi "al r7 r6 plus r0 LSL 3 Offset",
450*f5c631daSSadaf Ebrahimi "PositiveOffset_al_r7_r6_plus_r0_LSL_3_Offset",
451*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositiveOffset),
452*f5c631daSSadaf Ebrahimi kPositiveOffset},
453*f5c631daSSadaf Ebrahimi {{al, r14, r4, plus, r6, ROR, 5, Offset},
454*f5c631daSSadaf Ebrahimi "al r14 r4 plus r6 ROR 5 Offset",
455*f5c631daSSadaf Ebrahimi "PositiveOffset_al_r14_r4_plus_r6_ROR_5_Offset",
456*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositiveOffset),
457*f5c631daSSadaf Ebrahimi kPositiveOffset},
458*f5c631daSSadaf Ebrahimi {{al, r0, r12, plus, r8, LSL, 8, Offset},
459*f5c631daSSadaf Ebrahimi "al r0 r12 plus r8 LSL 8 Offset",
460*f5c631daSSadaf Ebrahimi "PositiveOffset_al_r0_r12_plus_r8_LSL_8_Offset",
461*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositiveOffset),
462*f5c631daSSadaf Ebrahimi kPositiveOffset},
463*f5c631daSSadaf Ebrahimi {{al, r14, r8, plus, r9, ROR, 13, Offset},
464*f5c631daSSadaf Ebrahimi "al r14 r8 plus r9 ROR 13 Offset",
465*f5c631daSSadaf Ebrahimi "PositiveOffset_al_r14_r8_plus_r9_ROR_13_Offset",
466*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositiveOffset),
467*f5c631daSSadaf Ebrahimi kPositiveOffset},
468*f5c631daSSadaf Ebrahimi {{al, r2, r11, plus, r12, LSL, 8, Offset},
469*f5c631daSSadaf Ebrahimi "al r2 r11 plus r12 LSL 8 Offset",
470*f5c631daSSadaf Ebrahimi "PositiveOffset_al_r2_r11_plus_r12_LSL_8_Offset",
471*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositiveOffset),
472*f5c631daSSadaf Ebrahimi kPositiveOffset},
473*f5c631daSSadaf Ebrahimi {{al, r5, r2, plus, r0, LSL, 16, Offset},
474*f5c631daSSadaf Ebrahimi "al r5 r2 plus r0 LSL 16 Offset",
475*f5c631daSSadaf Ebrahimi "PositiveOffset_al_r5_r2_plus_r0_LSL_16_Offset",
476*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositiveOffset),
477*f5c631daSSadaf Ebrahimi kPositiveOffset},
478*f5c631daSSadaf Ebrahimi {{al, r10, r8, plus, r9, ROR, 25, Offset},
479*f5c631daSSadaf Ebrahimi "al r10 r8 plus r9 ROR 25 Offset",
480*f5c631daSSadaf Ebrahimi "PositiveOffset_al_r10_r8_plus_r9_ROR_25_Offset",
481*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositiveOffset),
482*f5c631daSSadaf Ebrahimi kPositiveOffset},
483*f5c631daSSadaf Ebrahimi {{al, r11, r8, plus, r4, LSL, 6, Offset},
484*f5c631daSSadaf Ebrahimi "al r11 r8 plus r4 LSL 6 Offset",
485*f5c631daSSadaf Ebrahimi "PositiveOffset_al_r11_r8_plus_r4_LSL_6_Offset",
486*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositiveOffset),
487*f5c631daSSadaf Ebrahimi kPositiveOffset},
488*f5c631daSSadaf Ebrahimi {{al, r7, r5, plus, r10, ROR, 24, Offset},
489*f5c631daSSadaf Ebrahimi "al r7 r5 plus r10 ROR 24 Offset",
490*f5c631daSSadaf Ebrahimi "PositiveOffset_al_r7_r5_plus_r10_ROR_24_Offset",
491*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositiveOffset),
492*f5c631daSSadaf Ebrahimi kPositiveOffset},
493*f5c631daSSadaf Ebrahimi {{al, r8, r14, plus, r2, LSL, 31, Offset},
494*f5c631daSSadaf Ebrahimi "al r8 r14 plus r2 LSL 31 Offset",
495*f5c631daSSadaf Ebrahimi "PositiveOffset_al_r8_r14_plus_r2_LSL_31_Offset",
496*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositiveOffset),
497*f5c631daSSadaf Ebrahimi kPositiveOffset},
498*f5c631daSSadaf Ebrahimi {{al, r1, r2, plus, r12, LSL, 14, Offset},
499*f5c631daSSadaf Ebrahimi "al r1 r2 plus r12 LSL 14 Offset",
500*f5c631daSSadaf Ebrahimi "PositiveOffset_al_r1_r2_plus_r12_LSL_14_Offset",
501*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositiveOffset),
502*f5c631daSSadaf Ebrahimi kPositiveOffset},
503*f5c631daSSadaf Ebrahimi {{al, r12, r1, plus, r0, ROR, 12, Offset},
504*f5c631daSSadaf Ebrahimi "al r12 r1 plus r0 ROR 12 Offset",
505*f5c631daSSadaf Ebrahimi "PositiveOffset_al_r12_r1_plus_r0_ROR_12_Offset",
506*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositiveOffset),
507*f5c631daSSadaf Ebrahimi kPositiveOffset},
508*f5c631daSSadaf Ebrahimi {{al, r3, r5, plus, r1, LSL, 9, Offset},
509*f5c631daSSadaf Ebrahimi "al r3 r5 plus r1 LSL 9 Offset",
510*f5c631daSSadaf Ebrahimi "PositiveOffset_al_r3_r5_plus_r1_LSL_9_Offset",
511*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositiveOffset),
512*f5c631daSSadaf Ebrahimi kPositiveOffset},
513*f5c631daSSadaf Ebrahimi {{al, r7, r10, plus, r14, ROR, 3, Offset},
514*f5c631daSSadaf Ebrahimi "al r7 r10 plus r14 ROR 3 Offset",
515*f5c631daSSadaf Ebrahimi "PositiveOffset_al_r7_r10_plus_r14_ROR_3_Offset",
516*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositiveOffset),
517*f5c631daSSadaf Ebrahimi kPositiveOffset},
518*f5c631daSSadaf Ebrahimi {{al, r4, r1, plus, r14, LSL, 24, Offset},
519*f5c631daSSadaf Ebrahimi "al r4 r1 plus r14 LSL 24 Offset",
520*f5c631daSSadaf Ebrahimi "PositiveOffset_al_r4_r1_plus_r14_LSL_24_Offset",
521*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositiveOffset),
522*f5c631daSSadaf Ebrahimi kPositiveOffset},
523*f5c631daSSadaf Ebrahimi {{al, r3, r5, plus, r4, LSL, 4, Offset},
524*f5c631daSSadaf Ebrahimi "al r3 r5 plus r4 LSL 4 Offset",
525*f5c631daSSadaf Ebrahimi "PositiveOffset_al_r3_r5_plus_r4_LSL_4_Offset",
526*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositiveOffset),
527*f5c631daSSadaf Ebrahimi kPositiveOffset},
528*f5c631daSSadaf Ebrahimi {{al, r11, r12, plus, r10, ROR, 18, Offset},
529*f5c631daSSadaf Ebrahimi "al r11 r12 plus r10 ROR 18 Offset",
530*f5c631daSSadaf Ebrahimi "PositiveOffset_al_r11_r12_plus_r10_ROR_18_Offset",
531*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositiveOffset),
532*f5c631daSSadaf Ebrahimi kPositiveOffset},
533*f5c631daSSadaf Ebrahimi {{al, r1, r2, plus, r8, LSL, 5, Offset},
534*f5c631daSSadaf Ebrahimi "al r1 r2 plus r8 LSL 5 Offset",
535*f5c631daSSadaf Ebrahimi "PositiveOffset_al_r1_r2_plus_r8_LSL_5_Offset",
536*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositiveOffset),
537*f5c631daSSadaf Ebrahimi kPositiveOffset},
538*f5c631daSSadaf Ebrahimi {{al, r6, r7, plus, r5, LSL, 19, Offset},
539*f5c631daSSadaf Ebrahimi "al r6 r7 plus r5 LSL 19 Offset",
540*f5c631daSSadaf Ebrahimi "PositiveOffset_al_r6_r7_plus_r5_LSL_19_Offset",
541*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositiveOffset),
542*f5c631daSSadaf Ebrahimi kPositiveOffset},
543*f5c631daSSadaf Ebrahimi {{al, r7, r6, plus, r0, ROR, 7, Offset},
544*f5c631daSSadaf Ebrahimi "al r7 r6 plus r0 ROR 7 Offset",
545*f5c631daSSadaf Ebrahimi "PositiveOffset_al_r7_r6_plus_r0_ROR_7_Offset",
546*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositiveOffset),
547*f5c631daSSadaf Ebrahimi kPositiveOffset},
548*f5c631daSSadaf Ebrahimi {{al, r7, r3, plus, r4, ROR, 27, Offset},
549*f5c631daSSadaf Ebrahimi "al r7 r3 plus r4 ROR 27 Offset",
550*f5c631daSSadaf Ebrahimi "PositiveOffset_al_r7_r3_plus_r4_ROR_27_Offset",
551*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositiveOffset),
552*f5c631daSSadaf Ebrahimi kPositiveOffset},
553*f5c631daSSadaf Ebrahimi {{al, r12, r6, plus, r7, ROR, 10, Offset},
554*f5c631daSSadaf Ebrahimi "al r12 r6 plus r7 ROR 10 Offset",
555*f5c631daSSadaf Ebrahimi "PositiveOffset_al_r12_r6_plus_r7_ROR_10_Offset",
556*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositiveOffset),
557*f5c631daSSadaf Ebrahimi kPositiveOffset},
558*f5c631daSSadaf Ebrahimi {{al, r8, r5, plus, r7, ROR, 29, Offset},
559*f5c631daSSadaf Ebrahimi "al r8 r5 plus r7 ROR 29 Offset",
560*f5c631daSSadaf Ebrahimi "PositiveOffset_al_r8_r5_plus_r7_ROR_29_Offset",
561*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositiveOffset),
562*f5c631daSSadaf Ebrahimi kPositiveOffset},
563*f5c631daSSadaf Ebrahimi {{al, r9, r0, plus, r4, ROR, 2, Offset},
564*f5c631daSSadaf Ebrahimi "al r9 r0 plus r4 ROR 2 Offset",
565*f5c631daSSadaf Ebrahimi "PositiveOffset_al_r9_r0_plus_r4_ROR_2_Offset",
566*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositiveOffset),
567*f5c631daSSadaf Ebrahimi kPositiveOffset},
568*f5c631daSSadaf Ebrahimi {{al, r3, r4, plus, r1, LSL, 1, Offset},
569*f5c631daSSadaf Ebrahimi "al r3 r4 plus r1 LSL 1 Offset",
570*f5c631daSSadaf Ebrahimi "PositiveOffset_al_r3_r4_plus_r1_LSL_1_Offset",
571*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositiveOffset),
572*f5c631daSSadaf Ebrahimi kPositiveOffset},
573*f5c631daSSadaf Ebrahimi {{al, r3, r12, plus, r8, LSL, 17, Offset},
574*f5c631daSSadaf Ebrahimi "al r3 r12 plus r8 LSL 17 Offset",
575*f5c631daSSadaf Ebrahimi "PositiveOffset_al_r3_r12_plus_r8_LSL_17_Offset",
576*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositiveOffset),
577*f5c631daSSadaf Ebrahimi kPositiveOffset},
578*f5c631daSSadaf Ebrahimi {{al, r12, r5, plus, r10, LSL, 18, Offset},
579*f5c631daSSadaf Ebrahimi "al r12 r5 plus r10 LSL 18 Offset",
580*f5c631daSSadaf Ebrahimi "PositiveOffset_al_r12_r5_plus_r10_LSL_18_Offset",
581*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositiveOffset),
582*f5c631daSSadaf Ebrahimi kPositiveOffset},
583*f5c631daSSadaf Ebrahimi {{al, r5, r10, plus, r7, ROR, 19, Offset},
584*f5c631daSSadaf Ebrahimi "al r5 r10 plus r7 ROR 19 Offset",
585*f5c631daSSadaf Ebrahimi "PositiveOffset_al_r5_r10_plus_r7_ROR_19_Offset",
586*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositiveOffset),
587*f5c631daSSadaf Ebrahimi kPositiveOffset},
588*f5c631daSSadaf Ebrahimi {{al, r14, r2, plus, r12, LSL, 15, Offset},
589*f5c631daSSadaf Ebrahimi "al r14 r2 plus r12 LSL 15 Offset",
590*f5c631daSSadaf Ebrahimi "PositiveOffset_al_r14_r2_plus_r12_LSL_15_Offset",
591*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositiveOffset),
592*f5c631daSSadaf Ebrahimi kPositiveOffset},
593*f5c631daSSadaf Ebrahimi {{al, r2, r8, plus, r0, ROR, 28, Offset},
594*f5c631daSSadaf Ebrahimi "al r2 r8 plus r0 ROR 28 Offset",
595*f5c631daSSadaf Ebrahimi "PositiveOffset_al_r2_r8_plus_r0_ROR_28_Offset",
596*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositiveOffset),
597*f5c631daSSadaf Ebrahimi kPositiveOffset},
598*f5c631daSSadaf Ebrahimi {{al, r1, r7, plus, r6, LSL, 23, Offset},
599*f5c631daSSadaf Ebrahimi "al r1 r7 plus r6 LSL 23 Offset",
600*f5c631daSSadaf Ebrahimi "PositiveOffset_al_r1_r7_plus_r6_LSL_23_Offset",
601*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositiveOffset),
602*f5c631daSSadaf Ebrahimi kPositiveOffset},
603*f5c631daSSadaf Ebrahimi {{al, r9, r14, plus, r7, ROR, 9, Offset},
604*f5c631daSSadaf Ebrahimi "al r9 r14 plus r7 ROR 9 Offset",
605*f5c631daSSadaf Ebrahimi "PositiveOffset_al_r9_r14_plus_r7_ROR_9_Offset",
606*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositiveOffset),
607*f5c631daSSadaf Ebrahimi kPositiveOffset},
608*f5c631daSSadaf Ebrahimi {{al, r4, r11, plus, r0, LSL, 7, Offset},
609*f5c631daSSadaf Ebrahimi "al r4 r11 plus r0 LSL 7 Offset",
610*f5c631daSSadaf Ebrahimi "PositiveOffset_al_r4_r11_plus_r0_LSL_7_Offset",
611*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositiveOffset),
612*f5c631daSSadaf Ebrahimi kPositiveOffset},
613*f5c631daSSadaf Ebrahimi {{al, r6, r12, plus, r5, ROR, 17, Offset},
614*f5c631daSSadaf Ebrahimi "al r6 r12 plus r5 ROR 17 Offset",
615*f5c631daSSadaf Ebrahimi "PositiveOffset_al_r6_r12_plus_r5_ROR_17_Offset",
616*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositiveOffset),
617*f5c631daSSadaf Ebrahimi kPositiveOffset},
618*f5c631daSSadaf Ebrahimi {{al, r14, r5, plus, r8, LSL, 9, Offset},
619*f5c631daSSadaf Ebrahimi "al r14 r5 plus r8 LSL 9 Offset",
620*f5c631daSSadaf Ebrahimi "PositiveOffset_al_r14_r5_plus_r8_LSL_9_Offset",
621*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositiveOffset),
622*f5c631daSSadaf Ebrahimi kPositiveOffset},
623*f5c631daSSadaf Ebrahimi {{al, r8, r5, plus, r6, LSL, 26, Offset},
624*f5c631daSSadaf Ebrahimi "al r8 r5 plus r6 LSL 26 Offset",
625*f5c631daSSadaf Ebrahimi "PositiveOffset_al_r8_r5_plus_r6_LSL_26_Offset",
626*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositiveOffset),
627*f5c631daSSadaf Ebrahimi kPositiveOffset},
628*f5c631daSSadaf Ebrahimi {{al, r12, r9, plus, r6, LSL, 9, Offset},
629*f5c631daSSadaf Ebrahimi "al r12 r9 plus r6 LSL 9 Offset",
630*f5c631daSSadaf Ebrahimi "PositiveOffset_al_r12_r9_plus_r6_LSL_9_Offset",
631*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositiveOffset),
632*f5c631daSSadaf Ebrahimi kPositiveOffset},
633*f5c631daSSadaf Ebrahimi {{al, r9, r11, plus, r4, ROR, 28, Offset},
634*f5c631daSSadaf Ebrahimi "al r9 r11 plus r4 ROR 28 Offset",
635*f5c631daSSadaf Ebrahimi "PositiveOffset_al_r9_r11_plus_r4_ROR_28_Offset",
636*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositiveOffset),
637*f5c631daSSadaf Ebrahimi kPositiveOffset},
638*f5c631daSSadaf Ebrahimi {{al, r5, r9, plus, r2, ROR, 1, Offset},
639*f5c631daSSadaf Ebrahimi "al r5 r9 plus r2 ROR 1 Offset",
640*f5c631daSSadaf Ebrahimi "PositiveOffset_al_r5_r9_plus_r2_ROR_1_Offset",
641*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositiveOffset),
642*f5c631daSSadaf Ebrahimi kPositiveOffset},
643*f5c631daSSadaf Ebrahimi {{al, r2, r1, plus, r8, ROR, 4, Offset},
644*f5c631daSSadaf Ebrahimi "al r2 r1 plus r8 ROR 4 Offset",
645*f5c631daSSadaf Ebrahimi "PositiveOffset_al_r2_r1_plus_r8_ROR_4_Offset",
646*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositiveOffset),
647*f5c631daSSadaf Ebrahimi kPositiveOffset},
648*f5c631daSSadaf Ebrahimi {{al, r9, r10, plus, r0, ROR, 7, Offset},
649*f5c631daSSadaf Ebrahimi "al r9 r10 plus r0 ROR 7 Offset",
650*f5c631daSSadaf Ebrahimi "PositiveOffset_al_r9_r10_plus_r0_ROR_7_Offset",
651*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositiveOffset),
652*f5c631daSSadaf Ebrahimi kPositiveOffset},
653*f5c631daSSadaf Ebrahimi {{al, r5, r8, plus, r3, ROR, 1, Offset},
654*f5c631daSSadaf Ebrahimi "al r5 r8 plus r3 ROR 1 Offset",
655*f5c631daSSadaf Ebrahimi "PositiveOffset_al_r5_r8_plus_r3_ROR_1_Offset",
656*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositiveOffset),
657*f5c631daSSadaf Ebrahimi kPositiveOffset},
658*f5c631daSSadaf Ebrahimi {{al, r9, r11, plus, r5, ROR, 6, Offset},
659*f5c631daSSadaf Ebrahimi "al r9 r11 plus r5 ROR 6 Offset",
660*f5c631daSSadaf Ebrahimi "PositiveOffset_al_r9_r11_plus_r5_ROR_6_Offset",
661*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositiveOffset),
662*f5c631daSSadaf Ebrahimi kPositiveOffset},
663*f5c631daSSadaf Ebrahimi {{al, r7, r1, plus, r11, LSL, 21, Offset},
664*f5c631daSSadaf Ebrahimi "al r7 r1 plus r11 LSL 21 Offset",
665*f5c631daSSadaf Ebrahimi "PositiveOffset_al_r7_r1_plus_r11_LSL_21_Offset",
666*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositiveOffset),
667*f5c631daSSadaf Ebrahimi kPositiveOffset},
668*f5c631daSSadaf Ebrahimi {{al, r8, r4, plus, r10, ROR, 15, Offset},
669*f5c631daSSadaf Ebrahimi "al r8 r4 plus r10 ROR 15 Offset",
670*f5c631daSSadaf Ebrahimi "PositiveOffset_al_r8_r4_plus_r10_ROR_15_Offset",
671*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositiveOffset),
672*f5c631daSSadaf Ebrahimi kPositiveOffset},
673*f5c631daSSadaf Ebrahimi {{al, r3, r11, plus, r14, LSL, 4, Offset},
674*f5c631daSSadaf Ebrahimi "al r3 r11 plus r14 LSL 4 Offset",
675*f5c631daSSadaf Ebrahimi "PositiveOffset_al_r3_r11_plus_r14_LSL_4_Offset",
676*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositiveOffset),
677*f5c631daSSadaf Ebrahimi kPositiveOffset},
678*f5c631daSSadaf Ebrahimi {{al, r3, r9, plus, r14, ROR, 7, Offset},
679*f5c631daSSadaf Ebrahimi "al r3 r9 plus r14 ROR 7 Offset",
680*f5c631daSSadaf Ebrahimi "PositiveOffset_al_r3_r9_plus_r14_ROR_7_Offset",
681*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositiveOffset),
682*f5c631daSSadaf Ebrahimi kPositiveOffset},
683*f5c631daSSadaf Ebrahimi {{al, r1, r6, plus, r3, ROR, 15, Offset},
684*f5c631daSSadaf Ebrahimi "al r1 r6 plus r3 ROR 15 Offset",
685*f5c631daSSadaf Ebrahimi "PositiveOffset_al_r1_r6_plus_r3_ROR_15_Offset",
686*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositiveOffset),
687*f5c631daSSadaf Ebrahimi kPositiveOffset},
688*f5c631daSSadaf Ebrahimi {{al, r7, r1, plus, r12, ROR, 28, Offset},
689*f5c631daSSadaf Ebrahimi "al r7 r1 plus r12 ROR 28 Offset",
690*f5c631daSSadaf Ebrahimi "PositiveOffset_al_r7_r1_plus_r12_ROR_28_Offset",
691*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositiveOffset),
692*f5c631daSSadaf Ebrahimi kPositiveOffset},
693*f5c631daSSadaf Ebrahimi {{al, r8, r6, plus, r4, ROR, 13, Offset},
694*f5c631daSSadaf Ebrahimi "al r8 r6 plus r4 ROR 13 Offset",
695*f5c631daSSadaf Ebrahimi "PositiveOffset_al_r8_r6_plus_r4_ROR_13_Offset",
696*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositiveOffset),
697*f5c631daSSadaf Ebrahimi kPositiveOffset},
698*f5c631daSSadaf Ebrahimi {{al, r5, r14, plus, r8, LSL, 22, Offset},
699*f5c631daSSadaf Ebrahimi "al r5 r14 plus r8 LSL 22 Offset",
700*f5c631daSSadaf Ebrahimi "PositiveOffset_al_r5_r14_plus_r8_LSL_22_Offset",
701*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositiveOffset),
702*f5c631daSSadaf Ebrahimi kPositiveOffset},
703*f5c631daSSadaf Ebrahimi {{al, r6, r7, plus, r3, LSL, 29, Offset},
704*f5c631daSSadaf Ebrahimi "al r6 r7 plus r3 LSL 29 Offset",
705*f5c631daSSadaf Ebrahimi "PositiveOffset_al_r6_r7_plus_r3_LSL_29_Offset",
706*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositiveOffset),
707*f5c631daSSadaf Ebrahimi kPositiveOffset},
708*f5c631daSSadaf Ebrahimi {{al, r8, r2, plus, r5, LSL, 1, Offset},
709*f5c631daSSadaf Ebrahimi "al r8 r2 plus r5 LSL 1 Offset",
710*f5c631daSSadaf Ebrahimi "PositiveOffset_al_r8_r2_plus_r5_LSL_1_Offset",
711*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositiveOffset),
712*f5c631daSSadaf Ebrahimi kPositiveOffset},
713*f5c631daSSadaf Ebrahimi {{al, r2, r1, plus, r12, LSL, 3, Offset},
714*f5c631daSSadaf Ebrahimi "al r2 r1 plus r12 LSL 3 Offset",
715*f5c631daSSadaf Ebrahimi "PositiveOffset_al_r2_r1_plus_r12_LSL_3_Offset",
716*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositiveOffset),
717*f5c631daSSadaf Ebrahimi kPositiveOffset},
718*f5c631daSSadaf Ebrahimi {{al, r10, r2, plus, r7, ROR, 22, Offset},
719*f5c631daSSadaf Ebrahimi "al r10 r2 plus r7 ROR 22 Offset",
720*f5c631daSSadaf Ebrahimi "PositiveOffset_al_r10_r2_plus_r7_ROR_22_Offset",
721*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositiveOffset),
722*f5c631daSSadaf Ebrahimi kPositiveOffset},
723*f5c631daSSadaf Ebrahimi {{al, r7, r8, plus, r4, LSL, 6, Offset},
724*f5c631daSSadaf Ebrahimi "al r7 r8 plus r4 LSL 6 Offset",
725*f5c631daSSadaf Ebrahimi "PositiveOffset_al_r7_r8_plus_r4_LSL_6_Offset",
726*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositiveOffset),
727*f5c631daSSadaf Ebrahimi kPositiveOffset},
728*f5c631daSSadaf Ebrahimi {{al, r11, r5, plus, r6, LSL, 30, Offset},
729*f5c631daSSadaf Ebrahimi "al r11 r5 plus r6 LSL 30 Offset",
730*f5c631daSSadaf Ebrahimi "PositiveOffset_al_r11_r5_plus_r6_LSL_30_Offset",
731*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositiveOffset),
732*f5c631daSSadaf Ebrahimi kPositiveOffset},
733*f5c631daSSadaf Ebrahimi {{al, r11, r4, plus, r8, ROR, 12, Offset},
734*f5c631daSSadaf Ebrahimi "al r11 r4 plus r8 ROR 12 Offset",
735*f5c631daSSadaf Ebrahimi "PositiveOffset_al_r11_r4_plus_r8_ROR_12_Offset",
736*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositiveOffset),
737*f5c631daSSadaf Ebrahimi kPositiveOffset},
738*f5c631daSSadaf Ebrahimi {{al, r12, r1, plus, r8, ROR, 21, Offset},
739*f5c631daSSadaf Ebrahimi "al r12 r1 plus r8 ROR 21 Offset",
740*f5c631daSSadaf Ebrahimi "PositiveOffset_al_r12_r1_plus_r8_ROR_21_Offset",
741*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositiveOffset),
742*f5c631daSSadaf Ebrahimi kPositiveOffset},
743*f5c631daSSadaf Ebrahimi {{al, r6, r2, plus, r4, ROR, 17, Offset},
744*f5c631daSSadaf Ebrahimi "al r6 r2 plus r4 ROR 17 Offset",
745*f5c631daSSadaf Ebrahimi "PositiveOffset_al_r6_r2_plus_r4_ROR_17_Offset",
746*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositiveOffset),
747*f5c631daSSadaf Ebrahimi kPositiveOffset},
748*f5c631daSSadaf Ebrahimi {{al, r1, r11, plus, r12, LSL, 8, Offset},
749*f5c631daSSadaf Ebrahimi "al r1 r11 plus r12 LSL 8 Offset",
750*f5c631daSSadaf Ebrahimi "PositiveOffset_al_r1_r11_plus_r12_LSL_8_Offset",
751*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositiveOffset),
752*f5c631daSSadaf Ebrahimi kPositiveOffset},
753*f5c631daSSadaf Ebrahimi {{al, r14, r12, plus, r0, LSL, 26, Offset},
754*f5c631daSSadaf Ebrahimi "al r14 r12 plus r0 LSL 26 Offset",
755*f5c631daSSadaf Ebrahimi "PositiveOffset_al_r14_r12_plus_r0_LSL_26_Offset",
756*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositiveOffset),
757*f5c631daSSadaf Ebrahimi kPositiveOffset},
758*f5c631daSSadaf Ebrahimi {{al, r4, r10, plus, r0, ROR, 2, Offset},
759*f5c631daSSadaf Ebrahimi "al r4 r10 plus r0 ROR 2 Offset",
760*f5c631daSSadaf Ebrahimi "PositiveOffset_al_r4_r10_plus_r0_ROR_2_Offset",
761*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositiveOffset),
762*f5c631daSSadaf Ebrahimi kPositiveOffset},
763*f5c631daSSadaf Ebrahimi {{al, r4, r10, plus, r0, ROR, 27, Offset},
764*f5c631daSSadaf Ebrahimi "al r4 r10 plus r0 ROR 27 Offset",
765*f5c631daSSadaf Ebrahimi "PositiveOffset_al_r4_r10_plus_r0_ROR_27_Offset",
766*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositiveOffset),
767*f5c631daSSadaf Ebrahimi kPositiveOffset},
768*f5c631daSSadaf Ebrahimi {{al, r0, r12, plus, r4, LSL, 31, Offset},
769*f5c631daSSadaf Ebrahimi "al r0 r12 plus r4 LSL 31 Offset",
770*f5c631daSSadaf Ebrahimi "PositiveOffset_al_r0_r12_plus_r4_LSL_31_Offset",
771*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositiveOffset),
772*f5c631daSSadaf Ebrahimi kPositiveOffset},
773*f5c631daSSadaf Ebrahimi {{al, r5, r1, plus, r10, LSL, 31, Offset},
774*f5c631daSSadaf Ebrahimi "al r5 r1 plus r10 LSL 31 Offset",
775*f5c631daSSadaf Ebrahimi "PositiveOffset_al_r5_r1_plus_r10_LSL_31_Offset",
776*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositiveOffset),
777*f5c631daSSadaf Ebrahimi kPositiveOffset},
778*f5c631daSSadaf Ebrahimi {{al, r1, r14, plus, r5, LSL, 1, Offset},
779*f5c631daSSadaf Ebrahimi "al r1 r14 plus r5 LSL 1 Offset",
780*f5c631daSSadaf Ebrahimi "PositiveOffset_al_r1_r14_plus_r5_LSL_1_Offset",
781*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositiveOffset),
782*f5c631daSSadaf Ebrahimi kPositiveOffset},
783*f5c631daSSadaf Ebrahimi {{al, r12, r14, plus, r0, LSL, 7, Offset},
784*f5c631daSSadaf Ebrahimi "al r12 r14 plus r0 LSL 7 Offset",
785*f5c631daSSadaf Ebrahimi "PositiveOffset_al_r12_r14_plus_r0_LSL_7_Offset",
786*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositiveOffset),
787*f5c631daSSadaf Ebrahimi kPositiveOffset},
788*f5c631daSSadaf Ebrahimi {{al, r1, r6, plus, r5, LSL, 1, Offset},
789*f5c631daSSadaf Ebrahimi "al r1 r6 plus r5 LSL 1 Offset",
790*f5c631daSSadaf Ebrahimi "PositiveOffset_al_r1_r6_plus_r5_LSL_1_Offset",
791*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositiveOffset),
792*f5c631daSSadaf Ebrahimi kPositiveOffset},
793*f5c631daSSadaf Ebrahimi {{al, r6, r9, plus, r4, ROR, 9, Offset},
794*f5c631daSSadaf Ebrahimi "al r6 r9 plus r4 ROR 9 Offset",
795*f5c631daSSadaf Ebrahimi "PositiveOffset_al_r6_r9_plus_r4_ROR_9_Offset",
796*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositiveOffset),
797*f5c631daSSadaf Ebrahimi kPositiveOffset},
798*f5c631daSSadaf Ebrahimi {{al, r6, r11, plus, r10, LSL, 4, Offset},
799*f5c631daSSadaf Ebrahimi "al r6 r11 plus r10 LSL 4 Offset",
800*f5c631daSSadaf Ebrahimi "PositiveOffset_al_r6_r11_plus_r10_LSL_4_Offset",
801*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositiveOffset),
802*f5c631daSSadaf Ebrahimi kPositiveOffset},
803*f5c631daSSadaf Ebrahimi {{al, r5, r14, plus, r7, ROR, 25, Offset},
804*f5c631daSSadaf Ebrahimi "al r5 r14 plus r7 ROR 25 Offset",
805*f5c631daSSadaf Ebrahimi "PositiveOffset_al_r5_r14_plus_r7_ROR_25_Offset",
806*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositiveOffset),
807*f5c631daSSadaf Ebrahimi kPositiveOffset},
808*f5c631daSSadaf Ebrahimi {{al, r9, r6, plus, r3, LSL, 23, Offset},
809*f5c631daSSadaf Ebrahimi "al r9 r6 plus r3 LSL 23 Offset",
810*f5c631daSSadaf Ebrahimi "PositiveOffset_al_r9_r6_plus_r3_LSL_23_Offset",
811*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositiveOffset),
812*f5c631daSSadaf Ebrahimi kPositiveOffset},
813*f5c631daSSadaf Ebrahimi {{al, r3, r4, plus, r0, ROR, 27, Offset},
814*f5c631daSSadaf Ebrahimi "al r3 r4 plus r0 ROR 27 Offset",
815*f5c631daSSadaf Ebrahimi "PositiveOffset_al_r3_r4_plus_r0_ROR_27_Offset",
816*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositiveOffset),
817*f5c631daSSadaf Ebrahimi kPositiveOffset},
818*f5c631daSSadaf Ebrahimi {{al, r1, r0, plus, r2, ROR, 17, Offset},
819*f5c631daSSadaf Ebrahimi "al r1 r0 plus r2 ROR 17 Offset",
820*f5c631daSSadaf Ebrahimi "PositiveOffset_al_r1_r0_plus_r2_ROR_17_Offset",
821*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositiveOffset),
822*f5c631daSSadaf Ebrahimi kPositiveOffset},
823*f5c631daSSadaf Ebrahimi {{al, r9, r5, plus, r6, LSL, 10, Offset},
824*f5c631daSSadaf Ebrahimi "al r9 r5 plus r6 LSL 10 Offset",
825*f5c631daSSadaf Ebrahimi "PositiveOffset_al_r9_r5_plus_r6_LSL_10_Offset",
826*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositiveOffset),
827*f5c631daSSadaf Ebrahimi kPositiveOffset},
828*f5c631daSSadaf Ebrahimi {{al, r11, r4, plus, r9, LSL, 28, Offset},
829*f5c631daSSadaf Ebrahimi "al r11 r4 plus r9 LSL 28 Offset",
830*f5c631daSSadaf Ebrahimi "PositiveOffset_al_r11_r4_plus_r9_LSL_28_Offset",
831*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositiveOffset),
832*f5c631daSSadaf Ebrahimi kPositiveOffset},
833*f5c631daSSadaf Ebrahimi {{al, r7, r1, minus, r10, ROR, 20, Offset},
834*f5c631daSSadaf Ebrahimi "al r7 r1 minus r10 ROR 20 Offset",
835*f5c631daSSadaf Ebrahimi "NegativeOffset_al_r7_r1_minus_r10_ROR_20_Offset",
836*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativeOffset),
837*f5c631daSSadaf Ebrahimi kNegativeOffset},
838*f5c631daSSadaf Ebrahimi {{al, r4, r12, minus, r6, ROR, 2, Offset},
839*f5c631daSSadaf Ebrahimi "al r4 r12 minus r6 ROR 2 Offset",
840*f5c631daSSadaf Ebrahimi "NegativeOffset_al_r4_r12_minus_r6_ROR_2_Offset",
841*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativeOffset),
842*f5c631daSSadaf Ebrahimi kNegativeOffset},
843*f5c631daSSadaf Ebrahimi {{al, r6, r4, minus, r11, LSL, 6, Offset},
844*f5c631daSSadaf Ebrahimi "al r6 r4 minus r11 LSL 6 Offset",
845*f5c631daSSadaf Ebrahimi "NegativeOffset_al_r6_r4_minus_r11_LSL_6_Offset",
846*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativeOffset),
847*f5c631daSSadaf Ebrahimi kNegativeOffset},
848*f5c631daSSadaf Ebrahimi {{al, r10, r0, minus, r12, LSL, 19, Offset},
849*f5c631daSSadaf Ebrahimi "al r10 r0 minus r12 LSL 19 Offset",
850*f5c631daSSadaf Ebrahimi "NegativeOffset_al_r10_r0_minus_r12_LSL_19_Offset",
851*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativeOffset),
852*f5c631daSSadaf Ebrahimi kNegativeOffset},
853*f5c631daSSadaf Ebrahimi {{al, r10, r3, minus, r14, LSL, 20, Offset},
854*f5c631daSSadaf Ebrahimi "al r10 r3 minus r14 LSL 20 Offset",
855*f5c631daSSadaf Ebrahimi "NegativeOffset_al_r10_r3_minus_r14_LSL_20_Offset",
856*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativeOffset),
857*f5c631daSSadaf Ebrahimi kNegativeOffset},
858*f5c631daSSadaf Ebrahimi {{al, r10, r3, minus, r12, LSL, 20, Offset},
859*f5c631daSSadaf Ebrahimi "al r10 r3 minus r12 LSL 20 Offset",
860*f5c631daSSadaf Ebrahimi "NegativeOffset_al_r10_r3_minus_r12_LSL_20_Offset",
861*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativeOffset),
862*f5c631daSSadaf Ebrahimi kNegativeOffset},
863*f5c631daSSadaf Ebrahimi {{al, r14, r10, minus, r12, ROR, 29, Offset},
864*f5c631daSSadaf Ebrahimi "al r14 r10 minus r12 ROR 29 Offset",
865*f5c631daSSadaf Ebrahimi "NegativeOffset_al_r14_r10_minus_r12_ROR_29_Offset",
866*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativeOffset),
867*f5c631daSSadaf Ebrahimi kNegativeOffset},
868*f5c631daSSadaf Ebrahimi {{al, r2, r11, minus, r5, ROR, 21, Offset},
869*f5c631daSSadaf Ebrahimi "al r2 r11 minus r5 ROR 21 Offset",
870*f5c631daSSadaf Ebrahimi "NegativeOffset_al_r2_r11_minus_r5_ROR_21_Offset",
871*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativeOffset),
872*f5c631daSSadaf Ebrahimi kNegativeOffset},
873*f5c631daSSadaf Ebrahimi {{al, r14, r5, minus, r1, ROR, 22, Offset},
874*f5c631daSSadaf Ebrahimi "al r14 r5 minus r1 ROR 22 Offset",
875*f5c631daSSadaf Ebrahimi "NegativeOffset_al_r14_r5_minus_r1_ROR_22_Offset",
876*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativeOffset),
877*f5c631daSSadaf Ebrahimi kNegativeOffset},
878*f5c631daSSadaf Ebrahimi {{al, r7, r4, minus, r10, LSL, 18, Offset},
879*f5c631daSSadaf Ebrahimi "al r7 r4 minus r10 LSL 18 Offset",
880*f5c631daSSadaf Ebrahimi "NegativeOffset_al_r7_r4_minus_r10_LSL_18_Offset",
881*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativeOffset),
882*f5c631daSSadaf Ebrahimi kNegativeOffset},
883*f5c631daSSadaf Ebrahimi {{al, r4, r2, minus, r1, LSL, 9, Offset},
884*f5c631daSSadaf Ebrahimi "al r4 r2 minus r1 LSL 9 Offset",
885*f5c631daSSadaf Ebrahimi "NegativeOffset_al_r4_r2_minus_r1_LSL_9_Offset",
886*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativeOffset),
887*f5c631daSSadaf Ebrahimi kNegativeOffset},
888*f5c631daSSadaf Ebrahimi {{al, r10, r12, minus, r8, LSL, 11, Offset},
889*f5c631daSSadaf Ebrahimi "al r10 r12 minus r8 LSL 11 Offset",
890*f5c631daSSadaf Ebrahimi "NegativeOffset_al_r10_r12_minus_r8_LSL_11_Offset",
891*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativeOffset),
892*f5c631daSSadaf Ebrahimi kNegativeOffset},
893*f5c631daSSadaf Ebrahimi {{al, r5, r4, minus, r1, ROR, 30, Offset},
894*f5c631daSSadaf Ebrahimi "al r5 r4 minus r1 ROR 30 Offset",
895*f5c631daSSadaf Ebrahimi "NegativeOffset_al_r5_r4_minus_r1_ROR_30_Offset",
896*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativeOffset),
897*f5c631daSSadaf Ebrahimi kNegativeOffset},
898*f5c631daSSadaf Ebrahimi {{al, r11, r0, minus, r10, ROR, 10, Offset},
899*f5c631daSSadaf Ebrahimi "al r11 r0 minus r10 ROR 10 Offset",
900*f5c631daSSadaf Ebrahimi "NegativeOffset_al_r11_r0_minus_r10_ROR_10_Offset",
901*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativeOffset),
902*f5c631daSSadaf Ebrahimi kNegativeOffset},
903*f5c631daSSadaf Ebrahimi {{al, r11, r3, minus, r6, ROR, 25, Offset},
904*f5c631daSSadaf Ebrahimi "al r11 r3 minus r6 ROR 25 Offset",
905*f5c631daSSadaf Ebrahimi "NegativeOffset_al_r11_r3_minus_r6_ROR_25_Offset",
906*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativeOffset),
907*f5c631daSSadaf Ebrahimi kNegativeOffset},
908*f5c631daSSadaf Ebrahimi {{al, r3, r12, minus, r1, ROR, 27, Offset},
909*f5c631daSSadaf Ebrahimi "al r3 r12 minus r1 ROR 27 Offset",
910*f5c631daSSadaf Ebrahimi "NegativeOffset_al_r3_r12_minus_r1_ROR_27_Offset",
911*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativeOffset),
912*f5c631daSSadaf Ebrahimi kNegativeOffset},
913*f5c631daSSadaf Ebrahimi {{al, r3, r1, minus, r14, LSL, 5, Offset},
914*f5c631daSSadaf Ebrahimi "al r3 r1 minus r14 LSL 5 Offset",
915*f5c631daSSadaf Ebrahimi "NegativeOffset_al_r3_r1_minus_r14_LSL_5_Offset",
916*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativeOffset),
917*f5c631daSSadaf Ebrahimi kNegativeOffset},
918*f5c631daSSadaf Ebrahimi {{al, r9, r1, minus, r7, LSL, 27, Offset},
919*f5c631daSSadaf Ebrahimi "al r9 r1 minus r7 LSL 27 Offset",
920*f5c631daSSadaf Ebrahimi "NegativeOffset_al_r9_r1_minus_r7_LSL_27_Offset",
921*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativeOffset),
922*f5c631daSSadaf Ebrahimi kNegativeOffset},
923*f5c631daSSadaf Ebrahimi {{al, r2, r9, minus, r6, LSL, 4, Offset},
924*f5c631daSSadaf Ebrahimi "al r2 r9 minus r6 LSL 4 Offset",
925*f5c631daSSadaf Ebrahimi "NegativeOffset_al_r2_r9_minus_r6_LSL_4_Offset",
926*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativeOffset),
927*f5c631daSSadaf Ebrahimi kNegativeOffset},
928*f5c631daSSadaf Ebrahimi {{al, r4, r6, minus, r1, ROR, 19, Offset},
929*f5c631daSSadaf Ebrahimi "al r4 r6 minus r1 ROR 19 Offset",
930*f5c631daSSadaf Ebrahimi "NegativeOffset_al_r4_r6_minus_r1_ROR_19_Offset",
931*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativeOffset),
932*f5c631daSSadaf Ebrahimi kNegativeOffset},
933*f5c631daSSadaf Ebrahimi {{al, r14, r8, minus, r6, LSL, 5, Offset},
934*f5c631daSSadaf Ebrahimi "al r14 r8 minus r6 LSL 5 Offset",
935*f5c631daSSadaf Ebrahimi "NegativeOffset_al_r14_r8_minus_r6_LSL_5_Offset",
936*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativeOffset),
937*f5c631daSSadaf Ebrahimi kNegativeOffset},
938*f5c631daSSadaf Ebrahimi {{al, r5, r0, minus, r12, LSL, 16, Offset},
939*f5c631daSSadaf Ebrahimi "al r5 r0 minus r12 LSL 16 Offset",
940*f5c631daSSadaf Ebrahimi "NegativeOffset_al_r5_r0_minus_r12_LSL_16_Offset",
941*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativeOffset),
942*f5c631daSSadaf Ebrahimi kNegativeOffset},
943*f5c631daSSadaf Ebrahimi {{al, r5, r4, minus, r12, ROR, 29, Offset},
944*f5c631daSSadaf Ebrahimi "al r5 r4 minus r12 ROR 29 Offset",
945*f5c631daSSadaf Ebrahimi "NegativeOffset_al_r5_r4_minus_r12_ROR_29_Offset",
946*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativeOffset),
947*f5c631daSSadaf Ebrahimi kNegativeOffset},
948*f5c631daSSadaf Ebrahimi {{al, r4, r10, minus, r1, LSL, 2, Offset},
949*f5c631daSSadaf Ebrahimi "al r4 r10 minus r1 LSL 2 Offset",
950*f5c631daSSadaf Ebrahimi "NegativeOffset_al_r4_r10_minus_r1_LSL_2_Offset",
951*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativeOffset),
952*f5c631daSSadaf Ebrahimi kNegativeOffset},
953*f5c631daSSadaf Ebrahimi {{al, r6, r5, minus, r12, ROR, 8, Offset},
954*f5c631daSSadaf Ebrahimi "al r6 r5 minus r12 ROR 8 Offset",
955*f5c631daSSadaf Ebrahimi "NegativeOffset_al_r6_r5_minus_r12_ROR_8_Offset",
956*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativeOffset),
957*f5c631daSSadaf Ebrahimi kNegativeOffset},
958*f5c631daSSadaf Ebrahimi {{al, r1, r11, minus, r0, ROR, 8, Offset},
959*f5c631daSSadaf Ebrahimi "al r1 r11 minus r0 ROR 8 Offset",
960*f5c631daSSadaf Ebrahimi "NegativeOffset_al_r1_r11_minus_r0_ROR_8_Offset",
961*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativeOffset),
962*f5c631daSSadaf Ebrahimi kNegativeOffset},
963*f5c631daSSadaf Ebrahimi {{al, r10, r9, minus, r5, ROR, 1, Offset},
964*f5c631daSSadaf Ebrahimi "al r10 r9 minus r5 ROR 1 Offset",
965*f5c631daSSadaf Ebrahimi "NegativeOffset_al_r10_r9_minus_r5_ROR_1_Offset",
966*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativeOffset),
967*f5c631daSSadaf Ebrahimi kNegativeOffset},
968*f5c631daSSadaf Ebrahimi {{al, r14, r2, minus, r7, LSL, 8, Offset},
969*f5c631daSSadaf Ebrahimi "al r14 r2 minus r7 LSL 8 Offset",
970*f5c631daSSadaf Ebrahimi "NegativeOffset_al_r14_r2_minus_r7_LSL_8_Offset",
971*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativeOffset),
972*f5c631daSSadaf Ebrahimi kNegativeOffset},
973*f5c631daSSadaf Ebrahimi {{al, r3, r12, minus, r2, LSL, 17, Offset},
974*f5c631daSSadaf Ebrahimi "al r3 r12 minus r2 LSL 17 Offset",
975*f5c631daSSadaf Ebrahimi "NegativeOffset_al_r3_r12_minus_r2_LSL_17_Offset",
976*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativeOffset),
977*f5c631daSSadaf Ebrahimi kNegativeOffset},
978*f5c631daSSadaf Ebrahimi {{al, r11, r6, minus, r7, LSL, 3, Offset},
979*f5c631daSSadaf Ebrahimi "al r11 r6 minus r7 LSL 3 Offset",
980*f5c631daSSadaf Ebrahimi "NegativeOffset_al_r11_r6_minus_r7_LSL_3_Offset",
981*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativeOffset),
982*f5c631daSSadaf Ebrahimi kNegativeOffset},
983*f5c631daSSadaf Ebrahimi {{al, r2, r14, minus, r10, LSL, 26, Offset},
984*f5c631daSSadaf Ebrahimi "al r2 r14 minus r10 LSL 26 Offset",
985*f5c631daSSadaf Ebrahimi "NegativeOffset_al_r2_r14_minus_r10_LSL_26_Offset",
986*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativeOffset),
987*f5c631daSSadaf Ebrahimi kNegativeOffset},
988*f5c631daSSadaf Ebrahimi {{al, r6, r3, minus, r11, LSL, 8, Offset},
989*f5c631daSSadaf Ebrahimi "al r6 r3 minus r11 LSL 8 Offset",
990*f5c631daSSadaf Ebrahimi "NegativeOffset_al_r6_r3_minus_r11_LSL_8_Offset",
991*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativeOffset),
992*f5c631daSSadaf Ebrahimi kNegativeOffset},
993*f5c631daSSadaf Ebrahimi {{al, r9, r1, minus, r7, LSL, 20, Offset},
994*f5c631daSSadaf Ebrahimi "al r9 r1 minus r7 LSL 20 Offset",
995*f5c631daSSadaf Ebrahimi "NegativeOffset_al_r9_r1_minus_r7_LSL_20_Offset",
996*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativeOffset),
997*f5c631daSSadaf Ebrahimi kNegativeOffset},
998*f5c631daSSadaf Ebrahimi {{al, r1, r11, minus, r12, ROR, 6, Offset},
999*f5c631daSSadaf Ebrahimi "al r1 r11 minus r12 ROR 6 Offset",
1000*f5c631daSSadaf Ebrahimi "NegativeOffset_al_r1_r11_minus_r12_ROR_6_Offset",
1001*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativeOffset),
1002*f5c631daSSadaf Ebrahimi kNegativeOffset},
1003*f5c631daSSadaf Ebrahimi {{al, r7, r6, minus, r14, LSL, 16, Offset},
1004*f5c631daSSadaf Ebrahimi "al r7 r6 minus r14 LSL 16 Offset",
1005*f5c631daSSadaf Ebrahimi "NegativeOffset_al_r7_r6_minus_r14_LSL_16_Offset",
1006*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativeOffset),
1007*f5c631daSSadaf Ebrahimi kNegativeOffset},
1008*f5c631daSSadaf Ebrahimi {{al, r12, r0, minus, r10, ROR, 6, Offset},
1009*f5c631daSSadaf Ebrahimi "al r12 r0 minus r10 ROR 6 Offset",
1010*f5c631daSSadaf Ebrahimi "NegativeOffset_al_r12_r0_minus_r10_ROR_6_Offset",
1011*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativeOffset),
1012*f5c631daSSadaf Ebrahimi kNegativeOffset},
1013*f5c631daSSadaf Ebrahimi {{al, r11, r12, minus, r10, ROR, 7, Offset},
1014*f5c631daSSadaf Ebrahimi "al r11 r12 minus r10 ROR 7 Offset",
1015*f5c631daSSadaf Ebrahimi "NegativeOffset_al_r11_r12_minus_r10_ROR_7_Offset",
1016*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativeOffset),
1017*f5c631daSSadaf Ebrahimi kNegativeOffset},
1018*f5c631daSSadaf Ebrahimi {{al, r12, r5, minus, r7, LSL, 8, Offset},
1019*f5c631daSSadaf Ebrahimi "al r12 r5 minus r7 LSL 8 Offset",
1020*f5c631daSSadaf Ebrahimi "NegativeOffset_al_r12_r5_minus_r7_LSL_8_Offset",
1021*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativeOffset),
1022*f5c631daSSadaf Ebrahimi kNegativeOffset},
1023*f5c631daSSadaf Ebrahimi {{al, r9, r0, minus, r7, ROR, 14, Offset},
1024*f5c631daSSadaf Ebrahimi "al r9 r0 minus r7 ROR 14 Offset",
1025*f5c631daSSadaf Ebrahimi "NegativeOffset_al_r9_r0_minus_r7_ROR_14_Offset",
1026*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativeOffset),
1027*f5c631daSSadaf Ebrahimi kNegativeOffset},
1028*f5c631daSSadaf Ebrahimi {{al, r12, r1, minus, r6, LSL, 22, Offset},
1029*f5c631daSSadaf Ebrahimi "al r12 r1 minus r6 LSL 22 Offset",
1030*f5c631daSSadaf Ebrahimi "NegativeOffset_al_r12_r1_minus_r6_LSL_22_Offset",
1031*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativeOffset),
1032*f5c631daSSadaf Ebrahimi kNegativeOffset},
1033*f5c631daSSadaf Ebrahimi {{al, r11, r7, minus, r10, LSL, 16, Offset},
1034*f5c631daSSadaf Ebrahimi "al r11 r7 minus r10 LSL 16 Offset",
1035*f5c631daSSadaf Ebrahimi "NegativeOffset_al_r11_r7_minus_r10_LSL_16_Offset",
1036*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativeOffset),
1037*f5c631daSSadaf Ebrahimi kNegativeOffset},
1038*f5c631daSSadaf Ebrahimi {{al, r6, r10, minus, r9, LSL, 8, Offset},
1039*f5c631daSSadaf Ebrahimi "al r6 r10 minus r9 LSL 8 Offset",
1040*f5c631daSSadaf Ebrahimi "NegativeOffset_al_r6_r10_minus_r9_LSL_8_Offset",
1041*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativeOffset),
1042*f5c631daSSadaf Ebrahimi kNegativeOffset},
1043*f5c631daSSadaf Ebrahimi {{al, r2, r6, minus, r7, LSL, 18, Offset},
1044*f5c631daSSadaf Ebrahimi "al r2 r6 minus r7 LSL 18 Offset",
1045*f5c631daSSadaf Ebrahimi "NegativeOffset_al_r2_r6_minus_r7_LSL_18_Offset",
1046*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativeOffset),
1047*f5c631daSSadaf Ebrahimi kNegativeOffset},
1048*f5c631daSSadaf Ebrahimi {{al, r7, r9, minus, r6, ROR, 31, Offset},
1049*f5c631daSSadaf Ebrahimi "al r7 r9 minus r6 ROR 31 Offset",
1050*f5c631daSSadaf Ebrahimi "NegativeOffset_al_r7_r9_minus_r6_ROR_31_Offset",
1051*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativeOffset),
1052*f5c631daSSadaf Ebrahimi kNegativeOffset},
1053*f5c631daSSadaf Ebrahimi {{al, r10, r9, minus, r11, LSL, 16, Offset},
1054*f5c631daSSadaf Ebrahimi "al r10 r9 minus r11 LSL 16 Offset",
1055*f5c631daSSadaf Ebrahimi "NegativeOffset_al_r10_r9_minus_r11_LSL_16_Offset",
1056*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativeOffset),
1057*f5c631daSSadaf Ebrahimi kNegativeOffset},
1058*f5c631daSSadaf Ebrahimi {{al, r11, r1, minus, r3, ROR, 8, Offset},
1059*f5c631daSSadaf Ebrahimi "al r11 r1 minus r3 ROR 8 Offset",
1060*f5c631daSSadaf Ebrahimi "NegativeOffset_al_r11_r1_minus_r3_ROR_8_Offset",
1061*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativeOffset),
1062*f5c631daSSadaf Ebrahimi kNegativeOffset},
1063*f5c631daSSadaf Ebrahimi {{al, r14, r3, minus, r1, LSL, 1, Offset},
1064*f5c631daSSadaf Ebrahimi "al r14 r3 minus r1 LSL 1 Offset",
1065*f5c631daSSadaf Ebrahimi "NegativeOffset_al_r14_r3_minus_r1_LSL_1_Offset",
1066*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativeOffset),
1067*f5c631daSSadaf Ebrahimi kNegativeOffset},
1068*f5c631daSSadaf Ebrahimi {{al, r1, r10, minus, r6, ROR, 19, Offset},
1069*f5c631daSSadaf Ebrahimi "al r1 r10 minus r6 ROR 19 Offset",
1070*f5c631daSSadaf Ebrahimi "NegativeOffset_al_r1_r10_minus_r6_ROR_19_Offset",
1071*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativeOffset),
1072*f5c631daSSadaf Ebrahimi kNegativeOffset},
1073*f5c631daSSadaf Ebrahimi {{al, r2, r11, minus, r5, ROR, 24, Offset},
1074*f5c631daSSadaf Ebrahimi "al r2 r11 minus r5 ROR 24 Offset",
1075*f5c631daSSadaf Ebrahimi "NegativeOffset_al_r2_r11_minus_r5_ROR_24_Offset",
1076*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativeOffset),
1077*f5c631daSSadaf Ebrahimi kNegativeOffset},
1078*f5c631daSSadaf Ebrahimi {{al, r3, r9, minus, r2, LSL, 19, Offset},
1079*f5c631daSSadaf Ebrahimi "al r3 r9 minus r2 LSL 19 Offset",
1080*f5c631daSSadaf Ebrahimi "NegativeOffset_al_r3_r9_minus_r2_LSL_19_Offset",
1081*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativeOffset),
1082*f5c631daSSadaf Ebrahimi kNegativeOffset},
1083*f5c631daSSadaf Ebrahimi {{al, r14, r5, minus, r10, LSL, 25, Offset},
1084*f5c631daSSadaf Ebrahimi "al r14 r5 minus r10 LSL 25 Offset",
1085*f5c631daSSadaf Ebrahimi "NegativeOffset_al_r14_r5_minus_r10_LSL_25_Offset",
1086*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativeOffset),
1087*f5c631daSSadaf Ebrahimi kNegativeOffset},
1088*f5c631daSSadaf Ebrahimi {{al, r4, r6, minus, r7, ROR, 22, Offset},
1089*f5c631daSSadaf Ebrahimi "al r4 r6 minus r7 ROR 22 Offset",
1090*f5c631daSSadaf Ebrahimi "NegativeOffset_al_r4_r6_minus_r7_ROR_22_Offset",
1091*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativeOffset),
1092*f5c631daSSadaf Ebrahimi kNegativeOffset},
1093*f5c631daSSadaf Ebrahimi {{al, r8, r4, minus, r6, LSL, 9, Offset},
1094*f5c631daSSadaf Ebrahimi "al r8 r4 minus r6 LSL 9 Offset",
1095*f5c631daSSadaf Ebrahimi "NegativeOffset_al_r8_r4_minus_r6_LSL_9_Offset",
1096*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativeOffset),
1097*f5c631daSSadaf Ebrahimi kNegativeOffset},
1098*f5c631daSSadaf Ebrahimi {{al, r3, r5, minus, r9, LSL, 24, Offset},
1099*f5c631daSSadaf Ebrahimi "al r3 r5 minus r9 LSL 24 Offset",
1100*f5c631daSSadaf Ebrahimi "NegativeOffset_al_r3_r5_minus_r9_LSL_24_Offset",
1101*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativeOffset),
1102*f5c631daSSadaf Ebrahimi kNegativeOffset},
1103*f5c631daSSadaf Ebrahimi {{al, r11, r7, minus, r14, ROR, 29, Offset},
1104*f5c631daSSadaf Ebrahimi "al r11 r7 minus r14 ROR 29 Offset",
1105*f5c631daSSadaf Ebrahimi "NegativeOffset_al_r11_r7_minus_r14_ROR_29_Offset",
1106*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativeOffset),
1107*f5c631daSSadaf Ebrahimi kNegativeOffset},
1108*f5c631daSSadaf Ebrahimi {{al, r9, r10, minus, r0, ROR, 10, Offset},
1109*f5c631daSSadaf Ebrahimi "al r9 r10 minus r0 ROR 10 Offset",
1110*f5c631daSSadaf Ebrahimi "NegativeOffset_al_r9_r10_minus_r0_ROR_10_Offset",
1111*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativeOffset),
1112*f5c631daSSadaf Ebrahimi kNegativeOffset},
1113*f5c631daSSadaf Ebrahimi {{al, r1, r3, minus, r2, LSL, 2, Offset},
1114*f5c631daSSadaf Ebrahimi "al r1 r3 minus r2 LSL 2 Offset",
1115*f5c631daSSadaf Ebrahimi "NegativeOffset_al_r1_r3_minus_r2_LSL_2_Offset",
1116*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativeOffset),
1117*f5c631daSSadaf Ebrahimi kNegativeOffset},
1118*f5c631daSSadaf Ebrahimi {{al, r1, r9, minus, r10, LSL, 5, Offset},
1119*f5c631daSSadaf Ebrahimi "al r1 r9 minus r10 LSL 5 Offset",
1120*f5c631daSSadaf Ebrahimi "NegativeOffset_al_r1_r9_minus_r10_LSL_5_Offset",
1121*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativeOffset),
1122*f5c631daSSadaf Ebrahimi kNegativeOffset},
1123*f5c631daSSadaf Ebrahimi {{al, r6, r8, minus, r0, LSL, 9, Offset},
1124*f5c631daSSadaf Ebrahimi "al r6 r8 minus r0 LSL 9 Offset",
1125*f5c631daSSadaf Ebrahimi "NegativeOffset_al_r6_r8_minus_r0_LSL_9_Offset",
1126*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativeOffset),
1127*f5c631daSSadaf Ebrahimi kNegativeOffset},
1128*f5c631daSSadaf Ebrahimi {{al, r6, r14, minus, r8, ROR, 28, Offset},
1129*f5c631daSSadaf Ebrahimi "al r6 r14 minus r8 ROR 28 Offset",
1130*f5c631daSSadaf Ebrahimi "NegativeOffset_al_r6_r14_minus_r8_ROR_28_Offset",
1131*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativeOffset),
1132*f5c631daSSadaf Ebrahimi kNegativeOffset},
1133*f5c631daSSadaf Ebrahimi {{al, r4, r12, minus, r7, LSL, 30, Offset},
1134*f5c631daSSadaf Ebrahimi "al r4 r12 minus r7 LSL 30 Offset",
1135*f5c631daSSadaf Ebrahimi "NegativeOffset_al_r4_r12_minus_r7_LSL_30_Offset",
1136*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativeOffset),
1137*f5c631daSSadaf Ebrahimi kNegativeOffset},
1138*f5c631daSSadaf Ebrahimi {{al, r6, r8, minus, r0, ROR, 26, Offset},
1139*f5c631daSSadaf Ebrahimi "al r6 r8 minus r0 ROR 26 Offset",
1140*f5c631daSSadaf Ebrahimi "NegativeOffset_al_r6_r8_minus_r0_ROR_26_Offset",
1141*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativeOffset),
1142*f5c631daSSadaf Ebrahimi kNegativeOffset},
1143*f5c631daSSadaf Ebrahimi {{al, r2, r8, minus, r9, LSL, 17, Offset},
1144*f5c631daSSadaf Ebrahimi "al r2 r8 minus r9 LSL 17 Offset",
1145*f5c631daSSadaf Ebrahimi "NegativeOffset_al_r2_r8_minus_r9_LSL_17_Offset",
1146*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativeOffset),
1147*f5c631daSSadaf Ebrahimi kNegativeOffset},
1148*f5c631daSSadaf Ebrahimi {{al, r9, r14, minus, r0, LSL, 5, Offset},
1149*f5c631daSSadaf Ebrahimi "al r9 r14 minus r0 LSL 5 Offset",
1150*f5c631daSSadaf Ebrahimi "NegativeOffset_al_r9_r14_minus_r0_LSL_5_Offset",
1151*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativeOffset),
1152*f5c631daSSadaf Ebrahimi kNegativeOffset},
1153*f5c631daSSadaf Ebrahimi {{al, r11, r3, minus, r9, ROR, 27, Offset},
1154*f5c631daSSadaf Ebrahimi "al r11 r3 minus r9 ROR 27 Offset",
1155*f5c631daSSadaf Ebrahimi "NegativeOffset_al_r11_r3_minus_r9_ROR_27_Offset",
1156*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativeOffset),
1157*f5c631daSSadaf Ebrahimi kNegativeOffset},
1158*f5c631daSSadaf Ebrahimi {{al, r6, r8, minus, r3, ROR, 19, Offset},
1159*f5c631daSSadaf Ebrahimi "al r6 r8 minus r3 ROR 19 Offset",
1160*f5c631daSSadaf Ebrahimi "NegativeOffset_al_r6_r8_minus_r3_ROR_19_Offset",
1161*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativeOffset),
1162*f5c631daSSadaf Ebrahimi kNegativeOffset},
1163*f5c631daSSadaf Ebrahimi {{al, r0, r7, minus, r1, LSL, 7, Offset},
1164*f5c631daSSadaf Ebrahimi "al r0 r7 minus r1 LSL 7 Offset",
1165*f5c631daSSadaf Ebrahimi "NegativeOffset_al_r0_r7_minus_r1_LSL_7_Offset",
1166*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativeOffset),
1167*f5c631daSSadaf Ebrahimi kNegativeOffset},
1168*f5c631daSSadaf Ebrahimi {{al, r8, r7, minus, r1, LSL, 14, Offset},
1169*f5c631daSSadaf Ebrahimi "al r8 r7 minus r1 LSL 14 Offset",
1170*f5c631daSSadaf Ebrahimi "NegativeOffset_al_r8_r7_minus_r1_LSL_14_Offset",
1171*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativeOffset),
1172*f5c631daSSadaf Ebrahimi kNegativeOffset},
1173*f5c631daSSadaf Ebrahimi {{al, r7, r4, minus, r8, LSL, 15, Offset},
1174*f5c631daSSadaf Ebrahimi "al r7 r4 minus r8 LSL 15 Offset",
1175*f5c631daSSadaf Ebrahimi "NegativeOffset_al_r7_r4_minus_r8_LSL_15_Offset",
1176*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativeOffset),
1177*f5c631daSSadaf Ebrahimi kNegativeOffset},
1178*f5c631daSSadaf Ebrahimi {{al, r14, r11, minus, r1, ROR, 21, Offset},
1179*f5c631daSSadaf Ebrahimi "al r14 r11 minus r1 ROR 21 Offset",
1180*f5c631daSSadaf Ebrahimi "NegativeOffset_al_r14_r11_minus_r1_ROR_21_Offset",
1181*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativeOffset),
1182*f5c631daSSadaf Ebrahimi kNegativeOffset},
1183*f5c631daSSadaf Ebrahimi {{al, r12, r14, minus, r6, ROR, 6, Offset},
1184*f5c631daSSadaf Ebrahimi "al r12 r14 minus r6 ROR 6 Offset",
1185*f5c631daSSadaf Ebrahimi "NegativeOffset_al_r12_r14_minus_r6_ROR_6_Offset",
1186*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativeOffset),
1187*f5c631daSSadaf Ebrahimi kNegativeOffset},
1188*f5c631daSSadaf Ebrahimi {{al, r4, r12, minus, r14, LSL, 25, Offset},
1189*f5c631daSSadaf Ebrahimi "al r4 r12 minus r14 LSL 25 Offset",
1190*f5c631daSSadaf Ebrahimi "NegativeOffset_al_r4_r12_minus_r14_LSL_25_Offset",
1191*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativeOffset),
1192*f5c631daSSadaf Ebrahimi kNegativeOffset},
1193*f5c631daSSadaf Ebrahimi {{al, r6, r12, minus, r2, ROR, 2, Offset},
1194*f5c631daSSadaf Ebrahimi "al r6 r12 minus r2 ROR 2 Offset",
1195*f5c631daSSadaf Ebrahimi "NegativeOffset_al_r6_r12_minus_r2_ROR_2_Offset",
1196*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativeOffset),
1197*f5c631daSSadaf Ebrahimi kNegativeOffset},
1198*f5c631daSSadaf Ebrahimi {{al, r11, r1, minus, r8, LSL, 26, Offset},
1199*f5c631daSSadaf Ebrahimi "al r11 r1 minus r8 LSL 26 Offset",
1200*f5c631daSSadaf Ebrahimi "NegativeOffset_al_r11_r1_minus_r8_LSL_26_Offset",
1201*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativeOffset),
1202*f5c631daSSadaf Ebrahimi kNegativeOffset},
1203*f5c631daSSadaf Ebrahimi {{al, r9, r1, minus, r10, ROR, 29, Offset},
1204*f5c631daSSadaf Ebrahimi "al r9 r1 minus r10 ROR 29 Offset",
1205*f5c631daSSadaf Ebrahimi "NegativeOffset_al_r9_r1_minus_r10_ROR_29_Offset",
1206*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativeOffset),
1207*f5c631daSSadaf Ebrahimi kNegativeOffset},
1208*f5c631daSSadaf Ebrahimi {{al, r0, r6, minus, r4, LSL, 23, Offset},
1209*f5c631daSSadaf Ebrahimi "al r0 r6 minus r4 LSL 23 Offset",
1210*f5c631daSSadaf Ebrahimi "NegativeOffset_al_r0_r6_minus_r4_LSL_23_Offset",
1211*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativeOffset),
1212*f5c631daSSadaf Ebrahimi kNegativeOffset},
1213*f5c631daSSadaf Ebrahimi {{al, r12, r8, minus, r14, LSL, 26, Offset},
1214*f5c631daSSadaf Ebrahimi "al r12 r8 minus r14 LSL 26 Offset",
1215*f5c631daSSadaf Ebrahimi "NegativeOffset_al_r12_r8_minus_r14_LSL_26_Offset",
1216*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativeOffset),
1217*f5c631daSSadaf Ebrahimi kNegativeOffset},
1218*f5c631daSSadaf Ebrahimi {{al, r0, r11, minus, r2, ROR, 23, Offset},
1219*f5c631daSSadaf Ebrahimi "al r0 r11 minus r2 ROR 23 Offset",
1220*f5c631daSSadaf Ebrahimi "NegativeOffset_al_r0_r11_minus_r2_ROR_23_Offset",
1221*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativeOffset),
1222*f5c631daSSadaf Ebrahimi kNegativeOffset},
1223*f5c631daSSadaf Ebrahimi {{al, r11, r4, minus, r2, ROR, 14, Offset},
1224*f5c631daSSadaf Ebrahimi "al r11 r4 minus r2 ROR 14 Offset",
1225*f5c631daSSadaf Ebrahimi "NegativeOffset_al_r11_r4_minus_r2_ROR_14_Offset",
1226*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativeOffset),
1227*f5c631daSSadaf Ebrahimi kNegativeOffset},
1228*f5c631daSSadaf Ebrahimi {{al, r4, r10, minus, r14, ROR, 29, Offset},
1229*f5c631daSSadaf Ebrahimi "al r4 r10 minus r14 ROR 29 Offset",
1230*f5c631daSSadaf Ebrahimi "NegativeOffset_al_r4_r10_minus_r14_ROR_29_Offset",
1231*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativeOffset),
1232*f5c631daSSadaf Ebrahimi kNegativeOffset},
1233*f5c631daSSadaf Ebrahimi {{al, r7, r0, minus, r12, ROR, 5, Offset},
1234*f5c631daSSadaf Ebrahimi "al r7 r0 minus r12 ROR 5 Offset",
1235*f5c631daSSadaf Ebrahimi "NegativeOffset_al_r7_r0_minus_r12_ROR_5_Offset",
1236*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativeOffset),
1237*f5c631daSSadaf Ebrahimi kNegativeOffset},
1238*f5c631daSSadaf Ebrahimi {{al, r6, r12, minus, r0, ROR, 15, Offset},
1239*f5c631daSSadaf Ebrahimi "al r6 r12 minus r0 ROR 15 Offset",
1240*f5c631daSSadaf Ebrahimi "NegativeOffset_al_r6_r12_minus_r0_ROR_15_Offset",
1241*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativeOffset),
1242*f5c631daSSadaf Ebrahimi kNegativeOffset},
1243*f5c631daSSadaf Ebrahimi {{al, r6, r1, minus, r7, ROR, 22, Offset},
1244*f5c631daSSadaf Ebrahimi "al r6 r1 minus r7 ROR 22 Offset",
1245*f5c631daSSadaf Ebrahimi "NegativeOffset_al_r6_r1_minus_r7_ROR_22_Offset",
1246*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativeOffset),
1247*f5c631daSSadaf Ebrahimi kNegativeOffset},
1248*f5c631daSSadaf Ebrahimi {{al, r9, r3, minus, r14, LSL, 7, Offset},
1249*f5c631daSSadaf Ebrahimi "al r9 r3 minus r14 LSL 7 Offset",
1250*f5c631daSSadaf Ebrahimi "NegativeOffset_al_r9_r3_minus_r14_LSL_7_Offset",
1251*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativeOffset),
1252*f5c631daSSadaf Ebrahimi kNegativeOffset},
1253*f5c631daSSadaf Ebrahimi {{al, r12, r0, minus, r7, ROR, 19, Offset},
1254*f5c631daSSadaf Ebrahimi "al r12 r0 minus r7 ROR 19 Offset",
1255*f5c631daSSadaf Ebrahimi "NegativeOffset_al_r12_r0_minus_r7_ROR_19_Offset",
1256*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativeOffset),
1257*f5c631daSSadaf Ebrahimi kNegativeOffset},
1258*f5c631daSSadaf Ebrahimi {{al, r9, r8, minus, r11, ROR, 21, Offset},
1259*f5c631daSSadaf Ebrahimi "al r9 r8 minus r11 ROR 21 Offset",
1260*f5c631daSSadaf Ebrahimi "NegativeOffset_al_r9_r8_minus_r11_ROR_21_Offset",
1261*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativeOffset),
1262*f5c631daSSadaf Ebrahimi kNegativeOffset},
1263*f5c631daSSadaf Ebrahimi {{al, r9, r2, minus, r3, LSL, 20, Offset},
1264*f5c631daSSadaf Ebrahimi "al r9 r2 minus r3 LSL 20 Offset",
1265*f5c631daSSadaf Ebrahimi "NegativeOffset_al_r9_r2_minus_r3_LSL_20_Offset",
1266*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativeOffset),
1267*f5c631daSSadaf Ebrahimi kNegativeOffset},
1268*f5c631daSSadaf Ebrahimi {{al, r12, r2, minus, r5, ROR, 25, Offset},
1269*f5c631daSSadaf Ebrahimi "al r12 r2 minus r5 ROR 25 Offset",
1270*f5c631daSSadaf Ebrahimi "NegativeOffset_al_r12_r2_minus_r5_ROR_25_Offset",
1271*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativeOffset),
1272*f5c631daSSadaf Ebrahimi kNegativeOffset},
1273*f5c631daSSadaf Ebrahimi {{al, r6, r7, minus, r3, LSL, 15, Offset},
1274*f5c631daSSadaf Ebrahimi "al r6 r7 minus r3 LSL 15 Offset",
1275*f5c631daSSadaf Ebrahimi "NegativeOffset_al_r6_r7_minus_r3_LSL_15_Offset",
1276*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativeOffset),
1277*f5c631daSSadaf Ebrahimi kNegativeOffset},
1278*f5c631daSSadaf Ebrahimi {{al, r1, r12, minus, r14, LSL, 12, Offset},
1279*f5c631daSSadaf Ebrahimi "al r1 r12 minus r14 LSL 12 Offset",
1280*f5c631daSSadaf Ebrahimi "NegativeOffset_al_r1_r12_minus_r14_LSL_12_Offset",
1281*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativeOffset),
1282*f5c631daSSadaf Ebrahimi kNegativeOffset},
1283*f5c631daSSadaf Ebrahimi {{al, r14, r4, minus, r11, ROR, 31, Offset},
1284*f5c631daSSadaf Ebrahimi "al r14 r4 minus r11 ROR 31 Offset",
1285*f5c631daSSadaf Ebrahimi "NegativeOffset_al_r14_r4_minus_r11_ROR_31_Offset",
1286*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativeOffset),
1287*f5c631daSSadaf Ebrahimi kNegativeOffset},
1288*f5c631daSSadaf Ebrahimi {{al, r14, r5, minus, r2, LSL, 27, Offset},
1289*f5c631daSSadaf Ebrahimi "al r14 r5 minus r2 LSL 27 Offset",
1290*f5c631daSSadaf Ebrahimi "NegativeOffset_al_r14_r5_minus_r2_LSL_27_Offset",
1291*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativeOffset),
1292*f5c631daSSadaf Ebrahimi kNegativeOffset},
1293*f5c631daSSadaf Ebrahimi {{al, r9, r6, minus, r12, LSL, 31, Offset},
1294*f5c631daSSadaf Ebrahimi "al r9 r6 minus r12 LSL 31 Offset",
1295*f5c631daSSadaf Ebrahimi "NegativeOffset_al_r9_r6_minus_r12_LSL_31_Offset",
1296*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativeOffset),
1297*f5c631daSSadaf Ebrahimi kNegativeOffset},
1298*f5c631daSSadaf Ebrahimi {{al, r4, r8, minus, r11, ROR, 31, Offset},
1299*f5c631daSSadaf Ebrahimi "al r4 r8 minus r11 ROR 31 Offset",
1300*f5c631daSSadaf Ebrahimi "NegativeOffset_al_r4_r8_minus_r11_ROR_31_Offset",
1301*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativeOffset),
1302*f5c631daSSadaf Ebrahimi kNegativeOffset},
1303*f5c631daSSadaf Ebrahimi {{al, r0, r12, minus, r10, ROR, 25, Offset},
1304*f5c631daSSadaf Ebrahimi "al r0 r12 minus r10 ROR 25 Offset",
1305*f5c631daSSadaf Ebrahimi "NegativeOffset_al_r0_r12_minus_r10_ROR_25_Offset",
1306*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativeOffset),
1307*f5c631daSSadaf Ebrahimi kNegativeOffset},
1308*f5c631daSSadaf Ebrahimi {{al, r1, r0, minus, r7, ROR, 5, Offset},
1309*f5c631daSSadaf Ebrahimi "al r1 r0 minus r7 ROR 5 Offset",
1310*f5c631daSSadaf Ebrahimi "NegativeOffset_al_r1_r0_minus_r7_ROR_5_Offset",
1311*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativeOffset),
1312*f5c631daSSadaf Ebrahimi kNegativeOffset},
1313*f5c631daSSadaf Ebrahimi {{al, r12, r4, minus, r11, LSL, 26, Offset},
1314*f5c631daSSadaf Ebrahimi "al r12 r4 minus r11 LSL 26 Offset",
1315*f5c631daSSadaf Ebrahimi "NegativeOffset_al_r12_r4_minus_r11_LSL_26_Offset",
1316*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativeOffset),
1317*f5c631daSSadaf Ebrahimi kNegativeOffset},
1318*f5c631daSSadaf Ebrahimi {{al, r2, r3, minus, r4, LSL, 10, Offset},
1319*f5c631daSSadaf Ebrahimi "al r2 r3 minus r4 LSL 10 Offset",
1320*f5c631daSSadaf Ebrahimi "NegativeOffset_al_r2_r3_minus_r4_LSL_10_Offset",
1321*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativeOffset),
1322*f5c631daSSadaf Ebrahimi kNegativeOffset},
1323*f5c631daSSadaf Ebrahimi {{al, r1, r10, minus, r6, LSL, 8, Offset},
1324*f5c631daSSadaf Ebrahimi "al r1 r10 minus r6 LSL 8 Offset",
1325*f5c631daSSadaf Ebrahimi "NegativeOffset_al_r1_r10_minus_r6_LSL_8_Offset",
1326*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativeOffset),
1327*f5c631daSSadaf Ebrahimi kNegativeOffset},
1328*f5c631daSSadaf Ebrahimi {{al, r7, r10, minus, r2, LSL, 8, Offset},
1329*f5c631daSSadaf Ebrahimi "al r7 r10 minus r2 LSL 8 Offset",
1330*f5c631daSSadaf Ebrahimi "NegativeOffset_al_r7_r10_minus_r2_LSL_8_Offset",
1331*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativeOffset),
1332*f5c631daSSadaf Ebrahimi kNegativeOffset},
1333*f5c631daSSadaf Ebrahimi {{al, r9, r4, plus, r0, ROR, 19, PostIndex},
1334*f5c631daSSadaf Ebrahimi "al r9 r4 plus r0 ROR 19 PostIndex",
1335*f5c631daSSadaf Ebrahimi "PositivePostIndex_al_r9_r4_plus_r0_ROR_19_PostIndex",
1336*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositivePostIndex),
1337*f5c631daSSadaf Ebrahimi kPositivePostIndex},
1338*f5c631daSSadaf Ebrahimi {{al, r2, r3, plus, r8, LSL, 10, PostIndex},
1339*f5c631daSSadaf Ebrahimi "al r2 r3 plus r8 LSL 10 PostIndex",
1340*f5c631daSSadaf Ebrahimi "PositivePostIndex_al_r2_r3_plus_r8_LSL_10_PostIndex",
1341*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositivePostIndex),
1342*f5c631daSSadaf Ebrahimi kPositivePostIndex},
1343*f5c631daSSadaf Ebrahimi {{al, r11, r14, plus, r5, LSL, 31, PostIndex},
1344*f5c631daSSadaf Ebrahimi "al r11 r14 plus r5 LSL 31 PostIndex",
1345*f5c631daSSadaf Ebrahimi "PositivePostIndex_al_r11_r14_plus_r5_LSL_31_PostIndex",
1346*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositivePostIndex),
1347*f5c631daSSadaf Ebrahimi kPositivePostIndex},
1348*f5c631daSSadaf Ebrahimi {{al, r5, r14, plus, r9, ROR, 11, PostIndex},
1349*f5c631daSSadaf Ebrahimi "al r5 r14 plus r9 ROR 11 PostIndex",
1350*f5c631daSSadaf Ebrahimi "PositivePostIndex_al_r5_r14_plus_r9_ROR_11_PostIndex",
1351*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositivePostIndex),
1352*f5c631daSSadaf Ebrahimi kPositivePostIndex},
1353*f5c631daSSadaf Ebrahimi {{al, r6, r1, plus, r5, LSL, 11, PostIndex},
1354*f5c631daSSadaf Ebrahimi "al r6 r1 plus r5 LSL 11 PostIndex",
1355*f5c631daSSadaf Ebrahimi "PositivePostIndex_al_r6_r1_plus_r5_LSL_11_PostIndex",
1356*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositivePostIndex),
1357*f5c631daSSadaf Ebrahimi kPositivePostIndex},
1358*f5c631daSSadaf Ebrahimi {{al, r3, r2, plus, r14, LSL, 19, PostIndex},
1359*f5c631daSSadaf Ebrahimi "al r3 r2 plus r14 LSL 19 PostIndex",
1360*f5c631daSSadaf Ebrahimi "PositivePostIndex_al_r3_r2_plus_r14_LSL_19_PostIndex",
1361*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositivePostIndex),
1362*f5c631daSSadaf Ebrahimi kPositivePostIndex},
1363*f5c631daSSadaf Ebrahimi {{al, r12, r11, plus, r10, ROR, 6, PostIndex},
1364*f5c631daSSadaf Ebrahimi "al r12 r11 plus r10 ROR 6 PostIndex",
1365*f5c631daSSadaf Ebrahimi "PositivePostIndex_al_r12_r11_plus_r10_ROR_6_PostIndex",
1366*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositivePostIndex),
1367*f5c631daSSadaf Ebrahimi kPositivePostIndex},
1368*f5c631daSSadaf Ebrahimi {{al, r5, r0, plus, r10, LSL, 18, PostIndex},
1369*f5c631daSSadaf Ebrahimi "al r5 r0 plus r10 LSL 18 PostIndex",
1370*f5c631daSSadaf Ebrahimi "PositivePostIndex_al_r5_r0_plus_r10_LSL_18_PostIndex",
1371*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositivePostIndex),
1372*f5c631daSSadaf Ebrahimi kPositivePostIndex},
1373*f5c631daSSadaf Ebrahimi {{al, r4, r11, plus, r8, ROR, 6, PostIndex},
1374*f5c631daSSadaf Ebrahimi "al r4 r11 plus r8 ROR 6 PostIndex",
1375*f5c631daSSadaf Ebrahimi "PositivePostIndex_al_r4_r11_plus_r8_ROR_6_PostIndex",
1376*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositivePostIndex),
1377*f5c631daSSadaf Ebrahimi kPositivePostIndex},
1378*f5c631daSSadaf Ebrahimi {{al, r6, r9, plus, r14, ROR, 15, PostIndex},
1379*f5c631daSSadaf Ebrahimi "al r6 r9 plus r14 ROR 15 PostIndex",
1380*f5c631daSSadaf Ebrahimi "PositivePostIndex_al_r6_r9_plus_r14_ROR_15_PostIndex",
1381*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositivePostIndex),
1382*f5c631daSSadaf Ebrahimi kPositivePostIndex},
1383*f5c631daSSadaf Ebrahimi {{al, r3, r10, plus, r2, LSL, 6, PostIndex},
1384*f5c631daSSadaf Ebrahimi "al r3 r10 plus r2 LSL 6 PostIndex",
1385*f5c631daSSadaf Ebrahimi "PositivePostIndex_al_r3_r10_plus_r2_LSL_6_PostIndex",
1386*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositivePostIndex),
1387*f5c631daSSadaf Ebrahimi kPositivePostIndex},
1388*f5c631daSSadaf Ebrahimi {{al, r3, r5, plus, r8, LSL, 14, PostIndex},
1389*f5c631daSSadaf Ebrahimi "al r3 r5 plus r8 LSL 14 PostIndex",
1390*f5c631daSSadaf Ebrahimi "PositivePostIndex_al_r3_r5_plus_r8_LSL_14_PostIndex",
1391*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositivePostIndex),
1392*f5c631daSSadaf Ebrahimi kPositivePostIndex},
1393*f5c631daSSadaf Ebrahimi {{al, r8, r12, plus, r5, LSL, 14, PostIndex},
1394*f5c631daSSadaf Ebrahimi "al r8 r12 plus r5 LSL 14 PostIndex",
1395*f5c631daSSadaf Ebrahimi "PositivePostIndex_al_r8_r12_plus_r5_LSL_14_PostIndex",
1396*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositivePostIndex),
1397*f5c631daSSadaf Ebrahimi kPositivePostIndex},
1398*f5c631daSSadaf Ebrahimi {{al, r11, r4, plus, r6, LSL, 3, PostIndex},
1399*f5c631daSSadaf Ebrahimi "al r11 r4 plus r6 LSL 3 PostIndex",
1400*f5c631daSSadaf Ebrahimi "PositivePostIndex_al_r11_r4_plus_r6_LSL_3_PostIndex",
1401*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositivePostIndex),
1402*f5c631daSSadaf Ebrahimi kPositivePostIndex},
1403*f5c631daSSadaf Ebrahimi {{al, r8, r12, plus, r11, ROR, 16, PostIndex},
1404*f5c631daSSadaf Ebrahimi "al r8 r12 plus r11 ROR 16 PostIndex",
1405*f5c631daSSadaf Ebrahimi "PositivePostIndex_al_r8_r12_plus_r11_ROR_16_PostIndex",
1406*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositivePostIndex),
1407*f5c631daSSadaf Ebrahimi kPositivePostIndex},
1408*f5c631daSSadaf Ebrahimi {{al, r14, r7, plus, r3, LSL, 26, PostIndex},
1409*f5c631daSSadaf Ebrahimi "al r14 r7 plus r3 LSL 26 PostIndex",
1410*f5c631daSSadaf Ebrahimi "PositivePostIndex_al_r14_r7_plus_r3_LSL_26_PostIndex",
1411*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositivePostIndex),
1412*f5c631daSSadaf Ebrahimi kPositivePostIndex},
1413*f5c631daSSadaf Ebrahimi {{al, r2, r5, plus, r0, LSL, 13, PostIndex},
1414*f5c631daSSadaf Ebrahimi "al r2 r5 plus r0 LSL 13 PostIndex",
1415*f5c631daSSadaf Ebrahimi "PositivePostIndex_al_r2_r5_plus_r0_LSL_13_PostIndex",
1416*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositivePostIndex),
1417*f5c631daSSadaf Ebrahimi kPositivePostIndex},
1418*f5c631daSSadaf Ebrahimi {{al, r1, r14, plus, r10, ROR, 20, PostIndex},
1419*f5c631daSSadaf Ebrahimi "al r1 r14 plus r10 ROR 20 PostIndex",
1420*f5c631daSSadaf Ebrahimi "PositivePostIndex_al_r1_r14_plus_r10_ROR_20_PostIndex",
1421*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositivePostIndex),
1422*f5c631daSSadaf Ebrahimi kPositivePostIndex},
1423*f5c631daSSadaf Ebrahimi {{al, r9, r0, plus, r12, LSL, 4, PostIndex},
1424*f5c631daSSadaf Ebrahimi "al r9 r0 plus r12 LSL 4 PostIndex",
1425*f5c631daSSadaf Ebrahimi "PositivePostIndex_al_r9_r0_plus_r12_LSL_4_PostIndex",
1426*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositivePostIndex),
1427*f5c631daSSadaf Ebrahimi kPositivePostIndex},
1428*f5c631daSSadaf Ebrahimi {{al, r8, r1, plus, r12, LSL, 23, PostIndex},
1429*f5c631daSSadaf Ebrahimi "al r8 r1 plus r12 LSL 23 PostIndex",
1430*f5c631daSSadaf Ebrahimi "PositivePostIndex_al_r8_r1_plus_r12_LSL_23_PostIndex",
1431*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositivePostIndex),
1432*f5c631daSSadaf Ebrahimi kPositivePostIndex},
1433*f5c631daSSadaf Ebrahimi {{al, r10, r12, plus, r1, ROR, 25, PostIndex},
1434*f5c631daSSadaf Ebrahimi "al r10 r12 plus r1 ROR 25 PostIndex",
1435*f5c631daSSadaf Ebrahimi "PositivePostIndex_al_r10_r12_plus_r1_ROR_25_PostIndex",
1436*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositivePostIndex),
1437*f5c631daSSadaf Ebrahimi kPositivePostIndex},
1438*f5c631daSSadaf Ebrahimi {{al, r9, r4, plus, r5, LSL, 30, PostIndex},
1439*f5c631daSSadaf Ebrahimi "al r9 r4 plus r5 LSL 30 PostIndex",
1440*f5c631daSSadaf Ebrahimi "PositivePostIndex_al_r9_r4_plus_r5_LSL_30_PostIndex",
1441*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositivePostIndex),
1442*f5c631daSSadaf Ebrahimi kPositivePostIndex},
1443*f5c631daSSadaf Ebrahimi {{al, r6, r2, plus, r0, LSL, 6, PostIndex},
1444*f5c631daSSadaf Ebrahimi "al r6 r2 plus r0 LSL 6 PostIndex",
1445*f5c631daSSadaf Ebrahimi "PositivePostIndex_al_r6_r2_plus_r0_LSL_6_PostIndex",
1446*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositivePostIndex),
1447*f5c631daSSadaf Ebrahimi kPositivePostIndex},
1448*f5c631daSSadaf Ebrahimi {{al, r9, r12, plus, r5, ROR, 19, PostIndex},
1449*f5c631daSSadaf Ebrahimi "al r9 r12 plus r5 ROR 19 PostIndex",
1450*f5c631daSSadaf Ebrahimi "PositivePostIndex_al_r9_r12_plus_r5_ROR_19_PostIndex",
1451*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositivePostIndex),
1452*f5c631daSSadaf Ebrahimi kPositivePostIndex},
1453*f5c631daSSadaf Ebrahimi {{al, r11, r7, plus, r14, LSL, 16, PostIndex},
1454*f5c631daSSadaf Ebrahimi "al r11 r7 plus r14 LSL 16 PostIndex",
1455*f5c631daSSadaf Ebrahimi "PositivePostIndex_al_r11_r7_plus_r14_LSL_16_PostIndex",
1456*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositivePostIndex),
1457*f5c631daSSadaf Ebrahimi kPositivePostIndex},
1458*f5c631daSSadaf Ebrahimi {{al, r1, r4, plus, r3, ROR, 7, PostIndex},
1459*f5c631daSSadaf Ebrahimi "al r1 r4 plus r3 ROR 7 PostIndex",
1460*f5c631daSSadaf Ebrahimi "PositivePostIndex_al_r1_r4_plus_r3_ROR_7_PostIndex",
1461*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositivePostIndex),
1462*f5c631daSSadaf Ebrahimi kPositivePostIndex},
1463*f5c631daSSadaf Ebrahimi {{al, r3, r1, plus, r14, ROR, 3, PostIndex},
1464*f5c631daSSadaf Ebrahimi "al r3 r1 plus r14 ROR 3 PostIndex",
1465*f5c631daSSadaf Ebrahimi "PositivePostIndex_al_r3_r1_plus_r14_ROR_3_PostIndex",
1466*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositivePostIndex),
1467*f5c631daSSadaf Ebrahimi kPositivePostIndex},
1468*f5c631daSSadaf Ebrahimi {{al, r7, r0, plus, r4, ROR, 8, PostIndex},
1469*f5c631daSSadaf Ebrahimi "al r7 r0 plus r4 ROR 8 PostIndex",
1470*f5c631daSSadaf Ebrahimi "PositivePostIndex_al_r7_r0_plus_r4_ROR_8_PostIndex",
1471*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositivePostIndex),
1472*f5c631daSSadaf Ebrahimi kPositivePostIndex},
1473*f5c631daSSadaf Ebrahimi {{al, r0, r8, plus, r1, ROR, 27, PostIndex},
1474*f5c631daSSadaf Ebrahimi "al r0 r8 plus r1 ROR 27 PostIndex",
1475*f5c631daSSadaf Ebrahimi "PositivePostIndex_al_r0_r8_plus_r1_ROR_27_PostIndex",
1476*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositivePostIndex),
1477*f5c631daSSadaf Ebrahimi kPositivePostIndex},
1478*f5c631daSSadaf Ebrahimi {{al, r5, r4, plus, r11, LSL, 24, PostIndex},
1479*f5c631daSSadaf Ebrahimi "al r5 r4 plus r11 LSL 24 PostIndex",
1480*f5c631daSSadaf Ebrahimi "PositivePostIndex_al_r5_r4_plus_r11_LSL_24_PostIndex",
1481*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositivePostIndex),
1482*f5c631daSSadaf Ebrahimi kPositivePostIndex},
1483*f5c631daSSadaf Ebrahimi {{al, r8, r14, plus, r5, ROR, 12, PostIndex},
1484*f5c631daSSadaf Ebrahimi "al r8 r14 plus r5 ROR 12 PostIndex",
1485*f5c631daSSadaf Ebrahimi "PositivePostIndex_al_r8_r14_plus_r5_ROR_12_PostIndex",
1486*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositivePostIndex),
1487*f5c631daSSadaf Ebrahimi kPositivePostIndex},
1488*f5c631daSSadaf Ebrahimi {{al, r11, r7, plus, r5, LSL, 3, PostIndex},
1489*f5c631daSSadaf Ebrahimi "al r11 r7 plus r5 LSL 3 PostIndex",
1490*f5c631daSSadaf Ebrahimi "PositivePostIndex_al_r11_r7_plus_r5_LSL_3_PostIndex",
1491*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositivePostIndex),
1492*f5c631daSSadaf Ebrahimi kPositivePostIndex},
1493*f5c631daSSadaf Ebrahimi {{al, r14, r5, plus, r8, ROR, 16, PostIndex},
1494*f5c631daSSadaf Ebrahimi "al r14 r5 plus r8 ROR 16 PostIndex",
1495*f5c631daSSadaf Ebrahimi "PositivePostIndex_al_r14_r5_plus_r8_ROR_16_PostIndex",
1496*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositivePostIndex),
1497*f5c631daSSadaf Ebrahimi kPositivePostIndex},
1498*f5c631daSSadaf Ebrahimi {{al, r5, r7, plus, r12, ROR, 3, PostIndex},
1499*f5c631daSSadaf Ebrahimi "al r5 r7 plus r12 ROR 3 PostIndex",
1500*f5c631daSSadaf Ebrahimi "PositivePostIndex_al_r5_r7_plus_r12_ROR_3_PostIndex",
1501*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositivePostIndex),
1502*f5c631daSSadaf Ebrahimi kPositivePostIndex},
1503*f5c631daSSadaf Ebrahimi {{al, r8, r9, plus, r11, LSL, 15, PostIndex},
1504*f5c631daSSadaf Ebrahimi "al r8 r9 plus r11 LSL 15 PostIndex",
1505*f5c631daSSadaf Ebrahimi "PositivePostIndex_al_r8_r9_plus_r11_LSL_15_PostIndex",
1506*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositivePostIndex),
1507*f5c631daSSadaf Ebrahimi kPositivePostIndex},
1508*f5c631daSSadaf Ebrahimi {{al, r4, r12, plus, r3, LSL, 5, PostIndex},
1509*f5c631daSSadaf Ebrahimi "al r4 r12 plus r3 LSL 5 PostIndex",
1510*f5c631daSSadaf Ebrahimi "PositivePostIndex_al_r4_r12_plus_r3_LSL_5_PostIndex",
1511*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositivePostIndex),
1512*f5c631daSSadaf Ebrahimi kPositivePostIndex},
1513*f5c631daSSadaf Ebrahimi {{al, r8, r1, plus, r2, ROR, 5, PostIndex},
1514*f5c631daSSadaf Ebrahimi "al r8 r1 plus r2 ROR 5 PostIndex",
1515*f5c631daSSadaf Ebrahimi "PositivePostIndex_al_r8_r1_plus_r2_ROR_5_PostIndex",
1516*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositivePostIndex),
1517*f5c631daSSadaf Ebrahimi kPositivePostIndex},
1518*f5c631daSSadaf Ebrahimi {{al, r11, r7, plus, r0, LSL, 15, PostIndex},
1519*f5c631daSSadaf Ebrahimi "al r11 r7 plus r0 LSL 15 PostIndex",
1520*f5c631daSSadaf Ebrahimi "PositivePostIndex_al_r11_r7_plus_r0_LSL_15_PostIndex",
1521*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositivePostIndex),
1522*f5c631daSSadaf Ebrahimi kPositivePostIndex},
1523*f5c631daSSadaf Ebrahimi {{al, r6, r1, plus, r5, ROR, 6, PostIndex},
1524*f5c631daSSadaf Ebrahimi "al r6 r1 plus r5 ROR 6 PostIndex",
1525*f5c631daSSadaf Ebrahimi "PositivePostIndex_al_r6_r1_plus_r5_ROR_6_PostIndex",
1526*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositivePostIndex),
1527*f5c631daSSadaf Ebrahimi kPositivePostIndex},
1528*f5c631daSSadaf Ebrahimi {{al, r3, r11, plus, r4, ROR, 28, PostIndex},
1529*f5c631daSSadaf Ebrahimi "al r3 r11 plus r4 ROR 28 PostIndex",
1530*f5c631daSSadaf Ebrahimi "PositivePostIndex_al_r3_r11_plus_r4_ROR_28_PostIndex",
1531*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositivePostIndex),
1532*f5c631daSSadaf Ebrahimi kPositivePostIndex},
1533*f5c631daSSadaf Ebrahimi {{al, r4, r12, plus, r0, ROR, 18, PostIndex},
1534*f5c631daSSadaf Ebrahimi "al r4 r12 plus r0 ROR 18 PostIndex",
1535*f5c631daSSadaf Ebrahimi "PositivePostIndex_al_r4_r12_plus_r0_ROR_18_PostIndex",
1536*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositivePostIndex),
1537*f5c631daSSadaf Ebrahimi kPositivePostIndex},
1538*f5c631daSSadaf Ebrahimi {{al, r0, r4, plus, r7, LSL, 7, PostIndex},
1539*f5c631daSSadaf Ebrahimi "al r0 r4 plus r7 LSL 7 PostIndex",
1540*f5c631daSSadaf Ebrahimi "PositivePostIndex_al_r0_r4_plus_r7_LSL_7_PostIndex",
1541*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositivePostIndex),
1542*f5c631daSSadaf Ebrahimi kPositivePostIndex},
1543*f5c631daSSadaf Ebrahimi {{al, r9, r2, plus, r6, LSL, 21, PostIndex},
1544*f5c631daSSadaf Ebrahimi "al r9 r2 plus r6 LSL 21 PostIndex",
1545*f5c631daSSadaf Ebrahimi "PositivePostIndex_al_r9_r2_plus_r6_LSL_21_PostIndex",
1546*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositivePostIndex),
1547*f5c631daSSadaf Ebrahimi kPositivePostIndex},
1548*f5c631daSSadaf Ebrahimi {{al, r3, r7, plus, r9, ROR, 9, PostIndex},
1549*f5c631daSSadaf Ebrahimi "al r3 r7 plus r9 ROR 9 PostIndex",
1550*f5c631daSSadaf Ebrahimi "PositivePostIndex_al_r3_r7_plus_r9_ROR_9_PostIndex",
1551*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositivePostIndex),
1552*f5c631daSSadaf Ebrahimi kPositivePostIndex},
1553*f5c631daSSadaf Ebrahimi {{al, r14, r3, plus, r8, ROR, 11, PostIndex},
1554*f5c631daSSadaf Ebrahimi "al r14 r3 plus r8 ROR 11 PostIndex",
1555*f5c631daSSadaf Ebrahimi "PositivePostIndex_al_r14_r3_plus_r8_ROR_11_PostIndex",
1556*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositivePostIndex),
1557*f5c631daSSadaf Ebrahimi kPositivePostIndex},
1558*f5c631daSSadaf Ebrahimi {{al, r4, r12, plus, r10, LSL, 22, PostIndex},
1559*f5c631daSSadaf Ebrahimi "al r4 r12 plus r10 LSL 22 PostIndex",
1560*f5c631daSSadaf Ebrahimi "PositivePostIndex_al_r4_r12_plus_r10_LSL_22_PostIndex",
1561*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositivePostIndex),
1562*f5c631daSSadaf Ebrahimi kPositivePostIndex},
1563*f5c631daSSadaf Ebrahimi {{al, r7, r14, plus, r12, ROR, 21, PostIndex},
1564*f5c631daSSadaf Ebrahimi "al r7 r14 plus r12 ROR 21 PostIndex",
1565*f5c631daSSadaf Ebrahimi "PositivePostIndex_al_r7_r14_plus_r12_ROR_21_PostIndex",
1566*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositivePostIndex),
1567*f5c631daSSadaf Ebrahimi kPositivePostIndex},
1568*f5c631daSSadaf Ebrahimi {{al, r5, r9, plus, r0, ROR, 2, PostIndex},
1569*f5c631daSSadaf Ebrahimi "al r5 r9 plus r0 ROR 2 PostIndex",
1570*f5c631daSSadaf Ebrahimi "PositivePostIndex_al_r5_r9_plus_r0_ROR_2_PostIndex",
1571*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositivePostIndex),
1572*f5c631daSSadaf Ebrahimi kPositivePostIndex},
1573*f5c631daSSadaf Ebrahimi {{al, r7, r6, plus, r9, ROR, 1, PostIndex},
1574*f5c631daSSadaf Ebrahimi "al r7 r6 plus r9 ROR 1 PostIndex",
1575*f5c631daSSadaf Ebrahimi "PositivePostIndex_al_r7_r6_plus_r9_ROR_1_PostIndex",
1576*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositivePostIndex),
1577*f5c631daSSadaf Ebrahimi kPositivePostIndex},
1578*f5c631daSSadaf Ebrahimi {{al, r7, r12, plus, r10, ROR, 18, PostIndex},
1579*f5c631daSSadaf Ebrahimi "al r7 r12 plus r10 ROR 18 PostIndex",
1580*f5c631daSSadaf Ebrahimi "PositivePostIndex_al_r7_r12_plus_r10_ROR_18_PostIndex",
1581*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositivePostIndex),
1582*f5c631daSSadaf Ebrahimi kPositivePostIndex},
1583*f5c631daSSadaf Ebrahimi {{al, r1, r0, plus, r6, ROR, 18, PostIndex},
1584*f5c631daSSadaf Ebrahimi "al r1 r0 plus r6 ROR 18 PostIndex",
1585*f5c631daSSadaf Ebrahimi "PositivePostIndex_al_r1_r0_plus_r6_ROR_18_PostIndex",
1586*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositivePostIndex),
1587*f5c631daSSadaf Ebrahimi kPositivePostIndex},
1588*f5c631daSSadaf Ebrahimi {{al, r12, r3, plus, r14, ROR, 17, PostIndex},
1589*f5c631daSSadaf Ebrahimi "al r12 r3 plus r14 ROR 17 PostIndex",
1590*f5c631daSSadaf Ebrahimi "PositivePostIndex_al_r12_r3_plus_r14_ROR_17_PostIndex",
1591*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositivePostIndex),
1592*f5c631daSSadaf Ebrahimi kPositivePostIndex},
1593*f5c631daSSadaf Ebrahimi {{al, r11, r5, plus, r0, ROR, 18, PostIndex},
1594*f5c631daSSadaf Ebrahimi "al r11 r5 plus r0 ROR 18 PostIndex",
1595*f5c631daSSadaf Ebrahimi "PositivePostIndex_al_r11_r5_plus_r0_ROR_18_PostIndex",
1596*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositivePostIndex),
1597*f5c631daSSadaf Ebrahimi kPositivePostIndex},
1598*f5c631daSSadaf Ebrahimi {{al, r11, r4, plus, r5, ROR, 14, PostIndex},
1599*f5c631daSSadaf Ebrahimi "al r11 r4 plus r5 ROR 14 PostIndex",
1600*f5c631daSSadaf Ebrahimi "PositivePostIndex_al_r11_r4_plus_r5_ROR_14_PostIndex",
1601*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositivePostIndex),
1602*f5c631daSSadaf Ebrahimi kPositivePostIndex},
1603*f5c631daSSadaf Ebrahimi {{al, r6, r4, plus, r9, LSL, 4, PostIndex},
1604*f5c631daSSadaf Ebrahimi "al r6 r4 plus r9 LSL 4 PostIndex",
1605*f5c631daSSadaf Ebrahimi "PositivePostIndex_al_r6_r4_plus_r9_LSL_4_PostIndex",
1606*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositivePostIndex),
1607*f5c631daSSadaf Ebrahimi kPositivePostIndex},
1608*f5c631daSSadaf Ebrahimi {{al, r0, r1, plus, r12, ROR, 26, PostIndex},
1609*f5c631daSSadaf Ebrahimi "al r0 r1 plus r12 ROR 26 PostIndex",
1610*f5c631daSSadaf Ebrahimi "PositivePostIndex_al_r0_r1_plus_r12_ROR_26_PostIndex",
1611*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositivePostIndex),
1612*f5c631daSSadaf Ebrahimi kPositivePostIndex},
1613*f5c631daSSadaf Ebrahimi {{al, r2, r8, plus, r12, LSL, 23, PostIndex},
1614*f5c631daSSadaf Ebrahimi "al r2 r8 plus r12 LSL 23 PostIndex",
1615*f5c631daSSadaf Ebrahimi "PositivePostIndex_al_r2_r8_plus_r12_LSL_23_PostIndex",
1616*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositivePostIndex),
1617*f5c631daSSadaf Ebrahimi kPositivePostIndex},
1618*f5c631daSSadaf Ebrahimi {{al, r1, r4, plus, r10, ROR, 22, PostIndex},
1619*f5c631daSSadaf Ebrahimi "al r1 r4 plus r10 ROR 22 PostIndex",
1620*f5c631daSSadaf Ebrahimi "PositivePostIndex_al_r1_r4_plus_r10_ROR_22_PostIndex",
1621*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositivePostIndex),
1622*f5c631daSSadaf Ebrahimi kPositivePostIndex},
1623*f5c631daSSadaf Ebrahimi {{al, r0, r2, plus, r6, ROR, 24, PostIndex},
1624*f5c631daSSadaf Ebrahimi "al r0 r2 plus r6 ROR 24 PostIndex",
1625*f5c631daSSadaf Ebrahimi "PositivePostIndex_al_r0_r2_plus_r6_ROR_24_PostIndex",
1626*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositivePostIndex),
1627*f5c631daSSadaf Ebrahimi kPositivePostIndex},
1628*f5c631daSSadaf Ebrahimi {{al, r2, r12, plus, r3, ROR, 1, PostIndex},
1629*f5c631daSSadaf Ebrahimi "al r2 r12 plus r3 ROR 1 PostIndex",
1630*f5c631daSSadaf Ebrahimi "PositivePostIndex_al_r2_r12_plus_r3_ROR_1_PostIndex",
1631*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositivePostIndex),
1632*f5c631daSSadaf Ebrahimi kPositivePostIndex},
1633*f5c631daSSadaf Ebrahimi {{al, r14, r5, plus, r7, ROR, 6, PostIndex},
1634*f5c631daSSadaf Ebrahimi "al r14 r5 plus r7 ROR 6 PostIndex",
1635*f5c631daSSadaf Ebrahimi "PositivePostIndex_al_r14_r5_plus_r7_ROR_6_PostIndex",
1636*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositivePostIndex),
1637*f5c631daSSadaf Ebrahimi kPositivePostIndex},
1638*f5c631daSSadaf Ebrahimi {{al, r12, r6, plus, r3, LSL, 14, PostIndex},
1639*f5c631daSSadaf Ebrahimi "al r12 r6 plus r3 LSL 14 PostIndex",
1640*f5c631daSSadaf Ebrahimi "PositivePostIndex_al_r12_r6_plus_r3_LSL_14_PostIndex",
1641*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositivePostIndex),
1642*f5c631daSSadaf Ebrahimi kPositivePostIndex},
1643*f5c631daSSadaf Ebrahimi {{al, r1, r11, plus, r7, ROR, 18, PostIndex},
1644*f5c631daSSadaf Ebrahimi "al r1 r11 plus r7 ROR 18 PostIndex",
1645*f5c631daSSadaf Ebrahimi "PositivePostIndex_al_r1_r11_plus_r7_ROR_18_PostIndex",
1646*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositivePostIndex),
1647*f5c631daSSadaf Ebrahimi kPositivePostIndex},
1648*f5c631daSSadaf Ebrahimi {{al, r5, r8, plus, r3, LSL, 18, PostIndex},
1649*f5c631daSSadaf Ebrahimi "al r5 r8 plus r3 LSL 18 PostIndex",
1650*f5c631daSSadaf Ebrahimi "PositivePostIndex_al_r5_r8_plus_r3_LSL_18_PostIndex",
1651*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositivePostIndex),
1652*f5c631daSSadaf Ebrahimi kPositivePostIndex},
1653*f5c631daSSadaf Ebrahimi {{al, r8, r12, plus, r0, ROR, 26, PostIndex},
1654*f5c631daSSadaf Ebrahimi "al r8 r12 plus r0 ROR 26 PostIndex",
1655*f5c631daSSadaf Ebrahimi "PositivePostIndex_al_r8_r12_plus_r0_ROR_26_PostIndex",
1656*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositivePostIndex),
1657*f5c631daSSadaf Ebrahimi kPositivePostIndex},
1658*f5c631daSSadaf Ebrahimi {{al, r14, r6, plus, r11, LSL, 22, PostIndex},
1659*f5c631daSSadaf Ebrahimi "al r14 r6 plus r11 LSL 22 PostIndex",
1660*f5c631daSSadaf Ebrahimi "PositivePostIndex_al_r14_r6_plus_r11_LSL_22_PostIndex",
1661*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositivePostIndex),
1662*f5c631daSSadaf Ebrahimi kPositivePostIndex},
1663*f5c631daSSadaf Ebrahimi {{al, r7, r3, plus, r11, LSL, 15, PostIndex},
1664*f5c631daSSadaf Ebrahimi "al r7 r3 plus r11 LSL 15 PostIndex",
1665*f5c631daSSadaf Ebrahimi "PositivePostIndex_al_r7_r3_plus_r11_LSL_15_PostIndex",
1666*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositivePostIndex),
1667*f5c631daSSadaf Ebrahimi kPositivePostIndex},
1668*f5c631daSSadaf Ebrahimi {{al, r0, r8, plus, r4, LSL, 28, PostIndex},
1669*f5c631daSSadaf Ebrahimi "al r0 r8 plus r4 LSL 28 PostIndex",
1670*f5c631daSSadaf Ebrahimi "PositivePostIndex_al_r0_r8_plus_r4_LSL_28_PostIndex",
1671*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositivePostIndex),
1672*f5c631daSSadaf Ebrahimi kPositivePostIndex},
1673*f5c631daSSadaf Ebrahimi {{al, r7, r8, plus, r4, LSL, 28, PostIndex},
1674*f5c631daSSadaf Ebrahimi "al r7 r8 plus r4 LSL 28 PostIndex",
1675*f5c631daSSadaf Ebrahimi "PositivePostIndex_al_r7_r8_plus_r4_LSL_28_PostIndex",
1676*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositivePostIndex),
1677*f5c631daSSadaf Ebrahimi kPositivePostIndex},
1678*f5c631daSSadaf Ebrahimi {{al, r5, r4, plus, r14, LSL, 17, PostIndex},
1679*f5c631daSSadaf Ebrahimi "al r5 r4 plus r14 LSL 17 PostIndex",
1680*f5c631daSSadaf Ebrahimi "PositivePostIndex_al_r5_r4_plus_r14_LSL_17_PostIndex",
1681*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositivePostIndex),
1682*f5c631daSSadaf Ebrahimi kPositivePostIndex},
1683*f5c631daSSadaf Ebrahimi {{al, r2, r8, plus, r3, LSL, 1, PostIndex},
1684*f5c631daSSadaf Ebrahimi "al r2 r8 plus r3 LSL 1 PostIndex",
1685*f5c631daSSadaf Ebrahimi "PositivePostIndex_al_r2_r8_plus_r3_LSL_1_PostIndex",
1686*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositivePostIndex),
1687*f5c631daSSadaf Ebrahimi kPositivePostIndex},
1688*f5c631daSSadaf Ebrahimi {{al, r9, r3, plus, r4, ROR, 5, PostIndex},
1689*f5c631daSSadaf Ebrahimi "al r9 r3 plus r4 ROR 5 PostIndex",
1690*f5c631daSSadaf Ebrahimi "PositivePostIndex_al_r9_r3_plus_r4_ROR_5_PostIndex",
1691*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositivePostIndex),
1692*f5c631daSSadaf Ebrahimi kPositivePostIndex},
1693*f5c631daSSadaf Ebrahimi {{al, r5, r11, plus, r3, ROR, 26, PostIndex},
1694*f5c631daSSadaf Ebrahimi "al r5 r11 plus r3 ROR 26 PostIndex",
1695*f5c631daSSadaf Ebrahimi "PositivePostIndex_al_r5_r11_plus_r3_ROR_26_PostIndex",
1696*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositivePostIndex),
1697*f5c631daSSadaf Ebrahimi kPositivePostIndex},
1698*f5c631daSSadaf Ebrahimi {{al, r3, r6, plus, r11, ROR, 9, PostIndex},
1699*f5c631daSSadaf Ebrahimi "al r3 r6 plus r11 ROR 9 PostIndex",
1700*f5c631daSSadaf Ebrahimi "PositivePostIndex_al_r3_r6_plus_r11_ROR_9_PostIndex",
1701*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositivePostIndex),
1702*f5c631daSSadaf Ebrahimi kPositivePostIndex},
1703*f5c631daSSadaf Ebrahimi {{al, r3, r6, plus, r9, ROR, 24, PostIndex},
1704*f5c631daSSadaf Ebrahimi "al r3 r6 plus r9 ROR 24 PostIndex",
1705*f5c631daSSadaf Ebrahimi "PositivePostIndex_al_r3_r6_plus_r9_ROR_24_PostIndex",
1706*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositivePostIndex),
1707*f5c631daSSadaf Ebrahimi kPositivePostIndex},
1708*f5c631daSSadaf Ebrahimi {{al, r7, r4, plus, r11, LSL, 1, PostIndex},
1709*f5c631daSSadaf Ebrahimi "al r7 r4 plus r11 LSL 1 PostIndex",
1710*f5c631daSSadaf Ebrahimi "PositivePostIndex_al_r7_r4_plus_r11_LSL_1_PostIndex",
1711*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositivePostIndex),
1712*f5c631daSSadaf Ebrahimi kPositivePostIndex},
1713*f5c631daSSadaf Ebrahimi {{al, r2, r11, plus, r8, LSL, 17, PostIndex},
1714*f5c631daSSadaf Ebrahimi "al r2 r11 plus r8 LSL 17 PostIndex",
1715*f5c631daSSadaf Ebrahimi "PositivePostIndex_al_r2_r11_plus_r8_LSL_17_PostIndex",
1716*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositivePostIndex),
1717*f5c631daSSadaf Ebrahimi kPositivePostIndex},
1718*f5c631daSSadaf Ebrahimi {{al, r6, r10, plus, r7, ROR, 26, PostIndex},
1719*f5c631daSSadaf Ebrahimi "al r6 r10 plus r7 ROR 26 PostIndex",
1720*f5c631daSSadaf Ebrahimi "PositivePostIndex_al_r6_r10_plus_r7_ROR_26_PostIndex",
1721*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositivePostIndex),
1722*f5c631daSSadaf Ebrahimi kPositivePostIndex},
1723*f5c631daSSadaf Ebrahimi {{al, r4, r0, plus, r11, ROR, 5, PostIndex},
1724*f5c631daSSadaf Ebrahimi "al r4 r0 plus r11 ROR 5 PostIndex",
1725*f5c631daSSadaf Ebrahimi "PositivePostIndex_al_r4_r0_plus_r11_ROR_5_PostIndex",
1726*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositivePostIndex),
1727*f5c631daSSadaf Ebrahimi kPositivePostIndex},
1728*f5c631daSSadaf Ebrahimi {{al, r1, r10, plus, r7, ROR, 26, PostIndex},
1729*f5c631daSSadaf Ebrahimi "al r1 r10 plus r7 ROR 26 PostIndex",
1730*f5c631daSSadaf Ebrahimi "PositivePostIndex_al_r1_r10_plus_r7_ROR_26_PostIndex",
1731*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositivePostIndex),
1732*f5c631daSSadaf Ebrahimi kPositivePostIndex},
1733*f5c631daSSadaf Ebrahimi {{al, r9, r5, plus, r12, LSL, 20, PostIndex},
1734*f5c631daSSadaf Ebrahimi "al r9 r5 plus r12 LSL 20 PostIndex",
1735*f5c631daSSadaf Ebrahimi "PositivePostIndex_al_r9_r5_plus_r12_LSL_20_PostIndex",
1736*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositivePostIndex),
1737*f5c631daSSadaf Ebrahimi kPositivePostIndex},
1738*f5c631daSSadaf Ebrahimi {{al, r8, r12, plus, r10, ROR, 28, PostIndex},
1739*f5c631daSSadaf Ebrahimi "al r8 r12 plus r10 ROR 28 PostIndex",
1740*f5c631daSSadaf Ebrahimi "PositivePostIndex_al_r8_r12_plus_r10_ROR_28_PostIndex",
1741*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositivePostIndex),
1742*f5c631daSSadaf Ebrahimi kPositivePostIndex},
1743*f5c631daSSadaf Ebrahimi {{al, r4, r8, plus, r0, LSL, 14, PostIndex},
1744*f5c631daSSadaf Ebrahimi "al r4 r8 plus r0 LSL 14 PostIndex",
1745*f5c631daSSadaf Ebrahimi "PositivePostIndex_al_r4_r8_plus_r0_LSL_14_PostIndex",
1746*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositivePostIndex),
1747*f5c631daSSadaf Ebrahimi kPositivePostIndex},
1748*f5c631daSSadaf Ebrahimi {{al, r14, r12, plus, r8, ROR, 2, PostIndex},
1749*f5c631daSSadaf Ebrahimi "al r14 r12 plus r8 ROR 2 PostIndex",
1750*f5c631daSSadaf Ebrahimi "PositivePostIndex_al_r14_r12_plus_r8_ROR_2_PostIndex",
1751*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositivePostIndex),
1752*f5c631daSSadaf Ebrahimi kPositivePostIndex},
1753*f5c631daSSadaf Ebrahimi {{al, r12, r7, plus, r0, LSL, 17, PostIndex},
1754*f5c631daSSadaf Ebrahimi "al r12 r7 plus r0 LSL 17 PostIndex",
1755*f5c631daSSadaf Ebrahimi "PositivePostIndex_al_r12_r7_plus_r0_LSL_17_PostIndex",
1756*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositivePostIndex),
1757*f5c631daSSadaf Ebrahimi kPositivePostIndex},
1758*f5c631daSSadaf Ebrahimi {{al, r1, r6, plus, r14, ROR, 19, PostIndex},
1759*f5c631daSSadaf Ebrahimi "al r1 r6 plus r14 ROR 19 PostIndex",
1760*f5c631daSSadaf Ebrahimi "PositivePostIndex_al_r1_r6_plus_r14_ROR_19_PostIndex",
1761*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositivePostIndex),
1762*f5c631daSSadaf Ebrahimi kPositivePostIndex},
1763*f5c631daSSadaf Ebrahimi {{al, r9, r11, plus, r6, LSL, 10, PostIndex},
1764*f5c631daSSadaf Ebrahimi "al r9 r11 plus r6 LSL 10 PostIndex",
1765*f5c631daSSadaf Ebrahimi "PositivePostIndex_al_r9_r11_plus_r6_LSL_10_PostIndex",
1766*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositivePostIndex),
1767*f5c631daSSadaf Ebrahimi kPositivePostIndex},
1768*f5c631daSSadaf Ebrahimi {{al, r0, r2, plus, r12, ROR, 12, PostIndex},
1769*f5c631daSSadaf Ebrahimi "al r0 r2 plus r12 ROR 12 PostIndex",
1770*f5c631daSSadaf Ebrahimi "PositivePostIndex_al_r0_r2_plus_r12_ROR_12_PostIndex",
1771*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositivePostIndex),
1772*f5c631daSSadaf Ebrahimi kPositivePostIndex},
1773*f5c631daSSadaf Ebrahimi {{al, r9, r2, plus, r12, LSL, 31, PostIndex},
1774*f5c631daSSadaf Ebrahimi "al r9 r2 plus r12 LSL 31 PostIndex",
1775*f5c631daSSadaf Ebrahimi "PositivePostIndex_al_r9_r2_plus_r12_LSL_31_PostIndex",
1776*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositivePostIndex),
1777*f5c631daSSadaf Ebrahimi kPositivePostIndex},
1778*f5c631daSSadaf Ebrahimi {{al, r10, r4, plus, r7, LSL, 31, PostIndex},
1779*f5c631daSSadaf Ebrahimi "al r10 r4 plus r7 LSL 31 PostIndex",
1780*f5c631daSSadaf Ebrahimi "PositivePostIndex_al_r10_r4_plus_r7_LSL_31_PostIndex",
1781*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositivePostIndex),
1782*f5c631daSSadaf Ebrahimi kPositivePostIndex},
1783*f5c631daSSadaf Ebrahimi {{al, r3, r7, plus, r5, ROR, 29, PostIndex},
1784*f5c631daSSadaf Ebrahimi "al r3 r7 plus r5 ROR 29 PostIndex",
1785*f5c631daSSadaf Ebrahimi "PositivePostIndex_al_r3_r7_plus_r5_ROR_29_PostIndex",
1786*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositivePostIndex),
1787*f5c631daSSadaf Ebrahimi kPositivePostIndex},
1788*f5c631daSSadaf Ebrahimi {{al, r1, r3, plus, r8, ROR, 12, PostIndex},
1789*f5c631daSSadaf Ebrahimi "al r1 r3 plus r8 ROR 12 PostIndex",
1790*f5c631daSSadaf Ebrahimi "PositivePostIndex_al_r1_r3_plus_r8_ROR_12_PostIndex",
1791*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositivePostIndex),
1792*f5c631daSSadaf Ebrahimi kPositivePostIndex},
1793*f5c631daSSadaf Ebrahimi {{al, r9, r11, plus, r3, ROR, 23, PostIndex},
1794*f5c631daSSadaf Ebrahimi "al r9 r11 plus r3 ROR 23 PostIndex",
1795*f5c631daSSadaf Ebrahimi "PositivePostIndex_al_r9_r11_plus_r3_ROR_23_PostIndex",
1796*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositivePostIndex),
1797*f5c631daSSadaf Ebrahimi kPositivePostIndex},
1798*f5c631daSSadaf Ebrahimi {{al, r11, r3, plus, r8, LSL, 20, PostIndex},
1799*f5c631daSSadaf Ebrahimi "al r11 r3 plus r8 LSL 20 PostIndex",
1800*f5c631daSSadaf Ebrahimi "PositivePostIndex_al_r11_r3_plus_r8_LSL_20_PostIndex",
1801*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositivePostIndex),
1802*f5c631daSSadaf Ebrahimi kPositivePostIndex},
1803*f5c631daSSadaf Ebrahimi {{al, r11, r2, plus, r10, LSL, 17, PostIndex},
1804*f5c631daSSadaf Ebrahimi "al r11 r2 plus r10 LSL 17 PostIndex",
1805*f5c631daSSadaf Ebrahimi "PositivePostIndex_al_r11_r2_plus_r10_LSL_17_PostIndex",
1806*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositivePostIndex),
1807*f5c631daSSadaf Ebrahimi kPositivePostIndex},
1808*f5c631daSSadaf Ebrahimi {{al, r2, r3, plus, r7, LSL, 5, PostIndex},
1809*f5c631daSSadaf Ebrahimi "al r2 r3 plus r7 LSL 5 PostIndex",
1810*f5c631daSSadaf Ebrahimi "PositivePostIndex_al_r2_r3_plus_r7_LSL_5_PostIndex",
1811*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositivePostIndex),
1812*f5c631daSSadaf Ebrahimi kPositivePostIndex},
1813*f5c631daSSadaf Ebrahimi {{al, r14, r2, plus, r12, ROR, 26, PostIndex},
1814*f5c631daSSadaf Ebrahimi "al r14 r2 plus r12 ROR 26 PostIndex",
1815*f5c631daSSadaf Ebrahimi "PositivePostIndex_al_r14_r2_plus_r12_ROR_26_PostIndex",
1816*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositivePostIndex),
1817*f5c631daSSadaf Ebrahimi kPositivePostIndex},
1818*f5c631daSSadaf Ebrahimi {{al, r12, r4, plus, r0, ROR, 18, PostIndex},
1819*f5c631daSSadaf Ebrahimi "al r12 r4 plus r0 ROR 18 PostIndex",
1820*f5c631daSSadaf Ebrahimi "PositivePostIndex_al_r12_r4_plus_r0_ROR_18_PostIndex",
1821*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositivePostIndex),
1822*f5c631daSSadaf Ebrahimi kPositivePostIndex},
1823*f5c631daSSadaf Ebrahimi {{al, r4, r8, plus, r14, LSL, 15, PostIndex},
1824*f5c631daSSadaf Ebrahimi "al r4 r8 plus r14 LSL 15 PostIndex",
1825*f5c631daSSadaf Ebrahimi "PositivePostIndex_al_r4_r8_plus_r14_LSL_15_PostIndex",
1826*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositivePostIndex),
1827*f5c631daSSadaf Ebrahimi kPositivePostIndex},
1828*f5c631daSSadaf Ebrahimi {{al, r6, r7, plus, r2, ROR, 25, PostIndex},
1829*f5c631daSSadaf Ebrahimi "al r6 r7 plus r2 ROR 25 PostIndex",
1830*f5c631daSSadaf Ebrahimi "PositivePostIndex_al_r6_r7_plus_r2_ROR_25_PostIndex",
1831*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositivePostIndex),
1832*f5c631daSSadaf Ebrahimi kPositivePostIndex},
1833*f5c631daSSadaf Ebrahimi {{al, r11, r4, minus, r2, ROR, 11, PostIndex},
1834*f5c631daSSadaf Ebrahimi "al r11 r4 minus r2 ROR 11 PostIndex",
1835*f5c631daSSadaf Ebrahimi "NegativePostIndex_al_r11_r4_minus_r2_ROR_11_PostIndex",
1836*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativePostIndex),
1837*f5c631daSSadaf Ebrahimi kNegativePostIndex},
1838*f5c631daSSadaf Ebrahimi {{al, r5, r11, minus, r12, ROR, 8, PostIndex},
1839*f5c631daSSadaf Ebrahimi "al r5 r11 minus r12 ROR 8 PostIndex",
1840*f5c631daSSadaf Ebrahimi "NegativePostIndex_al_r5_r11_minus_r12_ROR_8_PostIndex",
1841*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativePostIndex),
1842*f5c631daSSadaf Ebrahimi kNegativePostIndex},
1843*f5c631daSSadaf Ebrahimi {{al, r4, r6, minus, r0, ROR, 26, PostIndex},
1844*f5c631daSSadaf Ebrahimi "al r4 r6 minus r0 ROR 26 PostIndex",
1845*f5c631daSSadaf Ebrahimi "NegativePostIndex_al_r4_r6_minus_r0_ROR_26_PostIndex",
1846*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativePostIndex),
1847*f5c631daSSadaf Ebrahimi kNegativePostIndex},
1848*f5c631daSSadaf Ebrahimi {{al, r11, r8, minus, r0, LSL, 12, PostIndex},
1849*f5c631daSSadaf Ebrahimi "al r11 r8 minus r0 LSL 12 PostIndex",
1850*f5c631daSSadaf Ebrahimi "NegativePostIndex_al_r11_r8_minus_r0_LSL_12_PostIndex",
1851*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativePostIndex),
1852*f5c631daSSadaf Ebrahimi kNegativePostIndex},
1853*f5c631daSSadaf Ebrahimi {{al, r2, r7, minus, r3, ROR, 10, PostIndex},
1854*f5c631daSSadaf Ebrahimi "al r2 r7 minus r3 ROR 10 PostIndex",
1855*f5c631daSSadaf Ebrahimi "NegativePostIndex_al_r2_r7_minus_r3_ROR_10_PostIndex",
1856*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativePostIndex),
1857*f5c631daSSadaf Ebrahimi kNegativePostIndex},
1858*f5c631daSSadaf Ebrahimi {{al, r2, r14, minus, r8, LSL, 19, PostIndex},
1859*f5c631daSSadaf Ebrahimi "al r2 r14 minus r8 LSL 19 PostIndex",
1860*f5c631daSSadaf Ebrahimi "NegativePostIndex_al_r2_r14_minus_r8_LSL_19_PostIndex",
1861*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativePostIndex),
1862*f5c631daSSadaf Ebrahimi kNegativePostIndex},
1863*f5c631daSSadaf Ebrahimi {{al, r9, r3, minus, r6, ROR, 23, PostIndex},
1864*f5c631daSSadaf Ebrahimi "al r9 r3 minus r6 ROR 23 PostIndex",
1865*f5c631daSSadaf Ebrahimi "NegativePostIndex_al_r9_r3_minus_r6_ROR_23_PostIndex",
1866*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativePostIndex),
1867*f5c631daSSadaf Ebrahimi kNegativePostIndex},
1868*f5c631daSSadaf Ebrahimi {{al, r6, r5, minus, r14, LSL, 18, PostIndex},
1869*f5c631daSSadaf Ebrahimi "al r6 r5 minus r14 LSL 18 PostIndex",
1870*f5c631daSSadaf Ebrahimi "NegativePostIndex_al_r6_r5_minus_r14_LSL_18_PostIndex",
1871*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativePostIndex),
1872*f5c631daSSadaf Ebrahimi kNegativePostIndex},
1873*f5c631daSSadaf Ebrahimi {{al, r12, r0, minus, r9, ROR, 13, PostIndex},
1874*f5c631daSSadaf Ebrahimi "al r12 r0 minus r9 ROR 13 PostIndex",
1875*f5c631daSSadaf Ebrahimi "NegativePostIndex_al_r12_r0_minus_r9_ROR_13_PostIndex",
1876*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativePostIndex),
1877*f5c631daSSadaf Ebrahimi kNegativePostIndex},
1878*f5c631daSSadaf Ebrahimi {{al, r3, r12, minus, r6, LSL, 30, PostIndex},
1879*f5c631daSSadaf Ebrahimi "al r3 r12 minus r6 LSL 30 PostIndex",
1880*f5c631daSSadaf Ebrahimi "NegativePostIndex_al_r3_r12_minus_r6_LSL_30_PostIndex",
1881*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativePostIndex),
1882*f5c631daSSadaf Ebrahimi kNegativePostIndex},
1883*f5c631daSSadaf Ebrahimi {{al, r5, r9, minus, r3, LSL, 21, PostIndex},
1884*f5c631daSSadaf Ebrahimi "al r5 r9 minus r3 LSL 21 PostIndex",
1885*f5c631daSSadaf Ebrahimi "NegativePostIndex_al_r5_r9_minus_r3_LSL_21_PostIndex",
1886*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativePostIndex),
1887*f5c631daSSadaf Ebrahimi kNegativePostIndex},
1888*f5c631daSSadaf Ebrahimi {{al, r8, r5, minus, r4, LSL, 28, PostIndex},
1889*f5c631daSSadaf Ebrahimi "al r8 r5 minus r4 LSL 28 PostIndex",
1890*f5c631daSSadaf Ebrahimi "NegativePostIndex_al_r8_r5_minus_r4_LSL_28_PostIndex",
1891*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativePostIndex),
1892*f5c631daSSadaf Ebrahimi kNegativePostIndex},
1893*f5c631daSSadaf Ebrahimi {{al, r1, r6, minus, r2, ROR, 9, PostIndex},
1894*f5c631daSSadaf Ebrahimi "al r1 r6 minus r2 ROR 9 PostIndex",
1895*f5c631daSSadaf Ebrahimi "NegativePostIndex_al_r1_r6_minus_r2_ROR_9_PostIndex",
1896*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativePostIndex),
1897*f5c631daSSadaf Ebrahimi kNegativePostIndex},
1898*f5c631daSSadaf Ebrahimi {{al, r14, r6, minus, r2, ROR, 24, PostIndex},
1899*f5c631daSSadaf Ebrahimi "al r14 r6 minus r2 ROR 24 PostIndex",
1900*f5c631daSSadaf Ebrahimi "NegativePostIndex_al_r14_r6_minus_r2_ROR_24_PostIndex",
1901*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativePostIndex),
1902*f5c631daSSadaf Ebrahimi kNegativePostIndex},
1903*f5c631daSSadaf Ebrahimi {{al, r5, r12, minus, r11, ROR, 14, PostIndex},
1904*f5c631daSSadaf Ebrahimi "al r5 r12 minus r11 ROR 14 PostIndex",
1905*f5c631daSSadaf Ebrahimi "NegativePostIndex_al_r5_r12_minus_r11_ROR_14_PostIndex",
1906*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativePostIndex),
1907*f5c631daSSadaf Ebrahimi kNegativePostIndex},
1908*f5c631daSSadaf Ebrahimi {{al, r0, r6, minus, r5, ROR, 20, PostIndex},
1909*f5c631daSSadaf Ebrahimi "al r0 r6 minus r5 ROR 20 PostIndex",
1910*f5c631daSSadaf Ebrahimi "NegativePostIndex_al_r0_r6_minus_r5_ROR_20_PostIndex",
1911*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativePostIndex),
1912*f5c631daSSadaf Ebrahimi kNegativePostIndex},
1913*f5c631daSSadaf Ebrahimi {{al, r8, r3, minus, r7, ROR, 12, PostIndex},
1914*f5c631daSSadaf Ebrahimi "al r8 r3 minus r7 ROR 12 PostIndex",
1915*f5c631daSSadaf Ebrahimi "NegativePostIndex_al_r8_r3_minus_r7_ROR_12_PostIndex",
1916*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativePostIndex),
1917*f5c631daSSadaf Ebrahimi kNegativePostIndex},
1918*f5c631daSSadaf Ebrahimi {{al, r6, r3, minus, r4, ROR, 16, PostIndex},
1919*f5c631daSSadaf Ebrahimi "al r6 r3 minus r4 ROR 16 PostIndex",
1920*f5c631daSSadaf Ebrahimi "NegativePostIndex_al_r6_r3_minus_r4_ROR_16_PostIndex",
1921*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativePostIndex),
1922*f5c631daSSadaf Ebrahimi kNegativePostIndex},
1923*f5c631daSSadaf Ebrahimi {{al, r6, r10, minus, r5, ROR, 28, PostIndex},
1924*f5c631daSSadaf Ebrahimi "al r6 r10 minus r5 ROR 28 PostIndex",
1925*f5c631daSSadaf Ebrahimi "NegativePostIndex_al_r6_r10_minus_r5_ROR_28_PostIndex",
1926*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativePostIndex),
1927*f5c631daSSadaf Ebrahimi kNegativePostIndex},
1928*f5c631daSSadaf Ebrahimi {{al, r0, r4, minus, r6, LSL, 25, PostIndex},
1929*f5c631daSSadaf Ebrahimi "al r0 r4 minus r6 LSL 25 PostIndex",
1930*f5c631daSSadaf Ebrahimi "NegativePostIndex_al_r0_r4_minus_r6_LSL_25_PostIndex",
1931*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativePostIndex),
1932*f5c631daSSadaf Ebrahimi kNegativePostIndex},
1933*f5c631daSSadaf Ebrahimi {{al, r12, r1, minus, r9, ROR, 27, PostIndex},
1934*f5c631daSSadaf Ebrahimi "al r12 r1 minus r9 ROR 27 PostIndex",
1935*f5c631daSSadaf Ebrahimi "NegativePostIndex_al_r12_r1_minus_r9_ROR_27_PostIndex",
1936*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativePostIndex),
1937*f5c631daSSadaf Ebrahimi kNegativePostIndex},
1938*f5c631daSSadaf Ebrahimi {{al, r12, r3, minus, r14, LSL, 30, PostIndex},
1939*f5c631daSSadaf Ebrahimi "al r12 r3 minus r14 LSL 30 PostIndex",
1940*f5c631daSSadaf Ebrahimi "NegativePostIndex_al_r12_r3_minus_r14_LSL_30_PostIndex",
1941*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativePostIndex),
1942*f5c631daSSadaf Ebrahimi kNegativePostIndex},
1943*f5c631daSSadaf Ebrahimi {{al, r4, r0, minus, r2, LSL, 9, PostIndex},
1944*f5c631daSSadaf Ebrahimi "al r4 r0 minus r2 LSL 9 PostIndex",
1945*f5c631daSSadaf Ebrahimi "NegativePostIndex_al_r4_r0_minus_r2_LSL_9_PostIndex",
1946*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativePostIndex),
1947*f5c631daSSadaf Ebrahimi kNegativePostIndex},
1948*f5c631daSSadaf Ebrahimi {{al, r12, r0, minus, r2, LSL, 20, PostIndex},
1949*f5c631daSSadaf Ebrahimi "al r12 r0 minus r2 LSL 20 PostIndex",
1950*f5c631daSSadaf Ebrahimi "NegativePostIndex_al_r12_r0_minus_r2_LSL_20_PostIndex",
1951*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativePostIndex),
1952*f5c631daSSadaf Ebrahimi kNegativePostIndex},
1953*f5c631daSSadaf Ebrahimi {{al, r7, r3, minus, r5, ROR, 17, PostIndex},
1954*f5c631daSSadaf Ebrahimi "al r7 r3 minus r5 ROR 17 PostIndex",
1955*f5c631daSSadaf Ebrahimi "NegativePostIndex_al_r7_r3_minus_r5_ROR_17_PostIndex",
1956*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativePostIndex),
1957*f5c631daSSadaf Ebrahimi kNegativePostIndex},
1958*f5c631daSSadaf Ebrahimi {{al, r11, r14, minus, r12, LSL, 13, PostIndex},
1959*f5c631daSSadaf Ebrahimi "al r11 r14 minus r12 LSL 13 PostIndex",
1960*f5c631daSSadaf Ebrahimi "NegativePostIndex_al_r11_r14_minus_r12_LSL_13_PostIndex",
1961*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativePostIndex),
1962*f5c631daSSadaf Ebrahimi kNegativePostIndex},
1963*f5c631daSSadaf Ebrahimi {{al, r1, r8, minus, r10, LSL, 6, PostIndex},
1964*f5c631daSSadaf Ebrahimi "al r1 r8 minus r10 LSL 6 PostIndex",
1965*f5c631daSSadaf Ebrahimi "NegativePostIndex_al_r1_r8_minus_r10_LSL_6_PostIndex",
1966*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativePostIndex),
1967*f5c631daSSadaf Ebrahimi kNegativePostIndex},
1968*f5c631daSSadaf Ebrahimi {{al, r3, r5, minus, r0, ROR, 20, PostIndex},
1969*f5c631daSSadaf Ebrahimi "al r3 r5 minus r0 ROR 20 PostIndex",
1970*f5c631daSSadaf Ebrahimi "NegativePostIndex_al_r3_r5_minus_r0_ROR_20_PostIndex",
1971*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativePostIndex),
1972*f5c631daSSadaf Ebrahimi kNegativePostIndex},
1973*f5c631daSSadaf Ebrahimi {{al, r0, r10, minus, r7, LSL, 5, PostIndex},
1974*f5c631daSSadaf Ebrahimi "al r0 r10 minus r7 LSL 5 PostIndex",
1975*f5c631daSSadaf Ebrahimi "NegativePostIndex_al_r0_r10_minus_r7_LSL_5_PostIndex",
1976*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativePostIndex),
1977*f5c631daSSadaf Ebrahimi kNegativePostIndex},
1978*f5c631daSSadaf Ebrahimi {{al, r11, r4, minus, r3, LSL, 21, PostIndex},
1979*f5c631daSSadaf Ebrahimi "al r11 r4 minus r3 LSL 21 PostIndex",
1980*f5c631daSSadaf Ebrahimi "NegativePostIndex_al_r11_r4_minus_r3_LSL_21_PostIndex",
1981*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativePostIndex),
1982*f5c631daSSadaf Ebrahimi kNegativePostIndex},
1983*f5c631daSSadaf Ebrahimi {{al, r5, r0, minus, r4, ROR, 2, PostIndex},
1984*f5c631daSSadaf Ebrahimi "al r5 r0 minus r4 ROR 2 PostIndex",
1985*f5c631daSSadaf Ebrahimi "NegativePostIndex_al_r5_r0_minus_r4_ROR_2_PostIndex",
1986*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativePostIndex),
1987*f5c631daSSadaf Ebrahimi kNegativePostIndex},
1988*f5c631daSSadaf Ebrahimi {{al, r2, r5, minus, r7, LSL, 4, PostIndex},
1989*f5c631daSSadaf Ebrahimi "al r2 r5 minus r7 LSL 4 PostIndex",
1990*f5c631daSSadaf Ebrahimi "NegativePostIndex_al_r2_r5_minus_r7_LSL_4_PostIndex",
1991*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativePostIndex),
1992*f5c631daSSadaf Ebrahimi kNegativePostIndex},
1993*f5c631daSSadaf Ebrahimi {{al, r4, r8, minus, r2, LSL, 12, PostIndex},
1994*f5c631daSSadaf Ebrahimi "al r4 r8 minus r2 LSL 12 PostIndex",
1995*f5c631daSSadaf Ebrahimi "NegativePostIndex_al_r4_r8_minus_r2_LSL_12_PostIndex",
1996*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativePostIndex),
1997*f5c631daSSadaf Ebrahimi kNegativePostIndex},
1998*f5c631daSSadaf Ebrahimi {{al, r4, r2, minus, r10, LSL, 12, PostIndex},
1999*f5c631daSSadaf Ebrahimi "al r4 r2 minus r10 LSL 12 PostIndex",
2000*f5c631daSSadaf Ebrahimi "NegativePostIndex_al_r4_r2_minus_r10_LSL_12_PostIndex",
2001*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativePostIndex),
2002*f5c631daSSadaf Ebrahimi kNegativePostIndex},
2003*f5c631daSSadaf Ebrahimi {{al, r2, r1, minus, r4, LSL, 8, PostIndex},
2004*f5c631daSSadaf Ebrahimi "al r2 r1 minus r4 LSL 8 PostIndex",
2005*f5c631daSSadaf Ebrahimi "NegativePostIndex_al_r2_r1_minus_r4_LSL_8_PostIndex",
2006*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativePostIndex),
2007*f5c631daSSadaf Ebrahimi kNegativePostIndex},
2008*f5c631daSSadaf Ebrahimi {{al, r1, r12, minus, r5, LSL, 18, PostIndex},
2009*f5c631daSSadaf Ebrahimi "al r1 r12 minus r5 LSL 18 PostIndex",
2010*f5c631daSSadaf Ebrahimi "NegativePostIndex_al_r1_r12_minus_r5_LSL_18_PostIndex",
2011*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativePostIndex),
2012*f5c631daSSadaf Ebrahimi kNegativePostIndex},
2013*f5c631daSSadaf Ebrahimi {{al, r5, r12, minus, r3, LSL, 30, PostIndex},
2014*f5c631daSSadaf Ebrahimi "al r5 r12 minus r3 LSL 30 PostIndex",
2015*f5c631daSSadaf Ebrahimi "NegativePostIndex_al_r5_r12_minus_r3_LSL_30_PostIndex",
2016*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativePostIndex),
2017*f5c631daSSadaf Ebrahimi kNegativePostIndex},
2018*f5c631daSSadaf Ebrahimi {{al, r1, r8, minus, r12, LSL, 27, PostIndex},
2019*f5c631daSSadaf Ebrahimi "al r1 r8 minus r12 LSL 27 PostIndex",
2020*f5c631daSSadaf Ebrahimi "NegativePostIndex_al_r1_r8_minus_r12_LSL_27_PostIndex",
2021*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativePostIndex),
2022*f5c631daSSadaf Ebrahimi kNegativePostIndex},
2023*f5c631daSSadaf Ebrahimi {{al, r12, r8, minus, r5, LSL, 17, PostIndex},
2024*f5c631daSSadaf Ebrahimi "al r12 r8 minus r5 LSL 17 PostIndex",
2025*f5c631daSSadaf Ebrahimi "NegativePostIndex_al_r12_r8_minus_r5_LSL_17_PostIndex",
2026*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativePostIndex),
2027*f5c631daSSadaf Ebrahimi kNegativePostIndex},
2028*f5c631daSSadaf Ebrahimi {{al, r10, r8, minus, r9, LSL, 22, PostIndex},
2029*f5c631daSSadaf Ebrahimi "al r10 r8 minus r9 LSL 22 PostIndex",
2030*f5c631daSSadaf Ebrahimi "NegativePostIndex_al_r10_r8_minus_r9_LSL_22_PostIndex",
2031*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativePostIndex),
2032*f5c631daSSadaf Ebrahimi kNegativePostIndex},
2033*f5c631daSSadaf Ebrahimi {{al, r4, r1, minus, r2, LSL, 5, PostIndex},
2034*f5c631daSSadaf Ebrahimi "al r4 r1 minus r2 LSL 5 PostIndex",
2035*f5c631daSSadaf Ebrahimi "NegativePostIndex_al_r4_r1_minus_r2_LSL_5_PostIndex",
2036*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativePostIndex),
2037*f5c631daSSadaf Ebrahimi kNegativePostIndex},
2038*f5c631daSSadaf Ebrahimi {{al, r6, r1, minus, r9, LSL, 21, PostIndex},
2039*f5c631daSSadaf Ebrahimi "al r6 r1 minus r9 LSL 21 PostIndex",
2040*f5c631daSSadaf Ebrahimi "NegativePostIndex_al_r6_r1_minus_r9_LSL_21_PostIndex",
2041*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativePostIndex),
2042*f5c631daSSadaf Ebrahimi kNegativePostIndex},
2043*f5c631daSSadaf Ebrahimi {{al, r3, r1, minus, r12, LSL, 29, PostIndex},
2044*f5c631daSSadaf Ebrahimi "al r3 r1 minus r12 LSL 29 PostIndex",
2045*f5c631daSSadaf Ebrahimi "NegativePostIndex_al_r3_r1_minus_r12_LSL_29_PostIndex",
2046*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativePostIndex),
2047*f5c631daSSadaf Ebrahimi kNegativePostIndex},
2048*f5c631daSSadaf Ebrahimi {{al, r0, r4, minus, r9, ROR, 19, PostIndex},
2049*f5c631daSSadaf Ebrahimi "al r0 r4 minus r9 ROR 19 PostIndex",
2050*f5c631daSSadaf Ebrahimi "NegativePostIndex_al_r0_r4_minus_r9_ROR_19_PostIndex",
2051*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativePostIndex),
2052*f5c631daSSadaf Ebrahimi kNegativePostIndex},
2053*f5c631daSSadaf Ebrahimi {{al, r7, r14, minus, r1, ROR, 11, PostIndex},
2054*f5c631daSSadaf Ebrahimi "al r7 r14 minus r1 ROR 11 PostIndex",
2055*f5c631daSSadaf Ebrahimi "NegativePostIndex_al_r7_r14_minus_r1_ROR_11_PostIndex",
2056*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativePostIndex),
2057*f5c631daSSadaf Ebrahimi kNegativePostIndex},
2058*f5c631daSSadaf Ebrahimi {{al, r4, r10, minus, r12, ROR, 1, PostIndex},
2059*f5c631daSSadaf Ebrahimi "al r4 r10 minus r12 ROR 1 PostIndex",
2060*f5c631daSSadaf Ebrahimi "NegativePostIndex_al_r4_r10_minus_r12_ROR_1_PostIndex",
2061*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativePostIndex),
2062*f5c631daSSadaf Ebrahimi kNegativePostIndex},
2063*f5c631daSSadaf Ebrahimi {{al, r0, r11, minus, r5, LSL, 25, PostIndex},
2064*f5c631daSSadaf Ebrahimi "al r0 r11 minus r5 LSL 25 PostIndex",
2065*f5c631daSSadaf Ebrahimi "NegativePostIndex_al_r0_r11_minus_r5_LSL_25_PostIndex",
2066*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativePostIndex),
2067*f5c631daSSadaf Ebrahimi kNegativePostIndex},
2068*f5c631daSSadaf Ebrahimi {{al, r6, r4, minus, r9, ROR, 5, PostIndex},
2069*f5c631daSSadaf Ebrahimi "al r6 r4 minus r9 ROR 5 PostIndex",
2070*f5c631daSSadaf Ebrahimi "NegativePostIndex_al_r6_r4_minus_r9_ROR_5_PostIndex",
2071*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativePostIndex),
2072*f5c631daSSadaf Ebrahimi kNegativePostIndex},
2073*f5c631daSSadaf Ebrahimi {{al, r9, r6, minus, r4, ROR, 11, PostIndex},
2074*f5c631daSSadaf Ebrahimi "al r9 r6 minus r4 ROR 11 PostIndex",
2075*f5c631daSSadaf Ebrahimi "NegativePostIndex_al_r9_r6_minus_r4_ROR_11_PostIndex",
2076*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativePostIndex),
2077*f5c631daSSadaf Ebrahimi kNegativePostIndex},
2078*f5c631daSSadaf Ebrahimi {{al, r6, r12, minus, r4, LSL, 25, PostIndex},
2079*f5c631daSSadaf Ebrahimi "al r6 r12 minus r4 LSL 25 PostIndex",
2080*f5c631daSSadaf Ebrahimi "NegativePostIndex_al_r6_r12_minus_r4_LSL_25_PostIndex",
2081*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativePostIndex),
2082*f5c631daSSadaf Ebrahimi kNegativePostIndex},
2083*f5c631daSSadaf Ebrahimi {{al, r7, r12, minus, r0, ROR, 27, PostIndex},
2084*f5c631daSSadaf Ebrahimi "al r7 r12 minus r0 ROR 27 PostIndex",
2085*f5c631daSSadaf Ebrahimi "NegativePostIndex_al_r7_r12_minus_r0_ROR_27_PostIndex",
2086*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativePostIndex),
2087*f5c631daSSadaf Ebrahimi kNegativePostIndex},
2088*f5c631daSSadaf Ebrahimi {{al, r4, r14, minus, r11, LSL, 24, PostIndex},
2089*f5c631daSSadaf Ebrahimi "al r4 r14 minus r11 LSL 24 PostIndex",
2090*f5c631daSSadaf Ebrahimi "NegativePostIndex_al_r4_r14_minus_r11_LSL_24_PostIndex",
2091*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativePostIndex),
2092*f5c631daSSadaf Ebrahimi kNegativePostIndex},
2093*f5c631daSSadaf Ebrahimi {{al, r7, r8, minus, r12, ROR, 4, PostIndex},
2094*f5c631daSSadaf Ebrahimi "al r7 r8 minus r12 ROR 4 PostIndex",
2095*f5c631daSSadaf Ebrahimi "NegativePostIndex_al_r7_r8_minus_r12_ROR_4_PostIndex",
2096*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativePostIndex),
2097*f5c631daSSadaf Ebrahimi kNegativePostIndex},
2098*f5c631daSSadaf Ebrahimi {{al, r2, r10, minus, r6, ROR, 1, PostIndex},
2099*f5c631daSSadaf Ebrahimi "al r2 r10 minus r6 ROR 1 PostIndex",
2100*f5c631daSSadaf Ebrahimi "NegativePostIndex_al_r2_r10_minus_r6_ROR_1_PostIndex",
2101*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativePostIndex),
2102*f5c631daSSadaf Ebrahimi kNegativePostIndex},
2103*f5c631daSSadaf Ebrahimi {{al, r14, r8, minus, r7, LSL, 4, PostIndex},
2104*f5c631daSSadaf Ebrahimi "al r14 r8 minus r7 LSL 4 PostIndex",
2105*f5c631daSSadaf Ebrahimi "NegativePostIndex_al_r14_r8_minus_r7_LSL_4_PostIndex",
2106*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativePostIndex),
2107*f5c631daSSadaf Ebrahimi kNegativePostIndex},
2108*f5c631daSSadaf Ebrahimi {{al, r12, r6, minus, r14, ROR, 8, PostIndex},
2109*f5c631daSSadaf Ebrahimi "al r12 r6 minus r14 ROR 8 PostIndex",
2110*f5c631daSSadaf Ebrahimi "NegativePostIndex_al_r12_r6_minus_r14_ROR_8_PostIndex",
2111*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativePostIndex),
2112*f5c631daSSadaf Ebrahimi kNegativePostIndex},
2113*f5c631daSSadaf Ebrahimi {{al, r7, r8, minus, r5, ROR, 27, PostIndex},
2114*f5c631daSSadaf Ebrahimi "al r7 r8 minus r5 ROR 27 PostIndex",
2115*f5c631daSSadaf Ebrahimi "NegativePostIndex_al_r7_r8_minus_r5_ROR_27_PostIndex",
2116*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativePostIndex),
2117*f5c631daSSadaf Ebrahimi kNegativePostIndex},
2118*f5c631daSSadaf Ebrahimi {{al, r3, r2, minus, r10, LSL, 8, PostIndex},
2119*f5c631daSSadaf Ebrahimi "al r3 r2 minus r10 LSL 8 PostIndex",
2120*f5c631daSSadaf Ebrahimi "NegativePostIndex_al_r3_r2_minus_r10_LSL_8_PostIndex",
2121*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativePostIndex),
2122*f5c631daSSadaf Ebrahimi kNegativePostIndex},
2123*f5c631daSSadaf Ebrahimi {{al, r4, r9, minus, r3, ROR, 11, PostIndex},
2124*f5c631daSSadaf Ebrahimi "al r4 r9 minus r3 ROR 11 PostIndex",
2125*f5c631daSSadaf Ebrahimi "NegativePostIndex_al_r4_r9_minus_r3_ROR_11_PostIndex",
2126*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativePostIndex),
2127*f5c631daSSadaf Ebrahimi kNegativePostIndex},
2128*f5c631daSSadaf Ebrahimi {{al, r11, r1, minus, r4, LSL, 9, PostIndex},
2129*f5c631daSSadaf Ebrahimi "al r11 r1 minus r4 LSL 9 PostIndex",
2130*f5c631daSSadaf Ebrahimi "NegativePostIndex_al_r11_r1_minus_r4_LSL_9_PostIndex",
2131*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativePostIndex),
2132*f5c631daSSadaf Ebrahimi kNegativePostIndex},
2133*f5c631daSSadaf Ebrahimi {{al, r8, r5, minus, r7, ROR, 17, PostIndex},
2134*f5c631daSSadaf Ebrahimi "al r8 r5 minus r7 ROR 17 PostIndex",
2135*f5c631daSSadaf Ebrahimi "NegativePostIndex_al_r8_r5_minus_r7_ROR_17_PostIndex",
2136*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativePostIndex),
2137*f5c631daSSadaf Ebrahimi kNegativePostIndex},
2138*f5c631daSSadaf Ebrahimi {{al, r6, r5, minus, r8, LSL, 18, PostIndex},
2139*f5c631daSSadaf Ebrahimi "al r6 r5 minus r8 LSL 18 PostIndex",
2140*f5c631daSSadaf Ebrahimi "NegativePostIndex_al_r6_r5_minus_r8_LSL_18_PostIndex",
2141*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativePostIndex),
2142*f5c631daSSadaf Ebrahimi kNegativePostIndex},
2143*f5c631daSSadaf Ebrahimi {{al, r4, r7, minus, r6, LSL, 16, PostIndex},
2144*f5c631daSSadaf Ebrahimi "al r4 r7 minus r6 LSL 16 PostIndex",
2145*f5c631daSSadaf Ebrahimi "NegativePostIndex_al_r4_r7_minus_r6_LSL_16_PostIndex",
2146*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativePostIndex),
2147*f5c631daSSadaf Ebrahimi kNegativePostIndex},
2148*f5c631daSSadaf Ebrahimi {{al, r8, r12, minus, r10, LSL, 29, PostIndex},
2149*f5c631daSSadaf Ebrahimi "al r8 r12 minus r10 LSL 29 PostIndex",
2150*f5c631daSSadaf Ebrahimi "NegativePostIndex_al_r8_r12_minus_r10_LSL_29_PostIndex",
2151*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativePostIndex),
2152*f5c631daSSadaf Ebrahimi kNegativePostIndex},
2153*f5c631daSSadaf Ebrahimi {{al, r14, r7, minus, r2, ROR, 18, PostIndex},
2154*f5c631daSSadaf Ebrahimi "al r14 r7 minus r2 ROR 18 PostIndex",
2155*f5c631daSSadaf Ebrahimi "NegativePostIndex_al_r14_r7_minus_r2_ROR_18_PostIndex",
2156*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativePostIndex),
2157*f5c631daSSadaf Ebrahimi kNegativePostIndex},
2158*f5c631daSSadaf Ebrahimi {{al, r14, r3, minus, r9, ROR, 8, PostIndex},
2159*f5c631daSSadaf Ebrahimi "al r14 r3 minus r9 ROR 8 PostIndex",
2160*f5c631daSSadaf Ebrahimi "NegativePostIndex_al_r14_r3_minus_r9_ROR_8_PostIndex",
2161*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativePostIndex),
2162*f5c631daSSadaf Ebrahimi kNegativePostIndex},
2163*f5c631daSSadaf Ebrahimi {{al, r1, r14, minus, r9, LSL, 5, PostIndex},
2164*f5c631daSSadaf Ebrahimi "al r1 r14 minus r9 LSL 5 PostIndex",
2165*f5c631daSSadaf Ebrahimi "NegativePostIndex_al_r1_r14_minus_r9_LSL_5_PostIndex",
2166*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativePostIndex),
2167*f5c631daSSadaf Ebrahimi kNegativePostIndex},
2168*f5c631daSSadaf Ebrahimi {{al, r3, r2, minus, r10, LSL, 23, PostIndex},
2169*f5c631daSSadaf Ebrahimi "al r3 r2 minus r10 LSL 23 PostIndex",
2170*f5c631daSSadaf Ebrahimi "NegativePostIndex_al_r3_r2_minus_r10_LSL_23_PostIndex",
2171*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativePostIndex),
2172*f5c631daSSadaf Ebrahimi kNegativePostIndex},
2173*f5c631daSSadaf Ebrahimi {{al, r7, r3, minus, r5, ROR, 27, PostIndex},
2174*f5c631daSSadaf Ebrahimi "al r7 r3 minus r5 ROR 27 PostIndex",
2175*f5c631daSSadaf Ebrahimi "NegativePostIndex_al_r7_r3_minus_r5_ROR_27_PostIndex",
2176*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativePostIndex),
2177*f5c631daSSadaf Ebrahimi kNegativePostIndex},
2178*f5c631daSSadaf Ebrahimi {{al, r11, r14, minus, r6, ROR, 3, PostIndex},
2179*f5c631daSSadaf Ebrahimi "al r11 r14 minus r6 ROR 3 PostIndex",
2180*f5c631daSSadaf Ebrahimi "NegativePostIndex_al_r11_r14_minus_r6_ROR_3_PostIndex",
2181*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativePostIndex),
2182*f5c631daSSadaf Ebrahimi kNegativePostIndex},
2183*f5c631daSSadaf Ebrahimi {{al, r11, r2, minus, r14, LSL, 19, PostIndex},
2184*f5c631daSSadaf Ebrahimi "al r11 r2 minus r14 LSL 19 PostIndex",
2185*f5c631daSSadaf Ebrahimi "NegativePostIndex_al_r11_r2_minus_r14_LSL_19_PostIndex",
2186*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativePostIndex),
2187*f5c631daSSadaf Ebrahimi kNegativePostIndex},
2188*f5c631daSSadaf Ebrahimi {{al, r11, r1, minus, r10, LSL, 25, PostIndex},
2189*f5c631daSSadaf Ebrahimi "al r11 r1 minus r10 LSL 25 PostIndex",
2190*f5c631daSSadaf Ebrahimi "NegativePostIndex_al_r11_r1_minus_r10_LSL_25_PostIndex",
2191*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativePostIndex),
2192*f5c631daSSadaf Ebrahimi kNegativePostIndex},
2193*f5c631daSSadaf Ebrahimi {{al, r14, r7, minus, r4, ROR, 15, PostIndex},
2194*f5c631daSSadaf Ebrahimi "al r14 r7 minus r4 ROR 15 PostIndex",
2195*f5c631daSSadaf Ebrahimi "NegativePostIndex_al_r14_r7_minus_r4_ROR_15_PostIndex",
2196*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativePostIndex),
2197*f5c631daSSadaf Ebrahimi kNegativePostIndex},
2198*f5c631daSSadaf Ebrahimi {{al, r12, r14, minus, r7, ROR, 24, PostIndex},
2199*f5c631daSSadaf Ebrahimi "al r12 r14 minus r7 ROR 24 PostIndex",
2200*f5c631daSSadaf Ebrahimi "NegativePostIndex_al_r12_r14_minus_r7_ROR_24_PostIndex",
2201*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativePostIndex),
2202*f5c631daSSadaf Ebrahimi kNegativePostIndex},
2203*f5c631daSSadaf Ebrahimi {{al, r6, r10, minus, r5, ROR, 8, PostIndex},
2204*f5c631daSSadaf Ebrahimi "al r6 r10 minus r5 ROR 8 PostIndex",
2205*f5c631daSSadaf Ebrahimi "NegativePostIndex_al_r6_r10_minus_r5_ROR_8_PostIndex",
2206*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativePostIndex),
2207*f5c631daSSadaf Ebrahimi kNegativePostIndex},
2208*f5c631daSSadaf Ebrahimi {{al, r1, r5, minus, r9, ROR, 3, PostIndex},
2209*f5c631daSSadaf Ebrahimi "al r1 r5 minus r9 ROR 3 PostIndex",
2210*f5c631daSSadaf Ebrahimi "NegativePostIndex_al_r1_r5_minus_r9_ROR_3_PostIndex",
2211*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativePostIndex),
2212*f5c631daSSadaf Ebrahimi kNegativePostIndex},
2213*f5c631daSSadaf Ebrahimi {{al, r2, r9, minus, r1, LSL, 28, PostIndex},
2214*f5c631daSSadaf Ebrahimi "al r2 r9 minus r1 LSL 28 PostIndex",
2215*f5c631daSSadaf Ebrahimi "NegativePostIndex_al_r2_r9_minus_r1_LSL_28_PostIndex",
2216*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativePostIndex),
2217*f5c631daSSadaf Ebrahimi kNegativePostIndex},
2218*f5c631daSSadaf Ebrahimi {{al, r9, r4, minus, r0, LSL, 16, PostIndex},
2219*f5c631daSSadaf Ebrahimi "al r9 r4 minus r0 LSL 16 PostIndex",
2220*f5c631daSSadaf Ebrahimi "NegativePostIndex_al_r9_r4_minus_r0_LSL_16_PostIndex",
2221*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativePostIndex),
2222*f5c631daSSadaf Ebrahimi kNegativePostIndex},
2223*f5c631daSSadaf Ebrahimi {{al, r5, r3, minus, r4, ROR, 21, PostIndex},
2224*f5c631daSSadaf Ebrahimi "al r5 r3 minus r4 ROR 21 PostIndex",
2225*f5c631daSSadaf Ebrahimi "NegativePostIndex_al_r5_r3_minus_r4_ROR_21_PostIndex",
2226*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativePostIndex),
2227*f5c631daSSadaf Ebrahimi kNegativePostIndex},
2228*f5c631daSSadaf Ebrahimi {{al, r4, r0, minus, r11, LSL, 30, PostIndex},
2229*f5c631daSSadaf Ebrahimi "al r4 r0 minus r11 LSL 30 PostIndex",
2230*f5c631daSSadaf Ebrahimi "NegativePostIndex_al_r4_r0_minus_r11_LSL_30_PostIndex",
2231*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativePostIndex),
2232*f5c631daSSadaf Ebrahimi kNegativePostIndex},
2233*f5c631daSSadaf Ebrahimi {{al, r4, r3, minus, r12, LSL, 1, PostIndex},
2234*f5c631daSSadaf Ebrahimi "al r4 r3 minus r12 LSL 1 PostIndex",
2235*f5c631daSSadaf Ebrahimi "NegativePostIndex_al_r4_r3_minus_r12_LSL_1_PostIndex",
2236*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativePostIndex),
2237*f5c631daSSadaf Ebrahimi kNegativePostIndex},
2238*f5c631daSSadaf Ebrahimi {{al, r12, r11, minus, r7, LSL, 6, PostIndex},
2239*f5c631daSSadaf Ebrahimi "al r12 r11 minus r7 LSL 6 PostIndex",
2240*f5c631daSSadaf Ebrahimi "NegativePostIndex_al_r12_r11_minus_r7_LSL_6_PostIndex",
2241*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativePostIndex),
2242*f5c631daSSadaf Ebrahimi kNegativePostIndex},
2243*f5c631daSSadaf Ebrahimi {{al, r10, r2, minus, r6, ROR, 3, PostIndex},
2244*f5c631daSSadaf Ebrahimi "al r10 r2 minus r6 ROR 3 PostIndex",
2245*f5c631daSSadaf Ebrahimi "NegativePostIndex_al_r10_r2_minus_r6_ROR_3_PostIndex",
2246*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativePostIndex),
2247*f5c631daSSadaf Ebrahimi kNegativePostIndex},
2248*f5c631daSSadaf Ebrahimi {{al, r5, r12, minus, r14, LSL, 25, PostIndex},
2249*f5c631daSSadaf Ebrahimi "al r5 r12 minus r14 LSL 25 PostIndex",
2250*f5c631daSSadaf Ebrahimi "NegativePostIndex_al_r5_r12_minus_r14_LSL_25_PostIndex",
2251*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativePostIndex),
2252*f5c631daSSadaf Ebrahimi kNegativePostIndex},
2253*f5c631daSSadaf Ebrahimi {{al, r3, r9, minus, r5, ROR, 20, PostIndex},
2254*f5c631daSSadaf Ebrahimi "al r3 r9 minus r5 ROR 20 PostIndex",
2255*f5c631daSSadaf Ebrahimi "NegativePostIndex_al_r3_r9_minus_r5_ROR_20_PostIndex",
2256*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativePostIndex),
2257*f5c631daSSadaf Ebrahimi kNegativePostIndex},
2258*f5c631daSSadaf Ebrahimi {{al, r8, r2, minus, r11, LSL, 20, PostIndex},
2259*f5c631daSSadaf Ebrahimi "al r8 r2 minus r11 LSL 20 PostIndex",
2260*f5c631daSSadaf Ebrahimi "NegativePostIndex_al_r8_r2_minus_r11_LSL_20_PostIndex",
2261*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativePostIndex),
2262*f5c631daSSadaf Ebrahimi kNegativePostIndex},
2263*f5c631daSSadaf Ebrahimi {{al, r7, r1, minus, r12, LSL, 22, PostIndex},
2264*f5c631daSSadaf Ebrahimi "al r7 r1 minus r12 LSL 22 PostIndex",
2265*f5c631daSSadaf Ebrahimi "NegativePostIndex_al_r7_r1_minus_r12_LSL_22_PostIndex",
2266*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativePostIndex),
2267*f5c631daSSadaf Ebrahimi kNegativePostIndex},
2268*f5c631daSSadaf Ebrahimi {{al, r7, r12, minus, r4, ROR, 21, PostIndex},
2269*f5c631daSSadaf Ebrahimi "al r7 r12 minus r4 ROR 21 PostIndex",
2270*f5c631daSSadaf Ebrahimi "NegativePostIndex_al_r7_r12_minus_r4_ROR_21_PostIndex",
2271*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativePostIndex),
2272*f5c631daSSadaf Ebrahimi kNegativePostIndex},
2273*f5c631daSSadaf Ebrahimi {{al, r8, r4, minus, r0, LSL, 25, PostIndex},
2274*f5c631daSSadaf Ebrahimi "al r8 r4 minus r0 LSL 25 PostIndex",
2275*f5c631daSSadaf Ebrahimi "NegativePostIndex_al_r8_r4_minus_r0_LSL_25_PostIndex",
2276*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativePostIndex),
2277*f5c631daSSadaf Ebrahimi kNegativePostIndex},
2278*f5c631daSSadaf Ebrahimi {{al, r2, r10, minus, r6, LSL, 1, PostIndex},
2279*f5c631daSSadaf Ebrahimi "al r2 r10 minus r6 LSL 1 PostIndex",
2280*f5c631daSSadaf Ebrahimi "NegativePostIndex_al_r2_r10_minus_r6_LSL_1_PostIndex",
2281*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativePostIndex),
2282*f5c631daSSadaf Ebrahimi kNegativePostIndex},
2283*f5c631daSSadaf Ebrahimi {{al, r11, r14, minus, r1, LSL, 9, PostIndex},
2284*f5c631daSSadaf Ebrahimi "al r11 r14 minus r1 LSL 9 PostIndex",
2285*f5c631daSSadaf Ebrahimi "NegativePostIndex_al_r11_r14_minus_r1_LSL_9_PostIndex",
2286*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativePostIndex),
2287*f5c631daSSadaf Ebrahimi kNegativePostIndex},
2288*f5c631daSSadaf Ebrahimi {{al, r7, r8, minus, r3, ROR, 19, PostIndex},
2289*f5c631daSSadaf Ebrahimi "al r7 r8 minus r3 ROR 19 PostIndex",
2290*f5c631daSSadaf Ebrahimi "NegativePostIndex_al_r7_r8_minus_r3_ROR_19_PostIndex",
2291*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativePostIndex),
2292*f5c631daSSadaf Ebrahimi kNegativePostIndex},
2293*f5c631daSSadaf Ebrahimi {{al, r7, r4, minus, r3, LSL, 3, PostIndex},
2294*f5c631daSSadaf Ebrahimi "al r7 r4 minus r3 LSL 3 PostIndex",
2295*f5c631daSSadaf Ebrahimi "NegativePostIndex_al_r7_r4_minus_r3_LSL_3_PostIndex",
2296*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativePostIndex),
2297*f5c631daSSadaf Ebrahimi kNegativePostIndex},
2298*f5c631daSSadaf Ebrahimi {{al, r6, r3, minus, r5, LSL, 5, PostIndex},
2299*f5c631daSSadaf Ebrahimi "al r6 r3 minus r5 LSL 5 PostIndex",
2300*f5c631daSSadaf Ebrahimi "NegativePostIndex_al_r6_r3_minus_r5_LSL_5_PostIndex",
2301*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativePostIndex),
2302*f5c631daSSadaf Ebrahimi kNegativePostIndex},
2303*f5c631daSSadaf Ebrahimi {{al, r7, r12, minus, r1, ROR, 26, PostIndex},
2304*f5c631daSSadaf Ebrahimi "al r7 r12 minus r1 ROR 26 PostIndex",
2305*f5c631daSSadaf Ebrahimi "NegativePostIndex_al_r7_r12_minus_r1_ROR_26_PostIndex",
2306*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativePostIndex),
2307*f5c631daSSadaf Ebrahimi kNegativePostIndex},
2308*f5c631daSSadaf Ebrahimi {{al, r1, r14, minus, r3, ROR, 5, PostIndex},
2309*f5c631daSSadaf Ebrahimi "al r1 r14 minus r3 ROR 5 PostIndex",
2310*f5c631daSSadaf Ebrahimi "NegativePostIndex_al_r1_r14_minus_r3_ROR_5_PostIndex",
2311*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativePostIndex),
2312*f5c631daSSadaf Ebrahimi kNegativePostIndex},
2313*f5c631daSSadaf Ebrahimi {{al, r3, r14, minus, r8, LSL, 10, PostIndex},
2314*f5c631daSSadaf Ebrahimi "al r3 r14 minus r8 LSL 10 PostIndex",
2315*f5c631daSSadaf Ebrahimi "NegativePostIndex_al_r3_r14_minus_r8_LSL_10_PostIndex",
2316*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativePostIndex),
2317*f5c631daSSadaf Ebrahimi kNegativePostIndex},
2318*f5c631daSSadaf Ebrahimi {{al, r2, r6, minus, r3, ROR, 19, PostIndex},
2319*f5c631daSSadaf Ebrahimi "al r2 r6 minus r3 ROR 19 PostIndex",
2320*f5c631daSSadaf Ebrahimi "NegativePostIndex_al_r2_r6_minus_r3_ROR_19_PostIndex",
2321*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativePostIndex),
2322*f5c631daSSadaf Ebrahimi kNegativePostIndex},
2323*f5c631daSSadaf Ebrahimi {{al, r3, r5, minus, r6, ROR, 30, PostIndex},
2324*f5c631daSSadaf Ebrahimi "al r3 r5 minus r6 ROR 30 PostIndex",
2325*f5c631daSSadaf Ebrahimi "NegativePostIndex_al_r3_r5_minus_r6_ROR_30_PostIndex",
2326*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativePostIndex),
2327*f5c631daSSadaf Ebrahimi kNegativePostIndex},
2328*f5c631daSSadaf Ebrahimi {{al, r2, r9, minus, r12, LSL, 24, PostIndex},
2329*f5c631daSSadaf Ebrahimi "al r2 r9 minus r12 LSL 24 PostIndex",
2330*f5c631daSSadaf Ebrahimi "NegativePostIndex_al_r2_r9_minus_r12_LSL_24_PostIndex",
2331*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativePostIndex),
2332*f5c631daSSadaf Ebrahimi kNegativePostIndex},
2333*f5c631daSSadaf Ebrahimi {{al, r4, r9, plus, r3, LSL, 2, PreIndex},
2334*f5c631daSSadaf Ebrahimi "al r4 r9 plus r3 LSL 2 PreIndex",
2335*f5c631daSSadaf Ebrahimi "PositivePreIndex_al_r4_r9_plus_r3_LSL_2_PreIndex",
2336*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositivePreIndex),
2337*f5c631daSSadaf Ebrahimi kPositivePreIndex},
2338*f5c631daSSadaf Ebrahimi {{al, r1, r9, plus, r10, LSL, 25, PreIndex},
2339*f5c631daSSadaf Ebrahimi "al r1 r9 plus r10 LSL 25 PreIndex",
2340*f5c631daSSadaf Ebrahimi "PositivePreIndex_al_r1_r9_plus_r10_LSL_25_PreIndex",
2341*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositivePreIndex),
2342*f5c631daSSadaf Ebrahimi kPositivePreIndex},
2343*f5c631daSSadaf Ebrahimi {{al, r14, r1, plus, r12, ROR, 24, PreIndex},
2344*f5c631daSSadaf Ebrahimi "al r14 r1 plus r12 ROR 24 PreIndex",
2345*f5c631daSSadaf Ebrahimi "PositivePreIndex_al_r14_r1_plus_r12_ROR_24_PreIndex",
2346*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositivePreIndex),
2347*f5c631daSSadaf Ebrahimi kPositivePreIndex},
2348*f5c631daSSadaf Ebrahimi {{al, r3, r10, plus, r14, LSL, 24, PreIndex},
2349*f5c631daSSadaf Ebrahimi "al r3 r10 plus r14 LSL 24 PreIndex",
2350*f5c631daSSadaf Ebrahimi "PositivePreIndex_al_r3_r10_plus_r14_LSL_24_PreIndex",
2351*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositivePreIndex),
2352*f5c631daSSadaf Ebrahimi kPositivePreIndex},
2353*f5c631daSSadaf Ebrahimi {{al, r10, r5, plus, r0, LSL, 17, PreIndex},
2354*f5c631daSSadaf Ebrahimi "al r10 r5 plus r0 LSL 17 PreIndex",
2355*f5c631daSSadaf Ebrahimi "PositivePreIndex_al_r10_r5_plus_r0_LSL_17_PreIndex",
2356*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositivePreIndex),
2357*f5c631daSSadaf Ebrahimi kPositivePreIndex},
2358*f5c631daSSadaf Ebrahimi {{al, r1, r7, plus, r8, LSL, 20, PreIndex},
2359*f5c631daSSadaf Ebrahimi "al r1 r7 plus r8 LSL 20 PreIndex",
2360*f5c631daSSadaf Ebrahimi "PositivePreIndex_al_r1_r7_plus_r8_LSL_20_PreIndex",
2361*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositivePreIndex),
2362*f5c631daSSadaf Ebrahimi kPositivePreIndex},
2363*f5c631daSSadaf Ebrahimi {{al, r5, r6, plus, r2, LSL, 3, PreIndex},
2364*f5c631daSSadaf Ebrahimi "al r5 r6 plus r2 LSL 3 PreIndex",
2365*f5c631daSSadaf Ebrahimi "PositivePreIndex_al_r5_r6_plus_r2_LSL_3_PreIndex",
2366*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositivePreIndex),
2367*f5c631daSSadaf Ebrahimi kPositivePreIndex},
2368*f5c631daSSadaf Ebrahimi {{al, r4, r6, plus, r2, ROR, 9, PreIndex},
2369*f5c631daSSadaf Ebrahimi "al r4 r6 plus r2 ROR 9 PreIndex",
2370*f5c631daSSadaf Ebrahimi "PositivePreIndex_al_r4_r6_plus_r2_ROR_9_PreIndex",
2371*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositivePreIndex),
2372*f5c631daSSadaf Ebrahimi kPositivePreIndex},
2373*f5c631daSSadaf Ebrahimi {{al, r0, r11, plus, r12, LSL, 7, PreIndex},
2374*f5c631daSSadaf Ebrahimi "al r0 r11 plus r12 LSL 7 PreIndex",
2375*f5c631daSSadaf Ebrahimi "PositivePreIndex_al_r0_r11_plus_r12_LSL_7_PreIndex",
2376*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositivePreIndex),
2377*f5c631daSSadaf Ebrahimi kPositivePreIndex},
2378*f5c631daSSadaf Ebrahimi {{al, r2, r14, plus, r11, ROR, 4, PreIndex},
2379*f5c631daSSadaf Ebrahimi "al r2 r14 plus r11 ROR 4 PreIndex",
2380*f5c631daSSadaf Ebrahimi "PositivePreIndex_al_r2_r14_plus_r11_ROR_4_PreIndex",
2381*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositivePreIndex),
2382*f5c631daSSadaf Ebrahimi kPositivePreIndex},
2383*f5c631daSSadaf Ebrahimi {{al, r8, r6, plus, r1, LSL, 13, PreIndex},
2384*f5c631daSSadaf Ebrahimi "al r8 r6 plus r1 LSL 13 PreIndex",
2385*f5c631daSSadaf Ebrahimi "PositivePreIndex_al_r8_r6_plus_r1_LSL_13_PreIndex",
2386*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositivePreIndex),
2387*f5c631daSSadaf Ebrahimi kPositivePreIndex},
2388*f5c631daSSadaf Ebrahimi {{al, r9, r8, plus, r5, ROR, 5, PreIndex},
2389*f5c631daSSadaf Ebrahimi "al r9 r8 plus r5 ROR 5 PreIndex",
2390*f5c631daSSadaf Ebrahimi "PositivePreIndex_al_r9_r8_plus_r5_ROR_5_PreIndex",
2391*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositivePreIndex),
2392*f5c631daSSadaf Ebrahimi kPositivePreIndex},
2393*f5c631daSSadaf Ebrahimi {{al, r4, r5, plus, r14, LSL, 9, PreIndex},
2394*f5c631daSSadaf Ebrahimi "al r4 r5 plus r14 LSL 9 PreIndex",
2395*f5c631daSSadaf Ebrahimi "PositivePreIndex_al_r4_r5_plus_r14_LSL_9_PreIndex",
2396*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositivePreIndex),
2397*f5c631daSSadaf Ebrahimi kPositivePreIndex},
2398*f5c631daSSadaf Ebrahimi {{al, r2, r10, plus, r14, LSL, 2, PreIndex},
2399*f5c631daSSadaf Ebrahimi "al r2 r10 plus r14 LSL 2 PreIndex",
2400*f5c631daSSadaf Ebrahimi "PositivePreIndex_al_r2_r10_plus_r14_LSL_2_PreIndex",
2401*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositivePreIndex),
2402*f5c631daSSadaf Ebrahimi kPositivePreIndex},
2403*f5c631daSSadaf Ebrahimi {{al, r0, r10, plus, r2, LSL, 16, PreIndex},
2404*f5c631daSSadaf Ebrahimi "al r0 r10 plus r2 LSL 16 PreIndex",
2405*f5c631daSSadaf Ebrahimi "PositivePreIndex_al_r0_r10_plus_r2_LSL_16_PreIndex",
2406*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositivePreIndex),
2407*f5c631daSSadaf Ebrahimi kPositivePreIndex},
2408*f5c631daSSadaf Ebrahimi {{al, r11, r12, plus, r2, LSL, 17, PreIndex},
2409*f5c631daSSadaf Ebrahimi "al r11 r12 plus r2 LSL 17 PreIndex",
2410*f5c631daSSadaf Ebrahimi "PositivePreIndex_al_r11_r12_plus_r2_LSL_17_PreIndex",
2411*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositivePreIndex),
2412*f5c631daSSadaf Ebrahimi kPositivePreIndex},
2413*f5c631daSSadaf Ebrahimi {{al, r10, r5, plus, r8, LSL, 24, PreIndex},
2414*f5c631daSSadaf Ebrahimi "al r10 r5 plus r8 LSL 24 PreIndex",
2415*f5c631daSSadaf Ebrahimi "PositivePreIndex_al_r10_r5_plus_r8_LSL_24_PreIndex",
2416*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositivePreIndex),
2417*f5c631daSSadaf Ebrahimi kPositivePreIndex},
2418*f5c631daSSadaf Ebrahimi {{al, r11, r3, plus, r7, ROR, 6, PreIndex},
2419*f5c631daSSadaf Ebrahimi "al r11 r3 plus r7 ROR 6 PreIndex",
2420*f5c631daSSadaf Ebrahimi "PositivePreIndex_al_r11_r3_plus_r7_ROR_6_PreIndex",
2421*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositivePreIndex),
2422*f5c631daSSadaf Ebrahimi kPositivePreIndex},
2423*f5c631daSSadaf Ebrahimi {{al, r12, r0, plus, r11, ROR, 13, PreIndex},
2424*f5c631daSSadaf Ebrahimi "al r12 r0 plus r11 ROR 13 PreIndex",
2425*f5c631daSSadaf Ebrahimi "PositivePreIndex_al_r12_r0_plus_r11_ROR_13_PreIndex",
2426*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositivePreIndex),
2427*f5c631daSSadaf Ebrahimi kPositivePreIndex},
2428*f5c631daSSadaf Ebrahimi {{al, r14, r5, plus, r2, LSL, 2, PreIndex},
2429*f5c631daSSadaf Ebrahimi "al r14 r5 plus r2 LSL 2 PreIndex",
2430*f5c631daSSadaf Ebrahimi "PositivePreIndex_al_r14_r5_plus_r2_LSL_2_PreIndex",
2431*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositivePreIndex),
2432*f5c631daSSadaf Ebrahimi kPositivePreIndex},
2433*f5c631daSSadaf Ebrahimi {{al, r14, r7, plus, r8, ROR, 28, PreIndex},
2434*f5c631daSSadaf Ebrahimi "al r14 r7 plus r8 ROR 28 PreIndex",
2435*f5c631daSSadaf Ebrahimi "PositivePreIndex_al_r14_r7_plus_r8_ROR_28_PreIndex",
2436*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositivePreIndex),
2437*f5c631daSSadaf Ebrahimi kPositivePreIndex},
2438*f5c631daSSadaf Ebrahimi {{al, r12, r2, plus, r7, LSL, 22, PreIndex},
2439*f5c631daSSadaf Ebrahimi "al r12 r2 plus r7 LSL 22 PreIndex",
2440*f5c631daSSadaf Ebrahimi "PositivePreIndex_al_r12_r2_plus_r7_LSL_22_PreIndex",
2441*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositivePreIndex),
2442*f5c631daSSadaf Ebrahimi kPositivePreIndex},
2443*f5c631daSSadaf Ebrahimi {{al, r6, r5, plus, r12, ROR, 16, PreIndex},
2444*f5c631daSSadaf Ebrahimi "al r6 r5 plus r12 ROR 16 PreIndex",
2445*f5c631daSSadaf Ebrahimi "PositivePreIndex_al_r6_r5_plus_r12_ROR_16_PreIndex",
2446*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositivePreIndex),
2447*f5c631daSSadaf Ebrahimi kPositivePreIndex},
2448*f5c631daSSadaf Ebrahimi {{al, r1, r14, plus, r4, LSL, 9, PreIndex},
2449*f5c631daSSadaf Ebrahimi "al r1 r14 plus r4 LSL 9 PreIndex",
2450*f5c631daSSadaf Ebrahimi "PositivePreIndex_al_r1_r14_plus_r4_LSL_9_PreIndex",
2451*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositivePreIndex),
2452*f5c631daSSadaf Ebrahimi kPositivePreIndex},
2453*f5c631daSSadaf Ebrahimi {{al, r9, r2, plus, r11, ROR, 9, PreIndex},
2454*f5c631daSSadaf Ebrahimi "al r9 r2 plus r11 ROR 9 PreIndex",
2455*f5c631daSSadaf Ebrahimi "PositivePreIndex_al_r9_r2_plus_r11_ROR_9_PreIndex",
2456*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositivePreIndex),
2457*f5c631daSSadaf Ebrahimi kPositivePreIndex},
2458*f5c631daSSadaf Ebrahimi {{al, r6, r8, plus, r9, LSL, 2, PreIndex},
2459*f5c631daSSadaf Ebrahimi "al r6 r8 plus r9 LSL 2 PreIndex",
2460*f5c631daSSadaf Ebrahimi "PositivePreIndex_al_r6_r8_plus_r9_LSL_2_PreIndex",
2461*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositivePreIndex),
2462*f5c631daSSadaf Ebrahimi kPositivePreIndex},
2463*f5c631daSSadaf Ebrahimi {{al, r8, r1, plus, r0, LSL, 30, PreIndex},
2464*f5c631daSSadaf Ebrahimi "al r8 r1 plus r0 LSL 30 PreIndex",
2465*f5c631daSSadaf Ebrahimi "PositivePreIndex_al_r8_r1_plus_r0_LSL_30_PreIndex",
2466*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositivePreIndex),
2467*f5c631daSSadaf Ebrahimi kPositivePreIndex},
2468*f5c631daSSadaf Ebrahimi {{al, r14, r0, plus, r6, ROR, 5, PreIndex},
2469*f5c631daSSadaf Ebrahimi "al r14 r0 plus r6 ROR 5 PreIndex",
2470*f5c631daSSadaf Ebrahimi "PositivePreIndex_al_r14_r0_plus_r6_ROR_5_PreIndex",
2471*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositivePreIndex),
2472*f5c631daSSadaf Ebrahimi kPositivePreIndex},
2473*f5c631daSSadaf Ebrahimi {{al, r1, r6, plus, r2, LSL, 9, PreIndex},
2474*f5c631daSSadaf Ebrahimi "al r1 r6 plus r2 LSL 9 PreIndex",
2475*f5c631daSSadaf Ebrahimi "PositivePreIndex_al_r1_r6_plus_r2_LSL_9_PreIndex",
2476*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositivePreIndex),
2477*f5c631daSSadaf Ebrahimi kPositivePreIndex},
2478*f5c631daSSadaf Ebrahimi {{al, r12, r4, plus, r9, ROR, 28, PreIndex},
2479*f5c631daSSadaf Ebrahimi "al r12 r4 plus r9 ROR 28 PreIndex",
2480*f5c631daSSadaf Ebrahimi "PositivePreIndex_al_r12_r4_plus_r9_ROR_28_PreIndex",
2481*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositivePreIndex),
2482*f5c631daSSadaf Ebrahimi kPositivePreIndex},
2483*f5c631daSSadaf Ebrahimi {{al, r5, r1, plus, r10, ROR, 21, PreIndex},
2484*f5c631daSSadaf Ebrahimi "al r5 r1 plus r10 ROR 21 PreIndex",
2485*f5c631daSSadaf Ebrahimi "PositivePreIndex_al_r5_r1_plus_r10_ROR_21_PreIndex",
2486*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositivePreIndex),
2487*f5c631daSSadaf Ebrahimi kPositivePreIndex},
2488*f5c631daSSadaf Ebrahimi {{al, r6, r14, plus, r12, ROR, 31, PreIndex},
2489*f5c631daSSadaf Ebrahimi "al r6 r14 plus r12 ROR 31 PreIndex",
2490*f5c631daSSadaf Ebrahimi "PositivePreIndex_al_r6_r14_plus_r12_ROR_31_PreIndex",
2491*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositivePreIndex),
2492*f5c631daSSadaf Ebrahimi kPositivePreIndex},
2493*f5c631daSSadaf Ebrahimi {{al, r0, r3, plus, r5, ROR, 10, PreIndex},
2494*f5c631daSSadaf Ebrahimi "al r0 r3 plus r5 ROR 10 PreIndex",
2495*f5c631daSSadaf Ebrahimi "PositivePreIndex_al_r0_r3_plus_r5_ROR_10_PreIndex",
2496*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositivePreIndex),
2497*f5c631daSSadaf Ebrahimi kPositivePreIndex},
2498*f5c631daSSadaf Ebrahimi {{al, r2, r11, plus, r3, LSL, 29, PreIndex},
2499*f5c631daSSadaf Ebrahimi "al r2 r11 plus r3 LSL 29 PreIndex",
2500*f5c631daSSadaf Ebrahimi "PositivePreIndex_al_r2_r11_plus_r3_LSL_29_PreIndex",
2501*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositivePreIndex),
2502*f5c631daSSadaf Ebrahimi kPositivePreIndex},
2503*f5c631daSSadaf Ebrahimi {{al, r3, r4, plus, r9, LSL, 16, PreIndex},
2504*f5c631daSSadaf Ebrahimi "al r3 r4 plus r9 LSL 16 PreIndex",
2505*f5c631daSSadaf Ebrahimi "PositivePreIndex_al_r3_r4_plus_r9_LSL_16_PreIndex",
2506*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositivePreIndex),
2507*f5c631daSSadaf Ebrahimi kPositivePreIndex},
2508*f5c631daSSadaf Ebrahimi {{al, r6, r11, plus, r5, ROR, 14, PreIndex},
2509*f5c631daSSadaf Ebrahimi "al r6 r11 plus r5 ROR 14 PreIndex",
2510*f5c631daSSadaf Ebrahimi "PositivePreIndex_al_r6_r11_plus_r5_ROR_14_PreIndex",
2511*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositivePreIndex),
2512*f5c631daSSadaf Ebrahimi kPositivePreIndex},
2513*f5c631daSSadaf Ebrahimi {{al, r4, r12, plus, r0, ROR, 28, PreIndex},
2514*f5c631daSSadaf Ebrahimi "al r4 r12 plus r0 ROR 28 PreIndex",
2515*f5c631daSSadaf Ebrahimi "PositivePreIndex_al_r4_r12_plus_r0_ROR_28_PreIndex",
2516*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositivePreIndex),
2517*f5c631daSSadaf Ebrahimi kPositivePreIndex},
2518*f5c631daSSadaf Ebrahimi {{al, r4, r6, plus, r1, LSL, 7, PreIndex},
2519*f5c631daSSadaf Ebrahimi "al r4 r6 plus r1 LSL 7 PreIndex",
2520*f5c631daSSadaf Ebrahimi "PositivePreIndex_al_r4_r6_plus_r1_LSL_7_PreIndex",
2521*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositivePreIndex),
2522*f5c631daSSadaf Ebrahimi kPositivePreIndex},
2523*f5c631daSSadaf Ebrahimi {{al, r5, r2, plus, r6, ROR, 20, PreIndex},
2524*f5c631daSSadaf Ebrahimi "al r5 r2 plus r6 ROR 20 PreIndex",
2525*f5c631daSSadaf Ebrahimi "PositivePreIndex_al_r5_r2_plus_r6_ROR_20_PreIndex",
2526*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositivePreIndex),
2527*f5c631daSSadaf Ebrahimi kPositivePreIndex},
2528*f5c631daSSadaf Ebrahimi {{al, r9, r6, plus, r5, LSL, 2, PreIndex},
2529*f5c631daSSadaf Ebrahimi "al r9 r6 plus r5 LSL 2 PreIndex",
2530*f5c631daSSadaf Ebrahimi "PositivePreIndex_al_r9_r6_plus_r5_LSL_2_PreIndex",
2531*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositivePreIndex),
2532*f5c631daSSadaf Ebrahimi kPositivePreIndex},
2533*f5c631daSSadaf Ebrahimi {{al, r4, r3, plus, r6, ROR, 6, PreIndex},
2534*f5c631daSSadaf Ebrahimi "al r4 r3 plus r6 ROR 6 PreIndex",
2535*f5c631daSSadaf Ebrahimi "PositivePreIndex_al_r4_r3_plus_r6_ROR_6_PreIndex",
2536*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositivePreIndex),
2537*f5c631daSSadaf Ebrahimi kPositivePreIndex},
2538*f5c631daSSadaf Ebrahimi {{al, r6, r0, plus, r9, ROR, 8, PreIndex},
2539*f5c631daSSadaf Ebrahimi "al r6 r0 plus r9 ROR 8 PreIndex",
2540*f5c631daSSadaf Ebrahimi "PositivePreIndex_al_r6_r0_plus_r9_ROR_8_PreIndex",
2541*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositivePreIndex),
2542*f5c631daSSadaf Ebrahimi kPositivePreIndex},
2543*f5c631daSSadaf Ebrahimi {{al, r10, r14, plus, r2, LSL, 29, PreIndex},
2544*f5c631daSSadaf Ebrahimi "al r10 r14 plus r2 LSL 29 PreIndex",
2545*f5c631daSSadaf Ebrahimi "PositivePreIndex_al_r10_r14_plus_r2_LSL_29_PreIndex",
2546*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositivePreIndex),
2547*f5c631daSSadaf Ebrahimi kPositivePreIndex},
2548*f5c631daSSadaf Ebrahimi {{al, r1, r10, plus, r3, ROR, 21, PreIndex},
2549*f5c631daSSadaf Ebrahimi "al r1 r10 plus r3 ROR 21 PreIndex",
2550*f5c631daSSadaf Ebrahimi "PositivePreIndex_al_r1_r10_plus_r3_ROR_21_PreIndex",
2551*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositivePreIndex),
2552*f5c631daSSadaf Ebrahimi kPositivePreIndex},
2553*f5c631daSSadaf Ebrahimi {{al, r6, r10, plus, r1, LSL, 1, PreIndex},
2554*f5c631daSSadaf Ebrahimi "al r6 r10 plus r1 LSL 1 PreIndex",
2555*f5c631daSSadaf Ebrahimi "PositivePreIndex_al_r6_r10_plus_r1_LSL_1_PreIndex",
2556*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositivePreIndex),
2557*f5c631daSSadaf Ebrahimi kPositivePreIndex},
2558*f5c631daSSadaf Ebrahimi {{al, r5, r1, plus, r14, LSL, 23, PreIndex},
2559*f5c631daSSadaf Ebrahimi "al r5 r1 plus r14 LSL 23 PreIndex",
2560*f5c631daSSadaf Ebrahimi "PositivePreIndex_al_r5_r1_plus_r14_LSL_23_PreIndex",
2561*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositivePreIndex),
2562*f5c631daSSadaf Ebrahimi kPositivePreIndex},
2563*f5c631daSSadaf Ebrahimi {{al, r6, r12, plus, r10, LSL, 27, PreIndex},
2564*f5c631daSSadaf Ebrahimi "al r6 r12 plus r10 LSL 27 PreIndex",
2565*f5c631daSSadaf Ebrahimi "PositivePreIndex_al_r6_r12_plus_r10_LSL_27_PreIndex",
2566*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositivePreIndex),
2567*f5c631daSSadaf Ebrahimi kPositivePreIndex},
2568*f5c631daSSadaf Ebrahimi {{al, r10, r5, plus, r8, LSL, 30, PreIndex},
2569*f5c631daSSadaf Ebrahimi "al r10 r5 plus r8 LSL 30 PreIndex",
2570*f5c631daSSadaf Ebrahimi "PositivePreIndex_al_r10_r5_plus_r8_LSL_30_PreIndex",
2571*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositivePreIndex),
2572*f5c631daSSadaf Ebrahimi kPositivePreIndex},
2573*f5c631daSSadaf Ebrahimi {{al, r12, r8, plus, r5, LSL, 12, PreIndex},
2574*f5c631daSSadaf Ebrahimi "al r12 r8 plus r5 LSL 12 PreIndex",
2575*f5c631daSSadaf Ebrahimi "PositivePreIndex_al_r12_r8_plus_r5_LSL_12_PreIndex",
2576*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositivePreIndex),
2577*f5c631daSSadaf Ebrahimi kPositivePreIndex},
2578*f5c631daSSadaf Ebrahimi {{al, r14, r6, plus, r3, ROR, 23, PreIndex},
2579*f5c631daSSadaf Ebrahimi "al r14 r6 plus r3 ROR 23 PreIndex",
2580*f5c631daSSadaf Ebrahimi "PositivePreIndex_al_r14_r6_plus_r3_ROR_23_PreIndex",
2581*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositivePreIndex),
2582*f5c631daSSadaf Ebrahimi kPositivePreIndex},
2583*f5c631daSSadaf Ebrahimi {{al, r5, r8, plus, r6, ROR, 26, PreIndex},
2584*f5c631daSSadaf Ebrahimi "al r5 r8 plus r6 ROR 26 PreIndex",
2585*f5c631daSSadaf Ebrahimi "PositivePreIndex_al_r5_r8_plus_r6_ROR_26_PreIndex",
2586*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositivePreIndex),
2587*f5c631daSSadaf Ebrahimi kPositivePreIndex},
2588*f5c631daSSadaf Ebrahimi {{al, r1, r4, plus, r10, ROR, 21, PreIndex},
2589*f5c631daSSadaf Ebrahimi "al r1 r4 plus r10 ROR 21 PreIndex",
2590*f5c631daSSadaf Ebrahimi "PositivePreIndex_al_r1_r4_plus_r10_ROR_21_PreIndex",
2591*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositivePreIndex),
2592*f5c631daSSadaf Ebrahimi kPositivePreIndex},
2593*f5c631daSSadaf Ebrahimi {{al, r8, r9, plus, r1, LSL, 24, PreIndex},
2594*f5c631daSSadaf Ebrahimi "al r8 r9 plus r1 LSL 24 PreIndex",
2595*f5c631daSSadaf Ebrahimi "PositivePreIndex_al_r8_r9_plus_r1_LSL_24_PreIndex",
2596*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositivePreIndex),
2597*f5c631daSSadaf Ebrahimi kPositivePreIndex},
2598*f5c631daSSadaf Ebrahimi {{al, r0, r2, plus, r6, ROR, 6, PreIndex},
2599*f5c631daSSadaf Ebrahimi "al r0 r2 plus r6 ROR 6 PreIndex",
2600*f5c631daSSadaf Ebrahimi "PositivePreIndex_al_r0_r2_plus_r6_ROR_6_PreIndex",
2601*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositivePreIndex),
2602*f5c631daSSadaf Ebrahimi kPositivePreIndex},
2603*f5c631daSSadaf Ebrahimi {{al, r5, r1, plus, r0, ROR, 6, PreIndex},
2604*f5c631daSSadaf Ebrahimi "al r5 r1 plus r0 ROR 6 PreIndex",
2605*f5c631daSSadaf Ebrahimi "PositivePreIndex_al_r5_r1_plus_r0_ROR_6_PreIndex",
2606*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositivePreIndex),
2607*f5c631daSSadaf Ebrahimi kPositivePreIndex},
2608*f5c631daSSadaf Ebrahimi {{al, r4, r6, plus, r0, LSL, 25, PreIndex},
2609*f5c631daSSadaf Ebrahimi "al r4 r6 plus r0 LSL 25 PreIndex",
2610*f5c631daSSadaf Ebrahimi "PositivePreIndex_al_r4_r6_plus_r0_LSL_25_PreIndex",
2611*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositivePreIndex),
2612*f5c631daSSadaf Ebrahimi kPositivePreIndex},
2613*f5c631daSSadaf Ebrahimi {{al, r7, r6, plus, r4, LSL, 15, PreIndex},
2614*f5c631daSSadaf Ebrahimi "al r7 r6 plus r4 LSL 15 PreIndex",
2615*f5c631daSSadaf Ebrahimi "PositivePreIndex_al_r7_r6_plus_r4_LSL_15_PreIndex",
2616*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositivePreIndex),
2617*f5c631daSSadaf Ebrahimi kPositivePreIndex},
2618*f5c631daSSadaf Ebrahimi {{al, r3, r10, plus, r4, ROR, 12, PreIndex},
2619*f5c631daSSadaf Ebrahimi "al r3 r10 plus r4 ROR 12 PreIndex",
2620*f5c631daSSadaf Ebrahimi "PositivePreIndex_al_r3_r10_plus_r4_ROR_12_PreIndex",
2621*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositivePreIndex),
2622*f5c631daSSadaf Ebrahimi kPositivePreIndex},
2623*f5c631daSSadaf Ebrahimi {{al, r11, r10, plus, r12, ROR, 30, PreIndex},
2624*f5c631daSSadaf Ebrahimi "al r11 r10 plus r12 ROR 30 PreIndex",
2625*f5c631daSSadaf Ebrahimi "PositivePreIndex_al_r11_r10_plus_r12_ROR_30_PreIndex",
2626*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositivePreIndex),
2627*f5c631daSSadaf Ebrahimi kPositivePreIndex},
2628*f5c631daSSadaf Ebrahimi {{al, r12, r9, plus, r1, ROR, 28, PreIndex},
2629*f5c631daSSadaf Ebrahimi "al r12 r9 plus r1 ROR 28 PreIndex",
2630*f5c631daSSadaf Ebrahimi "PositivePreIndex_al_r12_r9_plus_r1_ROR_28_PreIndex",
2631*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositivePreIndex),
2632*f5c631daSSadaf Ebrahimi kPositivePreIndex},
2633*f5c631daSSadaf Ebrahimi {{al, r1, r4, plus, r11, ROR, 31, PreIndex},
2634*f5c631daSSadaf Ebrahimi "al r1 r4 plus r11 ROR 31 PreIndex",
2635*f5c631daSSadaf Ebrahimi "PositivePreIndex_al_r1_r4_plus_r11_ROR_31_PreIndex",
2636*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositivePreIndex),
2637*f5c631daSSadaf Ebrahimi kPositivePreIndex},
2638*f5c631daSSadaf Ebrahimi {{al, r14, r5, plus, r7, ROR, 2, PreIndex},
2639*f5c631daSSadaf Ebrahimi "al r14 r5 plus r7 ROR 2 PreIndex",
2640*f5c631daSSadaf Ebrahimi "PositivePreIndex_al_r14_r5_plus_r7_ROR_2_PreIndex",
2641*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositivePreIndex),
2642*f5c631daSSadaf Ebrahimi kPositivePreIndex},
2643*f5c631daSSadaf Ebrahimi {{al, r8, r10, plus, r14, ROR, 4, PreIndex},
2644*f5c631daSSadaf Ebrahimi "al r8 r10 plus r14 ROR 4 PreIndex",
2645*f5c631daSSadaf Ebrahimi "PositivePreIndex_al_r8_r10_plus_r14_ROR_4_PreIndex",
2646*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositivePreIndex),
2647*f5c631daSSadaf Ebrahimi kPositivePreIndex},
2648*f5c631daSSadaf Ebrahimi {{al, r4, r9, plus, r10, LSL, 24, PreIndex},
2649*f5c631daSSadaf Ebrahimi "al r4 r9 plus r10 LSL 24 PreIndex",
2650*f5c631daSSadaf Ebrahimi "PositivePreIndex_al_r4_r9_plus_r10_LSL_24_PreIndex",
2651*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositivePreIndex),
2652*f5c631daSSadaf Ebrahimi kPositivePreIndex},
2653*f5c631daSSadaf Ebrahimi {{al, r3, r1, plus, r14, ROR, 21, PreIndex},
2654*f5c631daSSadaf Ebrahimi "al r3 r1 plus r14 ROR 21 PreIndex",
2655*f5c631daSSadaf Ebrahimi "PositivePreIndex_al_r3_r1_plus_r14_ROR_21_PreIndex",
2656*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositivePreIndex),
2657*f5c631daSSadaf Ebrahimi kPositivePreIndex},
2658*f5c631daSSadaf Ebrahimi {{al, r7, r11, plus, r8, ROR, 14, PreIndex},
2659*f5c631daSSadaf Ebrahimi "al r7 r11 plus r8 ROR 14 PreIndex",
2660*f5c631daSSadaf Ebrahimi "PositivePreIndex_al_r7_r11_plus_r8_ROR_14_PreIndex",
2661*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositivePreIndex),
2662*f5c631daSSadaf Ebrahimi kPositivePreIndex},
2663*f5c631daSSadaf Ebrahimi {{al, r2, r0, plus, r9, LSL, 18, PreIndex},
2664*f5c631daSSadaf Ebrahimi "al r2 r0 plus r9 LSL 18 PreIndex",
2665*f5c631daSSadaf Ebrahimi "PositivePreIndex_al_r2_r0_plus_r9_LSL_18_PreIndex",
2666*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositivePreIndex),
2667*f5c631daSSadaf Ebrahimi kPositivePreIndex},
2668*f5c631daSSadaf Ebrahimi {{al, r7, r8, plus, r6, ROR, 21, PreIndex},
2669*f5c631daSSadaf Ebrahimi "al r7 r8 plus r6 ROR 21 PreIndex",
2670*f5c631daSSadaf Ebrahimi "PositivePreIndex_al_r7_r8_plus_r6_ROR_21_PreIndex",
2671*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositivePreIndex),
2672*f5c631daSSadaf Ebrahimi kPositivePreIndex},
2673*f5c631daSSadaf Ebrahimi {{al, r2, r1, plus, r10, LSL, 1, PreIndex},
2674*f5c631daSSadaf Ebrahimi "al r2 r1 plus r10 LSL 1 PreIndex",
2675*f5c631daSSadaf Ebrahimi "PositivePreIndex_al_r2_r1_plus_r10_LSL_1_PreIndex",
2676*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositivePreIndex),
2677*f5c631daSSadaf Ebrahimi kPositivePreIndex},
2678*f5c631daSSadaf Ebrahimi {{al, r4, r7, plus, r2, ROR, 13, PreIndex},
2679*f5c631daSSadaf Ebrahimi "al r4 r7 plus r2 ROR 13 PreIndex",
2680*f5c631daSSadaf Ebrahimi "PositivePreIndex_al_r4_r7_plus_r2_ROR_13_PreIndex",
2681*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositivePreIndex),
2682*f5c631daSSadaf Ebrahimi kPositivePreIndex},
2683*f5c631daSSadaf Ebrahimi {{al, r9, r4, plus, r0, LSL, 18, PreIndex},
2684*f5c631daSSadaf Ebrahimi "al r9 r4 plus r0 LSL 18 PreIndex",
2685*f5c631daSSadaf Ebrahimi "PositivePreIndex_al_r9_r4_plus_r0_LSL_18_PreIndex",
2686*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositivePreIndex),
2687*f5c631daSSadaf Ebrahimi kPositivePreIndex},
2688*f5c631daSSadaf Ebrahimi {{al, r3, r10, plus, r5, ROR, 30, PreIndex},
2689*f5c631daSSadaf Ebrahimi "al r3 r10 plus r5 ROR 30 PreIndex",
2690*f5c631daSSadaf Ebrahimi "PositivePreIndex_al_r3_r10_plus_r5_ROR_30_PreIndex",
2691*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositivePreIndex),
2692*f5c631daSSadaf Ebrahimi kPositivePreIndex},
2693*f5c631daSSadaf Ebrahimi {{al, r3, r2, plus, r6, LSL, 22, PreIndex},
2694*f5c631daSSadaf Ebrahimi "al r3 r2 plus r6 LSL 22 PreIndex",
2695*f5c631daSSadaf Ebrahimi "PositivePreIndex_al_r3_r2_plus_r6_LSL_22_PreIndex",
2696*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositivePreIndex),
2697*f5c631daSSadaf Ebrahimi kPositivePreIndex},
2698*f5c631daSSadaf Ebrahimi {{al, r9, r14, plus, r6, LSL, 29, PreIndex},
2699*f5c631daSSadaf Ebrahimi "al r9 r14 plus r6 LSL 29 PreIndex",
2700*f5c631daSSadaf Ebrahimi "PositivePreIndex_al_r9_r14_plus_r6_LSL_29_PreIndex",
2701*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositivePreIndex),
2702*f5c631daSSadaf Ebrahimi kPositivePreIndex},
2703*f5c631daSSadaf Ebrahimi {{al, r14, r3, plus, r1, ROR, 5, PreIndex},
2704*f5c631daSSadaf Ebrahimi "al r14 r3 plus r1 ROR 5 PreIndex",
2705*f5c631daSSadaf Ebrahimi "PositivePreIndex_al_r14_r3_plus_r1_ROR_5_PreIndex",
2706*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositivePreIndex),
2707*f5c631daSSadaf Ebrahimi kPositivePreIndex},
2708*f5c631daSSadaf Ebrahimi {{al, r14, r3, plus, r4, ROR, 18, PreIndex},
2709*f5c631daSSadaf Ebrahimi "al r14 r3 plus r4 ROR 18 PreIndex",
2710*f5c631daSSadaf Ebrahimi "PositivePreIndex_al_r14_r3_plus_r4_ROR_18_PreIndex",
2711*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositivePreIndex),
2712*f5c631daSSadaf Ebrahimi kPositivePreIndex},
2713*f5c631daSSadaf Ebrahimi {{al, r1, r12, plus, r3, LSL, 16, PreIndex},
2714*f5c631daSSadaf Ebrahimi "al r1 r12 plus r3 LSL 16 PreIndex",
2715*f5c631daSSadaf Ebrahimi "PositivePreIndex_al_r1_r12_plus_r3_LSL_16_PreIndex",
2716*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositivePreIndex),
2717*f5c631daSSadaf Ebrahimi kPositivePreIndex},
2718*f5c631daSSadaf Ebrahimi {{al, r1, r5, plus, r7, ROR, 17, PreIndex},
2719*f5c631daSSadaf Ebrahimi "al r1 r5 plus r7 ROR 17 PreIndex",
2720*f5c631daSSadaf Ebrahimi "PositivePreIndex_al_r1_r5_plus_r7_ROR_17_PreIndex",
2721*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositivePreIndex),
2722*f5c631daSSadaf Ebrahimi kPositivePreIndex},
2723*f5c631daSSadaf Ebrahimi {{al, r6, r10, plus, r8, LSL, 4, PreIndex},
2724*f5c631daSSadaf Ebrahimi "al r6 r10 plus r8 LSL 4 PreIndex",
2725*f5c631daSSadaf Ebrahimi "PositivePreIndex_al_r6_r10_plus_r8_LSL_4_PreIndex",
2726*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositivePreIndex),
2727*f5c631daSSadaf Ebrahimi kPositivePreIndex},
2728*f5c631daSSadaf Ebrahimi {{al, r11, r1, plus, r4, ROR, 16, PreIndex},
2729*f5c631daSSadaf Ebrahimi "al r11 r1 plus r4 ROR 16 PreIndex",
2730*f5c631daSSadaf Ebrahimi "PositivePreIndex_al_r11_r1_plus_r4_ROR_16_PreIndex",
2731*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositivePreIndex),
2732*f5c631daSSadaf Ebrahimi kPositivePreIndex},
2733*f5c631daSSadaf Ebrahimi {{al, r14, r0, plus, r12, LSL, 21, PreIndex},
2734*f5c631daSSadaf Ebrahimi "al r14 r0 plus r12 LSL 21 PreIndex",
2735*f5c631daSSadaf Ebrahimi "PositivePreIndex_al_r14_r0_plus_r12_LSL_21_PreIndex",
2736*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositivePreIndex),
2737*f5c631daSSadaf Ebrahimi kPositivePreIndex},
2738*f5c631daSSadaf Ebrahimi {{al, r10, r14, plus, r1, LSL, 29, PreIndex},
2739*f5c631daSSadaf Ebrahimi "al r10 r14 plus r1 LSL 29 PreIndex",
2740*f5c631daSSadaf Ebrahimi "PositivePreIndex_al_r10_r14_plus_r1_LSL_29_PreIndex",
2741*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositivePreIndex),
2742*f5c631daSSadaf Ebrahimi kPositivePreIndex},
2743*f5c631daSSadaf Ebrahimi {{al, r14, r7, plus, r0, LSL, 27, PreIndex},
2744*f5c631daSSadaf Ebrahimi "al r14 r7 plus r0 LSL 27 PreIndex",
2745*f5c631daSSadaf Ebrahimi "PositivePreIndex_al_r14_r7_plus_r0_LSL_27_PreIndex",
2746*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositivePreIndex),
2747*f5c631daSSadaf Ebrahimi kPositivePreIndex},
2748*f5c631daSSadaf Ebrahimi {{al, r4, r9, plus, r6, LSL, 19, PreIndex},
2749*f5c631daSSadaf Ebrahimi "al r4 r9 plus r6 LSL 19 PreIndex",
2750*f5c631daSSadaf Ebrahimi "PositivePreIndex_al_r4_r9_plus_r6_LSL_19_PreIndex",
2751*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositivePreIndex),
2752*f5c631daSSadaf Ebrahimi kPositivePreIndex},
2753*f5c631daSSadaf Ebrahimi {{al, r3, r11, plus, r12, ROR, 23, PreIndex},
2754*f5c631daSSadaf Ebrahimi "al r3 r11 plus r12 ROR 23 PreIndex",
2755*f5c631daSSadaf Ebrahimi "PositivePreIndex_al_r3_r11_plus_r12_ROR_23_PreIndex",
2756*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositivePreIndex),
2757*f5c631daSSadaf Ebrahimi kPositivePreIndex},
2758*f5c631daSSadaf Ebrahimi {{al, r3, r1, plus, r11, ROR, 22, PreIndex},
2759*f5c631daSSadaf Ebrahimi "al r3 r1 plus r11 ROR 22 PreIndex",
2760*f5c631daSSadaf Ebrahimi "PositivePreIndex_al_r3_r1_plus_r11_ROR_22_PreIndex",
2761*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositivePreIndex),
2762*f5c631daSSadaf Ebrahimi kPositivePreIndex},
2763*f5c631daSSadaf Ebrahimi {{al, r1, r12, plus, r10, ROR, 28, PreIndex},
2764*f5c631daSSadaf Ebrahimi "al r1 r12 plus r10 ROR 28 PreIndex",
2765*f5c631daSSadaf Ebrahimi "PositivePreIndex_al_r1_r12_plus_r10_ROR_28_PreIndex",
2766*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositivePreIndex),
2767*f5c631daSSadaf Ebrahimi kPositivePreIndex},
2768*f5c631daSSadaf Ebrahimi {{al, r14, r8, plus, r12, LSL, 30, PreIndex},
2769*f5c631daSSadaf Ebrahimi "al r14 r8 plus r12 LSL 30 PreIndex",
2770*f5c631daSSadaf Ebrahimi "PositivePreIndex_al_r14_r8_plus_r12_LSL_30_PreIndex",
2771*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositivePreIndex),
2772*f5c631daSSadaf Ebrahimi kPositivePreIndex},
2773*f5c631daSSadaf Ebrahimi {{al, r0, r5, plus, r4, LSL, 15, PreIndex},
2774*f5c631daSSadaf Ebrahimi "al r0 r5 plus r4 LSL 15 PreIndex",
2775*f5c631daSSadaf Ebrahimi "PositivePreIndex_al_r0_r5_plus_r4_LSL_15_PreIndex",
2776*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositivePreIndex),
2777*f5c631daSSadaf Ebrahimi kPositivePreIndex},
2778*f5c631daSSadaf Ebrahimi {{al, r11, r9, plus, r7, LSL, 14, PreIndex},
2779*f5c631daSSadaf Ebrahimi "al r11 r9 plus r7 LSL 14 PreIndex",
2780*f5c631daSSadaf Ebrahimi "PositivePreIndex_al_r11_r9_plus_r7_LSL_14_PreIndex",
2781*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositivePreIndex),
2782*f5c631daSSadaf Ebrahimi kPositivePreIndex},
2783*f5c631daSSadaf Ebrahimi {{al, r11, r5, plus, r0, LSL, 5, PreIndex},
2784*f5c631daSSadaf Ebrahimi "al r11 r5 plus r0 LSL 5 PreIndex",
2785*f5c631daSSadaf Ebrahimi "PositivePreIndex_al_r11_r5_plus_r0_LSL_5_PreIndex",
2786*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositivePreIndex),
2787*f5c631daSSadaf Ebrahimi kPositivePreIndex},
2788*f5c631daSSadaf Ebrahimi {{al, r8, r9, plus, r11, LSL, 6, PreIndex},
2789*f5c631daSSadaf Ebrahimi "al r8 r9 plus r11 LSL 6 PreIndex",
2790*f5c631daSSadaf Ebrahimi "PositivePreIndex_al_r8_r9_plus_r11_LSL_6_PreIndex",
2791*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositivePreIndex),
2792*f5c631daSSadaf Ebrahimi kPositivePreIndex},
2793*f5c631daSSadaf Ebrahimi {{al, r5, r2, plus, r8, ROR, 12, PreIndex},
2794*f5c631daSSadaf Ebrahimi "al r5 r2 plus r8 ROR 12 PreIndex",
2795*f5c631daSSadaf Ebrahimi "PositivePreIndex_al_r5_r2_plus_r8_ROR_12_PreIndex",
2796*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositivePreIndex),
2797*f5c631daSSadaf Ebrahimi kPositivePreIndex},
2798*f5c631daSSadaf Ebrahimi {{al, r8, r0, plus, r6, ROR, 2, PreIndex},
2799*f5c631daSSadaf Ebrahimi "al r8 r0 plus r6 ROR 2 PreIndex",
2800*f5c631daSSadaf Ebrahimi "PositivePreIndex_al_r8_r0_plus_r6_ROR_2_PreIndex",
2801*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositivePreIndex),
2802*f5c631daSSadaf Ebrahimi kPositivePreIndex},
2803*f5c631daSSadaf Ebrahimi {{al, r0, r10, plus, r5, LSL, 28, PreIndex},
2804*f5c631daSSadaf Ebrahimi "al r0 r10 plus r5 LSL 28 PreIndex",
2805*f5c631daSSadaf Ebrahimi "PositivePreIndex_al_r0_r10_plus_r5_LSL_28_PreIndex",
2806*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositivePreIndex),
2807*f5c631daSSadaf Ebrahimi kPositivePreIndex},
2808*f5c631daSSadaf Ebrahimi {{al, r8, r12, plus, r3, ROR, 29, PreIndex},
2809*f5c631daSSadaf Ebrahimi "al r8 r12 plus r3 ROR 29 PreIndex",
2810*f5c631daSSadaf Ebrahimi "PositivePreIndex_al_r8_r12_plus_r3_ROR_29_PreIndex",
2811*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositivePreIndex),
2812*f5c631daSSadaf Ebrahimi kPositivePreIndex},
2813*f5c631daSSadaf Ebrahimi {{al, r9, r2, plus, r8, LSL, 21, PreIndex},
2814*f5c631daSSadaf Ebrahimi "al r9 r2 plus r8 LSL 21 PreIndex",
2815*f5c631daSSadaf Ebrahimi "PositivePreIndex_al_r9_r2_plus_r8_LSL_21_PreIndex",
2816*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositivePreIndex),
2817*f5c631daSSadaf Ebrahimi kPositivePreIndex},
2818*f5c631daSSadaf Ebrahimi {{al, r12, r3, plus, r8, ROR, 27, PreIndex},
2819*f5c631daSSadaf Ebrahimi "al r12 r3 plus r8 ROR 27 PreIndex",
2820*f5c631daSSadaf Ebrahimi "PositivePreIndex_al_r12_r3_plus_r8_ROR_27_PreIndex",
2821*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositivePreIndex),
2822*f5c631daSSadaf Ebrahimi kPositivePreIndex},
2823*f5c631daSSadaf Ebrahimi {{al, r12, r6, plus, r11, LSL, 17, PreIndex},
2824*f5c631daSSadaf Ebrahimi "al r12 r6 plus r11 LSL 17 PreIndex",
2825*f5c631daSSadaf Ebrahimi "PositivePreIndex_al_r12_r6_plus_r11_LSL_17_PreIndex",
2826*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositivePreIndex),
2827*f5c631daSSadaf Ebrahimi kPositivePreIndex},
2828*f5c631daSSadaf Ebrahimi {{al, r4, r2, plus, r0, ROR, 14, PreIndex},
2829*f5c631daSSadaf Ebrahimi "al r4 r2 plus r0 ROR 14 PreIndex",
2830*f5c631daSSadaf Ebrahimi "PositivePreIndex_al_r4_r2_plus_r0_ROR_14_PreIndex",
2831*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kPositivePreIndex),
2832*f5c631daSSadaf Ebrahimi kPositivePreIndex},
2833*f5c631daSSadaf Ebrahimi {{al, r4, r10, minus, r7, LSL, 3, PreIndex},
2834*f5c631daSSadaf Ebrahimi "al r4 r10 minus r7 LSL 3 PreIndex",
2835*f5c631daSSadaf Ebrahimi "NegativePreIndex_al_r4_r10_minus_r7_LSL_3_PreIndex",
2836*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativePreIndex),
2837*f5c631daSSadaf Ebrahimi kNegativePreIndex},
2838*f5c631daSSadaf Ebrahimi {{al, r9, r4, minus, r10, LSL, 20, PreIndex},
2839*f5c631daSSadaf Ebrahimi "al r9 r4 minus r10 LSL 20 PreIndex",
2840*f5c631daSSadaf Ebrahimi "NegativePreIndex_al_r9_r4_minus_r10_LSL_20_PreIndex",
2841*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativePreIndex),
2842*f5c631daSSadaf Ebrahimi kNegativePreIndex},
2843*f5c631daSSadaf Ebrahimi {{al, r3, r2, minus, r14, LSL, 23, PreIndex},
2844*f5c631daSSadaf Ebrahimi "al r3 r2 minus r14 LSL 23 PreIndex",
2845*f5c631daSSadaf Ebrahimi "NegativePreIndex_al_r3_r2_minus_r14_LSL_23_PreIndex",
2846*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativePreIndex),
2847*f5c631daSSadaf Ebrahimi kNegativePreIndex},
2848*f5c631daSSadaf Ebrahimi {{al, r1, r6, minus, r8, ROR, 22, PreIndex},
2849*f5c631daSSadaf Ebrahimi "al r1 r6 minus r8 ROR 22 PreIndex",
2850*f5c631daSSadaf Ebrahimi "NegativePreIndex_al_r1_r6_minus_r8_ROR_22_PreIndex",
2851*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativePreIndex),
2852*f5c631daSSadaf Ebrahimi kNegativePreIndex},
2853*f5c631daSSadaf Ebrahimi {{al, r0, r11, minus, r1, ROR, 24, PreIndex},
2854*f5c631daSSadaf Ebrahimi "al r0 r11 minus r1 ROR 24 PreIndex",
2855*f5c631daSSadaf Ebrahimi "NegativePreIndex_al_r0_r11_minus_r1_ROR_24_PreIndex",
2856*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativePreIndex),
2857*f5c631daSSadaf Ebrahimi kNegativePreIndex},
2858*f5c631daSSadaf Ebrahimi {{al, r6, r11, minus, r12, ROR, 2, PreIndex},
2859*f5c631daSSadaf Ebrahimi "al r6 r11 minus r12 ROR 2 PreIndex",
2860*f5c631daSSadaf Ebrahimi "NegativePreIndex_al_r6_r11_minus_r12_ROR_2_PreIndex",
2861*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativePreIndex),
2862*f5c631daSSadaf Ebrahimi kNegativePreIndex},
2863*f5c631daSSadaf Ebrahimi {{al, r12, r2, minus, r9, ROR, 28, PreIndex},
2864*f5c631daSSadaf Ebrahimi "al r12 r2 minus r9 ROR 28 PreIndex",
2865*f5c631daSSadaf Ebrahimi "NegativePreIndex_al_r12_r2_minus_r9_ROR_28_PreIndex",
2866*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativePreIndex),
2867*f5c631daSSadaf Ebrahimi kNegativePreIndex},
2868*f5c631daSSadaf Ebrahimi {{al, r6, r4, minus, r5, ROR, 16, PreIndex},
2869*f5c631daSSadaf Ebrahimi "al r6 r4 minus r5 ROR 16 PreIndex",
2870*f5c631daSSadaf Ebrahimi "NegativePreIndex_al_r6_r4_minus_r5_ROR_16_PreIndex",
2871*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativePreIndex),
2872*f5c631daSSadaf Ebrahimi kNegativePreIndex},
2873*f5c631daSSadaf Ebrahimi {{al, r0, r2, minus, r12, LSL, 23, PreIndex},
2874*f5c631daSSadaf Ebrahimi "al r0 r2 minus r12 LSL 23 PreIndex",
2875*f5c631daSSadaf Ebrahimi "NegativePreIndex_al_r0_r2_minus_r12_LSL_23_PreIndex",
2876*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativePreIndex),
2877*f5c631daSSadaf Ebrahimi kNegativePreIndex},
2878*f5c631daSSadaf Ebrahimi {{al, r2, r10, minus, r11, LSL, 3, PreIndex},
2879*f5c631daSSadaf Ebrahimi "al r2 r10 minus r11 LSL 3 PreIndex",
2880*f5c631daSSadaf Ebrahimi "NegativePreIndex_al_r2_r10_minus_r11_LSL_3_PreIndex",
2881*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativePreIndex),
2882*f5c631daSSadaf Ebrahimi kNegativePreIndex},
2883*f5c631daSSadaf Ebrahimi {{al, r6, r2, minus, r5, LSL, 18, PreIndex},
2884*f5c631daSSadaf Ebrahimi "al r6 r2 minus r5 LSL 18 PreIndex",
2885*f5c631daSSadaf Ebrahimi "NegativePreIndex_al_r6_r2_minus_r5_LSL_18_PreIndex",
2886*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativePreIndex),
2887*f5c631daSSadaf Ebrahimi kNegativePreIndex},
2888*f5c631daSSadaf Ebrahimi {{al, r10, r7, minus, r3, LSL, 18, PreIndex},
2889*f5c631daSSadaf Ebrahimi "al r10 r7 minus r3 LSL 18 PreIndex",
2890*f5c631daSSadaf Ebrahimi "NegativePreIndex_al_r10_r7_minus_r3_LSL_18_PreIndex",
2891*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativePreIndex),
2892*f5c631daSSadaf Ebrahimi kNegativePreIndex},
2893*f5c631daSSadaf Ebrahimi {{al, r9, r10, minus, r2, ROR, 5, PreIndex},
2894*f5c631daSSadaf Ebrahimi "al r9 r10 minus r2 ROR 5 PreIndex",
2895*f5c631daSSadaf Ebrahimi "NegativePreIndex_al_r9_r10_minus_r2_ROR_5_PreIndex",
2896*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativePreIndex),
2897*f5c631daSSadaf Ebrahimi kNegativePreIndex},
2898*f5c631daSSadaf Ebrahimi {{al, r1, r14, minus, r5, LSL, 20, PreIndex},
2899*f5c631daSSadaf Ebrahimi "al r1 r14 minus r5 LSL 20 PreIndex",
2900*f5c631daSSadaf Ebrahimi "NegativePreIndex_al_r1_r14_minus_r5_LSL_20_PreIndex",
2901*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativePreIndex),
2902*f5c631daSSadaf Ebrahimi kNegativePreIndex},
2903*f5c631daSSadaf Ebrahimi {{al, r11, r1, minus, r14, LSL, 2, PreIndex},
2904*f5c631daSSadaf Ebrahimi "al r11 r1 minus r14 LSL 2 PreIndex",
2905*f5c631daSSadaf Ebrahimi "NegativePreIndex_al_r11_r1_minus_r14_LSL_2_PreIndex",
2906*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativePreIndex),
2907*f5c631daSSadaf Ebrahimi kNegativePreIndex},
2908*f5c631daSSadaf Ebrahimi {{al, r12, r14, minus, r6, LSL, 16, PreIndex},
2909*f5c631daSSadaf Ebrahimi "al r12 r14 minus r6 LSL 16 PreIndex",
2910*f5c631daSSadaf Ebrahimi "NegativePreIndex_al_r12_r14_minus_r6_LSL_16_PreIndex",
2911*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativePreIndex),
2912*f5c631daSSadaf Ebrahimi kNegativePreIndex},
2913*f5c631daSSadaf Ebrahimi {{al, r2, r0, minus, r5, LSL, 30, PreIndex},
2914*f5c631daSSadaf Ebrahimi "al r2 r0 minus r5 LSL 30 PreIndex",
2915*f5c631daSSadaf Ebrahimi "NegativePreIndex_al_r2_r0_minus_r5_LSL_30_PreIndex",
2916*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativePreIndex),
2917*f5c631daSSadaf Ebrahimi kNegativePreIndex},
2918*f5c631daSSadaf Ebrahimi {{al, r12, r14, minus, r10, LSL, 28, PreIndex},
2919*f5c631daSSadaf Ebrahimi "al r12 r14 minus r10 LSL 28 PreIndex",
2920*f5c631daSSadaf Ebrahimi "NegativePreIndex_al_r12_r14_minus_r10_LSL_28_PreIndex",
2921*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativePreIndex),
2922*f5c631daSSadaf Ebrahimi kNegativePreIndex},
2923*f5c631daSSadaf Ebrahimi {{al, r7, r14, minus, r9, LSL, 26, PreIndex},
2924*f5c631daSSadaf Ebrahimi "al r7 r14 minus r9 LSL 26 PreIndex",
2925*f5c631daSSadaf Ebrahimi "NegativePreIndex_al_r7_r14_minus_r9_LSL_26_PreIndex",
2926*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativePreIndex),
2927*f5c631daSSadaf Ebrahimi kNegativePreIndex},
2928*f5c631daSSadaf Ebrahimi {{al, r11, r9, minus, r2, ROR, 28, PreIndex},
2929*f5c631daSSadaf Ebrahimi "al r11 r9 minus r2 ROR 28 PreIndex",
2930*f5c631daSSadaf Ebrahimi "NegativePreIndex_al_r11_r9_minus_r2_ROR_28_PreIndex",
2931*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativePreIndex),
2932*f5c631daSSadaf Ebrahimi kNegativePreIndex},
2933*f5c631daSSadaf Ebrahimi {{al, r5, r4, minus, r6, ROR, 18, PreIndex},
2934*f5c631daSSadaf Ebrahimi "al r5 r4 minus r6 ROR 18 PreIndex",
2935*f5c631daSSadaf Ebrahimi "NegativePreIndex_al_r5_r4_minus_r6_ROR_18_PreIndex",
2936*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativePreIndex),
2937*f5c631daSSadaf Ebrahimi kNegativePreIndex},
2938*f5c631daSSadaf Ebrahimi {{al, r2, r0, minus, r4, LSL, 1, PreIndex},
2939*f5c631daSSadaf Ebrahimi "al r2 r0 minus r4 LSL 1 PreIndex",
2940*f5c631daSSadaf Ebrahimi "NegativePreIndex_al_r2_r0_minus_r4_LSL_1_PreIndex",
2941*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativePreIndex),
2942*f5c631daSSadaf Ebrahimi kNegativePreIndex},
2943*f5c631daSSadaf Ebrahimi {{al, r0, r14, minus, r11, ROR, 25, PreIndex},
2944*f5c631daSSadaf Ebrahimi "al r0 r14 minus r11 ROR 25 PreIndex",
2945*f5c631daSSadaf Ebrahimi "NegativePreIndex_al_r0_r14_minus_r11_ROR_25_PreIndex",
2946*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativePreIndex),
2947*f5c631daSSadaf Ebrahimi kNegativePreIndex},
2948*f5c631daSSadaf Ebrahimi {{al, r12, r4, minus, r2, LSL, 16, PreIndex},
2949*f5c631daSSadaf Ebrahimi "al r12 r4 minus r2 LSL 16 PreIndex",
2950*f5c631daSSadaf Ebrahimi "NegativePreIndex_al_r12_r4_minus_r2_LSL_16_PreIndex",
2951*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativePreIndex),
2952*f5c631daSSadaf Ebrahimi kNegativePreIndex},
2953*f5c631daSSadaf Ebrahimi {{al, r2, r12, minus, r1, LSL, 26, PreIndex},
2954*f5c631daSSadaf Ebrahimi "al r2 r12 minus r1 LSL 26 PreIndex",
2955*f5c631daSSadaf Ebrahimi "NegativePreIndex_al_r2_r12_minus_r1_LSL_26_PreIndex",
2956*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativePreIndex),
2957*f5c631daSSadaf Ebrahimi kNegativePreIndex},
2958*f5c631daSSadaf Ebrahimi {{al, r9, r2, minus, r14, LSL, 23, PreIndex},
2959*f5c631daSSadaf Ebrahimi "al r9 r2 minus r14 LSL 23 PreIndex",
2960*f5c631daSSadaf Ebrahimi "NegativePreIndex_al_r9_r2_minus_r14_LSL_23_PreIndex",
2961*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativePreIndex),
2962*f5c631daSSadaf Ebrahimi kNegativePreIndex},
2963*f5c631daSSadaf Ebrahimi {{al, r0, r8, minus, r2, ROR, 20, PreIndex},
2964*f5c631daSSadaf Ebrahimi "al r0 r8 minus r2 ROR 20 PreIndex",
2965*f5c631daSSadaf Ebrahimi "NegativePreIndex_al_r0_r8_minus_r2_ROR_20_PreIndex",
2966*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativePreIndex),
2967*f5c631daSSadaf Ebrahimi kNegativePreIndex},
2968*f5c631daSSadaf Ebrahimi {{al, r7, r11, minus, r12, LSL, 27, PreIndex},
2969*f5c631daSSadaf Ebrahimi "al r7 r11 minus r12 LSL 27 PreIndex",
2970*f5c631daSSadaf Ebrahimi "NegativePreIndex_al_r7_r11_minus_r12_LSL_27_PreIndex",
2971*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativePreIndex),
2972*f5c631daSSadaf Ebrahimi kNegativePreIndex},
2973*f5c631daSSadaf Ebrahimi {{al, r5, r2, minus, r11, ROR, 16, PreIndex},
2974*f5c631daSSadaf Ebrahimi "al r5 r2 minus r11 ROR 16 PreIndex",
2975*f5c631daSSadaf Ebrahimi "NegativePreIndex_al_r5_r2_minus_r11_ROR_16_PreIndex",
2976*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativePreIndex),
2977*f5c631daSSadaf Ebrahimi kNegativePreIndex},
2978*f5c631daSSadaf Ebrahimi {{al, r9, r4, minus, r0, ROR, 9, PreIndex},
2979*f5c631daSSadaf Ebrahimi "al r9 r4 minus r0 ROR 9 PreIndex",
2980*f5c631daSSadaf Ebrahimi "NegativePreIndex_al_r9_r4_minus_r0_ROR_9_PreIndex",
2981*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativePreIndex),
2982*f5c631daSSadaf Ebrahimi kNegativePreIndex},
2983*f5c631daSSadaf Ebrahimi {{al, r0, r8, minus, r1, LSL, 6, PreIndex},
2984*f5c631daSSadaf Ebrahimi "al r0 r8 minus r1 LSL 6 PreIndex",
2985*f5c631daSSadaf Ebrahimi "NegativePreIndex_al_r0_r8_minus_r1_LSL_6_PreIndex",
2986*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativePreIndex),
2987*f5c631daSSadaf Ebrahimi kNegativePreIndex},
2988*f5c631daSSadaf Ebrahimi {{al, r9, r14, minus, r5, LSL, 28, PreIndex},
2989*f5c631daSSadaf Ebrahimi "al r9 r14 minus r5 LSL 28 PreIndex",
2990*f5c631daSSadaf Ebrahimi "NegativePreIndex_al_r9_r14_minus_r5_LSL_28_PreIndex",
2991*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativePreIndex),
2992*f5c631daSSadaf Ebrahimi kNegativePreIndex},
2993*f5c631daSSadaf Ebrahimi {{al, r12, r3, minus, r7, ROR, 30, PreIndex},
2994*f5c631daSSadaf Ebrahimi "al r12 r3 minus r7 ROR 30 PreIndex",
2995*f5c631daSSadaf Ebrahimi "NegativePreIndex_al_r12_r3_minus_r7_ROR_30_PreIndex",
2996*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativePreIndex),
2997*f5c631daSSadaf Ebrahimi kNegativePreIndex},
2998*f5c631daSSadaf Ebrahimi {{al, r3, r5, minus, r0, LSL, 21, PreIndex},
2999*f5c631daSSadaf Ebrahimi "al r3 r5 minus r0 LSL 21 PreIndex",
3000*f5c631daSSadaf Ebrahimi "NegativePreIndex_al_r3_r5_minus_r0_LSL_21_PreIndex",
3001*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativePreIndex),
3002*f5c631daSSadaf Ebrahimi kNegativePreIndex},
3003*f5c631daSSadaf Ebrahimi {{al, r8, r14, minus, r11, LSL, 15, PreIndex},
3004*f5c631daSSadaf Ebrahimi "al r8 r14 minus r11 LSL 15 PreIndex",
3005*f5c631daSSadaf Ebrahimi "NegativePreIndex_al_r8_r14_minus_r11_LSL_15_PreIndex",
3006*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativePreIndex),
3007*f5c631daSSadaf Ebrahimi kNegativePreIndex},
3008*f5c631daSSadaf Ebrahimi {{al, r7, r9, minus, r14, ROR, 6, PreIndex},
3009*f5c631daSSadaf Ebrahimi "al r7 r9 minus r14 ROR 6 PreIndex",
3010*f5c631daSSadaf Ebrahimi "NegativePreIndex_al_r7_r9_minus_r14_ROR_6_PreIndex",
3011*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativePreIndex),
3012*f5c631daSSadaf Ebrahimi kNegativePreIndex},
3013*f5c631daSSadaf Ebrahimi {{al, r1, r14, minus, r0, LSL, 15, PreIndex},
3014*f5c631daSSadaf Ebrahimi "al r1 r14 minus r0 LSL 15 PreIndex",
3015*f5c631daSSadaf Ebrahimi "NegativePreIndex_al_r1_r14_minus_r0_LSL_15_PreIndex",
3016*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativePreIndex),
3017*f5c631daSSadaf Ebrahimi kNegativePreIndex},
3018*f5c631daSSadaf Ebrahimi {{al, r6, r12, minus, r5, LSL, 24, PreIndex},
3019*f5c631daSSadaf Ebrahimi "al r6 r12 minus r5 LSL 24 PreIndex",
3020*f5c631daSSadaf Ebrahimi "NegativePreIndex_al_r6_r12_minus_r5_LSL_24_PreIndex",
3021*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativePreIndex),
3022*f5c631daSSadaf Ebrahimi kNegativePreIndex},
3023*f5c631daSSadaf Ebrahimi {{al, r5, r14, minus, r9, LSL, 5, PreIndex},
3024*f5c631daSSadaf Ebrahimi "al r5 r14 minus r9 LSL 5 PreIndex",
3025*f5c631daSSadaf Ebrahimi "NegativePreIndex_al_r5_r14_minus_r9_LSL_5_PreIndex",
3026*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativePreIndex),
3027*f5c631daSSadaf Ebrahimi kNegativePreIndex},
3028*f5c631daSSadaf Ebrahimi {{al, r4, r3, minus, r7, ROR, 19, PreIndex},
3029*f5c631daSSadaf Ebrahimi "al r4 r3 minus r7 ROR 19 PreIndex",
3030*f5c631daSSadaf Ebrahimi "NegativePreIndex_al_r4_r3_minus_r7_ROR_19_PreIndex",
3031*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativePreIndex),
3032*f5c631daSSadaf Ebrahimi kNegativePreIndex},
3033*f5c631daSSadaf Ebrahimi {{al, r8, r7, minus, r11, LSL, 31, PreIndex},
3034*f5c631daSSadaf Ebrahimi "al r8 r7 minus r11 LSL 31 PreIndex",
3035*f5c631daSSadaf Ebrahimi "NegativePreIndex_al_r8_r7_minus_r11_LSL_31_PreIndex",
3036*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativePreIndex),
3037*f5c631daSSadaf Ebrahimi kNegativePreIndex},
3038*f5c631daSSadaf Ebrahimi {{al, r2, r11, minus, r5, LSL, 8, PreIndex},
3039*f5c631daSSadaf Ebrahimi "al r2 r11 minus r5 LSL 8 PreIndex",
3040*f5c631daSSadaf Ebrahimi "NegativePreIndex_al_r2_r11_minus_r5_LSL_8_PreIndex",
3041*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativePreIndex),
3042*f5c631daSSadaf Ebrahimi kNegativePreIndex},
3043*f5c631daSSadaf Ebrahimi {{al, r0, r7, minus, r9, ROR, 16, PreIndex},
3044*f5c631daSSadaf Ebrahimi "al r0 r7 minus r9 ROR 16 PreIndex",
3045*f5c631daSSadaf Ebrahimi "NegativePreIndex_al_r0_r7_minus_r9_ROR_16_PreIndex",
3046*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativePreIndex),
3047*f5c631daSSadaf Ebrahimi kNegativePreIndex},
3048*f5c631daSSadaf Ebrahimi {{al, r11, r8, minus, r0, ROR, 11, PreIndex},
3049*f5c631daSSadaf Ebrahimi "al r11 r8 minus r0 ROR 11 PreIndex",
3050*f5c631daSSadaf Ebrahimi "NegativePreIndex_al_r11_r8_minus_r0_ROR_11_PreIndex",
3051*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativePreIndex),
3052*f5c631daSSadaf Ebrahimi kNegativePreIndex},
3053*f5c631daSSadaf Ebrahimi {{al, r10, r1, minus, r0, ROR, 10, PreIndex},
3054*f5c631daSSadaf Ebrahimi "al r10 r1 minus r0 ROR 10 PreIndex",
3055*f5c631daSSadaf Ebrahimi "NegativePreIndex_al_r10_r1_minus_r0_ROR_10_PreIndex",
3056*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativePreIndex),
3057*f5c631daSSadaf Ebrahimi kNegativePreIndex},
3058*f5c631daSSadaf Ebrahimi {{al, r1, r5, minus, r6, ROR, 21, PreIndex},
3059*f5c631daSSadaf Ebrahimi "al r1 r5 minus r6 ROR 21 PreIndex",
3060*f5c631daSSadaf Ebrahimi "NegativePreIndex_al_r1_r5_minus_r6_ROR_21_PreIndex",
3061*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativePreIndex),
3062*f5c631daSSadaf Ebrahimi kNegativePreIndex},
3063*f5c631daSSadaf Ebrahimi {{al, r7, r1, minus, r2, LSL, 1, PreIndex},
3064*f5c631daSSadaf Ebrahimi "al r7 r1 minus r2 LSL 1 PreIndex",
3065*f5c631daSSadaf Ebrahimi "NegativePreIndex_al_r7_r1_minus_r2_LSL_1_PreIndex",
3066*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativePreIndex),
3067*f5c631daSSadaf Ebrahimi kNegativePreIndex},
3068*f5c631daSSadaf Ebrahimi {{al, r14, r1, minus, r4, LSL, 10, PreIndex},
3069*f5c631daSSadaf Ebrahimi "al r14 r1 minus r4 LSL 10 PreIndex",
3070*f5c631daSSadaf Ebrahimi "NegativePreIndex_al_r14_r1_minus_r4_LSL_10_PreIndex",
3071*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativePreIndex),
3072*f5c631daSSadaf Ebrahimi kNegativePreIndex},
3073*f5c631daSSadaf Ebrahimi {{al, r0, r12, minus, r5, ROR, 27, PreIndex},
3074*f5c631daSSadaf Ebrahimi "al r0 r12 minus r5 ROR 27 PreIndex",
3075*f5c631daSSadaf Ebrahimi "NegativePreIndex_al_r0_r12_minus_r5_ROR_27_PreIndex",
3076*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativePreIndex),
3077*f5c631daSSadaf Ebrahimi kNegativePreIndex},
3078*f5c631daSSadaf Ebrahimi {{al, r2, r11, minus, r9, ROR, 31, PreIndex},
3079*f5c631daSSadaf Ebrahimi "al r2 r11 minus r9 ROR 31 PreIndex",
3080*f5c631daSSadaf Ebrahimi "NegativePreIndex_al_r2_r11_minus_r9_ROR_31_PreIndex",
3081*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativePreIndex),
3082*f5c631daSSadaf Ebrahimi kNegativePreIndex},
3083*f5c631daSSadaf Ebrahimi {{al, r7, r12, minus, r0, LSL, 6, PreIndex},
3084*f5c631daSSadaf Ebrahimi "al r7 r12 minus r0 LSL 6 PreIndex",
3085*f5c631daSSadaf Ebrahimi "NegativePreIndex_al_r7_r12_minus_r0_LSL_6_PreIndex",
3086*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativePreIndex),
3087*f5c631daSSadaf Ebrahimi kNegativePreIndex},
3088*f5c631daSSadaf Ebrahimi {{al, r12, r14, minus, r9, ROR, 13, PreIndex},
3089*f5c631daSSadaf Ebrahimi "al r12 r14 minus r9 ROR 13 PreIndex",
3090*f5c631daSSadaf Ebrahimi "NegativePreIndex_al_r12_r14_minus_r9_ROR_13_PreIndex",
3091*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativePreIndex),
3092*f5c631daSSadaf Ebrahimi kNegativePreIndex},
3093*f5c631daSSadaf Ebrahimi {{al, r2, r6, minus, r11, LSL, 28, PreIndex},
3094*f5c631daSSadaf Ebrahimi "al r2 r6 minus r11 LSL 28 PreIndex",
3095*f5c631daSSadaf Ebrahimi "NegativePreIndex_al_r2_r6_minus_r11_LSL_28_PreIndex",
3096*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativePreIndex),
3097*f5c631daSSadaf Ebrahimi kNegativePreIndex},
3098*f5c631daSSadaf Ebrahimi {{al, r14, r1, minus, r0, ROR, 18, PreIndex},
3099*f5c631daSSadaf Ebrahimi "al r14 r1 minus r0 ROR 18 PreIndex",
3100*f5c631daSSadaf Ebrahimi "NegativePreIndex_al_r14_r1_minus_r0_ROR_18_PreIndex",
3101*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativePreIndex),
3102*f5c631daSSadaf Ebrahimi kNegativePreIndex},
3103*f5c631daSSadaf Ebrahimi {{al, r9, r1, minus, r6, LSL, 12, PreIndex},
3104*f5c631daSSadaf Ebrahimi "al r9 r1 minus r6 LSL 12 PreIndex",
3105*f5c631daSSadaf Ebrahimi "NegativePreIndex_al_r9_r1_minus_r6_LSL_12_PreIndex",
3106*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativePreIndex),
3107*f5c631daSSadaf Ebrahimi kNegativePreIndex},
3108*f5c631daSSadaf Ebrahimi {{al, r7, r4, minus, r0, LSL, 14, PreIndex},
3109*f5c631daSSadaf Ebrahimi "al r7 r4 minus r0 LSL 14 PreIndex",
3110*f5c631daSSadaf Ebrahimi "NegativePreIndex_al_r7_r4_minus_r0_LSL_14_PreIndex",
3111*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativePreIndex),
3112*f5c631daSSadaf Ebrahimi kNegativePreIndex},
3113*f5c631daSSadaf Ebrahimi {{al, r10, r11, minus, r9, ROR, 31, PreIndex},
3114*f5c631daSSadaf Ebrahimi "al r10 r11 minus r9 ROR 31 PreIndex",
3115*f5c631daSSadaf Ebrahimi "NegativePreIndex_al_r10_r11_minus_r9_ROR_31_PreIndex",
3116*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativePreIndex),
3117*f5c631daSSadaf Ebrahimi kNegativePreIndex},
3118*f5c631daSSadaf Ebrahimi {{al, r9, r1, minus, r14, LSL, 7, PreIndex},
3119*f5c631daSSadaf Ebrahimi "al r9 r1 minus r14 LSL 7 PreIndex",
3120*f5c631daSSadaf Ebrahimi "NegativePreIndex_al_r9_r1_minus_r14_LSL_7_PreIndex",
3121*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativePreIndex),
3122*f5c631daSSadaf Ebrahimi kNegativePreIndex},
3123*f5c631daSSadaf Ebrahimi {{al, r9, r5, minus, r11, ROR, 1, PreIndex},
3124*f5c631daSSadaf Ebrahimi "al r9 r5 minus r11 ROR 1 PreIndex",
3125*f5c631daSSadaf Ebrahimi "NegativePreIndex_al_r9_r5_minus_r11_ROR_1_PreIndex",
3126*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativePreIndex),
3127*f5c631daSSadaf Ebrahimi kNegativePreIndex},
3128*f5c631daSSadaf Ebrahimi {{al, r1, r14, minus, r11, LSL, 14, PreIndex},
3129*f5c631daSSadaf Ebrahimi "al r1 r14 minus r11 LSL 14 PreIndex",
3130*f5c631daSSadaf Ebrahimi "NegativePreIndex_al_r1_r14_minus_r11_LSL_14_PreIndex",
3131*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativePreIndex),
3132*f5c631daSSadaf Ebrahimi kNegativePreIndex},
3133*f5c631daSSadaf Ebrahimi {{al, r10, r12, minus, r8, LSL, 2, PreIndex},
3134*f5c631daSSadaf Ebrahimi "al r10 r12 minus r8 LSL 2 PreIndex",
3135*f5c631daSSadaf Ebrahimi "NegativePreIndex_al_r10_r12_minus_r8_LSL_2_PreIndex",
3136*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativePreIndex),
3137*f5c631daSSadaf Ebrahimi kNegativePreIndex},
3138*f5c631daSSadaf Ebrahimi {{al, r5, r8, minus, r3, ROR, 4, PreIndex},
3139*f5c631daSSadaf Ebrahimi "al r5 r8 minus r3 ROR 4 PreIndex",
3140*f5c631daSSadaf Ebrahimi "NegativePreIndex_al_r5_r8_minus_r3_ROR_4_PreIndex",
3141*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativePreIndex),
3142*f5c631daSSadaf Ebrahimi kNegativePreIndex},
3143*f5c631daSSadaf Ebrahimi {{al, r3, r0, minus, r1, ROR, 20, PreIndex},
3144*f5c631daSSadaf Ebrahimi "al r3 r0 minus r1 ROR 20 PreIndex",
3145*f5c631daSSadaf Ebrahimi "NegativePreIndex_al_r3_r0_minus_r1_ROR_20_PreIndex",
3146*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativePreIndex),
3147*f5c631daSSadaf Ebrahimi kNegativePreIndex},
3148*f5c631daSSadaf Ebrahimi {{al, r5, r2, minus, r11, ROR, 5, PreIndex},
3149*f5c631daSSadaf Ebrahimi "al r5 r2 minus r11 ROR 5 PreIndex",
3150*f5c631daSSadaf Ebrahimi "NegativePreIndex_al_r5_r2_minus_r11_ROR_5_PreIndex",
3151*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativePreIndex),
3152*f5c631daSSadaf Ebrahimi kNegativePreIndex},
3153*f5c631daSSadaf Ebrahimi {{al, r3, r7, minus, r9, LSL, 14, PreIndex},
3154*f5c631daSSadaf Ebrahimi "al r3 r7 minus r9 LSL 14 PreIndex",
3155*f5c631daSSadaf Ebrahimi "NegativePreIndex_al_r3_r7_minus_r9_LSL_14_PreIndex",
3156*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativePreIndex),
3157*f5c631daSSadaf Ebrahimi kNegativePreIndex},
3158*f5c631daSSadaf Ebrahimi {{al, r3, r0, minus, r5, ROR, 20, PreIndex},
3159*f5c631daSSadaf Ebrahimi "al r3 r0 minus r5 ROR 20 PreIndex",
3160*f5c631daSSadaf Ebrahimi "NegativePreIndex_al_r3_r0_minus_r5_ROR_20_PreIndex",
3161*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativePreIndex),
3162*f5c631daSSadaf Ebrahimi kNegativePreIndex},
3163*f5c631daSSadaf Ebrahimi {{al, r2, r8, minus, r5, ROR, 17, PreIndex},
3164*f5c631daSSadaf Ebrahimi "al r2 r8 minus r5 ROR 17 PreIndex",
3165*f5c631daSSadaf Ebrahimi "NegativePreIndex_al_r2_r8_minus_r5_ROR_17_PreIndex",
3166*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativePreIndex),
3167*f5c631daSSadaf Ebrahimi kNegativePreIndex},
3168*f5c631daSSadaf Ebrahimi {{al, r1, r2, minus, r14, ROR, 2, PreIndex},
3169*f5c631daSSadaf Ebrahimi "al r1 r2 minus r14 ROR 2 PreIndex",
3170*f5c631daSSadaf Ebrahimi "NegativePreIndex_al_r1_r2_minus_r14_ROR_2_PreIndex",
3171*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativePreIndex),
3172*f5c631daSSadaf Ebrahimi kNegativePreIndex},
3173*f5c631daSSadaf Ebrahimi {{al, r8, r4, minus, r2, ROR, 10, PreIndex},
3174*f5c631daSSadaf Ebrahimi "al r8 r4 minus r2 ROR 10 PreIndex",
3175*f5c631daSSadaf Ebrahimi "NegativePreIndex_al_r8_r4_minus_r2_ROR_10_PreIndex",
3176*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativePreIndex),
3177*f5c631daSSadaf Ebrahimi kNegativePreIndex},
3178*f5c631daSSadaf Ebrahimi {{al, r0, r12, minus, r6, LSL, 28, PreIndex},
3179*f5c631daSSadaf Ebrahimi "al r0 r12 minus r6 LSL 28 PreIndex",
3180*f5c631daSSadaf Ebrahimi "NegativePreIndex_al_r0_r12_minus_r6_LSL_28_PreIndex",
3181*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativePreIndex),
3182*f5c631daSSadaf Ebrahimi kNegativePreIndex},
3183*f5c631daSSadaf Ebrahimi {{al, r7, r4, minus, r12, LSL, 22, PreIndex},
3184*f5c631daSSadaf Ebrahimi "al r7 r4 minus r12 LSL 22 PreIndex",
3185*f5c631daSSadaf Ebrahimi "NegativePreIndex_al_r7_r4_minus_r12_LSL_22_PreIndex",
3186*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativePreIndex),
3187*f5c631daSSadaf Ebrahimi kNegativePreIndex},
3188*f5c631daSSadaf Ebrahimi {{al, r3, r6, minus, r5, ROR, 7, PreIndex},
3189*f5c631daSSadaf Ebrahimi "al r3 r6 minus r5 ROR 7 PreIndex",
3190*f5c631daSSadaf Ebrahimi "NegativePreIndex_al_r3_r6_minus_r5_ROR_7_PreIndex",
3191*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativePreIndex),
3192*f5c631daSSadaf Ebrahimi kNegativePreIndex},
3193*f5c631daSSadaf Ebrahimi {{al, r6, r14, minus, r5, ROR, 28, PreIndex},
3194*f5c631daSSadaf Ebrahimi "al r6 r14 minus r5 ROR 28 PreIndex",
3195*f5c631daSSadaf Ebrahimi "NegativePreIndex_al_r6_r14_minus_r5_ROR_28_PreIndex",
3196*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativePreIndex),
3197*f5c631daSSadaf Ebrahimi kNegativePreIndex},
3198*f5c631daSSadaf Ebrahimi {{al, r4, r2, minus, r8, ROR, 5, PreIndex},
3199*f5c631daSSadaf Ebrahimi "al r4 r2 minus r8 ROR 5 PreIndex",
3200*f5c631daSSadaf Ebrahimi "NegativePreIndex_al_r4_r2_minus_r8_ROR_5_PreIndex",
3201*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativePreIndex),
3202*f5c631daSSadaf Ebrahimi kNegativePreIndex},
3203*f5c631daSSadaf Ebrahimi {{al, r8, r9, minus, r3, ROR, 7, PreIndex},
3204*f5c631daSSadaf Ebrahimi "al r8 r9 minus r3 ROR 7 PreIndex",
3205*f5c631daSSadaf Ebrahimi "NegativePreIndex_al_r8_r9_minus_r3_ROR_7_PreIndex",
3206*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativePreIndex),
3207*f5c631daSSadaf Ebrahimi kNegativePreIndex},
3208*f5c631daSSadaf Ebrahimi {{al, r8, r14, minus, r11, LSL, 11, PreIndex},
3209*f5c631daSSadaf Ebrahimi "al r8 r14 minus r11 LSL 11 PreIndex",
3210*f5c631daSSadaf Ebrahimi "NegativePreIndex_al_r8_r14_minus_r11_LSL_11_PreIndex",
3211*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativePreIndex),
3212*f5c631daSSadaf Ebrahimi kNegativePreIndex},
3213*f5c631daSSadaf Ebrahimi {{al, r7, r6, minus, r4, LSL, 28, PreIndex},
3214*f5c631daSSadaf Ebrahimi "al r7 r6 minus r4 LSL 28 PreIndex",
3215*f5c631daSSadaf Ebrahimi "NegativePreIndex_al_r7_r6_minus_r4_LSL_28_PreIndex",
3216*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativePreIndex),
3217*f5c631daSSadaf Ebrahimi kNegativePreIndex},
3218*f5c631daSSadaf Ebrahimi {{al, r12, r9, minus, r8, ROR, 28, PreIndex},
3219*f5c631daSSadaf Ebrahimi "al r12 r9 minus r8 ROR 28 PreIndex",
3220*f5c631daSSadaf Ebrahimi "NegativePreIndex_al_r12_r9_minus_r8_ROR_28_PreIndex",
3221*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativePreIndex),
3222*f5c631daSSadaf Ebrahimi kNegativePreIndex},
3223*f5c631daSSadaf Ebrahimi {{al, r7, r14, minus, r10, ROR, 1, PreIndex},
3224*f5c631daSSadaf Ebrahimi "al r7 r14 minus r10 ROR 1 PreIndex",
3225*f5c631daSSadaf Ebrahimi "NegativePreIndex_al_r7_r14_minus_r10_ROR_1_PreIndex",
3226*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativePreIndex),
3227*f5c631daSSadaf Ebrahimi kNegativePreIndex},
3228*f5c631daSSadaf Ebrahimi {{al, r2, r1, minus, r0, ROR, 11, PreIndex},
3229*f5c631daSSadaf Ebrahimi "al r2 r1 minus r0 ROR 11 PreIndex",
3230*f5c631daSSadaf Ebrahimi "NegativePreIndex_al_r2_r1_minus_r0_ROR_11_PreIndex",
3231*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativePreIndex),
3232*f5c631daSSadaf Ebrahimi kNegativePreIndex},
3233*f5c631daSSadaf Ebrahimi {{al, r3, r9, minus, r6, ROR, 13, PreIndex},
3234*f5c631daSSadaf Ebrahimi "al r3 r9 minus r6 ROR 13 PreIndex",
3235*f5c631daSSadaf Ebrahimi "NegativePreIndex_al_r3_r9_minus_r6_ROR_13_PreIndex",
3236*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativePreIndex),
3237*f5c631daSSadaf Ebrahimi kNegativePreIndex},
3238*f5c631daSSadaf Ebrahimi {{al, r7, r11, minus, r3, ROR, 28, PreIndex},
3239*f5c631daSSadaf Ebrahimi "al r7 r11 minus r3 ROR 28 PreIndex",
3240*f5c631daSSadaf Ebrahimi "NegativePreIndex_al_r7_r11_minus_r3_ROR_28_PreIndex",
3241*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativePreIndex),
3242*f5c631daSSadaf Ebrahimi kNegativePreIndex},
3243*f5c631daSSadaf Ebrahimi {{al, r12, r4, minus, r3, LSL, 17, PreIndex},
3244*f5c631daSSadaf Ebrahimi "al r12 r4 minus r3 LSL 17 PreIndex",
3245*f5c631daSSadaf Ebrahimi "NegativePreIndex_al_r12_r4_minus_r3_LSL_17_PreIndex",
3246*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativePreIndex),
3247*f5c631daSSadaf Ebrahimi kNegativePreIndex},
3248*f5c631daSSadaf Ebrahimi {{al, r12, r3, minus, r5, LSL, 4, PreIndex},
3249*f5c631daSSadaf Ebrahimi "al r12 r3 minus r5 LSL 4 PreIndex",
3250*f5c631daSSadaf Ebrahimi "NegativePreIndex_al_r12_r3_minus_r5_LSL_4_PreIndex",
3251*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativePreIndex),
3252*f5c631daSSadaf Ebrahimi kNegativePreIndex},
3253*f5c631daSSadaf Ebrahimi {{al, r9, r1, minus, r7, LSL, 19, PreIndex},
3254*f5c631daSSadaf Ebrahimi "al r9 r1 minus r7 LSL 19 PreIndex",
3255*f5c631daSSadaf Ebrahimi "NegativePreIndex_al_r9_r1_minus_r7_LSL_19_PreIndex",
3256*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativePreIndex),
3257*f5c631daSSadaf Ebrahimi kNegativePreIndex},
3258*f5c631daSSadaf Ebrahimi {{al, r2, r11, minus, r7, ROR, 5, PreIndex},
3259*f5c631daSSadaf Ebrahimi "al r2 r11 minus r7 ROR 5 PreIndex",
3260*f5c631daSSadaf Ebrahimi "NegativePreIndex_al_r2_r11_minus_r7_ROR_5_PreIndex",
3261*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativePreIndex),
3262*f5c631daSSadaf Ebrahimi kNegativePreIndex},
3263*f5c631daSSadaf Ebrahimi {{al, r5, r9, minus, r6, LSL, 11, PreIndex},
3264*f5c631daSSadaf Ebrahimi "al r5 r9 minus r6 LSL 11 PreIndex",
3265*f5c631daSSadaf Ebrahimi "NegativePreIndex_al_r5_r9_minus_r6_LSL_11_PreIndex",
3266*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativePreIndex),
3267*f5c631daSSadaf Ebrahimi kNegativePreIndex},
3268*f5c631daSSadaf Ebrahimi {{al, r3, r7, minus, r2, LSL, 12, PreIndex},
3269*f5c631daSSadaf Ebrahimi "al r3 r7 minus r2 LSL 12 PreIndex",
3270*f5c631daSSadaf Ebrahimi "NegativePreIndex_al_r3_r7_minus_r2_LSL_12_PreIndex",
3271*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativePreIndex),
3272*f5c631daSSadaf Ebrahimi kNegativePreIndex},
3273*f5c631daSSadaf Ebrahimi {{al, r4, r8, minus, r0, LSL, 3, PreIndex},
3274*f5c631daSSadaf Ebrahimi "al r4 r8 minus r0 LSL 3 PreIndex",
3275*f5c631daSSadaf Ebrahimi "NegativePreIndex_al_r4_r8_minus_r0_LSL_3_PreIndex",
3276*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativePreIndex),
3277*f5c631daSSadaf Ebrahimi kNegativePreIndex},
3278*f5c631daSSadaf Ebrahimi {{al, r8, r10, minus, r5, ROR, 8, PreIndex},
3279*f5c631daSSadaf Ebrahimi "al r8 r10 minus r5 ROR 8 PreIndex",
3280*f5c631daSSadaf Ebrahimi "NegativePreIndex_al_r8_r10_minus_r5_ROR_8_PreIndex",
3281*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativePreIndex),
3282*f5c631daSSadaf Ebrahimi kNegativePreIndex},
3283*f5c631daSSadaf Ebrahimi {{al, r11, r14, minus, r0, LSL, 17, PreIndex},
3284*f5c631daSSadaf Ebrahimi "al r11 r14 minus r0 LSL 17 PreIndex",
3285*f5c631daSSadaf Ebrahimi "NegativePreIndex_al_r11_r14_minus_r0_LSL_17_PreIndex",
3286*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativePreIndex),
3287*f5c631daSSadaf Ebrahimi kNegativePreIndex},
3288*f5c631daSSadaf Ebrahimi {{al, r7, r0, minus, r3, ROR, 10, PreIndex},
3289*f5c631daSSadaf Ebrahimi "al r7 r0 minus r3 ROR 10 PreIndex",
3290*f5c631daSSadaf Ebrahimi "NegativePreIndex_al_r7_r0_minus_r3_ROR_10_PreIndex",
3291*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativePreIndex),
3292*f5c631daSSadaf Ebrahimi kNegativePreIndex},
3293*f5c631daSSadaf Ebrahimi {{al, r4, r12, minus, r1, LSL, 20, PreIndex},
3294*f5c631daSSadaf Ebrahimi "al r4 r12 minus r1 LSL 20 PreIndex",
3295*f5c631daSSadaf Ebrahimi "NegativePreIndex_al_r4_r12_minus_r1_LSL_20_PreIndex",
3296*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativePreIndex),
3297*f5c631daSSadaf Ebrahimi kNegativePreIndex},
3298*f5c631daSSadaf Ebrahimi {{al, r3, r2, minus, r4, LSL, 14, PreIndex},
3299*f5c631daSSadaf Ebrahimi "al r3 r2 minus r4 LSL 14 PreIndex",
3300*f5c631daSSadaf Ebrahimi "NegativePreIndex_al_r3_r2_minus_r4_LSL_14_PreIndex",
3301*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativePreIndex),
3302*f5c631daSSadaf Ebrahimi kNegativePreIndex},
3303*f5c631daSSadaf Ebrahimi {{al, r4, r6, minus, r11, LSL, 24, PreIndex},
3304*f5c631daSSadaf Ebrahimi "al r4 r6 minus r11 LSL 24 PreIndex",
3305*f5c631daSSadaf Ebrahimi "NegativePreIndex_al_r4_r6_minus_r11_LSL_24_PreIndex",
3306*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativePreIndex),
3307*f5c631daSSadaf Ebrahimi kNegativePreIndex},
3308*f5c631daSSadaf Ebrahimi {{al, r3, r6, minus, r10, LSL, 8, PreIndex},
3309*f5c631daSSadaf Ebrahimi "al r3 r6 minus r10 LSL 8 PreIndex",
3310*f5c631daSSadaf Ebrahimi "NegativePreIndex_al_r3_r6_minus_r10_LSL_8_PreIndex",
3311*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativePreIndex),
3312*f5c631daSSadaf Ebrahimi kNegativePreIndex},
3313*f5c631daSSadaf Ebrahimi {{al, r12, r3, minus, r9, LSL, 7, PreIndex},
3314*f5c631daSSadaf Ebrahimi "al r12 r3 minus r9 LSL 7 PreIndex",
3315*f5c631daSSadaf Ebrahimi "NegativePreIndex_al_r12_r3_minus_r9_LSL_7_PreIndex",
3316*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativePreIndex),
3317*f5c631daSSadaf Ebrahimi kNegativePreIndex},
3318*f5c631daSSadaf Ebrahimi {{al, r2, r1, minus, r14, ROR, 17, PreIndex},
3319*f5c631daSSadaf Ebrahimi "al r2 r1 minus r14 ROR 17 PreIndex",
3320*f5c631daSSadaf Ebrahimi "NegativePreIndex_al_r2_r1_minus_r14_ROR_17_PreIndex",
3321*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativePreIndex),
3322*f5c631daSSadaf Ebrahimi kNegativePreIndex},
3323*f5c631daSSadaf Ebrahimi {{al, r12, r10, minus, r6, ROR, 5, PreIndex},
3324*f5c631daSSadaf Ebrahimi "al r12 r10 minus r6 ROR 5 PreIndex",
3325*f5c631daSSadaf Ebrahimi "NegativePreIndex_al_r12_r10_minus_r6_ROR_5_PreIndex",
3326*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativePreIndex),
3327*f5c631daSSadaf Ebrahimi kNegativePreIndex},
3328*f5c631daSSadaf Ebrahimi {{al, r7, r1, minus, r5, ROR, 20, PreIndex},
3329*f5c631daSSadaf Ebrahimi "al r7 r1 minus r5 ROR 20 PreIndex",
3330*f5c631daSSadaf Ebrahimi "NegativePreIndex_al_r7_r1_minus_r5_ROR_20_PreIndex",
3331*f5c631daSSadaf Ebrahimi ARRAY_SIZE(kNegativePreIndex),
3332*f5c631daSSadaf Ebrahimi kNegativePreIndex}};
3333*f5c631daSSadaf Ebrahimi
3334*f5c631daSSadaf Ebrahimi // We record all inputs to the instructions as outputs. This way, we also check
3335*f5c631daSSadaf Ebrahimi // that what shouldn't change didn't change.
3336*f5c631daSSadaf Ebrahimi struct TestResult {
3337*f5c631daSSadaf Ebrahimi size_t output_size;
3338*f5c631daSSadaf Ebrahimi const Inputs* outputs;
3339*f5c631daSSadaf Ebrahimi };
3340*f5c631daSSadaf Ebrahimi
3341*f5c631daSSadaf Ebrahimi // These headers each contain an array of `TestResult` with the reference output
3342*f5c631daSSadaf Ebrahimi // values. The reference arrays are names `kReference{mnemonic}`.
3343*f5c631daSSadaf Ebrahimi #include "aarch32/traces/simulator-cond-rd-memop-rs-shift-amount-1to31-ldr-a32.h"
3344*f5c631daSSadaf Ebrahimi #include "aarch32/traces/simulator-cond-rd-memop-rs-shift-amount-1to31-ldrb-a32.h"
3345*f5c631daSSadaf Ebrahimi #include "aarch32/traces/simulator-cond-rd-memop-rs-shift-amount-1to31-str-a32.h"
3346*f5c631daSSadaf Ebrahimi #include "aarch32/traces/simulator-cond-rd-memop-rs-shift-amount-1to31-strb-a32.h"
3347*f5c631daSSadaf Ebrahimi
3348*f5c631daSSadaf Ebrahimi
3349*f5c631daSSadaf Ebrahimi // The maximum number of errors to report in detail for each test.
3350*f5c631daSSadaf Ebrahimi const unsigned kErrorReportLimit = 8;
3351*f5c631daSSadaf Ebrahimi
3352*f5c631daSSadaf Ebrahimi typedef void (MacroAssembler::*Fn)(Condition cond,
3353*f5c631daSSadaf Ebrahimi Register rd,
3354*f5c631daSSadaf Ebrahimi const MemOperand& memop);
3355*f5c631daSSadaf Ebrahimi
TestHelper(Fn instruction,const char * mnemonic,const TestResult reference[])3356*f5c631daSSadaf Ebrahimi void TestHelper(Fn instruction,
3357*f5c631daSSadaf Ebrahimi const char* mnemonic,
3358*f5c631daSSadaf Ebrahimi const TestResult reference[]) {
3359*f5c631daSSadaf Ebrahimi SETUP();
3360*f5c631daSSadaf Ebrahimi masm.UseA32();
3361*f5c631daSSadaf Ebrahimi START();
3362*f5c631daSSadaf Ebrahimi
3363*f5c631daSSadaf Ebrahimi // Data to compare to `reference`.
3364*f5c631daSSadaf Ebrahimi TestResult* results[ARRAY_SIZE(kTests)];
3365*f5c631daSSadaf Ebrahimi
3366*f5c631daSSadaf Ebrahimi // Test cases for memory bound instructions may allocate a buffer and save its
3367*f5c631daSSadaf Ebrahimi // address in this array.
3368*f5c631daSSadaf Ebrahimi byte* scratch_memory_buffers[ARRAY_SIZE(kTests)];
3369*f5c631daSSadaf Ebrahimi
3370*f5c631daSSadaf Ebrahimi // Generate a loop for each element in `kTests`. Each loop tests one specific
3371*f5c631daSSadaf Ebrahimi // instruction.
3372*f5c631daSSadaf Ebrahimi for (unsigned i = 0; i < ARRAY_SIZE(kTests); i++) {
3373*f5c631daSSadaf Ebrahimi // Allocate results on the heap for this test.
3374*f5c631daSSadaf Ebrahimi results[i] = new TestResult;
3375*f5c631daSSadaf Ebrahimi results[i]->outputs = new Inputs[kTests[i].input_size];
3376*f5c631daSSadaf Ebrahimi results[i]->output_size = kTests[i].input_size;
3377*f5c631daSSadaf Ebrahimi
3378*f5c631daSSadaf Ebrahimi size_t input_stride = sizeof(kTests[i].inputs[0]) * kTests[i].input_size;
3379*f5c631daSSadaf Ebrahimi VIXL_ASSERT(IsUint32(input_stride));
3380*f5c631daSSadaf Ebrahimi
3381*f5c631daSSadaf Ebrahimi scratch_memory_buffers[i] = NULL;
3382*f5c631daSSadaf Ebrahimi
3383*f5c631daSSadaf Ebrahimi Label loop;
3384*f5c631daSSadaf Ebrahimi UseScratchRegisterScope scratch_registers(&masm);
3385*f5c631daSSadaf Ebrahimi // Include all registers from r0 ro r12.
3386*f5c631daSSadaf Ebrahimi scratch_registers.Include(RegisterList(0x1fff));
3387*f5c631daSSadaf Ebrahimi
3388*f5c631daSSadaf Ebrahimi // Values to pass to the macro-assembler.
3389*f5c631daSSadaf Ebrahimi Condition cond = kTests[i].operands.cond;
3390*f5c631daSSadaf Ebrahimi Register rd = kTests[i].operands.rd;
3391*f5c631daSSadaf Ebrahimi Register rn = kTests[i].operands.rn;
3392*f5c631daSSadaf Ebrahimi Sign sign = kTests[i].operands.sign;
3393*f5c631daSSadaf Ebrahimi Register rm = kTests[i].operands.rm;
3394*f5c631daSSadaf Ebrahimi ShiftType shift = kTests[i].operands.shift;
3395*f5c631daSSadaf Ebrahimi uint32_t amount = kTests[i].operands.amount;
3396*f5c631daSSadaf Ebrahimi AddrMode addr_mode = kTests[i].operands.addr_mode;
3397*f5c631daSSadaf Ebrahimi MemOperand memop(rn, sign, rm, shift, amount, addr_mode);
3398*f5c631daSSadaf Ebrahimi scratch_registers.Exclude(rd);
3399*f5c631daSSadaf Ebrahimi scratch_registers.Exclude(rn);
3400*f5c631daSSadaf Ebrahimi scratch_registers.Exclude(rm);
3401*f5c631daSSadaf Ebrahimi
3402*f5c631daSSadaf Ebrahimi // Allocate reserved registers for our own use.
3403*f5c631daSSadaf Ebrahimi Register input_ptr = scratch_registers.Acquire();
3404*f5c631daSSadaf Ebrahimi Register input_end = scratch_registers.Acquire();
3405*f5c631daSSadaf Ebrahimi Register result_ptr = scratch_registers.Acquire();
3406*f5c631daSSadaf Ebrahimi
3407*f5c631daSSadaf Ebrahimi // Initialize `input_ptr` to the first element and `input_end` the address
3408*f5c631daSSadaf Ebrahimi // after the array.
3409*f5c631daSSadaf Ebrahimi __ Mov(input_ptr, Operand::From(kTests[i].inputs));
3410*f5c631daSSadaf Ebrahimi __ Add(input_end, input_ptr, static_cast<uint32_t>(input_stride));
3411*f5c631daSSadaf Ebrahimi __ Mov(result_ptr, Operand::From(results[i]->outputs));
3412*f5c631daSSadaf Ebrahimi __ Bind(&loop);
3413*f5c631daSSadaf Ebrahimi
3414*f5c631daSSadaf Ebrahimi {
3415*f5c631daSSadaf Ebrahimi UseScratchRegisterScope temp_registers(&masm);
3416*f5c631daSSadaf Ebrahimi Register nzcv_bits = temp_registers.Acquire();
3417*f5c631daSSadaf Ebrahimi Register saved_q_bit = temp_registers.Acquire();
3418*f5c631daSSadaf Ebrahimi // Save the `Q` bit flag.
3419*f5c631daSSadaf Ebrahimi __ Mrs(saved_q_bit, APSR);
3420*f5c631daSSadaf Ebrahimi __ And(saved_q_bit, saved_q_bit, QFlag);
3421*f5c631daSSadaf Ebrahimi // Set the `NZCV` and `Q` flags together.
3422*f5c631daSSadaf Ebrahimi __ Ldr(nzcv_bits, MemOperand(input_ptr, offsetof(Inputs, apsr)));
3423*f5c631daSSadaf Ebrahimi __ Orr(nzcv_bits, nzcv_bits, saved_q_bit);
3424*f5c631daSSadaf Ebrahimi __ Msr(APSR_nzcvq, nzcv_bits);
3425*f5c631daSSadaf Ebrahimi }
3426*f5c631daSSadaf Ebrahimi __ Ldr(rd, MemOperand(input_ptr, offsetof(Inputs, rd)));
3427*f5c631daSSadaf Ebrahimi __ Ldr(rm, MemOperand(input_ptr, offsetof(Inputs, rm)));
3428*f5c631daSSadaf Ebrahimi // Allocate 4 bytes for the instruction to work with.
3429*f5c631daSSadaf Ebrahimi scratch_memory_buffers[i] = new byte[4];
3430*f5c631daSSadaf Ebrahimi {
3431*f5c631daSSadaf Ebrahimi UseScratchRegisterScope temp_registers(&masm);
3432*f5c631daSSadaf Ebrahimi
3433*f5c631daSSadaf Ebrahimi Register memop_tmp = temp_registers.Acquire();
3434*f5c631daSSadaf Ebrahimi Register base_register = memop.GetBaseRegister();
3435*f5c631daSSadaf Ebrahimi
3436*f5c631daSSadaf Ebrahimi // Write the expected data into the scratch buffer.
3437*f5c631daSSadaf Ebrahimi __ Mov(base_register, Operand::From(scratch_memory_buffers[i]));
3438*f5c631daSSadaf Ebrahimi __ Ldr(memop_tmp, MemOperand(input_ptr, offsetof(Inputs, memop) + 4));
3439*f5c631daSSadaf Ebrahimi __ Str(memop_tmp, MemOperand(base_register));
3440*f5c631daSSadaf Ebrahimi
3441*f5c631daSSadaf Ebrahimi // Compute the address to put into the base register so that the
3442*f5c631daSSadaf Ebrahimi // `MemOperand` points to the right location.
3443*f5c631daSSadaf Ebrahimi // TODO: Support more kinds of `MemOperand`.
3444*f5c631daSSadaf Ebrahimi if (!memop.IsPostIndex()) {
3445*f5c631daSSadaf Ebrahimi if (memop.IsImmediate()) {
3446*f5c631daSSadaf Ebrahimi if (memop.GetSign().IsPlus()) {
3447*f5c631daSSadaf Ebrahimi __ Mov(memop_tmp, memop.GetOffsetImmediate());
3448*f5c631daSSadaf Ebrahimi __ Sub(base_register, base_register, memop_tmp);
3449*f5c631daSSadaf Ebrahimi } else {
3450*f5c631daSSadaf Ebrahimi __ Mov(memop_tmp, -memop.GetOffsetImmediate());
3451*f5c631daSSadaf Ebrahimi __ Add(base_register, base_register, memop_tmp);
3452*f5c631daSSadaf Ebrahimi }
3453*f5c631daSSadaf Ebrahimi } else if (memop.IsShiftedRegister()) {
3454*f5c631daSSadaf Ebrahimi __ Mov(memop_tmp,
3455*f5c631daSSadaf Ebrahimi Operand(memop.GetOffsetRegister(),
3456*f5c631daSSadaf Ebrahimi memop.GetShift(),
3457*f5c631daSSadaf Ebrahimi memop.GetShiftAmount()));
3458*f5c631daSSadaf Ebrahimi if (memop.GetSign().IsPlus()) {
3459*f5c631daSSadaf Ebrahimi __ Sub(base_register, base_register, memop_tmp);
3460*f5c631daSSadaf Ebrahimi } else {
3461*f5c631daSSadaf Ebrahimi __ Add(base_register, base_register, memop_tmp);
3462*f5c631daSSadaf Ebrahimi }
3463*f5c631daSSadaf Ebrahimi }
3464*f5c631daSSadaf Ebrahimi }
3465*f5c631daSSadaf Ebrahimi }
3466*f5c631daSSadaf Ebrahimi
3467*f5c631daSSadaf Ebrahimi
3468*f5c631daSSadaf Ebrahimi (masm.*instruction)(cond, rd, memop);
3469*f5c631daSSadaf Ebrahimi
3470*f5c631daSSadaf Ebrahimi {
3471*f5c631daSSadaf Ebrahimi UseScratchRegisterScope temp_registers(&masm);
3472*f5c631daSSadaf Ebrahimi Register nzcv_bits = temp_registers.Acquire();
3473*f5c631daSSadaf Ebrahimi __ Mrs(nzcv_bits, APSR);
3474*f5c631daSSadaf Ebrahimi // Only record the NZCV bits.
3475*f5c631daSSadaf Ebrahimi __ And(nzcv_bits, nzcv_bits, NZCVFlag);
3476*f5c631daSSadaf Ebrahimi __ Str(nzcv_bits, MemOperand(result_ptr, offsetof(Inputs, apsr)));
3477*f5c631daSSadaf Ebrahimi }
3478*f5c631daSSadaf Ebrahimi __ Str(rd, MemOperand(result_ptr, offsetof(Inputs, rd)));
3479*f5c631daSSadaf Ebrahimi __ Str(rm, MemOperand(result_ptr, offsetof(Inputs, rm)));
3480*f5c631daSSadaf Ebrahimi {
3481*f5c631daSSadaf Ebrahimi UseScratchRegisterScope temp_registers(&masm);
3482*f5c631daSSadaf Ebrahimi Register memop_tmp = temp_registers.Acquire();
3483*f5c631daSSadaf Ebrahimi Register base_register = memop.GetBaseRegister();
3484*f5c631daSSadaf Ebrahimi
3485*f5c631daSSadaf Ebrahimi // Compute the address of the scratch buffer by from the base register. If
3486*f5c631daSSadaf Ebrahimi // the instruction has updated the base register, we will be able to
3487*f5c631daSSadaf Ebrahimi // record it.
3488*f5c631daSSadaf Ebrahimi if (!memop.IsPostIndex()) {
3489*f5c631daSSadaf Ebrahimi if (memop.IsImmediate()) {
3490*f5c631daSSadaf Ebrahimi if (memop.GetSign().IsPlus()) {
3491*f5c631daSSadaf Ebrahimi __ Mov(memop_tmp, memop.GetOffsetImmediate());
3492*f5c631daSSadaf Ebrahimi __ Add(base_register, base_register, memop_tmp);
3493*f5c631daSSadaf Ebrahimi } else {
3494*f5c631daSSadaf Ebrahimi __ Mov(memop_tmp, -memop.GetOffsetImmediate());
3495*f5c631daSSadaf Ebrahimi __ Sub(base_register, base_register, memop_tmp);
3496*f5c631daSSadaf Ebrahimi }
3497*f5c631daSSadaf Ebrahimi } else if (memop.IsShiftedRegister()) {
3498*f5c631daSSadaf Ebrahimi __ Mov(memop_tmp,
3499*f5c631daSSadaf Ebrahimi Operand(memop.GetOffsetRegister(),
3500*f5c631daSSadaf Ebrahimi memop.GetShift(),
3501*f5c631daSSadaf Ebrahimi memop.GetShiftAmount()));
3502*f5c631daSSadaf Ebrahimi if (memop.GetSign().IsPlus()) {
3503*f5c631daSSadaf Ebrahimi __ Add(base_register, base_register, memop_tmp);
3504*f5c631daSSadaf Ebrahimi } else {
3505*f5c631daSSadaf Ebrahimi __ Sub(base_register, base_register, memop_tmp);
3506*f5c631daSSadaf Ebrahimi }
3507*f5c631daSSadaf Ebrahimi }
3508*f5c631daSSadaf Ebrahimi }
3509*f5c631daSSadaf Ebrahimi
3510*f5c631daSSadaf Ebrahimi // Record the value of the base register, as an offset from the scratch
3511*f5c631daSSadaf Ebrahimi // buffer's address.
3512*f5c631daSSadaf Ebrahimi __ Mov(memop_tmp, Operand::From(scratch_memory_buffers[i]));
3513*f5c631daSSadaf Ebrahimi __ Sub(base_register, base_register, memop_tmp);
3514*f5c631daSSadaf Ebrahimi __ Str(base_register, MemOperand(result_ptr, offsetof(Inputs, memop)));
3515*f5c631daSSadaf Ebrahimi
3516*f5c631daSSadaf Ebrahimi // Record the 32 bit word from memory.
3517*f5c631daSSadaf Ebrahimi __ Ldr(memop_tmp, MemOperand(memop_tmp));
3518*f5c631daSSadaf Ebrahimi __ Str(memop_tmp, MemOperand(result_ptr, offsetof(Inputs, memop) + 4));
3519*f5c631daSSadaf Ebrahimi }
3520*f5c631daSSadaf Ebrahimi
3521*f5c631daSSadaf Ebrahimi
3522*f5c631daSSadaf Ebrahimi // Advance the result pointer.
3523*f5c631daSSadaf Ebrahimi __ Add(result_ptr, result_ptr, Operand::From(sizeof(kTests[i].inputs[0])));
3524*f5c631daSSadaf Ebrahimi // Loop back until `input_ptr` is lower than `input_base`.
3525*f5c631daSSadaf Ebrahimi __ Add(input_ptr, input_ptr, Operand::From(sizeof(kTests[i].inputs[0])));
3526*f5c631daSSadaf Ebrahimi __ Cmp(input_ptr, input_end);
3527*f5c631daSSadaf Ebrahimi __ B(ne, &loop);
3528*f5c631daSSadaf Ebrahimi }
3529*f5c631daSSadaf Ebrahimi
3530*f5c631daSSadaf Ebrahimi END();
3531*f5c631daSSadaf Ebrahimi
3532*f5c631daSSadaf Ebrahimi RUN();
3533*f5c631daSSadaf Ebrahimi
3534*f5c631daSSadaf Ebrahimi if (Test::generate_test_trace()) {
3535*f5c631daSSadaf Ebrahimi // Print the results.
3536*f5c631daSSadaf Ebrahimi for (size_t i = 0; i < ARRAY_SIZE(kTests); i++) {
3537*f5c631daSSadaf Ebrahimi printf("const Inputs kOutputs_%s_%s[] = {\n",
3538*f5c631daSSadaf Ebrahimi mnemonic,
3539*f5c631daSSadaf Ebrahimi kTests[i].identifier);
3540*f5c631daSSadaf Ebrahimi for (size_t j = 0; j < results[i]->output_size; j++) {
3541*f5c631daSSadaf Ebrahimi printf(" { ");
3542*f5c631daSSadaf Ebrahimi printf("0x%08" PRIx32, results[i]->outputs[j].apsr);
3543*f5c631daSSadaf Ebrahimi printf(", ");
3544*f5c631daSSadaf Ebrahimi printf("0x%08" PRIx32, results[i]->outputs[j].rd);
3545*f5c631daSSadaf Ebrahimi printf(", ");
3546*f5c631daSSadaf Ebrahimi printf("0x%08" PRIx32, results[i]->outputs[j].rm);
3547*f5c631daSSadaf Ebrahimi printf(", ");
3548*f5c631daSSadaf Ebrahimi printf("{0x%08" PRIx32 ", 0x%08" PRIx32 "}",
3549*f5c631daSSadaf Ebrahimi results[i]->outputs[j].memop[0],
3550*f5c631daSSadaf Ebrahimi results[i]->outputs[j].memop[1]);
3551*f5c631daSSadaf Ebrahimi printf(" },\n");
3552*f5c631daSSadaf Ebrahimi }
3553*f5c631daSSadaf Ebrahimi printf("};\n");
3554*f5c631daSSadaf Ebrahimi }
3555*f5c631daSSadaf Ebrahimi printf("const TestResult kReference%s[] = {\n", mnemonic);
3556*f5c631daSSadaf Ebrahimi for (size_t i = 0; i < ARRAY_SIZE(kTests); i++) {
3557*f5c631daSSadaf Ebrahimi printf(" {\n");
3558*f5c631daSSadaf Ebrahimi printf(" ARRAY_SIZE(kOutputs_%s_%s),\n",
3559*f5c631daSSadaf Ebrahimi mnemonic,
3560*f5c631daSSadaf Ebrahimi kTests[i].identifier);
3561*f5c631daSSadaf Ebrahimi printf(" kOutputs_%s_%s,\n", mnemonic, kTests[i].identifier);
3562*f5c631daSSadaf Ebrahimi printf(" },\n");
3563*f5c631daSSadaf Ebrahimi }
3564*f5c631daSSadaf Ebrahimi printf("};\n");
3565*f5c631daSSadaf Ebrahimi } else if (kCheckSimulatorTestResults) {
3566*f5c631daSSadaf Ebrahimi // Check the results.
3567*f5c631daSSadaf Ebrahimi unsigned total_error_count = 0;
3568*f5c631daSSadaf Ebrahimi for (size_t i = 0; i < ARRAY_SIZE(kTests); i++) {
3569*f5c631daSSadaf Ebrahimi bool instruction_has_errors = false;
3570*f5c631daSSadaf Ebrahimi for (size_t j = 0; j < kTests[i].input_size; j++) {
3571*f5c631daSSadaf Ebrahimi uint32_t apsr = results[i]->outputs[j].apsr;
3572*f5c631daSSadaf Ebrahimi uint32_t rd = results[i]->outputs[j].rd;
3573*f5c631daSSadaf Ebrahimi uint32_t rm = results[i]->outputs[j].rm;
3574*f5c631daSSadaf Ebrahimi uint32_t memop[2] = {results[i]->outputs[j].memop[0],
3575*f5c631daSSadaf Ebrahimi results[i]->outputs[j].memop[1]};
3576*f5c631daSSadaf Ebrahimi
3577*f5c631daSSadaf Ebrahimi uint32_t apsr_input = kTests[i].inputs[j].apsr;
3578*f5c631daSSadaf Ebrahimi uint32_t rd_input = kTests[i].inputs[j].rd;
3579*f5c631daSSadaf Ebrahimi uint32_t rm_input = kTests[i].inputs[j].rm;
3580*f5c631daSSadaf Ebrahimi uint32_t memop_input[2] = {kTests[i].inputs[j].memop[0],
3581*f5c631daSSadaf Ebrahimi kTests[i].inputs[j].memop[1]};
3582*f5c631daSSadaf Ebrahimi
3583*f5c631daSSadaf Ebrahimi uint32_t apsr_ref = reference[i].outputs[j].apsr;
3584*f5c631daSSadaf Ebrahimi uint32_t rd_ref = reference[i].outputs[j].rd;
3585*f5c631daSSadaf Ebrahimi uint32_t rm_ref = reference[i].outputs[j].rm;
3586*f5c631daSSadaf Ebrahimi uint32_t memop_ref[2] = {results[i]->outputs[j].memop[0],
3587*f5c631daSSadaf Ebrahimi results[i]->outputs[j].memop[1]};
3588*f5c631daSSadaf Ebrahimi
3589*f5c631daSSadaf Ebrahimi
3590*f5c631daSSadaf Ebrahimi if (((apsr != apsr_ref) || (rd != rd_ref) || (rm != rm_ref) ||
3591*f5c631daSSadaf Ebrahimi ((memop[0] != memop_ref[0]) && (memop[1] != memop_ref[1]))) &&
3592*f5c631daSSadaf Ebrahimi (++total_error_count <= kErrorReportLimit)) {
3593*f5c631daSSadaf Ebrahimi // Print the instruction once even if it triggered multiple failures.
3594*f5c631daSSadaf Ebrahimi if (!instruction_has_errors) {
3595*f5c631daSSadaf Ebrahimi printf("Error(s) when testing \"%s %s\":\n",
3596*f5c631daSSadaf Ebrahimi mnemonic,
3597*f5c631daSSadaf Ebrahimi kTests[i].operands_description);
3598*f5c631daSSadaf Ebrahimi instruction_has_errors = true;
3599*f5c631daSSadaf Ebrahimi }
3600*f5c631daSSadaf Ebrahimi // Print subsequent errors.
3601*f5c631daSSadaf Ebrahimi printf(" Input: ");
3602*f5c631daSSadaf Ebrahimi printf("0x%08" PRIx32, apsr_input);
3603*f5c631daSSadaf Ebrahimi printf(", ");
3604*f5c631daSSadaf Ebrahimi printf("0x%08" PRIx32, rd_input);
3605*f5c631daSSadaf Ebrahimi printf(", ");
3606*f5c631daSSadaf Ebrahimi printf("0x%08" PRIx32, rm_input);
3607*f5c631daSSadaf Ebrahimi printf(", ");
3608*f5c631daSSadaf Ebrahimi printf("{0x%08" PRIx32 ", 0x%08" PRIx32 "}",
3609*f5c631daSSadaf Ebrahimi memop_input[0],
3610*f5c631daSSadaf Ebrahimi memop_input[1]);
3611*f5c631daSSadaf Ebrahimi printf("\n");
3612*f5c631daSSadaf Ebrahimi printf(" Expected: ");
3613*f5c631daSSadaf Ebrahimi printf("0x%08" PRIx32, apsr_ref);
3614*f5c631daSSadaf Ebrahimi printf(", ");
3615*f5c631daSSadaf Ebrahimi printf("0x%08" PRIx32, rd_ref);
3616*f5c631daSSadaf Ebrahimi printf(", ");
3617*f5c631daSSadaf Ebrahimi printf("0x%08" PRIx32, rm_ref);
3618*f5c631daSSadaf Ebrahimi printf(", ");
3619*f5c631daSSadaf Ebrahimi printf("{0x%08" PRIx32 ", 0x%08" PRIx32 "}",
3620*f5c631daSSadaf Ebrahimi memop_ref[0],
3621*f5c631daSSadaf Ebrahimi memop_ref[1]);
3622*f5c631daSSadaf Ebrahimi printf("\n");
3623*f5c631daSSadaf Ebrahimi printf(" Found: ");
3624*f5c631daSSadaf Ebrahimi printf("0x%08" PRIx32, apsr);
3625*f5c631daSSadaf Ebrahimi printf(", ");
3626*f5c631daSSadaf Ebrahimi printf("0x%08" PRIx32, rd);
3627*f5c631daSSadaf Ebrahimi printf(", ");
3628*f5c631daSSadaf Ebrahimi printf("0x%08" PRIx32, rm);
3629*f5c631daSSadaf Ebrahimi printf(", ");
3630*f5c631daSSadaf Ebrahimi printf("{0x%08" PRIx32 ", 0x%08" PRIx32 "}", memop[0], memop[1]);
3631*f5c631daSSadaf Ebrahimi printf("\n\n");
3632*f5c631daSSadaf Ebrahimi }
3633*f5c631daSSadaf Ebrahimi }
3634*f5c631daSSadaf Ebrahimi }
3635*f5c631daSSadaf Ebrahimi
3636*f5c631daSSadaf Ebrahimi if (total_error_count > kErrorReportLimit) {
3637*f5c631daSSadaf Ebrahimi printf("%u other errors follow.\n",
3638*f5c631daSSadaf Ebrahimi total_error_count - kErrorReportLimit);
3639*f5c631daSSadaf Ebrahimi }
3640*f5c631daSSadaf Ebrahimi VIXL_CHECK(total_error_count == 0);
3641*f5c631daSSadaf Ebrahimi } else {
3642*f5c631daSSadaf Ebrahimi VIXL_WARNING("Assembled the code, but did not run anything.\n");
3643*f5c631daSSadaf Ebrahimi }
3644*f5c631daSSadaf Ebrahimi
3645*f5c631daSSadaf Ebrahimi for (size_t i = 0; i < ARRAY_SIZE(kTests); i++) {
3646*f5c631daSSadaf Ebrahimi delete[] results[i]->outputs;
3647*f5c631daSSadaf Ebrahimi delete results[i];
3648*f5c631daSSadaf Ebrahimi delete[] scratch_memory_buffers[i];
3649*f5c631daSSadaf Ebrahimi }
3650*f5c631daSSadaf Ebrahimi }
3651*f5c631daSSadaf Ebrahimi
3652*f5c631daSSadaf Ebrahimi // Instantiate tests for each instruction in the list.
3653*f5c631daSSadaf Ebrahimi // TODO: Remove this limitation by having a sandboxing mechanism.
3654*f5c631daSSadaf Ebrahimi #if defined(VIXL_HOST_POINTER_32)
3655*f5c631daSSadaf Ebrahimi #define TEST(mnemonic) \
3656*f5c631daSSadaf Ebrahimi void Test_##mnemonic() { \
3657*f5c631daSSadaf Ebrahimi TestHelper(&MacroAssembler::mnemonic, #mnemonic, kReference##mnemonic); \
3658*f5c631daSSadaf Ebrahimi } \
3659*f5c631daSSadaf Ebrahimi Test test_##mnemonic( \
3660*f5c631daSSadaf Ebrahimi "AARCH32_SIMULATOR_COND_RD_MEMOP_RS_SHIFT_AMOUNT_1TO31_" #mnemonic \
3661*f5c631daSSadaf Ebrahimi "_A32", \
3662*f5c631daSSadaf Ebrahimi &Test_##mnemonic);
3663*f5c631daSSadaf Ebrahimi #else
3664*f5c631daSSadaf Ebrahimi #define TEST(mnemonic) \
3665*f5c631daSSadaf Ebrahimi void Test_##mnemonic() { \
3666*f5c631daSSadaf Ebrahimi VIXL_WARNING("This test can only run on a 32-bit host.\n"); \
3667*f5c631daSSadaf Ebrahimi USE(TestHelper); \
3668*f5c631daSSadaf Ebrahimi } \
3669*f5c631daSSadaf Ebrahimi Test test_##mnemonic( \
3670*f5c631daSSadaf Ebrahimi "AARCH32_SIMULATOR_COND_RD_MEMOP_RS_SHIFT_AMOUNT_1TO31_" #mnemonic \
3671*f5c631daSSadaf Ebrahimi "_A32", \
3672*f5c631daSSadaf Ebrahimi &Test_##mnemonic);
3673*f5c631daSSadaf Ebrahimi #endif
3674*f5c631daSSadaf Ebrahimi
3675*f5c631daSSadaf Ebrahimi FOREACH_INSTRUCTION(TEST)
3676*f5c631daSSadaf Ebrahimi #undef TEST
3677*f5c631daSSadaf Ebrahimi
3678*f5c631daSSadaf Ebrahimi } // namespace
3679*f5c631daSSadaf Ebrahimi #endif
3680*f5c631daSSadaf Ebrahimi
3681*f5c631daSSadaf Ebrahimi } // namespace aarch32
3682*f5c631daSSadaf Ebrahimi } // namespace vixl
3683