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