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