1b78f13911bfe6eda303e91ef215c87a165aae8aeAlexandre Rames// Copyright 2016, VIXL authors
288c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois// All rights reserved.
388c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois//
488c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois// Redistribution and use in source and binary forms, with or without
588c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois// modification, are permitted provided that the following conditions are met:
688c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois//
788c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois//   * Redistributions of source code must retain the above copyright notice,
888c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois//     this list of conditions and the following disclaimer.
988c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois//   * Redistributions in binary form must reproduce the above copyright notice,
1088c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois//     this list of conditions and the following disclaimer in the documentation
1188c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois//     and/or other materials provided with the distribution.
1288c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois//   * Neither the name of ARM Limited nor the names of its contributors may be
1388c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois//     used to endorse or promote products derived from this software without
1488c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois//     specific prior written permission.
1588c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois//
1688c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS CONTRIBUTORS "AS IS" AND
1788c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
1888c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
1988c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
2088c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
2188c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
2288c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
2388c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
2488c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
2588c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
2688c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois
2719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois
2888c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois// -----------------------------------------------------------------------------
2988c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois// This file is auto generated from the
30d3832965c62a8ad461b9ea9eb0994ca6b0a3da2cAlexandre Rames// test/aarch32/config/template-simulator-aarch32.cc.in template file using
3188c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois// tools/generate_tests.py.
3288c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois//
3388c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois// PLEASE DO NOT EDIT.
3488c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois// -----------------------------------------------------------------------------
3588c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois
3619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois
3788c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois#include "test-runner.h"
3888c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois
3988c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois#include "test-utils.h"
40d3832965c62a8ad461b9ea9eb0994ca6b0a3da2cAlexandre Rames#include "test-utils-aarch32.h"
4188c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois
42d3832965c62a8ad461b9ea9eb0994ca6b0a3da2cAlexandre Rames#include "aarch32/assembler-aarch32.h"
43d3832965c62a8ad461b9ea9eb0994ca6b0a3da2cAlexandre Rames#include "aarch32/macro-assembler-aarch32.h"
44d3832965c62a8ad461b9ea9eb0994ca6b0a3da2cAlexandre Rames#include "aarch32/disasm-aarch32.h"
4588c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois
4688c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois#define __ masm.
4788c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois#define BUF_SIZE (4096)
4888c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois
491e85b7f2e8ad2bfb233de29405aade635ed207cePierre Langlois#ifdef VIXL_INCLUDE_SIMULATOR_AARCH32
5088c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois// Run tests with the simulator.
5188c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois
5288c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois#define SETUP() MacroAssembler masm(BUF_SIZE)
5388c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois
54919e3fe28a5024c53ede42922092bbc32e89dcb8Alexandre Rames#define START() masm.GetBuffer()->Reset()
5588c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois
5688c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois#define END() \
5788c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois  __ Hlt(0);  \
5888c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois  __ FinalizeCode();
5988c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois
6088c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois// TODO: Run the tests in the simulator.
6188c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois#define RUN()
6288c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois
6388c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois#define TEARDOWN()
6488c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois
651e85b7f2e8ad2bfb233de29405aade635ed207cePierre Langlois#else  // ifdef VIXL_INCLUDE_SIMULATOR_AARCH32.
6688c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois
674cb13e841305b38acbd8195b1c511d59c91ec8d9Georgia Kouveli#define SETUP()                                   \
684cb13e841305b38acbd8195b1c511d59c91ec8d9Georgia Kouveli  MacroAssembler masm(BUF_SIZE);                  \
694cb13e841305b38acbd8195b1c511d59c91ec8d9Georgia Kouveli  UseScratchRegisterScope harness_scratch(&masm); \
704cb13e841305b38acbd8195b1c511d59c91ec8d9Georgia Kouveli  harness_scratch.ExcludeAll();
7188c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois
72919e3fe28a5024c53ede42922092bbc32e89dcb8Alexandre Rames#define START()              \
73919e3fe28a5024c53ede42922092bbc32e89dcb8Alexandre Rames  masm.GetBuffer()->Reset(); \
74919e3fe28a5024c53ede42922092bbc32e89dcb8Alexandre Rames  __ Push(r4);               \
75919e3fe28a5024c53ede42922092bbc32e89dcb8Alexandre Rames  __ Push(r5);               \
76919e3fe28a5024c53ede42922092bbc32e89dcb8Alexandre Rames  __ Push(r6);               \
77919e3fe28a5024c53ede42922092bbc32e89dcb8Alexandre Rames  __ Push(r7);               \
78919e3fe28a5024c53ede42922092bbc32e89dcb8Alexandre Rames  __ Push(r8);               \
79919e3fe28a5024c53ede42922092bbc32e89dcb8Alexandre Rames  __ Push(r9);               \
80919e3fe28a5024c53ede42922092bbc32e89dcb8Alexandre Rames  __ Push(r10);              \
81919e3fe28a5024c53ede42922092bbc32e89dcb8Alexandre Rames  __ Push(r11);              \
824cb13e841305b38acbd8195b1c511d59c91ec8d9Georgia Kouveli  __ Push(lr);               \
834cb13e841305b38acbd8195b1c511d59c91ec8d9Georgia Kouveli  harness_scratch.Include(ip);
844cb13e841305b38acbd8195b1c511d59c91ec8d9Georgia Kouveli
854cb13e841305b38acbd8195b1c511d59c91ec8d9Georgia Kouveli#define END()                  \
864cb13e841305b38acbd8195b1c511d59c91ec8d9Georgia Kouveli  harness_scratch.Exclude(ip); \
874cb13e841305b38acbd8195b1c511d59c91ec8d9Georgia Kouveli  __ Pop(lr);                  \
884cb13e841305b38acbd8195b1c511d59c91ec8d9Georgia Kouveli  __ Pop(r11);                 \
894cb13e841305b38acbd8195b1c511d59c91ec8d9Georgia Kouveli  __ Pop(r10);                 \
904cb13e841305b38acbd8195b1c511d59c91ec8d9Georgia Kouveli  __ Pop(r9);                  \
914cb13e841305b38acbd8195b1c511d59c91ec8d9Georgia Kouveli  __ Pop(r8);                  \
924cb13e841305b38acbd8195b1c511d59c91ec8d9Georgia Kouveli  __ Pop(r7);                  \
934cb13e841305b38acbd8195b1c511d59c91ec8d9Georgia Kouveli  __ Pop(r6);                  \
944cb13e841305b38acbd8195b1c511d59c91ec8d9Georgia Kouveli  __ Pop(r5);                  \
954cb13e841305b38acbd8195b1c511d59c91ec8d9Georgia Kouveli  __ Pop(r4);                  \
964cb13e841305b38acbd8195b1c511d59c91ec8d9Georgia Kouveli  __ Bx(lr);                   \
97cb6592f4b00347a84f9d7638473f0af8f1b6b1ddGeorgia Kouveli  __ FinalizeCode();
9888c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois
99919e3fe28a5024c53ede42922092bbc32e89dcb8Alexandre Rames#define RUN()                                                 \
100919e3fe28a5024c53ede42922092bbc32e89dcb8Alexandre Rames  {                                                           \
101919e3fe28a5024c53ede42922092bbc32e89dcb8Alexandre Rames    int pcs_offset = masm.IsUsingT32() ? 1 : 0;               \
1026a049f97861bd71c69d81f643e42308d28c5de31Alexandre Rames    masm.GetBuffer()->SetExecutable();                        \
103919e3fe28a5024c53ede42922092bbc32e89dcb8Alexandre Rames    ExecuteMemory(masm.GetBuffer()->GetStartAddress<byte*>(), \
104919e3fe28a5024c53ede42922092bbc32e89dcb8Alexandre Rames                  masm.GetSizeOfCodeGenerated(),              \
105919e3fe28a5024c53ede42922092bbc32e89dcb8Alexandre Rames                  pcs_offset);                                \
1066a049f97861bd71c69d81f643e42308d28c5de31Alexandre Rames    masm.GetBuffer()->SetWritable();                          \
10788c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois  }
10888c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois
109cb6592f4b00347a84f9d7638473f0af8f1b6b1ddGeorgia Kouveli#define TEARDOWN() harness_scratch.Close();
11088c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois
1111e85b7f2e8ad2bfb233de29405aade635ed207cePierre Langlois#endif  // ifdef VIXL_INCLUDE_SIMULATOR_AARCH32
11288c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois
11388c46b84df005638546de5e4e965bdcc31352f48Pierre Langloisnamespace vixl {
11488c46b84df005638546de5e4e965bdcc31352f48Pierre Langloisnamespace aarch32 {
11588c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois
11688c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois// List of instruction encodings:
11788c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois#define FOREACH_INSTRUCTION(M) \
11888c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois  M(Ldrh)                      \
11988c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois  M(Ldrsh)                     \
12088c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois  M(Ldrsb)                     \
12188c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois  M(Strh)
12288c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois
12319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois
1241d451fce2580f360ef249893135526156985a85cPierre Langlois// The following definitions are defined again in each generated test, therefore
1251d451fce2580f360ef249893135526156985a85cPierre Langlois// we need to place them in an anomymous namespace. It expresses that they are
1261d451fce2580f360ef249893135526156985a85cPierre Langlois// local to this file only, and the compiler is not allowed to share these types
1271d451fce2580f360ef249893135526156985a85cPierre Langlois// across test files during template instantiation. Specifically, `Operands` and
1281d451fce2580f360ef249893135526156985a85cPierre Langlois// `Inputs` have various layouts across generated tests so they absolutely
1291d451fce2580f360ef249893135526156985a85cPierre Langlois// cannot be shared.
1301d451fce2580f360ef249893135526156985a85cPierre Langlois
1319a9331faeba996d6c85e6e2a6355ccfc22c6cab6Rodolph Perfetta#ifdef VIXL_INCLUDE_TARGET_A32
1321d451fce2580f360ef249893135526156985a85cPierre Langloisnamespace {
1331d451fce2580f360ef249893135526156985a85cPierre Langlois
13488c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois// Values to be passed to the assembler to produce the instruction under test.
13588c46b84df005638546de5e4e965bdcc31352f48Pierre Langloisstruct Operands {
13688c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois  Condition cond;
13788c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois  Register rd;
13888c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois  Register rn;
13988c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois  Sign sign;
14088c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois  int32_t offset;
14188c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois  AddrMode addr_mode;
14288c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois};
14388c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois
14488c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois// Input data to feed to the instruction.
14588c46b84df005638546de5e4e965bdcc31352f48Pierre Langloisstruct Inputs {
14688c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois  uint32_t apsr;
14788c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois  uint32_t rd;
14888c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois  uint32_t memop[2];
14988c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois};
15088c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois
15188c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois// This structure contains all input data needed to test one specific encoding.
15288c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois// It used to generate a loop over an instruction.
15388c46b84df005638546de5e4e965bdcc31352f48Pierre Langloisstruct TestLoopData {
15488c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois  // The `operands` fields represents the values to pass to the assembler to
15588c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois  // produce the instruction.
15688c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois  Operands operands;
15788c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois  // Description of the operands, used for error reporting.
15888c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois  const char* operands_description;
15988c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois  // Unique identifier, used for generating traces.
16088c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois  const char* identifier;
16188c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois  // Array of values to be fed to the instruction.
16288c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois  size_t input_size;
16388c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois  const Inputs* inputs;
16488c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois};
16588c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois
16688c46b84df005638546de5e4e965bdcc31352f48Pierre Langloisstatic const Inputs kCondition[] = {{NFlag, 0xabababab, {0, 0x77777777}},
16788c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois                                    {ZFlag, 0xabababab, {0, 0x77777777}},
16888c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois                                    {CFlag, 0xabababab, {0, 0x77777777}},
16988c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois                                    {VFlag, 0xabababab, {0, 0x77777777}},
17088c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois                                    {NZFlag, 0xabababab, {0, 0x77777777}},
17188c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois                                    {NCFlag, 0xabababab, {0, 0x77777777}},
17288c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois                                    {NVFlag, 0xabababab, {0, 0x77777777}},
17388c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois                                    {ZCFlag, 0xabababab, {0, 0x77777777}},
17488c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois                                    {ZVFlag, 0xabababab, {0, 0x77777777}},
17588c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois                                    {CVFlag, 0xabababab, {0, 0x77777777}},
17688c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois                                    {NZCFlag, 0xabababab, {0, 0x77777777}},
17788c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois                                    {NZVFlag, 0xabababab, {0, 0x77777777}},
17888c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois                                    {NCVFlag, 0xabababab, {0, 0x77777777}},
17988c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois                                    {ZCVFlag, 0xabababab, {0, 0x77777777}},
18088c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois                                    {NZCVFlag, 0xabababab, {0, 0x77777777}}};
18188c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois
18288c46b84df005638546de5e4e965bdcc31352f48Pierre Langloisstatic const Inputs kPositiveOffset[] = {{NoFlag, 0x00000000, {0, 0x0badbeef}},
18388c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois                                         {NoFlag, 0x00000020, {0, 0x0badbeef}},
18488c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois                                         {NoFlag, 0x00000020, {0, 0x55555555}},
18588c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois                                         {NoFlag, 0x33333333, {0, 0x0badbeef}},
18688c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois                                         {NoFlag, 0x00000002, {0, 0x0cabba9e}},
18788c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois                                         {NoFlag, 0x7fffffff, {0, 0x0cabba9e}},
18888c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois                                         {NoFlag, 0xcccccccc, {0, 0x77777777}},
18988c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois                                         {NoFlag, 0x7ffffffd, {0, 0x55555555}},
19088c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois                                         {NoFlag, 0xffffff83, {0, 0x77777777}},
19188c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois                                         {NoFlag, 0xaaaaaaaa, {0, 0x77777777}}};
19288c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois
19388c46b84df005638546de5e4e965bdcc31352f48Pierre Langloisstatic const Inputs kNegativeOffset[] = {{NoFlag, 0xcccccccc, {0, 0x0badbeef}},
19488c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois                                         {NoFlag, 0x0000007f, {0, 0x0cabba9e}},
19588c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois                                         {NoFlag, 0x00007ffe, {0, 0x55555555}},
19688c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois                                         {NoFlag, 0xffffffff, {0, 0x0cabba9e}},
19788c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois                                         {NoFlag, 0x00007ffd, {0, 0x77777777}},
19888c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois                                         {NoFlag, 0x0000007d, {0, 0x0badbeef}},
19988c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois                                         {NoFlag, 0xffff8001, {0, 0x0cabba9e}},
20088c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois                                         {NoFlag, 0xaaaaaaaa, {0, 0x55555555}},
20188c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois                                         {NoFlag, 0x55555555, {0, 0x0badbeef}},
20288c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois                                         {NoFlag, 0xffffff82, {0, 0x77777777}}};
20388c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois
20419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langloisstatic const Inputs kPositivePostIndex[] =
20519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois    {{NoFlag, 0xffff8003, {0, 0x77777777}},
20619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {NoFlag, 0xfffffffd, {0, 0x55555555}},
20719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {NoFlag, 0xffffff83, {0, 0x0cabba9e}},
20819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {NoFlag, 0x7ffffffd, {0, 0x0badbeef}},
20919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {NoFlag, 0xcccccccc, {0, 0x55555555}},
21019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {NoFlag, 0x00007ffd, {0, 0x55555555}},
21119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {NoFlag, 0x00007fff, {0, 0x0badbeef}},
21219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {NoFlag, 0x00000020, {0, 0x77777777}},
21319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {NoFlag, 0x80000000, {0, 0x0cabba9e}},
21419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {NoFlag, 0x80000001, {0, 0x0badbeef}}};
21519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois
21619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langloisstatic const Inputs kNegativePostIndex[] =
21719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois    {{NoFlag, 0x80000001, {0, 0x77777777}},
21819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {NoFlag, 0x7ffffffe, {0, 0x0badbeef}},
21919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {NoFlag, 0x0000007d, {0, 0x0badbeef}},
22019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {NoFlag, 0x0000007d, {0, 0x77777777}},
22119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {NoFlag, 0xcccccccc, {0, 0x77777777}},
22219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {NoFlag, 0xffff8003, {0, 0x77777777}},
22319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {NoFlag, 0x00000001, {0, 0x77777777}},
22419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {NoFlag, 0xffff8003, {0, 0x0badbeef}},
22519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {NoFlag, 0xffff8000, {0, 0x0badbeef}},
22619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {NoFlag, 0xffffff80, {0, 0x0badbeef}}};
22719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois
22819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langloisstatic const Inputs kPositivePreIndex[] =
22919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois    {{NoFlag, 0xffff8003, {0, 0x55555555}},
23019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {NoFlag, 0x7ffffffd, {0, 0x55555555}},
23119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {NoFlag, 0x33333333, {0, 0x77777777}},
23219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {NoFlag, 0xcccccccc, {0, 0x0cabba9e}},
23319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {NoFlag, 0xffffffff, {0, 0x0cabba9e}},
23419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {NoFlag, 0x33333333, {0, 0x55555555}},
23519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {NoFlag, 0xffffff82, {0, 0x77777777}},
23619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {NoFlag, 0x55555555, {0, 0x0cabba9e}},
23719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {NoFlag, 0xfffffffe, {0, 0x77777777}},
23819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {NoFlag, 0x0000007e, {0, 0x0cabba9e}}};
23919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois
24019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langloisstatic const Inputs kNegativePreIndex[] =
24119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois    {{NoFlag, 0x00007ffd, {0, 0x0badbeef}},
24219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {NoFlag, 0xffffffff, {0, 0x77777777}},
24319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {NoFlag, 0x00000002, {0, 0x0cabba9e}},
24419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {NoFlag, 0xfffffffd, {0, 0x0cabba9e}},
24519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {NoFlag, 0x7ffffffd, {0, 0x77777777}},
24619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {NoFlag, 0xffffffff, {0, 0x55555555}},
24719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {NoFlag, 0x00007ffe, {0, 0x77777777}},
24819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {NoFlag, 0xffffff82, {0, 0x0cabba9e}},
24919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {NoFlag, 0x0000007e, {0, 0x55555555}},
25019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {NoFlag, 0x7ffffffe, {0, 0x77777777}}};
25119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois
25288c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois
25388c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois// A loop will be generated for each element of this array.
2541d451fce2580f360ef249893135526156985a85cPierre Langloisconst TestLoopData kTests[] =
25519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois    {{{eq, r0, r1, plus, 0, Offset},
25619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "eq r0 r1 plus 0 Offset",
25719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "Condition_eq_r0_r1_plus_0_Offset",
25819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kCondition),
25919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kCondition},
26019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{ne, r0, r1, plus, 0, Offset},
26119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "ne r0 r1 plus 0 Offset",
26219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "Condition_ne_r0_r1_plus_0_Offset",
26319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kCondition),
26419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kCondition},
26519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{cs, r0, r1, plus, 0, Offset},
26619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "cs r0 r1 plus 0 Offset",
26719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "Condition_cs_r0_r1_plus_0_Offset",
26819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kCondition),
26919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kCondition},
27019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{cc, r0, r1, plus, 0, Offset},
27119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "cc r0 r1 plus 0 Offset",
27219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "Condition_cc_r0_r1_plus_0_Offset",
27319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kCondition),
27419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kCondition},
27519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{mi, r0, r1, plus, 0, Offset},
27619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "mi r0 r1 plus 0 Offset",
27719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "Condition_mi_r0_r1_plus_0_Offset",
27819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kCondition),
27919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kCondition},
28019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{pl, r0, r1, plus, 0, Offset},
28119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "pl r0 r1 plus 0 Offset",
28219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "Condition_pl_r0_r1_plus_0_Offset",
28319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kCondition),
28419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kCondition},
28519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{vs, r0, r1, plus, 0, Offset},
28619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "vs r0 r1 plus 0 Offset",
28719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "Condition_vs_r0_r1_plus_0_Offset",
28819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kCondition),
28919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kCondition},
29019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{vc, r0, r1, plus, 0, Offset},
29119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "vc r0 r1 plus 0 Offset",
29219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "Condition_vc_r0_r1_plus_0_Offset",
29319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kCondition),
29419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kCondition},
29519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{hi, r0, r1, plus, 0, Offset},
29619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "hi r0 r1 plus 0 Offset",
29719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "Condition_hi_r0_r1_plus_0_Offset",
29819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kCondition),
29919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kCondition},
30019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{ls, r0, r1, plus, 0, Offset},
30119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "ls r0 r1 plus 0 Offset",
30219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "Condition_ls_r0_r1_plus_0_Offset",
30319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kCondition),
30419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kCondition},
30519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{ge, r0, r1, plus, 0, Offset},
30619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "ge r0 r1 plus 0 Offset",
30719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "Condition_ge_r0_r1_plus_0_Offset",
30819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kCondition),
30919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kCondition},
31019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{lt, r0, r1, plus, 0, Offset},
31119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "lt r0 r1 plus 0 Offset",
31219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "Condition_lt_r0_r1_plus_0_Offset",
31319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kCondition),
31419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kCondition},
31519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{gt, r0, r1, plus, 0, Offset},
31619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "gt r0 r1 plus 0 Offset",
31719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "Condition_gt_r0_r1_plus_0_Offset",
31819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kCondition),
31919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kCondition},
32019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{le, r0, r1, plus, 0, Offset},
32119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "le r0 r1 plus 0 Offset",
32219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "Condition_le_r0_r1_plus_0_Offset",
32319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kCondition),
32419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kCondition},
32519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r0, r1, plus, 0, Offset},
32619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r0 r1 plus 0 Offset",
32719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "Condition_al_r0_r1_plus_0_Offset",
32819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kCondition),
32919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kCondition},
33019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r0, r6, plus, 126, Offset},
33119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r0 r6 plus 126 Offset",
33219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositiveOffset_al_r0_r6_plus_126_Offset",
33319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositiveOffset),
33419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositiveOffset},
33519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r2, r4, plus, 106, Offset},
33619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r2 r4 plus 106 Offset",
33719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositiveOffset_al_r2_r4_plus_106_Offset",
33819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositiveOffset),
33919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositiveOffset},
34019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r2, r1, plus, 108, Offset},
34119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r2 r1 plus 108 Offset",
34219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositiveOffset_al_r2_r1_plus_108_Offset",
34319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositiveOffset),
34419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositiveOffset},
34519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r6, r8, plus, 186, Offset},
34619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r6 r8 plus 186 Offset",
34719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositiveOffset_al_r6_r8_plus_186_Offset",
34819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositiveOffset),
34919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositiveOffset},
35019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r1, r11, plus, 233, Offset},
35119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r1 r11 plus 233 Offset",
35219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositiveOffset_al_r1_r11_plus_233_Offset",
35319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositiveOffset),
35419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositiveOffset},
35519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r9, r2, plus, 89, Offset},
35619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r9 r2 plus 89 Offset",
35719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositiveOffset_al_r9_r2_plus_89_Offset",
35819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositiveOffset),
35919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositiveOffset},
36019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r11, r1, plus, 103, Offset},
36119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r11 r1 plus 103 Offset",
36219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositiveOffset_al_r11_r1_plus_103_Offset",
36319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositiveOffset),
36419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositiveOffset},
36519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r7, r8, plus, 42, Offset},
36619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r7 r8 plus 42 Offset",
36719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositiveOffset_al_r7_r8_plus_42_Offset",
36819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositiveOffset),
36919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositiveOffset},
37019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r10, r6, plus, 158, Offset},
37119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r10 r6 plus 158 Offset",
37219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositiveOffset_al_r10_r6_plus_158_Offset",
37319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositiveOffset),
37419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositiveOffset},
37519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r10, r11, plus, 164, Offset},
37619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r10 r11 plus 164 Offset",
37719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositiveOffset_al_r10_r11_plus_164_Offset",
37819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositiveOffset),
37919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositiveOffset},
38019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r8, r14, plus, 211, Offset},
38119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r8 r14 plus 211 Offset",
38219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositiveOffset_al_r8_r14_plus_211_Offset",
38319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositiveOffset),
38419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositiveOffset},
38519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r2, r7, plus, 46, Offset},
38619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r2 r7 plus 46 Offset",
38719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositiveOffset_al_r2_r7_plus_46_Offset",
38819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositiveOffset),
38919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositiveOffset},
39019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r1, r4, plus, 196, Offset},
39119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r1 r4 plus 196 Offset",
39219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositiveOffset_al_r1_r4_plus_196_Offset",
39319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositiveOffset),
39419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositiveOffset},
39519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r5, r9, plus, 232, Offset},
39619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r5 r9 plus 232 Offset",
39719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositiveOffset_al_r5_r9_plus_232_Offset",
39819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositiveOffset),
39919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositiveOffset},
40019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r8, r4, plus, 204, Offset},
40119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r8 r4 plus 204 Offset",
40219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositiveOffset_al_r8_r4_plus_204_Offset",
40319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositiveOffset),
40419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositiveOffset},
40519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r4, r2, plus, 210, Offset},
40619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r4 r2 plus 210 Offset",
40719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositiveOffset_al_r4_r2_plus_210_Offset",
40819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositiveOffset),
40919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositiveOffset},
41019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r14, r1, plus, 136, Offset},
41119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r14 r1 plus 136 Offset",
41219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositiveOffset_al_r14_r1_plus_136_Offset",
41319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositiveOffset),
41419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositiveOffset},
41519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r11, r10, plus, 32, Offset},
41619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r11 r10 plus 32 Offset",
41719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositiveOffset_al_r11_r10_plus_32_Offset",
41819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositiveOffset),
41919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositiveOffset},
42019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r10, r11, plus, 23, Offset},
42119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r10 r11 plus 23 Offset",
42219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositiveOffset_al_r10_r11_plus_23_Offset",
42319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositiveOffset),
42419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositiveOffset},
42519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r3, r0, plus, 199, Offset},
42619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r3 r0 plus 199 Offset",
42719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositiveOffset_al_r3_r0_plus_199_Offset",
42819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositiveOffset),
42919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositiveOffset},
43019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r0, r6, plus, 46, Offset},
43119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r0 r6 plus 46 Offset",
43219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositiveOffset_al_r0_r6_plus_46_Offset",
43319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositiveOffset),
43419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositiveOffset},
43519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r5, r3, plus, 31, Offset},
43619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r5 r3 plus 31 Offset",
43719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositiveOffset_al_r5_r3_plus_31_Offset",
43819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositiveOffset),
43919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositiveOffset},
44019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r9, r8, plus, 143, Offset},
44119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r9 r8 plus 143 Offset",
44219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositiveOffset_al_r9_r8_plus_143_Offset",
44319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositiveOffset),
44419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositiveOffset},
44519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r11, r9, plus, 224, Offset},
44619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r11 r9 plus 224 Offset",
44719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositiveOffset_al_r11_r9_plus_224_Offset",
44819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositiveOffset),
44919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositiveOffset},
45019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r5, r14, plus, 48, Offset},
45119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r5 r14 plus 48 Offset",
45219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositiveOffset_al_r5_r14_plus_48_Offset",
45319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositiveOffset),
45419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositiveOffset},
45519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r14, r3, plus, 252, Offset},
45619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r14 r3 plus 252 Offset",
45719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositiveOffset_al_r14_r3_plus_252_Offset",
45819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositiveOffset),
45919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositiveOffset},
46019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r0, r11, plus, 159, Offset},
46119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r0 r11 plus 159 Offset",
46219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositiveOffset_al_r0_r11_plus_159_Offset",
46319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositiveOffset),
46419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositiveOffset},
46519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r12, r4, plus, 181, Offset},
46619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r12 r4 plus 181 Offset",
46719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositiveOffset_al_r12_r4_plus_181_Offset",
46819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositiveOffset),
46919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositiveOffset},
47019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r9, r1, plus, 28, Offset},
47119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r9 r1 plus 28 Offset",
47219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositiveOffset_al_r9_r1_plus_28_Offset",
47319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositiveOffset),
47419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositiveOffset},
47519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r1, r5, plus, 245, Offset},
47619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r1 r5 plus 245 Offset",
47719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositiveOffset_al_r1_r5_plus_245_Offset",
47819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositiveOffset),
47919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositiveOffset},
48019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r3, r5, plus, 186, Offset},
48119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r3 r5 plus 186 Offset",
48219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositiveOffset_al_r3_r5_plus_186_Offset",
48319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositiveOffset),
48419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositiveOffset},
48519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r1, r0, plus, 238, Offset},
48619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r1 r0 plus 238 Offset",
48719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositiveOffset_al_r1_r0_plus_238_Offset",
48819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositiveOffset),
48919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositiveOffset},
49019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r4, r8, plus, 228, Offset},
49119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r4 r8 plus 228 Offset",
49219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositiveOffset_al_r4_r8_plus_228_Offset",
49319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositiveOffset),
49419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositiveOffset},
49519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r5, r9, plus, 17, Offset},
49619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r5 r9 plus 17 Offset",
49719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositiveOffset_al_r5_r9_plus_17_Offset",
49819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositiveOffset),
49919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositiveOffset},
50019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r5, r7, plus, 190, Offset},
50119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r5 r7 plus 190 Offset",
50219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositiveOffset_al_r5_r7_plus_190_Offset",
50319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositiveOffset),
50419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositiveOffset},
50519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r14, r4, plus, 6, Offset},
50619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r14 r4 plus 6 Offset",
50719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositiveOffset_al_r14_r4_plus_6_Offset",
50819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositiveOffset),
50919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositiveOffset},
51019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r0, r3, plus, 24, Offset},
51119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r0 r3 plus 24 Offset",
51219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositiveOffset_al_r0_r3_plus_24_Offset",
51319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositiveOffset),
51419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositiveOffset},
51519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r12, r14, plus, 247, Offset},
51619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r12 r14 plus 247 Offset",
51719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositiveOffset_al_r12_r14_plus_247_Offset",
51819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositiveOffset),
51919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositiveOffset},
52019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r12, r3, plus, 242, Offset},
52119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r12 r3 plus 242 Offset",
52219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositiveOffset_al_r12_r3_plus_242_Offset",
52319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositiveOffset),
52419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositiveOffset},
52519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r7, r8, plus, 211, Offset},
52619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r7 r8 plus 211 Offset",
52719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositiveOffset_al_r7_r8_plus_211_Offset",
52819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositiveOffset),
52919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositiveOffset},
53019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r12, r14, plus, 203, Offset},
53119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r12 r14 plus 203 Offset",
53219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositiveOffset_al_r12_r14_plus_203_Offset",
53319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositiveOffset),
53419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositiveOffset},
53519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r9, r12, plus, 119, Offset},
53619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r9 r12 plus 119 Offset",
53719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositiveOffset_al_r9_r12_plus_119_Offset",
53819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositiveOffset),
53919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositiveOffset},
54019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r1, r7, plus, 132, Offset},
54119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r1 r7 plus 132 Offset",
54219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositiveOffset_al_r1_r7_plus_132_Offset",
54319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositiveOffset),
54419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositiveOffset},
54519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r3, r4, plus, 96, Offset},
54619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r3 r4 plus 96 Offset",
54719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositiveOffset_al_r3_r4_plus_96_Offset",
54819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositiveOffset),
54919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositiveOffset},
55019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r0, r8, plus, 230, Offset},
55119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r0 r8 plus 230 Offset",
55219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositiveOffset_al_r0_r8_plus_230_Offset",
55319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositiveOffset),
55419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositiveOffset},
55519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r0, r5, plus, 10, Offset},
55619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r0 r5 plus 10 Offset",
55719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositiveOffset_al_r0_r5_plus_10_Offset",
55819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositiveOffset),
55919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositiveOffset},
56019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r14, r5, plus, 185, Offset},
56119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r14 r5 plus 185 Offset",
56219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositiveOffset_al_r14_r5_plus_185_Offset",
56319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositiveOffset),
56419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositiveOffset},
56519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r6, r3, plus, 180, Offset},
56619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r6 r3 plus 180 Offset",
56719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositiveOffset_al_r6_r3_plus_180_Offset",
56819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositiveOffset),
56919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositiveOffset},
57019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r10, r11, plus, 5, Offset},
57119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r10 r11 plus 5 Offset",
57219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositiveOffset_al_r10_r11_plus_5_Offset",
57319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositiveOffset),
57419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositiveOffset},
57519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r4, r11, plus, 78, Offset},
57619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r4 r11 plus 78 Offset",
57719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositiveOffset_al_r4_r11_plus_78_Offset",
57819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositiveOffset),
57919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositiveOffset},
58019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r11, r6, plus, 101, Offset},
58119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r11 r6 plus 101 Offset",
58219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositiveOffset_al_r11_r6_plus_101_Offset",
58319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositiveOffset),
58419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositiveOffset},
58519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r3, r6, plus, 203, Offset},
58619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r3 r6 plus 203 Offset",
58719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositiveOffset_al_r3_r6_plus_203_Offset",
58819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositiveOffset),
58919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositiveOffset},
59019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r4, r2, plus, 93, Offset},
59119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r4 r2 plus 93 Offset",
59219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositiveOffset_al_r4_r2_plus_93_Offset",
59319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositiveOffset),
59419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositiveOffset},
59519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r8, r2, plus, 213, Offset},
59619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r8 r2 plus 213 Offset",
59719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositiveOffset_al_r8_r2_plus_213_Offset",
59819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositiveOffset),
59919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositiveOffset},
60019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r4, r14, plus, 92, Offset},
60119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r4 r14 plus 92 Offset",
60219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositiveOffset_al_r4_r14_plus_92_Offset",
60319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositiveOffset),
60419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositiveOffset},
60519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r11, r12, plus, 250, Offset},
60619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r11 r12 plus 250 Offset",
60719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositiveOffset_al_r11_r12_plus_250_Offset",
60819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositiveOffset),
60919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositiveOffset},
61019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r8, r14, plus, 181, Offset},
61119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r8 r14 plus 181 Offset",
61219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositiveOffset_al_r8_r14_plus_181_Offset",
61319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositiveOffset),
61419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositiveOffset},
61519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r11, r2, plus, 30, Offset},
61619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r11 r2 plus 30 Offset",
61719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositiveOffset_al_r11_r2_plus_30_Offset",
61819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositiveOffset),
61919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositiveOffset},
62019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r7, r11, plus, 102, Offset},
62119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r7 r11 plus 102 Offset",
62219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositiveOffset_al_r7_r11_plus_102_Offset",
62319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositiveOffset),
62419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositiveOffset},
62519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r6, r8, plus, 135, Offset},
62619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r6 r8 plus 135 Offset",
62719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositiveOffset_al_r6_r8_plus_135_Offset",
62819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositiveOffset),
62919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositiveOffset},
63019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r10, r6, plus, 19, Offset},
63119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r10 r6 plus 19 Offset",
63219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositiveOffset_al_r10_r6_plus_19_Offset",
63319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositiveOffset),
63419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositiveOffset},
63519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r6, r12, plus, 130, Offset},
63619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r6 r12 plus 130 Offset",
63719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositiveOffset_al_r6_r12_plus_130_Offset",
63819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositiveOffset),
63919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositiveOffset},
64019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r9, r2, plus, 187, Offset},
64119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r9 r2 plus 187 Offset",
64219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositiveOffset_al_r9_r2_plus_187_Offset",
64319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositiveOffset),
64419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositiveOffset},
64519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r12, r5, plus, 134, Offset},
64619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r12 r5 plus 134 Offset",
64719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositiveOffset_al_r12_r5_plus_134_Offset",
64819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositiveOffset),
64919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositiveOffset},
65019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r5, r4, plus, 101, Offset},
65119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r5 r4 plus 101 Offset",
65219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositiveOffset_al_r5_r4_plus_101_Offset",
65319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositiveOffset),
65419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositiveOffset},
65519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r14, r9, plus, 124, Offset},
65619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r14 r9 plus 124 Offset",
65719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositiveOffset_al_r14_r9_plus_124_Offset",
65819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositiveOffset),
65919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositiveOffset},
66019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r9, r14, plus, 119, Offset},
66119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r9 r14 plus 119 Offset",
66219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositiveOffset_al_r9_r14_plus_119_Offset",
66319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositiveOffset),
66419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositiveOffset},
66519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r8, r1, plus, 9, Offset},
66619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r8 r1 plus 9 Offset",
66719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositiveOffset_al_r8_r1_plus_9_Offset",
66819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositiveOffset),
66919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositiveOffset},
67019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r6, r14, plus, 6, Offset},
67119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r6 r14 plus 6 Offset",
67219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositiveOffset_al_r6_r14_plus_6_Offset",
67319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositiveOffset),
67419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositiveOffset},
67519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r6, r14, plus, 162, Offset},
67619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r6 r14 plus 162 Offset",
67719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositiveOffset_al_r6_r14_plus_162_Offset",
67819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositiveOffset),
67919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositiveOffset},
68019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r3, r8, plus, 36, Offset},
68119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r3 r8 plus 36 Offset",
68219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositiveOffset_al_r3_r8_plus_36_Offset",
68319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositiveOffset),
68419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositiveOffset},
68519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r3, r1, plus, 32, Offset},
68619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r3 r1 plus 32 Offset",
68719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositiveOffset_al_r3_r1_plus_32_Offset",
68819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositiveOffset),
68919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositiveOffset},
69019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r9, r0, plus, 90, Offset},
69119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r9 r0 plus 90 Offset",
69219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositiveOffset_al_r9_r0_plus_90_Offset",
69319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositiveOffset),
69419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositiveOffset},
69519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r11, r10, plus, 131, Offset},
69619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r11 r10 plus 131 Offset",
69719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositiveOffset_al_r11_r10_plus_131_Offset",
69819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositiveOffset),
69919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositiveOffset},
70019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r7, r12, plus, 34, Offset},
70119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r7 r12 plus 34 Offset",
70219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositiveOffset_al_r7_r12_plus_34_Offset",
70319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositiveOffset),
70419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositiveOffset},
70519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r0, r9, plus, 145, Offset},
70619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r0 r9 plus 145 Offset",
70719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositiveOffset_al_r0_r9_plus_145_Offset",
70819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositiveOffset),
70919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositiveOffset},
71019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r3, r2, plus, 101, Offset},
71119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r3 r2 plus 101 Offset",
71219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositiveOffset_al_r3_r2_plus_101_Offset",
71319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositiveOffset),
71419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositiveOffset},
71519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r12, r6, plus, 236, Offset},
71619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r12 r6 plus 236 Offset",
71719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositiveOffset_al_r12_r6_plus_236_Offset",
71819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositiveOffset),
71919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositiveOffset},
72019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r8, r2, plus, 111, Offset},
72119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r8 r2 plus 111 Offset",
72219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositiveOffset_al_r8_r2_plus_111_Offset",
72319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositiveOffset),
72419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositiveOffset},
72519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r12, r6, plus, 80, Offset},
72619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r12 r6 plus 80 Offset",
72719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositiveOffset_al_r12_r6_plus_80_Offset",
72819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositiveOffset),
72919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositiveOffset},
73019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r6, r0, plus, 17, Offset},
73119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r6 r0 plus 17 Offset",
73219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositiveOffset_al_r6_r0_plus_17_Offset",
73319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositiveOffset),
73419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositiveOffset},
73519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r0, r3, plus, 50, Offset},
73619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r0 r3 plus 50 Offset",
73719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositiveOffset_al_r0_r3_plus_50_Offset",
73819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositiveOffset),
73919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositiveOffset},
74019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r8, r7, plus, 238, Offset},
74119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r8 r7 plus 238 Offset",
74219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositiveOffset_al_r8_r7_plus_238_Offset",
74319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositiveOffset),
74419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositiveOffset},
74519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r5, r0, plus, 101, Offset},
74619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r5 r0 plus 101 Offset",
74719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositiveOffset_al_r5_r0_plus_101_Offset",
74819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositiveOffset),
74919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositiveOffset},
75019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r2, r9, plus, 38, Offset},
75119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r2 r9 plus 38 Offset",
75219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositiveOffset_al_r2_r9_plus_38_Offset",
75319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositiveOffset),
75419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositiveOffset},
75519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r8, r7, plus, 169, Offset},
75619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r8 r7 plus 169 Offset",
75719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositiveOffset_al_r8_r7_plus_169_Offset",
75819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositiveOffset),
75919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositiveOffset},
76019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r11, r8, plus, 241, Offset},
76119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r11 r8 plus 241 Offset",
76219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositiveOffset_al_r11_r8_plus_241_Offset",
76319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositiveOffset),
76419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositiveOffset},
76519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r6, r5, plus, 218, Offset},
76619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r6 r5 plus 218 Offset",
76719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositiveOffset_al_r6_r5_plus_218_Offset",
76819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositiveOffset),
76919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositiveOffset},
77019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r11, r5, plus, 126, Offset},
77119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r11 r5 plus 126 Offset",
77219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositiveOffset_al_r11_r5_plus_126_Offset",
77319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositiveOffset),
77419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositiveOffset},
77519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r5, r3, plus, 250, Offset},
77619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r5 r3 plus 250 Offset",
77719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositiveOffset_al_r5_r3_plus_250_Offset",
77819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositiveOffset),
77919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositiveOffset},
78019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r0, r12, plus, 46, Offset},
78119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r0 r12 plus 46 Offset",
78219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositiveOffset_al_r0_r12_plus_46_Offset",
78319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositiveOffset),
78419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositiveOffset},
78519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r6, r14, plus, 124, Offset},
78619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r6 r14 plus 124 Offset",
78719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositiveOffset_al_r6_r14_plus_124_Offset",
78819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositiveOffset),
78919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositiveOffset},
79019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r1, r3, plus, 237, Offset},
79119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r1 r3 plus 237 Offset",
79219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositiveOffset_al_r1_r3_plus_237_Offset",
79319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositiveOffset),
79419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositiveOffset},
79519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r9, r1, plus, 42, Offset},
79619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r9 r1 plus 42 Offset",
79719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositiveOffset_al_r9_r1_plus_42_Offset",
79819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositiveOffset),
79919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositiveOffset},
80019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r2, r9, plus, 17, Offset},
80119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r2 r9 plus 17 Offset",
80219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositiveOffset_al_r2_r9_plus_17_Offset",
80319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositiveOffset),
80419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositiveOffset},
80519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r7, r0, plus, 206, Offset},
80619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r7 r0 plus 206 Offset",
80719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositiveOffset_al_r7_r0_plus_206_Offset",
80819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositiveOffset),
80919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositiveOffset},
81019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r2, r14, plus, 248, Offset},
81119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r2 r14 plus 248 Offset",
81219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositiveOffset_al_r2_r14_plus_248_Offset",
81319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositiveOffset),
81419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositiveOffset},
81519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r4, r11, plus, 2, Offset},
81619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r4 r11 plus 2 Offset",
81719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositiveOffset_al_r4_r11_plus_2_Offset",
81819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositiveOffset),
81919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositiveOffset},
82019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r0, r5, plus, 213, Offset},
82119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r0 r5 plus 213 Offset",
82219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositiveOffset_al_r0_r5_plus_213_Offset",
82319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositiveOffset),
82419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositiveOffset},
82519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r0, r9, plus, 229, Offset},
82619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r0 r9 plus 229 Offset",
82719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositiveOffset_al_r0_r9_plus_229_Offset",
82819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositiveOffset),
82919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositiveOffset},
83019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r11, r6, minus, 4, Offset},
83119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r11 r6 minus 4 Offset",
83219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativeOffset_al_r11_r6_minus_4_Offset",
83319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativeOffset),
83419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativeOffset},
83519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r4, r3, minus, 59, Offset},
83619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r4 r3 minus 59 Offset",
83719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativeOffset_al_r4_r3_minus_59_Offset",
83819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativeOffset),
83919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativeOffset},
84019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r5, r2, minus, 23, Offset},
84119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r5 r2 minus 23 Offset",
84219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativeOffset_al_r5_r2_minus_23_Offset",
84319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativeOffset),
84419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativeOffset},
84519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r11, r6, minus, 97, Offset},
84619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r11 r6 minus 97 Offset",
84719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativeOffset_al_r11_r6_minus_97_Offset",
84819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativeOffset),
84919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativeOffset},
85019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r4, r6, minus, 239, Offset},
85119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r4 r6 minus 239 Offset",
85219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativeOffset_al_r4_r6_minus_239_Offset",
85319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativeOffset),
85419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativeOffset},
85519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r2, r12, minus, 36, Offset},
85619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r2 r12 minus 36 Offset",
85719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativeOffset_al_r2_r12_minus_36_Offset",
85819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativeOffset),
85919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativeOffset},
86019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r12, r11, minus, 6, Offset},
86119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r12 r11 minus 6 Offset",
86219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativeOffset_al_r12_r11_minus_6_Offset",
86319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativeOffset),
86419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativeOffset},
86519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r10, r9, minus, 11, Offset},
86619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r10 r9 minus 11 Offset",
86719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativeOffset_al_r10_r9_minus_11_Offset",
86819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativeOffset),
86919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativeOffset},
87019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r7, r1, minus, 0, Offset},
87119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r7 r1 minus 0 Offset",
87219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativeOffset_al_r7_r1_minus_0_Offset",
87319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativeOffset),
87419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativeOffset},
87519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r10, r9, minus, 148, Offset},
87619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r10 r9 minus 148 Offset",
87719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativeOffset_al_r10_r9_minus_148_Offset",
87819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativeOffset),
87919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativeOffset},
88019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r11, r2, minus, 249, Offset},
88119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r11 r2 minus 249 Offset",
88219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativeOffset_al_r11_r2_minus_249_Offset",
88319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativeOffset),
88419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativeOffset},
88519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r9, r8, minus, 99, Offset},
88619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r9 r8 minus 99 Offset",
88719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativeOffset_al_r9_r8_minus_99_Offset",
88819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativeOffset),
88919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativeOffset},
89019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r9, r4, minus, 43, Offset},
89119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r9 r4 minus 43 Offset",
89219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativeOffset_al_r9_r4_minus_43_Offset",
89319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativeOffset),
89419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativeOffset},
89519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r14, r9, minus, 43, Offset},
89619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r14 r9 minus 43 Offset",
89719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativeOffset_al_r14_r9_minus_43_Offset",
89819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativeOffset),
89919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativeOffset},
90019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r8, r7, minus, 52, Offset},
90119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r8 r7 minus 52 Offset",
90219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativeOffset_al_r8_r7_minus_52_Offset",
90319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativeOffset),
90419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativeOffset},
90519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r9, r3, minus, 171, Offset},
90619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r9 r3 minus 171 Offset",
90719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativeOffset_al_r9_r3_minus_171_Offset",
90819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativeOffset),
90919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativeOffset},
91019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r5, r1, minus, 119, Offset},
91119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r5 r1 minus 119 Offset",
91219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativeOffset_al_r5_r1_minus_119_Offset",
91319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativeOffset),
91419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativeOffset},
91519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r14, r12, minus, 144, Offset},
91619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r14 r12 minus 144 Offset",
91719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativeOffset_al_r14_r12_minus_144_Offset",
91819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativeOffset),
91919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativeOffset},
92019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r0, r5, minus, 111, Offset},
92119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r0 r5 minus 111 Offset",
92219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativeOffset_al_r0_r5_minus_111_Offset",
92319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativeOffset),
92419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativeOffset},
92519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r2, r1, minus, 85, Offset},
92619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r2 r1 minus 85 Offset",
92719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativeOffset_al_r2_r1_minus_85_Offset",
92819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativeOffset),
92919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativeOffset},
93019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r7, r3, minus, 68, Offset},
93119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r7 r3 minus 68 Offset",
93219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativeOffset_al_r7_r3_minus_68_Offset",
93319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativeOffset),
93419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativeOffset},
93519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r11, r3, minus, 4, Offset},
93619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r11 r3 minus 4 Offset",
93719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativeOffset_al_r11_r3_minus_4_Offset",
93819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativeOffset),
93919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativeOffset},
94019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r3, r5, minus, 178, Offset},
94119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r3 r5 minus 178 Offset",
94219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativeOffset_al_r3_r5_minus_178_Offset",
94319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativeOffset),
94419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativeOffset},
94519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r7, r5, minus, 40, Offset},
94619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r7 r5 minus 40 Offset",
94719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativeOffset_al_r7_r5_minus_40_Offset",
94819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativeOffset),
94919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativeOffset},
95019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r5, r7, minus, 117, Offset},
95119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r5 r7 minus 117 Offset",
95219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativeOffset_al_r5_r7_minus_117_Offset",
95319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativeOffset),
95419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativeOffset},
95519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r14, r10, minus, 118, Offset},
95619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r14 r10 minus 118 Offset",
95719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativeOffset_al_r14_r10_minus_118_Offset",
95819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativeOffset),
95919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativeOffset},
96019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r3, r10, minus, 118, Offset},
96119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r3 r10 minus 118 Offset",
96219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativeOffset_al_r3_r10_minus_118_Offset",
96319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativeOffset),
96419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativeOffset},
96519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r14, r9, minus, 34, Offset},
96619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r14 r9 minus 34 Offset",
96719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativeOffset_al_r14_r9_minus_34_Offset",
96819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativeOffset),
96919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativeOffset},
97019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r5, r8, minus, 135, Offset},
97119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r5 r8 minus 135 Offset",
97219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativeOffset_al_r5_r8_minus_135_Offset",
97319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativeOffset),
97419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativeOffset},
97519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r3, r1, minus, 121, Offset},
97619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r3 r1 minus 121 Offset",
97719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativeOffset_al_r3_r1_minus_121_Offset",
97819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativeOffset),
97919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativeOffset},
98019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r2, r1, minus, 150, Offset},
98119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r2 r1 minus 150 Offset",
98219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativeOffset_al_r2_r1_minus_150_Offset",
98319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativeOffset),
98419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativeOffset},
98519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r0, r2, minus, 10, Offset},
98619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r0 r2 minus 10 Offset",
98719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativeOffset_al_r0_r2_minus_10_Offset",
98819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativeOffset),
98919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativeOffset},
99019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r5, r6, minus, 222, Offset},
99119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r5 r6 minus 222 Offset",
99219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativeOffset_al_r5_r6_minus_222_Offset",
99319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativeOffset),
99419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativeOffset},
99519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r3, r9, minus, 150, Offset},
99619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r3 r9 minus 150 Offset",
99719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativeOffset_al_r3_r9_minus_150_Offset",
99819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativeOffset),
99919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativeOffset},
100019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r5, r0, minus, 154, Offset},
100119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r5 r0 minus 154 Offset",
100219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativeOffset_al_r5_r0_minus_154_Offset",
100319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativeOffset),
100419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativeOffset},
100519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r5, r0, minus, 11, Offset},
100619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r5 r0 minus 11 Offset",
100719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativeOffset_al_r5_r0_minus_11_Offset",
100819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativeOffset),
100919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativeOffset},
101019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r1, r11, minus, 149, Offset},
101119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r1 r11 minus 149 Offset",
101219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativeOffset_al_r1_r11_minus_149_Offset",
101319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativeOffset),
101419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativeOffset},
101519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r0, r9, minus, 146, Offset},
101619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r0 r9 minus 146 Offset",
101719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativeOffset_al_r0_r9_minus_146_Offset",
101819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativeOffset),
101919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativeOffset},
102019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r9, r8, minus, 129, Offset},
102119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r9 r8 minus 129 Offset",
102219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativeOffset_al_r9_r8_minus_129_Offset",
102319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativeOffset),
102419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativeOffset},
102519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r11, r0, minus, 88, Offset},
102619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r11 r0 minus 88 Offset",
102719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativeOffset_al_r11_r0_minus_88_Offset",
102819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativeOffset),
102919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativeOffset},
103019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r10, r12, minus, 5, Offset},
103119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r10 r12 minus 5 Offset",
103219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativeOffset_al_r10_r12_minus_5_Offset",
103319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativeOffset),
103419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativeOffset},
103519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r9, r5, minus, 90, Offset},
103619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r9 r5 minus 90 Offset",
103719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativeOffset_al_r9_r5_minus_90_Offset",
103819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativeOffset),
103919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativeOffset},
104019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r8, r6, minus, 28, Offset},
104119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r8 r6 minus 28 Offset",
104219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativeOffset_al_r8_r6_minus_28_Offset",
104319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativeOffset),
104419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativeOffset},
104519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r0, r7, minus, 66, Offset},
104619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r0 r7 minus 66 Offset",
104719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativeOffset_al_r0_r7_minus_66_Offset",
104819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativeOffset),
104919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativeOffset},
105019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r6, r14, minus, 2, Offset},
105119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r6 r14 minus 2 Offset",
105219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativeOffset_al_r6_r14_minus_2_Offset",
105319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativeOffset),
105419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativeOffset},
105519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r4, r2, minus, 240, Offset},
105619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r4 r2 minus 240 Offset",
105719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativeOffset_al_r4_r2_minus_240_Offset",
105819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativeOffset),
105919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativeOffset},
106019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r3, r9, minus, 66, Offset},
106119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r3 r9 minus 66 Offset",
106219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativeOffset_al_r3_r9_minus_66_Offset",
106319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativeOffset),
106419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativeOffset},
106519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r9, r10, minus, 52, Offset},
106619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r9 r10 minus 52 Offset",
106719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativeOffset_al_r9_r10_minus_52_Offset",
106819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativeOffset),
106919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativeOffset},
107019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r7, r6, minus, 38, Offset},
107119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r7 r6 minus 38 Offset",
107219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativeOffset_al_r7_r6_minus_38_Offset",
107319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativeOffset),
107419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativeOffset},
107519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r5, r12, minus, 7, Offset},
107619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r5 r12 minus 7 Offset",
107719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativeOffset_al_r5_r12_minus_7_Offset",
107819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativeOffset),
107919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativeOffset},
108019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r8, r5, minus, 6, Offset},
108119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r8 r5 minus 6 Offset",
108219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativeOffset_al_r8_r5_minus_6_Offset",
108319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativeOffset),
108419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativeOffset},
108519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r2, r10, minus, 251, Offset},
108619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r2 r10 minus 251 Offset",
108719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativeOffset_al_r2_r10_minus_251_Offset",
108819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativeOffset),
108919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativeOffset},
109019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r11, r8, minus, 11, Offset},
109119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r11 r8 minus 11 Offset",
109219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativeOffset_al_r11_r8_minus_11_Offset",
109319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativeOffset),
109419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativeOffset},
109519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r4, r11, minus, 97, Offset},
109619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r4 r11 minus 97 Offset",
109719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativeOffset_al_r4_r11_minus_97_Offset",
109819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativeOffset),
109919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativeOffset},
110019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r14, r2, minus, 21, Offset},
110119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r14 r2 minus 21 Offset",
110219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativeOffset_al_r14_r2_minus_21_Offset",
110319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativeOffset),
110419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativeOffset},
110519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r12, r1, minus, 127, Offset},
110619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r12 r1 minus 127 Offset",
110719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativeOffset_al_r12_r1_minus_127_Offset",
110819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativeOffset),
110919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativeOffset},
111019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r0, r9, minus, 144, Offset},
111119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r0 r9 minus 144 Offset",
111219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativeOffset_al_r0_r9_minus_144_Offset",
111319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativeOffset),
111419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativeOffset},
111519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r8, r4, minus, 6, Offset},
111619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r8 r4 minus 6 Offset",
111719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativeOffset_al_r8_r4_minus_6_Offset",
111819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativeOffset),
111919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativeOffset},
112019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r7, r2, minus, 128, Offset},
112119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r7 r2 minus 128 Offset",
112219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativeOffset_al_r7_r2_minus_128_Offset",
112319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativeOffset),
112419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativeOffset},
112519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r0, r9, minus, 79, Offset},
112619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r0 r9 minus 79 Offset",
112719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativeOffset_al_r0_r9_minus_79_Offset",
112819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativeOffset),
112919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativeOffset},
113019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r7, r6, minus, 53, Offset},
113119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r7 r6 minus 53 Offset",
113219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativeOffset_al_r7_r6_minus_53_Offset",
113319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativeOffset),
113419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativeOffset},
113519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r4, r9, minus, 32, Offset},
113619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r4 r9 minus 32 Offset",
113719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativeOffset_al_r4_r9_minus_32_Offset",
113819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativeOffset),
113919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativeOffset},
114019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r4, r8, minus, 146, Offset},
114119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r4 r8 minus 146 Offset",
114219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativeOffset_al_r4_r8_minus_146_Offset",
114319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativeOffset),
114419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativeOffset},
114519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r5, r3, minus, 228, Offset},
114619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r5 r3 minus 228 Offset",
114719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativeOffset_al_r5_r3_minus_228_Offset",
114819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativeOffset),
114919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativeOffset},
115019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r2, r0, minus, 42, Offset},
115119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r2 r0 minus 42 Offset",
115219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativeOffset_al_r2_r0_minus_42_Offset",
115319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativeOffset),
115419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativeOffset},
115519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r1, r8, minus, 85, Offset},
115619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r1 r8 minus 85 Offset",
115719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativeOffset_al_r1_r8_minus_85_Offset",
115819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativeOffset),
115919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativeOffset},
116019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r3, r1, minus, 137, Offset},
116119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r3 r1 minus 137 Offset",
116219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativeOffset_al_r3_r1_minus_137_Offset",
116319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativeOffset),
116419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativeOffset},
116519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r5, r8, minus, 6, Offset},
116619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r5 r8 minus 6 Offset",
116719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativeOffset_al_r5_r8_minus_6_Offset",
116819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativeOffset),
116919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativeOffset},
117019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r5, r4, minus, 58, Offset},
117119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r5 r4 minus 58 Offset",
117219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativeOffset_al_r5_r4_minus_58_Offset",
117319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativeOffset),
117419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativeOffset},
117519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r5, r11, minus, 41, Offset},
117619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r5 r11 minus 41 Offset",
117719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativeOffset_al_r5_r11_minus_41_Offset",
117819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativeOffset),
117919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativeOffset},
118019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r7, r8, minus, 27, Offset},
118119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r7 r8 minus 27 Offset",
118219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativeOffset_al_r7_r8_minus_27_Offset",
118319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativeOffset),
118419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativeOffset},
118519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r6, r7, minus, 58, Offset},
118619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r6 r7 minus 58 Offset",
118719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativeOffset_al_r6_r7_minus_58_Offset",
118819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativeOffset),
118919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativeOffset},
119019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r7, r5, minus, 6, Offset},
119119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r7 r5 minus 6 Offset",
119219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativeOffset_al_r7_r5_minus_6_Offset",
119319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativeOffset),
119419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativeOffset},
119519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r9, r3, minus, 167, Offset},
119619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r9 r3 minus 167 Offset",
119719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativeOffset_al_r9_r3_minus_167_Offset",
119819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativeOffset),
119919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativeOffset},
120019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r6, r4, minus, 44, Offset},
120119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r6 r4 minus 44 Offset",
120219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativeOffset_al_r6_r4_minus_44_Offset",
120319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativeOffset),
120419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativeOffset},
120519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r8, r1, minus, 115, Offset},
120619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r8 r1 minus 115 Offset",
120719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativeOffset_al_r8_r1_minus_115_Offset",
120819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativeOffset),
120919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativeOffset},
121019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r4, r8, minus, 127, Offset},
121119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r4 r8 minus 127 Offset",
121219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativeOffset_al_r4_r8_minus_127_Offset",
121319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativeOffset),
121419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativeOffset},
121519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r6, r1, minus, 247, Offset},
121619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r6 r1 minus 247 Offset",
121719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativeOffset_al_r6_r1_minus_247_Offset",
121819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativeOffset),
121919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativeOffset},
122019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r5, r2, minus, 113, Offset},
122119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r5 r2 minus 113 Offset",
122219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativeOffset_al_r5_r2_minus_113_Offset",
122319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativeOffset),
122419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativeOffset},
122519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r10, r5, minus, 197, Offset},
122619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r10 r5 minus 197 Offset",
122719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativeOffset_al_r10_r5_minus_197_Offset",
122819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativeOffset),
122919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativeOffset},
123019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r3, r14, minus, 149, Offset},
123119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r3 r14 minus 149 Offset",
123219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativeOffset_al_r3_r14_minus_149_Offset",
123319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativeOffset),
123419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativeOffset},
123519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r4, r9, minus, 71, Offset},
123619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r4 r9 minus 71 Offset",
123719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativeOffset_al_r4_r9_minus_71_Offset",
123819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativeOffset),
123919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativeOffset},
124019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r9, r5, minus, 65, Offset},
124119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r9 r5 minus 65 Offset",
124219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativeOffset_al_r9_r5_minus_65_Offset",
124319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativeOffset),
124419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativeOffset},
124519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r1, r12, minus, 238, Offset},
124619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r1 r12 minus 238 Offset",
124719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativeOffset_al_r1_r12_minus_238_Offset",
124819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativeOffset),
124919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativeOffset},
125019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r8, r12, minus, 102, Offset},
125119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r8 r12 minus 102 Offset",
125219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativeOffset_al_r8_r12_minus_102_Offset",
125319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativeOffset),
125419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativeOffset},
125519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r14, r0, minus, 49, Offset},
125619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r14 r0 minus 49 Offset",
125719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativeOffset_al_r14_r0_minus_49_Offset",
125819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativeOffset),
125919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativeOffset},
126019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r12, r5, minus, 63, Offset},
126119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r12 r5 minus 63 Offset",
126219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativeOffset_al_r12_r5_minus_63_Offset",
126319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativeOffset),
126419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativeOffset},
126519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r9, r3, minus, 146, Offset},
126619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r9 r3 minus 146 Offset",
126719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativeOffset_al_r9_r3_minus_146_Offset",
126819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativeOffset),
126919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativeOffset},
127019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r14, r0, minus, 36, Offset},
127119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r14 r0 minus 36 Offset",
127219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativeOffset_al_r14_r0_minus_36_Offset",
127319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativeOffset),
127419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativeOffset},
127519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r1, r5, minus, 154, Offset},
127619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r1 r5 minus 154 Offset",
127719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativeOffset_al_r1_r5_minus_154_Offset",
127819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativeOffset),
127919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativeOffset},
128019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r4, r9, minus, 139, Offset},
128119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r4 r9 minus 139 Offset",
128219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativeOffset_al_r4_r9_minus_139_Offset",
128319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativeOffset),
128419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativeOffset},
128519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r8, r11, minus, 131, Offset},
128619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r8 r11 minus 131 Offset",
128719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativeOffset_al_r8_r11_minus_131_Offset",
128819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativeOffset),
128919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativeOffset},
129019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r4, r10, minus, 45, Offset},
129119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r4 r10 minus 45 Offset",
129219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativeOffset_al_r4_r10_minus_45_Offset",
129319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativeOffset),
129419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativeOffset},
129519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r11, r2, minus, 77, Offset},
129619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r11 r2 minus 77 Offset",
129719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativeOffset_al_r11_r2_minus_77_Offset",
129819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativeOffset),
129919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativeOffset},
130019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r9, r5, minus, 75, Offset},
130119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r9 r5 minus 75 Offset",
130219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativeOffset_al_r9_r5_minus_75_Offset",
130319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativeOffset),
130419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativeOffset},
130519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r12, r6, minus, 86, Offset},
130619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r12 r6 minus 86 Offset",
130719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativeOffset_al_r12_r6_minus_86_Offset",
130819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativeOffset),
130919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativeOffset},
131019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r0, r7, minus, 191, Offset},
131119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r0 r7 minus 191 Offset",
131219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativeOffset_al_r0_r7_minus_191_Offset",
131319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativeOffset),
131419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativeOffset},
131519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r3, r10, minus, 125, Offset},
131619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r3 r10 minus 125 Offset",
131719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativeOffset_al_r3_r10_minus_125_Offset",
131819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativeOffset),
131919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativeOffset},
132019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r2, r8, minus, 23, Offset},
132119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r2 r8 minus 23 Offset",
132219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativeOffset_al_r2_r8_minus_23_Offset",
132319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativeOffset),
132419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativeOffset},
132519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r1, r11, minus, 105, Offset},
132619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r1 r11 minus 105 Offset",
132719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativeOffset_al_r1_r11_minus_105_Offset",
132819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativeOffset),
132919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativeOffset},
133019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r14, r7, plus, 211, PostIndex},
133119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r14 r7 plus 211 PostIndex",
133219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositivePostIndex_al_r14_r7_plus_211_PostIndex",
133319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositivePostIndex),
133419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositivePostIndex},
133519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r7, r11, plus, 202, PostIndex},
133619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r7 r11 plus 202 PostIndex",
133719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositivePostIndex_al_r7_r11_plus_202_PostIndex",
133819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositivePostIndex),
133919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositivePostIndex},
134019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r11, r3, plus, 175, PostIndex},
134119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r11 r3 plus 175 PostIndex",
134219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositivePostIndex_al_r11_r3_plus_175_PostIndex",
134319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositivePostIndex),
134419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositivePostIndex},
134519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r4, r8, plus, 129, PostIndex},
134619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r4 r8 plus 129 PostIndex",
134719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositivePostIndex_al_r4_r8_plus_129_PostIndex",
134819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositivePostIndex),
134919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositivePostIndex},
135019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r4, r7, plus, 71, PostIndex},
135119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r4 r7 plus 71 PostIndex",
135219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositivePostIndex_al_r4_r7_plus_71_PostIndex",
135319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositivePostIndex),
135419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositivePostIndex},
135519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r5, r12, plus, 226, PostIndex},
135619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r5 r12 plus 226 PostIndex",
135719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositivePostIndex_al_r5_r12_plus_226_PostIndex",
135819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositivePostIndex),
135919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositivePostIndex},
136019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r1, r14, plus, 53, PostIndex},
136119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r1 r14 plus 53 PostIndex",
136219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositivePostIndex_al_r1_r14_plus_53_PostIndex",
136319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositivePostIndex),
136419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositivePostIndex},
136519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r9, r10, plus, 116, PostIndex},
136619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r9 r10 plus 116 PostIndex",
136719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositivePostIndex_al_r9_r10_plus_116_PostIndex",
136819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositivePostIndex),
136919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositivePostIndex},
137019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r10, r2, plus, 137, PostIndex},
137119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r10 r2 plus 137 PostIndex",
137219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositivePostIndex_al_r10_r2_plus_137_PostIndex",
137319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositivePostIndex),
137419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositivePostIndex},
137519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r5, r7, plus, 157, PostIndex},
137619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r5 r7 plus 157 PostIndex",
137719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositivePostIndex_al_r5_r7_plus_157_PostIndex",
137819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositivePostIndex),
137919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositivePostIndex},
138019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r11, r9, plus, 19, PostIndex},
138119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r11 r9 plus 19 PostIndex",
138219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositivePostIndex_al_r11_r9_plus_19_PostIndex",
138319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositivePostIndex),
138419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositivePostIndex},
138519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r6, r11, plus, 229, PostIndex},
138619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r6 r11 plus 229 PostIndex",
138719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositivePostIndex_al_r6_r11_plus_229_PostIndex",
138819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositivePostIndex),
138919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositivePostIndex},
139019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r5, r7, plus, 91, PostIndex},
139119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r5 r7 plus 91 PostIndex",
139219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositivePostIndex_al_r5_r7_plus_91_PostIndex",
139319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositivePostIndex),
139419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositivePostIndex},
139519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r0, r2, plus, 32, PostIndex},
139619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r0 r2 plus 32 PostIndex",
139719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositivePostIndex_al_r0_r2_plus_32_PostIndex",
139819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositivePostIndex),
139919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositivePostIndex},
140019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r12, r9, plus, 244, PostIndex},
140119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r12 r9 plus 244 PostIndex",
140219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositivePostIndex_al_r12_r9_plus_244_PostIndex",
140319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositivePostIndex),
140419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositivePostIndex},
140519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r0, r7, plus, 180, PostIndex},
140619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r0 r7 plus 180 PostIndex",
140719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositivePostIndex_al_r0_r7_plus_180_PostIndex",
140819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositivePostIndex),
140919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositivePostIndex},
141019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r5, r1, plus, 49, PostIndex},
141119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r5 r1 plus 49 PostIndex",
141219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositivePostIndex_al_r5_r1_plus_49_PostIndex",
141319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositivePostIndex),
141419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositivePostIndex},
141519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r7, r2, plus, 149, PostIndex},
141619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r7 r2 plus 149 PostIndex",
141719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositivePostIndex_al_r7_r2_plus_149_PostIndex",
141819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositivePostIndex),
141919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositivePostIndex},
142019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r3, r11, plus, 128, PostIndex},
142119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r3 r11 plus 128 PostIndex",
142219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositivePostIndex_al_r3_r11_plus_128_PostIndex",
142319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositivePostIndex),
142419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositivePostIndex},
142519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r3, r14, plus, 139, PostIndex},
142619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r3 r14 plus 139 PostIndex",
142719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositivePostIndex_al_r3_r14_plus_139_PostIndex",
142819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositivePostIndex),
142919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositivePostIndex},
143019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r1, r4, plus, 104, PostIndex},
143119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r1 r4 plus 104 PostIndex",
143219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositivePostIndex_al_r1_r4_plus_104_PostIndex",
143319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositivePostIndex),
143419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositivePostIndex},
143519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r6, r8, plus, 26, PostIndex},
143619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r6 r8 plus 26 PostIndex",
143719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositivePostIndex_al_r6_r8_plus_26_PostIndex",
143819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositivePostIndex),
143919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositivePostIndex},
144019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r0, r14, plus, 98, PostIndex},
144119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r0 r14 plus 98 PostIndex",
144219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositivePostIndex_al_r0_r14_plus_98_PostIndex",
144319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositivePostIndex),
144419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositivePostIndex},
144519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r3, r0, plus, 148, PostIndex},
144619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r3 r0 plus 148 PostIndex",
144719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositivePostIndex_al_r3_r0_plus_148_PostIndex",
144819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositivePostIndex),
144919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositivePostIndex},
145019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r2, r0, plus, 158, PostIndex},
145119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r2 r0 plus 158 PostIndex",
145219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositivePostIndex_al_r2_r0_plus_158_PostIndex",
145319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositivePostIndex),
145419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositivePostIndex},
145519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r3, r1, plus, 136, PostIndex},
145619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r3 r1 plus 136 PostIndex",
145719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositivePostIndex_al_r3_r1_plus_136_PostIndex",
145819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositivePostIndex),
145919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositivePostIndex},
146019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r7, r1, plus, 248, PostIndex},
146119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r7 r1 plus 248 PostIndex",
146219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositivePostIndex_al_r7_r1_plus_248_PostIndex",
146319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositivePostIndex),
146419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositivePostIndex},
146519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r9, r2, plus, 34, PostIndex},
146619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r9 r2 plus 34 PostIndex",
146719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositivePostIndex_al_r9_r2_plus_34_PostIndex",
146819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositivePostIndex),
146919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositivePostIndex},
147019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r1, r2, plus, 142, PostIndex},
147119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r1 r2 plus 142 PostIndex",
147219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositivePostIndex_al_r1_r2_plus_142_PostIndex",
147319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositivePostIndex),
147419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositivePostIndex},
147519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r8, r4, plus, 111, PostIndex},
147619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r8 r4 plus 111 PostIndex",
147719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositivePostIndex_al_r8_r4_plus_111_PostIndex",
147819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositivePostIndex),
147919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositivePostIndex},
148019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r11, r14, plus, 156, PostIndex},
148119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r11 r14 plus 156 PostIndex",
148219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositivePostIndex_al_r11_r14_plus_156_PostIndex",
148319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositivePostIndex),
148419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositivePostIndex},
148519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r0, r5, plus, 87, PostIndex},
148619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r0 r5 plus 87 PostIndex",
148719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositivePostIndex_al_r0_r5_plus_87_PostIndex",
148819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositivePostIndex),
148919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositivePostIndex},
149019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r10, r12, plus, 244, PostIndex},
149119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r10 r12 plus 244 PostIndex",
149219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositivePostIndex_al_r10_r12_plus_244_PostIndex",
149319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositivePostIndex),
149419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositivePostIndex},
149519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r6, r8, plus, 135, PostIndex},
149619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r6 r8 plus 135 PostIndex",
149719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositivePostIndex_al_r6_r8_plus_135_PostIndex",
149819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositivePostIndex),
149919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositivePostIndex},
150019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r0, r5, plus, 177, PostIndex},
150119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r0 r5 plus 177 PostIndex",
150219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositivePostIndex_al_r0_r5_plus_177_PostIndex",
150319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositivePostIndex),
150419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositivePostIndex},
150519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r6, r12, plus, 160, PostIndex},
150619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r6 r12 plus 160 PostIndex",
150719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositivePostIndex_al_r6_r12_plus_160_PostIndex",
150819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositivePostIndex),
150919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositivePostIndex},
151019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r6, r5, plus, 69, PostIndex},
151119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r6 r5 plus 69 PostIndex",
151219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositivePostIndex_al_r6_r5_plus_69_PostIndex",
151319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositivePostIndex),
151419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositivePostIndex},
151519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r4, r6, plus, 6, PostIndex},
151619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r4 r6 plus 6 PostIndex",
151719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositivePostIndex_al_r4_r6_plus_6_PostIndex",
151819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositivePostIndex),
151919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositivePostIndex},
152019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r7, r8, plus, 10, PostIndex},
152119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r7 r8 plus 10 PostIndex",
152219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositivePostIndex_al_r7_r8_plus_10_PostIndex",
152319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositivePostIndex),
152419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositivePostIndex},
152519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r0, r2, plus, 76, PostIndex},
152619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r0 r2 plus 76 PostIndex",
152719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositivePostIndex_al_r0_r2_plus_76_PostIndex",
152819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositivePostIndex),
152919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositivePostIndex},
153019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r2, r5, plus, 46, PostIndex},
153119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r2 r5 plus 46 PostIndex",
153219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositivePostIndex_al_r2_r5_plus_46_PostIndex",
153319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositivePostIndex),
153419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositivePostIndex},
153519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r8, r0, plus, 93, PostIndex},
153619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r8 r0 plus 93 PostIndex",
153719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositivePostIndex_al_r8_r0_plus_93_PostIndex",
153819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositivePostIndex),
153919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositivePostIndex},
154019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r7, r12, plus, 243, PostIndex},
154119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r7 r12 plus 243 PostIndex",
154219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositivePostIndex_al_r7_r12_plus_243_PostIndex",
154319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositivePostIndex),
154419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositivePostIndex},
154519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r1, r8, plus, 223, PostIndex},
154619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r1 r8 plus 223 PostIndex",
154719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositivePostIndex_al_r1_r8_plus_223_PostIndex",
154819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositivePostIndex),
154919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositivePostIndex},
155019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r12, r8, plus, 95, PostIndex},
155119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r12 r8 plus 95 PostIndex",
155219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositivePostIndex_al_r12_r8_plus_95_PostIndex",
155319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositivePostIndex),
155419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositivePostIndex},
155519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r8, r11, plus, 191, PostIndex},
155619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r8 r11 plus 191 PostIndex",
155719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositivePostIndex_al_r8_r11_plus_191_PostIndex",
155819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositivePostIndex),
155919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositivePostIndex},
156019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r11, r2, plus, 120, PostIndex},
156119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r11 r2 plus 120 PostIndex",
156219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositivePostIndex_al_r11_r2_plus_120_PostIndex",
156319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositivePostIndex),
156419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositivePostIndex},
156519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r14, r0, plus, 161, PostIndex},
156619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r14 r0 plus 161 PostIndex",
156719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositivePostIndex_al_r14_r0_plus_161_PostIndex",
156819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositivePostIndex),
156919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositivePostIndex},
157019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r5, r12, plus, 143, PostIndex},
157119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r5 r12 plus 143 PostIndex",
157219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositivePostIndex_al_r5_r12_plus_143_PostIndex",
157319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositivePostIndex),
157419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositivePostIndex},
157519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r12, r11, plus, 208, PostIndex},
157619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r12 r11 plus 208 PostIndex",
157719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositivePostIndex_al_r12_r11_plus_208_PostIndex",
157819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositivePostIndex),
157919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositivePostIndex},
158019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r1, r10, plus, 111, PostIndex},
158119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r1 r10 plus 111 PostIndex",
158219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositivePostIndex_al_r1_r10_plus_111_PostIndex",
158319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositivePostIndex),
158419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositivePostIndex},
158519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r9, r11, plus, 36, PostIndex},
158619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r9 r11 plus 36 PostIndex",
158719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositivePostIndex_al_r9_r11_plus_36_PostIndex",
158819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositivePostIndex),
158919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositivePostIndex},
159019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r9, r1, plus, 36, PostIndex},
159119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r9 r1 plus 36 PostIndex",
159219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositivePostIndex_al_r9_r1_plus_36_PostIndex",
159319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositivePostIndex),
159419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositivePostIndex},
159519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r5, r1, plus, 227, PostIndex},
159619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r5 r1 plus 227 PostIndex",
159719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositivePostIndex_al_r5_r1_plus_227_PostIndex",
159819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositivePostIndex),
159919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositivePostIndex},
160019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r0, r8, plus, 23, PostIndex},
160119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r0 r8 plus 23 PostIndex",
160219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositivePostIndex_al_r0_r8_plus_23_PostIndex",
160319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositivePostIndex),
160419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositivePostIndex},
160519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r0, r5, plus, 200, PostIndex},
160619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r0 r5 plus 200 PostIndex",
160719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositivePostIndex_al_r0_r5_plus_200_PostIndex",
160819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositivePostIndex),
160919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositivePostIndex},
161019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r1, r5, plus, 43, PostIndex},
161119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r1 r5 plus 43 PostIndex",
161219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositivePostIndex_al_r1_r5_plus_43_PostIndex",
161319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositivePostIndex),
161419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositivePostIndex},
161519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r9, r4, plus, 101, PostIndex},
161619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r9 r4 plus 101 PostIndex",
161719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositivePostIndex_al_r9_r4_plus_101_PostIndex",
161819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositivePostIndex),
161919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositivePostIndex},
162019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r14, r5, plus, 68, PostIndex},
162119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r14 r5 plus 68 PostIndex",
162219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositivePostIndex_al_r14_r5_plus_68_PostIndex",
162319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositivePostIndex),
162419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositivePostIndex},
162519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r10, r1, plus, 29, PostIndex},
162619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r10 r1 plus 29 PostIndex",
162719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositivePostIndex_al_r10_r1_plus_29_PostIndex",
162819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositivePostIndex),
162919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositivePostIndex},
163019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r7, r2, plus, 102, PostIndex},
163119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r7 r2 plus 102 PostIndex",
163219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositivePostIndex_al_r7_r2_plus_102_PostIndex",
163319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositivePostIndex),
163419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositivePostIndex},
163519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r2, r4, plus, 233, PostIndex},
163619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r2 r4 plus 233 PostIndex",
163719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositivePostIndex_al_r2_r4_plus_233_PostIndex",
163819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositivePostIndex),
163919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositivePostIndex},
164019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r8, r10, plus, 134, PostIndex},
164119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r8 r10 plus 134 PostIndex",
164219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositivePostIndex_al_r8_r10_plus_134_PostIndex",
164319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositivePostIndex),
164419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositivePostIndex},
164519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r4, r0, plus, 136, PostIndex},
164619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r4 r0 plus 136 PostIndex",
164719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositivePostIndex_al_r4_r0_plus_136_PostIndex",
164819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositivePostIndex),
164919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositivePostIndex},
165019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r9, r7, plus, 194, PostIndex},
165119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r9 r7 plus 194 PostIndex",
165219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositivePostIndex_al_r9_r7_plus_194_PostIndex",
165319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositivePostIndex),
165419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositivePostIndex},
165519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r8, r14, plus, 9, PostIndex},
165619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r8 r14 plus 9 PostIndex",
165719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositivePostIndex_al_r8_r14_plus_9_PostIndex",
165819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositivePostIndex),
165919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositivePostIndex},
166019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r2, r10, plus, 93, PostIndex},
166119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r2 r10 plus 93 PostIndex",
166219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositivePostIndex_al_r2_r10_plus_93_PostIndex",
166319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositivePostIndex),
166419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositivePostIndex},
166519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r10, r8, plus, 29, PostIndex},
166619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r10 r8 plus 29 PostIndex",
166719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositivePostIndex_al_r10_r8_plus_29_PostIndex",
166819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositivePostIndex),
166919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositivePostIndex},
167019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r11, r3, plus, 219, PostIndex},
167119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r11 r3 plus 219 PostIndex",
167219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositivePostIndex_al_r11_r3_plus_219_PostIndex",
167319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositivePostIndex),
167419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositivePostIndex},
167519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r7, r5, plus, 122, PostIndex},
167619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r7 r5 plus 122 PostIndex",
167719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositivePostIndex_al_r7_r5_plus_122_PostIndex",
167819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositivePostIndex),
167919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositivePostIndex},
168019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r3, r7, plus, 115, PostIndex},
168119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r3 r7 plus 115 PostIndex",
168219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositivePostIndex_al_r3_r7_plus_115_PostIndex",
168319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositivePostIndex),
168419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositivePostIndex},
168519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r14, r0, plus, 168, PostIndex},
168619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r14 r0 plus 168 PostIndex",
168719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositivePostIndex_al_r14_r0_plus_168_PostIndex",
168819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositivePostIndex),
168919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositivePostIndex},
169019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r1, r5, plus, 102, PostIndex},
169119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r1 r5 plus 102 PostIndex",
169219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositivePostIndex_al_r1_r5_plus_102_PostIndex",
169319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositivePostIndex),
169419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositivePostIndex},
169519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r8, r0, plus, 131, PostIndex},
169619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r8 r0 plus 131 PostIndex",
169719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositivePostIndex_al_r8_r0_plus_131_PostIndex",
169819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositivePostIndex),
169919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositivePostIndex},
170019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r4, r1, plus, 161, PostIndex},
170119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r4 r1 plus 161 PostIndex",
170219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositivePostIndex_al_r4_r1_plus_161_PostIndex",
170319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositivePostIndex),
170419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositivePostIndex},
170519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r1, r6, plus, 140, PostIndex},
170619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r1 r6 plus 140 PostIndex",
170719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositivePostIndex_al_r1_r6_plus_140_PostIndex",
170819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositivePostIndex),
170919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositivePostIndex},
171019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r2, r8, plus, 73, PostIndex},
171119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r2 r8 plus 73 PostIndex",
171219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositivePostIndex_al_r2_r8_plus_73_PostIndex",
171319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositivePostIndex),
171419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositivePostIndex},
171519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r3, r8, plus, 68, PostIndex},
171619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r3 r8 plus 68 PostIndex",
171719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositivePostIndex_al_r3_r8_plus_68_PostIndex",
171819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositivePostIndex),
171919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositivePostIndex},
172019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r12, r2, plus, 185, PostIndex},
172119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r12 r2 plus 185 PostIndex",
172219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositivePostIndex_al_r12_r2_plus_185_PostIndex",
172319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositivePostIndex),
172419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositivePostIndex},
172519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r0, r12, plus, 95, PostIndex},
172619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r0 r12 plus 95 PostIndex",
172719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositivePostIndex_al_r0_r12_plus_95_PostIndex",
172819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositivePostIndex),
172919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositivePostIndex},
173019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r12, r2, plus, 172, PostIndex},
173119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r12 r2 plus 172 PostIndex",
173219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositivePostIndex_al_r12_r2_plus_172_PostIndex",
173319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositivePostIndex),
173419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositivePostIndex},
173519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r1, r5, plus, 14, PostIndex},
173619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r1 r5 plus 14 PostIndex",
173719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositivePostIndex_al_r1_r5_plus_14_PostIndex",
173819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositivePostIndex),
173919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositivePostIndex},
174019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r6, r9, plus, 229, PostIndex},
174119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r6 r9 plus 229 PostIndex",
174219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositivePostIndex_al_r6_r9_plus_229_PostIndex",
174319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositivePostIndex),
174419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositivePostIndex},
174519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r10, r6, plus, 31, PostIndex},
174619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r10 r6 plus 31 PostIndex",
174719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositivePostIndex_al_r10_r6_plus_31_PostIndex",
174819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositivePostIndex),
174919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositivePostIndex},
175019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r8, r5, plus, 229, PostIndex},
175119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r8 r5 plus 229 PostIndex",
175219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositivePostIndex_al_r8_r5_plus_229_PostIndex",
175319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositivePostIndex),
175419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositivePostIndex},
175519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r11, r10, plus, 132, PostIndex},
175619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r11 r10 plus 132 PostIndex",
175719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositivePostIndex_al_r11_r10_plus_132_PostIndex",
175819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositivePostIndex),
175919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositivePostIndex},
176019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r4, r0, plus, 192, PostIndex},
176119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r4 r0 plus 192 PostIndex",
176219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositivePostIndex_al_r4_r0_plus_192_PostIndex",
176319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositivePostIndex),
176419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositivePostIndex},
176519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r5, r0, plus, 176, PostIndex},
176619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r5 r0 plus 176 PostIndex",
176719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositivePostIndex_al_r5_r0_plus_176_PostIndex",
176819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositivePostIndex),
176919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositivePostIndex},
177019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r5, r4, plus, 106, PostIndex},
177119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r5 r4 plus 106 PostIndex",
177219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositivePostIndex_al_r5_r4_plus_106_PostIndex",
177319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositivePostIndex),
177419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositivePostIndex},
177519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r2, r12, plus, 69, PostIndex},
177619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r2 r12 plus 69 PostIndex",
177719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositivePostIndex_al_r2_r12_plus_69_PostIndex",
177819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositivePostIndex),
177919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositivePostIndex},
178019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r11, r10, plus, 15, PostIndex},
178119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r11 r10 plus 15 PostIndex",
178219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositivePostIndex_al_r11_r10_plus_15_PostIndex",
178319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositivePostIndex),
178419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositivePostIndex},
178519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r10, r6, plus, 159, PostIndex},
178619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r10 r6 plus 159 PostIndex",
178719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositivePostIndex_al_r10_r6_plus_159_PostIndex",
178819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositivePostIndex),
178919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositivePostIndex},
179019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r12, r8, plus, 78, PostIndex},
179119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r12 r8 plus 78 PostIndex",
179219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositivePostIndex_al_r12_r8_plus_78_PostIndex",
179319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositivePostIndex),
179419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositivePostIndex},
179519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r0, r5, plus, 227, PostIndex},
179619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r0 r5 plus 227 PostIndex",
179719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositivePostIndex_al_r0_r5_plus_227_PostIndex",
179819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositivePostIndex),
179919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositivePostIndex},
180019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r8, r10, plus, 73, PostIndex},
180119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r8 r10 plus 73 PostIndex",
180219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositivePostIndex_al_r8_r10_plus_73_PostIndex",
180319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositivePostIndex),
180419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositivePostIndex},
180519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r9, r5, plus, 10, PostIndex},
180619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r9 r5 plus 10 PostIndex",
180719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositivePostIndex_al_r9_r5_plus_10_PostIndex",
180819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositivePostIndex),
180919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositivePostIndex},
181019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r12, r14, plus, 214, PostIndex},
181119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r12 r14 plus 214 PostIndex",
181219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositivePostIndex_al_r12_r14_plus_214_PostIndex",
181319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositivePostIndex),
181419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositivePostIndex},
181519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r7, r14, plus, 246, PostIndex},
181619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r7 r14 plus 246 PostIndex",
181719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositivePostIndex_al_r7_r14_plus_246_PostIndex",
181819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositivePostIndex),
181919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositivePostIndex},
182019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r11, r1, plus, 78, PostIndex},
182119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r11 r1 plus 78 PostIndex",
182219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositivePostIndex_al_r11_r1_plus_78_PostIndex",
182319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositivePostIndex),
182419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositivePostIndex},
182519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r5, r9, plus, 26, PostIndex},
182619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r5 r9 plus 26 PostIndex",
182719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositivePostIndex_al_r5_r9_plus_26_PostIndex",
182819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositivePostIndex),
182919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositivePostIndex},
183019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r9, r14, minus, 12, PostIndex},
183119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r9 r14 minus 12 PostIndex",
183219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativePostIndex_al_r9_r14_minus_12_PostIndex",
183319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativePostIndex),
183419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativePostIndex},
183519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r8, r4, minus, 212, PostIndex},
183619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r8 r4 minus 212 PostIndex",
183719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativePostIndex_al_r8_r4_minus_212_PostIndex",
183819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativePostIndex),
183919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativePostIndex},
184019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r2, r11, minus, 14, PostIndex},
184119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r2 r11 minus 14 PostIndex",
184219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativePostIndex_al_r2_r11_minus_14_PostIndex",
184319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativePostIndex),
184419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativePostIndex},
184519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r2, r7, minus, 225, PostIndex},
184619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r2 r7 minus 225 PostIndex",
184719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativePostIndex_al_r2_r7_minus_225_PostIndex",
184819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativePostIndex),
184919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativePostIndex},
185019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r11, r2, minus, 77, PostIndex},
185119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r11 r2 minus 77 PostIndex",
185219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativePostIndex_al_r11_r2_minus_77_PostIndex",
185319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativePostIndex),
185419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativePostIndex},
185519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r14, r8, minus, 23, PostIndex},
185619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r14 r8 minus 23 PostIndex",
185719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativePostIndex_al_r14_r8_minus_23_PostIndex",
185819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativePostIndex),
185919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativePostIndex},
186019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r0, r9, minus, 250, PostIndex},
186119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r0 r9 minus 250 PostIndex",
186219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativePostIndex_al_r0_r9_minus_250_PostIndex",
186319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativePostIndex),
186419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativePostIndex},
186519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r14, r11, minus, 121, PostIndex},
186619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r14 r11 minus 121 PostIndex",
186719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativePostIndex_al_r14_r11_minus_121_PostIndex",
186819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativePostIndex),
186919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativePostIndex},
187019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r12, r1, minus, 122, PostIndex},
187119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r12 r1 minus 122 PostIndex",
187219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativePostIndex_al_r12_r1_minus_122_PostIndex",
187319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativePostIndex),
187419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativePostIndex},
187519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r11, r5, minus, 75, PostIndex},
187619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r11 r5 minus 75 PostIndex",
187719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativePostIndex_al_r11_r5_minus_75_PostIndex",
187819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativePostIndex),
187919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativePostIndex},
188019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r9, r5, minus, 123, PostIndex},
188119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r9 r5 minus 123 PostIndex",
188219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativePostIndex_al_r9_r5_minus_123_PostIndex",
188319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativePostIndex),
188419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativePostIndex},
188519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r0, r10, minus, 31, PostIndex},
188619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r0 r10 minus 31 PostIndex",
188719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativePostIndex_al_r0_r10_minus_31_PostIndex",
188819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativePostIndex),
188919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativePostIndex},
189019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r9, r2, minus, 154, PostIndex},
189119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r9 r2 minus 154 PostIndex",
189219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativePostIndex_al_r9_r2_minus_154_PostIndex",
189319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativePostIndex),
189419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativePostIndex},
189519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r10, r3, minus, 39, PostIndex},
189619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r10 r3 minus 39 PostIndex",
189719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativePostIndex_al_r10_r3_minus_39_PostIndex",
189819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativePostIndex),
189919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativePostIndex},
190019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r9, r8, minus, 40, PostIndex},
190119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r9 r8 minus 40 PostIndex",
190219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativePostIndex_al_r9_r8_minus_40_PostIndex",
190319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativePostIndex),
190419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativePostIndex},
190519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r2, r11, minus, 19, PostIndex},
190619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r2 r11 minus 19 PostIndex",
190719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativePostIndex_al_r2_r11_minus_19_PostIndex",
190819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativePostIndex),
190919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativePostIndex},
191019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r7, r12, minus, 62, PostIndex},
191119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r7 r12 minus 62 PostIndex",
191219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativePostIndex_al_r7_r12_minus_62_PostIndex",
191319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativePostIndex),
191419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativePostIndex},
191519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r12, r5, minus, 94, PostIndex},
191619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r12 r5 minus 94 PostIndex",
191719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativePostIndex_al_r12_r5_minus_94_PostIndex",
191819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativePostIndex),
191919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativePostIndex},
192019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r3, r12, minus, 177, PostIndex},
192119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r3 r12 minus 177 PostIndex",
192219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativePostIndex_al_r3_r12_minus_177_PostIndex",
192319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativePostIndex),
192419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativePostIndex},
192519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r10, r3, minus, 22, PostIndex},
192619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r10 r3 minus 22 PostIndex",
192719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativePostIndex_al_r10_r3_minus_22_PostIndex",
192819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativePostIndex),
192919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativePostIndex},
193019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r5, r4, minus, 136, PostIndex},
193119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r5 r4 minus 136 PostIndex",
193219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativePostIndex_al_r5_r4_minus_136_PostIndex",
193319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativePostIndex),
193419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativePostIndex},
193519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r9, r11, minus, 186, PostIndex},
193619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r9 r11 minus 186 PostIndex",
193719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativePostIndex_al_r9_r11_minus_186_PostIndex",
193819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativePostIndex),
193919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativePostIndex},
194019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r12, r9, minus, 205, PostIndex},
194119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r12 r9 minus 205 PostIndex",
194219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativePostIndex_al_r12_r9_minus_205_PostIndex",
194319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativePostIndex),
194419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativePostIndex},
194519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r2, r1, minus, 10, PostIndex},
194619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r2 r1 minus 10 PostIndex",
194719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativePostIndex_al_r2_r1_minus_10_PostIndex",
194819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativePostIndex),
194919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativePostIndex},
195019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r7, r4, minus, 95, PostIndex},
195119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r7 r4 minus 95 PostIndex",
195219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativePostIndex_al_r7_r4_minus_95_PostIndex",
195319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativePostIndex),
195419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativePostIndex},
195519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r12, r11, minus, 221, PostIndex},
195619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r12 r11 minus 221 PostIndex",
195719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativePostIndex_al_r12_r11_minus_221_PostIndex",
195819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativePostIndex),
195919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativePostIndex},
196019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r9, r6, minus, 235, PostIndex},
196119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r9 r6 minus 235 PostIndex",
196219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativePostIndex_al_r9_r6_minus_235_PostIndex",
196319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativePostIndex),
196419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativePostIndex},
196519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r3, r0, minus, 144, PostIndex},
196619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r3 r0 minus 144 PostIndex",
196719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativePostIndex_al_r3_r0_minus_144_PostIndex",
196819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativePostIndex),
196919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativePostIndex},
197019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r6, r4, minus, 230, PostIndex},
197119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r6 r4 minus 230 PostIndex",
197219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativePostIndex_al_r6_r4_minus_230_PostIndex",
197319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativePostIndex),
197419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativePostIndex},
197519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r7, r10, minus, 156, PostIndex},
197619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r7 r10 minus 156 PostIndex",
197719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativePostIndex_al_r7_r10_minus_156_PostIndex",
197819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativePostIndex),
197919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativePostIndex},
198019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r14, r10, minus, 232, PostIndex},
198119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r14 r10 minus 232 PostIndex",
198219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativePostIndex_al_r14_r10_minus_232_PostIndex",
198319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativePostIndex),
198419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativePostIndex},
198519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r14, r3, minus, 242, PostIndex},
198619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r14 r3 minus 242 PostIndex",
198719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativePostIndex_al_r14_r3_minus_242_PostIndex",
198819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativePostIndex),
198919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativePostIndex},
199019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r3, r8, minus, 10, PostIndex},
199119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r3 r8 minus 10 PostIndex",
199219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativePostIndex_al_r3_r8_minus_10_PostIndex",
199319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativePostIndex),
199419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativePostIndex},
199519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r4, r7, minus, 37, PostIndex},
199619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r4 r7 minus 37 PostIndex",
199719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativePostIndex_al_r4_r7_minus_37_PostIndex",
199819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativePostIndex),
199919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativePostIndex},
200019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r10, r4, minus, 23, PostIndex},
200119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r10 r4 minus 23 PostIndex",
200219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativePostIndex_al_r10_r4_minus_23_PostIndex",
200319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativePostIndex),
200419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativePostIndex},
200519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r7, r10, minus, 52, PostIndex},
200619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r7 r10 minus 52 PostIndex",
200719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativePostIndex_al_r7_r10_minus_52_PostIndex",
200819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativePostIndex),
200919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativePostIndex},
201019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r0, r7, minus, 59, PostIndex},
201119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r0 r7 minus 59 PostIndex",
201219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativePostIndex_al_r0_r7_minus_59_PostIndex",
201319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativePostIndex),
201419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativePostIndex},
201519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r1, r10, minus, 253, PostIndex},
201619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r1 r10 minus 253 PostIndex",
201719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativePostIndex_al_r1_r10_minus_253_PostIndex",
201819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativePostIndex),
201919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativePostIndex},
202019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r8, r9, minus, 213, PostIndex},
202119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r8 r9 minus 213 PostIndex",
202219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativePostIndex_al_r8_r9_minus_213_PostIndex",
202319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativePostIndex),
202419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativePostIndex},
202519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r3, r0, minus, 22, PostIndex},
202619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r3 r0 minus 22 PostIndex",
202719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativePostIndex_al_r3_r0_minus_22_PostIndex",
202819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativePostIndex),
202919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativePostIndex},
203019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r10, r1, minus, 13, PostIndex},
203119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r10 r1 minus 13 PostIndex",
203219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativePostIndex_al_r10_r1_minus_13_PostIndex",
203319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativePostIndex),
203419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativePostIndex},
203519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r10, r0, minus, 107, PostIndex},
203619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r10 r0 minus 107 PostIndex",
203719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativePostIndex_al_r10_r0_minus_107_PostIndex",
203819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativePostIndex),
203919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativePostIndex},
204019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r9, r6, minus, 6, PostIndex},
204119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r9 r6 minus 6 PostIndex",
204219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativePostIndex_al_r9_r6_minus_6_PostIndex",
204319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativePostIndex),
204419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativePostIndex},
204519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r14, r8, minus, 78, PostIndex},
204619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r14 r8 minus 78 PostIndex",
204719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativePostIndex_al_r14_r8_minus_78_PostIndex",
204819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativePostIndex),
204919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativePostIndex},
205019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r5, r6, minus, 164, PostIndex},
205119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r5 r6 minus 164 PostIndex",
205219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativePostIndex_al_r5_r6_minus_164_PostIndex",
205319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativePostIndex),
205419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativePostIndex},
205519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r9, r7, minus, 155, PostIndex},
205619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r9 r7 minus 155 PostIndex",
205719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativePostIndex_al_r9_r7_minus_155_PostIndex",
205819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativePostIndex),
205919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativePostIndex},
206019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r7, r0, minus, 45, PostIndex},
206119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r7 r0 minus 45 PostIndex",
206219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativePostIndex_al_r7_r0_minus_45_PostIndex",
206319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativePostIndex),
206419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativePostIndex},
206519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r9, r4, minus, 182, PostIndex},
206619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r9 r4 minus 182 PostIndex",
206719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativePostIndex_al_r9_r4_minus_182_PostIndex",
206819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativePostIndex),
206919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativePostIndex},
207019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r14, r12, minus, 238, PostIndex},
207119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r14 r12 minus 238 PostIndex",
207219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativePostIndex_al_r14_r12_minus_238_PostIndex",
207319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativePostIndex),
207419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativePostIndex},
207519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r12, r10, minus, 93, PostIndex},
207619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r12 r10 minus 93 PostIndex",
207719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativePostIndex_al_r12_r10_minus_93_PostIndex",
207819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativePostIndex),
207919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativePostIndex},
208019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r1, r2, minus, 255, PostIndex},
208119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r1 r2 minus 255 PostIndex",
208219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativePostIndex_al_r1_r2_minus_255_PostIndex",
208319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativePostIndex),
208419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativePostIndex},
208519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r11, r6, minus, 65, PostIndex},
208619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r11 r6 minus 65 PostIndex",
208719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativePostIndex_al_r11_r6_minus_65_PostIndex",
208819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativePostIndex),
208919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativePostIndex},
209019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r1, r14, minus, 30, PostIndex},
209119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r1 r14 minus 30 PostIndex",
209219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativePostIndex_al_r1_r14_minus_30_PostIndex",
209319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativePostIndex),
209419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativePostIndex},
209519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r9, r12, minus, 128, PostIndex},
209619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r9 r12 minus 128 PostIndex",
209719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativePostIndex_al_r9_r12_minus_128_PostIndex",
209819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativePostIndex),
209919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativePostIndex},
210019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r1, r2, minus, 2, PostIndex},
210119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r1 r2 minus 2 PostIndex",
210219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativePostIndex_al_r1_r2_minus_2_PostIndex",
210319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativePostIndex),
210419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativePostIndex},
210519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r0, r7, minus, 122, PostIndex},
210619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r0 r7 minus 122 PostIndex",
210719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativePostIndex_al_r0_r7_minus_122_PostIndex",
210819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativePostIndex),
210919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativePostIndex},
211019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r7, r8, minus, 170, PostIndex},
211119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r7 r8 minus 170 PostIndex",
211219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativePostIndex_al_r7_r8_minus_170_PostIndex",
211319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativePostIndex),
211419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativePostIndex},
211519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r14, r7, minus, 242, PostIndex},
211619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r14 r7 minus 242 PostIndex",
211719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativePostIndex_al_r14_r7_minus_242_PostIndex",
211819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativePostIndex),
211919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativePostIndex},
212019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r4, r0, minus, 211, PostIndex},
212119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r4 r0 minus 211 PostIndex",
212219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativePostIndex_al_r4_r0_minus_211_PostIndex",
212319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativePostIndex),
212419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativePostIndex},
212519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r2, r8, minus, 122, PostIndex},
212619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r2 r8 minus 122 PostIndex",
212719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativePostIndex_al_r2_r8_minus_122_PostIndex",
212819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativePostIndex),
212919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativePostIndex},
213019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r12, r5, minus, 40, PostIndex},
213119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r12 r5 minus 40 PostIndex",
213219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativePostIndex_al_r12_r5_minus_40_PostIndex",
213319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativePostIndex),
213419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativePostIndex},
213519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r4, r10, minus, 138, PostIndex},
213619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r4 r10 minus 138 PostIndex",
213719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativePostIndex_al_r4_r10_minus_138_PostIndex",
213819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativePostIndex),
213919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativePostIndex},
214019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r2, r7, minus, 80, PostIndex},
214119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r2 r7 minus 80 PostIndex",
214219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativePostIndex_al_r2_r7_minus_80_PostIndex",
214319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativePostIndex),
214419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativePostIndex},
214519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r6, r12, minus, 150, PostIndex},
214619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r6 r12 minus 150 PostIndex",
214719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativePostIndex_al_r6_r12_minus_150_PostIndex",
214819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativePostIndex),
214919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativePostIndex},
215019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r4, r1, minus, 167, PostIndex},
215119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r4 r1 minus 167 PostIndex",
215219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativePostIndex_al_r4_r1_minus_167_PostIndex",
215319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativePostIndex),
215419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativePostIndex},
215519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r6, r2, minus, 67, PostIndex},
215619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r6 r2 minus 67 PostIndex",
215719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativePostIndex_al_r6_r2_minus_67_PostIndex",
215819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativePostIndex),
215919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativePostIndex},
216019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r12, r5, minus, 180, PostIndex},
216119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r12 r5 minus 180 PostIndex",
216219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativePostIndex_al_r12_r5_minus_180_PostIndex",
216319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativePostIndex),
216419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativePostIndex},
216519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r14, r7, minus, 115, PostIndex},
216619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r14 r7 minus 115 PostIndex",
216719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativePostIndex_al_r14_r7_minus_115_PostIndex",
216819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativePostIndex),
216919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativePostIndex},
217019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r2, r5, minus, 238, PostIndex},
217119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r2 r5 minus 238 PostIndex",
217219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativePostIndex_al_r2_r5_minus_238_PostIndex",
217319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativePostIndex),
217419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativePostIndex},
217519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r14, r6, minus, 34, PostIndex},
217619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r14 r6 minus 34 PostIndex",
217719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativePostIndex_al_r14_r6_minus_34_PostIndex",
217819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativePostIndex),
217919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativePostIndex},
218019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r4, r12, minus, 74, PostIndex},
218119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r4 r12 minus 74 PostIndex",
218219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativePostIndex_al_r4_r12_minus_74_PostIndex",
218319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativePostIndex),
218419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativePostIndex},
218519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r12, r11, minus, 197, PostIndex},
218619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r12 r11 minus 197 PostIndex",
218719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativePostIndex_al_r12_r11_minus_197_PostIndex",
218819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativePostIndex),
218919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativePostIndex},
219019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r8, r12, minus, 53, PostIndex},
219119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r8 r12 minus 53 PostIndex",
219219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativePostIndex_al_r8_r12_minus_53_PostIndex",
219319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativePostIndex),
219419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativePostIndex},
219519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r4, r1, minus, 189, PostIndex},
219619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r4 r1 minus 189 PostIndex",
219719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativePostIndex_al_r4_r1_minus_189_PostIndex",
219819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativePostIndex),
219919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativePostIndex},
220019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r1, r2, minus, 101, PostIndex},
220119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r1 r2 minus 101 PostIndex",
220219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativePostIndex_al_r1_r2_minus_101_PostIndex",
220319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativePostIndex),
220419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativePostIndex},
220519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r8, r2, minus, 152, PostIndex},
220619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r8 r2 minus 152 PostIndex",
220719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativePostIndex_al_r8_r2_minus_152_PostIndex",
220819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativePostIndex),
220919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativePostIndex},
221019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r9, r0, minus, 238, PostIndex},
221119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r9 r0 minus 238 PostIndex",
221219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativePostIndex_al_r9_r0_minus_238_PostIndex",
221319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativePostIndex),
221419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativePostIndex},
221519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r1, r8, minus, 34, PostIndex},
221619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r1 r8 minus 34 PostIndex",
221719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativePostIndex_al_r1_r8_minus_34_PostIndex",
221819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativePostIndex),
221919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativePostIndex},
222019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r8, r0, minus, 216, PostIndex},
222119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r8 r0 minus 216 PostIndex",
222219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativePostIndex_al_r8_r0_minus_216_PostIndex",
222319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativePostIndex),
222419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativePostIndex},
222519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r4, r7, minus, 235, PostIndex},
222619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r4 r7 minus 235 PostIndex",
222719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativePostIndex_al_r4_r7_minus_235_PostIndex",
222819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativePostIndex),
222919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativePostIndex},
223019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r5, r14, minus, 235, PostIndex},
223119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r5 r14 minus 235 PostIndex",
223219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativePostIndex_al_r5_r14_minus_235_PostIndex",
223319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativePostIndex),
223419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativePostIndex},
223519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r11, r4, minus, 230, PostIndex},
223619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r11 r4 minus 230 PostIndex",
223719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativePostIndex_al_r11_r4_minus_230_PostIndex",
223819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativePostIndex),
223919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativePostIndex},
224019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r7, r2, minus, 52, PostIndex},
224119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r7 r2 minus 52 PostIndex",
224219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativePostIndex_al_r7_r2_minus_52_PostIndex",
224319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativePostIndex),
224419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativePostIndex},
224519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r1, r11, minus, 229, PostIndex},
224619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r1 r11 minus 229 PostIndex",
224719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativePostIndex_al_r1_r11_minus_229_PostIndex",
224819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativePostIndex),
224919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativePostIndex},
225019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r6, r5, minus, 62, PostIndex},
225119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r6 r5 minus 62 PostIndex",
225219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativePostIndex_al_r6_r5_minus_62_PostIndex",
225319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativePostIndex),
225419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativePostIndex},
225519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r9, r7, minus, 247, PostIndex},
225619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r9 r7 minus 247 PostIndex",
225719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativePostIndex_al_r9_r7_minus_247_PostIndex",
225819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativePostIndex),
225919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativePostIndex},
226019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r6, r0, minus, 121, PostIndex},
226119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r6 r0 minus 121 PostIndex",
226219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativePostIndex_al_r6_r0_minus_121_PostIndex",
226319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativePostIndex),
226419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativePostIndex},
226519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r12, r3, minus, 104, PostIndex},
226619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r12 r3 minus 104 PostIndex",
226719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativePostIndex_al_r12_r3_minus_104_PostIndex",
226819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativePostIndex),
226919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativePostIndex},
227019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r1, r3, minus, 169, PostIndex},
227119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r1 r3 minus 169 PostIndex",
227219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativePostIndex_al_r1_r3_minus_169_PostIndex",
227319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativePostIndex),
227419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativePostIndex},
227519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r3, r1, minus, 240, PostIndex},
227619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r3 r1 minus 240 PostIndex",
227719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativePostIndex_al_r3_r1_minus_240_PostIndex",
227819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativePostIndex),
227919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativePostIndex},
228019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r2, r6, minus, 173, PostIndex},
228119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r2 r6 minus 173 PostIndex",
228219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativePostIndex_al_r2_r6_minus_173_PostIndex",
228319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativePostIndex),
228419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativePostIndex},
228519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r12, r8, minus, 58, PostIndex},
228619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r12 r8 minus 58 PostIndex",
228719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativePostIndex_al_r12_r8_minus_58_PostIndex",
228819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativePostIndex),
228919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativePostIndex},
229019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r0, r3, minus, 134, PostIndex},
229119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r0 r3 minus 134 PostIndex",
229219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativePostIndex_al_r0_r3_minus_134_PostIndex",
229319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativePostIndex),
229419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativePostIndex},
229519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r6, r2, minus, 75, PostIndex},
229619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r6 r2 minus 75 PostIndex",
229719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativePostIndex_al_r6_r2_minus_75_PostIndex",
229819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativePostIndex),
229919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativePostIndex},
230019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r5, r0, minus, 53, PostIndex},
230119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r5 r0 minus 53 PostIndex",
230219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativePostIndex_al_r5_r0_minus_53_PostIndex",
230319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativePostIndex),
230419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativePostIndex},
230519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r10, r12, minus, 160, PostIndex},
230619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r10 r12 minus 160 PostIndex",
230719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativePostIndex_al_r10_r12_minus_160_PostIndex",
230819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativePostIndex),
230919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativePostIndex},
231019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r8, r9, minus, 55, PostIndex},
231119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r8 r9 minus 55 PostIndex",
231219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativePostIndex_al_r8_r9_minus_55_PostIndex",
231319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativePostIndex),
231419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativePostIndex},
231519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r3, r7, minus, 175, PostIndex},
231619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r3 r7 minus 175 PostIndex",
231719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativePostIndex_al_r3_r7_minus_175_PostIndex",
231819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativePostIndex),
231919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativePostIndex},
232019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r12, r4, minus, 179, PostIndex},
232119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r12 r4 minus 179 PostIndex",
232219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativePostIndex_al_r12_r4_minus_179_PostIndex",
232319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativePostIndex),
232419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativePostIndex},
232519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r7, r14, minus, 16, PostIndex},
232619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r7 r14 minus 16 PostIndex",
232719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativePostIndex_al_r7_r14_minus_16_PostIndex",
232819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativePostIndex),
232919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativePostIndex},
233019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r14, r9, plus, 41, PreIndex},
233119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r14 r9 plus 41 PreIndex",
233219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositivePreIndex_al_r14_r9_plus_41_PreIndex",
233319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositivePreIndex),
233419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositivePreIndex},
233519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r7, r9, plus, 78, PreIndex},
233619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r7 r9 plus 78 PreIndex",
233719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositivePreIndex_al_r7_r9_plus_78_PreIndex",
233819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositivePreIndex),
233919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositivePreIndex},
234019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r6, r3, plus, 255, PreIndex},
234119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r6 r3 plus 255 PreIndex",
234219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositivePreIndex_al_r6_r3_plus_255_PreIndex",
234319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositivePreIndex),
234419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositivePreIndex},
234519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r11, r8, plus, 139, PreIndex},
234619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r11 r8 plus 139 PreIndex",
234719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositivePreIndex_al_r11_r8_plus_139_PreIndex",
234819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositivePreIndex),
234919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositivePreIndex},
235019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r6, r3, plus, 170, PreIndex},
235119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r6 r3 plus 170 PreIndex",
235219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositivePreIndex_al_r6_r3_plus_170_PreIndex",
235319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositivePreIndex),
235419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositivePreIndex},
235519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r6, r4, plus, 221, PreIndex},
235619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r6 r4 plus 221 PreIndex",
235719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositivePreIndex_al_r6_r4_plus_221_PreIndex",
235819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositivePreIndex),
235919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositivePreIndex},
236019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r7, r8, plus, 229, PreIndex},
236119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r7 r8 plus 229 PreIndex",
236219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositivePreIndex_al_r7_r8_plus_229_PreIndex",
236319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositivePreIndex),
236419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositivePreIndex},
236519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r7, r4, plus, 18, PreIndex},
236619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r7 r4 plus 18 PreIndex",
236719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositivePreIndex_al_r7_r4_plus_18_PreIndex",
236819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositivePreIndex),
236919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositivePreIndex},
237019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r3, r8, plus, 157, PreIndex},
237119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r3 r8 plus 157 PreIndex",
237219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositivePreIndex_al_r3_r8_plus_157_PreIndex",
237319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositivePreIndex),
237419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositivePreIndex},
237519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r8, r5, plus, 82, PreIndex},
237619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r8 r5 plus 82 PreIndex",
237719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositivePreIndex_al_r8_r5_plus_82_PreIndex",
237819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositivePreIndex),
237919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositivePreIndex},
238019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r5, r10, plus, 63, PreIndex},
238119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r5 r10 plus 63 PreIndex",
238219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositivePreIndex_al_r5_r10_plus_63_PreIndex",
238319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositivePreIndex),
238419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositivePreIndex},
238519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r1, r11, plus, 179, PreIndex},
238619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r1 r11 plus 179 PreIndex",
238719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositivePreIndex_al_r1_r11_plus_179_PreIndex",
238819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositivePreIndex),
238919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositivePreIndex},
239019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r12, r11, plus, 124, PreIndex},
239119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r12 r11 plus 124 PreIndex",
239219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositivePreIndex_al_r12_r11_plus_124_PreIndex",
239319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositivePreIndex),
239419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositivePreIndex},
239519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r9, r12, plus, 102, PreIndex},
239619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r9 r12 plus 102 PreIndex",
239719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositivePreIndex_al_r9_r12_plus_102_PreIndex",
239819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositivePreIndex),
239919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositivePreIndex},
240019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r12, r1, plus, 157, PreIndex},
240119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r12 r1 plus 157 PreIndex",
240219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositivePreIndex_al_r12_r1_plus_157_PreIndex",
240319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositivePreIndex),
240419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositivePreIndex},
240519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r6, r2, plus, 10, PreIndex},
240619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r6 r2 plus 10 PreIndex",
240719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositivePreIndex_al_r6_r2_plus_10_PreIndex",
240819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositivePreIndex),
240919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositivePreIndex},
241019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r9, r4, plus, 100, PreIndex},
241119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r9 r4 plus 100 PreIndex",
241219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositivePreIndex_al_r9_r4_plus_100_PreIndex",
241319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositivePreIndex),
241419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositivePreIndex},
241519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r2, r7, plus, 62, PreIndex},
241619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r2 r7 plus 62 PreIndex",
241719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositivePreIndex_al_r2_r7_plus_62_PreIndex",
241819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositivePreIndex),
241919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositivePreIndex},
242019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r9, r12, plus, 191, PreIndex},
242119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r9 r12 plus 191 PreIndex",
242219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositivePreIndex_al_r9_r12_plus_191_PreIndex",
242319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositivePreIndex),
242419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositivePreIndex},
242519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r2, r7, plus, 241, PreIndex},
242619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r2 r7 plus 241 PreIndex",
242719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositivePreIndex_al_r2_r7_plus_241_PreIndex",
242819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositivePreIndex),
242919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositivePreIndex},
243019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r2, r12, plus, 220, PreIndex},
243119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r2 r12 plus 220 PreIndex",
243219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositivePreIndex_al_r2_r12_plus_220_PreIndex",
243319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositivePreIndex),
243419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositivePreIndex},
243519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r0, r12, plus, 98, PreIndex},
243619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r0 r12 plus 98 PreIndex",
243719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositivePreIndex_al_r0_r12_plus_98_PreIndex",
243819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositivePreIndex),
243919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositivePreIndex},
244019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r11, r4, plus, 218, PreIndex},
244119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r11 r4 plus 218 PreIndex",
244219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositivePreIndex_al_r11_r4_plus_218_PreIndex",
244319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositivePreIndex),
244419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositivePreIndex},
244519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r11, r10, plus, 211, PreIndex},
244619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r11 r10 plus 211 PreIndex",
244719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositivePreIndex_al_r11_r10_plus_211_PreIndex",
244819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositivePreIndex),
244919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositivePreIndex},
245019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r4, r1, plus, 160, PreIndex},
245119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r4 r1 plus 160 PreIndex",
245219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositivePreIndex_al_r4_r1_plus_160_PreIndex",
245319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositivePreIndex),
245419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositivePreIndex},
245519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r12, r0, plus, 107, PreIndex},
245619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r12 r0 plus 107 PreIndex",
245719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositivePreIndex_al_r12_r0_plus_107_PreIndex",
245819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositivePreIndex),
245919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositivePreIndex},
246019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r9, r4, plus, 239, PreIndex},
246119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r9 r4 plus 239 PreIndex",
246219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositivePreIndex_al_r9_r4_plus_239_PreIndex",
246319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositivePreIndex),
246419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositivePreIndex},
246519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r2, r14, plus, 54, PreIndex},
246619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r2 r14 plus 54 PreIndex",
246719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositivePreIndex_al_r2_r14_plus_54_PreIndex",
246819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositivePreIndex),
246919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositivePreIndex},
247019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r9, r8, plus, 89, PreIndex},
247119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r9 r8 plus 89 PreIndex",
247219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositivePreIndex_al_r9_r8_plus_89_PreIndex",
247319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositivePreIndex),
247419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositivePreIndex},
247519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r8, r7, plus, 162, PreIndex},
247619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r8 r7 plus 162 PreIndex",
247719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositivePreIndex_al_r8_r7_plus_162_PreIndex",
247819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositivePreIndex),
247919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositivePreIndex},
248019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r11, r0, plus, 91, PreIndex},
248119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r11 r0 plus 91 PreIndex",
248219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositivePreIndex_al_r11_r0_plus_91_PreIndex",
248319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositivePreIndex),
248419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositivePreIndex},
248519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r6, r5, plus, 62, PreIndex},
248619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r6 r5 plus 62 PreIndex",
248719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositivePreIndex_al_r6_r5_plus_62_PreIndex",
248819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositivePreIndex),
248919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositivePreIndex},
249019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r7, r12, plus, 140, PreIndex},
249119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r7 r12 plus 140 PreIndex",
249219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositivePreIndex_al_r7_r12_plus_140_PreIndex",
249319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositivePreIndex),
249419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositivePreIndex},
249519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r11, r1, plus, 38, PreIndex},
249619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r11 r1 plus 38 PreIndex",
249719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositivePreIndex_al_r11_r1_plus_38_PreIndex",
249819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositivePreIndex),
249919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositivePreIndex},
250019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r11, r12, plus, 185, PreIndex},
250119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r11 r12 plus 185 PreIndex",
250219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositivePreIndex_al_r11_r12_plus_185_PreIndex",
250319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositivePreIndex),
250419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositivePreIndex},
250519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r11, r7, plus, 27, PreIndex},
250619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r11 r7 plus 27 PreIndex",
250719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositivePreIndex_al_r11_r7_plus_27_PreIndex",
250819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositivePreIndex),
250919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositivePreIndex},
251019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r2, r6, plus, 81, PreIndex},
251119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r2 r6 plus 81 PreIndex",
251219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositivePreIndex_al_r2_r6_plus_81_PreIndex",
251319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositivePreIndex),
251419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositivePreIndex},
251519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r11, r8, plus, 60, PreIndex},
251619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r11 r8 plus 60 PreIndex",
251719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositivePreIndex_al_r11_r8_plus_60_PreIndex",
251819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositivePreIndex),
251919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositivePreIndex},
252019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r6, r9, plus, 39, PreIndex},
252119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r6 r9 plus 39 PreIndex",
252219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositivePreIndex_al_r6_r9_plus_39_PreIndex",
252319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositivePreIndex),
252419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositivePreIndex},
252519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r12, r14, plus, 46, PreIndex},
252619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r12 r14 plus 46 PreIndex",
252719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositivePreIndex_al_r12_r14_plus_46_PreIndex",
252819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositivePreIndex),
252919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositivePreIndex},
253019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r3, r9, plus, 188, PreIndex},
253119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r3 r9 plus 188 PreIndex",
253219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositivePreIndex_al_r3_r9_plus_188_PreIndex",
253319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositivePreIndex),
253419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositivePreIndex},
253519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r4, r12, plus, 58, PreIndex},
253619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r4 r12 plus 58 PreIndex",
253719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositivePreIndex_al_r4_r12_plus_58_PreIndex",
253819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositivePreIndex),
253919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositivePreIndex},
254019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r4, r5, plus, 220, PreIndex},
254119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r4 r5 plus 220 PreIndex",
254219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositivePreIndex_al_r4_r5_plus_220_PreIndex",
254319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositivePreIndex),
254419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositivePreIndex},
254519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r4, r10, plus, 249, PreIndex},
254619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r4 r10 plus 249 PreIndex",
254719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositivePreIndex_al_r4_r10_plus_249_PreIndex",
254819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositivePreIndex),
254919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositivePreIndex},
255019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r9, r0, plus, 23, PreIndex},
255119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r9 r0 plus 23 PreIndex",
255219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositivePreIndex_al_r9_r0_plus_23_PreIndex",
255319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositivePreIndex),
255419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositivePreIndex},
255519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r10, r11, plus, 190, PreIndex},
255619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r10 r11 plus 190 PreIndex",
255719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositivePreIndex_al_r10_r11_plus_190_PreIndex",
255819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositivePreIndex),
255919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositivePreIndex},
256019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r4, r11, plus, 33, PreIndex},
256119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r4 r11 plus 33 PreIndex",
256219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositivePreIndex_al_r4_r11_plus_33_PreIndex",
256319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositivePreIndex),
256419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositivePreIndex},
256519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r7, r3, plus, 163, PreIndex},
256619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r7 r3 plus 163 PreIndex",
256719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositivePreIndex_al_r7_r3_plus_163_PreIndex",
256819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositivePreIndex),
256919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositivePreIndex},
257019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r10, r9, plus, 147, PreIndex},
257119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r10 r9 plus 147 PreIndex",
257219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositivePreIndex_al_r10_r9_plus_147_PreIndex",
257319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositivePreIndex),
257419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositivePreIndex},
257519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r8, r10, plus, 8, PreIndex},
257619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r8 r10 plus 8 PreIndex",
257719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositivePreIndex_al_r8_r10_plus_8_PreIndex",
257819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositivePreIndex),
257919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositivePreIndex},
258019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r0, r10, plus, 0, PreIndex},
258119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r0 r10 plus 0 PreIndex",
258219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositivePreIndex_al_r0_r10_plus_0_PreIndex",
258319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositivePreIndex),
258419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositivePreIndex},
258519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r5, r7, plus, 83, PreIndex},
258619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r5 r7 plus 83 PreIndex",
258719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositivePreIndex_al_r5_r7_plus_83_PreIndex",
258819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositivePreIndex),
258919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositivePreIndex},
259019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r3, r9, plus, 233, PreIndex},
259119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r3 r9 plus 233 PreIndex",
259219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositivePreIndex_al_r3_r9_plus_233_PreIndex",
259319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositivePreIndex),
259419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositivePreIndex},
259519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r11, r5, plus, 14, PreIndex},
259619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r11 r5 plus 14 PreIndex",
259719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositivePreIndex_al_r11_r5_plus_14_PreIndex",
259819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositivePreIndex),
259919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositivePreIndex},
260019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r11, r12, plus, 21, PreIndex},
260119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r11 r12 plus 21 PreIndex",
260219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositivePreIndex_al_r11_r12_plus_21_PreIndex",
260319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositivePreIndex),
260419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositivePreIndex},
260519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r6, r2, plus, 117, PreIndex},
260619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r6 r2 plus 117 PreIndex",
260719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositivePreIndex_al_r6_r2_plus_117_PreIndex",
260819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositivePreIndex),
260919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositivePreIndex},
261019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r10, r0, plus, 0, PreIndex},
261119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r10 r0 plus 0 PreIndex",
261219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositivePreIndex_al_r10_r0_plus_0_PreIndex",
261319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositivePreIndex),
261419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositivePreIndex},
261519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r4, r12, plus, 109, PreIndex},
261619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r4 r12 plus 109 PreIndex",
261719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositivePreIndex_al_r4_r12_plus_109_PreIndex",
261819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositivePreIndex),
261919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositivePreIndex},
262019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r3, r4, plus, 212, PreIndex},
262119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r3 r4 plus 212 PreIndex",
262219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositivePreIndex_al_r3_r4_plus_212_PreIndex",
262319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositivePreIndex),
262419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositivePreIndex},
262519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r9, r4, plus, 152, PreIndex},
262619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r9 r4 plus 152 PreIndex",
262719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositivePreIndex_al_r9_r4_plus_152_PreIndex",
262819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositivePreIndex),
262919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositivePreIndex},
263019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r0, r12, plus, 89, PreIndex},
263119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r0 r12 plus 89 PreIndex",
263219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositivePreIndex_al_r0_r12_plus_89_PreIndex",
263319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositivePreIndex),
263419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositivePreIndex},
263519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r3, r0, plus, 184, PreIndex},
263619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r3 r0 plus 184 PreIndex",
263719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositivePreIndex_al_r3_r0_plus_184_PreIndex",
263819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositivePreIndex),
263919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositivePreIndex},
264019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r4, r12, plus, 168, PreIndex},
264119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r4 r12 plus 168 PreIndex",
264219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositivePreIndex_al_r4_r12_plus_168_PreIndex",
264319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositivePreIndex),
264419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositivePreIndex},
264519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r7, r12, plus, 236, PreIndex},
264619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r7 r12 plus 236 PreIndex",
264719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositivePreIndex_al_r7_r12_plus_236_PreIndex",
264819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositivePreIndex),
264919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositivePreIndex},
265019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r1, r5, plus, 98, PreIndex},
265119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r1 r5 plus 98 PreIndex",
265219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositivePreIndex_al_r1_r5_plus_98_PreIndex",
265319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositivePreIndex),
265419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositivePreIndex},
265519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r3, r11, plus, 213, PreIndex},
265619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r3 r11 plus 213 PreIndex",
265719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositivePreIndex_al_r3_r11_plus_213_PreIndex",
265819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositivePreIndex),
265919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositivePreIndex},
266019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r14, r6, plus, 123, PreIndex},
266119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r14 r6 plus 123 PreIndex",
266219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositivePreIndex_al_r14_r6_plus_123_PreIndex",
266319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositivePreIndex),
266419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositivePreIndex},
266519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r10, r7, plus, 211, PreIndex},
266619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r10 r7 plus 211 PreIndex",
266719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositivePreIndex_al_r10_r7_plus_211_PreIndex",
266819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositivePreIndex),
266919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositivePreIndex},
267019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r6, r8, plus, 11, PreIndex},
267119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r6 r8 plus 11 PreIndex",
267219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositivePreIndex_al_r6_r8_plus_11_PreIndex",
267319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositivePreIndex),
267419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositivePreIndex},
267519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r3, r1, plus, 35, PreIndex},
267619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r3 r1 plus 35 PreIndex",
267719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositivePreIndex_al_r3_r1_plus_35_PreIndex",
267819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositivePreIndex),
267919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositivePreIndex},
268019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r14, r0, plus, 248, PreIndex},
268119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r14 r0 plus 248 PreIndex",
268219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositivePreIndex_al_r14_r0_plus_248_PreIndex",
268319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositivePreIndex),
268419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositivePreIndex},
268519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r9, r4, plus, 103, PreIndex},
268619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r9 r4 plus 103 PreIndex",
268719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositivePreIndex_al_r9_r4_plus_103_PreIndex",
268819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositivePreIndex),
268919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositivePreIndex},
269019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r2, r1, plus, 6, PreIndex},
269119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r2 r1 plus 6 PreIndex",
269219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositivePreIndex_al_r2_r1_plus_6_PreIndex",
269319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositivePreIndex),
269419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositivePreIndex},
269519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r14, r1, plus, 33, PreIndex},
269619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r14 r1 plus 33 PreIndex",
269719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositivePreIndex_al_r14_r1_plus_33_PreIndex",
269819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositivePreIndex),
269919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositivePreIndex},
270019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r4, r3, plus, 206, PreIndex},
270119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r4 r3 plus 206 PreIndex",
270219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositivePreIndex_al_r4_r3_plus_206_PreIndex",
270319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositivePreIndex),
270419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositivePreIndex},
270519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r5, r14, plus, 201, PreIndex},
270619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r5 r14 plus 201 PreIndex",
270719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositivePreIndex_al_r5_r14_plus_201_PreIndex",
270819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositivePreIndex),
270919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositivePreIndex},
271019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r10, r5, plus, 86, PreIndex},
271119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r10 r5 plus 86 PreIndex",
271219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositivePreIndex_al_r10_r5_plus_86_PreIndex",
271319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositivePreIndex),
271419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositivePreIndex},
271519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r6, r8, plus, 160, PreIndex},
271619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r6 r8 plus 160 PreIndex",
271719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositivePreIndex_al_r6_r8_plus_160_PreIndex",
271819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositivePreIndex),
271919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositivePreIndex},
272019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r12, r5, plus, 81, PreIndex},
272119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r12 r5 plus 81 PreIndex",
272219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositivePreIndex_al_r12_r5_plus_81_PreIndex",
272319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositivePreIndex),
272419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositivePreIndex},
272519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r3, r14, plus, 184, PreIndex},
272619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r3 r14 plus 184 PreIndex",
272719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositivePreIndex_al_r3_r14_plus_184_PreIndex",
272819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositivePreIndex),
272919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositivePreIndex},
273019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r9, r11, plus, 95, PreIndex},
273119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r9 r11 plus 95 PreIndex",
273219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositivePreIndex_al_r9_r11_plus_95_PreIndex",
273319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositivePreIndex),
273419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositivePreIndex},
273519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r2, r9, plus, 227, PreIndex},
273619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r2 r9 plus 227 PreIndex",
273719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositivePreIndex_al_r2_r9_plus_227_PreIndex",
273819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositivePreIndex),
273919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositivePreIndex},
274019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r2, r7, plus, 103, PreIndex},
274119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r2 r7 plus 103 PreIndex",
274219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositivePreIndex_al_r2_r7_plus_103_PreIndex",
274319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositivePreIndex),
274419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositivePreIndex},
274519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r5, r1, plus, 72, PreIndex},
274619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r5 r1 plus 72 PreIndex",
274719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositivePreIndex_al_r5_r1_plus_72_PreIndex",
274819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositivePreIndex),
274919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositivePreIndex},
275019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r4, r10, plus, 82, PreIndex},
275119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r4 r10 plus 82 PreIndex",
275219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositivePreIndex_al_r4_r10_plus_82_PreIndex",
275319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositivePreIndex),
275419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositivePreIndex},
275519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r7, r0, plus, 46, PreIndex},
275619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r7 r0 plus 46 PreIndex",
275719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositivePreIndex_al_r7_r0_plus_46_PreIndex",
275819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositivePreIndex),
275919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositivePreIndex},
276019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r7, r14, plus, 24, PreIndex},
276119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r7 r14 plus 24 PreIndex",
276219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositivePreIndex_al_r7_r14_plus_24_PreIndex",
276319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositivePreIndex),
276419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositivePreIndex},
276519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r9, r1, plus, 2, PreIndex},
276619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r9 r1 plus 2 PreIndex",
276719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositivePreIndex_al_r9_r1_plus_2_PreIndex",
276819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositivePreIndex),
276919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositivePreIndex},
277019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r3, r12, plus, 91, PreIndex},
277119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r3 r12 plus 91 PreIndex",
277219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositivePreIndex_al_r3_r12_plus_91_PreIndex",
277319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositivePreIndex),
277419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositivePreIndex},
277519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r6, r7, plus, 158, PreIndex},
277619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r6 r7 plus 158 PreIndex",
277719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositivePreIndex_al_r6_r7_plus_158_PreIndex",
277819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositivePreIndex),
277919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositivePreIndex},
278019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r2, r7, plus, 47, PreIndex},
278119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r2 r7 plus 47 PreIndex",
278219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositivePreIndex_al_r2_r7_plus_47_PreIndex",
278319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositivePreIndex),
278419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositivePreIndex},
278519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r7, r3, plus, 119, PreIndex},
278619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r7 r3 plus 119 PreIndex",
278719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositivePreIndex_al_r7_r3_plus_119_PreIndex",
278819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositivePreIndex),
278919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositivePreIndex},
279019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r12, r3, plus, 214, PreIndex},
279119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r12 r3 plus 214 PreIndex",
279219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositivePreIndex_al_r12_r3_plus_214_PreIndex",
279319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositivePreIndex),
279419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositivePreIndex},
279519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r11, r10, plus, 180, PreIndex},
279619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r11 r10 plus 180 PreIndex",
279719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositivePreIndex_al_r11_r10_plus_180_PreIndex",
279819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositivePreIndex),
279919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositivePreIndex},
280019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r4, r9, plus, 241, PreIndex},
280119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r4 r9 plus 241 PreIndex",
280219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositivePreIndex_al_r4_r9_plus_241_PreIndex",
280319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositivePreIndex),
280419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositivePreIndex},
280519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r10, r9, plus, 100, PreIndex},
280619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r10 r9 plus 100 PreIndex",
280719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositivePreIndex_al_r10_r9_plus_100_PreIndex",
280819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositivePreIndex),
280919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositivePreIndex},
281019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r1, r8, plus, 117, PreIndex},
281119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r1 r8 plus 117 PreIndex",
281219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositivePreIndex_al_r1_r8_plus_117_PreIndex",
281319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositivePreIndex),
281419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositivePreIndex},
281519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r8, r4, plus, 167, PreIndex},
281619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r8 r4 plus 167 PreIndex",
281719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositivePreIndex_al_r8_r4_plus_167_PreIndex",
281819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositivePreIndex),
281919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositivePreIndex},
282019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r10, r11, plus, 158, PreIndex},
282119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r10 r11 plus 158 PreIndex",
282219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositivePreIndex_al_r10_r11_plus_158_PreIndex",
282319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositivePreIndex),
282419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositivePreIndex},
282519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r11, r0, plus, 85, PreIndex},
282619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r11 r0 plus 85 PreIndex",
282719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "PositivePreIndex_al_r11_r0_plus_85_PreIndex",
282819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kPositivePreIndex),
282919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kPositivePreIndex},
283019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r4, r9, minus, 228, PreIndex},
283119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r4 r9 minus 228 PreIndex",
283219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativePreIndex_al_r4_r9_minus_228_PreIndex",
283319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativePreIndex),
283419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativePreIndex},
283519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r1, r10, minus, 109, PreIndex},
283619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r1 r10 minus 109 PreIndex",
283719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativePreIndex_al_r1_r10_minus_109_PreIndex",
283819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativePreIndex),
283919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativePreIndex},
284019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r7, r6, minus, 59, PreIndex},
284119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r7 r6 minus 59 PreIndex",
284219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativePreIndex_al_r7_r6_minus_59_PreIndex",
284319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativePreIndex),
284419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativePreIndex},
284519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r4, r14, minus, 243, PreIndex},
284619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r4 r14 minus 243 PreIndex",
284719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativePreIndex_al_r4_r14_minus_243_PreIndex",
284819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativePreIndex),
284919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativePreIndex},
285019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r3, r4, minus, 140, PreIndex},
285119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r3 r4 minus 140 PreIndex",
285219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativePreIndex_al_r3_r4_minus_140_PreIndex",
285319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativePreIndex),
285419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativePreIndex},
285519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r8, r0, minus, 103, PreIndex},
285619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r8 r0 minus 103 PreIndex",
285719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativePreIndex_al_r8_r0_minus_103_PreIndex",
285819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativePreIndex),
285919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativePreIndex},
286019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r14, r2, minus, 13, PreIndex},
286119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r14 r2 minus 13 PreIndex",
286219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativePreIndex_al_r14_r2_minus_13_PreIndex",
286319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativePreIndex),
286419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativePreIndex},
286519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r5, r3, minus, 81, PreIndex},
286619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r5 r3 minus 81 PreIndex",
286719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativePreIndex_al_r5_r3_minus_81_PreIndex",
286819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativePreIndex),
286919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativePreIndex},
287019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r9, r10, minus, 138, PreIndex},
287119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r9 r10 minus 138 PreIndex",
287219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativePreIndex_al_r9_r10_minus_138_PreIndex",
287319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativePreIndex),
287419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativePreIndex},
287519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r6, r14, minus, 81, PreIndex},
287619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r6 r14 minus 81 PreIndex",
287719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativePreIndex_al_r6_r14_minus_81_PreIndex",
287819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativePreIndex),
287919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativePreIndex},
288019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r14, r6, minus, 242, PreIndex},
288119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r14 r6 minus 242 PreIndex",
288219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativePreIndex_al_r14_r6_minus_242_PreIndex",
288319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativePreIndex),
288419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativePreIndex},
288519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r7, r11, minus, 70, PreIndex},
288619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r7 r11 minus 70 PreIndex",
288719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativePreIndex_al_r7_r11_minus_70_PreIndex",
288819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativePreIndex),
288919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativePreIndex},
289019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r1, r7, minus, 169, PreIndex},
289119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r1 r7 minus 169 PreIndex",
289219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativePreIndex_al_r1_r7_minus_169_PreIndex",
289319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativePreIndex),
289419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativePreIndex},
289519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r10, r6, minus, 244, PreIndex},
289619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r10 r6 minus 244 PreIndex",
289719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativePreIndex_al_r10_r6_minus_244_PreIndex",
289819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativePreIndex),
289919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativePreIndex},
290019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r14, r2, minus, 252, PreIndex},
290119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r14 r2 minus 252 PreIndex",
290219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativePreIndex_al_r14_r2_minus_252_PreIndex",
290319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativePreIndex),
290419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativePreIndex},
290519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r1, r14, minus, 15, PreIndex},
290619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r1 r14 minus 15 PreIndex",
290719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativePreIndex_al_r1_r14_minus_15_PreIndex",
290819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativePreIndex),
290919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativePreIndex},
291019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r1, r6, minus, 31, PreIndex},
291119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r1 r6 minus 31 PreIndex",
291219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativePreIndex_al_r1_r6_minus_31_PreIndex",
291319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativePreIndex),
291419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativePreIndex},
291519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r3, r5, minus, 26, PreIndex},
291619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r3 r5 minus 26 PreIndex",
291719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativePreIndex_al_r3_r5_minus_26_PreIndex",
291819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativePreIndex),
291919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativePreIndex},
292019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r7, r6, minus, 9, PreIndex},
292119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r7 r6 minus 9 PreIndex",
292219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativePreIndex_al_r7_r6_minus_9_PreIndex",
292319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativePreIndex),
292419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativePreIndex},
292519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r2, r0, minus, 112, PreIndex},
292619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r2 r0 minus 112 PreIndex",
292719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativePreIndex_al_r2_r0_minus_112_PreIndex",
292819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativePreIndex),
292919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativePreIndex},
293019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r0, r9, minus, 237, PreIndex},
293119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r0 r9 minus 237 PreIndex",
293219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativePreIndex_al_r0_r9_minus_237_PreIndex",
293319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativePreIndex),
293419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativePreIndex},
293519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r1, r11, minus, 112, PreIndex},
293619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r1 r11 minus 112 PreIndex",
293719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativePreIndex_al_r1_r11_minus_112_PreIndex",
293819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativePreIndex),
293919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativePreIndex},
294019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r12, r5, minus, 220, PreIndex},
294119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r12 r5 minus 220 PreIndex",
294219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativePreIndex_al_r12_r5_minus_220_PreIndex",
294319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativePreIndex),
294419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativePreIndex},
294519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r3, r8, minus, 166, PreIndex},
294619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r3 r8 minus 166 PreIndex",
294719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativePreIndex_al_r3_r8_minus_166_PreIndex",
294819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativePreIndex),
294919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativePreIndex},
295019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r2, r14, minus, 128, PreIndex},
295119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r2 r14 minus 128 PreIndex",
295219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativePreIndex_al_r2_r14_minus_128_PreIndex",
295319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativePreIndex),
295419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativePreIndex},
295519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r9, r11, minus, 182, PreIndex},
295619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r9 r11 minus 182 PreIndex",
295719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativePreIndex_al_r9_r11_minus_182_PreIndex",
295819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativePreIndex),
295919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativePreIndex},
296019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r8, r14, minus, 16, PreIndex},
296119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r8 r14 minus 16 PreIndex",
296219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativePreIndex_al_r8_r14_minus_16_PreIndex",
296319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativePreIndex),
296419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativePreIndex},
296519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r4, r14, minus, 165, PreIndex},
296619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r4 r14 minus 165 PreIndex",
296719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativePreIndex_al_r4_r14_minus_165_PreIndex",
296819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativePreIndex),
296919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativePreIndex},
297019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r1, r6, minus, 32, PreIndex},
297119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r1 r6 minus 32 PreIndex",
297219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativePreIndex_al_r1_r6_minus_32_PreIndex",
297319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativePreIndex),
297419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativePreIndex},
297519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r4, r10, minus, 224, PreIndex},
297619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r4 r10 minus 224 PreIndex",
297719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativePreIndex_al_r4_r10_minus_224_PreIndex",
297819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativePreIndex),
297919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativePreIndex},
298019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r5, r2, minus, 27, PreIndex},
298119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r5 r2 minus 27 PreIndex",
298219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativePreIndex_al_r5_r2_minus_27_PreIndex",
298319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativePreIndex),
298419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativePreIndex},
298519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r14, r1, minus, 207, PreIndex},
298619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r14 r1 minus 207 PreIndex",
298719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativePreIndex_al_r14_r1_minus_207_PreIndex",
298819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativePreIndex),
298919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativePreIndex},
299019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r9, r14, minus, 236, PreIndex},
299119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r9 r14 minus 236 PreIndex",
299219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativePreIndex_al_r9_r14_minus_236_PreIndex",
299319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativePreIndex),
299419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativePreIndex},
299519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r9, r2, minus, 20, PreIndex},
299619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r9 r2 minus 20 PreIndex",
299719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativePreIndex_al_r9_r2_minus_20_PreIndex",
299819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativePreIndex),
299919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativePreIndex},
300019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r3, r4, minus, 247, PreIndex},
300119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r3 r4 minus 247 PreIndex",
300219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativePreIndex_al_r3_r4_minus_247_PreIndex",
300319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativePreIndex),
300419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativePreIndex},
300519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r4, r12, minus, 53, PreIndex},
300619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r4 r12 minus 53 PreIndex",
300719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativePreIndex_al_r4_r12_minus_53_PreIndex",
300819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativePreIndex),
300919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativePreIndex},
301019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r0, r3, minus, 17, PreIndex},
301119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r0 r3 minus 17 PreIndex",
301219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativePreIndex_al_r0_r3_minus_17_PreIndex",
301319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativePreIndex),
301419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativePreIndex},
301519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r11, r9, minus, 11, PreIndex},
301619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r11 r9 minus 11 PreIndex",
301719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativePreIndex_al_r11_r9_minus_11_PreIndex",
301819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativePreIndex),
301919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativePreIndex},
302019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r0, r5, minus, 107, PreIndex},
302119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r0 r5 minus 107 PreIndex",
302219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativePreIndex_al_r0_r5_minus_107_PreIndex",
302319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativePreIndex),
302419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativePreIndex},
302519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r9, r11, minus, 44, PreIndex},
302619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r9 r11 minus 44 PreIndex",
302719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativePreIndex_al_r9_r11_minus_44_PreIndex",
302819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativePreIndex),
302919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativePreIndex},
303019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r9, r12, minus, 32, PreIndex},
303119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r9 r12 minus 32 PreIndex",
303219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativePreIndex_al_r9_r12_minus_32_PreIndex",
303319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativePreIndex),
303419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativePreIndex},
303519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r4, r1, minus, 135, PreIndex},
303619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r4 r1 minus 135 PreIndex",
303719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativePreIndex_al_r4_r1_minus_135_PreIndex",
303819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativePreIndex),
303919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativePreIndex},
304019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r6, r14, minus, 39, PreIndex},
304119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r6 r14 minus 39 PreIndex",
304219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativePreIndex_al_r6_r14_minus_39_PreIndex",
304319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativePreIndex),
304419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativePreIndex},
304519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r5, r12, minus, 80, PreIndex},
304619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r5 r12 minus 80 PreIndex",
304719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativePreIndex_al_r5_r12_minus_80_PreIndex",
304819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativePreIndex),
304919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativePreIndex},
305019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r8, r11, minus, 55, PreIndex},
305119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r8 r11 minus 55 PreIndex",
305219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativePreIndex_al_r8_r11_minus_55_PreIndex",
305319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativePreIndex),
305419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativePreIndex},
305519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r5, r4, minus, 122, PreIndex},
305619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r5 r4 minus 122 PreIndex",
305719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativePreIndex_al_r5_r4_minus_122_PreIndex",
305819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativePreIndex),
305919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativePreIndex},
306019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r11, r1, minus, 82, PreIndex},
306119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r11 r1 minus 82 PreIndex",
306219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativePreIndex_al_r11_r1_minus_82_PreIndex",
306319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativePreIndex),
306419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativePreIndex},
306519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r5, r7, minus, 3, PreIndex},
306619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r5 r7 minus 3 PreIndex",
306719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativePreIndex_al_r5_r7_minus_3_PreIndex",
306819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativePreIndex),
306919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativePreIndex},
307019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r8, r5, minus, 199, PreIndex},
307119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r8 r5 minus 199 PreIndex",
307219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativePreIndex_al_r8_r5_minus_199_PreIndex",
307319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativePreIndex),
307419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativePreIndex},
307519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r6, r10, minus, 23, PreIndex},
307619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r6 r10 minus 23 PreIndex",
307719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativePreIndex_al_r6_r10_minus_23_PreIndex",
307819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativePreIndex),
307919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativePreIndex},
308019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r8, r11, minus, 221, PreIndex},
308119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r8 r11 minus 221 PreIndex",
308219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativePreIndex_al_r8_r11_minus_221_PreIndex",
308319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativePreIndex),
308419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativePreIndex},
308519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r2, r6, minus, 206, PreIndex},
308619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r2 r6 minus 206 PreIndex",
308719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativePreIndex_al_r2_r6_minus_206_PreIndex",
308819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativePreIndex),
308919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativePreIndex},
309019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r12, r3, minus, 198, PreIndex},
309119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r12 r3 minus 198 PreIndex",
309219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativePreIndex_al_r12_r3_minus_198_PreIndex",
309319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativePreIndex),
309419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativePreIndex},
309519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r2, r12, minus, 94, PreIndex},
309619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r2 r12 minus 94 PreIndex",
309719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativePreIndex_al_r2_r12_minus_94_PreIndex",
309819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativePreIndex),
309919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativePreIndex},
310019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r2, r9, minus, 69, PreIndex},
310119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r2 r9 minus 69 PreIndex",
310219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativePreIndex_al_r2_r9_minus_69_PreIndex",
310319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativePreIndex),
310419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativePreIndex},
310519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r10, r14, minus, 120, PreIndex},
310619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r10 r14 minus 120 PreIndex",
310719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativePreIndex_al_r10_r14_minus_120_PreIndex",
310819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativePreIndex),
310919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativePreIndex},
311019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r8, r5, minus, 138, PreIndex},
311119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r8 r5 minus 138 PreIndex",
311219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativePreIndex_al_r8_r5_minus_138_PreIndex",
311319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativePreIndex),
311419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativePreIndex},
311519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r8, r12, minus, 206, PreIndex},
311619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r8 r12 minus 206 PreIndex",
311719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativePreIndex_al_r8_r12_minus_206_PreIndex",
311819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativePreIndex),
311919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativePreIndex},
312019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r11, r4, minus, 27, PreIndex},
312119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r11 r4 minus 27 PreIndex",
312219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativePreIndex_al_r11_r4_minus_27_PreIndex",
312319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativePreIndex),
312419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativePreIndex},
312519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r0, r3, minus, 34, PreIndex},
312619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r0 r3 minus 34 PreIndex",
312719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativePreIndex_al_r0_r3_minus_34_PreIndex",
312819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativePreIndex),
312919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativePreIndex},
313019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r9, r10, minus, 216, PreIndex},
313119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r9 r10 minus 216 PreIndex",
313219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativePreIndex_al_r9_r10_minus_216_PreIndex",
313319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativePreIndex),
313419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativePreIndex},
313519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r2, r14, minus, 186, PreIndex},
313619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r2 r14 minus 186 PreIndex",
313719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativePreIndex_al_r2_r14_minus_186_PreIndex",
313819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativePreIndex),
313919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativePreIndex},
314019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r3, r12, minus, 92, PreIndex},
314119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r3 r12 minus 92 PreIndex",
314219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativePreIndex_al_r3_r12_minus_92_PreIndex",
314319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativePreIndex),
314419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativePreIndex},
314519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r8, r7, minus, 248, PreIndex},
314619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r8 r7 minus 248 PreIndex",
314719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativePreIndex_al_r8_r7_minus_248_PreIndex",
314819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativePreIndex),
314919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativePreIndex},
315019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r11, r0, minus, 63, PreIndex},
315119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r11 r0 minus 63 PreIndex",
315219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativePreIndex_al_r11_r0_minus_63_PreIndex",
315319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativePreIndex),
315419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativePreIndex},
315519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r12, r2, minus, 217, PreIndex},
315619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r12 r2 minus 217 PreIndex",
315719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativePreIndex_al_r12_r2_minus_217_PreIndex",
315819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativePreIndex),
315919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativePreIndex},
316019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r1, r2, minus, 19, PreIndex},
316119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r1 r2 minus 19 PreIndex",
316219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativePreIndex_al_r1_r2_minus_19_PreIndex",
316319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativePreIndex),
316419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativePreIndex},
316519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r11, r4, minus, 160, PreIndex},
316619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r11 r4 minus 160 PreIndex",
316719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativePreIndex_al_r11_r4_minus_160_PreIndex",
316819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativePreIndex),
316919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativePreIndex},
317019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r7, r8, minus, 121, PreIndex},
317119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r7 r8 minus 121 PreIndex",
317219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativePreIndex_al_r7_r8_minus_121_PreIndex",
317319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativePreIndex),
317419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativePreIndex},
317519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r14, r3, minus, 105, PreIndex},
317619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r14 r3 minus 105 PreIndex",
317719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativePreIndex_al_r14_r3_minus_105_PreIndex",
317819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativePreIndex),
317919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativePreIndex},
318019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r11, r2, minus, 136, PreIndex},
318119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r11 r2 minus 136 PreIndex",
318219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativePreIndex_al_r11_r2_minus_136_PreIndex",
318319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativePreIndex),
318419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativePreIndex},
318519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r14, r7, minus, 145, PreIndex},
318619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r14 r7 minus 145 PreIndex",
318719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativePreIndex_al_r14_r7_minus_145_PreIndex",
318819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativePreIndex),
318919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativePreIndex},
319019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r3, r11, minus, 152, PreIndex},
319119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r3 r11 minus 152 PreIndex",
319219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativePreIndex_al_r3_r11_minus_152_PreIndex",
319319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativePreIndex),
319419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativePreIndex},
319519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r6, r0, minus, 234, PreIndex},
319619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r6 r0 minus 234 PreIndex",
319719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativePreIndex_al_r6_r0_minus_234_PreIndex",
319819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativePreIndex),
319919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativePreIndex},
320019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r4, r9, minus, 30, PreIndex},
320119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r4 r9 minus 30 PreIndex",
320219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativePreIndex_al_r4_r9_minus_30_PreIndex",
320319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativePreIndex),
320419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativePreIndex},
320519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r3, r4, minus, 103, PreIndex},
320619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r3 r4 minus 103 PreIndex",
320719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativePreIndex_al_r3_r4_minus_103_PreIndex",
320819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativePreIndex),
320919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativePreIndex},
321019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r10, r9, minus, 212, PreIndex},
321119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r10 r9 minus 212 PreIndex",
321219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativePreIndex_al_r10_r9_minus_212_PreIndex",
321319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativePreIndex),
321419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativePreIndex},
321519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r3, r8, minus, 184, PreIndex},
321619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r3 r8 minus 184 PreIndex",
321719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativePreIndex_al_r3_r8_minus_184_PreIndex",
321819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativePreIndex),
321919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativePreIndex},
322019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r14, r5, minus, 28, PreIndex},
322119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r14 r5 minus 28 PreIndex",
322219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativePreIndex_al_r14_r5_minus_28_PreIndex",
322319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativePreIndex),
322419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativePreIndex},
322519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r14, r1, minus, 182, PreIndex},
322619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r14 r1 minus 182 PreIndex",
322719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativePreIndex_al_r14_r1_minus_182_PreIndex",
322819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativePreIndex),
322919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativePreIndex},
323019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r14, r0, minus, 42, PreIndex},
323119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r14 r0 minus 42 PreIndex",
323219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativePreIndex_al_r14_r0_minus_42_PreIndex",
323319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativePreIndex),
323419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativePreIndex},
323519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r7, r10, minus, 167, PreIndex},
323619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r7 r10 minus 167 PreIndex",
323719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativePreIndex_al_r7_r10_minus_167_PreIndex",
323819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativePreIndex),
323919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativePreIndex},
324019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r4, r12, minus, 31, PreIndex},
324119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r4 r12 minus 31 PreIndex",
324219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativePreIndex_al_r4_r12_minus_31_PreIndex",
324319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativePreIndex),
324419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativePreIndex},
324519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r10, r3, minus, 36, PreIndex},
324619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r10 r3 minus 36 PreIndex",
324719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativePreIndex_al_r10_r3_minus_36_PreIndex",
324819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativePreIndex),
324919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativePreIndex},
325019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r11, r4, minus, 228, PreIndex},
325119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r11 r4 minus 228 PreIndex",
325219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativePreIndex_al_r11_r4_minus_228_PreIndex",
325319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativePreIndex),
325419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativePreIndex},
325519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r12, r11, minus, 117, PreIndex},
325619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r12 r11 minus 117 PreIndex",
325719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativePreIndex_al_r12_r11_minus_117_PreIndex",
325819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativePreIndex),
325919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativePreIndex},
326019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r5, r0, minus, 124, PreIndex},
326119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r5 r0 minus 124 PreIndex",
326219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativePreIndex_al_r5_r0_minus_124_PreIndex",
326319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativePreIndex),
326419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativePreIndex},
326519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r7, r9, minus, 8, PreIndex},
326619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r7 r9 minus 8 PreIndex",
326719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativePreIndex_al_r7_r9_minus_8_PreIndex",
326819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativePreIndex),
326919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativePreIndex},
327019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r9, r1, minus, 10, PreIndex},
327119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r9 r1 minus 10 PreIndex",
327219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativePreIndex_al_r9_r1_minus_10_PreIndex",
327319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativePreIndex),
327419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativePreIndex},
327519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r7, r14, minus, 123, PreIndex},
327619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r7 r14 minus 123 PreIndex",
327719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativePreIndex_al_r7_r14_minus_123_PreIndex",
327819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativePreIndex),
327919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativePreIndex},
328019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r2, r12, minus, 160, PreIndex},
328119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r2 r12 minus 160 PreIndex",
328219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativePreIndex_al_r2_r12_minus_160_PreIndex",
328319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativePreIndex),
328419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativePreIndex},
328519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r3, r0, minus, 111, PreIndex},
328619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r3 r0 minus 111 PreIndex",
328719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativePreIndex_al_r3_r0_minus_111_PreIndex",
328819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativePreIndex),
328919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativePreIndex},
329019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r0, r9, minus, 168, PreIndex},
329119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r0 r9 minus 168 PreIndex",
329219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativePreIndex_al_r0_r9_minus_168_PreIndex",
329319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativePreIndex),
329419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativePreIndex},
329519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r14, r6, minus, 190, PreIndex},
329619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r14 r6 minus 190 PreIndex",
329719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativePreIndex_al_r14_r6_minus_190_PreIndex",
329819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativePreIndex),
329919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativePreIndex},
330019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r4, r2, minus, 142, PreIndex},
330119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r4 r2 minus 142 PreIndex",
330219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativePreIndex_al_r4_r2_minus_142_PreIndex",
330319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativePreIndex),
330419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativePreIndex},
330519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r8, r6, minus, 253, PreIndex},
330619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r8 r6 minus 253 PreIndex",
330719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativePreIndex_al_r8_r6_minus_253_PreIndex",
330819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativePreIndex),
330919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativePreIndex},
331019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r5, r4, minus, 101, PreIndex},
331119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r5 r4 minus 101 PreIndex",
331219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativePreIndex_al_r5_r4_minus_101_PreIndex",
331319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativePreIndex),
331419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativePreIndex},
331519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r2, r3, minus, 79, PreIndex},
331619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r2 r3 minus 79 PreIndex",
331719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativePreIndex_al_r2_r3_minus_79_PreIndex",
331819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativePreIndex),
331919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativePreIndex},
332019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r14, r4, minus, 13, PreIndex},
332119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r14 r4 minus 13 PreIndex",
332219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativePreIndex_al_r14_r4_minus_13_PreIndex",
332319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativePreIndex),
332419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativePreIndex},
332519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois     {{al, r4, r2, minus, 132, PreIndex},
332619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "al r4 r2 minus 132 PreIndex",
332719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      "NegativePreIndex_al_r4_r2_minus_132_PreIndex",
332819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      ARRAY_SIZE(kNegativePreIndex),
332919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      kNegativePreIndex}};
333088c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois
333188c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois// We record all inputs to the instructions as outputs. This way, we also check
333288c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois// that what shouldn't change didn't change.
333388c46b84df005638546de5e4e965bdcc31352f48Pierre Langloisstruct TestResult {
333488c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois  size_t output_size;
333588c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois  const Inputs* outputs;
333688c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois};
333788c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois
333888c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois// These headers each contain an array of `TestResult` with the reference output
333988c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois// values. The reference arrays are names `kReference{mnemonic}`.
3340d3832965c62a8ad461b9ea9eb0994ca6b0a3da2cAlexandre Rames#include "aarch32/traces/simulator-cond-rd-memop-immediate-512-a32-ldrh.h"
3341d3832965c62a8ad461b9ea9eb0994ca6b0a3da2cAlexandre Rames#include "aarch32/traces/simulator-cond-rd-memop-immediate-512-a32-ldrsh.h"
3342d3832965c62a8ad461b9ea9eb0994ca6b0a3da2cAlexandre Rames#include "aarch32/traces/simulator-cond-rd-memop-immediate-512-a32-ldrsb.h"
3343d3832965c62a8ad461b9ea9eb0994ca6b0a3da2cAlexandre Rames#include "aarch32/traces/simulator-cond-rd-memop-immediate-512-a32-strh.h"
334488c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois
334519c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois
334688c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois// The maximum number of errors to report in detail for each test.
33471d451fce2580f360ef249893135526156985a85cPierre Langloisconst unsigned kErrorReportLimit = 8;
334888c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois
334919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langloistypedef void (MacroAssembler::*Fn)(Condition cond,
335019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois                                   Register rd,
335188c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois                                   const MemOperand& memop);
335288c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois
335328ee02e59261f0aaa4824953fa3db5dd8f7f8dcfPierre Langloisvoid TestHelper(Fn instruction,
335428ee02e59261f0aaa4824953fa3db5dd8f7f8dcfPierre Langlois                const char* mnemonic,
335528ee02e59261f0aaa4824953fa3db5dd8f7f8dcfPierre Langlois                const TestResult reference[]) {
335688c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois  SETUP();
335710dae1a549308bddc1931f29754d6a4459f70c9bJacob Bramley  masm.UseA32();
335888c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois  START();
335988c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois
336088c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois  // Data to compare to `reference`.
336188c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois  TestResult* results[ARRAY_SIZE(kTests)];
336288c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois
336388c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois  // Test cases for memory bound instructions may allocate a buffer and save its
336488c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois  // address in this array.
336588c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois  byte* scratch_memory_buffers[ARRAY_SIZE(kTests)];
336688c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois
336788c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois  // Generate a loop for each element in `kTests`. Each loop tests one specific
336888c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois  // instruction.
336988c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois  for (unsigned i = 0; i < ARRAY_SIZE(kTests); i++) {
337088c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois    // Allocate results on the heap for this test.
337188c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois    results[i] = new TestResult;
337288c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois    results[i]->outputs = new Inputs[kTests[i].input_size];
337388c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois    results[i]->output_size = kTests[i].input_size;
337488c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois
3375f5348cedd702124c90fc75e75d0195e2e485c620Pierre Langlois    size_t input_stride = sizeof(kTests[i].inputs[0]) * kTests[i].input_size;
3376f5348cedd702124c90fc75e75d0195e2e485c620Pierre Langlois    VIXL_ASSERT(IsUint32(input_stride));
337788c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois
337888c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois    scratch_memory_buffers[i] = NULL;
337988c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois
338088c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois    Label loop;
338188c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois    UseScratchRegisterScope scratch_registers(&masm);
338288c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois    // Include all registers from r0 ro r12.
338388c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois    scratch_registers.Include(RegisterList(0x1fff));
338488c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois
338588c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois    // Values to pass to the macro-assembler.
338688c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois    Condition cond = kTests[i].operands.cond;
338788c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois    Register rd = kTests[i].operands.rd;
338888c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois    Register rn = kTests[i].operands.rn;
338988c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois    Sign sign = kTests[i].operands.sign;
339088c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois    int32_t offset = kTests[i].operands.offset;
339188c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois    AddrMode addr_mode = kTests[i].operands.addr_mode;
339288c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois    MemOperand memop(rn, sign, offset, addr_mode);
339388c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois    scratch_registers.Exclude(rd);
339488c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois    scratch_registers.Exclude(rn);
339588c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois
339688c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois    // Allocate reserved registers for our own use.
339788c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois    Register input_ptr = scratch_registers.Acquire();
339888c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois    Register input_end = scratch_registers.Acquire();
339988c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois    Register result_ptr = scratch_registers.Acquire();
340088c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois
340188c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois    // Initialize `input_ptr` to the first element and `input_end` the address
340288c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois    // after the array.
3403f5348cedd702124c90fc75e75d0195e2e485c620Pierre Langlois    __ Mov(input_ptr, Operand::From(kTests[i].inputs));
3404f5348cedd702124c90fc75e75d0195e2e485c620Pierre Langlois    __ Add(input_end, input_ptr, static_cast<uint32_t>(input_stride));
3405f5348cedd702124c90fc75e75d0195e2e485c620Pierre Langlois    __ Mov(result_ptr, Operand::From(results[i]->outputs));
340688c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois    __ Bind(&loop);
340788c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois
340888c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois    {
340988c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois      UseScratchRegisterScope temp_registers(&masm);
341088c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois      Register nzcv_bits = temp_registers.Acquire();
341188c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois      Register saved_q_bit = temp_registers.Acquire();
341288c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois      // Save the `Q` bit flag.
341388c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois      __ Mrs(saved_q_bit, APSR);
341488c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois      __ And(saved_q_bit, saved_q_bit, QFlag);
341588c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois      // Set the `NZCV` and `Q` flags together.
341688c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois      __ Ldr(nzcv_bits, MemOperand(input_ptr, offsetof(Inputs, apsr)));
341788c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois      __ Orr(nzcv_bits, nzcv_bits, saved_q_bit);
341888c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois      __ Msr(APSR_nzcvq, nzcv_bits);
341988c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois    }
342088c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois    __ Ldr(rd, MemOperand(input_ptr, offsetof(Inputs, rd)));
342188c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois    // Allocate 4 bytes for the instruction to work with.
342288c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois    scratch_memory_buffers[i] = new byte[4];
342388c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois    {
342488c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois      UseScratchRegisterScope temp_registers(&masm);
342588c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois
342688c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois      Register memop_tmp = temp_registers.Acquire();
342788c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois      Register base_register = memop.GetBaseRegister();
342888c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois
342988c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois      // Write the expected data into the scratch buffer.
3430f5348cedd702124c90fc75e75d0195e2e485c620Pierre Langlois      __ Mov(base_register, Operand::From(scratch_memory_buffers[i]));
343188c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois      __ Ldr(memop_tmp, MemOperand(input_ptr, offsetof(Inputs, memop) + 4));
343288c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois      __ Str(memop_tmp, MemOperand(base_register));
343388c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois
343488c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois      // Compute the address to put into the base register so that the
343588c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois      // `MemOperand` points to the right location.
343688c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois      // TODO: Support more kinds of `MemOperand`.
343788c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois      if (!memop.IsPostIndex()) {
343888c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois        if (memop.IsImmediate()) {
343988c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois          if (memop.GetSign().IsPlus()) {
344088c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois            __ Mov(memop_tmp, memop.GetOffsetImmediate());
344188c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois            __ Sub(base_register, base_register, memop_tmp);
344288c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois          } else {
344388c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois            __ Mov(memop_tmp, -memop.GetOffsetImmediate());
344488c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois            __ Add(base_register, base_register, memop_tmp);
344588c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois          }
344688c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois        } else if (memop.IsShiftedRegister()) {
344719c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois          __ Mov(memop_tmp,
344819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois                 Operand(memop.GetOffsetRegister(),
344919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois                         memop.GetShift(),
345019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois                         memop.GetShiftAmount()));
345188c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois          if (memop.GetSign().IsPlus()) {
345288c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois            __ Sub(base_register, base_register, memop_tmp);
345388c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois          } else {
345488c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois            __ Add(base_register, base_register, memop_tmp);
345588c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois          }
345688c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois        }
345788c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois      }
345888c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois    }
345988c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois
346019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois
346188c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois    (masm.*instruction)(cond, rd, memop);
346288c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois
346388c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois    {
346488c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois      UseScratchRegisterScope temp_registers(&masm);
346588c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois      Register nzcv_bits = temp_registers.Acquire();
346688c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois      __ Mrs(nzcv_bits, APSR);
346788c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois      // Only record the NZCV bits.
346888c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois      __ And(nzcv_bits, nzcv_bits, NZCVFlag);
346988c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois      __ Str(nzcv_bits, MemOperand(result_ptr, offsetof(Inputs, apsr)));
347088c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois    }
347188c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois    __ Str(rd, MemOperand(result_ptr, offsetof(Inputs, rd)));
347288c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois    {
347388c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois      UseScratchRegisterScope temp_registers(&masm);
347488c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois      Register memop_tmp = temp_registers.Acquire();
347588c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois      Register base_register = memop.GetBaseRegister();
347688c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois
347788c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois      // Compute the address of the scratch buffer by from the base register. If
347888c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois      // the instruction has updated the base register, we will be able to
347988c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois      // record it.
348088c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois      if (!memop.IsPostIndex()) {
348188c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois        if (memop.IsImmediate()) {
348288c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois          if (memop.GetSign().IsPlus()) {
348388c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois            __ Mov(memop_tmp, memop.GetOffsetImmediate());
348488c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois            __ Add(base_register, base_register, memop_tmp);
348588c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois          } else {
348688c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois            __ Mov(memop_tmp, -memop.GetOffsetImmediate());
348788c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois            __ Sub(base_register, base_register, memop_tmp);
348888c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois          }
348988c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois        } else if (memop.IsShiftedRegister()) {
349019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois          __ Mov(memop_tmp,
349119c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois                 Operand(memop.GetOffsetRegister(),
349219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois                         memop.GetShift(),
349319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois                         memop.GetShiftAmount()));
349488c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois          if (memop.GetSign().IsPlus()) {
349588c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois            __ Add(base_register, base_register, memop_tmp);
349688c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois          } else {
349788c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois            __ Sub(base_register, base_register, memop_tmp);
349888c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois          }
349988c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois        }
350088c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois      }
350188c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois
350288c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois      // Record the value of the base register, as an offset from the scratch
350388c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois      // buffer's address.
3504f5348cedd702124c90fc75e75d0195e2e485c620Pierre Langlois      __ Mov(memop_tmp, Operand::From(scratch_memory_buffers[i]));
350588c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois      __ Sub(base_register, base_register, memop_tmp);
350688c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois      __ Str(base_register, MemOperand(result_ptr, offsetof(Inputs, memop)));
350788c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois
350888c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois      // Record the 32 bit word from memory.
350988c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois      __ Ldr(memop_tmp, MemOperand(memop_tmp));
351088c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois      __ Str(memop_tmp, MemOperand(result_ptr, offsetof(Inputs, memop) + 4));
351188c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois    }
351288c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois
351319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois
351488c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois    // Advance the result pointer.
3515f5348cedd702124c90fc75e75d0195e2e485c620Pierre Langlois    __ Add(result_ptr, result_ptr, Operand::From(sizeof(kTests[i].inputs[0])));
351688c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois    // Loop back until `input_ptr` is lower than `input_base`.
3517f5348cedd702124c90fc75e75d0195e2e485c620Pierre Langlois    __ Add(input_ptr, input_ptr, Operand::From(sizeof(kTests[i].inputs[0])));
351888c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois    __ Cmp(input_ptr, input_end);
351988c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois    __ B(ne, &loop);
352088c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois  }
352188c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois
352288c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois  END();
352388c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois
352488c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois  RUN();
352588c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois
352688c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois  if (Test::generate_test_trace()) {
352788c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois    // Print the results.
352888c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois    for (size_t i = 0; i < ARRAY_SIZE(kTests); i++) {
35291d451fce2580f360ef249893135526156985a85cPierre Langlois      printf("const Inputs kOutputs_%s_%s[] = {\n",
353019c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois             mnemonic,
353188c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois             kTests[i].identifier);
353288c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois      for (size_t j = 0; j < results[i]->output_size; j++) {
353388c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois        printf("  { ");
353488c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois        printf("0x%08" PRIx32, results[i]->outputs[j].apsr);
353588c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois        printf(", ");
353688c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois        printf("0x%08" PRIx32, results[i]->outputs[j].rd);
353788c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois        printf(", ");
353888c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois        printf("{0x%08" PRIx32 ", 0x%08" PRIx32 "}",
353988c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois               results[i]->outputs[j].memop[0],
354088c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois               results[i]->outputs[j].memop[1]);
354188c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois        printf(" },\n");
354288c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois      }
354388c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois      printf("};\n");
354488c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois    }
35451d451fce2580f360ef249893135526156985a85cPierre Langlois    printf("const TestResult kReference%s[] = {\n", mnemonic);
354688c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois    for (size_t i = 0; i < ARRAY_SIZE(kTests); i++) {
354788c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois      printf("  {\n");
354819c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois      printf("    ARRAY_SIZE(kOutputs_%s_%s),\n",
354919c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois             mnemonic,
355088c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois             kTests[i].identifier);
355188c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois      printf("    kOutputs_%s_%s,\n", mnemonic, kTests[i].identifier);
355288c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois      printf("  },\n");
355388c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois    }
355488c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois    printf("};\n");
355554fce717d9371fa2e8fc46e1d811bdb4ab74f279Alexandre Rames  } else if (kCheckSimulatorTestResults) {
355688c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois    // Check the results.
355788c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois    unsigned total_error_count = 0;
355888c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois    for (size_t i = 0; i < ARRAY_SIZE(kTests); i++) {
355988c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois      bool instruction_has_errors = false;
356088c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois      for (size_t j = 0; j < kTests[i].input_size; j++) {
356188c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois        uint32_t apsr = results[i]->outputs[j].apsr;
356288c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois        uint32_t rd = results[i]->outputs[j].rd;
356388c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois        uint32_t memop[2] = {results[i]->outputs[j].memop[0],
356488c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois                             results[i]->outputs[j].memop[1]};
356588c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois
356688c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois        uint32_t apsr_input = kTests[i].inputs[j].apsr;
356788c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois        uint32_t rd_input = kTests[i].inputs[j].rd;
356888c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois        uint32_t memop_input[2] = {kTests[i].inputs[j].memop[0],
356988c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois                                   kTests[i].inputs[j].memop[1]};
357088c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois
357188c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois        uint32_t apsr_ref = reference[i].outputs[j].apsr;
357288c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois        uint32_t rd_ref = reference[i].outputs[j].rd;
357388c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois        uint32_t memop_ref[2] = {results[i]->outputs[j].memop[0],
357488c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois                                 results[i]->outputs[j].memop[1]};
357588c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois
357619c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois
357788c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois        if (((apsr != apsr_ref) || (rd != rd_ref) ||
357888c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois             ((memop[0] != memop_ref[0]) && (memop[1] != memop_ref[1]))) &&
357988c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois            (++total_error_count <= kErrorReportLimit)) {
358088c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois          // Print the instruction once even if it triggered multiple failures.
358188c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois          if (!instruction_has_errors) {
358219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois            printf("Error(s) when testing \"%s %s\":\n",
358319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois                   mnemonic,
358488c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois                   kTests[i].operands_description);
358588c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois            instruction_has_errors = true;
358688c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois          }
358788c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois          // Print subsequent errors.
358888c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois          printf("  Input:    ");
358988c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois          printf("0x%08" PRIx32, apsr_input);
359088c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois          printf(", ");
359188c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois          printf("0x%08" PRIx32, rd_input);
359288c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois          printf(", ");
359319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois          printf("{0x%08" PRIx32 ", 0x%08" PRIx32 "}",
359419c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois                 memop_input[0],
359588c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois                 memop_input[1]);
359688c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois          printf("\n");
359788c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois          printf("  Expected: ");
359888c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois          printf("0x%08" PRIx32, apsr_ref);
359988c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois          printf(", ");
360088c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois          printf("0x%08" PRIx32, rd_ref);
360188c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois          printf(", ");
360219c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois          printf("{0x%08" PRIx32 ", 0x%08" PRIx32 "}",
360319c0535d3c9c0bec6eeecce0ae704a7fd527a9d8Pierre Langlois                 memop_ref[0],
360488c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois                 memop_ref[1]);
360588c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois          printf("\n");
360688c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois          printf("  Found:    ");
360788c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois          printf("0x%08" PRIx32, apsr);
360888c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois          printf(", ");
360988c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois          printf("0x%08" PRIx32, rd);
361088c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois          printf(", ");
361188c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois          printf("{0x%08" PRIx32 ", 0x%08" PRIx32 "}", memop[0], memop[1]);
361288c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois          printf("\n\n");
361388c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois        }
361488c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois      }
361588c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois    }
361688c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois
361788c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois    if (total_error_count > kErrorReportLimit) {
361888c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois      printf("%u other errors follow.\n",
361988c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois             total_error_count - kErrorReportLimit);
362088c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois    }
362188c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois    VIXL_CHECK(total_error_count == 0);
362254fce717d9371fa2e8fc46e1d811bdb4ab74f279Alexandre Rames  } else {
362354fce717d9371fa2e8fc46e1d811bdb4ab74f279Alexandre Rames    VIXL_WARNING("Assembled the code, but did not run anything.\n");
362488c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois  }
362588c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois
362688c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois  for (size_t i = 0; i < ARRAY_SIZE(kTests); i++) {
362788c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois    delete[] results[i]->outputs;
362888c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois    delete results[i];
3629ec4fdd22abecf1b8f52ee9dbff596ebdded9b5d6Serban Constantinescu    delete[] scratch_memory_buffers[i];
363088c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois  }
363188c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois
363288c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois  TEARDOWN();
363388c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois}
363488c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois
363588c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois// Instantiate tests for each instruction in the list.
363628ee02e59261f0aaa4824953fa3db5dd8f7f8dcfPierre Langlois// TODO: Remove this limitation by having a sandboxing mechanism.
363728ee02e59261f0aaa4824953fa3db5dd8f7f8dcfPierre Langlois#if defined(VIXL_HOST_POINTER_32)
363888c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois#define TEST(mnemonic)                                                      \
36391d451fce2580f360ef249893135526156985a85cPierre Langlois  void Test_##mnemonic() {                                                  \
364088c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois    TestHelper(&MacroAssembler::mnemonic, #mnemonic, kReference##mnemonic); \
364188c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois  }                                                                         \
36421d451fce2580f360ef249893135526156985a85cPierre Langlois  Test test_##mnemonic(                                                     \
364388c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois      "AARCH32_SIMULATOR_COND_RD_MEMOP_IMMEDIATE_512_A32_" #mnemonic,       \
364488c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois      &Test_##mnemonic);
364528ee02e59261f0aaa4824953fa3db5dd8f7f8dcfPierre Langlois#else
364628ee02e59261f0aaa4824953fa3db5dd8f7f8dcfPierre Langlois#define TEST(mnemonic)                                                \
364728ee02e59261f0aaa4824953fa3db5dd8f7f8dcfPierre Langlois  void Test_##mnemonic() {                                            \
364828ee02e59261f0aaa4824953fa3db5dd8f7f8dcfPierre Langlois    VIXL_WARNING("This test can only run on a 32-bit host.\n");       \
364928ee02e59261f0aaa4824953fa3db5dd8f7f8dcfPierre Langlois    USE(TestHelper);                                                  \
365028ee02e59261f0aaa4824953fa3db5dd8f7f8dcfPierre Langlois  }                                                                   \
365128ee02e59261f0aaa4824953fa3db5dd8f7f8dcfPierre Langlois  Test test_##mnemonic(                                               \
365228ee02e59261f0aaa4824953fa3db5dd8f7f8dcfPierre Langlois      "AARCH32_SIMULATOR_COND_RD_MEMOP_IMMEDIATE_512_A32_" #mnemonic, \
365328ee02e59261f0aaa4824953fa3db5dd8f7f8dcfPierre Langlois      &Test_##mnemonic);
365428ee02e59261f0aaa4824953fa3db5dd8f7f8dcfPierre Langlois#endif
365528ee02e59261f0aaa4824953fa3db5dd8f7f8dcfPierre Langlois
365688c46b84df005638546de5e4e965bdcc31352f48Pierre LangloisFOREACH_INSTRUCTION(TEST)
365788c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois#undef TEST
365888c46b84df005638546de5e4e965bdcc31352f48Pierre Langlois
36591d451fce2580f360ef249893135526156985a85cPierre Langlois}  // namespace
36609a9331faeba996d6c85e6e2a6355ccfc22c6cab6Rodolph Perfetta#endif
36611d451fce2580f360ef249893135526156985a85cPierre Langlois
36621d451fce2580f360ef249893135526156985a85cPierre Langlois}  // namespace aarch32
36631d451fce2580f360ef249893135526156985a85cPierre Langlois}  // namespace vixl
3664