1 // Copyright 2016, VIXL authors 2 // All rights reserved. 3 // 4 // Redistribution and use in source and binary forms, with or without 5 // modification, are permitted provided that the following conditions are met: 6 // 7 // * Redistributions of source code must retain the above copyright notice, 8 // this list of conditions and the following disclaimer. 9 // * Redistributions in binary form must reproduce the above copyright notice, 10 // this list of conditions and the following disclaimer in the documentation 11 // and/or other materials provided with the distribution. 12 // * Neither the name of ARM Limited nor the names of its contributors may be 13 // used to endorse or promote products derived from this software without 14 // specific prior written permission. 15 // 16 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS CONTRIBUTORS "AS IS" AND 17 // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 18 // WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 19 // DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE 20 // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 21 // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 22 // SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 23 // CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 24 // OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 25 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 26 27 28 // ----------------------------------------------------------------------------- 29 // This file is auto generated from the 30 // test/aarch32/config/template-simulator-aarch32.cc.in template file using 31 // tools/generate_tests.py. 32 // 33 // PLEASE DO NOT EDIT. 34 // ----------------------------------------------------------------------------- 35 36 37 #include "test-runner.h" 38 39 #include "test-utils.h" 40 #include "test-utils-aarch32.h" 41 42 #include "aarch32/assembler-aarch32.h" 43 #include "aarch32/macro-assembler-aarch32.h" 44 #include "aarch32/disasm-aarch32.h" 45 46 #define __ masm. 47 #define BUF_SIZE (4096) 48 49 #ifdef VIXL_INCLUDE_SIMULATOR_AARCH32 50 // Run tests with the simulator. 51 52 #define SETUP() MacroAssembler masm(BUF_SIZE) 53 54 #define START() masm.GetBuffer()->Reset() 55 56 #define END() \ 57 __ Hlt(0); \ 58 __ FinalizeCode(); 59 60 // TODO: Run the tests in the simulator. 61 #define RUN() 62 63 #define TEARDOWN() 64 65 #else // ifdef VIXL_INCLUDE_SIMULATOR_AARCH32. 66 67 #define SETUP() \ 68 MacroAssembler masm(BUF_SIZE); \ 69 UseScratchRegisterScope harness_scratch(&masm); \ 70 harness_scratch.ExcludeAll(); 71 72 #define START() \ 73 masm.GetBuffer()->Reset(); \ 74 __ Push(r4); \ 75 __ Push(r5); \ 76 __ Push(r6); \ 77 __ Push(r7); \ 78 __ Push(r8); \ 79 __ Push(r9); \ 80 __ Push(r10); \ 81 __ Push(r11); \ 82 __ Push(lr); \ 83 harness_scratch.Include(ip); 84 85 #define END() \ 86 harness_scratch.Exclude(ip); \ 87 __ Pop(lr); \ 88 __ Pop(r11); \ 89 __ Pop(r10); \ 90 __ Pop(r9); \ 91 __ Pop(r8); \ 92 __ Pop(r7); \ 93 __ Pop(r6); \ 94 __ Pop(r5); \ 95 __ Pop(r4); \ 96 __ Bx(lr); \ 97 __ FinalizeCode(); 98 99 #define RUN() \ 100 { \ 101 int pcs_offset = masm.IsUsingT32() ? 1 : 0; \ 102 masm.GetBuffer()->SetExecutable(); \ 103 ExecuteMemory(masm.GetBuffer()->GetStartAddress<byte*>(), \ 104 masm.GetSizeOfCodeGenerated(), \ 105 pcs_offset); \ 106 masm.GetBuffer()->SetWritable(); \ 107 } 108 109 #define TEARDOWN() harness_scratch.Close(); 110 111 #endif // ifdef VIXL_INCLUDE_SIMULATOR_AARCH32 112 113 namespace vixl { 114 namespace aarch32 { 115 116 // List of instruction encodings: 117 #define FOREACH_INSTRUCTION(M) \ 118 M(Ldr) \ 119 M(Ldrb) \ 120 M(Str) \ 121 M(Strb) 122 123 124 // The following definitions are defined again in each generated test, therefore 125 // we need to place them in an anomymous namespace. It expresses that they are 126 // local to this file only, and the compiler is not allowed to share these types 127 // across test files during template instantiation. Specifically, `Operands` and 128 // `Inputs` have various layouts across generated tests so they absolutely 129 // cannot be shared. 130 131 #ifdef VIXL_INCLUDE_TARGET_A32 132 namespace { 133 134 // Values to be passed to the assembler to produce the instruction under test. 135 struct Operands { 136 Condition cond; 137 Register rd; 138 Register rn; 139 Sign sign; 140 int32_t offset; 141 AddrMode addr_mode; 142 }; 143 144 // Input data to feed to the instruction. 145 struct Inputs { 146 uint32_t apsr; 147 uint32_t rd; 148 uint32_t memop[2]; 149 }; 150 151 // This structure contains all input data needed to test one specific encoding. 152 // It used to generate a loop over an instruction. 153 struct TestLoopData { 154 // The `operands` fields represents the values to pass to the assembler to 155 // produce the instruction. 156 Operands operands; 157 // Description of the operands, used for error reporting. 158 const char* operands_description; 159 // Unique identifier, used for generating traces. 160 const char* identifier; 161 // Array of values to be fed to the instruction. 162 size_t input_size; 163 const Inputs* inputs; 164 }; 165 166 static const Inputs kCondition[] = {{NFlag, 0xabababab, {0, 0x77777777}}, 167 {ZFlag, 0xabababab, {0, 0x77777777}}, 168 {CFlag, 0xabababab, {0, 0x77777777}}, 169 {VFlag, 0xabababab, {0, 0x77777777}}, 170 {NZFlag, 0xabababab, {0, 0x77777777}}, 171 {NCFlag, 0xabababab, {0, 0x77777777}}, 172 {NVFlag, 0xabababab, {0, 0x77777777}}, 173 {ZCFlag, 0xabababab, {0, 0x77777777}}, 174 {ZVFlag, 0xabababab, {0, 0x77777777}}, 175 {CVFlag, 0xabababab, {0, 0x77777777}}, 176 {NZCFlag, 0xabababab, {0, 0x77777777}}, 177 {NZVFlag, 0xabababab, {0, 0x77777777}}, 178 {NCVFlag, 0xabababab, {0, 0x77777777}}, 179 {ZCVFlag, 0xabababab, {0, 0x77777777}}, 180 {NZCVFlag, 0xabababab, {0, 0x77777777}}}; 181 182 static const Inputs kPositiveOffset[] = {{NoFlag, 0x00000000, {0, 0x0badbeef}}, 183 {NoFlag, 0x00000020, {0, 0x0badbeef}}, 184 {NoFlag, 0x00000020, {0, 0x55555555}}, 185 {NoFlag, 0x33333333, {0, 0x0badbeef}}, 186 {NoFlag, 0x00000002, {0, 0x0cabba9e}}, 187 {NoFlag, 0x7fffffff, {0, 0x0cabba9e}}, 188 {NoFlag, 0xcccccccc, {0, 0x77777777}}, 189 {NoFlag, 0x7ffffffd, {0, 0x55555555}}, 190 {NoFlag, 0xffffff83, {0, 0x77777777}}, 191 {NoFlag, 0xaaaaaaaa, {0, 0x77777777}}}; 192 193 static const Inputs kNegativeOffset[] = {{NoFlag, 0xcccccccc, {0, 0x0badbeef}}, 194 {NoFlag, 0x0000007f, {0, 0x0cabba9e}}, 195 {NoFlag, 0x00007ffe, {0, 0x55555555}}, 196 {NoFlag, 0xffffffff, {0, 0x0cabba9e}}, 197 {NoFlag, 0x00007ffd, {0, 0x77777777}}, 198 {NoFlag, 0x0000007d, {0, 0x0badbeef}}, 199 {NoFlag, 0xffff8001, {0, 0x0cabba9e}}, 200 {NoFlag, 0xaaaaaaaa, {0, 0x55555555}}, 201 {NoFlag, 0x55555555, {0, 0x0badbeef}}, 202 {NoFlag, 0xffffff82, {0, 0x77777777}}}; 203 204 static const Inputs kPositivePostIndex[] = 205 {{NoFlag, 0xffff8003, {0, 0x77777777}}, 206 {NoFlag, 0xfffffffd, {0, 0x55555555}}, 207 {NoFlag, 0xffffff83, {0, 0x0cabba9e}}, 208 {NoFlag, 0x7ffffffd, {0, 0x0badbeef}}, 209 {NoFlag, 0xcccccccc, {0, 0x55555555}}, 210 {NoFlag, 0x00007ffd, {0, 0x55555555}}, 211 {NoFlag, 0x00007fff, {0, 0x0badbeef}}, 212 {NoFlag, 0x00000020, {0, 0x77777777}}, 213 {NoFlag, 0x80000000, {0, 0x0cabba9e}}, 214 {NoFlag, 0x80000001, {0, 0x0badbeef}}}; 215 216 static const Inputs kNegativePostIndex[] = 217 {{NoFlag, 0x80000001, {0, 0x77777777}}, 218 {NoFlag, 0x7ffffffe, {0, 0x0badbeef}}, 219 {NoFlag, 0x0000007d, {0, 0x0badbeef}}, 220 {NoFlag, 0x0000007d, {0, 0x77777777}}, 221 {NoFlag, 0xcccccccc, {0, 0x77777777}}, 222 {NoFlag, 0xffff8003, {0, 0x77777777}}, 223 {NoFlag, 0x00000001, {0, 0x77777777}}, 224 {NoFlag, 0xffff8003, {0, 0x0badbeef}}, 225 {NoFlag, 0xffff8000, {0, 0x0badbeef}}, 226 {NoFlag, 0xffffff80, {0, 0x0badbeef}}}; 227 228 static const Inputs kPositivePreIndex[] = 229 {{NoFlag, 0xffff8003, {0, 0x55555555}}, 230 {NoFlag, 0x7ffffffd, {0, 0x55555555}}, 231 {NoFlag, 0x33333333, {0, 0x77777777}}, 232 {NoFlag, 0xcccccccc, {0, 0x0cabba9e}}, 233 {NoFlag, 0xffffffff, {0, 0x0cabba9e}}, 234 {NoFlag, 0x33333333, {0, 0x55555555}}, 235 {NoFlag, 0xffffff82, {0, 0x77777777}}, 236 {NoFlag, 0x55555555, {0, 0x0cabba9e}}, 237 {NoFlag, 0xfffffffe, {0, 0x77777777}}, 238 {NoFlag, 0x0000007e, {0, 0x0cabba9e}}}; 239 240 static const Inputs kNegativePreIndex[] = 241 {{NoFlag, 0x00007ffd, {0, 0x0badbeef}}, 242 {NoFlag, 0xffffffff, {0, 0x77777777}}, 243 {NoFlag, 0x00000002, {0, 0x0cabba9e}}, 244 {NoFlag, 0xfffffffd, {0, 0x0cabba9e}}, 245 {NoFlag, 0x7ffffffd, {0, 0x77777777}}, 246 {NoFlag, 0xffffffff, {0, 0x55555555}}, 247 {NoFlag, 0x00007ffe, {0, 0x77777777}}, 248 {NoFlag, 0xffffff82, {0, 0x0cabba9e}}, 249 {NoFlag, 0x0000007e, {0, 0x55555555}}, 250 {NoFlag, 0x7ffffffe, {0, 0x77777777}}}; 251 252 253 // A loop will be generated for each element of this array. 254 const TestLoopData kTests[] = 255 {{{eq, r0, r1, plus, 0, Offset}, 256 "eq r0 r1 plus 0 Offset", 257 "Condition_eq_r0_r1_plus_0_Offset", 258 ARRAY_SIZE(kCondition), 259 kCondition}, 260 {{ne, r0, r1, plus, 0, Offset}, 261 "ne r0 r1 plus 0 Offset", 262 "Condition_ne_r0_r1_plus_0_Offset", 263 ARRAY_SIZE(kCondition), 264 kCondition}, 265 {{cs, r0, r1, plus, 0, Offset}, 266 "cs r0 r1 plus 0 Offset", 267 "Condition_cs_r0_r1_plus_0_Offset", 268 ARRAY_SIZE(kCondition), 269 kCondition}, 270 {{cc, r0, r1, plus, 0, Offset}, 271 "cc r0 r1 plus 0 Offset", 272 "Condition_cc_r0_r1_plus_0_Offset", 273 ARRAY_SIZE(kCondition), 274 kCondition}, 275 {{mi, r0, r1, plus, 0, Offset}, 276 "mi r0 r1 plus 0 Offset", 277 "Condition_mi_r0_r1_plus_0_Offset", 278 ARRAY_SIZE(kCondition), 279 kCondition}, 280 {{pl, r0, r1, plus, 0, Offset}, 281 "pl r0 r1 plus 0 Offset", 282 "Condition_pl_r0_r1_plus_0_Offset", 283 ARRAY_SIZE(kCondition), 284 kCondition}, 285 {{vs, r0, r1, plus, 0, Offset}, 286 "vs r0 r1 plus 0 Offset", 287 "Condition_vs_r0_r1_plus_0_Offset", 288 ARRAY_SIZE(kCondition), 289 kCondition}, 290 {{vc, r0, r1, plus, 0, Offset}, 291 "vc r0 r1 plus 0 Offset", 292 "Condition_vc_r0_r1_plus_0_Offset", 293 ARRAY_SIZE(kCondition), 294 kCondition}, 295 {{hi, r0, r1, plus, 0, Offset}, 296 "hi r0 r1 plus 0 Offset", 297 "Condition_hi_r0_r1_plus_0_Offset", 298 ARRAY_SIZE(kCondition), 299 kCondition}, 300 {{ls, r0, r1, plus, 0, Offset}, 301 "ls r0 r1 plus 0 Offset", 302 "Condition_ls_r0_r1_plus_0_Offset", 303 ARRAY_SIZE(kCondition), 304 kCondition}, 305 {{ge, r0, r1, plus, 0, Offset}, 306 "ge r0 r1 plus 0 Offset", 307 "Condition_ge_r0_r1_plus_0_Offset", 308 ARRAY_SIZE(kCondition), 309 kCondition}, 310 {{lt, r0, r1, plus, 0, Offset}, 311 "lt r0 r1 plus 0 Offset", 312 "Condition_lt_r0_r1_plus_0_Offset", 313 ARRAY_SIZE(kCondition), 314 kCondition}, 315 {{gt, r0, r1, plus, 0, Offset}, 316 "gt r0 r1 plus 0 Offset", 317 "Condition_gt_r0_r1_plus_0_Offset", 318 ARRAY_SIZE(kCondition), 319 kCondition}, 320 {{le, r0, r1, plus, 0, Offset}, 321 "le r0 r1 plus 0 Offset", 322 "Condition_le_r0_r1_plus_0_Offset", 323 ARRAY_SIZE(kCondition), 324 kCondition}, 325 {{al, r0, r1, plus, 0, Offset}, 326 "al r0 r1 plus 0 Offset", 327 "Condition_al_r0_r1_plus_0_Offset", 328 ARRAY_SIZE(kCondition), 329 kCondition}, 330 {{al, r0, r6, plus, 2582, Offset}, 331 "al r0 r6 plus 2582 Offset", 332 "PositiveOffset_al_r0_r6_plus_2582_Offset", 333 ARRAY_SIZE(kPositiveOffset), 334 kPositiveOffset}, 335 {{al, r2, r5, plus, 0, Offset}, 336 "al r2 r5 plus 0 Offset", 337 "PositiveOffset_al_r2_r5_plus_0_Offset", 338 ARRAY_SIZE(kPositiveOffset), 339 kPositiveOffset}, 340 {{al, r2, r1, plus, 3989, Offset}, 341 "al r2 r1 plus 3989 Offset", 342 "PositiveOffset_al_r2_r1_plus_3989_Offset", 343 ARRAY_SIZE(kPositiveOffset), 344 kPositiveOffset}, 345 {{al, r6, r10, plus, 1892, Offset}, 346 "al r6 r10 plus 1892 Offset", 347 "PositiveOffset_al_r6_r10_plus_1892_Offset", 348 ARRAY_SIZE(kPositiveOffset), 349 kPositiveOffset}, 350 {{al, r1, r12, plus, 1677, Offset}, 351 "al r1 r12 plus 1677 Offset", 352 "PositiveOffset_al_r1_r12_plus_1677_Offset", 353 ARRAY_SIZE(kPositiveOffset), 354 kPositiveOffset}, 355 {{al, r9, r4, plus, 3015, Offset}, 356 "al r9 r4 plus 3015 Offset", 357 "PositiveOffset_al_r9_r4_plus_3015_Offset", 358 ARRAY_SIZE(kPositiveOffset), 359 kPositiveOffset}, 360 {{al, r11, r4, plus, 1231, Offset}, 361 "al r11 r4 plus 1231 Offset", 362 "PositiveOffset_al_r11_r4_plus_1231_Offset", 363 ARRAY_SIZE(kPositiveOffset), 364 kPositiveOffset}, 365 {{al, r7, r10, plus, 523, Offset}, 366 "al r7 r10 plus 523 Offset", 367 "PositiveOffset_al_r7_r10_plus_523_Offset", 368 ARRAY_SIZE(kPositiveOffset), 369 kPositiveOffset}, 370 {{al, r10, r9, plus, 1485, Offset}, 371 "al r10 r9 plus 1485 Offset", 372 "PositiveOffset_al_r10_r9_plus_1485_Offset", 373 ARRAY_SIZE(kPositiveOffset), 374 kPositiveOffset}, 375 {{al, r11, r0, plus, 1924, Offset}, 376 "al r11 r0 plus 1924 Offset", 377 "PositiveOffset_al_r11_r0_plus_1924_Offset", 378 ARRAY_SIZE(kPositiveOffset), 379 kPositiveOffset}, 380 {{al, r9, r2, plus, 670, Offset}, 381 "al r9 r2 plus 670 Offset", 382 "PositiveOffset_al_r9_r2_plus_670_Offset", 383 ARRAY_SIZE(kPositiveOffset), 384 kPositiveOffset}, 385 {{al, r2, r7, plus, 3417, Offset}, 386 "al r2 r7 plus 3417 Offset", 387 "PositiveOffset_al_r2_r7_plus_3417_Offset", 388 ARRAY_SIZE(kPositiveOffset), 389 kPositiveOffset}, 390 {{al, r1, r5, plus, 470, Offset}, 391 "al r1 r5 plus 470 Offset", 392 "PositiveOffset_al_r1_r5_plus_470_Offset", 393 ARRAY_SIZE(kPositiveOffset), 394 kPositiveOffset}, 395 {{al, r5, r11, plus, 1660, Offset}, 396 "al r5 r11 plus 1660 Offset", 397 "PositiveOffset_al_r5_r11_plus_1660_Offset", 398 ARRAY_SIZE(kPositiveOffset), 399 kPositiveOffset}, 400 {{al, r8, r6, plus, 3978, Offset}, 401 "al r8 r6 plus 3978 Offset", 402 "PositiveOffset_al_r8_r6_plus_3978_Offset", 403 ARRAY_SIZE(kPositiveOffset), 404 kPositiveOffset}, 405 {{al, r4, r3, plus, 3739, Offset}, 406 "al r4 r3 plus 3739 Offset", 407 "PositiveOffset_al_r4_r3_plus_3739_Offset", 408 ARRAY_SIZE(kPositiveOffset), 409 kPositiveOffset}, 410 {{al, r14, r4, plus, 3787, Offset}, 411 "al r14 r4 plus 3787 Offset", 412 "PositiveOffset_al_r14_r4_plus_3787_Offset", 413 ARRAY_SIZE(kPositiveOffset), 414 kPositiveOffset}, 415 {{al, r12, r0, plus, 732, Offset}, 416 "al r12 r0 plus 732 Offset", 417 "PositiveOffset_al_r12_r0_plus_732_Offset", 418 ARRAY_SIZE(kPositiveOffset), 419 kPositiveOffset}, 420 {{al, r10, r14, plus, 3625, Offset}, 421 "al r10 r14 plus 3625 Offset", 422 "PositiveOffset_al_r10_r14_plus_3625_Offset", 423 ARRAY_SIZE(kPositiveOffset), 424 kPositiveOffset}, 425 {{al, r3, r1, plus, 2451, Offset}, 426 "al r3 r1 plus 2451 Offset", 427 "PositiveOffset_al_r3_r1_plus_2451_Offset", 428 ARRAY_SIZE(kPositiveOffset), 429 kPositiveOffset}, 430 {{al, r0, r6, plus, 1241, Offset}, 431 "al r0 r6 plus 1241 Offset", 432 "PositiveOffset_al_r0_r6_plus_1241_Offset", 433 ARRAY_SIZE(kPositiveOffset), 434 kPositiveOffset}, 435 {{al, r5, r4, plus, 2040, Offset}, 436 "al r5 r4 plus 2040 Offset", 437 "PositiveOffset_al_r5_r4_plus_2040_Offset", 438 ARRAY_SIZE(kPositiveOffset), 439 kPositiveOffset}, 440 {{al, r9, r12, plus, 251, Offset}, 441 "al r9 r12 plus 251 Offset", 442 "PositiveOffset_al_r9_r12_plus_251_Offset", 443 ARRAY_SIZE(kPositiveOffset), 444 kPositiveOffset}, 445 {{al, r11, r14, plus, 3765, Offset}, 446 "al r11 r14 plus 3765 Offset", 447 "PositiveOffset_al_r11_r14_plus_3765_Offset", 448 ARRAY_SIZE(kPositiveOffset), 449 kPositiveOffset}, 450 {{al, r6, r0, plus, 3028, Offset}, 451 "al r6 r0 plus 3028 Offset", 452 "PositiveOffset_al_r6_r0_plus_3028_Offset", 453 ARRAY_SIZE(kPositiveOffset), 454 kPositiveOffset}, 455 {{al, r14, r7, plus, 1872, Offset}, 456 "al r14 r7 plus 1872 Offset", 457 "PositiveOffset_al_r14_r7_plus_1872_Offset", 458 ARRAY_SIZE(kPositiveOffset), 459 kPositiveOffset}, 460 {{al, r0, r11, plus, 3450, Offset}, 461 "al r0 r11 plus 3450 Offset", 462 "PositiveOffset_al_r0_r11_plus_3450_Offset", 463 ARRAY_SIZE(kPositiveOffset), 464 kPositiveOffset}, 465 {{al, r12, r7, plus, 3717, Offset}, 466 "al r12 r7 plus 3717 Offset", 467 "PositiveOffset_al_r12_r7_plus_3717_Offset", 468 ARRAY_SIZE(kPositiveOffset), 469 kPositiveOffset}, 470 {{al, r9, r3, plus, 2011, Offset}, 471 "al r9 r3 plus 2011 Offset", 472 "PositiveOffset_al_r9_r3_plus_2011_Offset", 473 ARRAY_SIZE(kPositiveOffset), 474 kPositiveOffset}, 475 {{al, r1, r6, plus, 1399, Offset}, 476 "al r1 r6 plus 1399 Offset", 477 "PositiveOffset_al_r1_r6_plus_1399_Offset", 478 ARRAY_SIZE(kPositiveOffset), 479 kPositiveOffset}, 480 {{al, r3, r6, plus, 2546, Offset}, 481 "al r3 r6 plus 2546 Offset", 482 "PositiveOffset_al_r3_r6_plus_2546_Offset", 483 ARRAY_SIZE(kPositiveOffset), 484 kPositiveOffset}, 485 {{al, r1, r2, plus, 850, Offset}, 486 "al r1 r2 plus 850 Offset", 487 "PositiveOffset_al_r1_r2_plus_850_Offset", 488 ARRAY_SIZE(kPositiveOffset), 489 kPositiveOffset}, 490 {{al, r4, r10, plus, 371, Offset}, 491 "al r4 r10 plus 371 Offset", 492 "PositiveOffset_al_r4_r10_plus_371_Offset", 493 ARRAY_SIZE(kPositiveOffset), 494 kPositiveOffset}, 495 {{al, r5, r10, plus, 2240, Offset}, 496 "al r5 r10 plus 2240 Offset", 497 "PositiveOffset_al_r5_r10_plus_2240_Offset", 498 ARRAY_SIZE(kPositiveOffset), 499 kPositiveOffset}, 500 {{al, r5, r9, plus, 712, Offset}, 501 "al r5 r9 plus 712 Offset", 502 "PositiveOffset_al_r5_r9_plus_712_Offset", 503 ARRAY_SIZE(kPositiveOffset), 504 kPositiveOffset}, 505 {{al, r14, r7, plus, 2025, Offset}, 506 "al r14 r7 plus 2025 Offset", 507 "PositiveOffset_al_r14_r7_plus_2025_Offset", 508 ARRAY_SIZE(kPositiveOffset), 509 kPositiveOffset}, 510 {{al, r0, r3, plus, 595, Offset}, 511 "al r0 r3 plus 595 Offset", 512 "PositiveOffset_al_r0_r3_plus_595_Offset", 513 ARRAY_SIZE(kPositiveOffset), 514 kPositiveOffset}, 515 {{al, r14, r3, plus, 1459, Offset}, 516 "al r14 r3 plus 1459 Offset", 517 "PositiveOffset_al_r14_r3_plus_1459_Offset", 518 ARRAY_SIZE(kPositiveOffset), 519 kPositiveOffset}, 520 {{al, r12, r7, plus, 582, Offset}, 521 "al r12 r7 plus 582 Offset", 522 "PositiveOffset_al_r12_r7_plus_582_Offset", 523 ARRAY_SIZE(kPositiveOffset), 524 kPositiveOffset}, 525 {{al, r7, r10, plus, 3282, Offset}, 526 "al r7 r10 plus 3282 Offset", 527 "PositiveOffset_al_r7_r10_plus_3282_Offset", 528 ARRAY_SIZE(kPositiveOffset), 529 kPositiveOffset}, 530 {{al, r14, r3, plus, 674, Offset}, 531 "al r14 r3 plus 674 Offset", 532 "PositiveOffset_al_r14_r3_plus_674_Offset", 533 ARRAY_SIZE(kPositiveOffset), 534 kPositiveOffset}, 535 {{al, r10, r1, plus, 72, Offset}, 536 "al r10 r1 plus 72 Offset", 537 "PositiveOffset_al_r10_r1_plus_72_Offset", 538 ARRAY_SIZE(kPositiveOffset), 539 kPositiveOffset}, 540 {{al, r1, r7, plus, 3702, Offset}, 541 "al r1 r7 plus 3702 Offset", 542 "PositiveOffset_al_r1_r7_plus_3702_Offset", 543 ARRAY_SIZE(kPositiveOffset), 544 kPositiveOffset}, 545 {{al, r3, r5, plus, 932, Offset}, 546 "al r3 r5 plus 932 Offset", 547 "PositiveOffset_al_r3_r5_plus_932_Offset", 548 ARRAY_SIZE(kPositiveOffset), 549 kPositiveOffset}, 550 {{al, r0, r9, plus, 233, Offset}, 551 "al r0 r9 plus 233 Offset", 552 "PositiveOffset_al_r0_r9_plus_233_Offset", 553 ARRAY_SIZE(kPositiveOffset), 554 kPositiveOffset}, 555 {{al, r0, r5, plus, 523, Offset}, 556 "al r0 r5 plus 523 Offset", 557 "PositiveOffset_al_r0_r5_plus_523_Offset", 558 ARRAY_SIZE(kPositiveOffset), 559 kPositiveOffset}, 560 {{al, r14, r9, plus, 844, Offset}, 561 "al r14 r9 plus 844 Offset", 562 "PositiveOffset_al_r14_r9_plus_844_Offset", 563 ARRAY_SIZE(kPositiveOffset), 564 kPositiveOffset}, 565 {{al, r6, r5, plus, 1459, Offset}, 566 "al r6 r5 plus 1459 Offset", 567 "PositiveOffset_al_r6_r5_plus_1459_Offset", 568 ARRAY_SIZE(kPositiveOffset), 569 kPositiveOffset}, 570 {{al, r10, r14, plus, 3384, Offset}, 571 "al r10 r14 plus 3384 Offset", 572 "PositiveOffset_al_r10_r14_plus_3384_Offset", 573 ARRAY_SIZE(kPositiveOffset), 574 kPositiveOffset}, 575 {{al, r4, r12, plus, 2345, Offset}, 576 "al r4 r12 plus 2345 Offset", 577 "PositiveOffset_al_r4_r12_plus_2345_Offset", 578 ARRAY_SIZE(kPositiveOffset), 579 kPositiveOffset}, 580 {{al, r11, r9, plus, 1642, Offset}, 581 "al r11 r9 plus 1642 Offset", 582 "PositiveOffset_al_r11_r9_plus_1642_Offset", 583 ARRAY_SIZE(kPositiveOffset), 584 kPositiveOffset}, 585 {{al, r3, r7, plus, 2901, Offset}, 586 "al r3 r7 plus 2901 Offset", 587 "PositiveOffset_al_r3_r7_plus_2901_Offset", 588 ARRAY_SIZE(kPositiveOffset), 589 kPositiveOffset}, 590 {{al, r4, r3, plus, 1934, Offset}, 591 "al r4 r3 plus 1934 Offset", 592 "PositiveOffset_al_r4_r3_plus_1934_Offset", 593 ARRAY_SIZE(kPositiveOffset), 594 kPositiveOffset}, 595 {{al, r8, r4, plus, 3952, Offset}, 596 "al r8 r4 plus 3952 Offset", 597 "PositiveOffset_al_r8_r4_plus_3952_Offset", 598 ARRAY_SIZE(kPositiveOffset), 599 kPositiveOffset}, 600 {{al, r5, r0, plus, 2710, Offset}, 601 "al r5 r0 plus 2710 Offset", 602 "PositiveOffset_al_r5_r0_plus_2710_Offset", 603 ARRAY_SIZE(kPositiveOffset), 604 kPositiveOffset}, 605 {{al, r12, r2, plus, 270, Offset}, 606 "al r12 r2 plus 270 Offset", 607 "PositiveOffset_al_r12_r2_plus_270_Offset", 608 ARRAY_SIZE(kPositiveOffset), 609 kPositiveOffset}, 610 {{al, r9, r2, plus, 132, Offset}, 611 "al r9 r2 plus 132 Offset", 612 "PositiveOffset_al_r9_r2_plus_132_Offset", 613 ARRAY_SIZE(kPositiveOffset), 614 kPositiveOffset}, 615 {{al, r11, r5, plus, 19, Offset}, 616 "al r11 r5 plus 19 Offset", 617 "PositiveOffset_al_r11_r5_plus_19_Offset", 618 ARRAY_SIZE(kPositiveOffset), 619 kPositiveOffset}, 620 {{al, r7, r14, plus, 1848, Offset}, 621 "al r7 r14 plus 1848 Offset", 622 "PositiveOffset_al_r7_r14_plus_1848_Offset", 623 ARRAY_SIZE(kPositiveOffset), 624 kPositiveOffset}, 625 {{al, r6, r10, plus, 977, Offset}, 626 "al r6 r10 plus 977 Offset", 627 "PositiveOffset_al_r6_r10_plus_977_Offset", 628 ARRAY_SIZE(kPositiveOffset), 629 kPositiveOffset}, 630 {{al, r10, r8, plus, 3239, Offset}, 631 "al r10 r8 plus 3239 Offset", 632 "PositiveOffset_al_r10_r8_plus_3239_Offset", 633 ARRAY_SIZE(kPositiveOffset), 634 kPositiveOffset}, 635 {{al, r7, r0, plus, 1295, Offset}, 636 "al r7 r0 plus 1295 Offset", 637 "PositiveOffset_al_r7_r0_plus_1295_Offset", 638 ARRAY_SIZE(kPositiveOffset), 639 kPositiveOffset}, 640 {{al, r9, r5, plus, 517, Offset}, 641 "al r9 r5 plus 517 Offset", 642 "PositiveOffset_al_r9_r5_plus_517_Offset", 643 ARRAY_SIZE(kPositiveOffset), 644 kPositiveOffset}, 645 {{al, r12, r8, plus, 3071, Offset}, 646 "al r12 r8 plus 3071 Offset", 647 "PositiveOffset_al_r12_r8_plus_3071_Offset", 648 ARRAY_SIZE(kPositiveOffset), 649 kPositiveOffset}, 650 {{al, r5, r6, plus, 3194, Offset}, 651 "al r5 r6 plus 3194 Offset", 652 "PositiveOffset_al_r5_r6_plus_3194_Offset", 653 ARRAY_SIZE(kPositiveOffset), 654 kPositiveOffset}, 655 {{al, r10, r2, plus, 198, Offset}, 656 "al r10 r2 plus 198 Offset", 657 "PositiveOffset_al_r10_r2_plus_198_Offset", 658 ARRAY_SIZE(kPositiveOffset), 659 kPositiveOffset}, 660 {{al, r8, r3, plus, 565, Offset}, 661 "al r8 r3 plus 565 Offset", 662 "PositiveOffset_al_r8_r3_plus_565_Offset", 663 ARRAY_SIZE(kPositiveOffset), 664 kPositiveOffset}, 665 {{al, r7, r0, plus, 3399, Offset}, 666 "al r7 r0 plus 3399 Offset", 667 "PositiveOffset_al_r7_r0_plus_3399_Offset", 668 ARRAY_SIZE(kPositiveOffset), 669 kPositiveOffset}, 670 {{al, r7, r1, plus, 1916, Offset}, 671 "al r7 r1 plus 1916 Offset", 672 "PositiveOffset_al_r7_r1_plus_1916_Offset", 673 ARRAY_SIZE(kPositiveOffset), 674 kPositiveOffset}, 675 {{al, r3, r9, plus, 263, Offset}, 676 "al r3 r9 plus 263 Offset", 677 "PositiveOffset_al_r3_r9_plus_263_Offset", 678 ARRAY_SIZE(kPositiveOffset), 679 kPositiveOffset}, 680 {{al, r3, r1, plus, 3772, Offset}, 681 "al r3 r1 plus 3772 Offset", 682 "PositiveOffset_al_r3_r1_plus_3772_Offset", 683 ARRAY_SIZE(kPositiveOffset), 684 kPositiveOffset}, 685 {{al, r9, r2, plus, 2906, Offset}, 686 "al r9 r2 plus 2906 Offset", 687 "PositiveOffset_al_r9_r2_plus_2906_Offset", 688 ARRAY_SIZE(kPositiveOffset), 689 kPositiveOffset}, 690 {{al, r12, r0, plus, 2451, Offset}, 691 "al r12 r0 plus 2451 Offset", 692 "PositiveOffset_al_r12_r0_plus_2451_Offset", 693 ARRAY_SIZE(kPositiveOffset), 694 kPositiveOffset}, 695 {{al, r8, r0, plus, 689, Offset}, 696 "al r8 r0 plus 689 Offset", 697 "PositiveOffset_al_r8_r0_plus_689_Offset", 698 ARRAY_SIZE(kPositiveOffset), 699 kPositiveOffset}, 700 {{al, r0, r9, plus, 3063, Offset}, 701 "al r0 r9 plus 3063 Offset", 702 "PositiveOffset_al_r0_r9_plus_3063_Offset", 703 ARRAY_SIZE(kPositiveOffset), 704 kPositiveOffset}, 705 {{al, r3, r4, plus, 932, Offset}, 706 "al r3 r4 plus 932 Offset", 707 "PositiveOffset_al_r3_r4_plus_932_Offset", 708 ARRAY_SIZE(kPositiveOffset), 709 kPositiveOffset}, 710 {{al, r12, r10, plus, 704, Offset}, 711 "al r12 r10 plus 704 Offset", 712 "PositiveOffset_al_r12_r10_plus_704_Offset", 713 ARRAY_SIZE(kPositiveOffset), 714 kPositiveOffset}, 715 {{al, r8, r4, plus, 2374, Offset}, 716 "al r8 r4 plus 2374 Offset", 717 "PositiveOffset_al_r8_r4_plus_2374_Offset", 718 ARRAY_SIZE(kPositiveOffset), 719 kPositiveOffset}, 720 {{al, r12, r9, plus, 2345, Offset}, 721 "al r12 r9 plus 2345 Offset", 722 "PositiveOffset_al_r12_r9_plus_2345_Offset", 723 ARRAY_SIZE(kPositiveOffset), 724 kPositiveOffset}, 725 {{al, r6, r1, plus, 2651, Offset}, 726 "al r6 r1 plus 2651 Offset", 727 "PositiveOffset_al_r6_r1_plus_2651_Offset", 728 ARRAY_SIZE(kPositiveOffset), 729 kPositiveOffset}, 730 {{al, r0, r3, plus, 998, Offset}, 731 "al r0 r3 plus 998 Offset", 732 "PositiveOffset_al_r0_r3_plus_998_Offset", 733 ARRAY_SIZE(kPositiveOffset), 734 kPositiveOffset}, 735 {{al, r8, r11, plus, 679, Offset}, 736 "al r8 r11 plus 679 Offset", 737 "PositiveOffset_al_r8_r11_plus_679_Offset", 738 ARRAY_SIZE(kPositiveOffset), 739 kPositiveOffset}, 740 {{al, r5, r1, plus, 2945, Offset}, 741 "al r5 r1 plus 2945 Offset", 742 "PositiveOffset_al_r5_r1_plus_2945_Offset", 743 ARRAY_SIZE(kPositiveOffset), 744 kPositiveOffset}, 745 {{al, r2, r9, plus, 3439, Offset}, 746 "al r2 r9 plus 3439 Offset", 747 "PositiveOffset_al_r2_r9_plus_3439_Offset", 748 ARRAY_SIZE(kPositiveOffset), 749 kPositiveOffset}, 750 {{al, r8, r10, plus, 3636, Offset}, 751 "al r8 r10 plus 3636 Offset", 752 "PositiveOffset_al_r8_r10_plus_3636_Offset", 753 ARRAY_SIZE(kPositiveOffset), 754 kPositiveOffset}, 755 {{al, r11, r12, plus, 3986, Offset}, 756 "al r11 r12 plus 3986 Offset", 757 "PositiveOffset_al_r11_r12_plus_3986_Offset", 758 ARRAY_SIZE(kPositiveOffset), 759 kPositiveOffset}, 760 {{al, r6, r8, plus, 2240, Offset}, 761 "al r6 r8 plus 2240 Offset", 762 "PositiveOffset_al_r6_r8_plus_2240_Offset", 763 ARRAY_SIZE(kPositiveOffset), 764 kPositiveOffset}, 765 {{al, r11, r8, plus, 1961, Offset}, 766 "al r11 r8 plus 1961 Offset", 767 "PositiveOffset_al_r11_r8_plus_1961_Offset", 768 ARRAY_SIZE(kPositiveOffset), 769 kPositiveOffset}, 770 {{al, r5, r6, plus, 1536, Offset}, 771 "al r5 r6 plus 1536 Offset", 772 "PositiveOffset_al_r5_r6_plus_1536_Offset", 773 ARRAY_SIZE(kPositiveOffset), 774 kPositiveOffset}, 775 {{al, r0, r12, plus, 1759, Offset}, 776 "al r0 r12 plus 1759 Offset", 777 "PositiveOffset_al_r0_r12_plus_1759_Offset", 778 ARRAY_SIZE(kPositiveOffset), 779 kPositiveOffset}, 780 {{al, r7, r1, plus, 1266, Offset}, 781 "al r7 r1 plus 1266 Offset", 782 "PositiveOffset_al_r7_r1_plus_1266_Offset", 783 ARRAY_SIZE(kPositiveOffset), 784 kPositiveOffset}, 785 {{al, r1, r4, plus, 1017, Offset}, 786 "al r1 r4 plus 1017 Offset", 787 "PositiveOffset_al_r1_r4_plus_1017_Offset", 788 ARRAY_SIZE(kPositiveOffset), 789 kPositiveOffset}, 790 {{al, r9, r3, plus, 2224, Offset}, 791 "al r9 r3 plus 2224 Offset", 792 "PositiveOffset_al_r9_r3_plus_2224_Offset", 793 ARRAY_SIZE(kPositiveOffset), 794 kPositiveOffset}, 795 {{al, r2, r9, plus, 3078, Offset}, 796 "al r2 r9 plus 3078 Offset", 797 "PositiveOffset_al_r2_r9_plus_3078_Offset", 798 ARRAY_SIZE(kPositiveOffset), 799 kPositiveOffset}, 800 {{al, r7, r2, plus, 2690, Offset}, 801 "al r7 r2 plus 2690 Offset", 802 "PositiveOffset_al_r7_r2_plus_2690_Offset", 803 ARRAY_SIZE(kPositiveOffset), 804 kPositiveOffset}, 805 {{al, r3, r0, plus, 3078, Offset}, 806 "al r3 r0 plus 3078 Offset", 807 "PositiveOffset_al_r3_r0_plus_3078_Offset", 808 ARRAY_SIZE(kPositiveOffset), 809 kPositiveOffset}, 810 {{al, r4, r12, plus, 1017, Offset}, 811 "al r4 r12 plus 1017 Offset", 812 "PositiveOffset_al_r4_r12_plus_1017_Offset", 813 ARRAY_SIZE(kPositiveOffset), 814 kPositiveOffset}, 815 {{al, r0, r5, plus, 3787, Offset}, 816 "al r0 r5 plus 3787 Offset", 817 "PositiveOffset_al_r0_r5_plus_3787_Offset", 818 ARRAY_SIZE(kPositiveOffset), 819 kPositiveOffset}, 820 {{al, r0, r10, plus, 342, Offset}, 821 "al r0 r10 plus 342 Offset", 822 "PositiveOffset_al_r0_r10_plus_342_Offset", 823 ARRAY_SIZE(kPositiveOffset), 824 kPositiveOffset}, 825 {{al, r1, r2, plus, 1097, Offset}, 826 "al r1 r2 plus 1097 Offset", 827 "PositiveOffset_al_r1_r2_plus_1097_Offset", 828 ARRAY_SIZE(kPositiveOffset), 829 kPositiveOffset}, 830 {{al, r11, r8, minus, 4065, Offset}, 831 "al r11 r8 minus 4065 Offset", 832 "NegativeOffset_al_r11_r8_minus_4065_Offset", 833 ARRAY_SIZE(kNegativeOffset), 834 kNegativeOffset}, 835 {{al, r4, r5, minus, 1459, Offset}, 836 "al r4 r5 minus 1459 Offset", 837 "NegativeOffset_al_r4_r5_minus_1459_Offset", 838 ARRAY_SIZE(kNegativeOffset), 839 kNegativeOffset}, 840 {{al, r5, r3, minus, 1867, Offset}, 841 "al r5 r3 minus 1867 Offset", 842 "NegativeOffset_al_r5_r3_minus_1867_Offset", 843 ARRAY_SIZE(kNegativeOffset), 844 kNegativeOffset}, 845 {{al, r11, r9, minus, 1537, Offset}, 846 "al r11 r9 minus 1537 Offset", 847 "NegativeOffset_al_r11_r9_minus_1537_Offset", 848 ARRAY_SIZE(kNegativeOffset), 849 kNegativeOffset}, 850 {{al, r4, r8, minus, 421, Offset}, 851 "al r4 r8 minus 421 Offset", 852 "NegativeOffset_al_r4_r8_minus_421_Offset", 853 ARRAY_SIZE(kNegativeOffset), 854 kNegativeOffset}, 855 {{al, r2, r12, minus, 3625, Offset}, 856 "al r2 r12 minus 3625 Offset", 857 "NegativeOffset_al_r2_r12_minus_3625_Offset", 858 ARRAY_SIZE(kNegativeOffset), 859 kNegativeOffset}, 860 {{al, r14, r1, minus, 1536, Offset}, 861 "al r14 r1 minus 1536 Offset", 862 "NegativeOffset_al_r14_r1_minus_1536_Offset", 863 ARRAY_SIZE(kNegativeOffset), 864 kNegativeOffset}, 865 {{al, r10, r12, minus, 3397, Offset}, 866 "al r10 r12 minus 3397 Offset", 867 "NegativeOffset_al_r10_r12_minus_3397_Offset", 868 ARRAY_SIZE(kNegativeOffset), 869 kNegativeOffset}, 870 {{al, r7, r2, minus, 3450, Offset}, 871 "al r7 r2 minus 3450 Offset", 872 "NegativeOffset_al_r7_r2_minus_3450_Offset", 873 ARRAY_SIZE(kNegativeOffset), 874 kNegativeOffset}, 875 {{al, r10, r14, minus, 1551, Offset}, 876 "al r10 r14 minus 1551 Offset", 877 "NegativeOffset_al_r10_r14_minus_1551_Offset", 878 ARRAY_SIZE(kNegativeOffset), 879 kNegativeOffset}, 880 {{al, r11, r5, minus, 3625, Offset}, 881 "al r11 r5 minus 3625 Offset", 882 "NegativeOffset_al_r11_r5_minus_3625_Offset", 883 ARRAY_SIZE(kNegativeOffset), 884 kNegativeOffset}, 885 {{al, r9, r11, minus, 3633, Offset}, 886 "al r9 r11 minus 3633 Offset", 887 "NegativeOffset_al_r9_r11_minus_3633_Offset", 888 ARRAY_SIZE(kNegativeOffset), 889 kNegativeOffset}, 890 {{al, r9, r6, minus, 2490, Offset}, 891 "al r9 r6 minus 2490 Offset", 892 "NegativeOffset_al_r9_r6_minus_2490_Offset", 893 ARRAY_SIZE(kNegativeOffset), 894 kNegativeOffset}, 895 {{al, r14, r12, minus, 3003, Offset}, 896 "al r14 r12 minus 3003 Offset", 897 "NegativeOffset_al_r14_r12_minus_3003_Offset", 898 ARRAY_SIZE(kNegativeOffset), 899 kNegativeOffset}, 900 {{al, r8, r10, minus, 1848, Offset}, 901 "al r8 r10 minus 1848 Offset", 902 "NegativeOffset_al_r8_r10_minus_1848_Offset", 903 ARRAY_SIZE(kNegativeOffset), 904 kNegativeOffset}, 905 {{al, r9, r6, minus, 342, Offset}, 906 "al r9 r6 minus 342 Offset", 907 "NegativeOffset_al_r9_r6_minus_342_Offset", 908 ARRAY_SIZE(kNegativeOffset), 909 kNegativeOffset}, 910 {{al, r5, r2, minus, 3254, Offset}, 911 "al r5 r2 minus 3254 Offset", 912 "NegativeOffset_al_r5_r2_minus_3254_Offset", 913 ARRAY_SIZE(kNegativeOffset), 914 kNegativeOffset}, 915 {{al, r0, r5, minus, 2233, Offset}, 916 "al r0 r5 minus 2233 Offset", 917 "NegativeOffset_al_r0_r5_minus_2233_Offset", 918 ARRAY_SIZE(kNegativeOffset), 919 kNegativeOffset}, 920 {{al, r2, r1, minus, 3608, Offset}, 921 "al r2 r1 minus 3608 Offset", 922 "NegativeOffset_al_r2_r1_minus_3608_Offset", 923 ARRAY_SIZE(kNegativeOffset), 924 kNegativeOffset}, 925 {{al, r7, r5, minus, 624, Offset}, 926 "al r7 r5 minus 624 Offset", 927 "NegativeOffset_al_r7_r5_minus_624_Offset", 928 ARRAY_SIZE(kNegativeOffset), 929 kNegativeOffset}, 930 {{al, r11, r5, minus, 3774, Offset}, 931 "al r11 r5 minus 3774 Offset", 932 "NegativeOffset_al_r11_r5_minus_3774_Offset", 933 ARRAY_SIZE(kNegativeOffset), 934 kNegativeOffset}, 935 {{al, r3, r6, minus, 2427, Offset}, 936 "al r3 r6 minus 2427 Offset", 937 "NegativeOffset_al_r3_r6_minus_2427_Offset", 938 ARRAY_SIZE(kNegativeOffset), 939 kNegativeOffset}, 940 {{al, r7, r8, minus, 322, Offset}, 941 "al r7 r8 minus 322 Offset", 942 "NegativeOffset_al_r7_r8_minus_322_Offset", 943 ARRAY_SIZE(kNegativeOffset), 944 kNegativeOffset}, 945 {{al, r5, r8, minus, 3626, Offset}, 946 "al r5 r8 minus 3626 Offset", 947 "NegativeOffset_al_r5_r8_minus_3626_Offset", 948 ARRAY_SIZE(kNegativeOffset), 949 kNegativeOffset}, 950 {{al, r3, r11, minus, 1867, Offset}, 951 "al r3 r11 minus 1867 Offset", 952 "NegativeOffset_al_r3_r11_minus_1867_Offset", 953 ARRAY_SIZE(kNegativeOffset), 954 kNegativeOffset}, 955 {{al, r14, r12, minus, 2864, Offset}, 956 "al r14 r12 minus 2864 Offset", 957 "NegativeOffset_al_r14_r12_minus_2864_Offset", 958 ARRAY_SIZE(kNegativeOffset), 959 kNegativeOffset}, 960 {{al, r5, r9, minus, 4018, Offset}, 961 "al r5 r9 minus 4018 Offset", 962 "NegativeOffset_al_r5_r9_minus_4018_Offset", 963 ARRAY_SIZE(kNegativeOffset), 964 kNegativeOffset}, 965 {{al, r3, r2, minus, 1231, Offset}, 966 "al r3 r2 minus 1231 Offset", 967 "NegativeOffset_al_r3_r2_minus_1231_Offset", 968 ARRAY_SIZE(kNegativeOffset), 969 kNegativeOffset}, 970 {{al, r2, r3, minus, 601, Offset}, 971 "al r2 r3 minus 601 Offset", 972 "NegativeOffset_al_r2_r3_minus_601_Offset", 973 ARRAY_SIZE(kNegativeOffset), 974 kNegativeOffset}, 975 {{al, r0, r2, minus, 263, Offset}, 976 "al r0 r2 minus 263 Offset", 977 "NegativeOffset_al_r0_r2_minus_263_Offset", 978 ARRAY_SIZE(kNegativeOffset), 979 kNegativeOffset}, 980 {{al, r5, r8, minus, 1234, Offset}, 981 "al r5 r8 minus 1234 Offset", 982 "NegativeOffset_al_r5_r8_minus_1234_Offset", 983 ARRAY_SIZE(kNegativeOffset), 984 kNegativeOffset}, 985 {{al, r3, r10, minus, 2311, Offset}, 986 "al r3 r10 minus 2311 Offset", 987 "NegativeOffset_al_r3_r10_minus_2311_Offset", 988 ARRAY_SIZE(kNegativeOffset), 989 kNegativeOffset}, 990 {{al, r5, r1, minus, 3714, Offset}, 991 "al r5 r1 minus 3714 Offset", 992 "NegativeOffset_al_r5_r1_minus_3714_Offset", 993 ARRAY_SIZE(kNegativeOffset), 994 kNegativeOffset}, 995 {{al, r5, r1, minus, 1479, Offset}, 996 "al r5 r1 minus 1479 Offset", 997 "NegativeOffset_al_r5_r1_minus_1479_Offset", 998 ARRAY_SIZE(kNegativeOffset), 999 kNegativeOffset}, 1000 {{al, r1, r12, minus, 213, Offset}, 1001 "al r1 r12 minus 213 Offset", 1002 "NegativeOffset_al_r1_r12_minus_213_Offset", 1003 ARRAY_SIZE(kNegativeOffset), 1004 kNegativeOffset}, 1005 {{al, r0, r9, minus, 3071, Offset}, 1006 "al r0 r9 minus 3071 Offset", 1007 "NegativeOffset_al_r0_r9_minus_3071_Offset", 1008 ARRAY_SIZE(kNegativeOffset), 1009 kNegativeOffset}, 1010 {{al, r9, r12, minus, 2, Offset}, 1011 "al r9 r12 minus 2 Offset", 1012 "NegativeOffset_al_r9_r12_minus_2_Offset", 1013 ARRAY_SIZE(kNegativeOffset), 1014 kNegativeOffset}, 1015 {{al, r11, r3, minus, 831, Offset}, 1016 "al r11 r3 minus 831 Offset", 1017 "NegativeOffset_al_r11_r3_minus_831_Offset", 1018 ARRAY_SIZE(kNegativeOffset), 1019 kNegativeOffset}, 1020 {{al, r11, r0, minus, 3443, Offset}, 1021 "al r11 r0 minus 3443 Offset", 1022 "NegativeOffset_al_r11_r0_minus_3443_Offset", 1023 ARRAY_SIZE(kNegativeOffset), 1024 kNegativeOffset}, 1025 {{al, r9, r7, minus, 3256, Offset}, 1026 "al r9 r7 minus 3256 Offset", 1027 "NegativeOffset_al_r9_r7_minus_3256_Offset", 1028 ARRAY_SIZE(kNegativeOffset), 1029 kNegativeOffset}, 1030 {{al, r8, r9, minus, 1372, Offset}, 1031 "al r8 r9 minus 1372 Offset", 1032 "NegativeOffset_al_r8_r9_minus_1372_Offset", 1033 ARRAY_SIZE(kNegativeOffset), 1034 kNegativeOffset}, 1035 {{al, r0, r7, minus, 1665, Offset}, 1036 "al r0 r7 minus 1665 Offset", 1037 "NegativeOffset_al_r0_r7_minus_1665_Offset", 1038 ARRAY_SIZE(kNegativeOffset), 1039 kNegativeOffset}, 1040 {{al, r7, r0, minus, 3325, Offset}, 1041 "al r7 r0 minus 3325 Offset", 1042 "NegativeOffset_al_r7_r0_minus_3325_Offset", 1043 ARRAY_SIZE(kNegativeOffset), 1044 kNegativeOffset}, 1045 {{al, r4, r5, minus, 132, Offset}, 1046 "al r4 r5 minus 132 Offset", 1047 "NegativeOffset_al_r4_r5_minus_132_Offset", 1048 ARRAY_SIZE(kNegativeOffset), 1049 kNegativeOffset}, 1050 {{al, r3, r10, minus, 828, Offset}, 1051 "al r3 r10 minus 828 Offset", 1052 "NegativeOffset_al_r3_r10_minus_828_Offset", 1053 ARRAY_SIZE(kNegativeOffset), 1054 kNegativeOffset}, 1055 {{al, r9, r12, minus, 3002, Offset}, 1056 "al r9 r12 minus 3002 Offset", 1057 "NegativeOffset_al_r9_r12_minus_3002_Offset", 1058 ARRAY_SIZE(kNegativeOffset), 1059 kNegativeOffset}, 1060 {{al, r7, r9, minus, 371, Offset}, 1061 "al r7 r9 minus 371 Offset", 1062 "NegativeOffset_al_r7_r9_minus_371_Offset", 1063 ARRAY_SIZE(kNegativeOffset), 1064 kNegativeOffset}, 1065 {{al, r5, r14, minus, 2326, Offset}, 1066 "al r5 r14 minus 2326 Offset", 1067 "NegativeOffset_al_r5_r14_minus_2326_Offset", 1068 ARRAY_SIZE(kNegativeOffset), 1069 kNegativeOffset}, 1070 {{al, r8, r7, minus, 811, Offset}, 1071 "al r8 r7 minus 811 Offset", 1072 "NegativeOffset_al_r8_r7_minus_811_Offset", 1073 ARRAY_SIZE(kNegativeOffset), 1074 kNegativeOffset}, 1075 {{al, r2, r11, minus, 2946, Offset}, 1076 "al r2 r11 minus 2946 Offset", 1077 "NegativeOffset_al_r2_r11_minus_2946_Offset", 1078 ARRAY_SIZE(kNegativeOffset), 1079 kNegativeOffset}, 1080 {{al, r11, r12, minus, 216, Offset}, 1081 "al r11 r12 minus 216 Offset", 1082 "NegativeOffset_al_r11_r12_minus_216_Offset", 1083 ARRAY_SIZE(kNegativeOffset), 1084 kNegativeOffset}, 1085 {{al, r4, r12, minus, 2651, Offset}, 1086 "al r4 r12 minus 2651 Offset", 1087 "NegativeOffset_al_r4_r12_minus_2651_Offset", 1088 ARRAY_SIZE(kNegativeOffset), 1089 kNegativeOffset}, 1090 {{al, r14, r5, minus, 2072, Offset}, 1091 "al r14 r5 minus 2072 Offset", 1092 "NegativeOffset_al_r14_r5_minus_2072_Offset", 1093 ARRAY_SIZE(kNegativeOffset), 1094 kNegativeOffset}, 1095 {{al, r12, r4, minus, 2690, Offset}, 1096 "al r12 r4 minus 2690 Offset", 1097 "NegativeOffset_al_r12_r4_minus_2690_Offset", 1098 ARRAY_SIZE(kNegativeOffset), 1099 kNegativeOffset}, 1100 {{al, r0, r9, minus, 3041, Offset}, 1101 "al r0 r9 minus 3041 Offset", 1102 "NegativeOffset_al_r0_r9_minus_3041_Offset", 1103 ARRAY_SIZE(kNegativeOffset), 1104 kNegativeOffset}, 1105 {{al, r8, r6, minus, 732, Offset}, 1106 "al r8 r6 minus 732 Offset", 1107 "NegativeOffset_al_r8_r6_minus_732_Offset", 1108 ARRAY_SIZE(kNegativeOffset), 1109 kNegativeOffset}, 1110 {{al, r7, r4, minus, 1567, Offset}, 1111 "al r7 r4 minus 1567 Offset", 1112 "NegativeOffset_al_r7_r4_minus_1567_Offset", 1113 ARRAY_SIZE(kNegativeOffset), 1114 kNegativeOffset}, 1115 {{al, r0, r9, minus, 2036, Offset}, 1116 "al r0 r9 minus 2036 Offset", 1117 "NegativeOffset_al_r0_r9_minus_2036_Offset", 1118 ARRAY_SIZE(kNegativeOffset), 1119 kNegativeOffset}, 1120 {{al, r7, r9, minus, 618, Offset}, 1121 "al r7 r9 minus 618 Offset", 1122 "NegativeOffset_al_r7_r9_minus_618_Offset", 1123 ARRAY_SIZE(kNegativeOffset), 1124 kNegativeOffset}, 1125 {{al, r4, r10, minus, 1437, Offset}, 1126 "al r4 r10 minus 1437 Offset", 1127 "NegativeOffset_al_r4_r10_minus_1437_Offset", 1128 ARRAY_SIZE(kNegativeOffset), 1129 kNegativeOffset}, 1130 {{al, r4, r9, minus, 3105, Offset}, 1131 "al r4 r9 minus 3105 Offset", 1132 "NegativeOffset_al_r4_r9_minus_3105_Offset", 1133 ARRAY_SIZE(kNegativeOffset), 1134 kNegativeOffset}, 1135 {{al, r5, r6, minus, 1116, Offset}, 1136 "al r5 r6 minus 1116 Offset", 1137 "NegativeOffset_al_r5_r6_minus_1116_Offset", 1138 ARRAY_SIZE(kNegativeOffset), 1139 kNegativeOffset}, 1140 {{al, r2, r0, minus, 2892, Offset}, 1141 "al r2 r0 minus 2892 Offset", 1142 "NegativeOffset_al_r2_r0_minus_2892_Offset", 1143 ARRAY_SIZE(kNegativeOffset), 1144 kNegativeOffset}, 1145 {{al, r1, r8, minus, 3069, Offset}, 1146 "al r1 r8 minus 3069 Offset", 1147 "NegativeOffset_al_r1_r8_minus_3069_Offset", 1148 ARRAY_SIZE(kNegativeOffset), 1149 kNegativeOffset}, 1150 {{al, r3, r2, minus, 1498, Offset}, 1151 "al r3 r2 minus 1498 Offset", 1152 "NegativeOffset_al_r3_r2_minus_1498_Offset", 1153 ARRAY_SIZE(kNegativeOffset), 1154 kNegativeOffset}, 1155 {{al, r5, r9, minus, 1999, Offset}, 1156 "al r5 r9 minus 1999 Offset", 1157 "NegativeOffset_al_r5_r9_minus_1999_Offset", 1158 ARRAY_SIZE(kNegativeOffset), 1159 kNegativeOffset}, 1160 {{al, r5, r6, minus, 2588, Offset}, 1161 "al r5 r6 minus 2588 Offset", 1162 "NegativeOffset_al_r5_r6_minus_2588_Offset", 1163 ARRAY_SIZE(kNegativeOffset), 1164 kNegativeOffset}, 1165 {{al, r5, r12, minus, 2792, Offset}, 1166 "al r5 r12 minus 2792 Offset", 1167 "NegativeOffset_al_r5_r12_minus_2792_Offset", 1168 ARRAY_SIZE(kNegativeOffset), 1169 kNegativeOffset}, 1170 {{al, r7, r10, minus, 251, Offset}, 1171 "al r7 r10 minus 251 Offset", 1172 "NegativeOffset_al_r7_r10_minus_251_Offset", 1173 ARRAY_SIZE(kNegativeOffset), 1174 kNegativeOffset}, 1175 {{al, r6, r8, minus, 3696, Offset}, 1176 "al r6 r8 minus 3696 Offset", 1177 "NegativeOffset_al_r6_r8_minus_3696_Offset", 1178 ARRAY_SIZE(kNegativeOffset), 1179 kNegativeOffset}, 1180 {{al, r7, r6, minus, 3856, Offset}, 1181 "al r7 r6 minus 3856 Offset", 1182 "NegativeOffset_al_r7_r6_minus_3856_Offset", 1183 ARRAY_SIZE(kNegativeOffset), 1184 kNegativeOffset}, 1185 {{al, r9, r6, minus, 233, Offset}, 1186 "al r9 r6 minus 233 Offset", 1187 "NegativeOffset_al_r9_r6_minus_233_Offset", 1188 ARRAY_SIZE(kNegativeOffset), 1189 kNegativeOffset}, 1190 {{al, r6, r5, minus, 3366, Offset}, 1191 "al r6 r5 minus 3366 Offset", 1192 "NegativeOffset_al_r6_r5_minus_3366_Offset", 1193 ARRAY_SIZE(kNegativeOffset), 1194 kNegativeOffset}, 1195 {{al, r8, r3, minus, 2359, Offset}, 1196 "al r8 r3 minus 2359 Offset", 1197 "NegativeOffset_al_r8_r3_minus_2359_Offset", 1198 ARRAY_SIZE(kNegativeOffset), 1199 kNegativeOffset}, 1200 {{al, r4, r9, minus, 2866, Offset}, 1201 "al r4 r9 minus 2866 Offset", 1202 "NegativeOffset_al_r4_r9_minus_2866_Offset", 1203 ARRAY_SIZE(kNegativeOffset), 1204 kNegativeOffset}, 1205 {{al, r6, r3, minus, 2381, Offset}, 1206 "al r6 r3 minus 2381 Offset", 1207 "NegativeOffset_al_r6_r3_minus_2381_Offset", 1208 ARRAY_SIZE(kNegativeOffset), 1209 kNegativeOffset}, 1210 {{al, r5, r3, minus, 3221, Offset}, 1211 "al r5 r3 minus 3221 Offset", 1212 "NegativeOffset_al_r5_r3_minus_3221_Offset", 1213 ARRAY_SIZE(kNegativeOffset), 1214 kNegativeOffset}, 1215 {{al, r10, r8, minus, 2036, Offset}, 1216 "al r10 r8 minus 2036 Offset", 1217 "NegativeOffset_al_r10_r8_minus_2036_Offset", 1218 ARRAY_SIZE(kNegativeOffset), 1219 kNegativeOffset}, 1220 {{al, r4, r0, minus, 2591, Offset}, 1221 "al r4 r0 minus 2591 Offset", 1222 "NegativeOffset_al_r4_r0_minus_2591_Offset", 1223 ARRAY_SIZE(kNegativeOffset), 1224 kNegativeOffset}, 1225 {{al, r4, r10, minus, 2040, Offset}, 1226 "al r4 r10 minus 2040 Offset", 1227 "NegativeOffset_al_r4_r10_minus_2040_Offset", 1228 ARRAY_SIZE(kNegativeOffset), 1229 kNegativeOffset}, 1230 {{al, r9, r7, minus, 2929, Offset}, 1231 "al r9 r7 minus 2929 Offset", 1232 "NegativeOffset_al_r9_r7_minus_2929_Offset", 1233 ARRAY_SIZE(kNegativeOffset), 1234 kNegativeOffset}, 1235 {{al, r1, r14, minus, 1867, Offset}, 1236 "al r1 r14 minus 1867 Offset", 1237 "NegativeOffset_al_r1_r14_minus_1867_Offset", 1238 ARRAY_SIZE(kNegativeOffset), 1239 kNegativeOffset}, 1240 {{al, r9, r0, minus, 2945, Offset}, 1241 "al r9 r0 minus 2945 Offset", 1242 "NegativeOffset_al_r9_r0_minus_2945_Offset", 1243 ARRAY_SIZE(kNegativeOffset), 1244 kNegativeOffset}, 1245 {{al, r14, r3, minus, 2403, Offset}, 1246 "al r14 r3 minus 2403 Offset", 1247 "NegativeOffset_al_r14_r3_minus_2403_Offset", 1248 ARRAY_SIZE(kNegativeOffset), 1249 kNegativeOffset}, 1250 {{al, r12, r8, minus, 1999, Offset}, 1251 "al r12 r8 minus 1999 Offset", 1252 "NegativeOffset_al_r12_r8_minus_1999_Offset", 1253 ARRAY_SIZE(kNegativeOffset), 1254 kNegativeOffset}, 1255 {{al, r9, r5, minus, 3994, Offset}, 1256 "al r9 r5 minus 3994 Offset", 1257 "NegativeOffset_al_r9_r5_minus_3994_Offset", 1258 ARRAY_SIZE(kNegativeOffset), 1259 kNegativeOffset}, 1260 {{al, r14, r3, minus, 2180, Offset}, 1261 "al r14 r3 minus 2180 Offset", 1262 "NegativeOffset_al_r14_r3_minus_2180_Offset", 1263 ARRAY_SIZE(kNegativeOffset), 1264 kNegativeOffset}, 1265 {{al, r1, r5, minus, 3914, Offset}, 1266 "al r1 r5 minus 3914 Offset", 1267 "NegativeOffset_al_r1_r5_minus_3914_Offset", 1268 ARRAY_SIZE(kNegativeOffset), 1269 kNegativeOffset}, 1270 {{al, r4, r10, minus, 3079, Offset}, 1271 "al r4 r10 minus 3079 Offset", 1272 "NegativeOffset_al_r4_r10_minus_3079_Offset", 1273 ARRAY_SIZE(kNegativeOffset), 1274 kNegativeOffset}, 1275 {{al, r8, r14, minus, 3266, Offset}, 1276 "al r8 r14 minus 3266 Offset", 1277 "NegativeOffset_al_r8_r14_minus_3266_Offset", 1278 ARRAY_SIZE(kNegativeOffset), 1279 kNegativeOffset}, 1280 {{al, r4, r11, minus, 1732, Offset}, 1281 "al r4 r11 minus 1732 Offset", 1282 "NegativeOffset_al_r4_r11_minus_1732_Offset", 1283 ARRAY_SIZE(kNegativeOffset), 1284 kNegativeOffset}, 1285 {{al, r11, r5, minus, 806, Offset}, 1286 "al r11 r5 minus 806 Offset", 1287 "NegativeOffset_al_r11_r5_minus_806_Offset", 1288 ARRAY_SIZE(kNegativeOffset), 1289 kNegativeOffset}, 1290 {{al, r9, r7, minus, 3039, Offset}, 1291 "al r9 r7 minus 3039 Offset", 1292 "NegativeOffset_al_r9_r7_minus_3039_Offset", 1293 ARRAY_SIZE(kNegativeOffset), 1294 kNegativeOffset}, 1295 {{al, r12, r9, minus, 2453, Offset}, 1296 "al r12 r9 minus 2453 Offset", 1297 "NegativeOffset_al_r12_r9_minus_2453_Offset", 1298 ARRAY_SIZE(kNegativeOffset), 1299 kNegativeOffset}, 1300 {{al, r0, r7, minus, 3626, Offset}, 1301 "al r0 r7 minus 3626 Offset", 1302 "NegativeOffset_al_r0_r7_minus_3626_Offset", 1303 ARRAY_SIZE(kNegativeOffset), 1304 kNegativeOffset}, 1305 {{al, r3, r11, minus, 1981, Offset}, 1306 "al r3 r11 minus 1981 Offset", 1307 "NegativeOffset_al_r3_r11_minus_1981_Offset", 1308 ARRAY_SIZE(kNegativeOffset), 1309 kNegativeOffset}, 1310 {{al, r2, r8, minus, 3082, Offset}, 1311 "al r2 r8 minus 3082 Offset", 1312 "NegativeOffset_al_r2_r8_minus_3082_Offset", 1313 ARRAY_SIZE(kNegativeOffset), 1314 kNegativeOffset}, 1315 {{al, r1, r11, minus, 3608, Offset}, 1316 "al r1 r11 minus 3608 Offset", 1317 "NegativeOffset_al_r1_r11_minus_3608_Offset", 1318 ARRAY_SIZE(kNegativeOffset), 1319 kNegativeOffset}, 1320 {{al, r5, r11, minus, 3391, Offset}, 1321 "al r5 r11 minus 3391 Offset", 1322 "NegativeOffset_al_r5_r11_minus_3391_Offset", 1323 ARRAY_SIZE(kNegativeOffset), 1324 kNegativeOffset}, 1325 {{al, r7, r12, minus, 872, Offset}, 1326 "al r7 r12 minus 872 Offset", 1327 "NegativeOffset_al_r7_r12_minus_872_Offset", 1328 ARRAY_SIZE(kNegativeOffset), 1329 kNegativeOffset}, 1330 {{al, r14, r11, plus, 1506, PostIndex}, 1331 "al r14 r11 plus 1506 PostIndex", 1332 "PositivePostIndex_al_r14_r11_plus_1506_PostIndex", 1333 ARRAY_SIZE(kPositivePostIndex), 1334 kPositivePostIndex}, 1335 {{al, r7, r14, plus, 3399, PostIndex}, 1336 "al r7 r14 plus 3399 PostIndex", 1337 "PositivePostIndex_al_r7_r14_plus_3399_PostIndex", 1338 ARRAY_SIZE(kPositivePostIndex), 1339 kPositivePostIndex}, 1340 {{al, r11, r6, plus, 2588, PostIndex}, 1341 "al r11 r6 plus 2588 PostIndex", 1342 "PositivePostIndex_al_r11_r6_plus_2588_PostIndex", 1343 ARRAY_SIZE(kPositivePostIndex), 1344 kPositivePostIndex}, 1345 {{al, r4, r9, plus, 2906, PostIndex}, 1346 "al r4 r9 plus 2906 PostIndex", 1347 "PositivePostIndex_al_r4_r9_plus_2906_PostIndex", 1348 ARRAY_SIZE(kPositivePostIndex), 1349 kPositivePostIndex}, 1350 {{al, r4, r8, plus, 1916, PostIndex}, 1351 "al r4 r8 plus 1916 PostIndex", 1352 "PositivePostIndex_al_r4_r8_plus_1916_PostIndex", 1353 ARRAY_SIZE(kPositivePostIndex), 1354 kPositivePostIndex}, 1355 {{al, r6, r0, plus, 1835, PostIndex}, 1356 "al r6 r0 plus 1835 PostIndex", 1357 "PositivePostIndex_al_r6_r0_plus_1835_PostIndex", 1358 ARRAY_SIZE(kPositivePostIndex), 1359 kPositivePostIndex}, 1360 {{al, r1, r14, plus, 2984, PostIndex}, 1361 "al r1 r14 plus 2984 PostIndex", 1362 "PositivePostIndex_al_r1_r14_plus_2984_PostIndex", 1363 ARRAY_SIZE(kPositivePostIndex), 1364 kPositivePostIndex}, 1365 {{al, r9, r12, plus, 3994, PostIndex}, 1366 "al r9 r12 plus 3994 PostIndex", 1367 "PositivePostIndex_al_r9_r12_plus_3994_PostIndex", 1368 ARRAY_SIZE(kPositivePostIndex), 1369 kPositivePostIndex}, 1370 {{al, r10, r5, plus, 766, PostIndex}, 1371 "al r10 r5 plus 766 PostIndex", 1372 "PositivePostIndex_al_r10_r5_plus_766_PostIndex", 1373 ARRAY_SIZE(kPositivePostIndex), 1374 kPositivePostIndex}, 1375 {{al, r5, r9, plus, 188, PostIndex}, 1376 "al r5 r9 plus 188 PostIndex", 1377 "PositivePostIndex_al_r5_r9_plus_188_PostIndex", 1378 ARRAY_SIZE(kPositivePostIndex), 1379 kPositivePostIndex}, 1380 {{al, r11, r14, plus, 479, PostIndex}, 1381 "al r11 r14 plus 479 PostIndex", 1382 "PositivePostIndex_al_r11_r14_plus_479_PostIndex", 1383 ARRAY_SIZE(kPositivePostIndex), 1384 kPositivePostIndex}, 1385 {{al, r6, r14, plus, 2797, PostIndex}, 1386 "al r6 r14 plus 2797 PostIndex", 1387 "PositivePostIndex_al_r6_r14_plus_2797_PostIndex", 1388 ARRAY_SIZE(kPositivePostIndex), 1389 kPositivePostIndex}, 1390 {{al, r5, r8, plus, 3170, PostIndex}, 1391 "al r5 r8 plus 3170 PostIndex", 1392 "PositivePostIndex_al_r5_r8_plus_3170_PostIndex", 1393 ARRAY_SIZE(kPositivePostIndex), 1394 kPositivePostIndex}, 1395 {{al, r0, r2, plus, 663, PostIndex}, 1396 "al r0 r2 plus 663 PostIndex", 1397 "PositivePostIndex_al_r0_r2_plus_663_PostIndex", 1398 ARRAY_SIZE(kPositivePostIndex), 1399 kPositivePostIndex}, 1400 {{al, r14, r0, plus, 1097, PostIndex}, 1401 "al r14 r0 plus 1097 PostIndex", 1402 "PositivePostIndex_al_r14_r0_plus_1097_PostIndex", 1403 ARRAY_SIZE(kPositivePostIndex), 1404 kPositivePostIndex}, 1405 {{al, r0, r7, plus, 3481, PostIndex}, 1406 "al r0 r7 plus 3481 PostIndex", 1407 "PositivePostIndex_al_r0_r7_plus_3481_PostIndex", 1408 ARRAY_SIZE(kPositivePostIndex), 1409 kPositivePostIndex}, 1410 {{al, r5, r2, plus, 2183, PostIndex}, 1411 "al r5 r2 plus 2183 PostIndex", 1412 "PositivePostIndex_al_r5_r2_plus_2183_PostIndex", 1413 ARRAY_SIZE(kPositivePostIndex), 1414 kPositivePostIndex}, 1415 {{al, r7, r4, plus, 1948, PostIndex}, 1416 "al r7 r4 plus 1948 PostIndex", 1417 "PositivePostIndex_al_r7_r4_plus_1948_PostIndex", 1418 ARRAY_SIZE(kPositivePostIndex), 1419 kPositivePostIndex}, 1420 {{al, r3, r12, plus, 2047, PostIndex}, 1421 "al r3 r12 plus 2047 PostIndex", 1422 "PositivePostIndex_al_r3_r12_plus_2047_PostIndex", 1423 ARRAY_SIZE(kPositivePostIndex), 1424 kPositivePostIndex}, 1425 {{al, r4, r0, plus, 2451, PostIndex}, 1426 "al r4 r0 plus 2451 PostIndex", 1427 "PositivePostIndex_al_r4_r0_plus_2451_PostIndex", 1428 ARRAY_SIZE(kPositivePostIndex), 1429 kPositivePostIndex}, 1430 {{al, r1, r4, plus, 3057, PostIndex}, 1431 "al r1 r4 plus 3057 PostIndex", 1432 "PositivePostIndex_al_r1_r4_plus_3057_PostIndex", 1433 ARRAY_SIZE(kPositivePostIndex), 1434 kPositivePostIndex}, 1435 {{al, r6, r9, plus, 3308, PostIndex}, 1436 "al r6 r9 plus 3308 PostIndex", 1437 "PositivePostIndex_al_r6_r9_plus_3308_PostIndex", 1438 ARRAY_SIZE(kPositivePostIndex), 1439 kPositivePostIndex}, 1440 {{al, r0, r14, plus, 2677, PostIndex}, 1441 "al r0 r14 plus 2677 PostIndex", 1442 "PositivePostIndex_al_r0_r14_plus_2677_PostIndex", 1443 ARRAY_SIZE(kPositivePostIndex), 1444 kPositivePostIndex}, 1445 {{al, r3, r1, plus, 1601, PostIndex}, 1446 "al r3 r1 plus 1601 PostIndex", 1447 "PositivePostIndex_al_r3_r1_plus_1601_PostIndex", 1448 ARRAY_SIZE(kPositivePostIndex), 1449 kPositivePostIndex}, 1450 {{al, r2, r1, plus, 662, PostIndex}, 1451 "al r2 r1 plus 662 PostIndex", 1452 "PositivePostIndex_al_r2_r1_plus_662_PostIndex", 1453 ARRAY_SIZE(kPositivePostIndex), 1454 kPositivePostIndex}, 1455 {{al, r3, r2, plus, 1485, PostIndex}, 1456 "al r3 r2 plus 1485 PostIndex", 1457 "PositivePostIndex_al_r3_r2_plus_1485_PostIndex", 1458 ARRAY_SIZE(kPositivePostIndex), 1459 kPositivePostIndex}, 1460 {{al, r7, r3, plus, 3413, PostIndex}, 1461 "al r7 r3 plus 3413 PostIndex", 1462 "PositivePostIndex_al_r7_r3_plus_3413_PostIndex", 1463 ARRAY_SIZE(kPositivePostIndex), 1464 kPositivePostIndex}, 1465 {{al, r9, r4, plus, 2175, PostIndex}, 1466 "al r9 r4 plus 2175 PostIndex", 1467 "PositivePostIndex_al_r9_r4_plus_2175_PostIndex", 1468 ARRAY_SIZE(kPositivePostIndex), 1469 kPositivePostIndex}, 1470 {{al, r1, r2, plus, 3517, PostIndex}, 1471 "al r1 r2 plus 3517 PostIndex", 1472 "PositivePostIndex_al_r1_r2_plus_3517_PostIndex", 1473 ARRAY_SIZE(kPositivePostIndex), 1474 kPositivePostIndex}, 1475 {{al, r8, r6, plus, 2535, PostIndex}, 1476 "al r8 r6 plus 2535 PostIndex", 1477 "PositivePostIndex_al_r8_r6_plus_2535_PostIndex", 1478 ARRAY_SIZE(kPositivePostIndex), 1479 kPositivePostIndex}, 1480 {{al, r12, r2, plus, 2982, PostIndex}, 1481 "al r12 r2 plus 2982 PostIndex", 1482 "PositivePostIndex_al_r12_r2_plus_2982_PostIndex", 1483 ARRAY_SIZE(kPositivePostIndex), 1484 kPositivePostIndex}, 1485 {{al, r0, r5, plus, 1867, PostIndex}, 1486 "al r0 r5 plus 1867 PostIndex", 1487 "PositivePostIndex_al_r0_r5_plus_1867_PostIndex", 1488 ARRAY_SIZE(kPositivePostIndex), 1489 kPositivePostIndex}, 1490 {{al, r11, r1, plus, 3209, PostIndex}, 1491 "al r11 r1 plus 3209 PostIndex", 1492 "PositivePostIndex_al_r11_r1_plus_3209_PostIndex", 1493 ARRAY_SIZE(kPositivePostIndex), 1494 kPositivePostIndex}, 1495 {{al, r6, r10, plus, 977, PostIndex}, 1496 "al r6 r10 plus 977 PostIndex", 1497 "PositivePostIndex_al_r6_r10_plus_977_PostIndex", 1498 ARRAY_SIZE(kPositivePostIndex), 1499 kPositivePostIndex}, 1500 {{al, r0, r5, plus, 3239, PostIndex}, 1501 "al r0 r5 plus 3239 PostIndex", 1502 "PositivePostIndex_al_r0_r5_plus_3239_PostIndex", 1503 ARRAY_SIZE(kPositivePostIndex), 1504 kPositivePostIndex}, 1505 {{al, r7, r0, plus, 1808, PostIndex}, 1506 "al r7 r0 plus 1808 PostIndex", 1507 "PositivePostIndex_al_r7_r0_plus_1808_PostIndex", 1508 ARRAY_SIZE(kPositivePostIndex), 1509 kPositivePostIndex}, 1510 {{al, r6, r7, plus, 3787, PostIndex}, 1511 "al r6 r7 plus 3787 PostIndex", 1512 "PositivePostIndex_al_r6_r7_plus_3787_PostIndex", 1513 ARRAY_SIZE(kPositivePostIndex), 1514 kPositivePostIndex}, 1515 {{al, r4, r7, plus, 678, PostIndex}, 1516 "al r4 r7 plus 678 PostIndex", 1517 "PositivePostIndex_al_r4_r7_plus_678_PostIndex", 1518 ARRAY_SIZE(kPositivePostIndex), 1519 kPositivePostIndex}, 1520 {{al, r7, r9, plus, 4090, PostIndex}, 1521 "al r7 r9 plus 4090 PostIndex", 1522 "PositivePostIndex_al_r7_r9_plus_4090_PostIndex", 1523 ARRAY_SIZE(kPositivePostIndex), 1524 kPositivePostIndex}, 1525 {{al, r0, r2, plus, 1438, PostIndex}, 1526 "al r0 r2 plus 1438 PostIndex", 1527 "PositivePostIndex_al_r0_r2_plus_1438_PostIndex", 1528 ARRAY_SIZE(kPositivePostIndex), 1529 kPositivePostIndex}, 1530 {{al, r2, r5, plus, 3195, PostIndex}, 1531 "al r2 r5 plus 3195 PostIndex", 1532 "PositivePostIndex_al_r2_r5_plus_3195_PostIndex", 1533 ARRAY_SIZE(kPositivePostIndex), 1534 kPositivePostIndex}, 1535 {{al, r8, r2, plus, 1922, PostIndex}, 1536 "al r8 r2 plus 1922 PostIndex", 1537 "PositivePostIndex_al_r8_r2_plus_1922_PostIndex", 1538 ARRAY_SIZE(kPositivePostIndex), 1539 kPositivePostIndex}, 1540 {{al, r8, r1, plus, 4095, PostIndex}, 1541 "al r8 r1 plus 4095 PostIndex", 1542 "PositivePostIndex_al_r8_r1_plus_4095_PostIndex", 1543 ARRAY_SIZE(kPositivePostIndex), 1544 kPositivePostIndex}, 1545 {{al, r1, r9, plus, 1261, PostIndex}, 1546 "al r1 r9 plus 1261 PostIndex", 1547 "PositivePostIndex_al_r1_r9_plus_1261_PostIndex", 1548 ARRAY_SIZE(kPositivePostIndex), 1549 kPositivePostIndex}, 1550 {{al, r12, r11, plus, 2718, PostIndex}, 1551 "al r12 r11 plus 2718 PostIndex", 1552 "PositivePostIndex_al_r12_r11_plus_2718_PostIndex", 1553 ARRAY_SIZE(kPositivePostIndex), 1554 kPositivePostIndex}, 1555 {{al, r9, r0, plus, 132, PostIndex}, 1556 "al r9 r0 plus 132 PostIndex", 1557 "PositivePostIndex_al_r9_r0_plus_132_PostIndex", 1558 ARRAY_SIZE(kPositivePostIndex), 1559 kPositivePostIndex}, 1560 {{al, r11, r5, plus, 1601, PostIndex}, 1561 "al r11 r5 plus 1601 PostIndex", 1562 "PositivePostIndex_al_r11_r5_plus_1601_PostIndex", 1563 ARRAY_SIZE(kPositivePostIndex), 1564 kPositivePostIndex}, 1565 {{al, r14, r4, plus, 19, PostIndex}, 1566 "al r14 r4 plus 19 PostIndex", 1567 "PositivePostIndex_al_r14_r4_plus_19_PostIndex", 1568 ARRAY_SIZE(kPositivePostIndex), 1569 kPositivePostIndex}, 1570 {{al, r6, r0, plus, 386, PostIndex}, 1571 "al r6 r0 plus 386 PostIndex", 1572 "PositivePostIndex_al_r6_r0_plus_386_PostIndex", 1573 ARRAY_SIZE(kPositivePostIndex), 1574 kPositivePostIndex}, 1575 {{al, r14, r2, plus, 672, PostIndex}, 1576 "al r14 r2 plus 672 PostIndex", 1577 "PositivePostIndex_al_r14_r2_plus_672_PostIndex", 1578 ARRAY_SIZE(kPositivePostIndex), 1579 kPositivePostIndex}, 1580 {{al, r1, r10, plus, 3626, PostIndex}, 1581 "al r1 r10 plus 3626 PostIndex", 1582 "PositivePostIndex_al_r1_r10_plus_3626_PostIndex", 1583 ARRAY_SIZE(kPositivePostIndex), 1584 kPositivePostIndex}, 1585 {{al, r9, r14, plus, 2813, PostIndex}, 1586 "al r9 r14 plus 2813 PostIndex", 1587 "PositivePostIndex_al_r9_r14_plus_2813_PostIndex", 1588 ARRAY_SIZE(kPositivePostIndex), 1589 kPositivePostIndex}, 1590 {{al, r9, r3, plus, 2091, PostIndex}, 1591 "al r9 r3 plus 2091 PostIndex", 1592 "PositivePostIndex_al_r9_r3_plus_2091_PostIndex", 1593 ARRAY_SIZE(kPositivePostIndex), 1594 kPositivePostIndex}, 1595 {{al, r5, r3, plus, 932, PostIndex}, 1596 "al r5 r3 plus 932 PostIndex", 1597 "PositivePostIndex_al_r5_r3_plus_932_PostIndex", 1598 ARRAY_SIZE(kPositivePostIndex), 1599 kPositivePostIndex}, 1600 {{al, r0, r8, plus, 970, PostIndex}, 1601 "al r0 r8 plus 970 PostIndex", 1602 "PositivePostIndex_al_r0_r8_plus_970_PostIndex", 1603 ARRAY_SIZE(kPositivePostIndex), 1604 kPositivePostIndex}, 1605 {{al, r0, r5, plus, 3610, PostIndex}, 1606 "al r0 r5 plus 3610 PostIndex", 1607 "PositivePostIndex_al_r0_r5_plus_3610_PostIndex", 1608 ARRAY_SIZE(kPositivePostIndex), 1609 kPositivePostIndex}, 1610 {{al, r1, r5, plus, 2180, PostIndex}, 1611 "al r1 r5 plus 2180 PostIndex", 1612 "PositivePostIndex_al_r1_r5_plus_2180_PostIndex", 1613 ARRAY_SIZE(kPositivePostIndex), 1614 kPositivePostIndex}, 1615 {{al, r9, r6, plus, 3397, PostIndex}, 1616 "al r9 r6 plus 3397 PostIndex", 1617 "PositivePostIndex_al_r9_r6_plus_3397_PostIndex", 1618 ARRAY_SIZE(kPositivePostIndex), 1619 kPositivePostIndex}, 1620 {{al, r14, r8, plus, 3063, PostIndex}, 1621 "al r14 r8 plus 3063 PostIndex", 1622 "PositivePostIndex_al_r14_r8_plus_3063_PostIndex", 1623 ARRAY_SIZE(kPositivePostIndex), 1624 kPositivePostIndex}, 1625 {{al, r10, r3, plus, 3028, PostIndex}, 1626 "al r10 r3 plus 3028 PostIndex", 1627 "PositivePostIndex_al_r10_r3_plus_3028_PostIndex", 1628 ARRAY_SIZE(kPositivePostIndex), 1629 kPositivePostIndex}, 1630 {{al, r7, r4, plus, 1099, PostIndex}, 1631 "al r7 r4 plus 1099 PostIndex", 1632 "PositivePostIndex_al_r7_r4_plus_1099_PostIndex", 1633 ARRAY_SIZE(kPositivePostIndex), 1634 kPositivePostIndex}, 1635 {{al, r2, r5, plus, 2175, PostIndex}, 1636 "al r2 r5 plus 2175 PostIndex", 1637 "PositivePostIndex_al_r2_r5_plus_2175_PostIndex", 1638 ARRAY_SIZE(kPositivePostIndex), 1639 kPositivePostIndex}, 1640 {{al, r8, r12, plus, 3221, PostIndex}, 1641 "al r8 r12 plus 3221 PostIndex", 1642 "PositivePostIndex_al_r8_r12_plus_3221_PostIndex", 1643 ARRAY_SIZE(kPositivePostIndex), 1644 kPositivePostIndex}, 1645 {{al, r4, r1, plus, 2475, PostIndex}, 1646 "al r4 r1 plus 2475 PostIndex", 1647 "PositivePostIndex_al_r4_r1_plus_2475_PostIndex", 1648 ARRAY_SIZE(kPositivePostIndex), 1649 kPositivePostIndex}, 1650 {{al, r9, r11, plus, 1009, PostIndex}, 1651 "al r9 r11 plus 1009 PostIndex", 1652 "PositivePostIndex_al_r9_r11_plus_1009_PostIndex", 1653 ARRAY_SIZE(kPositivePostIndex), 1654 kPositivePostIndex}, 1655 {{al, r9, r1, plus, 1526, PostIndex}, 1656 "al r9 r1 plus 1526 PostIndex", 1657 "PositivePostIndex_al_r9_r1_plus_1526_PostIndex", 1658 ARRAY_SIZE(kPositivePostIndex), 1659 kPositivePostIndex}, 1660 {{al, r2, r11, plus, 282, PostIndex}, 1661 "al r2 r11 plus 282 PostIndex", 1662 "PositivePostIndex_al_r2_r11_plus_282_PostIndex", 1663 ARRAY_SIZE(kPositivePostIndex), 1664 kPositivePostIndex}, 1665 {{al, r10, r11, plus, 3583, PostIndex}, 1666 "al r10 r11 plus 3583 PostIndex", 1667 "PositivePostIndex_al_r10_r11_plus_3583_PostIndex", 1668 ARRAY_SIZE(kPositivePostIndex), 1669 kPositivePostIndex}, 1670 {{al, r11, r6, plus, 3209, PostIndex}, 1671 "al r11 r6 plus 3209 PostIndex", 1672 "PositivePostIndex_al_r11_r6_plus_3209_PostIndex", 1673 ARRAY_SIZE(kPositivePostIndex), 1674 kPositivePostIndex}, 1675 {{al, r7, r8, plus, 1736, PostIndex}, 1676 "al r7 r8 plus 1736 PostIndex", 1677 "PositivePostIndex_al_r7_r8_plus_1736_PostIndex", 1678 ARRAY_SIZE(kPositivePostIndex), 1679 kPositivePostIndex}, 1680 {{al, r3, r8, plus, 1542, PostIndex}, 1681 "al r3 r8 plus 1542 PostIndex", 1682 "PositivePostIndex_al_r3_r8_plus_1542_PostIndex", 1683 ARRAY_SIZE(kPositivePostIndex), 1684 kPositivePostIndex}, 1685 {{al, r14, r4, plus, 180, PostIndex}, 1686 "al r14 r4 plus 180 PostIndex", 1687 "PositivePostIndex_al_r14_r4_plus_180_PostIndex", 1688 ARRAY_SIZE(kPositivePostIndex), 1689 kPositivePostIndex}, 1690 {{al, r1, r5, plus, 3076, PostIndex}, 1691 "al r1 r5 plus 3076 PostIndex", 1692 "PositivePostIndex_al_r1_r5_plus_3076_PostIndex", 1693 ARRAY_SIZE(kPositivePostIndex), 1694 kPositivePostIndex}, 1695 {{al, r8, r2, plus, 2541, PostIndex}, 1696 "al r8 r2 plus 2541 PostIndex", 1697 "PositivePostIndex_al_r8_r2_plus_2541_PostIndex", 1698 ARRAY_SIZE(kPositivePostIndex), 1699 kPositivePostIndex}, 1700 {{al, r4, r2, plus, 2946, PostIndex}, 1701 "al r4 r2 plus 2946 PostIndex", 1702 "PositivePostIndex_al_r4_r2_plus_2946_PostIndex", 1703 ARRAY_SIZE(kPositivePostIndex), 1704 kPositivePostIndex}, 1705 {{al, r1, r6, plus, 3743, PostIndex}, 1706 "al r1 r6 plus 3743 PostIndex", 1707 "PositivePostIndex_al_r1_r6_plus_3743_PostIndex", 1708 ARRAY_SIZE(kPositivePostIndex), 1709 kPositivePostIndex}, 1710 {{al, r2, r8, plus, 3907, PostIndex}, 1711 "al r2 r8 plus 3907 PostIndex", 1712 "PositivePostIndex_al_r2_r8_plus_3907_PostIndex", 1713 ARRAY_SIZE(kPositivePostIndex), 1714 kPositivePostIndex}, 1715 {{al, r3, r9, plus, 791, PostIndex}, 1716 "al r3 r9 plus 791 PostIndex", 1717 "PositivePostIndex_al_r3_r9_plus_791_PostIndex", 1718 ARRAY_SIZE(kPositivePostIndex), 1719 kPositivePostIndex}, 1720 {{al, r12, r5, plus, 3636, PostIndex}, 1721 "al r12 r5 plus 3636 PostIndex", 1722 "PositivePostIndex_al_r12_r5_plus_3636_PostIndex", 1723 ARRAY_SIZE(kPositivePostIndex), 1724 kPositivePostIndex}, 1725 {{al, r0, r12, plus, 2545, PostIndex}, 1726 "al r0 r12 plus 2545 PostIndex", 1727 "PositivePostIndex_al_r0_r12_plus_2545_PostIndex", 1728 ARRAY_SIZE(kPositivePostIndex), 1729 kPositivePostIndex}, 1730 {{al, r12, r5, plus, 3450, PostIndex}, 1731 "al r12 r5 plus 3450 PostIndex", 1732 "PositivePostIndex_al_r12_r5_plus_3450_PostIndex", 1733 ARRAY_SIZE(kPositivePostIndex), 1734 kPositivePostIndex}, 1735 {{al, r1, r5, plus, 1712, PostIndex}, 1736 "al r1 r5 plus 1712 PostIndex", 1737 "PositivePostIndex_al_r1_r5_plus_1712_PostIndex", 1738 ARRAY_SIZE(kPositivePostIndex), 1739 kPositivePostIndex}, 1740 {{al, r6, r11, plus, 2665, PostIndex}, 1741 "al r6 r11 plus 2665 PostIndex", 1742 "PositivePostIndex_al_r6_r11_plus_2665_PostIndex", 1743 ARRAY_SIZE(kPositivePostIndex), 1744 kPositivePostIndex}, 1745 {{al, r10, r8, plus, 3450, PostIndex}, 1746 "al r10 r8 plus 3450 PostIndex", 1747 "PositivePostIndex_al_r10_r8_plus_3450_PostIndex", 1748 ARRAY_SIZE(kPositivePostIndex), 1749 kPositivePostIndex}, 1750 {{al, r8, r9, plus, 386, PostIndex}, 1751 "al r8 r9 plus 386 PostIndex", 1752 "PositivePostIndex_al_r8_r9_plus_386_PostIndex", 1753 ARRAY_SIZE(kPositivePostIndex), 1754 kPositivePostIndex}, 1755 {{al, r12, r0, plus, 2462, PostIndex}, 1756 "al r12 r0 plus 2462 PostIndex", 1757 "PositivePostIndex_al_r12_r0_plus_2462_PostIndex", 1758 ARRAY_SIZE(kPositivePostIndex), 1759 kPositivePostIndex}, 1760 {{al, r4, r1, plus, 3313, PostIndex}, 1761 "al r4 r1 plus 3313 PostIndex", 1762 "PositivePostIndex_al_r4_r1_plus_3313_PostIndex", 1763 ARRAY_SIZE(kPositivePostIndex), 1764 kPositivePostIndex}, 1765 {{al, r5, r1, plus, 4093, PostIndex}, 1766 "al r5 r1 plus 4093 PostIndex", 1767 "PositivePostIndex_al_r5_r1_plus_4093_PostIndex", 1768 ARRAY_SIZE(kPositivePostIndex), 1769 kPositivePostIndex}, 1770 {{al, r5, r6, plus, 3287, PostIndex}, 1771 "al r5 r6 plus 3287 PostIndex", 1772 "PositivePostIndex_al_r5_r6_plus_3287_PostIndex", 1773 ARRAY_SIZE(kPositivePostIndex), 1774 kPositivePostIndex}, 1775 {{al, r2, r14, plus, 48, PostIndex}, 1776 "al r2 r14 plus 48 PostIndex", 1777 "PositivePostIndex_al_r2_r14_plus_48_PostIndex", 1778 ARRAY_SIZE(kPositivePostIndex), 1779 kPositivePostIndex}, 1780 {{al, r12, r0, plus, 484, PostIndex}, 1781 "al r12 r0 plus 484 PostIndex", 1782 "PositivePostIndex_al_r12_r0_plus_484_PostIndex", 1783 ARRAY_SIZE(kPositivePostIndex), 1784 kPositivePostIndex}, 1785 {{al, r10, r9, plus, 1505, PostIndex}, 1786 "al r10 r9 plus 1505 PostIndex", 1787 "PositivePostIndex_al_r10_r9_plus_1505_PostIndex", 1788 ARRAY_SIZE(kPositivePostIndex), 1789 kPositivePostIndex}, 1790 {{al, r12, r11, plus, 2464, PostIndex}, 1791 "al r12 r11 plus 2464 PostIndex", 1792 "PositivePostIndex_al_r12_r11_plus_2464_PostIndex", 1793 ARRAY_SIZE(kPositivePostIndex), 1794 kPositivePostIndex}, 1795 {{al, r0, r5, plus, 4076, PostIndex}, 1796 "al r0 r5 plus 4076 PostIndex", 1797 "PositivePostIndex_al_r0_r5_plus_4076_PostIndex", 1798 ARRAY_SIZE(kPositivePostIndex), 1799 kPositivePostIndex}, 1800 {{al, r8, r12, plus, 2326, PostIndex}, 1801 "al r8 r12 plus 2326 PostIndex", 1802 "PositivePostIndex_al_r8_r12_plus_2326_PostIndex", 1803 ARRAY_SIZE(kPositivePostIndex), 1804 kPositivePostIndex}, 1805 {{al, r9, r7, plus, 2025, PostIndex}, 1806 "al r9 r7 plus 2025 PostIndex", 1807 "PositivePostIndex_al_r9_r7_plus_2025_PostIndex", 1808 ARRAY_SIZE(kPositivePostIndex), 1809 kPositivePostIndex}, 1810 {{al, r14, r3, plus, 831, PostIndex}, 1811 "al r14 r3 plus 831 PostIndex", 1812 "PositivePostIndex_al_r14_r3_plus_831_PostIndex", 1813 ARRAY_SIZE(kPositivePostIndex), 1814 kPositivePostIndex}, 1815 {{al, r8, r2, plus, 136, PostIndex}, 1816 "al r8 r2 plus 136 PostIndex", 1817 "PositivePostIndex_al_r8_r2_plus_136_PostIndex", 1818 ARRAY_SIZE(kPositivePostIndex), 1819 kPositivePostIndex}, 1820 {{al, r11, r4, plus, 774, PostIndex}, 1821 "al r11 r4 plus 774 PostIndex", 1822 "PositivePostIndex_al_r11_r4_plus_774_PostIndex", 1823 ARRAY_SIZE(kPositivePostIndex), 1824 kPositivePostIndex}, 1825 {{al, r5, r10, plus, 2395, PostIndex}, 1826 "al r5 r10 plus 2395 PostIndex", 1827 "PositivePostIndex_al_r5_r10_plus_2395_PostIndex", 1828 ARRAY_SIZE(kPositivePostIndex), 1829 kPositivePostIndex}, 1830 {{al, r10, r1, minus, 2642, PostIndex}, 1831 "al r10 r1 minus 2642 PostIndex", 1832 "NegativePostIndex_al_r10_r1_minus_2642_PostIndex", 1833 ARRAY_SIZE(kNegativePostIndex), 1834 kNegativePostIndex}, 1835 {{al, r8, r6, minus, 4093, PostIndex}, 1836 "al r8 r6 minus 4093 PostIndex", 1837 "NegativePostIndex_al_r8_r6_minus_4093_PostIndex", 1838 ARRAY_SIZE(kNegativePostIndex), 1839 kNegativePostIndex}, 1840 {{al, r2, r11, minus, 3162, PostIndex}, 1841 "al r2 r11 minus 3162 PostIndex", 1842 "NegativePostIndex_al_r2_r11_minus_3162_PostIndex", 1843 ARRAY_SIZE(kNegativePostIndex), 1844 kNegativePostIndex}, 1845 {{al, r2, r8, minus, 2311, PostIndex}, 1846 "al r2 r8 minus 2311 PostIndex", 1847 "NegativePostIndex_al_r2_r8_minus_2311_PostIndex", 1848 ARRAY_SIZE(kNegativePostIndex), 1849 kNegativePostIndex}, 1850 {{al, r11, r5, minus, 806, PostIndex}, 1851 "al r11 r5 minus 806 PostIndex", 1852 "NegativePostIndex_al_r11_r5_minus_806_PostIndex", 1853 ARRAY_SIZE(kNegativePostIndex), 1854 kNegativePostIndex}, 1855 {{al, r14, r11, minus, 2628, PostIndex}, 1856 "al r14 r11 minus 2628 PostIndex", 1857 "NegativePostIndex_al_r14_r11_minus_2628_PostIndex", 1858 ARRAY_SIZE(kNegativePostIndex), 1859 kNegativePostIndex}, 1860 {{al, r0, r10, minus, 672, PostIndex}, 1861 "al r0 r10 minus 672 PostIndex", 1862 "NegativePostIndex_al_r0_r10_minus_672_PostIndex", 1863 ARRAY_SIZE(kNegativePostIndex), 1864 kNegativePostIndex}, 1865 {{al, r12, r4, minus, 2619, PostIndex}, 1866 "al r12 r4 minus 2619 PostIndex", 1867 "NegativePostIndex_al_r12_r4_minus_2619_PostIndex", 1868 ARRAY_SIZE(kNegativePostIndex), 1869 kNegativePostIndex}, 1870 {{al, r11, r8, minus, 1035, PostIndex}, 1871 "al r11 r8 minus 1035 PostIndex", 1872 "NegativePostIndex_al_r11_r8_minus_1035_PostIndex", 1873 ARRAY_SIZE(kNegativePostIndex), 1874 kNegativePostIndex}, 1875 {{al, r9, r7, minus, 3771, PostIndex}, 1876 "al r9 r7 minus 3771 PostIndex", 1877 "NegativePostIndex_al_r9_r7_minus_3771_PostIndex", 1878 ARRAY_SIZE(kNegativePostIndex), 1879 kNegativePostIndex}, 1880 {{al, r0, r10, minus, 1372, PostIndex}, 1881 "al r0 r10 minus 1372 PostIndex", 1882 "NegativePostIndex_al_r0_r10_minus_1372_PostIndex", 1883 ARRAY_SIZE(kNegativePostIndex), 1884 kNegativePostIndex}, 1885 {{al, r9, r4, minus, 4065, PostIndex}, 1886 "al r9 r4 minus 4065 PostIndex", 1887 "NegativePostIndex_al_r9_r4_minus_4065_PostIndex", 1888 ARRAY_SIZE(kNegativePostIndex), 1889 kNegativePostIndex}, 1890 {{al, r10, r5, minus, 3344, PostIndex}, 1891 "al r10 r5 minus 3344 PostIndex", 1892 "NegativePostIndex_al_r10_r5_minus_3344_PostIndex", 1893 ARRAY_SIZE(kNegativePostIndex), 1894 kNegativePostIndex}, 1895 {{al, r9, r11, minus, 2726, PostIndex}, 1896 "al r9 r11 minus 2726 PostIndex", 1897 "NegativePostIndex_al_r9_r11_minus_2726_PostIndex", 1898 ARRAY_SIZE(kNegativePostIndex), 1899 kNegativePostIndex}, 1900 {{al, r2, r11, minus, 3282, PostIndex}, 1901 "al r2 r11 minus 3282 PostIndex", 1902 "NegativePostIndex_al_r2_r11_minus_3282_PostIndex", 1903 ARRAY_SIZE(kNegativePostIndex), 1904 kNegativePostIndex}, 1905 {{al, r8, r0, minus, 1231, PostIndex}, 1906 "al r8 r0 minus 1231 PostIndex", 1907 "NegativePostIndex_al_r8_r0_minus_1231_PostIndex", 1908 ARRAY_SIZE(kNegativePostIndex), 1909 kNegativePostIndex}, 1910 {{al, r12, r8, minus, 2490, PostIndex}, 1911 "al r12 r8 minus 2490 PostIndex", 1912 "NegativePostIndex_al_r12_r8_minus_2490_PostIndex", 1913 ARRAY_SIZE(kNegativePostIndex), 1914 kNegativePostIndex}, 1915 {{al, r3, r14, minus, 2963, PostIndex}, 1916 "al r3 r14 minus 2963 PostIndex", 1917 "NegativePostIndex_al_r3_r14_minus_2963_PostIndex", 1918 ARRAY_SIZE(kNegativePostIndex), 1919 kNegativePostIndex}, 1920 {{al, r10, r5, minus, 3069, PostIndex}, 1921 "al r10 r5 minus 3069 PostIndex", 1922 "NegativePostIndex_al_r10_r5_minus_3069_PostIndex", 1923 ARRAY_SIZE(kNegativePostIndex), 1924 kNegativePostIndex}, 1925 {{al, r5, r6, minus, 3743, PostIndex}, 1926 "al r5 r6 minus 3743 PostIndex", 1927 "NegativePostIndex_al_r5_r6_minus_3743_PostIndex", 1928 ARRAY_SIZE(kNegativePostIndex), 1929 kNegativePostIndex}, 1930 {{al, r10, r0, minus, 1175, PostIndex}, 1931 "al r10 r0 minus 1175 PostIndex", 1932 "NegativePostIndex_al_r10_r0_minus_1175_PostIndex", 1933 ARRAY_SIZE(kNegativePostIndex), 1934 kNegativePostIndex}, 1935 {{al, r14, r0, minus, 479, PostIndex}, 1936 "al r14 r0 minus 479 PostIndex", 1937 "NegativePostIndex_al_r14_r0_minus_479_PostIndex", 1938 ARRAY_SIZE(kNegativePostIndex), 1939 kNegativePostIndex}, 1940 {{al, r2, r1, minus, 2464, PostIndex}, 1941 "al r2 r1 minus 2464 PostIndex", 1942 "NegativePostIndex_al_r2_r1_minus_2464_PostIndex", 1943 ARRAY_SIZE(kNegativePostIndex), 1944 kNegativePostIndex}, 1945 {{al, r7, r6, minus, 1171, PostIndex}, 1946 "al r7 r6 minus 1171 PostIndex", 1947 "NegativePostIndex_al_r7_r6_minus_1171_PostIndex", 1948 ARRAY_SIZE(kNegativePostIndex), 1949 kNegativePostIndex}, 1950 {{al, r14, r2, minus, 871, PostIndex}, 1951 "al r14 r2 minus 871 PostIndex", 1952 "NegativePostIndex_al_r14_r2_minus_871_PostIndex", 1953 ARRAY_SIZE(kNegativePostIndex), 1954 kNegativePostIndex}, 1955 {{al, r9, r10, minus, 1687, PostIndex}, 1956 "al r9 r10 minus 1687 PostIndex", 1957 "NegativePostIndex_al_r9_r10_minus_1687_PostIndex", 1958 ARRAY_SIZE(kNegativePostIndex), 1959 kNegativePostIndex}, 1960 {{al, r3, r1, minus, 1527, PostIndex}, 1961 "al r3 r1 minus 1527 PostIndex", 1962 "NegativePostIndex_al_r3_r1_minus_1527_PostIndex", 1963 ARRAY_SIZE(kNegativePostIndex), 1964 kNegativePostIndex}, 1965 {{al, r6, r7, minus, 2365, PostIndex}, 1966 "al r6 r7 minus 2365 PostIndex", 1967 "NegativePostIndex_al_r6_r7_minus_2365_PostIndex", 1968 ARRAY_SIZE(kNegativePostIndex), 1969 kNegativePostIndex}, 1970 {{al, r7, r12, minus, 2619, PostIndex}, 1971 "al r7 r12 minus 2619 PostIndex", 1972 "NegativePostIndex_al_r7_r12_minus_2619_PostIndex", 1973 ARRAY_SIZE(kNegativePostIndex), 1974 kNegativePostIndex}, 1975 {{al, r14, r7, minus, 1695, PostIndex}, 1976 "al r14 r7 minus 1695 PostIndex", 1977 "NegativePostIndex_al_r14_r7_minus_1695_PostIndex", 1978 ARRAY_SIZE(kNegativePostIndex), 1979 kNegativePostIndex}, 1980 {{al, r3, r8, minus, 3949, PostIndex}, 1981 "al r3 r8 minus 3949 PostIndex", 1982 "NegativePostIndex_al_r3_r8_minus_3949_PostIndex", 1983 ARRAY_SIZE(kNegativePostIndex), 1984 kNegativePostIndex}, 1985 {{al, r4, r8, minus, 1359, PostIndex}, 1986 "al r4 r8 minus 1359 PostIndex", 1987 "NegativePostIndex_al_r4_r8_minus_1359_PostIndex", 1988 ARRAY_SIZE(kNegativePostIndex), 1989 kNegativePostIndex}, 1990 {{al, r10, r6, minus, 3117, PostIndex}, 1991 "al r10 r6 minus 3117 PostIndex", 1992 "NegativePostIndex_al_r10_r6_minus_3117_PostIndex", 1993 ARRAY_SIZE(kNegativePostIndex), 1994 kNegativePostIndex}, 1995 {{al, r7, r12, minus, 831, PostIndex}, 1996 "al r7 r12 minus 831 PostIndex", 1997 "NegativePostIndex_al_r7_r12_minus_831_PostIndex", 1998 ARRAY_SIZE(kNegativePostIndex), 1999 kNegativePostIndex}, 2000 {{al, r0, r7, minus, 1537, PostIndex}, 2001 "al r0 r7 minus 1537 PostIndex", 2002 "NegativePostIndex_al_r0_r7_minus_1537_PostIndex", 2003 ARRAY_SIZE(kNegativePostIndex), 2004 kNegativePostIndex}, 2005 {{al, r1, r11, minus, 1948, PostIndex}, 2006 "al r1 r11 minus 1948 PostIndex", 2007 "NegativePostIndex_al_r1_r11_minus_1948_PostIndex", 2008 ARRAY_SIZE(kNegativePostIndex), 2009 kNegativePostIndex}, 2010 {{al, r8, r12, minus, 362, PostIndex}, 2011 "al r8 r12 minus 362 PostIndex", 2012 "NegativePostIndex_al_r8_r12_minus_362_PostIndex", 2013 ARRAY_SIZE(kNegativePostIndex), 2014 kNegativePostIndex}, 2015 {{al, r3, r0, minus, 3583, PostIndex}, 2016 "al r3 r0 minus 3583 PostIndex", 2017 "NegativePostIndex_al_r3_r0_minus_3583_PostIndex", 2018 ARRAY_SIZE(kNegativePostIndex), 2019 kNegativePostIndex}, 2020 {{al, r10, r3, minus, 2794, PostIndex}, 2021 "al r10 r3 minus 2794 PostIndex", 2022 "NegativePostIndex_al_r10_r3_minus_2794_PostIndex", 2023 ARRAY_SIZE(kNegativePostIndex), 2024 kNegativePostIndex}, 2025 {{al, r10, r3, minus, 53, PostIndex}, 2026 "al r10 r3 minus 53 PostIndex", 2027 "NegativePostIndex_al_r10_r3_minus_53_PostIndex", 2028 ARRAY_SIZE(kNegativePostIndex), 2029 kNegativePostIndex}, 2030 {{al, r9, r8, minus, 2026, PostIndex}, 2031 "al r9 r8 minus 2026 PostIndex", 2032 "NegativePostIndex_al_r9_r8_minus_2026_PostIndex", 2033 ARRAY_SIZE(kNegativePostIndex), 2034 kNegativePostIndex}, 2035 {{al, r14, r11, minus, 3472, PostIndex}, 2036 "al r14 r11 minus 3472 PostIndex", 2037 "NegativePostIndex_al_r14_r11_minus_3472_PostIndex", 2038 ARRAY_SIZE(kNegativePostIndex), 2039 kNegativePostIndex}, 2040 {{al, r5, r8, minus, 200, PostIndex}, 2041 "al r5 r8 minus 200 PostIndex", 2042 "NegativePostIndex_al_r5_r8_minus_200_PostIndex", 2043 ARRAY_SIZE(kNegativePostIndex), 2044 kNegativePostIndex}, 2045 {{al, r9, r11, minus, 398, PostIndex}, 2046 "al r9 r11 minus 398 PostIndex", 2047 "NegativePostIndex_al_r9_r11_minus_398_PostIndex", 2048 ARRAY_SIZE(kNegativePostIndex), 2049 kNegativePostIndex}, 2050 {{al, r7, r1, minus, 4091, PostIndex}, 2051 "al r7 r1 minus 4091 PostIndex", 2052 "NegativePostIndex_al_r7_r1_minus_4091_PostIndex", 2053 ARRAY_SIZE(kNegativePostIndex), 2054 kNegativePostIndex}, 2055 {{al, r9, r7, minus, 601, PostIndex}, 2056 "al r9 r7 minus 601 PostIndex", 2057 "NegativePostIndex_al_r9_r7_minus_601_PostIndex", 2058 ARRAY_SIZE(kNegativePostIndex), 2059 kNegativePostIndex}, 2060 {{al, r14, r0, minus, 2849, PostIndex}, 2061 "al r14 r0 minus 2849 PostIndex", 2062 "NegativePostIndex_al_r14_r0_minus_2849_PostIndex", 2063 ARRAY_SIZE(kNegativePostIndex), 2064 kNegativePostIndex}, 2065 {{al, r1, r3, minus, 1323, PostIndex}, 2066 "al r1 r3 minus 1323 PostIndex", 2067 "NegativePostIndex_al_r1_r3_minus_1323_PostIndex", 2068 ARRAY_SIZE(kNegativePostIndex), 2069 kNegativePostIndex}, 2070 {{al, r11, r9, minus, 969, PostIndex}, 2071 "al r11 r9 minus 969 PostIndex", 2072 "NegativePostIndex_al_r11_r9_minus_969_PostIndex", 2073 ARRAY_SIZE(kNegativePostIndex), 2074 kNegativePostIndex}, 2075 {{al, r1, r14, minus, 2628, PostIndex}, 2076 "al r1 r14 minus 2628 PostIndex", 2077 "NegativePostIndex_al_r1_r14_minus_2628_PostIndex", 2078 ARRAY_SIZE(kNegativePostIndex), 2079 kNegativePostIndex}, 2080 {{al, r10, r1, minus, 251, PostIndex}, 2081 "al r10 r1 minus 251 PostIndex", 2082 "NegativePostIndex_al_r10_r1_minus_251_PostIndex", 2083 ARRAY_SIZE(kNegativePostIndex), 2084 kNegativePostIndex}, 2085 {{al, r1, r2, minus, 1266, PostIndex}, 2086 "al r1 r2 minus 1266 PostIndex", 2087 "NegativePostIndex_al_r1_r2_minus_1266_PostIndex", 2088 ARRAY_SIZE(kNegativePostIndex), 2089 kNegativePostIndex}, 2090 {{al, r0, r7, minus, 2588, PostIndex}, 2091 "al r0 r7 minus 2588 PostIndex", 2092 "NegativePostIndex_al_r0_r7_minus_2588_PostIndex", 2093 ARRAY_SIZE(kNegativePostIndex), 2094 kNegativePostIndex}, 2095 {{al, r7, r10, minus, 2669, PostIndex}, 2096 "al r7 r10 minus 2669 PostIndex", 2097 "NegativePostIndex_al_r7_r10_minus_2669_PostIndex", 2098 ARRAY_SIZE(kNegativePostIndex), 2099 kNegativePostIndex}, 2100 {{al, r14, r11, minus, 2023, PostIndex}, 2101 "al r14 r11 minus 2023 PostIndex", 2102 "NegativePostIndex_al_r14_r11_minus_2023_PostIndex", 2103 ARRAY_SIZE(kNegativePostIndex), 2104 kNegativePostIndex}, 2105 {{al, r4, r1, minus, 3610, PostIndex}, 2106 "al r4 r1 minus 3610 PostIndex", 2107 "NegativePostIndex_al_r4_r1_minus_3610_PostIndex", 2108 ARRAY_SIZE(kNegativePostIndex), 2109 kNegativePostIndex}, 2110 {{al, r2, r9, minus, 624, PostIndex}, 2111 "al r2 r9 minus 624 PostIndex", 2112 "NegativePostIndex_al_r2_r9_minus_624_PostIndex", 2113 ARRAY_SIZE(kNegativePostIndex), 2114 kNegativePostIndex}, 2115 {{al, r12, r8, minus, 1610, PostIndex}, 2116 "al r12 r8 minus 1610 PostIndex", 2117 "NegativePostIndex_al_r12_r8_minus_1610_PostIndex", 2118 ARRAY_SIZE(kNegativePostIndex), 2119 kNegativePostIndex}, 2120 {{al, r4, r11, minus, 3136, PostIndex}, 2121 "al r4 r11 minus 3136 PostIndex", 2122 "NegativePostIndex_al_r4_r11_minus_3136_PostIndex", 2123 ARRAY_SIZE(kNegativePostIndex), 2124 kNegativePostIndex}, 2125 {{al, r2, r7, minus, 3949, PostIndex}, 2126 "al r2 r7 minus 3949 PostIndex", 2127 "NegativePostIndex_al_r2_r7_minus_3949_PostIndex", 2128 ARRAY_SIZE(kNegativePostIndex), 2129 kNegativePostIndex}, 2130 {{al, r7, r0, minus, 1635, PostIndex}, 2131 "al r7 r0 minus 1635 PostIndex", 2132 "NegativePostIndex_al_r7_r0_minus_1635_PostIndex", 2133 ARRAY_SIZE(kNegativePostIndex), 2134 kNegativePostIndex}, 2135 {{al, r4, r2, minus, 3008, PostIndex}, 2136 "al r4 r2 minus 3008 PostIndex", 2137 "NegativePostIndex_al_r4_r2_minus_3008_PostIndex", 2138 ARRAY_SIZE(kNegativePostIndex), 2139 kNegativePostIndex}, 2140 {{al, r6, r3, minus, 3566, PostIndex}, 2141 "al r6 r3 minus 3566 PostIndex", 2142 "NegativePostIndex_al_r6_r3_minus_3566_PostIndex", 2143 ARRAY_SIZE(kNegativePostIndex), 2144 kNegativePostIndex}, 2145 {{al, r12, r8, minus, 3774, PostIndex}, 2146 "al r12 r8 minus 3774 PostIndex", 2147 "NegativePostIndex_al_r12_r8_minus_3774_PostIndex", 2148 ARRAY_SIZE(kNegativePostIndex), 2149 kNegativePostIndex}, 2150 {{al, r14, r10, minus, 3978, PostIndex}, 2151 "al r14 r10 minus 3978 PostIndex", 2152 "NegativePostIndex_al_r14_r10_minus_3978_PostIndex", 2153 ARRAY_SIZE(kNegativePostIndex), 2154 kNegativePostIndex}, 2155 {{al, r2, r6, minus, 2358, PostIndex}, 2156 "al r2 r6 minus 2358 PostIndex", 2157 "NegativePostIndex_al_r2_r6_minus_2358_PostIndex", 2158 ARRAY_SIZE(kNegativePostIndex), 2159 kNegativePostIndex}, 2160 {{al, r14, r9, minus, 2650, PostIndex}, 2161 "al r14 r9 minus 2650 PostIndex", 2162 "NegativePostIndex_al_r14_r9_minus_2650_PostIndex", 2163 ARRAY_SIZE(kNegativePostIndex), 2164 kNegativePostIndex}, 2165 {{al, r4, r14, minus, 2365, PostIndex}, 2166 "al r4 r14 minus 2365 PostIndex", 2167 "NegativePostIndex_al_r4_r14_minus_2365_PostIndex", 2168 ARRAY_SIZE(kNegativePostIndex), 2169 kNegativePostIndex}, 2170 {{al, r14, r2, minus, 496, PostIndex}, 2171 "al r14 r2 minus 496 PostIndex", 2172 "NegativePostIndex_al_r14_r2_minus_496_PostIndex", 2173 ARRAY_SIZE(kNegativePostIndex), 2174 kNegativePostIndex}, 2175 {{al, r9, r0, minus, 2124, PostIndex}, 2176 "al r9 r0 minus 2124 PostIndex", 2177 "NegativePostIndex_al_r9_r0_minus_2124_PostIndex", 2178 ARRAY_SIZE(kNegativePostIndex), 2179 kNegativePostIndex}, 2180 {{al, r4, r2, minus, 3366, PostIndex}, 2181 "al r4 r2 minus 3366 PostIndex", 2182 "NegativePostIndex_al_r4_r2_minus_3366_PostIndex", 2183 ARRAY_SIZE(kNegativePostIndex), 2184 kNegativePostIndex}, 2185 {{al, r1, r2, minus, 2866, PostIndex}, 2186 "al r1 r2 minus 2866 PostIndex", 2187 "NegativePostIndex_al_r1_r2_minus_2866_PostIndex", 2188 ARRAY_SIZE(kNegativePostIndex), 2189 kNegativePostIndex}, 2190 {{al, r8, r4, minus, 3003, PostIndex}, 2191 "al r8 r4 minus 3003 PostIndex", 2192 "NegativePostIndex_al_r8_r4_minus_3003_PostIndex", 2193 ARRAY_SIZE(kNegativePostIndex), 2194 kNegativePostIndex}, 2195 {{al, r9, r3, minus, 1234, PostIndex}, 2196 "al r9 r3 minus 1234 PostIndex", 2197 "NegativePostIndex_al_r9_r3_minus_1234_PostIndex", 2198 ARRAY_SIZE(kNegativePostIndex), 2199 kNegativePostIndex}, 2200 {{al, r1, r8, minus, 2290, PostIndex}, 2201 "al r1 r8 minus 2290 PostIndex", 2202 "NegativePostIndex_al_r1_r8_minus_2290_PostIndex", 2203 ARRAY_SIZE(kNegativePostIndex), 2204 kNegativePostIndex}, 2205 {{al, r8, r2, minus, 3811, PostIndex}, 2206 "al r8 r2 minus 3811 PostIndex", 2207 "NegativePostIndex_al_r8_r2_minus_3811_PostIndex", 2208 ARRAY_SIZE(kNegativePostIndex), 2209 kNegativePostIndex}, 2210 {{al, r4, r9, minus, 429, PostIndex}, 2211 "al r4 r9 minus 429 PostIndex", 2212 "NegativePostIndex_al_r4_r9_minus_429_PostIndex", 2213 ARRAY_SIZE(kNegativePostIndex), 2214 kNegativePostIndex}, 2215 {{al, r6, r1, minus, 2025, PostIndex}, 2216 "al r6 r1 minus 2025 PostIndex", 2217 "NegativePostIndex_al_r6_r1_minus_2025_PostIndex", 2218 ARRAY_SIZE(kNegativePostIndex), 2219 kNegativePostIndex}, 2220 {{al, r11, r7, minus, 3517, PostIndex}, 2221 "al r11 r7 minus 3517 PostIndex", 2222 "NegativePostIndex_al_r11_r7_minus_3517_PostIndex", 2223 ARRAY_SIZE(kNegativePostIndex), 2224 kNegativePostIndex}, 2225 {{al, r7, r4, minus, 251, PostIndex}, 2226 "al r7 r4 minus 251 PostIndex", 2227 "NegativePostIndex_al_r7_r4_minus_251_PostIndex", 2228 ARRAY_SIZE(kNegativePostIndex), 2229 kNegativePostIndex}, 2230 {{al, r1, r12, minus, 1635, PostIndex}, 2231 "al r1 r12 minus 1635 PostIndex", 2232 "NegativePostIndex_al_r1_r12_minus_1635_PostIndex", 2233 ARRAY_SIZE(kNegativePostIndex), 2234 kNegativePostIndex}, 2235 {{al, r6, r7, minus, 3685, PostIndex}, 2236 "al r6 r7 minus 3685 PostIndex", 2237 "NegativePostIndex_al_r6_r7_minus_3685_PostIndex", 2238 ARRAY_SIZE(kNegativePostIndex), 2239 kNegativePostIndex}, 2240 {{al, r9, r11, minus, 1981, PostIndex}, 2241 "al r9 r11 minus 1981 PostIndex", 2242 "NegativePostIndex_al_r9_r11_minus_1981_PostIndex", 2243 ARRAY_SIZE(kNegativePostIndex), 2244 kNegativePostIndex}, 2245 {{al, r6, r2, minus, 180, PostIndex}, 2246 "al r6 r2 minus 180 PostIndex", 2247 "NegativePostIndex_al_r6_r2_minus_180_PostIndex", 2248 ARRAY_SIZE(kNegativePostIndex), 2249 kNegativePostIndex}, 2250 {{al, r12, r6, minus, 2490, PostIndex}, 2251 "al r12 r6 minus 2490 PostIndex", 2252 "NegativePostIndex_al_r12_r6_minus_2490_PostIndex", 2253 ARRAY_SIZE(kNegativePostIndex), 2254 kNegativePostIndex}, 2255 {{al, r1, r3, minus, 3994, PostIndex}, 2256 "al r1 r3 minus 3994 PostIndex", 2257 "NegativePostIndex_al_r1_r3_minus_3994_PostIndex", 2258 ARRAY_SIZE(kNegativePostIndex), 2259 kNegativePostIndex}, 2260 {{al, r3, r2, minus, 3094, PostIndex}, 2261 "al r3 r2 minus 3094 PostIndex", 2262 "NegativePostIndex_al_r3_r2_minus_3094_PostIndex", 2263 ARRAY_SIZE(kNegativePostIndex), 2264 kNegativePostIndex}, 2265 {{al, r2, r7, minus, 1377, PostIndex}, 2266 "al r2 r7 minus 1377 PostIndex", 2267 "NegativePostIndex_al_r2_r7_minus_1377_PostIndex", 2268 ARRAY_SIZE(kNegativePostIndex), 2269 kNegativePostIndex}, 2270 {{al, r12, r11, minus, 2098, PostIndex}, 2271 "al r12 r11 minus 2098 PostIndex", 2272 "NegativePostIndex_al_r12_r11_minus_2098_PostIndex", 2273 ARRAY_SIZE(kNegativePostIndex), 2274 kNegativePostIndex}, 2275 {{al, r0, r3, minus, 2462, PostIndex}, 2276 "al r0 r3 minus 2462 PostIndex", 2277 "NegativePostIndex_al_r0_r3_minus_2462_PostIndex", 2278 ARRAY_SIZE(kNegativePostIndex), 2279 kNegativePostIndex}, 2280 {{al, r6, r3, minus, 3659, PostIndex}, 2281 "al r6 r3 minus 3659 PostIndex", 2282 "NegativePostIndex_al_r6_r3_minus_3659_PostIndex", 2283 ARRAY_SIZE(kNegativePostIndex), 2284 kNegativePostIndex}, 2285 {{al, r5, r1, minus, 2139, PostIndex}, 2286 "al r5 r1 minus 2139 PostIndex", 2287 "NegativePostIndex_al_r5_r1_minus_2139_PostIndex", 2288 ARRAY_SIZE(kNegativePostIndex), 2289 kNegativePostIndex}, 2290 {{al, r11, r1, minus, 1934, PostIndex}, 2291 "al r11 r1 minus 1934 PostIndex", 2292 "NegativePostIndex_al_r11_r1_minus_1934_PostIndex", 2293 ARRAY_SIZE(kNegativePostIndex), 2294 kNegativePostIndex}, 2295 {{al, r8, r11, minus, 1961, PostIndex}, 2296 "al r8 r11 minus 1961 PostIndex", 2297 "NegativePostIndex_al_r8_r11_minus_1961_PostIndex", 2298 ARRAY_SIZE(kNegativePostIndex), 2299 kNegativePostIndex}, 2300 {{al, r3, r8, minus, 2535, PostIndex}, 2301 "al r3 r8 minus 2535 PostIndex", 2302 "NegativePostIndex_al_r3_r8_minus_2535_PostIndex", 2303 ARRAY_SIZE(kNegativePostIndex), 2304 kNegativePostIndex}, 2305 {{al, r12, r7, minus, 3688, PostIndex}, 2306 "al r12 r7 minus 3688 PostIndex", 2307 "NegativePostIndex_al_r12_r7_minus_3688_PostIndex", 2308 ARRAY_SIZE(kNegativePostIndex), 2309 kNegativePostIndex}, 2310 {{al, r8, r1, minus, 513, PostIndex}, 2311 "al r8 r1 minus 513 PostIndex", 2312 "NegativePostIndex_al_r8_r1_minus_513_PostIndex", 2313 ARRAY_SIZE(kNegativePostIndex), 2314 kNegativePostIndex}, 2315 {{al, r8, r2, minus, 213, PostIndex}, 2316 "al r8 r2 minus 213 PostIndex", 2317 "NegativePostIndex_al_r8_r2_minus_213_PostIndex", 2318 ARRAY_SIZE(kNegativePostIndex), 2319 kNegativePostIndex}, 2320 {{al, r2, r5, minus, 670, PostIndex}, 2321 "al r2 r5 minus 670 PostIndex", 2322 "NegativePostIndex_al_r2_r5_minus_670_PostIndex", 2323 ARRAY_SIZE(kNegativePostIndex), 2324 kNegativePostIndex}, 2325 {{al, r5, r6, minus, 3986, PostIndex}, 2326 "al r5 r6 minus 3986 PostIndex", 2327 "NegativePostIndex_al_r5_r6_minus_3986_PostIndex", 2328 ARRAY_SIZE(kNegativePostIndex), 2329 kNegativePostIndex}, 2330 {{al, r14, r12, plus, 2982, PreIndex}, 2331 "al r14 r12 plus 2982 PreIndex", 2332 "PositivePreIndex_al_r14_r12_plus_2982_PreIndex", 2333 ARRAY_SIZE(kPositivePreIndex), 2334 kPositivePreIndex}, 2335 {{al, r7, r11, plus, 1241, PreIndex}, 2336 "al r7 r11 plus 1241 PreIndex", 2337 "PositivePreIndex_al_r7_r11_plus_1241_PreIndex", 2338 ARRAY_SIZE(kPositivePreIndex), 2339 kPositivePreIndex}, 2340 {{al, r6, r5, plus, 2677, PreIndex}, 2341 "al r6 r5 plus 2677 PreIndex", 2342 "PositivePreIndex_al_r6_r5_plus_2677_PreIndex", 2343 ARRAY_SIZE(kPositivePreIndex), 2344 kPositivePreIndex}, 2345 {{al, r11, r12, plus, 2403, PreIndex}, 2346 "al r11 r12 plus 2403 PreIndex", 2347 "PositivePreIndex_al_r11_r12_plus_2403_PreIndex", 2348 ARRAY_SIZE(kPositivePreIndex), 2349 kPositivePreIndex}, 2350 {{al, r6, r5, plus, 1274, PreIndex}, 2351 "al r6 r5 plus 1274 PreIndex", 2352 "PositivePreIndex_al_r6_r5_plus_1274_PreIndex", 2353 ARRAY_SIZE(kPositivePreIndex), 2354 kPositivePreIndex}, 2355 {{al, r6, r7, plus, 2208, PreIndex}, 2356 "al r6 r7 plus 2208 PreIndex", 2357 "PositivePreIndex_al_r6_r7_plus_2208_PreIndex", 2358 ARRAY_SIZE(kPositivePreIndex), 2359 kPositivePreIndex}, 2360 {{al, r7, r10, plus, 3583, PreIndex}, 2361 "al r7 r10 plus 3583 PreIndex", 2362 "PositivePreIndex_al_r7_r10_plus_3583_PreIndex", 2363 ARRAY_SIZE(kPositivePreIndex), 2364 kPositivePreIndex}, 2365 {{al, r7, r5, plus, 3975, PreIndex}, 2366 "al r7 r5 plus 3975 PreIndex", 2367 "PositivePreIndex_al_r7_r5_plus_3975_PreIndex", 2368 ARRAY_SIZE(kPositivePreIndex), 2369 kPositivePreIndex}, 2370 {{al, r3, r9, plus, 2326, PreIndex}, 2371 "al r3 r9 plus 2326 PreIndex", 2372 "PositivePreIndex_al_r3_r9_plus_2326_PreIndex", 2373 ARRAY_SIZE(kPositivePreIndex), 2374 kPositivePreIndex}, 2375 {{al, r8, r7, plus, 2098, PreIndex}, 2376 "al r8 r7 plus 2098 PreIndex", 2377 "PositivePreIndex_al_r8_r7_plus_2098_PreIndex", 2378 ARRAY_SIZE(kPositivePreIndex), 2379 kPositivePreIndex}, 2380 {{al, r5, r11, plus, 3015, PreIndex}, 2381 "al r5 r11 plus 3015 PreIndex", 2382 "PositivePreIndex_al_r5_r11_plus_3015_PreIndex", 2383 ARRAY_SIZE(kPositivePreIndex), 2384 kPositivePreIndex}, 2385 {{al, r1, r12, plus, 719, PreIndex}, 2386 "al r1 r12 plus 719 PreIndex", 2387 "PositivePreIndex_al_r1_r12_plus_719_PreIndex", 2388 ARRAY_SIZE(kPositivePreIndex), 2389 kPositivePreIndex}, 2390 {{al, r14, r1, plus, 3413, PreIndex}, 2391 "al r14 r1 plus 3413 PreIndex", 2392 "PositivePreIndex_al_r14_r1_plus_3413_PreIndex", 2393 ARRAY_SIZE(kPositivePreIndex), 2394 kPositivePreIndex}, 2395 {{al, r10, r0, plus, 3949, PreIndex}, 2396 "al r10 r0 plus 3949 PreIndex", 2397 "PositivePreIndex_al_r10_r0_plus_3949_PreIndex", 2398 ARRAY_SIZE(kPositivePreIndex), 2399 kPositivePreIndex}, 2400 {{al, r12, r4, plus, 3088, PreIndex}, 2401 "al r12 r4 plus 3088 PreIndex", 2402 "PositivePreIndex_al_r12_r4_plus_3088_PreIndex", 2403 ARRAY_SIZE(kPositivePreIndex), 2404 kPositivePreIndex}, 2405 {{al, r6, r3, plus, 2690, PreIndex}, 2406 "al r6 r3 plus 2690 PreIndex", 2407 "PositivePreIndex_al_r6_r3_plus_2690_PreIndex", 2408 ARRAY_SIZE(kPositivePreIndex), 2409 kPositivePreIndex}, 2410 {{al, r9, r6, plus, 3384, PreIndex}, 2411 "al r9 r6 plus 3384 PreIndex", 2412 "PositivePreIndex_al_r9_r6_plus_3384_PreIndex", 2413 ARRAY_SIZE(kPositivePreIndex), 2414 kPositivePreIndex}, 2415 {{al, r2, r7, plus, 3636, PreIndex}, 2416 "al r2 r7 plus 3636 PreIndex", 2417 "PositivePreIndex_al_r2_r7_plus_3636_PreIndex", 2418 ARRAY_SIZE(kPositivePreIndex), 2419 kPositivePreIndex}, 2420 {{al, r10, r1, plus, 1390, PreIndex}, 2421 "al r10 r1 plus 1390 PreIndex", 2422 "PositivePreIndex_al_r10_r1_plus_1390_PreIndex", 2423 ARRAY_SIZE(kPositivePreIndex), 2424 kPositivePreIndex}, 2425 {{al, r2, r8, plus, 2546, PreIndex}, 2426 "al r2 r8 plus 2546 PreIndex", 2427 "PositivePreIndex_al_r2_r8_plus_2546_PreIndex", 2428 ARRAY_SIZE(kPositivePreIndex), 2429 kPositivePreIndex}, 2430 {{al, r2, r14, plus, 2619, PreIndex}, 2431 "al r2 r14 plus 2619 PreIndex", 2432 "PositivePreIndex_al_r2_r14_plus_2619_PreIndex", 2433 ARRAY_SIZE(kPositivePreIndex), 2434 kPositivePreIndex}, 2435 {{al, r0, r12, plus, 2591, PreIndex}, 2436 "al r0 r12 plus 2591 PreIndex", 2437 "PositivePreIndex_al_r0_r12_plus_2591_PreIndex", 2438 ARRAY_SIZE(kPositivePreIndex), 2439 kPositivePreIndex}, 2440 {{al, r11, r7, plus, 3287, PreIndex}, 2441 "al r11 r7 plus 3287 PreIndex", 2442 "PositivePreIndex_al_r11_r7_plus_3287_PreIndex", 2443 ARRAY_SIZE(kPositivePreIndex), 2444 kPositivePreIndex}, 2445 {{al, r12, r0, plus, 3638, PreIndex}, 2446 "al r12 r0 plus 3638 PreIndex", 2447 "PositivePreIndex_al_r12_r0_plus_3638_PreIndex", 2448 ARRAY_SIZE(kPositivePreIndex), 2449 kPositivePreIndex}, 2450 {{al, r4, r2, plus, 2944, PreIndex}, 2451 "al r4 r2 plus 2944 PreIndex", 2452 "PositivePreIndex_al_r4_r2_plus_2944_PreIndex", 2453 ARRAY_SIZE(kPositivePreIndex), 2454 kPositivePreIndex}, 2455 {{al, r12, r3, plus, 2290, PreIndex}, 2456 "al r12 r3 plus 2290 PreIndex", 2457 "PositivePreIndex_al_r12_r3_plus_2290_PreIndex", 2458 ARRAY_SIZE(kPositivePreIndex), 2459 kPositivePreIndex}, 2460 {{al, r9, r7, plus, 1567, PreIndex}, 2461 "al r9 r7 plus 1567 PreIndex", 2462 "PositivePreIndex_al_r9_r7_plus_1567_PreIndex", 2463 ARRAY_SIZE(kPositivePreIndex), 2464 kPositivePreIndex}, 2465 {{al, r2, r14, plus, 3994, PreIndex}, 2466 "al r2 r14 plus 3994 PreIndex", 2467 "PositivePreIndex_al_r2_r14_plus_3994_PreIndex", 2468 ARRAY_SIZE(kPositivePreIndex), 2469 kPositivePreIndex}, 2470 {{al, r9, r11, plus, 3504, PreIndex}, 2471 "al r9 r11 plus 3504 PreIndex", 2472 "PositivePreIndex_al_r9_r11_plus_3504_PreIndex", 2473 ARRAY_SIZE(kPositivePreIndex), 2474 kPositivePreIndex}, 2475 {{al, r8, r10, plus, 3564, PreIndex}, 2476 "al r8 r10 plus 3564 PreIndex", 2477 "PositivePreIndex_al_r8_r10_plus_3564_PreIndex", 2478 ARRAY_SIZE(kPositivePreIndex), 2479 kPositivePreIndex}, 2480 {{al, r11, r3, plus, 872, PreIndex}, 2481 "al r11 r3 plus 872 PreIndex", 2482 "PositivePreIndex_al_r11_r3_plus_872_PreIndex", 2483 ARRAY_SIZE(kPositivePreIndex), 2484 kPositivePreIndex}, 2485 {{al, r6, r7, plus, 3685, PreIndex}, 2486 "al r6 r7 plus 3685 PreIndex", 2487 "PositivePreIndex_al_r6_r7_plus_3685_PreIndex", 2488 ARRAY_SIZE(kPositivePreIndex), 2489 kPositivePreIndex}, 2490 {{al, r8, r0, plus, 2532, PreIndex}, 2491 "al r8 r0 plus 2532 PreIndex", 2492 "PositivePreIndex_al_r8_r0_plus_2532_PreIndex", 2493 ARRAY_SIZE(kPositivePreIndex), 2494 kPositivePreIndex}, 2495 {{al, r11, r4, plus, 57, PreIndex}, 2496 "al r11 r4 plus 57 PreIndex", 2497 "PositivePreIndex_al_r11_r4_plus_57_PreIndex", 2498 ARRAY_SIZE(kPositivePreIndex), 2499 kPositivePreIndex}, 2500 {{al, r12, r1, plus, 3343, PreIndex}, 2501 "al r12 r1 plus 3343 PreIndex", 2502 "PositivePreIndex_al_r12_r1_plus_3343_PreIndex", 2503 ARRAY_SIZE(kPositivePreIndex), 2504 kPositivePreIndex}, 2505 {{al, r11, r10, plus, 459, PreIndex}, 2506 "al r11 r10 plus 459 PreIndex", 2507 "PositivePreIndex_al_r11_r10_plus_459_PreIndex", 2508 ARRAY_SIZE(kPositivePreIndex), 2509 kPositivePreIndex}, 2510 {{al, r2, r6, plus, 3867, PreIndex}, 2511 "al r2 r6 plus 3867 PreIndex", 2512 "PositivePreIndex_al_r2_r6_plus_3867_PreIndex", 2513 ARRAY_SIZE(kPositivePreIndex), 2514 kPositivePreIndex}, 2515 {{al, r11, r12, plus, 1035, PreIndex}, 2516 "al r11 r12 plus 1035 PreIndex", 2517 "PositivePreIndex_al_r11_r12_plus_1035_PreIndex", 2518 ARRAY_SIZE(kPositivePreIndex), 2519 kPositivePreIndex}, 2520 {{al, r6, r10, plus, 3597, PreIndex}, 2521 "al r6 r10 plus 3597 PreIndex", 2522 "PositivePreIndex_al_r6_r10_plus_3597_PreIndex", 2523 ARRAY_SIZE(kPositivePreIndex), 2524 kPositivePreIndex}, 2525 {{al, r14, r2, plus, 2281, PreIndex}, 2526 "al r14 r2 plus 2281 PreIndex", 2527 "PositivePreIndex_al_r14_r2_plus_2281_PreIndex", 2528 ARRAY_SIZE(kPositivePreIndex), 2529 kPositivePreIndex}, 2530 {{al, r3, r10, plus, 2901, PreIndex}, 2531 "al r3 r10 plus 2901 PreIndex", 2532 "PositivePreIndex_al_r3_r10_plus_2901_PreIndex", 2533 ARRAY_SIZE(kPositivePreIndex), 2534 kPositivePreIndex}, 2535 {{al, r4, r14, plus, 2052, PreIndex}, 2536 "al r4 r14 plus 2052 PreIndex", 2537 "PositivePreIndex_al_r4_r14_plus_2052_PreIndex", 2538 ARRAY_SIZE(kPositivePreIndex), 2539 kPositivePreIndex}, 2540 {{al, r4, r6, plus, 4091, PreIndex}, 2541 "al r4 r6 plus 4091 PreIndex", 2542 "PositivePreIndex_al_r4_r6_plus_4091_PreIndex", 2543 ARRAY_SIZE(kPositivePreIndex), 2544 kPositivePreIndex}, 2545 {{al, r4, r12, plus, 871, PreIndex}, 2546 "al r4 r12 plus 871 PreIndex", 2547 "PositivePreIndex_al_r4_r12_plus_871_PreIndex", 2548 ARRAY_SIZE(kPositivePreIndex), 2549 kPositivePreIndex}, 2550 {{al, r9, r2, plus, 1860, PreIndex}, 2551 "al r9 r2 plus 1860 PreIndex", 2552 "PositivePreIndex_al_r9_r2_plus_1860_PreIndex", 2553 ARRAY_SIZE(kPositivePreIndex), 2554 kPositivePreIndex}, 2555 {{al, r11, r0, plus, 2345, PreIndex}, 2556 "al r11 r0 plus 2345 PreIndex", 2557 "PositivePreIndex_al_r11_r0_plus_2345_PreIndex", 2558 ARRAY_SIZE(kPositivePreIndex), 2559 kPositivePreIndex}, 2560 {{al, r4, r12, plus, 1601, PreIndex}, 2561 "al r4 r12 plus 1601 PreIndex", 2562 "PositivePreIndex_al_r4_r12_plus_1601_PreIndex", 2563 ARRAY_SIZE(kPositivePreIndex), 2564 kPositivePreIndex}, 2565 {{al, r7, r5, plus, 2240, PreIndex}, 2566 "al r7 r5 plus 2240 PreIndex", 2567 "PositivePreIndex_al_r7_r5_plus_2240_PreIndex", 2568 ARRAY_SIZE(kPositivePreIndex), 2569 kPositivePreIndex}, 2570 {{al, r10, r14, plus, 1542, PreIndex}, 2571 "al r10 r14 plus 1542 PreIndex", 2572 "PositivePreIndex_al_r10_r14_plus_1542_PreIndex", 2573 ARRAY_SIZE(kPositivePreIndex), 2574 kPositivePreIndex}, 2575 {{al, r8, r12, plus, 1246, PreIndex}, 2576 "al r8 r12 plus 1246 PreIndex", 2577 "PositivePreIndex_al_r8_r12_plus_1246_PreIndex", 2578 ARRAY_SIZE(kPositivePreIndex), 2579 kPositivePreIndex}, 2580 {{al, r0, r10, plus, 770, PreIndex}, 2581 "al r0 r10 plus 770 PreIndex", 2582 "PositivePreIndex_al_r0_r10_plus_770_PreIndex", 2583 ARRAY_SIZE(kPositivePreIndex), 2584 kPositivePreIndex}, 2585 {{al, r5, r8, plus, 3076, PreIndex}, 2586 "al r5 r8 plus 3076 PreIndex", 2587 "PositivePreIndex_al_r5_r8_plus_3076_PreIndex", 2588 ARRAY_SIZE(kPositivePreIndex), 2589 kPositivePreIndex}, 2590 {{al, r3, r10, plus, 3572, PreIndex}, 2591 "al r3 r10 plus 3572 PreIndex", 2592 "PositivePreIndex_al_r3_r10_plus_3572_PreIndex", 2593 ARRAY_SIZE(kPositivePreIndex), 2594 kPositivePreIndex}, 2595 {{al, r11, r8, plus, 2, PreIndex}, 2596 "al r11 r8 plus 2 PreIndex", 2597 "PositivePreIndex_al_r11_r8_plus_2_PreIndex", 2598 ARRAY_SIZE(kPositivePreIndex), 2599 kPositivePreIndex}, 2600 {{al, r12, r1, plus, 670, PreIndex}, 2601 "al r12 r1 plus 670 PreIndex", 2602 "PositivePreIndex_al_r12_r1_plus_670_PreIndex", 2603 ARRAY_SIZE(kPositivePreIndex), 2604 kPositivePreIndex}, 2605 {{al, r6, r4, plus, 251, PreIndex}, 2606 "al r6 r4 plus 251 PreIndex", 2607 "PositivePreIndex_al_r6_r4_plus_251_PreIndex", 2608 ARRAY_SIZE(kPositivePreIndex), 2609 kPositivePreIndex}, 2610 {{al, r10, r2, plus, 2532, PreIndex}, 2611 "al r10 r2 plus 2532 PreIndex", 2612 "PositivePreIndex_al_r10_r2_plus_2532_PreIndex", 2613 ARRAY_SIZE(kPositivePreIndex), 2614 kPositivePreIndex}, 2615 {{al, r4, r14, plus, 2906, PreIndex}, 2616 "al r4 r14 plus 2906 PreIndex", 2617 "PositivePreIndex_al_r4_r14_plus_2906_PreIndex", 2618 ARRAY_SIZE(kPositivePreIndex), 2619 kPositivePreIndex}, 2620 {{al, r3, r5, plus, 2864, PreIndex}, 2621 "al r3 r5 plus 2864 PreIndex", 2622 "PositivePreIndex_al_r3_r5_plus_2864_PreIndex", 2623 ARRAY_SIZE(kPositivePreIndex), 2624 kPositivePreIndex}, 2625 {{al, r9, r7, plus, 53, PreIndex}, 2626 "al r9 r7 plus 53 PreIndex", 2627 "PositivePreIndex_al_r9_r7_plus_53_PreIndex", 2628 ARRAY_SIZE(kPositivePreIndex), 2629 kPositivePreIndex}, 2630 {{al, r0, r12, plus, 2462, PreIndex}, 2631 "al r0 r12 plus 2462 PreIndex", 2632 "PositivePreIndex_al_r0_r12_plus_2462_PreIndex", 2633 ARRAY_SIZE(kPositivePreIndex), 2634 kPositivePreIndex}, 2635 {{al, r3, r1, plus, 2183, PreIndex}, 2636 "al r3 r1 plus 2183 PreIndex", 2637 "PositivePreIndex_al_r3_r1_plus_2183_PreIndex", 2638 ARRAY_SIZE(kPositivePreIndex), 2639 kPositivePreIndex}, 2640 {{al, r4, r14, plus, 3774, PreIndex}, 2641 "al r4 r14 plus 3774 PreIndex", 2642 "PositivePreIndex_al_r4_r14_plus_3774_PreIndex", 2643 ARRAY_SIZE(kPositivePreIndex), 2644 kPositivePreIndex}, 2645 {{al, r8, r0, plus, 3994, PreIndex}, 2646 "al r8 r0 plus 3994 PreIndex", 2647 "PositivePreIndex_al_r8_r0_plus_3994_PreIndex", 2648 ARRAY_SIZE(kPositivePreIndex), 2649 kPositivePreIndex}, 2650 {{al, r1, r5, plus, 3039, PreIndex}, 2651 "al r1 r5 plus 3039 PreIndex", 2652 "PositivePreIndex_al_r1_r5_plus_3039_PreIndex", 2653 ARRAY_SIZE(kPositivePreIndex), 2654 kPositivePreIndex}, 2655 {{al, r3, r12, plus, 3425, PreIndex}, 2656 "al r3 r12 plus 3425 PreIndex", 2657 "PositivePreIndex_al_r3_r12_plus_3425_PreIndex", 2658 ARRAY_SIZE(kPositivePreIndex), 2659 kPositivePreIndex}, 2660 {{al, r14, r9, plus, 4046, PreIndex}, 2661 "al r14 r9 plus 4046 PreIndex", 2662 "PositivePreIndex_al_r14_r9_plus_4046_PreIndex", 2663 ARRAY_SIZE(kPositivePreIndex), 2664 kPositivePreIndex}, 2665 {{al, r10, r11, plus, 2451, PreIndex}, 2666 "al r10 r11 plus 2451 PreIndex", 2667 "PositivePreIndex_al_r10_r11_plus_2451_PreIndex", 2668 ARRAY_SIZE(kPositivePreIndex), 2669 kPositivePreIndex}, 2670 {{al, r6, r9, plus, 3063, PreIndex}, 2671 "al r6 r9 plus 3063 PreIndex", 2672 "PositivePreIndex_al_r6_r9_plus_3063_PreIndex", 2673 ARRAY_SIZE(kPositivePreIndex), 2674 kPositivePreIndex}, 2675 {{al, r3, r1, plus, 3865, PreIndex}, 2676 "al r3 r1 plus 3865 PreIndex", 2677 "PositivePreIndex_al_r3_r1_plus_3865_PreIndex", 2678 ARRAY_SIZE(kPositivePreIndex), 2679 kPositivePreIndex}, 2680 {{al, r14, r4, plus, 1537, PreIndex}, 2681 "al r14 r4 plus 1537 PreIndex", 2682 "PositivePreIndex_al_r14_r4_plus_1537_PreIndex", 2683 ARRAY_SIZE(kPositivePreIndex), 2684 kPositivePreIndex}, 2685 {{al, r9, r6, plus, 3413, PreIndex}, 2686 "al r9 r6 plus 3413 PreIndex", 2687 "PositivePreIndex_al_r9_r6_plus_3413_PreIndex", 2688 ARRAY_SIZE(kPositivePreIndex), 2689 kPositivePreIndex}, 2690 {{al, r2, r1, plus, 2403, PreIndex}, 2691 "al r2 r1 plus 2403 PreIndex", 2692 "PositivePreIndex_al_r2_r1_plus_2403_PreIndex", 2693 ARRAY_SIZE(kPositivePreIndex), 2694 kPositivePreIndex}, 2695 {{al, r14, r4, plus, 2224, PreIndex}, 2696 "al r14 r4 plus 2224 PreIndex", 2697 "PositivePreIndex_al_r14_r4_plus_2224_PreIndex", 2698 ARRAY_SIZE(kPositivePreIndex), 2699 kPositivePreIndex}, 2700 {{al, r4, r5, plus, 3743, PreIndex}, 2701 "al r4 r5 plus 3743 PreIndex", 2702 "PositivePreIndex_al_r4_r5_plus_3743_PreIndex", 2703 ARRAY_SIZE(kPositivePreIndex), 2704 kPositivePreIndex}, 2705 {{al, r6, r1, plus, 1475, PreIndex}, 2706 "al r6 r1 plus 1475 PreIndex", 2707 "PositivePreIndex_al_r6_r1_plus_1475_PreIndex", 2708 ARRAY_SIZE(kPositivePreIndex), 2709 kPositivePreIndex}, 2710 {{al, r10, r8, plus, 132, PreIndex}, 2711 "al r10 r8 plus 132 PreIndex", 2712 "PositivePreIndex_al_r10_r8_plus_132_PreIndex", 2713 ARRAY_SIZE(kPositivePreIndex), 2714 kPositivePreIndex}, 2715 {{al, r6, r10, plus, 1459, PreIndex}, 2716 "al r6 r10 plus 1459 PreIndex", 2717 "PositivePreIndex_al_r6_r10_plus_1459_PreIndex", 2718 ARRAY_SIZE(kPositivePreIndex), 2719 kPositivePreIndex}, 2720 {{al, r12, r8, plus, 2254, PreIndex}, 2721 "al r12 r8 plus 2254 PreIndex", 2722 "PositivePreIndex_al_r12_r8_plus_2254_PreIndex", 2723 ARRAY_SIZE(kPositivePreIndex), 2724 kPositivePreIndex}, 2725 {{al, r4, r0, plus, 3079, PreIndex}, 2726 "al r4 r0 plus 3079 PreIndex", 2727 "PositivePreIndex_al_r4_r0_plus_3079_PreIndex", 2728 ARRAY_SIZE(kPositivePreIndex), 2729 kPositivePreIndex}, 2730 {{al, r9, r14, plus, 3717, PreIndex}, 2731 "al r9 r14 plus 3717 PreIndex", 2732 "PositivePreIndex_al_r9_r14_plus_3717_PreIndex", 2733 ARRAY_SIZE(kPositivePreIndex), 2734 kPositivePreIndex}, 2735 {{al, r2, r10, plus, 2490, PreIndex}, 2736 "al r2 r10 plus 2490 PreIndex", 2737 "PositivePreIndex_al_r2_r10_plus_2490_PreIndex", 2738 ARRAY_SIZE(kPositivePreIndex), 2739 kPositivePreIndex}, 2740 {{al, r2, r8, plus, 210, PreIndex}, 2741 "al r2 r8 plus 210 PreIndex", 2742 "PositivePreIndex_al_r2_r8_plus_210_PreIndex", 2743 ARRAY_SIZE(kPositivePreIndex), 2744 kPositivePreIndex}, 2745 {{al, r5, r2, plus, 2559, PreIndex}, 2746 "al r5 r2 plus 2559 PreIndex", 2747 "PositivePreIndex_al_r5_r2_plus_2559_PreIndex", 2748 ARRAY_SIZE(kPositivePreIndex), 2749 kPositivePreIndex}, 2750 {{al, r4, r11, plus, 2326, PreIndex}, 2751 "al r4 r11 plus 2326 PreIndex", 2752 "PositivePreIndex_al_r4_r11_plus_2326_PreIndex", 2753 ARRAY_SIZE(kPositivePreIndex), 2754 kPositivePreIndex}, 2755 {{al, r7, r1, plus, 4093, PreIndex}, 2756 "al r7 r1 plus 4093 PreIndex", 2757 "PositivePreIndex_al_r7_r1_plus_4093_PreIndex", 2758 ARRAY_SIZE(kPositivePreIndex), 2759 kPositivePreIndex}, 2760 {{al, r8, r1, plus, 663, PreIndex}, 2761 "al r8 r1 plus 663 PreIndex", 2762 "PositivePreIndex_al_r8_r1_plus_663_PreIndex", 2763 ARRAY_SIZE(kPositivePreIndex), 2764 kPositivePreIndex}, 2765 {{al, r9, r3, plus, 1551, PreIndex}, 2766 "al r9 r3 plus 1551 PreIndex", 2767 "PositivePreIndex_al_r9_r3_plus_1551_PreIndex", 2768 ARRAY_SIZE(kPositivePreIndex), 2769 kPositivePreIndex}, 2770 {{al, r3, r14, plus, 1556, PreIndex}, 2771 "al r3 r14 plus 1556 PreIndex", 2772 "PositivePreIndex_al_r3_r14_plus_1556_PreIndex", 2773 ARRAY_SIZE(kPositivePreIndex), 2774 kPositivePreIndex}, 2775 {{al, r6, r9, plus, 1359, PreIndex}, 2776 "al r6 r9 plus 1359 PreIndex", 2777 "PositivePreIndex_al_r6_r9_plus_1359_PreIndex", 2778 ARRAY_SIZE(kPositivePreIndex), 2779 kPositivePreIndex}, 2780 {{al, r2, r7, plus, 3438, PreIndex}, 2781 "al r2 r7 plus 3438 PreIndex", 2782 "PositivePreIndex_al_r2_r7_plus_3438_PreIndex", 2783 ARRAY_SIZE(kPositivePreIndex), 2784 kPositivePreIndex}, 2785 {{al, r7, r5, plus, 1526, PreIndex}, 2786 "al r7 r5 plus 1526 PreIndex", 2787 "PositivePreIndex_al_r7_r5_plus_1526_PreIndex", 2788 ARRAY_SIZE(kPositivePreIndex), 2789 kPositivePreIndex}, 2790 {{al, r12, r7, plus, 57, PreIndex}, 2791 "al r12 r7 plus 57 PreIndex", 2792 "PositivePreIndex_al_r12_r7_plus_57_PreIndex", 2793 ARRAY_SIZE(kPositivePreIndex), 2794 kPositivePreIndex}, 2795 {{al, r12, r0, plus, 3138, PreIndex}, 2796 "al r12 r0 plus 3138 PreIndex", 2797 "PositivePreIndex_al_r12_r0_plus_3138_PreIndex", 2798 ARRAY_SIZE(kPositivePreIndex), 2799 kPositivePreIndex}, 2800 {{al, r4, r11, plus, 672, PreIndex}, 2801 "al r4 r11 plus 672 PreIndex", 2802 "PositivePreIndex_al_r4_r11_plus_672_PreIndex", 2803 ARRAY_SIZE(kPositivePreIndex), 2804 kPositivePreIndex}, 2805 {{al, r10, r14, plus, 689, PreIndex}, 2806 "al r10 r14 plus 689 PreIndex", 2807 "PositivePreIndex_al_r10_r14_plus_689_PreIndex", 2808 ARRAY_SIZE(kPositivePreIndex), 2809 kPositivePreIndex}, 2810 {{al, r1, r8, plus, 3572, PreIndex}, 2811 "al r1 r8 plus 3572 PreIndex", 2812 "PositivePreIndex_al_r1_r8_plus_3572_PreIndex", 2813 ARRAY_SIZE(kPositivePreIndex), 2814 kPositivePreIndex}, 2815 {{al, r8, r6, plus, 3405, PreIndex}, 2816 "al r8 r6 plus 3405 PreIndex", 2817 "PositivePreIndex_al_r8_r6_plus_3405_PreIndex", 2818 ARRAY_SIZE(kPositivePreIndex), 2819 kPositivePreIndex}, 2820 {{al, r11, r0, plus, 1845, PreIndex}, 2821 "al r11 r0 plus 1845 PreIndex", 2822 "PositivePreIndex_al_r11_r0_plus_1845_PreIndex", 2823 ARRAY_SIZE(kPositivePreIndex), 2824 kPositivePreIndex}, 2825 {{al, r11, r3, plus, 791, PreIndex}, 2826 "al r11 r3 plus 791 PreIndex", 2827 "PositivePreIndex_al_r11_r3_plus_791_PreIndex", 2828 ARRAY_SIZE(kPositivePreIndex), 2829 kPositivePreIndex}, 2830 {{al, r4, r11, minus, 479, PreIndex}, 2831 "al r4 r11 minus 479 PreIndex", 2832 "NegativePreIndex_al_r4_r11_minus_479_PreIndex", 2833 ARRAY_SIZE(kNegativePreIndex), 2834 kNegativePreIndex}, 2835 {{al, r1, r10, minus, 3603, PreIndex}, 2836 "al r1 r10 minus 3603 PreIndex", 2837 "NegativePreIndex_al_r1_r10_minus_3603_PreIndex", 2838 ARRAY_SIZE(kNegativePreIndex), 2839 kNegativePreIndex}, 2840 {{al, r7, r9, minus, 704, PreIndex}, 2841 "al r7 r9 minus 704 PreIndex", 2842 "NegativePreIndex_al_r7_r9_minus_704_PreIndex", 2843 ARRAY_SIZE(kNegativePreIndex), 2844 kNegativePreIndex}, 2845 {{al, r5, r1, minus, 1017, PreIndex}, 2846 "al r5 r1 minus 1017 PreIndex", 2847 "NegativePreIndex_al_r5_r1_minus_1017_PreIndex", 2848 ARRAY_SIZE(kNegativePreIndex), 2849 kNegativePreIndex}, 2850 {{al, r3, r5, minus, 1712, PreIndex}, 2851 "al r3 r5 minus 1712 PreIndex", 2852 "NegativePreIndex_al_r3_r5_minus_1712_PreIndex", 2853 ARRAY_SIZE(kNegativePreIndex), 2854 kNegativePreIndex}, 2855 {{al, r8, r2, minus, 2046, PreIndex}, 2856 "al r8 r2 minus 2046 PreIndex", 2857 "NegativePreIndex_al_r8_r2_minus_2046_PreIndex", 2858 ARRAY_SIZE(kNegativePreIndex), 2859 kNegativePreIndex}, 2860 {{al, r14, r5, minus, 1999, PreIndex}, 2861 "al r14 r5 minus 1999 PreIndex", 2862 "NegativePreIndex_al_r14_r5_minus_1999_PreIndex", 2863 ARRAY_SIZE(kNegativePreIndex), 2864 kNegativePreIndex}, 2865 {{al, r5, r4, minus, 2849, PreIndex}, 2866 "al r5 r4 minus 2849 PreIndex", 2867 "NegativePreIndex_al_r5_r4_minus_2849_PreIndex", 2868 ARRAY_SIZE(kNegativePreIndex), 2869 kNegativePreIndex}, 2870 {{al, r9, r14, minus, 263, PreIndex}, 2871 "al r9 r14 minus 263 PreIndex", 2872 "NegativePreIndex_al_r9_r14_minus_263_PreIndex", 2873 ARRAY_SIZE(kNegativePreIndex), 2874 kNegativePreIndex}, 2875 {{al, r7, r1, minus, 517, PreIndex}, 2876 "al r7 r1 minus 517 PreIndex", 2877 "NegativePreIndex_al_r7_r1_minus_517_PreIndex", 2878 ARRAY_SIZE(kNegativePreIndex), 2879 kNegativePreIndex}, 2880 {{al, r14, r10, minus, 1961, PreIndex}, 2881 "al r14 r10 minus 1961 PreIndex", 2882 "NegativePreIndex_al_r14_r10_minus_1961_PreIndex", 2883 ARRAY_SIZE(kNegativePreIndex), 2884 kNegativePreIndex}, 2885 {{al, r7, r14, minus, 1295, PreIndex}, 2886 "al r7 r14 minus 1295 PreIndex", 2887 "NegativePreIndex_al_r7_r14_minus_1295_PreIndex", 2888 ARRAY_SIZE(kNegativePreIndex), 2889 kNegativePreIndex}, 2890 {{al, r1, r8, minus, 213, PreIndex}, 2891 "al r1 r8 minus 213 PreIndex", 2892 "NegativePreIndex_al_r1_r8_minus_213_PreIndex", 2893 ARRAY_SIZE(kNegativePreIndex), 2894 kNegativePreIndex}, 2895 {{al, r10, r9, minus, 2866, PreIndex}, 2896 "al r10 r9 minus 2866 PreIndex", 2897 "NegativePreIndex_al_r10_r9_minus_2866_PreIndex", 2898 ARRAY_SIZE(kNegativePreIndex), 2899 kNegativePreIndex}, 2900 {{al, r14, r6, minus, 1823, PreIndex}, 2901 "al r14 r6 minus 1823 PreIndex", 2902 "NegativePreIndex_al_r14_r6_minus_1823_PreIndex", 2903 ARRAY_SIZE(kNegativePreIndex), 2904 kNegativePreIndex}, 2905 {{al, r1, r14, minus, 2395, PreIndex}, 2906 "al r1 r14 minus 2395 PreIndex", 2907 "NegativePreIndex_al_r1_r14_minus_2395_PreIndex", 2908 ARRAY_SIZE(kNegativePreIndex), 2909 kNegativePreIndex}, 2910 {{al, r1, r6, minus, 2044, PreIndex}, 2911 "al r1 r6 minus 2044 PreIndex", 2912 "NegativePreIndex_al_r1_r6_minus_2044_PreIndex", 2913 ARRAY_SIZE(kNegativePreIndex), 2914 kNegativePreIndex}, 2915 {{al, r3, r5, minus, 3963, PreIndex}, 2916 "al r3 r5 minus 3963 PreIndex", 2917 "NegativePreIndex_al_r3_r5_minus_3963_PreIndex", 2918 ARRAY_SIZE(kNegativePreIndex), 2919 kNegativePreIndex}, 2920 {{al, r7, r8, minus, 3989, PreIndex}, 2921 "al r7 r8 minus 3989 PreIndex", 2922 "NegativePreIndex_al_r7_r8_minus_3989_PreIndex", 2923 ARRAY_SIZE(kNegativePreIndex), 2924 kNegativePreIndex}, 2925 {{al, r2, r0, minus, 3975, PreIndex}, 2926 "al r2 r0 minus 3975 PreIndex", 2927 "NegativePreIndex_al_r2_r0_minus_3975_PreIndex", 2928 ARRAY_SIZE(kNegativePreIndex), 2929 kNegativePreIndex}, 2930 {{al, r0, r10, minus, 481, PreIndex}, 2931 "al r0 r10 minus 481 PreIndex", 2932 "NegativePreIndex_al_r0_r10_minus_481_PreIndex", 2933 ARRAY_SIZE(kNegativePreIndex), 2934 kNegativePreIndex}, 2935 {{al, r1, r11, minus, 3696, PreIndex}, 2936 "al r1 r11 minus 3696 PreIndex", 2937 "NegativePreIndex_al_r1_r11_minus_3696_PreIndex", 2938 ARRAY_SIZE(kNegativePreIndex), 2939 kNegativePreIndex}, 2940 {{al, r12, r9, minus, 371, PreIndex}, 2941 "al r12 r9 minus 371 PreIndex", 2942 "NegativePreIndex_al_r12_r9_minus_371_PreIndex", 2943 ARRAY_SIZE(kNegativePreIndex), 2944 kNegativePreIndex}, 2945 {{al, r3, r9, minus, 2464, PreIndex}, 2946 "al r3 r9 minus 2464 PreIndex", 2947 "NegativePreIndex_al_r3_r9_minus_2464_PreIndex", 2948 ARRAY_SIZE(kNegativePreIndex), 2949 kNegativePreIndex}, 2950 {{al, r3, r0, minus, 1168, PreIndex}, 2951 "al r3 r0 minus 1168 PreIndex", 2952 "NegativePreIndex_al_r3_r0_minus_1168_PreIndex", 2953 ARRAY_SIZE(kNegativePreIndex), 2954 kNegativePreIndex}, 2955 {{al, r10, r0, minus, 1066, PreIndex}, 2956 "al r10 r0 minus 1066 PreIndex", 2957 "NegativePreIndex_al_r10_r0_minus_1066_PreIndex", 2958 ARRAY_SIZE(kNegativePreIndex), 2959 kNegativePreIndex}, 2960 {{al, r9, r1, minus, 1651, PreIndex}, 2961 "al r9 r1 minus 1651 PreIndex", 2962 "NegativePreIndex_al_r9_r1_minus_1651_PreIndex", 2963 ARRAY_SIZE(kNegativePreIndex), 2964 kNegativePreIndex}, 2965 {{al, r5, r0, minus, 3821, PreIndex}, 2966 "al r5 r0 minus 3821 PreIndex", 2967 "NegativePreIndex_al_r5_r0_minus_3821_PreIndex", 2968 ARRAY_SIZE(kNegativePreIndex), 2969 kNegativePreIndex}, 2970 {{al, r1, r6, minus, 2052, PreIndex}, 2971 "al r1 r6 minus 2052 PreIndex", 2972 "NegativePreIndex_al_r1_r6_minus_2052_PreIndex", 2973 ARRAY_SIZE(kNegativePreIndex), 2974 kNegativePreIndex}, 2975 {{al, r4, r12, minus, 490, PreIndex}, 2976 "al r4 r12 minus 490 PreIndex", 2977 "NegativePreIndex_al_r4_r12_minus_490_PreIndex", 2978 ARRAY_SIZE(kNegativePreIndex), 2979 kNegativePreIndex}, 2980 {{al, r5, r3, minus, 1922, PreIndex}, 2981 "al r5 r3 minus 1922 PreIndex", 2982 "NegativePreIndex_al_r5_r3_minus_1922_PreIndex", 2983 ARRAY_SIZE(kNegativePreIndex), 2984 kNegativePreIndex}, 2985 {{al, r14, r5, minus, 875, PreIndex}, 2986 "al r14 r5 minus 875 PreIndex", 2987 "NegativePreIndex_al_r14_r5_minus_875_PreIndex", 2988 ARRAY_SIZE(kNegativePreIndex), 2989 kNegativePreIndex}, 2990 {{al, r10, r2, minus, 2183, PreIndex}, 2991 "al r10 r2 minus 2183 PreIndex", 2992 "NegativePreIndex_al_r10_r2_minus_2183_PreIndex", 2993 ARRAY_SIZE(kNegativePreIndex), 2994 kNegativePreIndex}, 2995 {{al, r9, r4, minus, 1961, PreIndex}, 2996 "al r9 r4 minus 1961 PreIndex", 2997 "NegativePreIndex_al_r9_r4_minus_1961_PreIndex", 2998 ARRAY_SIZE(kNegativePreIndex), 2999 kNegativePreIndex}, 3000 {{al, r3, r5, minus, 3413, PreIndex}, 3001 "al r3 r5 minus 3413 PreIndex", 3002 "NegativePreIndex_al_r3_r5_minus_3413_PreIndex", 3003 ARRAY_SIZE(kNegativePreIndex), 3004 kNegativePreIndex}, 3005 {{al, r4, r14, minus, 2016, PreIndex}, 3006 "al r4 r14 minus 2016 PreIndex", 3007 "NegativePreIndex_al_r4_r14_minus_2016_PreIndex", 3008 ARRAY_SIZE(kNegativePreIndex), 3009 kNegativePreIndex}, 3010 {{al, r0, r3, minus, 484, PreIndex}, 3011 "al r0 r3 minus 484 PreIndex", 3012 "NegativePreIndex_al_r0_r3_minus_484_PreIndex", 3013 ARRAY_SIZE(kNegativePreIndex), 3014 kNegativePreIndex}, 3015 {{al, r11, r14, minus, 322, PreIndex}, 3016 "al r11 r14 minus 322 PreIndex", 3017 "NegativePreIndex_al_r11_r14_minus_322_PreIndex", 3018 ARRAY_SIZE(kNegativePreIndex), 3019 kNegativePreIndex}, 3020 {{al, r0, r5, minus, 2139, PreIndex}, 3021 "al r0 r5 minus 2139 PreIndex", 3022 "NegativePreIndex_al_r0_r5_minus_2139_PreIndex", 3023 ARRAY_SIZE(kNegativePreIndex), 3024 kNegativePreIndex}, 3025 {{al, r9, r14, minus, 2976, PreIndex}, 3026 "al r9 r14 minus 2976 PreIndex", 3027 "NegativePreIndex_al_r9_r14_minus_2976_PreIndex", 3028 ARRAY_SIZE(kNegativePreIndex), 3029 kNegativePreIndex}, 3030 {{al, r10, r0, minus, 2839, PreIndex}, 3031 "al r10 r0 minus 2839 PreIndex", 3032 "NegativePreIndex_al_r10_r0_minus_2839_PreIndex", 3033 ARRAY_SIZE(kNegativePreIndex), 3034 kNegativePreIndex}, 3035 {{al, r4, r2, minus, 2541, PreIndex}, 3036 "al r4 r2 minus 2541 PreIndex", 3037 "NegativePreIndex_al_r4_r2_minus_2541_PreIndex", 3038 ARRAY_SIZE(kNegativePreIndex), 3039 kNegativePreIndex}, 3040 {{al, r7, r0, minus, 3907, PreIndex}, 3041 "al r7 r0 minus 3907 PreIndex", 3042 "NegativePreIndex_al_r7_r0_minus_3907_PreIndex", 3043 ARRAY_SIZE(kNegativePreIndex), 3044 kNegativePreIndex}, 3045 {{al, r5, r14, minus, 3449, PreIndex}, 3046 "al r5 r14 minus 3449 PreIndex", 3047 "NegativePreIndex_al_r5_r14_minus_3449_PreIndex", 3048 ARRAY_SIZE(kNegativePreIndex), 3049 kNegativePreIndex}, 3050 {{al, r8, r14, minus, 2069, PreIndex}, 3051 "al r8 r14 minus 2069 PreIndex", 3052 "NegativePreIndex_al_r8_r14_minus_2069_PreIndex", 3053 ARRAY_SIZE(kNegativePreIndex), 3054 kNegativePreIndex}, 3055 {{al, r5, r6, minus, 3570, PreIndex}, 3056 "al r5 r6 minus 3570 PreIndex", 3057 "NegativePreIndex_al_r5_r6_minus_3570_PreIndex", 3058 ARRAY_SIZE(kNegativePreIndex), 3059 kNegativePreIndex}, 3060 {{al, r11, r4, minus, 811, PreIndex}, 3061 "al r11 r4 minus 811 PreIndex", 3062 "NegativePreIndex_al_r11_r4_minus_811_PreIndex", 3063 ARRAY_SIZE(kNegativePreIndex), 3064 kNegativePreIndex}, 3065 {{al, r5, r8, minus, 1867, PreIndex}, 3066 "al r5 r8 minus 1867 PreIndex", 3067 "NegativePreIndex_al_r5_r8_minus_1867_PreIndex", 3068 ARRAY_SIZE(kNegativePreIndex), 3069 kNegativePreIndex}, 3070 {{al, r8, r7, minus, 3978, PreIndex}, 3071 "al r8 r7 minus 3978 PreIndex", 3072 "NegativePreIndex_al_r8_r7_minus_3978_PreIndex", 3073 ARRAY_SIZE(kNegativePreIndex), 3074 kNegativePreIndex}, 3075 {{al, r6, r11, minus, 3438, PreIndex}, 3076 "al r6 r11 minus 3438 PreIndex", 3077 "NegativePreIndex_al_r6_r11_minus_3438_PreIndex", 3078 ARRAY_SIZE(kNegativePreIndex), 3079 kNegativePreIndex}, 3080 {{al, r9, r0, minus, 669, PreIndex}, 3081 "al r9 r0 minus 669 PreIndex", 3082 "NegativePreIndex_al_r9_r0_minus_669_PreIndex", 3083 ARRAY_SIZE(kNegativePreIndex), 3084 kNegativePreIndex}, 3085 {{al, r2, r7, minus, 1916, PreIndex}, 3086 "al r2 r7 minus 1916 PreIndex", 3087 "NegativePreIndex_al_r2_r7_minus_1916_PreIndex", 3088 ARRAY_SIZE(kNegativePreIndex), 3089 kNegativePreIndex}, 3090 {{al, r12, r6, minus, 3949, PreIndex}, 3091 "al r12 r6 minus 3949 PreIndex", 3092 "NegativePreIndex_al_r12_r6_minus_3949_PreIndex", 3093 ARRAY_SIZE(kNegativePreIndex), 3094 kNegativePreIndex}, 3095 {{al, r2, r14, minus, 496, PreIndex}, 3096 "al r2 r14 minus 496 PreIndex", 3097 "NegativePreIndex_al_r2_r14_minus_496_PreIndex", 3098 ARRAY_SIZE(kNegativePreIndex), 3099 kNegativePreIndex}, 3100 {{al, r2, r9, minus, 3914, PreIndex}, 3101 "al r2 r9 minus 3914 PreIndex", 3102 "NegativePreIndex_al_r2_r9_minus_3914_PreIndex", 3103 ARRAY_SIZE(kNegativePreIndex), 3104 kNegativePreIndex}, 3105 {{al, r11, r2, minus, 1377, PreIndex}, 3106 "al r11 r2 minus 1377 PreIndex", 3107 "NegativePreIndex_al_r11_r2_minus_1377_PreIndex", 3108 ARRAY_SIZE(kNegativePreIndex), 3109 kNegativePreIndex}, 3110 {{al, r8, r7, minus, 3007, PreIndex}, 3111 "al r8 r7 minus 3007 PreIndex", 3112 "NegativePreIndex_al_r8_r7_minus_3007_PreIndex", 3113 ARRAY_SIZE(kNegativePreIndex), 3114 kNegativePreIndex}, 3115 {{al, r9, r1, minus, 496, PreIndex}, 3116 "al r9 r1 minus 496 PreIndex", 3117 "NegativePreIndex_al_r9_r1_minus_496_PreIndex", 3118 ARRAY_SIZE(kNegativePreIndex), 3119 kNegativePreIndex}, 3120 {{al, r11, r7, minus, 138, PreIndex}, 3121 "al r11 r7 minus 138 PreIndex", 3122 "NegativePreIndex_al_r11_r7_minus_138_PreIndex", 3123 ARRAY_SIZE(kNegativePreIndex), 3124 kNegativePreIndex}, 3125 {{al, r0, r3, minus, 732, PreIndex}, 3126 "al r0 r3 minus 732 PreIndex", 3127 "NegativePreIndex_al_r0_r3_minus_732_PreIndex", 3128 ARRAY_SIZE(kNegativePreIndex), 3129 kNegativePreIndex}, 3130 {{al, r9, r14, minus, 1635, PreIndex}, 3131 "al r9 r14 minus 1635 PreIndex", 3132 "NegativePreIndex_al_r9_r14_minus_1635_PreIndex", 3133 ARRAY_SIZE(kNegativePreIndex), 3134 kNegativePreIndex}, 3135 {{al, r3, r0, minus, 2119, PreIndex}, 3136 "al r3 r0 minus 2119 PreIndex", 3137 "NegativePreIndex_al_r3_r0_minus_2119_PreIndex", 3138 ARRAY_SIZE(kNegativePreIndex), 3139 kNegativePreIndex}, 3140 {{al, r3, r14, minus, 1585, PreIndex}, 3141 "al r3 r14 minus 1585 PreIndex", 3142 "NegativePreIndex_al_r3_r14_minus_1585_PreIndex", 3143 ARRAY_SIZE(kNegativePreIndex), 3144 kNegativePreIndex}, 3145 {{al, r8, r11, minus, 831, PreIndex}, 3146 "al r8 r11 minus 831 PreIndex", 3147 "NegativePreIndex_al_r8_r11_minus_831_PreIndex", 3148 ARRAY_SIZE(kNegativePreIndex), 3149 kNegativePreIndex}, 3150 {{al, r11, r3, minus, 470, PreIndex}, 3151 "al r11 r3 minus 470 PreIndex", 3152 "NegativePreIndex_al_r11_r3_minus_470_PreIndex", 3153 ARRAY_SIZE(kNegativePreIndex), 3154 kNegativePreIndex}, 3155 {{al, r12, r6, minus, 47, PreIndex}, 3156 "al r12 r6 minus 47 PreIndex", 3157 "NegativePreIndex_al_r12_r6_minus_47_PreIndex", 3158 ARRAY_SIZE(kNegativePreIndex), 3159 kNegativePreIndex}, 3160 {{al, r1, r2, minus, 1542, PreIndex}, 3161 "al r1 r2 minus 1542 PreIndex", 3162 "NegativePreIndex_al_r1_r2_minus_1542_PreIndex", 3163 ARRAY_SIZE(kNegativePreIndex), 3164 kNegativePreIndex}, 3165 {{al, r11, r7, minus, 2442, PreIndex}, 3166 "al r11 r7 minus 2442 PreIndex", 3167 "NegativePreIndex_al_r11_r7_minus_2442_PreIndex", 3168 ARRAY_SIZE(kNegativePreIndex), 3169 kNegativePreIndex}, 3170 {{al, r7, r10, minus, 1896, PreIndex}, 3171 "al r7 r10 minus 1896 PreIndex", 3172 "NegativePreIndex_al_r7_r10_minus_1896_PreIndex", 3173 ARRAY_SIZE(kNegativePreIndex), 3174 kNegativePreIndex}, 3175 {{al, r14, r6, minus, 3504, PreIndex}, 3176 "al r14 r6 minus 3504 PreIndex", 3177 "NegativePreIndex_al_r14_r6_minus_3504_PreIndex", 3178 ARRAY_SIZE(kNegativePreIndex), 3179 kNegativePreIndex}, 3180 {{al, r11, r5, minus, 1872, PreIndex}, 3181 "al r11 r5 minus 1872 PreIndex", 3182 "NegativePreIndex_al_r11_r5_minus_1872_PreIndex", 3183 ARRAY_SIZE(kNegativePreIndex), 3184 kNegativePreIndex}, 3185 {{al, r14, r11, minus, 386, PreIndex}, 3186 "al r14 r11 minus 386 PreIndex", 3187 "NegativePreIndex_al_r14_r11_minus_386_PreIndex", 3188 ARRAY_SIZE(kNegativePreIndex), 3189 kNegativePreIndex}, 3190 {{al, r3, r12, minus, 2483, PreIndex}, 3191 "al r3 r12 minus 2483 PreIndex", 3192 "NegativePreIndex_al_r3_r12_minus_2483_PreIndex", 3193 ARRAY_SIZE(kNegativePreIndex), 3194 kNegativePreIndex}, 3195 {{al, r6, r2, minus, 2052, PreIndex}, 3196 "al r6 r2 minus 2052 PreIndex", 3197 "NegativePreIndex_al_r6_r2_minus_2052_PreIndex", 3198 ARRAY_SIZE(kNegativePreIndex), 3199 kNegativePreIndex}, 3200 {{al, r4, r10, minus, 1399, PreIndex}, 3201 "al r4 r10 minus 1399 PreIndex", 3202 "NegativePreIndex_al_r4_r10_minus_1399_PreIndex", 3203 ARRAY_SIZE(kNegativePreIndex), 3204 kNegativePreIndex}, 3205 {{al, r3, r5, minus, 1027, PreIndex}, 3206 "al r3 r5 minus 1027 PreIndex", 3207 "NegativePreIndex_al_r3_r5_minus_1027_PreIndex", 3208 ARRAY_SIZE(kNegativePreIndex), 3209 kNegativePreIndex}, 3210 {{al, r10, r14, minus, 2627, PreIndex}, 3211 "al r10 r14 minus 2627 PreIndex", 3212 "NegativePreIndex_al_r10_r14_minus_2627_PreIndex", 3213 ARRAY_SIZE(kNegativePreIndex), 3214 kNegativePreIndex}, 3215 {{al, r3, r9, minus, 2728, PreIndex}, 3216 "al r3 r9 minus 2728 PreIndex", 3217 "NegativePreIndex_al_r3_r9_minus_2728_PreIndex", 3218 ARRAY_SIZE(kNegativePreIndex), 3219 kNegativePreIndex}, 3220 {{al, r14, r8, minus, 2475, PreIndex}, 3221 "al r14 r8 minus 2475 PreIndex", 3222 "NegativePreIndex_al_r14_r8_minus_2475_PreIndex", 3223 ARRAY_SIZE(kNegativePreIndex), 3224 kNegativePreIndex}, 3225 {{al, r14, r5, minus, 510, PreIndex}, 3226 "al r14 r5 minus 510 PreIndex", 3227 "NegativePreIndex_al_r14_r5_minus_510_PreIndex", 3228 ARRAY_SIZE(kNegativePreIndex), 3229 kNegativePreIndex}, 3230 {{al, r14, r3, minus, 2311, PreIndex}, 3231 "al r14 r3 minus 2311 PreIndex", 3232 "NegativePreIndex_al_r14_r3_minus_2311_PreIndex", 3233 ARRAY_SIZE(kNegativePreIndex), 3234 kNegativePreIndex}, 3235 {{al, r7, r12, minus, 2792, PreIndex}, 3236 "al r7 r12 minus 2792 PreIndex", 3237 "NegativePreIndex_al_r7_r12_minus_2792_PreIndex", 3238 ARRAY_SIZE(kNegativePreIndex), 3239 kNegativePreIndex}, 3240 {{al, r4, r14, minus, 1655, PreIndex}, 3241 "al r4 r14 minus 1655 PreIndex", 3242 "NegativePreIndex_al_r4_r14_minus_1655_PreIndex", 3243 ARRAY_SIZE(kNegativePreIndex), 3244 kNegativePreIndex}, 3245 {{al, r10, r5, minus, 3282, PreIndex}, 3246 "al r10 r5 minus 3282 PreIndex", 3247 "NegativePreIndex_al_r10_r5_minus_3282_PreIndex", 3248 ARRAY_SIZE(kNegativePreIndex), 3249 kNegativePreIndex}, 3250 {{al, r11, r7, minus, 3472, PreIndex}, 3251 "al r11 r7 minus 3472 PreIndex", 3252 "NegativePreIndex_al_r11_r7_minus_3472_PreIndex", 3253 ARRAY_SIZE(kNegativePreIndex), 3254 kNegativePreIndex}, 3255 {{al, r14, r1, minus, 3266, PreIndex}, 3256 "al r14 r1 minus 3266 PreIndex", 3257 "NegativePreIndex_al_r14_r1_minus_3266_PreIndex", 3258 ARRAY_SIZE(kNegativePreIndex), 3259 kNegativePreIndex}, 3260 {{al, r5, r1, minus, 3256, PreIndex}, 3261 "al r5 r1 minus 3256 PreIndex", 3262 "NegativePreIndex_al_r5_r1_minus_3256_PreIndex", 3263 ARRAY_SIZE(kNegativePreIndex), 3264 kNegativePreIndex}, 3265 {{al, r7, r11, minus, 4, PreIndex}, 3266 "al r7 r11 minus 4 PreIndex", 3267 "NegativePreIndex_al_r7_r11_minus_4_PreIndex", 3268 ARRAY_SIZE(kNegativePreIndex), 3269 kNegativePreIndex}, 3270 {{al, r9, r3, minus, 1695, PreIndex}, 3271 "al r9 r3 minus 1695 PreIndex", 3272 "NegativePreIndex_al_r9_r3_minus_1695_PreIndex", 3273 ARRAY_SIZE(kNegativePreIndex), 3274 kNegativePreIndex}, 3275 {{al, r8, r1, minus, 2326, PreIndex}, 3276 "al r8 r1 minus 2326 PreIndex", 3277 "NegativePreIndex_al_r8_r1_minus_2326_PreIndex", 3278 ARRAY_SIZE(kNegativePreIndex), 3279 kNegativePreIndex}, 3280 {{al, r2, r14, minus, 1651, PreIndex}, 3281 "al r2 r14 minus 1651 PreIndex", 3282 "NegativePreIndex_al_r2_r14_minus_1651_PreIndex", 3283 ARRAY_SIZE(kNegativePreIndex), 3284 kNegativePreIndex}, 3285 {{al, r3, r1, minus, 955, PreIndex}, 3286 "al r3 r1 minus 955 PreIndex", 3287 "NegativePreIndex_al_r3_r1_minus_955_PreIndex", 3288 ARRAY_SIZE(kNegativePreIndex), 3289 kNegativePreIndex}, 3290 {{al, r0, r9, minus, 3443, PreIndex}, 3291 "al r0 r9 minus 3443 PreIndex", 3292 "NegativePreIndex_al_r0_r9_minus_3443_PreIndex", 3293 ARRAY_SIZE(kNegativePreIndex), 3294 kNegativePreIndex}, 3295 {{al, r14, r10, minus, 1017, PreIndex}, 3296 "al r14 r10 minus 1017 PreIndex", 3297 "NegativePreIndex_al_r14_r10_minus_1017_PreIndex", 3298 ARRAY_SIZE(kNegativePreIndex), 3299 kNegativePreIndex}, 3300 {{al, r4, r3, minus, 2703, PreIndex}, 3301 "al r4 r3 minus 2703 PreIndex", 3302 "NegativePreIndex_al_r4_r3_minus_2703_PreIndex", 3303 ARRAY_SIZE(kNegativePreIndex), 3304 kNegativePreIndex}, 3305 {{al, r8, r10, minus, 831, PreIndex}, 3306 "al r8 r10 minus 831 PreIndex", 3307 "NegativePreIndex_al_r8_r10_minus_831_PreIndex", 3308 ARRAY_SIZE(kNegativePreIndex), 3309 kNegativePreIndex}, 3310 {{al, r5, r6, minus, 3194, PreIndex}, 3311 "al r5 r6 minus 3194 PreIndex", 3312 "NegativePreIndex_al_r5_r6_minus_3194_PreIndex", 3313 ARRAY_SIZE(kNegativePreIndex), 3314 kNegativePreIndex}, 3315 {{al, r2, r3, minus, 3607, PreIndex}, 3316 "al r2 r3 minus 3607 PreIndex", 3317 "NegativePreIndex_al_r2_r3_minus_3607_PreIndex", 3318 ARRAY_SIZE(kNegativePreIndex), 3319 kNegativePreIndex}, 3320 {{al, r14, r7, minus, 2119, PreIndex}, 3321 "al r14 r7 minus 2119 PreIndex", 3322 "NegativePreIndex_al_r14_r7_minus_2119_PreIndex", 3323 ARRAY_SIZE(kNegativePreIndex), 3324 kNegativePreIndex}, 3325 {{al, r4, r3, minus, 2559, PreIndex}, 3326 "al r4 r3 minus 2559 PreIndex", 3327 "NegativePreIndex_al_r4_r3_minus_2559_PreIndex", 3328 ARRAY_SIZE(kNegativePreIndex), 3329 kNegativePreIndex}}; 3330 3331 // We record all inputs to the instructions as outputs. This way, we also check 3332 // that what shouldn't change didn't change. 3333 struct TestResult { 3334 size_t output_size; 3335 const Inputs* outputs; 3336 }; 3337 3338 // These headers each contain an array of `TestResult` with the reference output 3339 // values. The reference arrays are names `kReference{mnemonic}`. 3340 #include "aarch32/traces/simulator-cond-rd-memop-immediate-8192-a32-ldr.h" 3341 #include "aarch32/traces/simulator-cond-rd-memop-immediate-8192-a32-ldrb.h" 3342 #include "aarch32/traces/simulator-cond-rd-memop-immediate-8192-a32-str.h" 3343 #include "aarch32/traces/simulator-cond-rd-memop-immediate-8192-a32-strb.h" 3344 3345 3346 // The maximum number of errors to report in detail for each test. 3347 const unsigned kErrorReportLimit = 8; 3348 3349 typedef void (MacroAssembler::*Fn)(Condition cond, 3350 Register rd, 3351 const MemOperand& memop); 3352 3353 void TestHelper(Fn instruction, 3354 const char* mnemonic, 3355 const TestResult reference[]) { 3356 SETUP(); 3357 masm.UseA32(); 3358 START(); 3359 3360 // Data to compare to `reference`. 3361 TestResult* results[ARRAY_SIZE(kTests)]; 3362 3363 // Test cases for memory bound instructions may allocate a buffer and save its 3364 // address in this array. 3365 byte* scratch_memory_buffers[ARRAY_SIZE(kTests)]; 3366 3367 // Generate a loop for each element in `kTests`. Each loop tests one specific 3368 // instruction. 3369 for (unsigned i = 0; i < ARRAY_SIZE(kTests); i++) { 3370 // Allocate results on the heap for this test. 3371 results[i] = new TestResult; 3372 results[i]->outputs = new Inputs[kTests[i].input_size]; 3373 results[i]->output_size = kTests[i].input_size; 3374 3375 size_t input_stride = sizeof(kTests[i].inputs[0]) * kTests[i].input_size; 3376 VIXL_ASSERT(IsUint32(input_stride)); 3377 3378 scratch_memory_buffers[i] = NULL; 3379 3380 Label loop; 3381 UseScratchRegisterScope scratch_registers(&masm); 3382 // Include all registers from r0 ro r12. 3383 scratch_registers.Include(RegisterList(0x1fff)); 3384 3385 // Values to pass to the macro-assembler. 3386 Condition cond = kTests[i].operands.cond; 3387 Register rd = kTests[i].operands.rd; 3388 Register rn = kTests[i].operands.rn; 3389 Sign sign = kTests[i].operands.sign; 3390 int32_t offset = kTests[i].operands.offset; 3391 AddrMode addr_mode = kTests[i].operands.addr_mode; 3392 MemOperand memop(rn, sign, offset, addr_mode); 3393 scratch_registers.Exclude(rd); 3394 scratch_registers.Exclude(rn); 3395 3396 // Allocate reserved registers for our own use. 3397 Register input_ptr = scratch_registers.Acquire(); 3398 Register input_end = scratch_registers.Acquire(); 3399 Register result_ptr = scratch_registers.Acquire(); 3400 3401 // Initialize `input_ptr` to the first element and `input_end` the address 3402 // after the array. 3403 __ Mov(input_ptr, Operand::From(kTests[i].inputs)); 3404 __ Add(input_end, input_ptr, static_cast<uint32_t>(input_stride)); 3405 __ Mov(result_ptr, Operand::From(results[i]->outputs)); 3406 __ Bind(&loop); 3407 3408 { 3409 UseScratchRegisterScope temp_registers(&masm); 3410 Register nzcv_bits = temp_registers.Acquire(); 3411 Register saved_q_bit = temp_registers.Acquire(); 3412 // Save the `Q` bit flag. 3413 __ Mrs(saved_q_bit, APSR); 3414 __ And(saved_q_bit, saved_q_bit, QFlag); 3415 // Set the `NZCV` and `Q` flags together. 3416 __ Ldr(nzcv_bits, MemOperand(input_ptr, offsetof(Inputs, apsr))); 3417 __ Orr(nzcv_bits, nzcv_bits, saved_q_bit); 3418 __ Msr(APSR_nzcvq, nzcv_bits); 3419 } 3420 __ Ldr(rd, MemOperand(input_ptr, offsetof(Inputs, rd))); 3421 // Allocate 4 bytes for the instruction to work with. 3422 scratch_memory_buffers[i] = new byte[4]; 3423 { 3424 UseScratchRegisterScope temp_registers(&masm); 3425 3426 Register memop_tmp = temp_registers.Acquire(); 3427 Register base_register = memop.GetBaseRegister(); 3428 3429 // Write the expected data into the scratch buffer. 3430 __ Mov(base_register, Operand::From(scratch_memory_buffers[i])); 3431 __ Ldr(memop_tmp, MemOperand(input_ptr, offsetof(Inputs, memop) + 4)); 3432 __ Str(memop_tmp, MemOperand(base_register)); 3433 3434 // Compute the address to put into the base register so that the 3435 // `MemOperand` points to the right location. 3436 // TODO: Support more kinds of `MemOperand`. 3437 if (!memop.IsPostIndex()) { 3438 if (memop.IsImmediate()) { 3439 if (memop.GetSign().IsPlus()) { 3440 __ Mov(memop_tmp, memop.GetOffsetImmediate()); 3441 __ Sub(base_register, base_register, memop_tmp); 3442 } else { 3443 __ Mov(memop_tmp, -memop.GetOffsetImmediate()); 3444 __ Add(base_register, base_register, memop_tmp); 3445 } 3446 } else if (memop.IsShiftedRegister()) { 3447 __ Mov(memop_tmp, 3448 Operand(memop.GetOffsetRegister(), 3449 memop.GetShift(), 3450 memop.GetShiftAmount())); 3451 if (memop.GetSign().IsPlus()) { 3452 __ Sub(base_register, base_register, memop_tmp); 3453 } else { 3454 __ Add(base_register, base_register, memop_tmp); 3455 } 3456 } 3457 } 3458 } 3459 3460 3461 (masm.*instruction)(cond, rd, memop); 3462 3463 { 3464 UseScratchRegisterScope temp_registers(&masm); 3465 Register nzcv_bits = temp_registers.Acquire(); 3466 __ Mrs(nzcv_bits, APSR); 3467 // Only record the NZCV bits. 3468 __ And(nzcv_bits, nzcv_bits, NZCVFlag); 3469 __ Str(nzcv_bits, MemOperand(result_ptr, offsetof(Inputs, apsr))); 3470 } 3471 __ Str(rd, MemOperand(result_ptr, offsetof(Inputs, rd))); 3472 { 3473 UseScratchRegisterScope temp_registers(&masm); 3474 Register memop_tmp = temp_registers.Acquire(); 3475 Register base_register = memop.GetBaseRegister(); 3476 3477 // Compute the address of the scratch buffer by from the base register. If 3478 // the instruction has updated the base register, we will be able to 3479 // record it. 3480 if (!memop.IsPostIndex()) { 3481 if (memop.IsImmediate()) { 3482 if (memop.GetSign().IsPlus()) { 3483 __ Mov(memop_tmp, memop.GetOffsetImmediate()); 3484 __ Add(base_register, base_register, memop_tmp); 3485 } else { 3486 __ Mov(memop_tmp, -memop.GetOffsetImmediate()); 3487 __ Sub(base_register, base_register, memop_tmp); 3488 } 3489 } else if (memop.IsShiftedRegister()) { 3490 __ Mov(memop_tmp, 3491 Operand(memop.GetOffsetRegister(), 3492 memop.GetShift(), 3493 memop.GetShiftAmount())); 3494 if (memop.GetSign().IsPlus()) { 3495 __ Add(base_register, base_register, memop_tmp); 3496 } else { 3497 __ Sub(base_register, base_register, memop_tmp); 3498 } 3499 } 3500 } 3501 3502 // Record the value of the base register, as an offset from the scratch 3503 // buffer's address. 3504 __ Mov(memop_tmp, Operand::From(scratch_memory_buffers[i])); 3505 __ Sub(base_register, base_register, memop_tmp); 3506 __ Str(base_register, MemOperand(result_ptr, offsetof(Inputs, memop))); 3507 3508 // Record the 32 bit word from memory. 3509 __ Ldr(memop_tmp, MemOperand(memop_tmp)); 3510 __ Str(memop_tmp, MemOperand(result_ptr, offsetof(Inputs, memop) + 4)); 3511 } 3512 3513 3514 // Advance the result pointer. 3515 __ Add(result_ptr, result_ptr, Operand::From(sizeof(kTests[i].inputs[0]))); 3516 // Loop back until `input_ptr` is lower than `input_base`. 3517 __ Add(input_ptr, input_ptr, Operand::From(sizeof(kTests[i].inputs[0]))); 3518 __ Cmp(input_ptr, input_end); 3519 __ B(ne, &loop); 3520 } 3521 3522 END(); 3523 3524 RUN(); 3525 3526 if (Test::generate_test_trace()) { 3527 // Print the results. 3528 for (size_t i = 0; i < ARRAY_SIZE(kTests); i++) { 3529 printf("const Inputs kOutputs_%s_%s[] = {\n", 3530 mnemonic, 3531 kTests[i].identifier); 3532 for (size_t j = 0; j < results[i]->output_size; j++) { 3533 printf(" { "); 3534 printf("0x%08" PRIx32, results[i]->outputs[j].apsr); 3535 printf(", "); 3536 printf("0x%08" PRIx32, results[i]->outputs[j].rd); 3537 printf(", "); 3538 printf("{0x%08" PRIx32 ", 0x%08" PRIx32 "}", 3539 results[i]->outputs[j].memop[0], 3540 results[i]->outputs[j].memop[1]); 3541 printf(" },\n"); 3542 } 3543 printf("};\n"); 3544 } 3545 printf("const TestResult kReference%s[] = {\n", mnemonic); 3546 for (size_t i = 0; i < ARRAY_SIZE(kTests); i++) { 3547 printf(" {\n"); 3548 printf(" ARRAY_SIZE(kOutputs_%s_%s),\n", 3549 mnemonic, 3550 kTests[i].identifier); 3551 printf(" kOutputs_%s_%s,\n", mnemonic, kTests[i].identifier); 3552 printf(" },\n"); 3553 } 3554 printf("};\n"); 3555 } else if (kCheckSimulatorTestResults) { 3556 // Check the results. 3557 unsigned total_error_count = 0; 3558 for (size_t i = 0; i < ARRAY_SIZE(kTests); i++) { 3559 bool instruction_has_errors = false; 3560 for (size_t j = 0; j < kTests[i].input_size; j++) { 3561 uint32_t apsr = results[i]->outputs[j].apsr; 3562 uint32_t rd = results[i]->outputs[j].rd; 3563 uint32_t memop[2] = {results[i]->outputs[j].memop[0], 3564 results[i]->outputs[j].memop[1]}; 3565 3566 uint32_t apsr_input = kTests[i].inputs[j].apsr; 3567 uint32_t rd_input = kTests[i].inputs[j].rd; 3568 uint32_t memop_input[2] = {kTests[i].inputs[j].memop[0], 3569 kTests[i].inputs[j].memop[1]}; 3570 3571 uint32_t apsr_ref = reference[i].outputs[j].apsr; 3572 uint32_t rd_ref = reference[i].outputs[j].rd; 3573 uint32_t memop_ref[2] = {results[i]->outputs[j].memop[0], 3574 results[i]->outputs[j].memop[1]}; 3575 3576 3577 if (((apsr != apsr_ref) || (rd != rd_ref) || 3578 ((memop[0] != memop_ref[0]) && (memop[1] != memop_ref[1]))) && 3579 (++total_error_count <= kErrorReportLimit)) { 3580 // Print the instruction once even if it triggered multiple failures. 3581 if (!instruction_has_errors) { 3582 printf("Error(s) when testing \"%s %s\":\n", 3583 mnemonic, 3584 kTests[i].operands_description); 3585 instruction_has_errors = true; 3586 } 3587 // Print subsequent errors. 3588 printf(" Input: "); 3589 printf("0x%08" PRIx32, apsr_input); 3590 printf(", "); 3591 printf("0x%08" PRIx32, rd_input); 3592 printf(", "); 3593 printf("{0x%08" PRIx32 ", 0x%08" PRIx32 "}", 3594 memop_input[0], 3595 memop_input[1]); 3596 printf("\n"); 3597 printf(" Expected: "); 3598 printf("0x%08" PRIx32, apsr_ref); 3599 printf(", "); 3600 printf("0x%08" PRIx32, rd_ref); 3601 printf(", "); 3602 printf("{0x%08" PRIx32 ", 0x%08" PRIx32 "}", 3603 memop_ref[0], 3604 memop_ref[1]); 3605 printf("\n"); 3606 printf(" Found: "); 3607 printf("0x%08" PRIx32, apsr); 3608 printf(", "); 3609 printf("0x%08" PRIx32, rd); 3610 printf(", "); 3611 printf("{0x%08" PRIx32 ", 0x%08" PRIx32 "}", memop[0], memop[1]); 3612 printf("\n\n"); 3613 } 3614 } 3615 } 3616 3617 if (total_error_count > kErrorReportLimit) { 3618 printf("%u other errors follow.\n", 3619 total_error_count - kErrorReportLimit); 3620 } 3621 VIXL_CHECK(total_error_count == 0); 3622 } else { 3623 VIXL_WARNING("Assembled the code, but did not run anything.\n"); 3624 } 3625 3626 for (size_t i = 0; i < ARRAY_SIZE(kTests); i++) { 3627 delete[] results[i]->outputs; 3628 delete results[i]; 3629 delete[] scratch_memory_buffers[i]; 3630 } 3631 3632 TEARDOWN(); 3633 } 3634 3635 // Instantiate tests for each instruction in the list. 3636 // TODO: Remove this limitation by having a sandboxing mechanism. 3637 #if defined(VIXL_HOST_POINTER_32) 3638 #define TEST(mnemonic) \ 3639 void Test_##mnemonic() { \ 3640 TestHelper(&MacroAssembler::mnemonic, #mnemonic, kReference##mnemonic); \ 3641 } \ 3642 Test test_##mnemonic( \ 3643 "AARCH32_SIMULATOR_COND_RD_MEMOP_IMMEDIATE_8192_A32_" #mnemonic, \ 3644 &Test_##mnemonic); 3645 #else 3646 #define TEST(mnemonic) \ 3647 void Test_##mnemonic() { \ 3648 VIXL_WARNING("This test can only run on a 32-bit host.\n"); \ 3649 USE(TestHelper); \ 3650 } \ 3651 Test test_##mnemonic( \ 3652 "AARCH32_SIMULATOR_COND_RD_MEMOP_IMMEDIATE_8192_A32_" #mnemonic, \ 3653 &Test_##mnemonic); 3654 #endif 3655 3656 FOREACH_INSTRUCTION(TEST) 3657 #undef TEST 3658 3659 } // namespace 3660 #endif 3661 3662 } // namespace aarch32 3663 } // namespace vixl 3664