1 2 /* How to compile: 3 gcc -O -g -Wall -mcpu=cortex-a8 -o v6intThumb none/tests/arm/v6intThumb.c 4 */ 5 6 #include <stdio.h> 7 8 static int gen_cvin(int cvin) 9 { 10 int r = ((cvin & 2) ? (1<<29) : 0) | ((cvin & 1) ? (1<<28) : 0); 11 r |= (1 << 31) | (1 << 30); 12 return r; 13 } 14 15 /* test macros to generate and output the result of a single instruction */ 16 17 18 // 1 registers in the insn, zero args: rD = op() 19 #define TESTINST1(instruction, RD, cvin) \ 20 { \ 21 unsigned int out; \ 22 unsigned int cpsr; \ 23 \ 24 __asm__ volatile( \ 25 "msr cpsr_f, %2;" \ 26 instruction ";" \ 27 "mov %0," #RD ";" \ 28 "mrs %1,cpsr;" \ 29 : "=&r" (out), "=&r" (cpsr) \ 30 : "r" (gen_cvin(cvin)) \ 31 : #RD, "cc", "memory" \ 32 ); \ 33 printf("%s :: rd 0x%08x, c:v-in %d, cpsr 0x%08x %c%c%c%c\n", \ 34 instruction, out, \ 35 cvin, \ 36 cpsr & 0xffff0000, \ 37 ((1<<31) & cpsr) ? 'N' : ' ', \ 38 ((1<<30) & cpsr) ? 'Z' : ' ', \ 39 ((1<<29) & cpsr) ? 'C' : ' ', \ 40 ((1<<28) & cpsr) ? 'V' : ' ' \ 41 ); \ 42 } 43 44 45 46 // 1 registers in the insn, one args: rD = op(rD) 47 #define TESTINST1x(instruction, RDval, RD, cvin) \ 48 { \ 49 unsigned int out; \ 50 unsigned int cpsr; \ 51 \ 52 __asm__ volatile( \ 53 "msr cpsr_f, %2;" \ 54 "mov " #RD ",%3;" \ 55 instruction ";" \ 56 "mov %0," #RD ";" \ 57 "mrs %1,cpsr;" \ 58 : "=&r" (out), "=&r" (cpsr) \ 59 : "r" (gen_cvin(cvin)), "r"(RDval) \ 60 : #RD, "cc", "memory" \ 61 ); \ 62 printf("%s :: rd 0x%08x, c:v-in %d, cpsr 0x%08x %c%c%c%c\n", \ 63 instruction, out, \ 64 cvin, \ 65 cpsr & 0xffff0000, \ 66 ((1<<31) & cpsr) ? 'N' : ' ', \ 67 ((1<<30) & cpsr) ? 'Z' : ' ', \ 68 ((1<<29) & cpsr) ? 'C' : ' ', \ 69 ((1<<28) & cpsr) ? 'V' : ' ' \ 70 ); \ 71 } 72 73 // 2 registers in the insn, one arg: rD = op(rM) 74 #define TESTINST2(instruction, RMval, RD, RM, cvin) \ 75 { \ 76 unsigned int out; \ 77 unsigned int cpsr; \ 78 \ 79 __asm__ volatile( \ 80 "msr cpsr_f, %3;" \ 81 "mov " #RM ",%2;" \ 82 /* set #RD to 0x55555555 so we can see which parts get overwritten */ \ 83 "mov " #RD ", #0x55" "\n\t" \ 84 "orr " #RD "," #RD "," #RD ", LSL #8" "\n\t" \ 85 "orr " #RD "," #RD "," #RD ", LSL #16" "\n\t" \ 86 instruction ";" \ 87 "mov %0," #RD ";" \ 88 "mrs %1,cpsr;" \ 89 : "=&r" (out), "=&r" (cpsr) \ 90 : "r" (RMval), "r" (gen_cvin(cvin)) \ 91 : #RD, #RM, "cc", "memory" \ 92 ); \ 93 printf("%s :: rd 0x%08x rm 0x%08x, c:v-in %d, cpsr 0x%08x %c%c%c%c\n", \ 94 instruction, out, RMval, \ 95 cvin, \ 96 cpsr & 0xffff0000, \ 97 ((1<<31) & cpsr) ? 'N' : ' ', \ 98 ((1<<30) & cpsr) ? 'Z' : ' ', \ 99 ((1<<29) & cpsr) ? 'C' : ' ', \ 100 ((1<<28) & cpsr) ? 'V' : ' ' \ 101 ); \ 102 } 103 104 105 // 2 registers in the insn, two args: rD = op(rD, rM) 106 #define TESTINST2x(instruction, RDval, RMval, RD, RM, cvin) \ 107 { \ 108 unsigned int out; \ 109 unsigned int cpsr; \ 110 \ 111 __asm__ volatile( \ 112 "msr cpsr_f, %3;" \ 113 "mov " #RM ",%2;" \ 114 "mov " #RD ",%4;" \ 115 instruction ";" \ 116 "mov %0," #RD ";" \ 117 "mrs %1,cpsr;" \ 118 : "=&r" (out), "=&r" (cpsr) \ 119 : "r" (RMval), "r" (gen_cvin(cvin)), "r"(RDval) \ 120 : #RD, #RM, "cc", "memory" \ 121 ); \ 122 printf("%s :: rd 0x%08x rm 0x%08x, c:v-in %d, cpsr 0x%08x %c%c%c%c\n", \ 123 instruction, out, RMval, \ 124 cvin, \ 125 cpsr & 0xffff0000, \ 126 ((1<<31) & cpsr) ? 'N' : ' ', \ 127 ((1<<30) & cpsr) ? 'Z' : ' ', \ 128 ((1<<29) & cpsr) ? 'C' : ' ', \ 129 ((1<<28) & cpsr) ? 'V' : ' ' \ 130 ); \ 131 } 132 133 134 135 #define TESTINST3(instruction, RMval, RNval, RD, RM, RN, cvin) \ 136 { \ 137 unsigned int out; \ 138 unsigned int cpsr; \ 139 \ 140 __asm__ volatile( \ 141 "msr cpsr_f, %4;" \ 142 "mov " #RM ",%2;" \ 143 "mov " #RN ",%3;" \ 144 instruction ";" \ 145 "mov %0," #RD ";" \ 146 "mrs %1,cpsr;" \ 147 : "=&r" (out), "=&r" (cpsr) \ 148 : "r" (RMval), "r" (RNval), "r" (gen_cvin(cvin)) \ 149 : #RD, #RM, #RN, "cc", "memory" \ 150 ); \ 151 printf("%s :: rd 0x%08x rm 0x%08x, rn 0x%08x, c:v-in %d, cpsr 0x%08x %c%c%c%c\n", \ 152 instruction, out, RMval, RNval, \ 153 cvin, \ 154 cpsr & 0xffff0000, \ 155 ((1<<31) & cpsr) ? 'N' : ' ', \ 156 ((1<<30) & cpsr) ? 'Z' : ' ', \ 157 ((1<<29) & cpsr) ? 'C' : ' ', \ 158 ((1<<28) & cpsr) ? 'V' : ' ' \ 159 ); \ 160 } 161 162 #define TESTINST4(instruction, RMval, RNval, RSval, RD, RM, RN, RS, cvin) \ 163 { \ 164 unsigned int out; \ 165 unsigned int cpsr; \ 166 \ 167 __asm__ volatile( \ 168 "msr cpsr_f, %5;" \ 169 "mov " #RM ",%2;" \ 170 "mov " #RN ",%3;" \ 171 "mov " #RS ",%4;" \ 172 instruction ";" \ 173 "mov %0," #RD ";" \ 174 "mrs %1,cpsr;" \ 175 : "=&r" (out), "=&r" (cpsr) \ 176 : "r" (RMval), "r" (RNval), "r" (RSval), "r" (gen_cvin(cvin)) \ 177 : #RD, #RM, #RN, #RS, "cc", "memory" \ 178 ); \ 179 printf("%s :: rd 0x%08x rm 0x%08x, rn 0x%08x rs 0x%08x, c:v-in %d, cpsr 0x%08x %c%c%c%c\n", \ 180 instruction, out, RMval, RNval, RSval, \ 181 cvin, \ 182 cpsr & 0xffff0000, \ 183 ((1<<31) & cpsr) ? 'N' : ' ', \ 184 ((1<<30) & cpsr) ? 'Z' : ' ', \ 185 ((1<<29) & cpsr) ? 'C' : ' ', \ 186 ((1<<28) & cpsr) ? 'V' : ' ' \ 187 ); \ 188 } 189 190 #define TESTINST4_2OUT(instruction, RDval, RD2val, RMval, RSval, RD, RD2, RM, RS, cvin) \ 191 { \ 192 unsigned int out; \ 193 unsigned int out2; \ 194 unsigned int cpsr; \ 195 \ 196 __asm__ volatile( \ 197 "msr cpsr_f, %7;" \ 198 "mov " #RD ",%3;" \ 199 "mov " #RD2 ",%4;" \ 200 "mov " #RM ",%5;" \ 201 "mov " #RS ",%6;" \ 202 instruction ";" \ 203 "mov %0," #RD ";" \ 204 "mov %1," #RD2 ";" \ 205 "mrs %2,cpsr;" \ 206 : "=&r" (out), "=&r" (out2), "=&r" (cpsr) \ 207 : "r" (RDval), "r" (RD2val), "r" (RMval), "r" (RSval), "r" (gen_cvin(cvin)) \ 208 : #RD, #RD2, #RM, #RS, "cc", "memory" \ 209 ); \ 210 printf("%s :: rd 0x%08x rd2 0x%08x, rm 0x%08x rs 0x%08x, c:v-in %d, cpsr 0x%08x %c%c%c%c\n", \ 211 instruction, out, out2, RMval, RSval, \ 212 cvin, \ 213 cpsr & 0xffff0000, \ 214 ((1<<31) & cpsr) ? 'N' : ' ', \ 215 ((1<<30) & cpsr) ? 'Z' : ' ', \ 216 ((1<<29) & cpsr) ? 'C' : ' ', \ 217 ((1<<28) & cpsr) ? 'V' : ' ' \ 218 ); \ 219 } 220 221 // Tests misaligned access via PC+$#imm 222 #define TESTINSTPCMISALIGNED(instruction, RD, label, cvin) \ 223 { \ 224 unsigned int out; \ 225 unsigned int cpsr; \ 226 __asm__ volatile(\ 227 ".align 4;" \ 228 "msr cpsr_f, %2;" \ 229 "mov " #RD ", #0;" \ 230 ".align 2;" \ 231 ".thumb;" \ 232 ".syntax unified;" \ 233 "nop;" \ 234 instruction ";" \ 235 "b .Lend" #label ";" \ 236 ".align 4;" \ 237 #label ": " \ 238 ".word 0x8191881b;" \ 239 ".word 0x18fe9c93;" \ 240 ".word 0x00000000;" \ 241 ".word 0x00000000;" \ 242 ".Lend" #label ":" \ 243 "mov %0, " #RD ";" \ 244 "mrs %1, cpsr;" \ 245 : "=&r" (out), "=&r" (cpsr) \ 246 : "r" (gen_cvin(cvin)) \ 247 : #RD, "cc", "memory" \ 248 ); \ 249 printf("%s :: rd 0x%08x, cpsr 0x%08x %c%c%c%c\n", \ 250 instruction, out, \ 251 cpsr & 0xffff0000, \ 252 ((1<<31) & cpsr) ? 'N' : ' ', \ 253 ((1<<30) & cpsr) ? 'Z' : ' ', \ 254 ((1<<29) & cpsr) ? 'C' : ' ', \ 255 ((1<<28) & cpsr) ? 'V' : ' ' \ 256 ); \ 257 } 258 259 // this one uses d0, s0 and s2 (hardcoded) 260 #define TESTINSTPCMISALIGNED_DWORDOUT(instruction, label, cvin, extratrash) \ 261 { \ 262 unsigned int out; \ 263 unsigned int out2; \ 264 unsigned int cpsr; \ 265 __asm__ volatile(\ 266 ".align 4;" \ 267 "msr cpsr_f, %3;" \ 268 ".align 2;" \ 269 ".thumb;" \ 270 ".syntax unified;" \ 271 "nop;" \ 272 instruction ";" \ 273 "b .Lend" #label ";" \ 274 ".align 4;" \ 275 #label ": " \ 276 ".word 0x8191881b;" \ 277 ".word 0x18fe9c93;" \ 278 ".word 0x00000000;" \ 279 ".word 0x00000000;" \ 280 ".Lend" #label ":" \ 281 "vmov %0, s0;" \ 282 "vmov %1, s1;" \ 283 "mrs %2, cpsr;" \ 284 : "=&r" (out), "=&r" (out2), "=&r" (cpsr) \ 285 : "r" (gen_cvin(cvin)) \ 286 : "cc", "memory", "s0", "s1", extratrash \ 287 ); \ 288 printf("%s :: s0 0x%08x s1 0x%08x, cpsr 0x%08x %c%c%c%c\n", \ 289 instruction, out, out2, \ 290 cpsr & 0xffff0000, \ 291 ((1<<31) & cpsr) ? 'N' : ' ', \ 292 ((1<<30) & cpsr) ? 'Z' : ' ', \ 293 ((1<<29) & cpsr) ? 'C' : ' ', \ 294 ((1<<28) & cpsr) ? 'V' : ' ' \ 295 ); \ 296 } 297 298 #define TESTINSTPCMISALIGNED_2OUT(instruction, RD, RD2, label, cvin) \ 299 { \ 300 unsigned int out; \ 301 unsigned int out2; \ 302 unsigned int cpsr; \ 303 __asm__ volatile(\ 304 ".align 4;" \ 305 "msr cpsr_f, %3;" \ 306 "mov " #RD ", #0;" \ 307 "mov " #RD2 ", #0;" \ 308 ".align 2;" \ 309 ".thumb;" \ 310 ".syntax unified;" \ 311 "nop;" \ 312 instruction ";" \ 313 "b .Lend" #label ";" \ 314 ".align 4;" \ 315 #label ": " \ 316 ".word 0x8191881b;" \ 317 ".word 0x18fe9c93;" \ 318 ".word 0x00000000;" \ 319 ".word 0x00000000;" \ 320 ".Lend" #label ":" \ 321 "mov %0, " #RD ";" \ 322 "mov %1, " #RD2 ";" \ 323 "mrs %2, cpsr;" \ 324 : "=&r" (out), "=&r" (out2), "=&r" (cpsr) \ 325 : "r" (gen_cvin(cvin)) \ 326 : #RD, #RD2, "cc", "memory" \ 327 ); \ 328 printf("%s :: rd 0x%08x rd2 0x%08x, cpsr 0x%08x %c%c%c%c\n", \ 329 instruction, out, out2, \ 330 cpsr & 0xffff0000, \ 331 ((1<<31) & cpsr) ? 'N' : ' ', \ 332 ((1<<30) & cpsr) ? 'Z' : ' ', \ 333 ((1<<29) & cpsr) ? 'C' : ' ', \ 334 ((1<<28) & cpsr) ? 'V' : ' ' \ 335 ); \ 336 } 337 338 /* helpers */ 339 #define NOCARRY { int cv = 0; { 340 #define TESTCARRY { int cv = 0; for (cv = 0; cv < 4; cv++) { 341 #define TESTCARRYEND }} 342 343 //////////////////////////////////////////////////////////// 344 //////////////////////////////////////////////////////////// 345 /////////////////////////////////////////////////////////// 346 /////////////////////////////////////////////////////////// 347 348 __attribute__((noinline)) 349 void test_ldr_pc(void) { 350 // special case of ldr PC, [rN, +imm?] 351 printf("tests for instructions modifying pc (ldr pc, add pc)\n"); 352 { 353 unsigned int out; 354 unsigned int cpsr; 355 unsigned char tmpbuff[512]; // we use tmpbuff+432 356 int cvin = 0; 357 358 __asm__ volatile( 359 ".thumb;\n" 360 ".syntax unified ;\n" 361 "msr cpsr_f, %3 ;\n" 362 "mov r9, %2 ;\n" 363 "movw r2, #:lower16:.ldrwpclabel1 ;\n" 364 "movt r2, #:upper16:.ldrwpclabel1 ;\n" 365 "mov r0, #1 ;\n" 366 "orr r2, r0 ;\n" // set thumb bit to 1 367 "str r2, [r9, +#432] ;\n" 368 "bl .ldrwpclabel_continue ;\n" 369 ".align 4 ;\n" 370 ".ldrwpclabel1: \n" 371 "mov r1, #42 ;\n" // expected output value 372 "bl .ldrwpclabel_end ;\n" 373 ".ldrwpclabel_continue: \n" 374 "ldr.w pc, [r9, +#432] ;\n" 375 "mov r1, #0 ;\n" // should never get here 376 ".ldrwpclabel_end: \n" 377 "mov %0, r1 ;\n" 378 "mrs %1, cpsr ;\n" 379 : "=r"(out), "=r"(cpsr) 380 : "r"(tmpbuff), "r"(gen_cvin(cvin)) 381 : "r9", "r2", "r0", "r1", "cc", "memory" 382 ); 383 384 // print 385 printf("ldr.w pc, [r9, +#432] :: r1 0x%08x c:v-in %d, " 386 "cpsr 0x%08x %c%c%c%c\n", \ 387 out, \ 388 cvin, \ 389 cpsr & 0xffff0000, \ 390 ((1<<31) & cpsr) ? 'N' : ' ', \ 391 ((1<<30) & cpsr) ? 'Z' : ' ', \ 392 ((1<<29) & cpsr) ? 'C' : ' ', \ 393 ((1<<28) & cpsr) ? 'V' : ' ' \ 394 ); \ 395 396 } 397 } 398 399 static int old_main(void) 400 { 401 402 printf("MOV\n"); 403 TESTINST2("mov r0, r1", 1, r0, r1, 0); 404 TESTINST2("cpy r0, r1", 1, r0, r1, 0); 405 TESTINST2("mov r0, #0", 0, r0, r1, 0); 406 TESTINST2("mov r0, #1", 0, r0, r1, 0); 407 TESTCARRY 408 TESTINST2("movs r0, r1", 1, r0, r1, cv); 409 TESTINST2("movs r0, r1", 0, r0, r1, cv); 410 TESTINST2("movs r0, r1", 0x80000000, r0, r1, cv); 411 TESTINST2("movs r0, #0", 0, r0, r1, cv); 412 TESTINST2("movs r0, #1", 0, r0, r1, cv); 413 TESTCARRYEND 414 415 printf("MVN\n"); 416 TESTINST2("mvn r0, r1", 1, r0, r1, 0); 417 TESTCARRY 418 TESTINST2("mvns r0, r1", 1, r0, r1, cv); 419 TESTINST2("mvns r0, r1", 0, r0, r1, cv); 420 TESTINST2("mvns r0, r1", 0x80000000, r0, r1, cv); 421 TESTCARRYEND 422 423 printf("ADD\n"); 424 TESTINST3("adds r0, r1, r2", 0, 0, r0, r1, r2, 0); 425 TESTINST3("adds r0, r1, r2", 0, 1, r0, r1, r2, 0); 426 TESTINST3("adds r0, r1, r2", 1, 0, r0, r1, r2, 0); 427 TESTINST3("adds r0, r1, r2", 1, 1, r0, r1, r2, 0); 428 TESTINST3("adds r0, r1, r2", 0, -1, r0, r1, r2, 0); 429 TESTINST3("adds r0, r1, r2", 1, -1, r0, r1, r2, 0); 430 TESTINST3("adds r0, r1, r2", 0x7fffffff, 1, r0, r1, r2, 0); 431 TESTINST3("adds r0, r1, r2", 0x80000000, -1, r0, r1, r2, 0); 432 TESTINST3("adds r0, r1, r2", 0x80000000, 0, r0, r1, r2, 0); 433 434 printf("ADC\n"); 435 TESTINST3("adcs r0, r1, r2", 0, 0, r0, r1, r2, 0); 436 TESTINST3("adcs r0, r1, r2", 0, 0, r0, r1, r2, 1); 437 438 printf("LSL\n"); 439 TESTINST3("lsl r0, r1, r2", 0xffffffff, 0, r0, r1, r2, 0); 440 TESTINST3("lsl r0, r1, r2", 0xffffffff, 1, r0, r1, r2, 0); 441 TESTINST3("lsl r0, r1, r2", 0xffffffff, 2, r0, r1, r2, 0); 442 TESTINST3("lsl r0, r1, r2", 0xffffffff, 31, r0, r1, r2, 0); 443 TESTINST3("lsl r0, r1, r2", 0xffffffff, 32, r0, r1, r2, 0); 444 TESTINST3("lsl r0, r1, r2", 0xffffffff, 33, r0, r1, r2, 0); 445 TESTINST3("lsl r0, r1, r2", 0xffffffff, 63, r0, r1, r2, 0); 446 TESTINST3("lsl r0, r1, r2", 0xffffffff, 64, r0, r1, r2, 0); 447 TESTINST3("lsl r0, r1, r2", 0xffffffff, 255, r0, r1, r2, 0); 448 TESTINST3("lsl r0, r1, r2", 0xffffffff, 256, r0, r1, r2, 0); 449 450 TESTINST3("lsl r0, r1, r2", 0x1, 0, r0, r1, r2, 0); 451 TESTINST3("lsl r0, r1, r2", 0x1, 1, r0, r1, r2, 0); 452 TESTINST3("lsl r0, r1, r2", 0x1, 31, r0, r1, r2, 0); 453 TESTINST3("lsl r0, r1, r2", 0x2, 31, r0, r1, r2, 0); 454 455 printf("LSLS\n"); 456 TESTCARRY 457 TESTINST3("lsls r0, r1, r2", 0xffffffff, 0, r0, r1, r2, cv); 458 TESTINST3("lsls r0, r1, r2", 0xffffffff, 1, r0, r1, r2, cv); 459 TESTINST3("lsls r0, r1, r2", 0xffffffff, 2, r0, r1, r2, cv); 460 TESTINST3("lsls r0, r1, r2", 0xffffffff, 31, r0, r1, r2, cv); 461 TESTINST3("lsls r0, r1, r2", 0xffffffff, 32, r0, r1, r2, cv); 462 TESTINST3("lsls r0, r1, r2", 0xffffffff, 33, r0, r1, r2, cv); 463 TESTINST3("lsls r0, r1, r2", 0xffffffff, 63, r0, r1, r2, cv); 464 TESTINST3("lsls r0, r1, r2", 0xffffffff, 64, r0, r1, r2, cv); 465 TESTINST3("lsls r0, r1, r2", 0xffffffff, 255, r0, r1, r2, cv); 466 TESTINST3("lsls r0, r1, r2", 0xffffffff, 256, r0, r1, r2, cv); 467 TESTINST3("lsls r0, r1, r2", 0x1, 0, r0, r1, r2, cv); 468 TESTINST3("lsls r0, r1, r2", 0x1, 1, r0, r1, r2, cv); 469 TESTINST3("lsls r0, r1, r2", 0x1, 31, r0, r1, r2, cv); 470 TESTINST3("lsls r0, r1, r2", 0x2, 31, r0, r1, r2, cv); 471 TESTCARRYEND 472 473 printf("LSL immediate\n"); 474 TESTCARRY 475 TESTINST2("lsl r0, r1, #0", 0xffffffff, r0, r1, cv); 476 TESTINST2("lsl r0, r1, #1", 0xffffffff, r0, r1, cv); 477 TESTINST2("lsl r0, r1, #31", 0xffffffff, r0, r1, cv); 478 TESTINST2("lsl r0, r1, #0", 0x1, r0, r1, cv); 479 TESTINST2("lsl r0, r1, #1", 0x1, r0, r1, cv); 480 TESTINST2("lsl r0, r1, #31", 0x1, r0, r1, cv); 481 TESTINST2("lsl r0, r1, #31", 0x2, r0, r1, cv); 482 TESTCARRYEND 483 484 printf("LSLS immediate\n"); 485 TESTCARRY 486 TESTINST2("lsls r0, r1, #0", 0xffffffff, r0, r1, cv); 487 TESTINST2("lsls r0, r1, #1", 0xffffffff, r0, r1, cv); 488 TESTINST2("lsls r0, r1, #31", 0xffffffff, r0, r1, cv); 489 TESTINST2("lsls r0, r1, #0", 0x1, r0, r1, cv); 490 TESTINST2("lsls r0, r1, #1", 0x1, r0, r1, cv); 491 TESTINST2("lsls r0, r1, #31", 0x1, r0, r1, cv); 492 TESTINST2("lsls r0, r1, #31", 0x2, r0, r1, cv); 493 TESTCARRYEND 494 495 printf("LSR\n"); 496 TESTINST3("lsr r0, r1, r2", 0xffffffff, 0, r0, r1, r2, 0); 497 TESTINST3("lsr r0, r1, r2", 0xffffffff, 1, r0, r1, r2, 0); 498 TESTINST3("lsr r0, r1, r2", 0xffffffff, 2, r0, r1, r2, 0); 499 TESTINST3("lsr r0, r1, r2", 0xffffffff, 31, r0, r1, r2, 0); 500 TESTINST3("lsr r0, r1, r2", 0xffffffff, 32, r0, r1, r2, 0); 501 TESTINST3("lsr r0, r1, r2", 0xffffffff, 33, r0, r1, r2, 0); 502 TESTINST3("lsr r0, r1, r2", 0xffffffff, 63, r0, r1, r2, 0); 503 TESTINST3("lsr r0, r1, r2", 0xffffffff, 64, r0, r1, r2, 0); 504 TESTINST3("lsr r0, r1, r2", 0xffffffff, 255, r0, r1, r2, 0); 505 TESTINST3("lsr r0, r1, r2", 0xffffffff, 256, r0, r1, r2, 0); 506 507 printf("LSRS\n"); 508 TESTCARRY 509 TESTINST3("lsrs r0, r1, r2", 0xffffffff, 0, r0, r1, r2, cv); 510 TESTINST3("lsrs r0, r1, r2", 0xffffffff, 1, r0, r1, r2, cv); 511 TESTINST3("lsrs r0, r1, r2", 0xffffffff, 2, r0, r1, r2, cv); 512 TESTINST3("lsrs r0, r1, r2", 0xffffffff, 31, r0, r1, r2, cv); 513 TESTINST3("lsrs r0, r1, r2", 0xffffffff, 32, r0, r1, r2, cv); 514 TESTINST3("lsrs r0, r1, r2", 0xffffffff, 33, r0, r1, r2, cv); 515 TESTINST3("lsrs r0, r1, r2", 0xffffffff, 63, r0, r1, r2, cv); 516 TESTINST3("lsrs r0, r1, r2", 0xffffffff, 64, r0, r1, r2, cv); 517 TESTINST3("lsrs r0, r1, r2", 0xffffffff, 255, r0, r1, r2, cv); 518 TESTCARRYEND 519 520 printf("LSR immediate\n"); 521 TESTINST2("lsr r0, r1, #0", 0xffffffff, r0, r1, 0); 522 TESTINST2("lsr r0, r1, #1", 0xffffffff, r0, r1, 0); 523 TESTINST2("lsr r0, r1, #31", 0xffffffff, r0, r1, 0); 524 TESTINST2("lsr r0, r1, #32", 0xffffffff, r0, r1, 0); 525 TESTINST2("lsr r0, r1, #16", 0x00010000, r0, r1, 0); 526 TESTINST2("lsr r0, r1, #17", 0x00010000, r0, r1, 0); 527 TESTINST2("lsr r0, r1, #18", 0x00010000, r0, r1, 0); 528 529 printf("LSRS immediate\n"); 530 TESTCARRY 531 TESTINST2("lsrs r0, r1, #0", 0xffffffff, r0, r1, cv); 532 TESTINST2("lsrs r0, r1, #1", 0xffffffff, r0, r1, cv); 533 TESTINST2("lsrs r0, r1, #31", 0xffffffff, r0, r1, cv); 534 TESTINST2("lsrs r0, r1, #32", 0xffffffff, r0, r1, cv); 535 TESTINST2("lsrs r0, r1, #16", 0x00010000, r0, r1, cv); 536 TESTINST2("lsrs r0, r1, #17", 0x00010000, r0, r1, cv); 537 TESTINST2("lsrs r0, r1, #18", 0x00010000, r0, r1, cv); 538 TESTCARRYEND 539 540 printf("ASR\n"); 541 TESTCARRY 542 TESTINST3("asr r0, r1, r2", 0xffffffff, 0, r0, r1, r2, cv); 543 TESTINST3("asr r0, r1, r2", 0xffffffff, 1, r0, r1, r2, cv); 544 TESTINST3("asr r0, r1, r2", 0xffffffff, 2, r0, r1, r2, cv); 545 TESTINST3("asr r0, r1, r2", 0xffffffff, 31, r0, r1, r2, cv); 546 TESTINST3("asr r0, r1, r2", 0xffffffff, 32, r0, r1, r2, cv); 547 TESTINST3("asr r0, r1, r2", 0xffffffff, 33, r0, r1, r2, cv); 548 TESTINST3("asr r0, r1, r2", 0xffffffff, 63, r0, r1, r2, cv); 549 TESTINST3("asr r0, r1, r2", 0xffffffff, 64, r0, r1, r2, cv); 550 TESTINST3("asr r0, r1, r2", 0xffffffff, 255, r0, r1, r2, cv); 551 TESTINST3("asr r0, r1, r2", 0xffffffff, 256, r0, r1, r2, cv); 552 TESTINST3("asr r0, r1, r2", 0x7fffffff, 0, r0, r1, r2, cv); 553 TESTINST3("asr r0, r1, r2", 0x7fffffff, 1, r0, r1, r2, cv); 554 TESTINST3("asr r0, r1, r2", 0x7fffffff, 2, r0, r1, r2, cv); 555 TESTINST3("asr r0, r1, r2", 0x7fffffff, 31, r0, r1, r2, cv); 556 TESTINST3("asr r0, r1, r2", 0x7fffffff, 32, r0, r1, r2, cv); 557 TESTINST3("asr r0, r1, r2", 0x7fffffff, 33, r0, r1, r2, cv); 558 TESTINST3("asr r0, r1, r2", 0x7fffffff, 63, r0, r1, r2, cv); 559 TESTINST3("asr r0, r1, r2", 0x7fffffff, 64, r0, r1, r2, cv); 560 TESTINST3("asr r0, r1, r2", 0x7fffffff, 255, r0, r1, r2, cv); 561 TESTINST3("asr r0, r1, r2", 0x7fffffff, 256, r0, r1, r2, cv); 562 TESTCARRYEND 563 564 printf("ASRS\n"); 565 TESTCARRY 566 TESTINST3("asrs r0, r1, r2", 0xffffffff, 0, r0, r1, r2, cv); 567 TESTINST3("asrs r0, r1, r2", 0xffffffff, 1, r0, r1, r2, cv); 568 TESTINST3("asrs r0, r1, r2", 0xffffffff, 2, r0, r1, r2, cv); 569 TESTINST3("asrs r0, r1, r2", 0xffffffff, 31, r0, r1, r2, cv); 570 TESTINST3("asrs r0, r1, r2", 0xffffffff, 32, r0, r1, r2, cv); 571 TESTINST3("asrs r0, r1, r2", 0xffffffff, 33, r0, r1, r2, cv); 572 TESTINST3("asrs r0, r1, r2", 0xffffffff, 63, r0, r1, r2, cv); 573 TESTINST3("asrs r0, r1, r2", 0xffffffff, 64, r0, r1, r2, cv); 574 TESTINST3("asrs r0, r1, r2", 0xffffffff, 255, r0, r1, r2, cv); 575 TESTINST3("asrs r0, r1, r2", 0xffffffff, 256, r0, r1, r2, cv); 576 TESTINST3("asrs r0, r1, r2", 0x7fffffff, 0, r0, r1, r2, cv); 577 TESTINST3("asrs r0, r1, r2", 0x7fffffff, 1, r0, r1, r2, cv); 578 TESTINST3("asrs r0, r1, r2", 0x7fffffff, 2, r0, r1, r2, cv); 579 TESTINST3("asrs r0, r1, r2", 0x7fffffff, 31, r0, r1, r2, cv); 580 TESTINST3("asrs r0, r1, r2", 0x7fffffff, 32, r0, r1, r2, cv); 581 TESTINST3("asrs r0, r1, r2", 0x7fffffff, 33, r0, r1, r2, cv); 582 TESTINST3("asrs r0, r1, r2", 0x7fffffff, 63, r0, r1, r2, cv); 583 TESTINST3("asrs r0, r1, r2", 0x7fffffff, 64, r0, r1, r2, cv); 584 TESTINST3("asrs r0, r1, r2", 0x7fffffff, 255, r0, r1, r2, cv); 585 TESTINST3("asrs r0, r1, r2", 0x7fffffff, 256, r0, r1, r2, cv); 586 TESTCARRYEND 587 588 TESTCARRY 589 TESTINST3("asrs r0, r1, r2", 0x8, 0, r0, r1, r2, cv); 590 TESTINST3("asrs r0, r1, r2", 0x8, 1, r0, r1, r2, cv); 591 TESTINST3("asrs r0, r1, r2", 0x8, 2, r0, r1, r2, cv); 592 TESTINST3("asrs r0, r1, r2", 0x8, 3, r0, r1, r2, cv); 593 TESTINST3("asrs r0, r1, r2", 0x8, 4, r0, r1, r2, cv); 594 TESTINST3("asrs r0, r1, r2", 0x8, 5, r0, r1, r2, cv); 595 TESTCARRYEND 596 597 TESTINST3("asrs r0, r1, r2", 0x80000001, 1, r0, r1, r2, 0); 598 TESTINST3("asrs r0, r1, r2", 0x80000001, 2, r0, r1, r2, 0); 599 600 printf("ASR immediate\n"); 601 TESTINST2("asr r0, r1, #0", 0xffffffff, r0, r1, 0); 602 TESTINST2("asr r0, r1, #1", 0xffffffff, r0, r1, 0); 603 TESTINST2("asr r0, r1, #31", 0xffffffff, r0, r1, 0); 604 TESTINST2("asr r0, r1, #32", 0xffffffff, r0, r1, 0); 605 TESTINST2("asr r0, r1, #0", 0x7fffffff, r0, r1, 0); 606 TESTINST2("asr r0, r1, #1", 0x7fffffff, r0, r1, 0); 607 TESTINST2("asr r0, r1, #31", 0x7fffffff, r0, r1, 0); 608 TESTINST2("asr r0, r1, #32", 0x7fffffff, r0, r1, 0); 609 TESTINST2("asr r0, r1, #16", 0x00010000, r0, r1, 0); 610 TESTINST2("asr r0, r1, #17", 0x00010000, r0, r1, 0); 611 TESTINST2("asr r0, r1, #18", 0x00010000, r0, r1, 0); 612 613 printf("ASRS immediate\n"); 614 TESTCARRY 615 TESTINST2("asrs r0, r1, #0", 0xffffffff, r0, r1, cv); 616 TESTINST2("asrs r0, r1, #1", 0xffffffff, r0, r1, cv); 617 TESTINST2("asrs r0, r1, #31", 0xffffffff, r0, r1, cv); 618 TESTINST2("asrs r0, r1, #32", 0xffffffff, r0, r1, cv); 619 TESTINST2("asrs r0, r1, #0", 0x7fffffff, r0, r1, cv); 620 TESTINST2("asrs r0, r1, #1", 0x7fffffff, r0, r1, cv); 621 TESTINST2("asrs r0, r1, #31", 0x7fffffff, r0, r1, cv); 622 TESTINST2("asrs r0, r1, #32", 0x7fffffff, r0, r1, cv); 623 TESTINST2("asrs r0, r1, #16", 0x00010000, r0, r1, cv); 624 TESTINST2("asrs r0, r1, #17", 0x00010000, r0, r1, cv); 625 TESTINST2("asrs r0, r1, #18", 0x00010000, r0, r1, cv); 626 TESTCARRYEND 627 628 printf("literal access [PC+#imm]\n"); 629 NOCARRY 630 // this should result in r1=0 631 TESTINSTPCMISALIGNED("adr.w r1, label_magic_adrw; and r1, r1, #0x3", 632 r1, label_magic_adrw, cv); 633 // omitting LDC/LDC2 634 TESTINSTPCMISALIGNED("ldr r1, label_magic_ldr", 635 r1, label_magic_ldr, cv); 636 TESTINSTPCMISALIGNED("ldrb r1, label_magic_ldrb", 637 r1, label_magic_ldrb, cv); 638 TESTINSTPCMISALIGNED_2OUT("ldrd r0, r1, label_magic_ldrd", 639 r0, r1, label_magic_ldrd, cv); 640 TESTINSTPCMISALIGNED("ldrh r1, label_magic_ldrh", 641 r1, label_magic_ldrh, cv); 642 TESTINSTPCMISALIGNED("ldrsb r1, label_magic_ldrsb", 643 r1, label_magic_ldrsb, cv); 644 TESTINSTPCMISALIGNED("ldrsh r1, label_magic_ldrsh", 645 r1, label_magic_ldrsh, cv); 646 // omitting PLD/PLI 647 TESTINSTPCMISALIGNED_DWORDOUT("vldr d0, label_magic_vldr", 648 label_magic_vldr, cv, "d0"); 649 650 TESTCARRYEND 651 652 test_ldr_pc(); 653 #if 0 654 printf("ROR\n"); 655 TESTCARRY 656 TESTINST3("ror r0, r1, r2", 0x00088000, 0, r0, r1, r2, cv); 657 TESTINST3("ror r0, r1, r2", 0x80088000, 1, r0, r1, r2, cv); 658 TESTINST3("ror r0, r1, r2", 0x00088000, 1, r0, r1, r2, cv); 659 TESTINST3("ror r0, r1, r2", 0x00088000, 2, r0, r1, r2, cv); 660 TESTINST3("ror r0, r1, r2", 0x00088000, 31, r0, r1, r2, cv); 661 TESTINST3("ror r0, r1, r2", 0x00088000, 32, r0, r1, r2, cv); 662 TESTINST3("ror r0, r1, r2", 0x00088000, 33, r0, r1, r2, cv); 663 TESTINST3("ror r0, r1, r2", 0x00088000, 63, r0, r1, r2, cv); 664 TESTINST3("ror r0, r1, r2", 0x00088000, 64, r0, r1, r2, cv); 665 TESTINST3("ror r0, r1, r2", 0x00088000, 255, r0, r1, r2, cv); 666 TESTINST3("ror r0, r1, r2", 0x00088000, 256, r0, r1, r2, cv); 667 TESTINST3("ror r0, r1, r2", 0x80088000, 256, r0, r1, r2, cv); 668 TESTINST3("ror r0, r1, r2", 0x00088000, 257, r0, r1, r2, cv); 669 TESTCARRYEND 670 671 printf("RORS\n"); 672 TESTCARRY 673 TESTINST3("rors r0, r1, r2", 0x00088000, 0, r0, r1, r2, cv); 674 TESTINST3("rors r0, r1, r2", 0x80088000, 0, r0, r1, r2, cv); 675 TESTINST3("rors r0, r1, r2", 0x00088000, 1, r0, r1, r2, cv); 676 TESTINST3("rors r0, r1, r2", 0x00088000, 2, r0, r1, r2, cv); 677 TESTINST3("rors r0, r1, r2", 0x00088000, 31, r0, r1, r2, cv); 678 TESTINST3("rors r0, r1, r2", 0x00088000, 32, r0, r1, r2, cv); 679 TESTINST3("rors r0, r1, r2", 0x00088000, 33, r0, r1, r2, cv); 680 TESTINST3("rors r0, r1, r2", 0x00088000, 63, r0, r1, r2, cv); 681 TESTINST3("rors r0, r1, r2", 0x00088000, 64, r0, r1, r2, cv); 682 TESTINST3("rors r0, r1, r2", 0x00088000, 255, r0, r1, r2, cv); 683 TESTINST3("rors r0, r1, r2", 0x00088000, 256, r0, r1, r2, cv); 684 TESTINST3("rors r0, r1, r2", 0x80088000, 256, r0, r1, r2, cv); 685 TESTINST3("rors r0, r1, r2", 0x00088000, 257, r0, r1, r2, cv); 686 TESTCARRYEND 687 688 printf("ROR immediate\n"); 689 TESTCARRY 690 TESTINST2("ror r0, r1, #0", 0x00088000, r0, r1, cv); 691 TESTINST2("ror r0, r1, #1", 0x00088000, r0, r1, cv); 692 TESTINST2("ror r0, r1, #31", 0x00088000, r0, r1, cv); 693 TESTINST2("ror r0, r1, #16", 0x00010000, r0, r1, cv); 694 TESTINST2("ror r0, r1, #17", 0x00010000, r0, r1, cv); 695 TESTINST2("ror r0, r1, #18", 0x00010000, r0, r1, cv); 696 TESTCARRYEND 697 698 printf("RORS immediate\n"); 699 TESTCARRY 700 TESTINST2("rors r0, r1, #0", 0x00088000, r0, r1, cv); 701 TESTINST2("rors r0, r1, #1", 0x00088000, r0, r1, cv); 702 TESTINST2("rors r0, r1, #31", 0x00088000, r0, r1, cv); 703 TESTINST2("rors r0, r1, #16", 0x00010000, r0, r1, cv); 704 TESTINST2("rors r0, r1, #17", 0x00010000, r0, r1, cv); 705 TESTINST2("rors r0, r1, #18", 0x00010000, r0, r1, cv); 706 TESTCARRYEND 707 #endif 708 #if 0 709 printf("shift with barrel shifter\n"); 710 TESTCARRY 711 TESTINST4("add r0, r1, r2, lsl r3", 0, 0xffffffff, 0, r0, r1, r2, r3, cv); 712 TESTINST4("add r0, r1, r2, lsl r3", 0, 0xffffffff, 1, r0, r1, r2, r3, cv); 713 TESTINST4("add r0, r1, r2, lsl r3", 0, 0xffffffff, 31, r0, r1, r2, r3, cv); 714 TESTINST4("add r0, r1, r2, lsl r3", 0, 0xffffffff, 32, r0, r1, r2, r3, cv); 715 TESTINST4("add r0, r1, r2, lsl r3", 0, 0xffffffff, 255, r0, r1, r2, r3, cv); 716 TESTINST4("add r0, r1, r2, lsl r3", 0, 0xffffffff, 256, r0, r1, r2, r3, cv); 717 TESTINST4("add r0, r1, r2, lsr r3", 0, 0xffffffff, 0, r0, r1, r2, r3, cv); 718 TESTINST4("add r0, r1, r2, lsr r3", 0, 0xffffffff, 1, r0, r1, r2, r3, cv); 719 TESTINST4("add r0, r1, r2, lsr r3", 0, 0xffffffff, 31, r0, r1, r2, r3, cv); 720 TESTINST4("add r0, r1, r2, lsr r3", 0, 0xffffffff, 32, r0, r1, r2, r3, cv); 721 TESTINST4("add r0, r1, r2, lsr r3", 0, 0xffffffff, 255, r0, r1, r2, r3, cv); 722 TESTINST4("add r0, r1, r2, lsr r3", 0, 0xffffffff, 256, r0, r1, r2, r3, cv); 723 TESTINST4("add r0, r1, r2, asr r3", 0, 0x7fffffff, 0, r0, r1, r2, r3, cv); 724 TESTINST4("add r0, r1, r2, asr r3", 0, 0x7fffffff, 1, r0, r1, r2, r3, cv); 725 TESTINST4("add r0, r1, r2, asr r3", 0, 0x7fffffff, 31, r0, r1, r2, r3, cv); 726 TESTINST4("add r0, r1, r2, asr r3", 0, 0x7fffffff, 32, r0, r1, r2, r3, cv); 727 TESTINST4("add r0, r1, r2, asr r3", 0, 0x7fffffff, 255, r0, r1, r2, r3, cv); 728 TESTINST4("add r0, r1, r2, asr r3", 0, 0x7fffffff, 256, r0, r1, r2, r3, cv); 729 TESTINST4("add r0, r1, r2, lsr r3", 0, 0xffffffff, 256, r0, r1, r2, r3, cv); 730 TESTCARRYEND 731 732 TESTCARRY 733 TESTINST4("add r0, r1, r2, asr r3", 0, 0x8, 0, r0, r1, r2, r3, cv); 734 TESTINST4("add r0, r1, r2, asr r3", 0, 0x8, 1, r0, r1, r2, r3, cv); 735 TESTINST4("add r0, r1, r2, asr r3", 0, 0x8, 2, r0, r1, r2, r3, cv); 736 TESTINST4("add r0, r1, r2, asr r3", 0, 0x8, 3, r0, r1, r2, r3, cv); 737 TESTINST4("add r0, r1, r2, asr r3", 0, 0x8, 4, r0, r1, r2, r3, cv); 738 TESTINST4("add r0, r1, r2, asr r3", 0, 0x8, 5, r0, r1, r2, r3, cv); 739 TESTCARRYEND 740 741 TESTCARRY 742 TESTINST4("add r0, r1, r2, ror r3", 0, 0x00088000, 0, r0, r1, r2, r3, cv); 743 TESTINST4("add r0, r1, r2, ror r3", 0, 0x80088000, 0, r0, r1, r2, r3, cv); 744 TESTINST4("add r0, r1, r2, ror r3", 0, 0x00088000, 1, r0, r1, r2, r3, cv); 745 TESTINST4("add r0, r1, r2, ror r3", 0, 0x00088000, 31, r0, r1, r2, r3, cv); 746 TESTINST4("add r0, r1, r2, ror r3", 0, 0x00088000, 32, r0, r1, r2, r3, cv); 747 TESTINST4("add r0, r1, r2, ror r3", 0, 0x00088000, 255, r0, r1, r2, r3, cv); 748 TESTINST4("add r0, r1, r2, ror r3", 0, 0x00088000, 256, r0, r1, r2, r3, cv); 749 TESTINST4("add r0, r1, r2, ror r3", 0, 0x80088000, 256, r0, r1, r2, r3, cv); 750 TESTINST4("add r0, r1, r2, ror r3", 0, 0x00088000, 257, r0, r1, r2, r3, cv); 751 TESTCARRYEND 752 #endif 753 #if 0 754 TESTCARRY 755 TESTINST4("adds r0, r1, r2, lsl r3", 0, 0xffffffff, 0, r0, r1, r2, r3, cv); 756 TESTINST4("adds r0, r1, r2, lsl r3", 0, 0xffffffff, 1, r0, r1, r2, r3, cv); 757 TESTINST4("adds r0, r1, r2, lsl r3", 0, 0xffffffff, 31, r0, r1, r2, r3, cv); 758 TESTINST4("adds r0, r1, r2, lsl r3", 0, 0xffffffff, 32, r0, r1, r2, r3, cv); 759 TESTINST4("adds r0, r1, r2, lsl r3", 0, 0xffffffff, 255, r0, r1, r2, r3, cv); 760 TESTINST4("adds r0, r1, r2, lsl r3", 0, 0xffffffff, 256, r0, r1, r2, r3, cv); 761 TESTINST4("adds r0, r1, r2, lsr r3", 0, 0xffffffff, 0, r0, r1, r2, r3, cv); 762 TESTINST4("adds r0, r1, r2, lsr r3", 0, 0xffffffff, 1, r0, r1, r2, r3, cv); 763 TESTINST4("adds r0, r1, r2, lsr r3", 0, 0xffffffff, 31, r0, r1, r2, r3, cv); 764 TESTINST4("adds r0, r1, r2, lsr r3", 0, 0xffffffff, 32, r0, r1, r2, r3, cv); 765 TESTINST4("adds r0, r1, r2, lsr r3", 0, 0xffffffff, 255, r0, r1, r2, r3, cv); 766 TESTINST4("adds r0, r1, r2, lsr r3", 0, 0xffffffff, 256, r0, r1, r2, r3, cv); 767 768 TESTINST4("adds r0, r1, r2, ror r3", 0, 0x00088000, 0, r0, r1, r2, r3, cv); 769 TESTINST4("adds r0, r1, r2, ror r3", 0, 0x80088000, 0, r0, r1, r2, r3, cv); 770 TESTINST4("adds r0, r1, r2, ror r3", 0, 0x00088000, 1, r0, r1, r2, r3, cv); 771 TESTINST4("adds r0, r1, r2, ror r3", 0, 0x00088000, 31, r0, r1, r2, r3, cv); 772 TESTINST4("adds r0, r1, r2, ror r3", 0, 0x00088000, 32, r0, r1, r2, r3, cv); 773 TESTINST4("adds r0, r1, r2, ror r3", 0, 0x00088000, 255, r0, r1, r2, r3, cv); 774 TESTINST4("adds r0, r1, r2, ror r3", 0, 0x00088000, 256, r0, r1, r2, r3, cv); 775 TESTINST4("adds r0, r1, r2, ror r3", 0, 0x80088000, 256, r0, r1, r2, r3, cv); 776 TESTINST4("adds r0, r1, r2, ror r3", 0, 0x00088000, 257, r0, r1, r2, r3, cv); 777 TESTCARRYEND 778 #endif 779 780 #if 0 781 TESTCARRY 782 TESTINST4("adcs r0, r1, r2, lsl r3", 0, 0xffffffff, 0, r0, r1, r2, r3, cv); 783 TESTINST4("adcs r0, r1, r2, lsr r3", 0, 0xffffffff, 0, r0, r1, r2, r3, cv); 784 TESTINST4("adcs r0, r1, r2, lsl r3", 0, 0xffffffff, 1, r0, r1, r2, r3, cv); 785 TESTINST4("adcs r0, r1, r2, lsr r3", 0, 0xffffffff, 1, r0, r1, r2, r3, cv); 786 TESTCARRYEND 787 #endif 788 789 printf("MUL\n"); 790 TESTINST3("mul r0, r1, r2", 0, 0, r0, r1, r2, 0); 791 TESTINST3("mul r0, r1, r2", 0xffffffff, 0, r0, r1, r2, 0); 792 TESTINST3("mul r0, r1, r2", 0, 0xffffffff, r0, r1, r2, 0); 793 TESTINST3("mul r0, r1, r2", 0xffffffff, 0xffffffff, r0, r1, r2, 0); 794 TESTINST3("mul r0, r1, r2", 0x7fffffff, 0x7fffffff, r0, r1, r2, 0); 795 TESTINST3("mul r0, r1, r2", 0x0000ffff, 0x0000ffff, r0, r1, r2, 0); 796 797 #if 0 798 printf("MULS\n"); 799 TESTINST3("muls r0, r1, r2", 0, 0, r0, r1, r2, 0); 800 TESTINST3("muls r0, r1, r2", 0xffffffff, 0, r0, r1, r2, 0); 801 TESTINST3("muls r0, r1, r2", 0, 0xffffffff, r0, r1, r2, 0); 802 TESTINST3("muls r0, r1, r2", 0xffffffff, 0xffffffff, r0, r1, r2, 0); 803 TESTINST3("muls r0, r1, r2", 0x7fffffff, 0x7fffffff, r0, r1, r2, 0); 804 TESTINST3("muls r0, r1, r2", 0x0000ffff, 0x0000ffff, r0, r1, r2, 0); 805 #endif 806 807 printf("MLA\n"); 808 TESTINST4("mla r0, r1, r2, r3", 0, 0, 1, r0, r1, r2, r3, 0); 809 TESTINST4("mla r0, r1, r2, r3", 0xffffffff, 0, 1, r0, r1, r2, r3, 0); 810 TESTINST4("mla r0, r1, r2, r3", 0, 0xffffffff, 1, r0, r1, r2, r3, 0); 811 TESTINST4("mla r0, r1, r2, r3", 0xffffffff, 0xffffffff, 1, r0, r1, r2, r3, 0); 812 TESTINST4("mla r0, r1, r2, r3", 0x7fffffff, 0x7fffffff, 1, r0, r1, r2, r3, 0); 813 TESTINST4("mla r0, r1, r2, r3", 0x0000ffff, 0x0000ffff, 1, r0, r1, r2, r3, 0); 814 815 #if 0 816 printf("MLAS\n"); 817 TESTINST4("mlas r0, r1, r2, r3", 0, 0, 1, r0, r1, r2, r3, 0); 818 TESTINST4("mlas r0, r1, r2, r3", 0xffffffff, 0, 1, r0, r1, r2, r3, 0); 819 TESTINST4("mlas r0, r1, r2, r3", 0, 0xffffffff, 1, r0, r1, r2, r3, 0); 820 TESTINST4("mlas r0, r1, r2, r3", 0xffffffff, 0xffffffff, 1, r0, r1, r2, r3, 0); 821 TESTINST4("mlas r0, r1, r2, r3", 0x7fffffff, 0x7fffffff, 1, r0, r1, r2, r3, 0); 822 TESTINST4("mlas r0, r1, r2, r3", 0x0000ffff, 0x0000ffff, 1, r0, r1, r2, r3, 0); 823 #endif 824 825 printf("MLS\n"); 826 TESTINST4("mls r0, r1, r2, r3", 0, 0, 1, r0, r1, r2, r3, 0); 827 TESTINST4("mls r0, r1, r2, r3", 0xffffffff, 0, 1, r0, r1, r2, r3, 0); 828 TESTINST4("mls r0, r1, r2, r3", 0, 0xffffffff, 1, r0, r1, r2, r3, 0); 829 TESTINST4("mls r0, r1, r2, r3", 0xffffffff, 0xffffffff, 1, r0, r1, r2, r3, 0); 830 TESTINST4("mls r0, r1, r2, r3", 0x7fffffff, 0x7fffffff, 1, r0, r1, r2, r3, 0); 831 TESTINST4("mls r0, r1, r2, r3", 0x0000ffff, 0x0000ffff, 1, r0, r1, r2, r3, 0); 832 833 printf("UMULL\n"); 834 TESTINST4_2OUT("umull r0, r1, r2, r3", 0, 0, 0, 0, r0, r1, r2, r3, 0); 835 TESTINST4_2OUT("umull r0, r1, r2, r3", 0, 0, 0, 1, r0, r1, r2, r3, 0); 836 TESTINST4_2OUT("umull r0, r1, r2, r3", 0, 0, 1, 0, r0, r1, r2, r3, 0); 837 TESTINST4_2OUT("umull r0, r1, r2, r3", 0, 0, 1, 1, r0, r1, r2, r3, 0); 838 TESTINST4_2OUT("umull r0, r1, r2, r3", 0, 0, 0xffff, 0xffff, r0, r1, r2, r3, 0); 839 TESTINST4_2OUT("umull r0, r1, r2, r3", 0, 0, 0xffffffff, 0xffffffff, r0, r1, r2, r3, 0); 840 #if 0 841 TESTINST4_2OUT("umulls r0, r1, r2, r3", 0, 0, 0, 0, r0, r1, r2, r3, 0); 842 TESTINST4_2OUT("umulls r0, r1, r2, r3", 0, 0, 0, 1, r0, r1, r2, r3, 0); 843 TESTINST4_2OUT("umulls r0, r1, r2, r3", 0, 0, 1, 0, r0, r1, r2, r3, 0); 844 TESTINST4_2OUT("umulls r0, r1, r2, r3", 0, 0, 1, 1, r0, r1, r2, r3, 0); 845 TESTINST4_2OUT("umulls r0, r1, r2, r3", 0, 0, 0xffff, 0xffff, r0, r1, r2, r3, 0); 846 TESTINST4_2OUT("umulls r0, r1, r2, r3", 0, 0, 0xffffffff, 0xffffffff, r0, r1, r2, r3, 0); 847 #endif 848 printf("SMULL\n"); 849 TESTINST4_2OUT("smull r0, r1, r2, r3", 0, 0, 0, 0, r0, r1, r2, r3, 0); 850 TESTINST4_2OUT("smull r0, r1, r2, r3", 0, 0, 0, 1, r0, r1, r2, r3, 0); 851 TESTINST4_2OUT("smull r0, r1, r2, r3", 0, 0, 1, 0, r0, r1, r2, r3, 0); 852 TESTINST4_2OUT("smull r0, r1, r2, r3", 0, 0, 1, 1, r0, r1, r2, r3, 0); 853 TESTINST4_2OUT("smull r0, r1, r2, r3", 0, 0, 0xffff, 0xffff, r0, r1, r2, r3, 0); 854 TESTINST4_2OUT("smull r0, r1, r2, r3", 0, 0, 0xffffffff, 0xffffffff, r0, r1, r2, r3, 0); 855 #if 0 856 TESTINST4_2OUT("smulls r0, r1, r2, r3", 0, 0, 0, 0, r0, r1, r2, r3, 0); 857 TESTINST4_2OUT("smulls r0, r1, r2, r3", 0, 0, 0, 1, r0, r1, r2, r3, 0); 858 TESTINST4_2OUT("smulls r0, r1, r2, r3", 0, 0, 1, 0, r0, r1, r2, r3, 0); 859 TESTINST4_2OUT("smulls r0, r1, r2, r3", 0, 0, 1, 1, r0, r1, r2, r3, 0); 860 TESTINST4_2OUT("smulls r0, r1, r2, r3", 0, 0, 0xffff, 0xffff, r0, r1, r2, r3, 0); 861 TESTINST4_2OUT("smulls r0, r1, r2, r3", 0, 0, 0xffffffff, 0xffffffff, r0, r1, r2, r3, 0); 862 #endif 863 864 #if 0 865 printf("UMLAL\n"); 866 TESTINST4_2OUT("umlal r0, r1, r2, r3", 0, 0, 0, 0, r0, r1, r2, r3, 0); 867 TESTINST4_2OUT("umlal r0, r1, r2, r3", 0, 1, 0, 0, r0, r1, r2, r3, 0); 868 TESTINST4_2OUT("umlal r0, r1, r2, r3", 1, 1, 0, 0, r0, r1, r2, r3, 0); 869 TESTINST4_2OUT("umlal r0, r1, r2, r3", 0, 0xffffffff, 1, 1, r0, r1, r2, r3, 0); 870 TESTINST4_2OUT("umlal r0, r1, r2, r3", 0, 0, 0, 1, r0, r1, r2, r3, 0); 871 TESTINST4_2OUT("umlal r0, r1, r2, r3", 0, 0, 1, 0, r0, r1, r2, r3, 0); 872 TESTINST4_2OUT("umlal r0, r1, r2, r3", 0, 0, 1, 1, r0, r1, r2, r3, 0); 873 TESTINST4_2OUT("umlal r0, r1, r2, r3", 0, 0, 0xffff, 0xffff, r0, r1, r2, r3, 0); 874 TESTINST4_2OUT("umlal r0, r1, r2, r3", 0, 0, 0xffffffff, 0xffffffff, r0, r1, r2, r3, 0); 875 #endif 876 #if 0 877 TESTINST4_2OUT("umlals r0, r1, r2, r3", 0, 0, 0, 0, r0, r1, r2, r3, 0); 878 TESTINST4_2OUT("umlals r0, r1, r2, r3", 0, 1, 0, 0, r0, r1, r2, r3, 0); 879 TESTINST4_2OUT("umlals r0, r1, r2, r3", 1, 1, 0, 0, r0, r1, r2, r3, 0); 880 TESTINST4_2OUT("umlals r0, r1, r2, r3", 0, 0xffffffff, 1, 1, r0, r1, r2, r3, 0); 881 TESTINST4_2OUT("umlals r0, r1, r2, r3", 0, 0, 0, 1, r0, r1, r2, r3, 0); 882 TESTINST4_2OUT("umlals r0, r1, r2, r3", 0, 0, 1, 0, r0, r1, r2, r3, 0); 883 TESTINST4_2OUT("umlals r0, r1, r2, r3", 0, 0, 1, 1, r0, r1, r2, r3, 0); 884 TESTINST4_2OUT("umlals r0, r1, r2, r3", 0, 0, 0xffff, 0xffff, r0, r1, r2, r3, 0); 885 TESTINST4_2OUT("umlals r0, r1, r2, r3", 0, 0, 0xffffffff, 0xffffffff, r0, r1, r2, r3, 0); 886 #endif 887 #if 0 888 printf("SMLAL\n"); 889 TESTINST4_2OUT("smlal r0, r1, r2, r3", 0, 0, 0, 0, r0, r1, r2, r3, 0); 890 TESTINST4_2OUT("smlal r0, r1, r2, r3", 0, 1, 0, 0, r0, r1, r2, r3, 0); 891 TESTINST4_2OUT("smlal r0, r1, r2, r3", 1, 1, 0, 0, r0, r1, r2, r3, 0); 892 TESTINST4_2OUT("smlal r0, r1, r2, r3", 0, 0xffffffff, 1, 1, r0, r1, r2, r3, 0); 893 TESTINST4_2OUT("smlal r0, r1, r2, r3", 0, 0, 0, 1, r0, r1, r2, r3, 0); 894 TESTINST4_2OUT("smlal r0, r1, r2, r3", 0, 0, 1, 0, r0, r1, r2, r3, 0); 895 TESTINST4_2OUT("smlal r0, r1, r2, r3", 0, 0, 1, 1, r0, r1, r2, r3, 0); 896 TESTINST4_2OUT("smlal r0, r1, r2, r3", 0, 0, 0xffff, 0xffff, r0, r1, r2, r3, 0); 897 TESTINST4_2OUT("smlal r0, r1, r2, r3", 0, 0, 0xffffffff, 0xffffffff, r0, r1, r2, r3, 0); 898 #endif 899 #if 0 900 TESTINST4_2OUT("smlals r0, r1, r2, r3", 0, 0, 0, 0, r0, r1, r2, r3, 0); 901 TESTINST4_2OUT("smlals r0, r1, r2, r3", 0, 1, 0, 0, r0, r1, r2, r3, 0); 902 TESTINST4_2OUT("smlals r0, r1, r2, r3", 1, 1, 0, 0, r0, r1, r2, r3, 0); 903 TESTINST4_2OUT("smlals r0, r1, r2, r3", 0, 0xffffffff, 1, 1, r0, r1, r2, r3, 0); 904 TESTINST4_2OUT("smlals r0, r1, r2, r3", 0, 0, 0, 1, r0, r1, r2, r3, 0); 905 TESTINST4_2OUT("smlals r0, r1, r2, r3", 0, 0, 1, 0, r0, r1, r2, r3, 0); 906 TESTINST4_2OUT("smlals r0, r1, r2, r3", 0, 0, 1, 1, r0, r1, r2, r3, 0); 907 TESTINST4_2OUT("smlals r0, r1, r2, r3", 0, 0, 0xffff, 0xffff, r0, r1, r2, r3, 0); 908 TESTINST4_2OUT("smlals r0, r1, r2, r3", 0, 0, 0xffffffff, 0xffffffff, r0, r1, r2, r3, 0); 909 #endif 910 911 printf("SMLALD\n"); 912 TESTINST4_2OUT("smlald r0, r1, r2, r3", 0, 0, 0, 0, r0, r1, r2, r3, 0); 913 TESTINST4_2OUT("smlald r0, r1, r2, r3", 0, 1, 0, 0, r0, r1, r2, r3, 0); 914 TESTINST4_2OUT("smlald r0, r1, r2, r3", 1, 1, 0, 0, r0, r1, r2, r3, 0); 915 TESTINST4_2OUT("smlald r0, r1, r2, r3", 0, 0xffffffff, 1, 1, r0, r1, r2, r3, 0); 916 TESTINST4_2OUT("smlald r0, r1, r2, r3", 0, 0, 0, 1, r0, r1, r2, r3, 0); 917 TESTINST4_2OUT("smlald r0, r1, r2, r3", 0, 0, 1, 0, r0, r1, r2, r3, 0); 918 TESTINST4_2OUT("smlald r0, r1, r2, r3", 0, 0, 1, 1, r0, r1, r2, r3, 0); 919 TESTINST4_2OUT("smlald r0, r1, r2, r3", 0, 0, 0xffff, 0xffff, r0, r1, r2, r3, 0); 920 TESTINST4_2OUT("smlald r0, r1, r2, r3", 0, 0, 0xffffffff, 0xffffffff, r0, r1, r2, r3, 0); 921 TESTINST4_2OUT("smlald r0, r1, r2, r3", 0xfff4ffff, 0xff8fff3f, 0xfffff6ff, 0xfff9ffff, r0, r1, r2, r3, 0); 922 923 TESTINST4_2OUT("smlaldx r0, r1, r2, r3", 0, 0, 0, 0, r0, r1, r2, r3, 0); 924 TESTINST4_2OUT("smlaldx r0, r1, r2, r3", 0, 1, 0, 0, r0, r1, r2, r3, 0); 925 TESTINST4_2OUT("smlaldx r0, r1, r2, r3", 1, 1, 0, 0, r0, r1, r2, r3, 0); 926 TESTINST4_2OUT("smlaldx r0, r1, r2, r3", 0, 0xffffffff, 1, 1, r0, r1, r2, r3, 0); 927 TESTINST4_2OUT("smlaldx r0, r1, r2, r3", 0, 0, 0, 1, r0, r1, r2, r3, 0); 928 TESTINST4_2OUT("smlaldx r0, r1, r2, r3", 0, 0, 1, 0, r0, r1, r2, r3, 0); 929 TESTINST4_2OUT("smlaldx r0, r1, r2, r3", 0, 0, 1, 1, r0, r1, r2, r3, 0); 930 TESTINST4_2OUT("smlaldx r0, r1, r2, r3", 0, 0, 0xffff, 0xffff, r0, r1, r2, r3, 0); 931 TESTINST4_2OUT("smlaldx r0, r1, r2, r3", 0, 0, 0xffffffff, 0xffffffff, r0, r1, r2, r3, 0); 932 TESTINST4_2OUT("smlaldx r0, r1, r2, r3", 0xfff4ffff, 0xff8fff3f, 0xfffff6ff, 0xfff9ffff, r0, r1, r2, r3, 0); 933 934 printf("SMLSLD\n"); 935 TESTINST4_2OUT("smlsld r0, r1, r2, r3", 0, 0, 0, 0, r0, r1, r2, r3, 0); 936 TESTINST4_2OUT("smlsld r0, r1, r2, r3", 0, 1, 0, 0, r0, r1, r2, r3, 0); 937 TESTINST4_2OUT("smlsld r0, r1, r2, r3", 1, 1, 0, 0, r0, r1, r2, r3, 0); 938 TESTINST4_2OUT("smlsld r0, r1, r2, r3", 0, 0xffffffff, 1, 1, r0, r1, r2, r3, 0); 939 TESTINST4_2OUT("smlsld r0, r1, r2, r3", 0, 0, 0, 1, r0, r1, r2, r3, 0); 940 TESTINST4_2OUT("smlsld r0, r1, r2, r3", 0, 0, 1, 0, r0, r1, r2, r3, 0); 941 TESTINST4_2OUT("smlsld r0, r1, r2, r3", 0, 0, 1, 1, r0, r1, r2, r3, 0); 942 TESTINST4_2OUT("smlsld r0, r1, r2, r3", 0, 0, 0xffff, 0xffff, r0, r1, r2, r3, 0); 943 TESTINST4_2OUT("smlsld r0, r1, r2, r3", 0, 0, 0xffffffff, 0xffffffff, r0, r1, r2, r3, 0); 944 TESTINST4_2OUT("smlsld r0, r1, r2, r3", 0xfff4ffff, 0xff8fff3f, 0xfffff6ff, 0xfff9ffff, r0, r1, r2, r3, 0); 945 TESTINST4_2OUT("smlsldx r0, r1, r2, r3", 0, 0, 0, 0, r0, r1, r2, r3, 0); 946 TESTINST4_2OUT("smlsldx r0, r1, r2, r3", 0, 1, 0, 0, r0, r1, r2, r3, 0); 947 TESTINST4_2OUT("smlsldx r0, r1, r2, r3", 1, 1, 0, 0, r0, r1, r2, r3, 0); 948 TESTINST4_2OUT("smlsldx r0, r1, r2, r3", 0, 0xffffffff, 1, 1, r0, r1, r2, r3, 0); 949 TESTINST4_2OUT("smlsldx r0, r1, r2, r3", 0, 0, 0, 1, r0, r1, r2, r3, 0); 950 TESTINST4_2OUT("smlsldx r0, r1, r2, r3", 0, 0, 1, 0, r0, r1, r2, r3, 0); 951 TESTINST4_2OUT("smlsldx r0, r1, r2, r3", 0, 0, 1, 1, r0, r1, r2, r3, 0); 952 TESTINST4_2OUT("smlsldx r0, r1, r2, r3", 0, 0, 0xffff, 0xffff, r0, r1, r2, r3, 0); 953 TESTINST4_2OUT("smlsldx r0, r1, r2, r3", 0, 0, 0xffffffff, 0xffffffff, r0, r1, r2, r3, 0); 954 TESTINST4_2OUT("smlsldx r0, r1, r2, r3", 0xfff4ffff, 0xff8fff3f, 0xfffff6ff, 0xfff9ffff, r0, r1, r2, r3, 0); 955 956 printf("CLZ\n"); 957 TESTCARRY 958 TESTINST2("clz r0, r1", 0, r0, r1, cv); 959 TESTINST2("clz r0, r1", 1, r0, r1, cv); 960 TESTINST2("clz r0, r1", 0x10, r0, r1, cv); 961 TESTINST2("clz r0, r1", 0xffffffff, r0, r1, cv); 962 TESTCARRYEND 963 964 printf("extend instructions\n"); 965 TESTINST2("uxtb r0, r1", 0, r0, r1, 0); 966 TESTINST2("uxtb r0, r1", 1, r0, r1, 0); 967 TESTINST2("uxtb r0, r1", 0xff, r0, r1, 0); 968 TESTINST2("uxtb r0, r1", 0xffffffff, r0, r1, 0); 969 TESTINST2("sxtb r0, r1", 0, r0, r1, 0); 970 TESTINST2("sxtb r0, r1", 1, r0, r1, 0); 971 TESTINST2("sxtb r0, r1", 0xff, r0, r1, 0); 972 TESTINST2("sxtb r0, r1", 0xffffffff, r0, r1, 0); 973 974 TESTINST2("uxth r0, r1", 0, r0, r1, 0); 975 TESTINST2("uxth r0, r1", 1, r0, r1, 0); 976 TESTINST2("uxth r0, r1", 0xffff, r0, r1, 0); 977 TESTINST2("uxth r0, r1", 0xffffffff, r0, r1, 0); 978 TESTINST2("sxth r0, r1", 0, r0, r1, 0); 979 TESTINST2("sxth r0, r1", 1, r0, r1, 0); 980 TESTINST2("sxth r0, r1", 0x7fff, r0, r1, 0); 981 TESTINST2("sxth r0, r1", 0xffff, r0, r1, 0); 982 TESTINST2("sxth r0, r1", 0x10ffff, r0, r1, 0); 983 TESTINST2("sxth r0, r1", 0x107fff, r0, r1, 0); 984 TESTINST2("sxth r0, r1", 0xffffffff, r0, r1, 0); 985 986 TESTINST2("uxtb r0, r1, ror #0", 0x000000ff, r0, r1, 0); 987 TESTINST2("uxtb r0, r1, ror #8", 0x000000ff, r0, r1, 0); 988 TESTINST2("uxtb r0, r1, ror #8", 0x0000ff00, r0, r1, 0); 989 TESTINST2("uxtb r0, r1, ror #16", 0x00ff0000, r0, r1, 0); 990 TESTINST2("uxtb r0, r1, ror #24", 0xff000000, r0, r1, 0); 991 #if 0 992 TESTINST2("uxtb16 r0, r1", 0xffffffff, r0, r1, 0); 993 TESTINST2("uxtb16 r0, r1, ror #16", 0x0000ffff, r0, r1, 0); 994 TESTINST2("sxtb16 r0, r1", 0xffffffff, r0, r1, 0); 995 TESTINST2("sxtb16 r0, r1", 0x00ff00ff, r0, r1, 0); 996 TESTINST2("sxtb16 r0, r1", 0x007f007f, r0, r1, 0); 997 #endif 998 printf("------------ BFI ------------\n"); 999 1000 /* bfi rDst, rSrc, #lsb-in-dst, #number-of-bits-to-copy */ 1001 TESTINST2("bfi r0, r1, #0, #11", 0xAAAAAAAA, r0, r1, 0); 1002 TESTINST2("bfi r0, r1, #1, #11", 0xAAAAAAAA, r0, r1, 0); 1003 TESTINST2("bfi r0, r1, #2, #11", 0xAAAAAAAA, r0, r1, 0); 1004 1005 TESTINST2("bfi r0, r1, #19, #11", 0xFFFFFFFF, r0, r1, 0); 1006 TESTINST2("bfi r0, r1, #20, #11", 0xFFFFFFFF, r0, r1, 0); 1007 TESTINST2("bfi r0, r1, #21, #11", 0xFFFFFFFF, r0, r1, 0); 1008 1009 TESTINST2("bfi r0, r1, #0, #32", 0xFFFFFFFF, r0, r1, 0); 1010 TESTINST2("bfi r0, r1, #1, #31", 0xFFFFFFFF, r0, r1, 0); 1011 1012 TESTINST2("bfi r0, r1, #29, #3", 0xFFFFFFFF, r0, r1, 0); 1013 TESTINST2("bfi r0, r1, #30, #2", 0xFFFFFFFF, r0, r1, 0); 1014 TESTINST2("bfi r0, r1, #31, #1", 0xFFFFFFFF, r0, r1, 0); 1015 1016 printf("------------ BFC ------------\n"); 1017 1018 /* bfi rDst, #lsb-in-dst, #number-of-bits-to-copy */ 1019 TESTINST2("bfc r0, #0, #11", 0xAAAAAAAA, r0, r1, 0); 1020 TESTINST2("bfc r0, #1, #11", 0xAAAAAAAA, r0, r1, 0); 1021 TESTINST2("bfc r0, #2, #11", 0xAAAAAAAA, r0, r1, 0); 1022 1023 TESTINST2("bfc r0, #19, #11", 0xFFFFFFFF, r0, r1, 0); 1024 TESTINST2("bfc r0, #20, #11", 0xFFFFFFFF, r0, r1, 0); 1025 TESTINST2("bfc r0, #21, #11", 0xFFFFFFFF, r0, r1, 0); 1026 1027 TESTINST2("bfc r0, #0, #32", 0xFFFFFFFF, r0, r1, 0); 1028 TESTINST2("bfc r0, #1, #31", 0xFFFFFFFF, r0, r1, 0); 1029 1030 TESTINST2("bfc r0, #29, #3", 0xFFFFFFFF, r0, r1, 0); 1031 TESTINST2("bfc r0, #30, #2", 0xFFFFFFFF, r0, r1, 0); 1032 TESTINST2("bfc r0, #31, #1", 0xFFFFFFFF, r0, r1, 0); 1033 1034 printf("------------ SBFX ------------\n"); 1035 1036 /* sbfx rDst, rSrc, #lsb, #width */ 1037 TESTINST2("sbfx r0, r1, #0, #1", 0x00000000, r0, r1, 0); 1038 TESTINST2("sbfx r0, r1, #0, #1", 0x00000001, r0, r1, 0); 1039 TESTINST2("sbfx r0, r1, #1, #1", 0x00000000, r0, r1, 0); 1040 TESTINST2("sbfx r0, r1, #1, #1", 0x00000001, r0, r1, 0); 1041 TESTINST2("sbfx r0, r1, #1, #1", 0x00000002, r0, r1, 0); 1042 TESTINST2("sbfx r0, r1, #1, #1", 0x00000003, r0, r1, 0); 1043 1044 TESTINST2("sbfx r0, r1, #0, #2", 0x00000000, r0, r1, 0); 1045 TESTINST2("sbfx r0, r1, #0, #2", 0x00000001, r0, r1, 0); 1046 TESTINST2("sbfx r0, r1, #1, #2", 0x00000000, r0, r1, 0); 1047 TESTINST2("sbfx r0, r1, #1, #2", 0x00000001, r0, r1, 0); 1048 TESTINST2("sbfx r0, r1, #1, #2", 0x00000002, r0, r1, 0); 1049 TESTINST2("sbfx r0, r1, #1, #2", 0x00000003, r0, r1, 0); 1050 1051 TESTINST2("sbfx r0, r1, #0, #11", 0xAAAAAAAA, r0, r1, 0); 1052 TESTINST2("sbfx r0, r1, #1, #11", 0xAAAAAAAA, r0, r1, 0); 1053 TESTINST2("sbfx r0, r1, #2, #11", 0xAAAAAAAA, r0, r1, 0); 1054 1055 TESTINST2("sbfx r0, r1, #2, #11", 0xAAAAAAAA, r0, r1, 0); 1056 1057 TESTINST2("sbfx r0, r1, #31, #1", 0xAAAAAAAA, r0, r1, 0); 1058 TESTINST2("sbfx r0, r1, #30, #2", 0xAAAAAAAA, r0, r1, 0); 1059 1060 printf("------------ UBFX ------------\n"); 1061 1062 /* ubfx rDst, rSrc, #lsb, #width */ 1063 TESTINST2("ubfx r0, r1, #0, #1", 0x00000000, r0, r1, 0); 1064 TESTINST2("ubfx r0, r1, #0, #1", 0x00000001, r0, r1, 0); 1065 TESTINST2("ubfx r0, r1, #1, #1", 0x00000000, r0, r1, 0); 1066 TESTINST2("ubfx r0, r1, #1, #1", 0x00000001, r0, r1, 0); 1067 TESTINST2("ubfx r0, r1, #1, #1", 0x00000002, r0, r1, 0); 1068 TESTINST2("ubfx r0, r1, #1, #1", 0x00000003, r0, r1, 0); 1069 1070 TESTINST2("ubfx r0, r1, #0, #2", 0x00000000, r0, r1, 0); 1071 TESTINST2("ubfx r0, r1, #0, #2", 0x00000001, r0, r1, 0); 1072 TESTINST2("ubfx r0, r1, #1, #2", 0x00000000, r0, r1, 0); 1073 TESTINST2("ubfx r0, r1, #1, #2", 0x00000001, r0, r1, 0); 1074 TESTINST2("ubfx r0, r1, #1, #2", 0x00000002, r0, r1, 0); 1075 TESTINST2("ubfx r0, r1, #1, #2", 0x00000003, r0, r1, 0); 1076 1077 TESTINST2("ubfx r0, r1, #0, #11", 0xAAAAAAAA, r0, r1, 0); 1078 TESTINST2("ubfx r0, r1, #1, #11", 0xAAAAAAAA, r0, r1, 0); 1079 TESTINST2("ubfx r0, r1, #2, #11", 0xAAAAAAAA, r0, r1, 0); 1080 1081 TESTINST2("ubfx r0, r1, #2, #11", 0xAAAAAAAA, r0, r1, 0); 1082 1083 TESTINST2("ubfx r0, r1, #31, #1", 0xAAAAAAAA, r0, r1, 0); 1084 TESTINST2("ubfx r0, r1, #30, #2", 0xAAAAAAAA, r0, r1, 0); 1085 1086 printf("------------ SMULL{B,T}{B,T} ------------\n"); 1087 /* SMULxx rD, rN, rM */ 1088 1089 TESTINST3("smulbb r0, r1, r2", 0x00030000, 0x00040000, r0, r1, r2, 0); 1090 TESTINST3("smulbb r0, r1, r2", 0x00030001, 0x00040002, r0, r1, r2, 0); 1091 TESTINST3("smulbb r0, r1, r2", 0x00038001, 0x00047fff, r0, r1, r2, 0); 1092 TESTINST3("smulbb r0, r1, r2", 0x00037fff, 0x00047fff, r0, r1, r2, 0); 1093 TESTINST3("smulbb r0, r1, r2", 0x0003ffff, 0x0004ffff, r0, r1, r2, 0); 1094 1095 printf("------------ SXTAB ------------\n"); 1096 TESTINST3("sxtab r0, r1, r2, ROR #24", 0x31415927, 0x27182819, 1097 r0, r1, r2, 0); 1098 TESTINST3("sxtab r0, r1, r2, ROR #16", 0x31415927, 0x27182819, 1099 r0, r1, r2, 0); 1100 TESTINST3("sxtab r0, r1, r2, ROR #8", 0x31415927, 0x27182819, 1101 r0, r1, r2, 0); 1102 TESTINST3("sxtab r0, r1, r2, ROR #0", 0x31415927, 0x27182819, 1103 r0, r1, r2, 0); 1104 1105 TESTINST3("sxtab r0, r1, r2, ROR #24", 0x31415927, 0x27182899, 1106 r0, r1, r2, 0); 1107 TESTINST3("sxtab r0, r1, r2, ROR #16", 0x31415927, 0x27182899, 1108 r0, r1, r2, 0); 1109 TESTINST3("sxtab r0, r1, r2, ROR #8", 0x31415927, 0x27182899, 1110 r0, r1, r2, 0); 1111 TESTINST3("sxtab r0, r1, r2, ROR #0", 0x31415927, 0x27182899, 1112 r0, r1, r2, 0); 1113 #if 0 1114 printf("------------ SXTAB16 ------------\n"); 1115 TESTINST3("sxtab16 r0, r1, r2, ROR #24", 0x31415927, 0x27182819, 1116 r0, r1, r2, 0); 1117 TESTINST3("sxtab16 r0, r1, r2, ROR #16", 0x31415927, 0x27182819, 1118 r0, r1, r2, 0); 1119 TESTINST3("sxtab16 r0, r1, r2, ROR #8", 0x31415927, 0x27182819, 1120 r0, r1, r2, 0); 1121 TESTINST3("sxtab16 r0, r1, r2, ROR #0", 0x31415927, 0x27182819, 1122 r0, r1, r2, 0); 1123 1124 TESTINST3("sxtab16 r0, r1, r2, ROR #24", 0x31415927, 0x27182899, 1125 r0, r1, r2, 0); 1126 TESTINST3("sxtab16 r0, r1, r2, ROR #16", 0x31415927, 0x27182899, 1127 r0, r1, r2, 0); 1128 TESTINST3("sxtab16 r0, r1, r2, ROR #8", 0x31415927, 0x27182899, 1129 r0, r1, r2, 0); 1130 TESTINST3("sxtab16 r0, r1, r2, ROR #0", 0x31415927, 0x27182899, 1131 r0, r1, r2, 0); 1132 #endif 1133 printf("------------ UXTAB ------------\n"); 1134 TESTINST3("uxtab r0, r1, r2, ROR #24", 0x31415927, 0x27182819, 1135 r0, r1, r2, 0); 1136 TESTINST3("uxtab r0, r1, r2, ROR #16", 0x31415927, 0x27182819, 1137 r0, r1, r2, 0); 1138 TESTINST3("uxtab r0, r1, r2, ROR #8", 0x31415927, 0x27182819, 1139 r0, r1, r2, 0); 1140 TESTINST3("uxtab r0, r1, r2, ROR #0", 0x31415927, 0x27182819, 1141 r0, r1, r2, 0); 1142 1143 TESTINST3("uxtab r0, r1, r2, ROR #24", 0x31415927, 0x27182899, 1144 r0, r1, r2, 0); 1145 TESTINST3("uxtab r0, r1, r2, ROR #16", 0x31415927, 0x27182899, 1146 r0, r1, r2, 0); 1147 TESTINST3("uxtab r0, r1, r2, ROR #8", 0x31415927, 0x27182899, 1148 r0, r1, r2, 0); 1149 TESTINST3("uxtab r0, r1, r2, ROR #0", 0x31415927, 0x27182899, 1150 r0, r1, r2, 0); 1151 #if 0 1152 printf("------------ UXTAB16 ------------\n"); 1153 TESTINST3("uxtab16 r0, r1, r2, ROR #24", 0x31415927, 0x27182819, 1154 r0, r1, r2, 0); 1155 TESTINST3("uxtab16 r0, r1, r2, ROR #16", 0x31415927, 0x27182819, 1156 r0, r1, r2, 0); 1157 TESTINST3("uxtab16 r0, r1, r2, ROR #8", 0x31415927, 0x27182819, 1158 r0, r1, r2, 0); 1159 TESTINST3("uxtab16 r0, r1, r2, ROR #0", 0x31415927, 0x27182819, 1160 r0, r1, r2, 0); 1161 1162 TESTINST3("uxtab16 r0, r1, r2, ROR #24", 0x31415927, 0x27182899, 1163 r0, r1, r2, 0); 1164 TESTINST3("uxtab16 r0, r1, r2, ROR #16", 0x31415927, 0x27182899, 1165 r0, r1, r2, 0); 1166 TESTINST3("uxtab16 r0, r1, r2, ROR #8", 0x31415927, 0x27182899, 1167 r0, r1, r2, 0); 1168 TESTINST3("uxtab16 r0, r1, r2, ROR #0", 0x31415927, 0x27182899, 1169 r0, r1, r2, 0); 1170 #endif 1171 printf("------------ SXTAH ------------\n"); 1172 TESTINST3("sxtah r0, r1, r2, ROR #24", 0x31415927, 0x27182819, 1173 r0, r1, r2, 0); 1174 TESTINST3("sxtah r0, r1, r2, ROR #16", 0x31415927, 0x27182819, 1175 r0, r1, r2, 0); 1176 TESTINST3("sxtah r0, r1, r2, ROR #8 ", 0x31415927, 0x27182819, 1177 r0, r1, r2, 0); 1178 TESTINST3("sxtah r0, r1, r2, ROR #0 ", 0x31415927, 0x27182819, 1179 r0, r1, r2, 0); 1180 1181 TESTINST3("sxtah r0, r1, r2, ROR #24", 0x31415927, 0x27189819, 1182 r0, r1, r2, 0); 1183 TESTINST3("sxtah r0, r1, r2, ROR #16", 0x31415927, 0x27189819, 1184 r0, r1, r2, 0); 1185 TESTINST3("sxtah r0, r1, r2, ROR #8 ", 0x31415927, 0x27189819, 1186 r0, r1, r2, 0); 1187 TESTINST3("sxtah r0, r1, r2, ROR #0 ", 0x31415927, 0x27189819, 1188 r0, r1, r2, 0); 1189 1190 printf("------------ UXTAH ------------\n"); 1191 TESTINST3("uxtah r0, r1, r2, ROR #24", 0x31415927, 0x27182819, 1192 r0, r1, r2, 0); 1193 TESTINST3("uxtah r0, r1, r2, ROR #16", 0x31415927, 0x27182819, 1194 r0, r1, r2, 0); 1195 TESTINST3("uxtah r0, r1, r2, ROR #8 ", 0x31415927, 0x27182819, 1196 r0, r1, r2, 0); 1197 TESTINST3("uxtah r0, r1, r2, ROR #0 ", 0x31415927, 0x27182819, 1198 r0, r1, r2, 0); 1199 1200 TESTINST3("uxtah r0, r1, r2, ROR #24", 0x31415927, 0x27189819, 1201 r0, r1, r2, 0); 1202 TESTINST3("uxtah r0, r1, r2, ROR #16", 0x31415927, 0x27189819, 1203 r0, r1, r2, 0); 1204 TESTINST3("uxtah r0, r1, r2, ROR #8 ", 0x31415927, 0x27189819, 1205 r0, r1, r2, 0); 1206 TESTINST3("uxtah r0, r1, r2, ROR #0 ", 0x31415927, 0x27189819, 1207 r0, r1, r2, 0); 1208 #if 0 1209 printf("------------ PLD/PLDW (begin) ------------\n"); 1210 /* These don't have any effect on the architected state, so, 1211 uh, there's no result values to check. Just _do_ some of 1212 them and check Valgrind's instruction decoder eats them up 1213 without complaining. */ 1214 { int alocal; 1215 printf("pld reg +/- imm12 cases\n"); 1216 __asm__ __volatile__( "pld [%0, #128]" : :/*in*/"r"(&alocal) ); 1217 __asm__ __volatile__( "pld [%0, #-128]" : :/*in*/"r"(&alocal) ); 1218 __asm__ __volatile__( "pld [r15, #-128]" : :/*in*/"r"(&alocal) ); 1219 1220 // apparently pldw is v7 only 1221 //__asm__ __volatile__( "pldw [%0, #128]" : :/*in*/"r"(&alocal) ); 1222 //__asm__ __volatile__( "pldw [%0, #-128]" : :/*in*/"r"(&alocal) ); 1223 //__asm__ __volatile__( "pldw [r15, #128]" : :/*in*/"r"(&alocal) ); 1224 1225 printf("pld reg +/- shifted reg cases\n"); 1226 __asm__ __volatile__( "pld [%0, %1]" : : /*in*/"r"(&alocal), "r"(0) ); 1227 __asm__ __volatile__( "pld [%0, %1, LSL #1]" : : /*in*/"r"(&alocal), "r"(0) ); 1228 #if 0 1229 __asm__ __volatile__( "pld [%0, %1, LSR #1]" : : /*in*/"r"(&alocal), "r"(0) ); 1230 __asm__ __volatile__( "pld [%0, %1, ASR #1]" : : /*in*/"r"(&alocal), "r"(0) ); 1231 __asm__ __volatile__( "pld [%0, %1, ROR #1]" : : /*in*/"r"(&alocal), "r"(0) ); 1232 __asm__ __volatile__( "pld [%0, %1, RRX]" : : /*in*/"r"(&alocal), "r"(0) ); 1233 #endif 1234 } 1235 printf("------------ PLD/PLDW (done) ------------\n"); 1236 #endif 1237 1238 return 0; 1239 } 1240 1241 1242 //////////////////////////////////////////////////////////// 1243 //////////////////////////////////////////////////////////// 1244 /////////////////////////////////////////////////////////// 1245 /////////////////////////////////////////////////////////// 1246 1247 1248 int main ( void ) 1249 { 1250 // 16 bit instructions 1251 1252 printf("CMP-16 0x10a\n"); 1253 TESTCARRY 1254 TESTINST3("cmp r3, r6", 0, 0, r6/*fake*/, r3, r6, 0); 1255 TESTINST3("cmp r3, r6", 1, 0, r6/*fake*/, r3, r6, 0); 1256 TESTINST3("cmp r3, r6", 0, 1, r6/*fake*/, r3, r6, 0); 1257 TESTINST3("cmp r3, r6", -1, 0, r6/*fake*/, r3, r6, 0); 1258 TESTINST3("cmp r3, r6", 0, -1, r6/*fake*/, r3, r6, 0); 1259 TESTINST3("cmp r3, r6", 0, 0x80000000, r6/*fake*/, r3, r6, 0); 1260 TESTINST3("cmp r3, r6", 0x80000000, 0, r6/*fake*/, r3, r6, 0); 1261 TESTCARRYEND 1262 1263 printf("CMN-16 0x10a\n"); 1264 TESTCARRY 1265 TESTINST3("cmn r3, r6", 0, 0, r6/*fake*/, r3, r6, 0); 1266 TESTINST3("cmn r3, r6", 1, 0, r6/*fake*/, r3, r6, 0); 1267 TESTINST3("cmn r3, r6", 0, 1, r6/*fake*/, r3, r6, 0); 1268 TESTINST3("cmn r3, r6", -1, 0, r6/*fake*/, r3, r6, 0); 1269 TESTINST3("cmn r3, r6", 0, -1, r6/*fake*/, r3, r6, 0); 1270 TESTINST3("cmn r3, r6", 0, 0x80000000, r6/*fake*/, r3, r6, 0); 1271 TESTINST3("cmn r3, r6", 0x80000000, 0, r6/*fake*/, r3, r6, 0); 1272 TESTCARRYEND 1273 1274 printf("TST-16 0x108\n"); 1275 TESTCARRY 1276 TESTINST3("tst r3, r6", 0, 0, r6/*fake*/, r3, r6, cv); 1277 TESTINST3("tst r3, r6", 1, 0, r6/*fake*/, r3, r6, cv); 1278 TESTINST3("tst r3, r6", 0, 1, r6/*fake*/, r3, r6, cv); 1279 TESTINST3("tst r3, r6", 1, 1, r6/*fake*/, r3, r6, cv); 1280 TESTINST3("tst r3, r6", -1, 0, r6/*fake*/, r3, r6, cv); 1281 TESTINST3("tst r3, r6", 0, -1, r6/*fake*/, r3, r6, cv); 1282 TESTINST3("tst r3, r6", -1, -1, r6/*fake*/, r3, r6, cv); 1283 TESTCARRYEND 1284 1285 printf("NEGS-16 0x109\n"); 1286 TESTINST2("negs r0, r1", 1, r0, r1, 0); 1287 TESTCARRY 1288 TESTINST2("negs r0, r1", 1, r0, r1, cv); 1289 TESTINST2("negs r0, r1", 0, r0, r1, cv); 1290 TESTINST2("negs r0, r1", 0x80000000, r0, r1, cv); 1291 TESTINST2("negs r0, r1", 0x80000001, r0, r1, cv); 1292 TESTINST2("negs r0, r1", 0xFFFFFFFF, r0, r1, cv); 1293 TESTINST2("negs r0, r1", 0x7FFFFFFF, r0, r1, cv); 1294 TESTCARRYEND 1295 1296 printf("MVNS-16 0x10F\n"); 1297 TESTINST2("mvns r0, r1", 1, r0, r1, 0); 1298 TESTCARRY 1299 TESTINST2("mvns r0, r1", 1, r0, r1, cv); 1300 TESTINST2("mvns r0, r1", 0, r0, r1, cv); 1301 TESTINST2("mvns r0, r1", 0x80000000, r0, r1, cv); 1302 TESTINST2("mvns r0, r1", 0x80000001, r0, r1, cv); 1303 TESTINST2("mvns r0, r1", 0xFFFFFFFF, r0, r1, cv); 1304 TESTINST2("mvns r0, r1", 0x7FFFFFFF, r0, r1, cv); 1305 TESTCARRYEND 1306 1307 printf("ORRS-16 0x10C\n"); 1308 TESTCARRY 1309 TESTINST2x("orrs r1, r2", 0x31415927, 0x27181728, r1, r2, cv); 1310 TESTINST2x("orrs r1, r2", 0x00000000, 0x00000000, r1, r2, cv); 1311 TESTINST2x("orrs r1, r2", 0x00000001, 0x00000000, r1, r2, cv); 1312 TESTINST2x("orrs r1, r2", 0x00000000, 0x00000001, r1, r2, cv); 1313 TESTINST2x("orrs r1, r2", 0x80000000, 0x00000000, r1, r2, cv); 1314 TESTINST2x("orrs r1, r2", 0x00000000, 0x80000000, r1, r2, cv); 1315 TESTINST2x("orrs r1, r2", 0x80000000, 0x80000000, r1, r2, cv); 1316 TESTCARRYEND 1317 1318 printf("ANDS-16 0x100\n"); 1319 TESTCARRY 1320 TESTINST2x("ands r1, r2", 0x31415927, 0x27181728, r1, r2, cv); 1321 TESTINST2x("ands r1, r2", 0x00000000, 0x00000000, r1, r2, cv); 1322 TESTINST2x("ands r1, r2", 0x00000001, 0x00000000, r1, r2, cv); 1323 TESTINST2x("ands r1, r2", 0x00000000, 0x00000001, r1, r2, cv); 1324 TESTINST2x("ands r1, r2", 0x80000000, 0x00000000, r1, r2, cv); 1325 TESTINST2x("ands r1, r2", 0x00000000, 0x80000000, r1, r2, cv); 1326 TESTINST2x("ands r1, r2", 0x80000000, 0x80000000, r1, r2, cv); 1327 TESTCARRYEND 1328 1329 printf("EORS-16 0x101\n"); 1330 TESTCARRY 1331 TESTINST2x("eors r1, r2", 0x31415927, 0x27181728, r1, r2, cv); 1332 TESTINST2x("eors r1, r2", 0x00000000, 0x00000000, r1, r2, cv); 1333 TESTINST2x("eors r1, r2", 0x00000001, 0x00000000, r1, r2, cv); 1334 TESTINST2x("eors r1, r2", 0x00000000, 0x00000001, r1, r2, cv); 1335 TESTINST2x("eors r1, r2", 0x80000000, 0x00000000, r1, r2, cv); 1336 TESTINST2x("eors r1, r2", 0x00000000, 0x80000000, r1, r2, cv); 1337 TESTINST2x("eors r1, r2", 0x80000000, 0x80000000, r1, r2, cv); 1338 TESTCARRYEND 1339 1340 printf("MULS-16 0x10d\n"); 1341 TESTCARRY 1342 TESTINST2x("muls r1, r2", 0x31415927, 0x27181728, r1, r2, cv); 1343 TESTINST2x("muls r1, r2", 0x00000000, 0x00000000, r1, r2, cv); 1344 TESTINST2x("muls r1, r2", 0x00000001, 0x00000000, r1, r2, cv); 1345 TESTINST2x("muls r1, r2", 0x00000000, 0x00000001, r1, r2, cv); 1346 TESTINST2x("muls r1, r2", 0x80000000, 0x00000000, r1, r2, cv); 1347 TESTINST2x("muls r1, r2", 0x00000000, 0x80000000, r1, r2, cv); 1348 TESTINST2x("muls r1, r2", 0x80000000, 0x80000000, r1, r2, cv); 1349 TESTCARRYEND 1350 1351 printf("BICS-16 0x10E\n"); 1352 TESTCARRY 1353 TESTINST2x("bics r1, r2", 0x31415927, 0x27181728, r1, r2, cv); 1354 TESTINST2x("bics r1, r2", 0x00000000, 0x00000000, r1, r2, cv); 1355 TESTINST2x("bics r1, r2", 0x00000001, 0x00000000, r1, r2, cv); 1356 TESTINST2x("bics r1, r2", 0x00000000, 0x00000001, r1, r2, cv); 1357 TESTINST2x("bics r1, r2", 0x80000000, 0x00000000, r1, r2, cv); 1358 TESTINST2x("bics r1, r2", 0x00000000, 0x80000000, r1, r2, cv); 1359 TESTINST2x("bics r1, r2", 0x80000000, 0x80000000, r1, r2, cv); 1360 TESTCARRYEND 1361 1362 printf("ADCS-16 0x105\n"); 1363 TESTCARRY 1364 TESTINST2x("adcs r1, r2", 0x31415927, 0x27181728, r1, r2, cv); 1365 TESTINST2x("adcs r1, r2", 0x00000000, 0x00000000, r1, r2, cv); 1366 TESTINST2x("adcs r1, r2", 0x00000001, 0x00000000, r1, r2, cv); 1367 TESTINST2x("adcs r1, r2", 0x00000000, 0x00000001, r1, r2, cv); 1368 TESTINST2x("adcs r1, r2", 0x80000000, 0x00000000, r1, r2, cv); 1369 TESTINST2x("adcs r1, r2", 0x00000000, 0x80000000, r1, r2, cv); 1370 TESTINST2x("adcs r1, r2", 0x80000000, 0x80000000, r1, r2, cv); 1371 TESTCARRYEND 1372 1373 printf("SBCS-16 0x100\n"); 1374 TESTCARRY 1375 TESTINST2x("sbcs r1, r2", 0x31415927, 0x27181728, r1, r2, cv); 1376 TESTINST2x("sbcs r1, r2", 0x00000000, 0x00000000, r1, r2, cv); 1377 TESTINST2x("sbcs r1, r2", 0x00000001, 0x00000000, r1, r2, cv); 1378 TESTINST2x("sbcs r1, r2", 0x00000000, 0x00000001, r1, r2, cv); 1379 TESTINST2x("sbcs r1, r2", 0x80000000, 0x00000000, r1, r2, cv); 1380 TESTINST2x("sbcs r1, r2", 0x00000000, 0x80000000, r1, r2, cv); 1381 TESTINST2x("sbcs r1, r2", 0x80000000, 0x80000000, r1, r2, cv); 1382 TESTCARRYEND 1383 1384 printf("UXTB-16 0x2CB\n"); 1385 TESTCARRY 1386 TESTINST2("uxtb r1, r2", 0x31415927, r1, r2, cv); 1387 TESTINST2("uxtb r1, r2", 0x31415997, r1, r2, cv); 1388 TESTCARRYEND 1389 1390 printf("SXTB-16 0x2C9\n"); 1391 TESTCARRY 1392 TESTINST2("sxtb r1, r2", 0x31415927, r1, r2, cv); 1393 TESTINST2("sxtb r1, r2", 0x31415997, r1, r2, cv); 1394 TESTCARRYEND 1395 1396 printf("UXTH-16 0x2CA\n"); 1397 TESTCARRY 1398 TESTINST2("uxth r1, r2", 0x31415927, r1, r2, cv); 1399 TESTINST2("uxth r1, r2", 0x31419597, r1, r2, cv); 1400 TESTCARRYEND 1401 1402 printf("SXTH-16 0x2C8\n"); 1403 TESTCARRY 1404 TESTINST2("sxth r1, r2", 0x31415927, r1, r2, cv); 1405 TESTINST2("sxth r1, r2", 0x31419597, r1, r2, cv); 1406 TESTCARRYEND 1407 1408 printf("LSLS-16 0x102\n"); 1409 TESTCARRY 1410 TESTINST2x("lsls r1, r2", 0x31415927, 0x00000000, r1, r2, cv); 1411 TESTINST2x("lsls r1, r2", 0x31415927, 0x00000001, r1, r2, cv); 1412 TESTINST2x("lsls r1, r2", 0x31415927, 0x00000002, r1, r2, cv); 1413 TESTINST2x("lsls r1, r2", 0x31415927, 0x0000000F, r1, r2, cv); 1414 TESTINST2x("lsls r1, r2", 0x31415927, 0x00000010, r1, r2, cv); 1415 TESTINST2x("lsls r1, r2", 0x31415927, 0x0000001F, r1, r2, cv); 1416 TESTINST2x("lsls r1, r2", 0x31415927, 0x00000020, r1, r2, cv); 1417 TESTINST2x("lsls r1, r2", 0x31415927, 0x00000021, r1, r2, cv); 1418 TESTCARRYEND 1419 1420 printf("LSRS-16 0x103\n"); 1421 TESTCARRY 1422 TESTINST2x("lsrs r1, r2", 0x31415927, 0x00000000, r1, r2, cv); 1423 TESTINST2x("lsrs r1, r2", 0x31415927, 0x00000001, r1, r2, cv); 1424 TESTINST2x("lsrs r1, r2", 0x31415927, 0x00000002, r1, r2, cv); 1425 TESTINST2x("lsrs r1, r2", 0x31415927, 0x0000000F, r1, r2, cv); 1426 TESTINST2x("lsrs r1, r2", 0x31415927, 0x00000010, r1, r2, cv); 1427 TESTINST2x("lsrs r1, r2", 0x31415927, 0x0000001F, r1, r2, cv); 1428 TESTINST2x("lsrs r1, r2", 0x31415927, 0x00000020, r1, r2, cv); 1429 TESTINST2x("lsrs r1, r2", 0x31415927, 0x00000021, r1, r2, cv); 1430 TESTCARRYEND 1431 1432 printf("ASRS-16 0x104\n"); 1433 TESTCARRY 1434 TESTINST2x("asrs r1, r2", 0x31415927, 0x00000000, r1, r2, cv); 1435 TESTINST2x("asrs r1, r2", 0x91415927, 0x00000001, r1, r2, cv); 1436 TESTINST2x("asrs r1, r2", 0x31415927, 0x00000002, r1, r2, cv); 1437 TESTINST2x("asrs r1, r2", 0x91415927, 0x0000000F, r1, r2, cv); 1438 TESTINST2x("asrs r1, r2", 0x31415927, 0x00000010, r1, r2, cv); 1439 TESTINST2x("asrs r1, r2", 0x91415927, 0x0000001F, r1, r2, cv); 1440 TESTINST2x("asrs r1, r2", 0x31415927, 0x00000020, r1, r2, cv); 1441 TESTINST2x("asrs r1, r2", 0x91415927, 0x00000021, r1, r2, cv); 1442 TESTCARRYEND 1443 1444 printf("RORS-16 0x107\n"); 1445 TESTCARRY 1446 TESTINST2x("rors r1, r2", 0x31415927, 0x00000000, r1, r2, cv); 1447 TESTINST2x("rors r1, r2", 0x31415927, 0x00000001, r1, r2, cv); 1448 TESTINST2x("rors r1, r2", 0x31415927, 0x00000002, r1, r2, cv); 1449 TESTINST2x("rors r1, r2", 0x31415927, 0x0000000F, r1, r2, cv); 1450 TESTINST2x("rors r1, r2", 0x31415927, 0x00000010, r1, r2, cv); 1451 TESTINST2x("rors r1, r2", 0x31415927, 0x0000001F, r1, r2, cv); 1452 TESTINST2x("rors r1, r2", 0x31415927, 0x00000020, r1, r2, cv); 1453 TESTINST2x("rors r1, r2", 0x31415927, 0x00000021, r1, r2, cv); 1454 TESTCARRYEND 1455 1456 printf("ADD(HI)-16\n"); 1457 TESTCARRY 1458 TESTINST2x("add r5, r12", 0x31415927, 0x12345678, r5, r12, cv); 1459 TESTINST2x("add r4, r9 ", 0x31415927, 0x12345678, r4, r9, cv); 1460 TESTCARRYEND 1461 1462 printf("CMP(HI)-16 0x10a\n"); 1463 TESTCARRY 1464 TESTINST3("cmp r5, r12", 0, 0, r12/*fake*/, r5, r12, 0); 1465 TESTINST3("cmp r5, r12", 1, 0, r12/*fake*/, r5, r12, 0); 1466 TESTINST3("cmp r5, r12", 0, 1, r12/*fake*/, r5, r12, 0); 1467 TESTINST3("cmp r5, r12", -1, 0, r12/*fake*/, r5, r12, 0); 1468 TESTINST3("cmp r5, r12", 0, -1, r12/*fake*/, r5, r12, 0); 1469 TESTINST3("cmp r5, r12", 0, 0x80000000, r12/*fake*/, r5, r12, 0); 1470 TESTINST3("cmp r5, r12", 0x80000000, 0, r12/*fake*/, r5, r12, 0); 1471 TESTCARRYEND 1472 1473 printf("MOV(HI)-16\n"); 1474 TESTCARRY 1475 TESTINST2x("mov r5, r12", 0x31415927, 0x12345678, r5, r12, cv); 1476 TESTINST2x("mov r4, r9 ", 0x31415927, 0x12345678, r4, r9, cv); 1477 TESTCARRYEND 1478 1479 printf("ADDS-16 Rd, Rn, #imm3\n"); 1480 TESTCARRY 1481 TESTINST2x("adds r1, r2, #1", 0x31415927, 0x27181728, r1, r2, cv); 1482 TESTINST2x("adds r1, r2, #7", 0x31415927, 0x97181728, r1, r2, cv); 1483 TESTCARRYEND 1484 1485 printf("ADDS-16 Rd, Rn, Rm\n"); 1486 TESTCARRY 1487 TESTINST3("adds r1, r2, r3", 0x31415927, 0x27181728, r1, r2, r3, cv); 1488 TESTINST3("adds r1, r2, r3", 0x31415927, 0x97181728, r1, r2, r3, cv); 1489 TESTINST3("adds r1, r2, r3", 0, 0, r1, r2, r3, cv); 1490 TESTINST3("adds r1, r2, r3", 1, 0, r1, r2, r3, cv); 1491 TESTINST3("adds r1, r2, r3", 0, 1, r1, r2, r3, cv); 1492 TESTINST3("adds r1, r2, r3", -1, 0, r1, r2, r3, cv); 1493 TESTINST3("adds r1, r2, r3", 0, -1, r1, r2, r3, cv); 1494 TESTINST3("adds r1, r2, r3", 0, 0x80000000, r1, r2, r3, cv); 1495 TESTINST3("adds r1, r2, r3", 0x80000000, 0, r1, r2, r3, cv); 1496 TESTINST3("adds r1, r2, r3", 0x80000000, 0x80000000, r1, r2, r3, cv); 1497 TESTINST3("adds r1, r2, r3", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 1498 TESTINST3("adds r1, r2, r3", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 1499 TESTINST3("adds r1, r2, r3", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 1500 TESTCARRYEND 1501 1502 printf("SUBS-16 Rd, Rn, Rm\n"); 1503 TESTCARRY 1504 TESTINST3("subs r1, r2, r3", 0x31415927, 0x27181728, r1, r2, r3, cv); 1505 TESTINST3("subs r1, r2, r3", 0x31415927, 0x97181728, r1, r2, r3, cv); 1506 TESTINST3("subs r1, r2, r3", 0, 0, r1, r2, r3, cv); 1507 TESTINST3("subs r1, r2, r3", 1, 0, r1, r2, r3, cv); 1508 TESTINST3("subs r1, r2, r3", 0, 1, r1, r2, r3, cv); 1509 TESTINST3("subs r1, r2, r3", -1, 0, r1, r2, r3, cv); 1510 TESTINST3("subs r1, r2, r3", 0, -1, r1, r2, r3, cv); 1511 TESTINST3("subs r1, r2, r3", 0, 0x80000000, r1, r2, r3, cv); 1512 TESTINST3("subs r1, r2, r3", 0x80000000, 0, r1, r2, r3, cv); 1513 TESTINST3("subs r1, r2, r3", 0x80000000, 0x80000000, r1, r2, r3, cv); 1514 TESTINST3("subs r1, r2, r3", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 1515 TESTINST3("subs r1, r2, r3", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 1516 TESTINST3("subs r1, r2, r3", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 1517 TESTCARRYEND 1518 1519 printf("ADDS-16 Rn, #uimm8\n"); 1520 TESTCARRY 1521 TESTINST1x("adds r1, #0 ", 0x31415927, r1, cv); 1522 TESTINST1x("adds r1, #255", 0x31415927, r1, cv); 1523 TESTINST1x("adds r1, #0 ", 0x91415927, r1, cv); 1524 TESTINST1x("adds r1, #255", 0x91415927, r1, cv); 1525 TESTCARRYEND 1526 1527 printf("SUBS-16 Rn, #uimm8\n"); 1528 TESTCARRY 1529 TESTINST1x("subs r1, #0 ", 0x31415927, r1, cv); 1530 TESTINST1x("subs r1, #255", 0x31415927, r1, cv); 1531 TESTINST1x("subs r1, #0 ", 0x91415927, r1, cv); 1532 TESTINST1x("subs r1, #255", 0x91415927, r1, cv); 1533 TESTCARRYEND 1534 1535 printf("CMP-16 Rn, #uimm8\n"); 1536 TESTCARRY 1537 TESTINST1x("cmp r1, #0x80 ", 0x00000080, r1, cv); 1538 TESTINST1x("cmp r1, #0x7f ", 0x00000080, r1, cv); 1539 TESTINST1x("cmp r1, #0x81 ", 0x00000080, r1, cv); 1540 TESTINST1x("cmp r1, #0x80 ", 0xffffff80, r1, cv); 1541 TESTINST1x("cmp r1, #0x7f ", 0xffffff80, r1, cv); 1542 TESTINST1x("cmp r1, #0x81 ", 0xffffff80, r1, cv); 1543 TESTINST1x("cmp r1, #0x01 ", 0x80000000, r1, cv); 1544 TESTCARRYEND 1545 1546 printf("MOVS-16 Rn, #uimm8\n"); 1547 TESTCARRY 1548 TESTINST1x("movs r1, #0 ", 0x31415927, r1, cv); 1549 TESTINST1x("movs r1, #0x7f", 0x31415927, r1, cv); 1550 TESTINST1x("movs r1, #0x80", 0x31415927, r1, cv); 1551 TESTINST1x("movs r1, #0x81", 0x31415927, r1, cv); 1552 TESTINST1x("movs r1, #0xff", 0x31415927, r1, cv); 1553 TESTCARRYEND 1554 1555 printf("LSLS-16 Rd, Rm, imm5\n"); 1556 TESTCARRY 1557 TESTINST2("lsls r1, r2, #0 ", 0x31415927, r1, r2, cv); 1558 TESTINST2("lsls r1, r2, #1 ", 0x31415927, r1, r2, cv); 1559 TESTINST2("lsls r1, r2, #2 ", 0x31415927, r1, r2, cv); 1560 TESTINST2("lsls r1, r2, #0xF ", 0x31415927, r1, r2, cv); 1561 TESTINST2("lsls r1, r2, #0x10", 0x31415927, r1, r2, cv); 1562 TESTINST2("lsls r1, r2, #0x1F", 0x31415927, r1, r2, cv); 1563 TESTCARRYEND 1564 1565 printf("LSRS-16 Rd, Rm, imm5\n"); 1566 TESTCARRY 1567 TESTINST2("lsrs r1, r2, #0 ", 0x31415927, r1, r2, cv); 1568 TESTINST2("lsrs r1, r2, #1 ", 0x31415927, r1, r2, cv); 1569 TESTINST2("lsrs r1, r2, #2 ", 0x31415927, r1, r2, cv); 1570 TESTINST2("lsrs r1, r2, #0xF ", 0x31415927, r1, r2, cv); 1571 TESTINST2("lsrs r1, r2, #0x10", 0x31415927, r1, r2, cv); 1572 TESTINST2("lsrs r1, r2, #0x1F", 0x31415927, r1, r2, cv); 1573 TESTCARRYEND 1574 1575 printf("ASRS-16 Rd, Rm, imm5\n"); 1576 TESTCARRY 1577 TESTINST2("asrs r1, r2, #0 ", 0x31415927, r1, r2, cv); 1578 TESTINST2("asrs r1, r2, #1 ", 0x91415927, r1, r2, cv); 1579 TESTINST2("asrs r1, r2, #2 ", 0x31415927, r1, r2, cv); 1580 TESTINST2("asrs r1, r2, #0xF ", 0x91415927, r1, r2, cv); 1581 TESTINST2("asrs r1, r2, #0x10", 0x31415927, r1, r2, cv); 1582 TESTINST2("asrs r1, r2, #0x1F", 0x91415927, r1, r2, cv); 1583 TESTCARRYEND 1584 1585 // 32 bit instructions 1586 1587 printf("(T3) ADD{S}.W Rd, Rn, #constT [allegedly]\n"); 1588 TESTCARRY 1589 TESTINST2("adds.w r1, r2, #0xffffffff", 0x31415927, r1, r2, cv); 1590 TESTINST2("adds.w r1, r2, #0xee00ee00", 0x31415927, r1, r2, cv); 1591 TESTINST2("adds.w r1, r2, #255 ", 0, r1, r2, cv); 1592 TESTINST2("adds.w r1, r2, #0 ", 1, r1, r2, cv); 1593 TESTINST2("adds.w r1, r2, #1 ", 0, r1, r2, cv); 1594 TESTINST2("adds.w r1, r2, #0 ", -1, r1, r2, cv); 1595 TESTINST2("adds.w r1, r2, #-1 ", 0, r1, r2, cv); 1596 TESTINST2("adds.w r1, r2, #0x80000000", 0, r1, r2, cv); 1597 TESTINST2("adds.w r1, r2, #0 ", 0x80000000, r1, r2, cv); 1598 TESTINST2("adds.w r1, r2, #0x80000000", 0x80000000, r1, r2, cv); 1599 TESTINST2("adds.w r1, r2, #0x80000000", 0x7fffffff, r1, r2, cv); 1600 TESTINST2("adds.w r1, r2, #0xff000000", 0x80000000, r1, r2, cv); 1601 TESTINST2("adds.w r1, r2, #0x0dd00000", 0x7fffffff, r1, r2, cv); 1602 TESTINST2("add.w r1, r2, #0xffffffff", 0x31415927, r1, r2, cv); 1603 TESTINST2("add.w r1, r2, #0xee00ee00", 0x31415927, r1, r2, cv); 1604 TESTINST2("add.w r1, r2, #255 ", 0, r1, r2, cv); 1605 TESTINST2("add.w r1, r2, #0 ", 1, r1, r2, cv); 1606 TESTINST2("add.w r1, r2, #1 ", 0, r1, r2, cv); 1607 TESTINST2("add.w r1, r2, #0 ", -1, r1, r2, cv); 1608 TESTINST2("add.w r1, r2, #-1 ", 0, r1, r2, cv); 1609 TESTINST2("add.w r1, r2, #0x80000000", 0, r1, r2, cv); 1610 TESTINST2("add.w r1, r2, #0 ", 0x80000000, r1, r2, cv); 1611 TESTINST2("add.w r1, r2, #0x80000000", 0x80000000, r1, r2, cv); 1612 TESTINST2("add.w r1, r2, #0x80000000", 0x7fffffff, r1, r2, cv); 1613 TESTINST2("add.w r1, r2, #0xff000000", 0x80000000, r1, r2, cv); 1614 TESTINST2("add.w r1, r2, #0x0dd00000", 0x7fffffff, r1, r2, cv); 1615 TESTCARRYEND 1616 1617 printf("(T4) ADDW Rd, Rn, #uimm12\n"); 1618 TESTCARRY 1619 TESTINST2("addw r1, r2, #0x000", 0x31415927, r1, r2, cv); 1620 TESTINST2("addw r1, r2, #0x000", 0x91415927, r1, r2, cv); 1621 TESTINST2("addw r1, r2, #0xABC", 0x31415927, r1, r2, cv); 1622 TESTINST2("addw r1, r2, #0xABC", 0x91415927, r1, r2, cv); 1623 TESTINST2("addw r1, r2, #0xFFF", 0x31415927, r1, r2, cv); 1624 TESTINST2("addw r1, r2, #0xFFF", 0x91415927, r1, r2, cv); 1625 TESTCARRYEND 1626 1627 printf("(T3) CMP.W Rn, #constT [allegedly]\n"); 1628 TESTCARRY 1629 TESTINST1x("cmp.w r1, #0xffffffff", 0x31415927, r1, cv); 1630 TESTINST1x("cmp.w r1, #0xee00ee00", 0x31415927, r1, cv); 1631 TESTINST1x("cmp.w r1, #255 ", 0, r1, cv); 1632 TESTINST1x("cmp.w r1, #0 ", 1, r1, cv); 1633 TESTINST1x("cmp.w r1, #1 ", 0, r1, cv); 1634 TESTINST1x("cmp.w r1, #0 ", -1, r1, cv); 1635 TESTINST1x("cmp.w r1, #-1 ", 0, r1, cv); 1636 TESTINST1x("cmp.w r1, #0x80000000", 0, r1, cv); 1637 TESTINST1x("cmp.w r1, #0 ", 0x80000000, r1, cv); 1638 TESTINST1x("cmp.w r1, #0x80000000", 0x80000000, r1, cv); 1639 TESTINST1x("cmp.w r1, #0x80000000", 0x7fffffff, r1, cv); 1640 TESTINST1x("cmp.w r1, #0xff000000", 0x80000000, r1, cv); 1641 TESTINST1x("cmp.w r1, #0x0dd00000", 0x7fffffff, r1, cv); 1642 TESTCARRYEND 1643 1644 printf("(T3) CMN.W Rn, #constT [allegedly]\n"); 1645 TESTCARRY 1646 TESTINST1x("cmn.w r1, #0xffffffff", 0x31415927, r1, cv); 1647 TESTINST1x("cmn.w r1, #0xee00ee00", 0x31415927, r1, cv); 1648 TESTINST1x("cmn.w r1, #255 ", 0, r1, cv); 1649 TESTINST1x("cmn.w r1, #0 ", 1, r1, cv); 1650 TESTINST1x("cmn.w r1, #1 ", 0, r1, cv); 1651 TESTINST1x("cmn.w r1, #0 ", -1, r1, cv); 1652 TESTINST1x("cmn.w r1, #-1 ", 0, r1, cv); 1653 TESTINST1x("cmn.w r1, #0x80000000", 0, r1, cv); 1654 TESTINST1x("cmn.w r1, #0 ", 0x80000000, r1, cv); 1655 TESTINST1x("cmn.w r1, #0x80000000", 0x80000000, r1, cv); 1656 TESTINST1x("cmn.w r1, #0x80000000", 0x7fffffff, r1, cv); 1657 TESTINST1x("cmn.w r1, #0xff000000", 0x80000000, r1, cv); 1658 TESTINST1x("cmn.w r1, #0x0dd00000", 0x7fffffff, r1, cv); 1659 TESTCARRYEND 1660 1661 printf("(T3) TST.W Rn, #constT [allegedly]\n"); 1662 TESTCARRY 1663 TESTINST1x("tst.w r1, #0xffffffff", 0x31415927, r1, cv); 1664 TESTINST1x("tst.w r1, #0xee00ee00", 0x31415927, r1, cv); 1665 TESTINST1x("tst.w r1, #255 ", 0, r1, cv); 1666 TESTINST1x("tst.w r1, #0 ", 1, r1, cv); 1667 TESTINST1x("tst.w r1, #1 ", 0, r1, cv); 1668 TESTINST1x("tst.w r1, #0 ", -1, r1, cv); 1669 TESTINST1x("tst.w r1, #-1 ", 0, r1, cv); 1670 TESTINST1x("tst.w r1, #0x80000000", 0, r1, cv); 1671 TESTINST1x("tst.w r1, #0 ", 0x80000000, r1, cv); 1672 TESTINST1x("tst.w r1, #0x80000000", 0x80000000, r1, cv); 1673 TESTINST1x("tst.w r1, #0x80000000", 0x7fffffff, r1, cv); 1674 TESTINST1x("tst.w r1, #0xff000000", 0x80000000, r1, cv); 1675 TESTINST1x("tst.w r1, #0x0dd00000", 0x7fffffff, r1, cv); 1676 TESTCARRYEND 1677 1678 printf("(T3) TEQ.W Rn, #constT [allegedly]\n"); 1679 TESTCARRY 1680 TESTINST1x("teq.w r1, #0xffffffff", 0x31415927, r1, cv); 1681 TESTINST1x("teq.w r1, #0xee00ee00", 0x31415927, r1, cv); 1682 TESTINST1x("teq.w r1, #255 ", 0, r1, cv); 1683 TESTINST1x("teq.w r1, #0 ", 1, r1, cv); 1684 TESTINST1x("teq.w r1, #1 ", 0, r1, cv); 1685 TESTINST1x("teq.w r1, #0 ", -1, r1, cv); 1686 TESTINST1x("teq.w r1, #-1 ", 0, r1, cv); 1687 TESTINST1x("teq.w r1, #0x80000000", 0, r1, cv); 1688 TESTINST1x("teq.w r1, #0 ", 0x80000000, r1, cv); 1689 TESTINST1x("teq.w r1, #0x80000000", 0x80000000, r1, cv); 1690 TESTINST1x("teq.w r1, #0x80000000", 0x7fffffff, r1, cv); 1691 TESTINST1x("teq.w r1, #0xff000000", 0x80000000, r1, cv); 1692 TESTINST1x("teq.w r1, #0x0dd00000", 0x7fffffff, r1, cv); 1693 TESTCARRYEND 1694 1695 printf("(T3) SUB{S}.W Rd, Rn, #constT [allegedly]\n"); 1696 TESTCARRY 1697 TESTINST2("subs.w r1, r2, #0xffffffff", 0x31415927, r1, r2, cv); 1698 TESTINST2("subs.w r1, r2, #0xee00ee00", 0x31415927, r1, r2, cv); 1699 TESTINST2("subs.w r1, r2, #255 ", 0, r1, r2, cv); 1700 TESTINST2("subs.w r1, r2, #0 ", 1, r1, r2, cv); 1701 TESTINST2("subs.w r1, r2, #1 ", 0, r1, r2, cv); 1702 TESTINST2("subs.w r1, r2, #0 ", -1, r1, r2, cv); 1703 TESTINST2("subs.w r1, r2, #-1 ", 0, r1, r2, cv); 1704 TESTINST2("subs.w r1, r2, #0x80000000", 0, r1, r2, cv); 1705 TESTINST2("subs.w r1, r2, #0 ", 0x80000000, r1, r2, cv); 1706 TESTINST2("subs.w r1, r2, #0x80000000", 0x80000000, r1, r2, cv); 1707 TESTINST2("subs.w r1, r2, #0x80000000", 0x7fffffff, r1, r2, cv); 1708 TESTINST2("subs.w r1, r2, #0xff000000", 0x80000000, r1, r2, cv); 1709 TESTINST2("subs.w r1, r2, #0x0dd00000", 0x7fffffff, r1, r2, cv); 1710 TESTINST2("sub.w r1, r2, #0xffffffff", 0x31415927, r1, r2, cv); 1711 TESTINST2("sub.w r1, r2, #0xee00ee00", 0x31415927, r1, r2, cv); 1712 TESTINST2("sub.w r1, r2, #255 ", 0, r1, r2, cv); 1713 TESTINST2("sub.w r1, r2, #0 ", 1, r1, r2, cv); 1714 TESTINST2("sub.w r1, r2, #1 ", 0, r1, r2, cv); 1715 TESTINST2("sub.w r1, r2, #0 ", -1, r1, r2, cv); 1716 TESTINST2("sub.w r1, r2, #-1 ", 0, r1, r2, cv); 1717 TESTINST2("sub.w r1, r2, #0x80000000", 0, r1, r2, cv); 1718 TESTINST2("sub.w r1, r2, #0 ", 0x80000000, r1, r2, cv); 1719 TESTINST2("sub.w r1, r2, #0x80000000", 0x80000000, r1, r2, cv); 1720 TESTINST2("sub.w r1, r2, #0x80000000", 0x7fffffff, r1, r2, cv); 1721 TESTINST2("sub.w r1, r2, #0xff000000", 0x80000000, r1, r2, cv); 1722 TESTINST2("sub.w r1, r2, #0x0dd00000", 0x7fffffff, r1, r2, cv); 1723 TESTCARRYEND 1724 1725 printf("(T4) SUBW Rd, Rn, #uimm12\n"); 1726 TESTCARRY 1727 TESTINST2("subw r1, r2, #0x000", 0x31415927, r1, r2, cv); 1728 TESTINST2("subw r1, r2, #0x000", 0x91415927, r1, r2, cv); 1729 TESTINST2("subw r1, r2, #0xABC", 0x31415927, r1, r2, cv); 1730 TESTINST2("subw r1, r2, #0xABC", 0x91415927, r1, r2, cv); 1731 TESTINST2("subw r1, r2, #0xFFF", 0x31415927, r1, r2, cv); 1732 TESTINST2("subw r1, r2, #0xFFF", 0x91415927, r1, r2, cv); 1733 TESTCARRYEND 1734 1735 printf("(T3) RSB{S}.W Rd, Rn, #constT [allegedly]\n"); 1736 TESTCARRY 1737 TESTINST2("rsbs.w r1, r2, #0xffffffff", 0x31415927, r1, r2, cv); 1738 TESTINST2("rsbs.w r1, r2, #0xee00ee00", 0x31415927, r1, r2, cv); 1739 TESTINST2("rsbs.w r1, r2, #255 ", 0, r1, r2, cv); 1740 TESTINST2("rsbs.w r1, r2, #0 ", 1, r1, r2, cv); 1741 TESTINST2("rsbs.w r1, r2, #1 ", 0, r1, r2, cv); 1742 TESTINST2("rsbs.w r1, r2, #0 ", -1, r1, r2, cv); 1743 TESTINST2("rsbs.w r1, r2, #-1 ", 0, r1, r2, cv); 1744 TESTINST2("rsbs.w r1, r2, #0x80000000", 0, r1, r2, cv); 1745 TESTINST2("rsbs.w r1, r2, #0 ", 0x80000000, r1, r2, cv); 1746 TESTINST2("rsbs.w r1, r2, #0x80000000", 0x80000000, r1, r2, cv); 1747 TESTINST2("rsbs.w r1, r2, #0x80000000", 0x7fffffff, r1, r2, cv); 1748 TESTINST2("rsbs.w r1, r2, #0xff000000", 0x80000000, r1, r2, cv); 1749 TESTINST2("rsbs.w r1, r2, #0x0dd00000", 0x7fffffff, r1, r2, cv); 1750 TESTINST2("rsb.w r1, r2, #0xffffffff", 0x31415927, r1, r2, cv); 1751 TESTINST2("rsb.w r1, r2, #0xee00ee00", 0x31415927, r1, r2, cv); 1752 TESTINST2("rsb.w r1, r2, #255 ", 0, r1, r2, cv); 1753 TESTINST2("rsb.w r1, r2, #0 ", 1, r1, r2, cv); 1754 TESTINST2("rsb.w r1, r2, #1 ", 0, r1, r2, cv); 1755 TESTINST2("rsb.w r1, r2, #0 ", -1, r1, r2, cv); 1756 TESTINST2("rsb.w r1, r2, #-1 ", 0, r1, r2, cv); 1757 TESTINST2("rsb.w r1, r2, #0x80000000", 0, r1, r2, cv); 1758 TESTINST2("rsb.w r1, r2, #0 ", 0x80000000, r1, r2, cv); 1759 TESTINST2("rsb.w r1, r2, #0x80000000", 0x80000000, r1, r2, cv); 1760 TESTINST2("rsb.w r1, r2, #0x80000000", 0x7fffffff, r1, r2, cv); 1761 TESTINST2("rsb.w r1, r2, #0xff000000", 0x80000000, r1, r2, cv); 1762 TESTINST2("rsb.w r1, r2, #0x0dd00000", 0x7fffffff, r1, r2, cv); 1763 TESTCARRYEND 1764 1765 printf("(T3) ADC{S}.W Rd, Rn, #constT [allegedly]\n"); 1766 TESTCARRY 1767 TESTINST2("adcs.w r1, r2, #0xffffffff", 0x31415927, r1, r2, cv); 1768 TESTINST2("adcs.w r1, r2, #0xee00ee00", 0x31415927, r1, r2, cv); 1769 TESTINST2("adcs.w r1, r2, #255 ", 0, r1, r2, cv); 1770 TESTINST2("adcs.w r1, r2, #0 ", 1, r1, r2, cv); 1771 TESTINST2("adcs.w r1, r2, #1 ", 0, r1, r2, cv); 1772 TESTINST2("adcs.w r1, r2, #0 ", -1, r1, r2, cv); 1773 TESTINST2("adcs.w r1, r2, #-1 ", 0, r1, r2, cv); 1774 TESTINST2("adcs.w r1, r2, #0x80000000", 0, r1, r2, cv); 1775 TESTINST2("adcs.w r1, r2, #0 ", 0x80000000, r1, r2, cv); 1776 TESTINST2("adcs.w r1, r2, #0x80000000", 0x80000000, r1, r2, cv); 1777 TESTINST2("adcs.w r1, r2, #0x80000000", 0x7fffffff, r1, r2, cv); 1778 TESTINST2("adcs.w r1, r2, #0xff000000", 0x80000000, r1, r2, cv); 1779 TESTINST2("adcs.w r1, r2, #0x0dd00000", 0x7fffffff, r1, r2, cv); 1780 TESTINST2("adc.w r1, r2, #0xffffffff", 0x31415927, r1, r2, cv); 1781 TESTINST2("adc.w r1, r2, #0xee00ee00", 0x31415927, r1, r2, cv); 1782 TESTINST2("adc.w r1, r2, #255 ", 0, r1, r2, cv); 1783 TESTINST2("adc.w r1, r2, #0 ", 1, r1, r2, cv); 1784 TESTINST2("adc.w r1, r2, #1 ", 0, r1, r2, cv); 1785 TESTINST2("adc.w r1, r2, #0 ", -1, r1, r2, cv); 1786 TESTINST2("adc.w r1, r2, #-1 ", 0, r1, r2, cv); 1787 TESTINST2("adc.w r1, r2, #0x80000000", 0, r1, r2, cv); 1788 TESTINST2("adc.w r1, r2, #0 ", 0x80000000, r1, r2, cv); 1789 TESTINST2("adc.w r1, r2, #0x80000000", 0x80000000, r1, r2, cv); 1790 TESTINST2("adc.w r1, r2, #0x80000000", 0x7fffffff, r1, r2, cv); 1791 TESTINST2("adc.w r1, r2, #0xff000000", 0x80000000, r1, r2, cv); 1792 TESTINST2("adc.w r1, r2, #0x0dd00000", 0x7fffffff, r1, r2, cv); 1793 TESTCARRYEND 1794 1795 printf("(T3) SBC{S}.W Rd, Rn, #constT [allegedly]\n"); 1796 TESTCARRY 1797 TESTINST2("sbcs.w r1, r2, #0xffffffff", 0x31415927, r1, r2, cv); 1798 TESTINST2("sbcs.w r1, r2, #0xee00ee00", 0x31415927, r1, r2, cv); 1799 TESTINST2("sbcs.w r1, r2, #255 ", 0, r1, r2, cv); 1800 TESTINST2("sbcs.w r1, r2, #0 ", 1, r1, r2, cv); 1801 TESTINST2("sbcs.w r1, r2, #1 ", 0, r1, r2, cv); 1802 TESTINST2("sbcs.w r1, r2, #0 ", -1, r1, r2, cv); 1803 TESTINST2("sbcs.w r1, r2, #-1 ", 0, r1, r2, cv); 1804 TESTINST2("sbcs.w r1, r2, #0x80000000", 0, r1, r2, cv); 1805 TESTINST2("sbcs.w r1, r2, #0 ", 0x80000000, r1, r2, cv); 1806 TESTINST2("sbcs.w r1, r2, #0x80000000", 0x80000000, r1, r2, cv); 1807 TESTINST2("sbcs.w r1, r2, #0x80000000", 0x7fffffff, r1, r2, cv); 1808 TESTINST2("sbcs.w r1, r2, #0xff000000", 0x80000000, r1, r2, cv); 1809 TESTINST2("sbcs.w r1, r2, #0x0dd00000", 0x7fffffff, r1, r2, cv); 1810 TESTINST2("sbc.w r1, r2, #0xffffffff", 0x31415927, r1, r2, cv); 1811 TESTINST2("sbc.w r1, r2, #0xee00ee00", 0x31415927, r1, r2, cv); 1812 TESTINST2("sbc.w r1, r2, #255 ", 0, r1, r2, cv); 1813 TESTINST2("sbc.w r1, r2, #0 ", 1, r1, r2, cv); 1814 TESTINST2("sbc.w r1, r2, #1 ", 0, r1, r2, cv); 1815 TESTINST2("sbc.w r1, r2, #0 ", -1, r1, r2, cv); 1816 TESTINST2("sbc.w r1, r2, #-1 ", 0, r1, r2, cv); 1817 TESTINST2("sbc.w r1, r2, #0x80000000", 0, r1, r2, cv); 1818 TESTINST2("sbc.w r1, r2, #0 ", 0x80000000, r1, r2, cv); 1819 TESTINST2("sbc.w r1, r2, #0x80000000", 0x80000000, r1, r2, cv); 1820 TESTINST2("sbc.w r1, r2, #0x80000000", 0x7fffffff, r1, r2, cv); 1821 TESTINST2("sbc.w r1, r2, #0xff000000", 0x80000000, r1, r2, cv); 1822 TESTINST2("sbc.w r1, r2, #0x0dd00000", 0x7fffffff, r1, r2, cv); 1823 TESTCARRYEND 1824 1825 printf("(T3) AND{S}.W Rd, Rn, #constT [allegedly]\n"); 1826 TESTCARRY 1827 TESTINST2("ands.w r1, r2, #0xffffffff", 0x31415927, r1, r2, cv); 1828 TESTINST2("ands.w r1, r2, #0xee00ee00", 0x31415927, r1, r2, cv); 1829 TESTINST2("ands.w r1, r2, #255 ", 0, r1, r2, cv); 1830 TESTINST2("ands.w r1, r2, #0 ", 1, r1, r2, cv); 1831 TESTINST2("ands.w r1, r2, #1 ", 0, r1, r2, cv); 1832 TESTINST2("ands.w r1, r2, #0 ", -1, r1, r2, cv); 1833 TESTINST2("ands.w r1, r2, #-1 ", 0, r1, r2, cv); 1834 TESTINST2("ands.w r1, r2, #0x80000000", 0, r1, r2, cv); 1835 TESTINST2("ands.w r1, r2, #0 ", 0x80000000, r1, r2, cv); 1836 TESTINST2("ands.w r1, r2, #0x80000000", 0x80000000, r1, r2, cv); 1837 TESTINST2("ands.w r1, r2, #0x80000000", 0x7fffffff, r1, r2, cv); 1838 TESTINST2("ands.w r1, r2, #0xff000000", 0x80000000, r1, r2, cv); 1839 TESTINST2("ands.w r1, r2, #0x0dd00000", 0x7fffffff, r1, r2, cv); 1840 TESTINST2("and.w r1, r2, #0xffffffff", 0x31415927, r1, r2, cv); 1841 TESTINST2("and.w r1, r2, #0xee00ee00", 0x31415927, r1, r2, cv); 1842 TESTINST2("and.w r1, r2, #255 ", 0, r1, r2, cv); 1843 TESTINST2("and.w r1, r2, #0 ", 1, r1, r2, cv); 1844 TESTINST2("and.w r1, r2, #1 ", 0, r1, r2, cv); 1845 TESTINST2("and.w r1, r2, #0 ", -1, r1, r2, cv); 1846 TESTINST2("and.w r1, r2, #-1 ", 0, r1, r2, cv); 1847 TESTINST2("and.w r1, r2, #0x80000000", 0, r1, r2, cv); 1848 TESTINST2("and.w r1, r2, #0 ", 0x80000000, r1, r2, cv); 1849 TESTINST2("and.w r1, r2, #0x80000000", 0x80000000, r1, r2, cv); 1850 TESTINST2("and.w r1, r2, #0x80000000", 0x7fffffff, r1, r2, cv); 1851 TESTINST2("and.w r1, r2, #0xff000000", 0x80000000, r1, r2, cv); 1852 TESTINST2("and.w r1, r2, #0x0dd00000", 0x7fffffff, r1, r2, cv); 1853 TESTCARRYEND 1854 1855 printf("(T3) ORR{S}.W Rd, Rn, #constT [allegedly]\n"); 1856 TESTCARRY 1857 TESTINST2("orrs.w r1, r2, #0xffffffff", 0x31415927, r1, r2, cv); 1858 TESTINST2("orrs.w r1, r2, #0xee00ee00", 0x31415927, r1, r2, cv); 1859 TESTINST2("orrs.w r1, r2, #255 ", 0, r1, r2, cv); 1860 TESTINST2("orrs.w r1, r2, #0 ", 1, r1, r2, cv); 1861 TESTINST2("orrs.w r1, r2, #1 ", 0, r1, r2, cv); 1862 TESTINST2("orrs.w r1, r2, #0 ", -1, r1, r2, cv); 1863 TESTINST2("orrs.w r1, r2, #-1 ", 0, r1, r2, cv); 1864 TESTINST2("orrs.w r1, r2, #0x80000000", 0, r1, r2, cv); 1865 TESTINST2("orrs.w r1, r2, #0 ", 0x80000000, r1, r2, cv); 1866 TESTINST2("orrs.w r1, r2, #0x80000000", 0x80000000, r1, r2, cv); 1867 TESTINST2("orrs.w r1, r2, #0x80000000", 0x7fffffff, r1, r2, cv); 1868 TESTINST2("orrs.w r1, r2, #0xff000000", 0x80000000, r1, r2, cv); 1869 TESTINST2("orrs.w r1, r2, #0x0dd00000", 0x7fffffff, r1, r2, cv); 1870 TESTINST2("orr.w r1, r2, #0xffffffff", 0x31415927, r1, r2, cv); 1871 TESTINST2("orr.w r1, r2, #0xee00ee00", 0x31415927, r1, r2, cv); 1872 TESTINST2("orr.w r1, r2, #255 ", 0, r1, r2, cv); 1873 TESTINST2("orr.w r1, r2, #0 ", 1, r1, r2, cv); 1874 TESTINST2("orr.w r1, r2, #1 ", 0, r1, r2, cv); 1875 TESTINST2("orr.w r1, r2, #0 ", -1, r1, r2, cv); 1876 TESTINST2("orr.w r1, r2, #-1 ", 0, r1, r2, cv); 1877 TESTINST2("orr.w r1, r2, #0x80000000", 0, r1, r2, cv); 1878 TESTINST2("orr.w r1, r2, #0 ", 0x80000000, r1, r2, cv); 1879 TESTINST2("orr.w r1, r2, #0x80000000", 0x80000000, r1, r2, cv); 1880 TESTINST2("orr.w r1, r2, #0x80000000", 0x7fffffff, r1, r2, cv); 1881 TESTINST2("orr.w r1, r2, #0xff000000", 0x80000000, r1, r2, cv); 1882 TESTINST2("orr.w r1, r2, #0x0dd00000", 0x7fffffff, r1, r2, cv); 1883 TESTCARRYEND 1884 1885 printf("(T3) EOR{S}.W Rd, Rn, #constT [allegedly]\n"); 1886 TESTCARRY 1887 TESTINST2("eors.w r1, r2, #0xffffffff", 0x31415927, r1, r2, cv); 1888 TESTINST2("eors.w r1, r2, #0xee00ee00", 0x31415927, r1, r2, cv); 1889 TESTINST2("eors.w r1, r2, #255 ", 0, r1, r2, cv); 1890 TESTINST2("eors.w r1, r2, #0 ", 1, r1, r2, cv); 1891 TESTINST2("eors.w r1, r2, #1 ", 0, r1, r2, cv); 1892 TESTINST2("eors.w r1, r2, #0 ", -1, r1, r2, cv); 1893 TESTINST2("eors.w r1, r2, #-1 ", 0, r1, r2, cv); 1894 TESTINST2("eors.w r1, r2, #0x80000000", 0, r1, r2, cv); 1895 TESTINST2("eors.w r1, r2, #0 ", 0x80000000, r1, r2, cv); 1896 TESTINST2("eors.w r1, r2, #0x80000000", 0x80000000, r1, r2, cv); 1897 TESTINST2("eors.w r1, r2, #0x80000000", 0x7fffffff, r1, r2, cv); 1898 TESTINST2("eors.w r1, r2, #0xff000000", 0x80000000, r1, r2, cv); 1899 TESTINST2("eors.w r1, r2, #0x0dd00000", 0x7fffffff, r1, r2, cv); 1900 TESTINST2("eor.w r1, r2, #0xffffffff", 0x31415927, r1, r2, cv); 1901 TESTINST2("eor.w r1, r2, #0xee00ee00", 0x31415927, r1, r2, cv); 1902 TESTINST2("eor.w r1, r2, #255 ", 0, r1, r2, cv); 1903 TESTINST2("eor.w r1, r2, #0 ", 1, r1, r2, cv); 1904 TESTINST2("eor.w r1, r2, #1 ", 0, r1, r2, cv); 1905 TESTINST2("eor.w r1, r2, #0 ", -1, r1, r2, cv); 1906 TESTINST2("eor.w r1, r2, #-1 ", 0, r1, r2, cv); 1907 TESTINST2("eor.w r1, r2, #0x80000000", 0, r1, r2, cv); 1908 TESTINST2("eor.w r1, r2, #0 ", 0x80000000, r1, r2, cv); 1909 TESTINST2("eor.w r1, r2, #0x80000000", 0x80000000, r1, r2, cv); 1910 TESTINST2("eor.w r1, r2, #0x80000000", 0x7fffffff, r1, r2, cv); 1911 TESTINST2("eor.w r1, r2, #0xff000000", 0x80000000, r1, r2, cv); 1912 TESTINST2("eor.w r1, r2, #0x0dd00000", 0x7fffffff, r1, r2, cv); 1913 TESTCARRYEND 1914 1915 printf("(T3) BIC{S}.W Rd, Rn, #constT [allegedly]\n"); 1916 TESTCARRY 1917 TESTINST2("bics.w r1, r2, #0xffffffff", 0x31415927, r1, r2, cv); 1918 TESTINST2("bics.w r1, r2, #0xee00ee00", 0x31415927, r1, r2, cv); 1919 TESTINST2("bics.w r1, r2, #255 ", 0, r1, r2, cv); 1920 TESTINST2("bics.w r1, r2, #0 ", 1, r1, r2, cv); 1921 TESTINST2("bics.w r1, r2, #1 ", 0, r1, r2, cv); 1922 TESTINST2("bics.w r1, r2, #0 ", -1, r1, r2, cv); 1923 TESTINST2("bics.w r1, r2, #-1 ", 0, r1, r2, cv); 1924 TESTINST2("bics.w r1, r2, #0x80000000", 0, r1, r2, cv); 1925 TESTINST2("bics.w r1, r2, #0 ", 0x80000000, r1, r2, cv); 1926 TESTINST2("bics.w r1, r2, #0x80000000", 0x80000000, r1, r2, cv); 1927 TESTINST2("bics.w r1, r2, #0x80000000", 0x7fffffff, r1, r2, cv); 1928 TESTINST2("bics.w r1, r2, #0xff000000", 0x80000000, r1, r2, cv); 1929 TESTINST2("bics.w r1, r2, #0x0dd00000", 0x7fffffff, r1, r2, cv); 1930 TESTINST2("bic.w r1, r2, #0xffffffff", 0x31415927, r1, r2, cv); 1931 TESTINST2("bic.w r1, r2, #0xee00ee00", 0x31415927, r1, r2, cv); 1932 TESTINST2("bic.w r1, r2, #255 ", 0, r1, r2, cv); 1933 TESTINST2("bic.w r1, r2, #0 ", 1, r1, r2, cv); 1934 TESTINST2("bic.w r1, r2, #1 ", 0, r1, r2, cv); 1935 TESTINST2("bic.w r1, r2, #0 ", -1, r1, r2, cv); 1936 TESTINST2("bic.w r1, r2, #-1 ", 0, r1, r2, cv); 1937 TESTINST2("bic.w r1, r2, #0x80000000", 0, r1, r2, cv); 1938 TESTINST2("bic.w r1, r2, #0 ", 0x80000000, r1, r2, cv); 1939 TESTINST2("bic.w r1, r2, #0x80000000", 0x80000000, r1, r2, cv); 1940 TESTINST2("bic.w r1, r2, #0x80000000", 0x7fffffff, r1, r2, cv); 1941 TESTINST2("bic.w r1, r2, #0xff000000", 0x80000000, r1, r2, cv); 1942 TESTINST2("bic.w r1, r2, #0x0dd00000", 0x7fffffff, r1, r2, cv); 1943 TESTCARRYEND 1944 1945 printf("(T3) ORN{S}.W Rd, Rn, #constT [allegedly]\n"); 1946 TESTCARRY 1947 TESTINST2("orns.w r1, r2, #0xffffffff", 0x31415927, r1, r2, cv); 1948 TESTINST2("orns.w r1, r2, #0xee00ee00", 0x31415927, r1, r2, cv); 1949 TESTINST2("orns.w r1, r2, #255 ", 0, r1, r2, cv); 1950 TESTINST2("orns.w r1, r2, #0 ", 1, r1, r2, cv); 1951 TESTINST2("orns.w r1, r2, #1 ", 0, r1, r2, cv); 1952 TESTINST2("orns.w r1, r2, #0 ", -1, r1, r2, cv); 1953 TESTINST2("orns.w r1, r2, #-1 ", 0, r1, r2, cv); 1954 TESTINST2("orns.w r1, r2, #0x80000000", 0, r1, r2, cv); 1955 TESTINST2("orns.w r1, r2, #0 ", 0x80000000, r1, r2, cv); 1956 TESTINST2("orns.w r1, r2, #0x80000000", 0x80000000, r1, r2, cv); 1957 TESTINST2("orns.w r1, r2, #0x80000000", 0x7fffffff, r1, r2, cv); 1958 TESTINST2("orns.w r1, r2, #0xff000000", 0x80000000, r1, r2, cv); 1959 TESTINST2("orns.w r1, r2, #0x0dd00000", 0x7fffffff, r1, r2, cv); 1960 TESTINST2("orn.w r1, r2, #0xffffffff", 0x31415927, r1, r2, cv); 1961 TESTINST2("orn.w r1, r2, #0xee00ee00", 0x31415927, r1, r2, cv); 1962 TESTINST2("orn.w r1, r2, #255 ", 0, r1, r2, cv); 1963 TESTINST2("orn.w r1, r2, #0 ", 1, r1, r2, cv); 1964 TESTINST2("orn.w r1, r2, #1 ", 0, r1, r2, cv); 1965 TESTINST2("orn.w r1, r2, #0 ", -1, r1, r2, cv); 1966 TESTINST2("orn.w r1, r2, #-1 ", 0, r1, r2, cv); 1967 TESTINST2("orn.w r1, r2, #0x80000000", 0, r1, r2, cv); 1968 TESTINST2("orn.w r1, r2, #0 ", 0x80000000, r1, r2, cv); 1969 TESTINST2("orn.w r1, r2, #0x80000000", 0x80000000, r1, r2, cv); 1970 TESTINST2("orn.w r1, r2, #0x80000000", 0x7fffffff, r1, r2, cv); 1971 TESTINST2("orn.w r1, r2, #0xff000000", 0x80000000, r1, r2, cv); 1972 TESTINST2("orn.w r1, r2, #0x0dd00000", 0x7fffffff, r1, r2, cv); 1973 TESTCARRYEND 1974 1975 printf("ADD{S}.W Rd, Rn, Rm, {shift}\n"); 1976 TESTCARRY 1977 TESTINST3("adds.w r1, r2, r3, lsl #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 1978 TESTINST3("adds.w r1, r2, r3, lsl #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 1979 TESTINST3("adds.w r1, r2, r3, lsl #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 1980 TESTINST3("adds.w r1, r2, r3, lsl #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 1981 TESTINST3("adds.w r1, r2, r3, lsr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 1982 TESTINST3("adds.w r1, r2, r3, lsr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 1983 TESTINST3("adds.w r1, r2, r3, lsr #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 1984 TESTINST3("adds.w r1, r2, r3, lsr #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 1985 TESTINST3("adds.w r1, r2, r3, asr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 1986 TESTINST3("adds.w r1, r2, r3, asr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 1987 TESTINST3("adds.w r1, r2, r3, asr #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 1988 TESTINST3("adds.w r1, r2, r3, asr #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 1989 TESTINST3("add.w r1, r2, r3, lsl #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 1990 TESTINST3("add.w r1, r2, r3, lsl #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 1991 TESTINST3("add.w r1, r2, r3, lsl #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 1992 TESTINST3("add.w r1, r2, r3, lsl #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 1993 TESTINST3("add.w r1, r2, r3, lsr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 1994 TESTINST3("add.w r1, r2, r3, lsr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 1995 TESTINST3("add.w r1, r2, r3, lsr #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 1996 TESTINST3("add.w r1, r2, r3, lsr #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 1997 TESTINST3("add.w r1, r2, r3, asr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 1998 TESTINST3("add.w r1, r2, r3, asr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 1999 TESTINST3("add.w r1, r2, r3, asr #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 2000 TESTINST3("add.w r1, r2, r3, asr #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 2001 TESTINST3("adds.w r1, r2, r3, lsl #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 2002 TESTINST3("adds.w r1, r2, r3, lsl #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 2003 TESTINST3("adds.w r1, r2, r3, lsl #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 2004 TESTINST3("adds.w r1, r2, r3, lsl #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 2005 TESTINST3("adds.w r1, r2, r3, lsr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 2006 TESTINST3("adds.w r1, r2, r3, lsr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 2007 TESTINST3("adds.w r1, r2, r3, lsr #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 2008 TESTINST3("adds.w r1, r2, r3, lsr #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 2009 TESTINST3("adds.w r1, r2, r3, asr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 2010 TESTINST3("adds.w r1, r2, r3, asr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 2011 TESTINST3("adds.w r1, r2, r3, asr #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 2012 TESTINST3("adds.w r1, r2, r3, asr #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 2013 TESTINST3("add.w r1, r2, r3, lsl #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 2014 TESTINST3("add.w r1, r2, r3, lsl #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 2015 TESTINST3("add.w r1, r2, r3, lsl #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 2016 TESTINST3("add.w r1, r2, r3, lsl #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 2017 TESTINST3("add.w r1, r2, r3, lsr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 2018 TESTINST3("add.w r1, r2, r3, lsr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 2019 TESTINST3("add.w r1, r2, r3, lsr #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 2020 TESTINST3("add.w r1, r2, r3, lsr #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 2021 TESTINST3("add.w r1, r2, r3, asr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 2022 TESTINST3("add.w r1, r2, r3, asr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 2023 TESTINST3("add.w r1, r2, r3, asr #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 2024 TESTINST3("add.w r1, r2, r3, asr #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 2025 TESTINST3("adds.w r1, r2, r3, lsl #0 ", 0, 0, r1, r2, r3, cv); 2026 TESTINST3("adds.w r1, r2, r3, lsl #1 ", 0, 0, r1, r2, r3, cv); 2027 TESTINST3("adds.w r1, r2, r3, lsl #15", 0, 0, r1, r2, r3, cv); 2028 TESTINST3("adds.w r1, r2, r3, lsl #31", 0, 0, r1, r2, r3, cv); 2029 TESTINST3("adds.w r1, r2, r3, lsr #0 ", 0, 0, r1, r2, r3, cv); 2030 TESTINST3("adds.w r1, r2, r3, lsr #1 ", 0, 0, r1, r2, r3, cv); 2031 TESTINST3("adds.w r1, r2, r3, lsr #15", 0, 0, r1, r2, r3, cv); 2032 TESTINST3("adds.w r1, r2, r3, lsr #31", 0, 0, r1, r2, r3, cv); 2033 TESTINST3("adds.w r1, r2, r3, asr #0 ", 0, 0, r1, r2, r3, cv); 2034 TESTINST3("adds.w r1, r2, r3, asr #1 ", 0, 0, r1, r2, r3, cv); 2035 TESTINST3("adds.w r1, r2, r3, asr #15", 0, 0, r1, r2, r3, cv); 2036 TESTINST3("adds.w r1, r2, r3, asr #31", 0, 0, r1, r2, r3, cv); 2037 TESTINST3("add.w r1, r2, r3, lsl #0 ", 0, 0, r1, r2, r3, cv); 2038 TESTINST3("add.w r1, r2, r3, lsl #1 ", 0, 0, r1, r2, r3, cv); 2039 TESTINST3("add.w r1, r2, r3, lsl #15", 0, 0, r1, r2, r3, cv); 2040 TESTINST3("add.w r1, r2, r3, lsl #31", 0, 0, r1, r2, r3, cv); 2041 TESTINST3("add.w r1, r2, r3, lsr #0 ", 0, 0, r1, r2, r3, cv); 2042 TESTINST3("add.w r1, r2, r3, lsr #1 ", 0, 0, r1, r2, r3, cv); 2043 TESTINST3("add.w r1, r2, r3, lsr #15", 0, 0, r1, r2, r3, cv); 2044 TESTINST3("add.w r1, r2, r3, lsr #31", 0, 0, r1, r2, r3, cv); 2045 TESTINST3("add.w r1, r2, r3, asr #0 ", 0, 0, r1, r2, r3, cv); 2046 TESTINST3("add.w r1, r2, r3, asr #1 ", 0, 0, r1, r2, r3, cv); 2047 TESTINST3("add.w r1, r2, r3, asr #15", 0, 0, r1, r2, r3, cv); 2048 TESTINST3("add.w r1, r2, r3, asr #31", 0, 0, r1, r2, r3, cv); 2049 TESTINST3("adds.w r1, r2, r3, lsl #0 ", 1, 0, r1, r2, r3, cv); 2050 TESTINST3("adds.w r1, r2, r3, lsl #1 ", 1, 0, r1, r2, r3, cv); 2051 TESTINST3("adds.w r1, r2, r3, lsl #15", 1, 0, r1, r2, r3, cv); 2052 TESTINST3("adds.w r1, r2, r3, lsl #31", 1, 0, r1, r2, r3, cv); 2053 TESTINST3("adds.w r1, r2, r3, lsr #0 ", 1, 0, r1, r2, r3, cv); 2054 TESTINST3("adds.w r1, r2, r3, lsr #1 ", 1, 0, r1, r2, r3, cv); 2055 TESTINST3("adds.w r1, r2, r3, lsr #15", 1, 0, r1, r2, r3, cv); 2056 TESTINST3("adds.w r1, r2, r3, lsr #31", 1, 0, r1, r2, r3, cv); 2057 TESTINST3("adds.w r1, r2, r3, asr #0 ", 1, 0, r1, r2, r3, cv); 2058 TESTINST3("adds.w r1, r2, r3, asr #1 ", 1, 0, r1, r2, r3, cv); 2059 TESTINST3("adds.w r1, r2, r3, asr #15", 1, 0, r1, r2, r3, cv); 2060 TESTINST3("adds.w r1, r2, r3, asr #31", 1, 0, r1, r2, r3, cv); 2061 TESTINST3("add.w r1, r2, r3, lsl #0 ", 1, 0, r1, r2, r3, cv); 2062 TESTINST3("add.w r1, r2, r3, lsl #1 ", 1, 0, r1, r2, r3, cv); 2063 TESTINST3("add.w r1, r2, r3, lsl #15", 1, 0, r1, r2, r3, cv); 2064 TESTINST3("add.w r1, r2, r3, lsl #31", 1, 0, r1, r2, r3, cv); 2065 TESTINST3("add.w r1, r2, r3, lsr #0 ", 1, 0, r1, r2, r3, cv); 2066 TESTINST3("add.w r1, r2, r3, lsr #1 ", 1, 0, r1, r2, r3, cv); 2067 TESTINST3("add.w r1, r2, r3, lsr #15", 1, 0, r1, r2, r3, cv); 2068 TESTINST3("add.w r1, r2, r3, lsr #31", 1, 0, r1, r2, r3, cv); 2069 TESTINST3("add.w r1, r2, r3, asr #0 ", 1, 0, r1, r2, r3, cv); 2070 TESTINST3("add.w r1, r2, r3, asr #1 ", 1, 0, r1, r2, r3, cv); 2071 TESTINST3("add.w r1, r2, r3, asr #15", 1, 0, r1, r2, r3, cv); 2072 TESTINST3("add.w r1, r2, r3, asr #31", 1, 0, r1, r2, r3, cv); 2073 TESTINST3("adds.w r1, r2, r3, lsl #0 ", 0, 1, r1, r2, r3, cv); 2074 TESTINST3("adds.w r1, r2, r3, lsl #1 ", 0, 1, r1, r2, r3, cv); 2075 TESTINST3("adds.w r1, r2, r3, lsl #15", 0, 1, r1, r2, r3, cv); 2076 TESTINST3("adds.w r1, r2, r3, lsl #31", 0, 1, r1, r2, r3, cv); 2077 TESTINST3("adds.w r1, r2, r3, lsr #0 ", 0, 1, r1, r2, r3, cv); 2078 TESTINST3("adds.w r1, r2, r3, lsr #1 ", 0, 1, r1, r2, r3, cv); 2079 TESTINST3("adds.w r1, r2, r3, lsr #15", 0, 1, r1, r2, r3, cv); 2080 TESTINST3("adds.w r1, r2, r3, lsr #31", 0, 1, r1, r2, r3, cv); 2081 TESTINST3("adds.w r1, r2, r3, asr #0 ", 0, 1, r1, r2, r3, cv); 2082 TESTINST3("adds.w r1, r2, r3, asr #1 ", 0, 1, r1, r2, r3, cv); 2083 TESTINST3("adds.w r1, r2, r3, asr #15", 0, 1, r1, r2, r3, cv); 2084 TESTINST3("adds.w r1, r2, r3, asr #31", 0, 1, r1, r2, r3, cv); 2085 TESTINST3("add.w r1, r2, r3, lsl #0 ", 0, 1, r1, r2, r3, cv); 2086 TESTINST3("add.w r1, r2, r3, lsl #1 ", 0, 1, r1, r2, r3, cv); 2087 TESTINST3("add.w r1, r2, r3, lsl #15", 0, 1, r1, r2, r3, cv); 2088 TESTINST3("add.w r1, r2, r3, lsl #31", 0, 1, r1, r2, r3, cv); 2089 TESTINST3("add.w r1, r2, r3, lsr #0 ", 0, 1, r1, r2, r3, cv); 2090 TESTINST3("add.w r1, r2, r3, lsr #1 ", 0, 1, r1, r2, r3, cv); 2091 TESTINST3("add.w r1, r2, r3, lsr #15", 0, 1, r1, r2, r3, cv); 2092 TESTINST3("add.w r1, r2, r3, lsr #31", 0, 1, r1, r2, r3, cv); 2093 TESTINST3("add.w r1, r2, r3, asr #0 ", 0, 1, r1, r2, r3, cv); 2094 TESTINST3("add.w r1, r2, r3, asr #1 ", 0, 1, r1, r2, r3, cv); 2095 TESTINST3("add.w r1, r2, r3, asr #15", 0, 1, r1, r2, r3, cv); 2096 TESTINST3("add.w r1, r2, r3, asr #31", 0, 1, r1, r2, r3, cv); 2097 TESTINST3("adds.w r1, r2, r3, lsl #0 ", -1, 0, r1, r2, r3, cv); 2098 TESTINST3("adds.w r1, r2, r3, lsl #1 ", -1, 0, r1, r2, r3, cv); 2099 TESTINST3("adds.w r1, r2, r3, lsl #15", -1, 0, r1, r2, r3, cv); 2100 TESTINST3("adds.w r1, r2, r3, lsl #31", -1, 0, r1, r2, r3, cv); 2101 TESTINST3("adds.w r1, r2, r3, lsr #0 ", -1, 0, r1, r2, r3, cv); 2102 TESTINST3("adds.w r1, r2, r3, lsr #1 ", -1, 0, r1, r2, r3, cv); 2103 TESTINST3("adds.w r1, r2, r3, lsr #15", -1, 0, r1, r2, r3, cv); 2104 TESTINST3("adds.w r1, r2, r3, lsr #31", -1, 0, r1, r2, r3, cv); 2105 TESTINST3("adds.w r1, r2, r3, asr #0 ", -1, 0, r1, r2, r3, cv); 2106 TESTINST3("adds.w r1, r2, r3, asr #1 ", -1, 0, r1, r2, r3, cv); 2107 TESTINST3("adds.w r1, r2, r3, asr #15", -1, 0, r1, r2, r3, cv); 2108 TESTINST3("adds.w r1, r2, r3, asr #31", -1, 0, r1, r2, r3, cv); 2109 TESTINST3("add.w r1, r2, r3, lsl #0 ", -1, 0, r1, r2, r3, cv); 2110 TESTINST3("add.w r1, r2, r3, lsl #1 ", -1, 0, r1, r2, r3, cv); 2111 TESTINST3("add.w r1, r2, r3, lsl #15", -1, 0, r1, r2, r3, cv); 2112 TESTINST3("add.w r1, r2, r3, lsl #31", -1, 0, r1, r2, r3, cv); 2113 TESTINST3("add.w r1, r2, r3, lsr #0 ", -1, 0, r1, r2, r3, cv); 2114 TESTINST3("add.w r1, r2, r3, lsr #1 ", -1, 0, r1, r2, r3, cv); 2115 TESTINST3("add.w r1, r2, r3, lsr #15", -1, 0, r1, r2, r3, cv); 2116 TESTINST3("add.w r1, r2, r3, lsr #31", -1, 0, r1, r2, r3, cv); 2117 TESTINST3("add.w r1, r2, r3, asr #0 ", -1, 0, r1, r2, r3, cv); 2118 TESTINST3("add.w r1, r2, r3, asr #1 ", -1, 0, r1, r2, r3, cv); 2119 TESTINST3("add.w r1, r2, r3, asr #15", -1, 0, r1, r2, r3, cv); 2120 TESTINST3("add.w r1, r2, r3, asr #31", -1, 0, r1, r2, r3, cv); 2121 TESTINST3("adds.w r1, r2, r3, lsl #0 ", 0, -1, r1, r2, r3, cv); 2122 TESTINST3("adds.w r1, r2, r3, lsl #1 ", 0, -1, r1, r2, r3, cv); 2123 TESTINST3("adds.w r1, r2, r3, lsl #15", 0, -1, r1, r2, r3, cv); 2124 TESTINST3("adds.w r1, r2, r3, lsl #31", 0, -1, r1, r2, r3, cv); 2125 TESTINST3("adds.w r1, r2, r3, lsr #0 ", 0, -1, r1, r2, r3, cv); 2126 TESTINST3("adds.w r1, r2, r3, lsr #1 ", 0, -1, r1, r2, r3, cv); 2127 TESTINST3("adds.w r1, r2, r3, lsr #15", 0, -1, r1, r2, r3, cv); 2128 TESTINST3("adds.w r1, r2, r3, lsr #31", 0, -1, r1, r2, r3, cv); 2129 TESTINST3("adds.w r1, r2, r3, asr #0 ", 0, -1, r1, r2, r3, cv); 2130 TESTINST3("adds.w r1, r2, r3, asr #1 ", 0, -1, r1, r2, r3, cv); 2131 TESTINST3("adds.w r1, r2, r3, asr #15", 0, -1, r1, r2, r3, cv); 2132 TESTINST3("adds.w r1, r2, r3, asr #31", 0, -1, r1, r2, r3, cv); 2133 TESTINST3("add.w r1, r2, r3, lsl #0 ", 0, -1, r1, r2, r3, cv); 2134 TESTINST3("add.w r1, r2, r3, lsl #1 ", 0, -1, r1, r2, r3, cv); 2135 TESTINST3("add.w r1, r2, r3, lsl #15", 0, -1, r1, r2, r3, cv); 2136 TESTINST3("add.w r1, r2, r3, lsl #31", 0, -1, r1, r2, r3, cv); 2137 TESTINST3("add.w r1, r2, r3, lsr #0 ", 0, -1, r1, r2, r3, cv); 2138 TESTINST3("add.w r1, r2, r3, lsr #1 ", 0, -1, r1, r2, r3, cv); 2139 TESTINST3("add.w r1, r2, r3, lsr #15", 0, -1, r1, r2, r3, cv); 2140 TESTINST3("add.w r1, r2, r3, lsr #31", 0, -1, r1, r2, r3, cv); 2141 TESTINST3("add.w r1, r2, r3, asr #0 ", 0, -1, r1, r2, r3, cv); 2142 TESTINST3("add.w r1, r2, r3, asr #1 ", 0, -1, r1, r2, r3, cv); 2143 TESTINST3("add.w r1, r2, r3, asr #15", 0, -1, r1, r2, r3, cv); 2144 TESTINST3("add.w r1, r2, r3, asr #31", 0, -1, r1, r2, r3, cv); 2145 TESTINST3("adds.w r1, r2, r3, lsl #0 ", 0, 0x80000000, r1, r2, r3, cv); 2146 TESTINST3("adds.w r1, r2, r3, lsl #1 ", 0, 0x80000000, r1, r2, r3, cv); 2147 TESTINST3("adds.w r1, r2, r3, lsl #15", 0, 0x80000000, r1, r2, r3, cv); 2148 TESTINST3("adds.w r1, r2, r3, lsl #31", 0, 0x80000000, r1, r2, r3, cv); 2149 TESTINST3("adds.w r1, r2, r3, lsr #0 ", 0, 0x80000000, r1, r2, r3, cv); 2150 TESTINST3("adds.w r1, r2, r3, lsr #1 ", 0, 0x80000000, r1, r2, r3, cv); 2151 TESTINST3("adds.w r1, r2, r3, lsr #15", 0, 0x80000000, r1, r2, r3, cv); 2152 TESTINST3("adds.w r1, r2, r3, lsr #31", 0, 0x80000000, r1, r2, r3, cv); 2153 TESTINST3("adds.w r1, r2, r3, asr #0 ", 0, 0x80000000, r1, r2, r3, cv); 2154 TESTINST3("adds.w r1, r2, r3, asr #1 ", 0, 0x80000000, r1, r2, r3, cv); 2155 TESTINST3("adds.w r1, r2, r3, asr #15", 0, 0x80000000, r1, r2, r3, cv); 2156 TESTINST3("adds.w r1, r2, r3, asr #31", 0, 0x80000000, r1, r2, r3, cv); 2157 TESTINST3("add.w r1, r2, r3, lsl #0 ", 0, 0x80000000, r1, r2, r3, cv); 2158 TESTINST3("add.w r1, r2, r3, lsl #1 ", 0, 0x80000000, r1, r2, r3, cv); 2159 TESTINST3("add.w r1, r2, r3, lsl #15", 0, 0x80000000, r1, r2, r3, cv); 2160 TESTINST3("add.w r1, r2, r3, lsl #31", 0, 0x80000000, r1, r2, r3, cv); 2161 TESTINST3("add.w r1, r2, r3, lsr #0 ", 0, 0x80000000, r1, r2, r3, cv); 2162 TESTINST3("add.w r1, r2, r3, lsr #1 ", 0, 0x80000000, r1, r2, r3, cv); 2163 TESTINST3("add.w r1, r2, r3, lsr #15", 0, 0x80000000, r1, r2, r3, cv); 2164 TESTINST3("add.w r1, r2, r3, lsr #31", 0, 0x80000000, r1, r2, r3, cv); 2165 TESTINST3("add.w r1, r2, r3, asr #0 ", 0, 0x80000000, r1, r2, r3, cv); 2166 TESTINST3("add.w r1, r2, r3, asr #1 ", 0, 0x80000000, r1, r2, r3, cv); 2167 TESTINST3("add.w r1, r2, r3, asr #15", 0, 0x80000000, r1, r2, r3, cv); 2168 TESTINST3("add.w r1, r2, r3, asr #31", 0, 0x80000000, r1, r2, r3, cv); 2169 TESTINST3("adds.w r1, r2, r3, lsl #0 ", 0x80000000, 0, r1, r2, r3, cv); 2170 TESTINST3("adds.w r1, r2, r3, lsl #1 ", 0x80000000, 0, r1, r2, r3, cv); 2171 TESTINST3("adds.w r1, r2, r3, lsl #15", 0x80000000, 0, r1, r2, r3, cv); 2172 TESTINST3("adds.w r1, r2, r3, lsl #31", 0x80000000, 0, r1, r2, r3, cv); 2173 TESTINST3("adds.w r1, r2, r3, lsr #0 ", 0x80000000, 0, r1, r2, r3, cv); 2174 TESTINST3("adds.w r1, r2, r3, lsr #1 ", 0x80000000, 0, r1, r2, r3, cv); 2175 TESTINST3("adds.w r1, r2, r3, lsr #15", 0x80000000, 0, r1, r2, r3, cv); 2176 TESTINST3("adds.w r1, r2, r3, lsr #31", 0x80000000, 0, r1, r2, r3, cv); 2177 TESTINST3("adds.w r1, r2, r3, asr #0 ", 0x80000000, 0, r1, r2, r3, cv); 2178 TESTINST3("adds.w r1, r2, r3, asr #1 ", 0x80000000, 0, r1, r2, r3, cv); 2179 TESTINST3("adds.w r1, r2, r3, asr #15", 0x80000000, 0, r1, r2, r3, cv); 2180 TESTINST3("adds.w r1, r2, r3, asr #31", 0x80000000, 0, r1, r2, r3, cv); 2181 TESTINST3("add.w r1, r2, r3, lsl #0 ", 0x80000000, 0, r1, r2, r3, cv); 2182 TESTINST3("add.w r1, r2, r3, lsl #1 ", 0x80000000, 0, r1, r2, r3, cv); 2183 TESTINST3("add.w r1, r2, r3, lsl #15", 0x80000000, 0, r1, r2, r3, cv); 2184 TESTINST3("add.w r1, r2, r3, lsl #31", 0x80000000, 0, r1, r2, r3, cv); 2185 TESTINST3("add.w r1, r2, r3, lsr #0 ", 0x80000000, 0, r1, r2, r3, cv); 2186 TESTINST3("add.w r1, r2, r3, lsr #1 ", 0x80000000, 0, r1, r2, r3, cv); 2187 TESTINST3("add.w r1, r2, r3, lsr #15", 0x80000000, 0, r1, r2, r3, cv); 2188 TESTINST3("add.w r1, r2, r3, lsr #31", 0x80000000, 0, r1, r2, r3, cv); 2189 TESTINST3("add.w r1, r2, r3, asr #0 ", 0x80000000, 0, r1, r2, r3, cv); 2190 TESTINST3("add.w r1, r2, r3, asr #1 ", 0x80000000, 0, r1, r2, r3, cv); 2191 TESTINST3("add.w r1, r2, r3, asr #15", 0x80000000, 0, r1, r2, r3, cv); 2192 TESTINST3("add.w r1, r2, r3, asr #31", 0x80000000, 0, r1, r2, r3, cv); 2193 TESTINST3("adds.w r1, r2, r3, lsl #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 2194 TESTINST3("adds.w r1, r2, r3, lsl #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 2195 TESTINST3("adds.w r1, r2, r3, lsl #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 2196 TESTINST3("adds.w r1, r2, r3, lsl #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 2197 TESTINST3("adds.w r1, r2, r3, lsr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 2198 TESTINST3("adds.w r1, r2, r3, lsr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 2199 TESTINST3("adds.w r1, r2, r3, lsr #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 2200 TESTINST3("adds.w r1, r2, r3, lsr #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 2201 TESTINST3("adds.w r1, r2, r3, asr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 2202 TESTINST3("adds.w r1, r2, r3, asr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 2203 TESTINST3("adds.w r1, r2, r3, asr #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 2204 TESTINST3("adds.w r1, r2, r3, asr #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 2205 TESTINST3("add.w r1, r2, r3, lsl #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 2206 TESTINST3("add.w r1, r2, r3, lsl #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 2207 TESTINST3("add.w r1, r2, r3, lsl #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 2208 TESTINST3("add.w r1, r2, r3, lsl #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 2209 TESTINST3("add.w r1, r2, r3, lsr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 2210 TESTINST3("add.w r1, r2, r3, lsr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 2211 TESTINST3("add.w r1, r2, r3, lsr #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 2212 TESTINST3("add.w r1, r2, r3, lsr #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 2213 TESTINST3("add.w r1, r2, r3, asr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 2214 TESTINST3("add.w r1, r2, r3, asr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 2215 TESTINST3("add.w r1, r2, r3, asr #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 2216 TESTINST3("add.w r1, r2, r3, asr #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 2217 TESTINST3("adds.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2218 TESTINST3("adds.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2219 TESTINST3("adds.w r1, r2, r3, lsl #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2220 TESTINST3("adds.w r1, r2, r3, lsl #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2221 TESTINST3("adds.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2222 TESTINST3("adds.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2223 TESTINST3("adds.w r1, r2, r3, lsr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2224 TESTINST3("adds.w r1, r2, r3, lsr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2225 TESTINST3("adds.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2226 TESTINST3("adds.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2227 TESTINST3("adds.w r1, r2, r3, asr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2228 TESTINST3("adds.w r1, r2, r3, asr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2229 TESTINST3("add.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2230 TESTINST3("add.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2231 TESTINST3("add.w r1, r2, r3, lsl #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2232 TESTINST3("add.w r1, r2, r3, lsl #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2233 TESTINST3("add.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2234 TESTINST3("add.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2235 TESTINST3("add.w r1, r2, r3, lsr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2236 TESTINST3("add.w r1, r2, r3, lsr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2237 TESTINST3("add.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2238 TESTINST3("add.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2239 TESTINST3("add.w r1, r2, r3, asr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2240 TESTINST3("add.w r1, r2, r3, asr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2241 TESTINST3("adds.w r1, r2, r3, lsl #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2242 TESTINST3("adds.w r1, r2, r3, lsl #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2243 TESTINST3("adds.w r1, r2, r3, lsl #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2244 TESTINST3("adds.w r1, r2, r3, lsl #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2245 TESTINST3("adds.w r1, r2, r3, lsr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2246 TESTINST3("adds.w r1, r2, r3, lsr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2247 TESTINST3("adds.w r1, r2, r3, lsr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2248 TESTINST3("adds.w r1, r2, r3, lsr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2249 TESTINST3("adds.w r1, r2, r3, asr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2250 TESTINST3("adds.w r1, r2, r3, asr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2251 TESTINST3("adds.w r1, r2, r3, asr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2252 TESTINST3("adds.w r1, r2, r3, asr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2253 TESTINST3("add.w r1, r2, r3, lsl #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2254 TESTINST3("add.w r1, r2, r3, lsl #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2255 TESTINST3("add.w r1, r2, r3, lsl #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2256 TESTINST3("add.w r1, r2, r3, lsl #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2257 TESTINST3("add.w r1, r2, r3, lsr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2258 TESTINST3("add.w r1, r2, r3, lsr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2259 TESTINST3("add.w r1, r2, r3, lsr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2260 TESTINST3("add.w r1, r2, r3, lsr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2261 TESTINST3("add.w r1, r2, r3, asr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2262 TESTINST3("add.w r1, r2, r3, asr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2263 TESTINST3("add.w r1, r2, r3, asr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2264 TESTINST3("add.w r1, r2, r3, asr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2265 TESTINST3("adds.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2266 TESTINST3("adds.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2267 TESTINST3("adds.w r1, r2, r3, lsl #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2268 TESTINST3("adds.w r1, r2, r3, lsl #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2269 TESTINST3("adds.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2270 TESTINST3("adds.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2271 TESTINST3("adds.w r1, r2, r3, lsr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2272 TESTINST3("adds.w r1, r2, r3, lsr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2273 TESTINST3("adds.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2274 TESTINST3("adds.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2275 TESTINST3("adds.w r1, r2, r3, asr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2276 TESTINST3("adds.w r1, r2, r3, asr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2277 TESTINST3("add.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2278 TESTINST3("add.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2279 TESTINST3("add.w r1, r2, r3, lsl #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2280 TESTINST3("add.w r1, r2, r3, lsl #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2281 TESTINST3("add.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2282 TESTINST3("add.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2283 TESTINST3("add.w r1, r2, r3, lsr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2284 TESTINST3("add.w r1, r2, r3, lsr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2285 TESTINST3("add.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2286 TESTINST3("add.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2287 TESTINST3("add.w r1, r2, r3, asr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2288 TESTINST3("add.w r1, r2, r3, asr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2289 TESTCARRYEND 2290 2291 printf("SUBB{S}.W Rd, Rn, Rm, {shift}\n"); 2292 TESTCARRY 2293 TESTINST3("subs.w r1, r2, r3, lsl #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 2294 TESTINST3("subs.w r1, r2, r3, lsl #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 2295 TESTINST3("subs.w r1, r2, r3, lsl #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 2296 TESTINST3("subs.w r1, r2, r3, lsl #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 2297 TESTINST3("subs.w r1, r2, r3, lsr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 2298 TESTINST3("subs.w r1, r2, r3, lsr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 2299 TESTINST3("subs.w r1, r2, r3, lsr #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 2300 TESTINST3("subs.w r1, r2, r3, lsr #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 2301 TESTINST3("subs.w r1, r2, r3, asr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 2302 TESTINST3("subs.w r1, r2, r3, asr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 2303 TESTINST3("subs.w r1, r2, r3, asr #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 2304 TESTINST3("subs.w r1, r2, r3, asr #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 2305 TESTINST3("sub.w r1, r2, r3, lsl #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 2306 TESTINST3("sub.w r1, r2, r3, lsl #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 2307 TESTINST3("sub.w r1, r2, r3, lsl #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 2308 TESTINST3("sub.w r1, r2, r3, lsl #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 2309 TESTINST3("sub.w r1, r2, r3, lsr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 2310 TESTINST3("sub.w r1, r2, r3, lsr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 2311 TESTINST3("sub.w r1, r2, r3, lsr #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 2312 TESTINST3("sub.w r1, r2, r3, lsr #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 2313 TESTINST3("sub.w r1, r2, r3, asr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 2314 TESTINST3("sub.w r1, r2, r3, asr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 2315 TESTINST3("sub.w r1, r2, r3, asr #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 2316 TESTINST3("sub.w r1, r2, r3, asr #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 2317 TESTINST3("subs.w r1, r2, r3, lsl #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 2318 TESTINST3("subs.w r1, r2, r3, lsl #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 2319 TESTINST3("subs.w r1, r2, r3, lsl #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 2320 TESTINST3("subs.w r1, r2, r3, lsl #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 2321 TESTINST3("subs.w r1, r2, r3, lsr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 2322 TESTINST3("subs.w r1, r2, r3, lsr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 2323 TESTINST3("subs.w r1, r2, r3, lsr #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 2324 TESTINST3("subs.w r1, r2, r3, lsr #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 2325 TESTINST3("subs.w r1, r2, r3, asr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 2326 TESTINST3("subs.w r1, r2, r3, asr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 2327 TESTINST3("subs.w r1, r2, r3, asr #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 2328 TESTINST3("subs.w r1, r2, r3, asr #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 2329 TESTINST3("sub.w r1, r2, r3, lsl #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 2330 TESTINST3("sub.w r1, r2, r3, lsl #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 2331 TESTINST3("sub.w r1, r2, r3, lsl #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 2332 TESTINST3("sub.w r1, r2, r3, lsl #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 2333 TESTINST3("sub.w r1, r2, r3, lsr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 2334 TESTINST3("sub.w r1, r2, r3, lsr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 2335 TESTINST3("sub.w r1, r2, r3, lsr #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 2336 TESTINST3("sub.w r1, r2, r3, lsr #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 2337 TESTINST3("sub.w r1, r2, r3, asr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 2338 TESTINST3("sub.w r1, r2, r3, asr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 2339 TESTINST3("sub.w r1, r2, r3, asr #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 2340 TESTINST3("sub.w r1, r2, r3, asr #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 2341 TESTINST3("subs.w r1, r2, r3, lsl #0 ", 0, 0, r1, r2, r3, cv); 2342 TESTINST3("subs.w r1, r2, r3, lsl #1 ", 0, 0, r1, r2, r3, cv); 2343 TESTINST3("subs.w r1, r2, r3, lsl #15", 0, 0, r1, r2, r3, cv); 2344 TESTINST3("subs.w r1, r2, r3, lsl #31", 0, 0, r1, r2, r3, cv); 2345 TESTINST3("subs.w r1, r2, r3, lsr #0 ", 0, 0, r1, r2, r3, cv); 2346 TESTINST3("subs.w r1, r2, r3, lsr #1 ", 0, 0, r1, r2, r3, cv); 2347 TESTINST3("subs.w r1, r2, r3, lsr #15", 0, 0, r1, r2, r3, cv); 2348 TESTINST3("subs.w r1, r2, r3, lsr #31", 0, 0, r1, r2, r3, cv); 2349 TESTINST3("subs.w r1, r2, r3, asr #0 ", 0, 0, r1, r2, r3, cv); 2350 TESTINST3("subs.w r1, r2, r3, asr #1 ", 0, 0, r1, r2, r3, cv); 2351 TESTINST3("subs.w r1, r2, r3, asr #15", 0, 0, r1, r2, r3, cv); 2352 TESTINST3("subs.w r1, r2, r3, asr #31", 0, 0, r1, r2, r3, cv); 2353 TESTINST3("sub.w r1, r2, r3, lsl #0 ", 0, 0, r1, r2, r3, cv); 2354 TESTINST3("sub.w r1, r2, r3, lsl #1 ", 0, 0, r1, r2, r3, cv); 2355 TESTINST3("sub.w r1, r2, r3, lsl #15", 0, 0, r1, r2, r3, cv); 2356 TESTINST3("sub.w r1, r2, r3, lsl #31", 0, 0, r1, r2, r3, cv); 2357 TESTINST3("sub.w r1, r2, r3, lsr #0 ", 0, 0, r1, r2, r3, cv); 2358 TESTINST3("sub.w r1, r2, r3, lsr #1 ", 0, 0, r1, r2, r3, cv); 2359 TESTINST3("sub.w r1, r2, r3, lsr #15", 0, 0, r1, r2, r3, cv); 2360 TESTINST3("sub.w r1, r2, r3, lsr #31", 0, 0, r1, r2, r3, cv); 2361 TESTINST3("sub.w r1, r2, r3, asr #0 ", 0, 0, r1, r2, r3, cv); 2362 TESTINST3("sub.w r1, r2, r3, asr #1 ", 0, 0, r1, r2, r3, cv); 2363 TESTINST3("sub.w r1, r2, r3, asr #15", 0, 0, r1, r2, r3, cv); 2364 TESTINST3("sub.w r1, r2, r3, asr #31", 0, 0, r1, r2, r3, cv); 2365 TESTINST3("subs.w r1, r2, r3, lsl #0 ", 1, 0, r1, r2, r3, cv); 2366 TESTINST3("subs.w r1, r2, r3, lsl #1 ", 1, 0, r1, r2, r3, cv); 2367 TESTINST3("subs.w r1, r2, r3, lsl #15", 1, 0, r1, r2, r3, cv); 2368 TESTINST3("subs.w r1, r2, r3, lsl #31", 1, 0, r1, r2, r3, cv); 2369 TESTINST3("subs.w r1, r2, r3, lsr #0 ", 1, 0, r1, r2, r3, cv); 2370 TESTINST3("subs.w r1, r2, r3, lsr #1 ", 1, 0, r1, r2, r3, cv); 2371 TESTINST3("subs.w r1, r2, r3, lsr #15", 1, 0, r1, r2, r3, cv); 2372 TESTINST3("subs.w r1, r2, r3, lsr #31", 1, 0, r1, r2, r3, cv); 2373 TESTINST3("subs.w r1, r2, r3, asr #0 ", 1, 0, r1, r2, r3, cv); 2374 TESTINST3("subs.w r1, r2, r3, asr #1 ", 1, 0, r1, r2, r3, cv); 2375 TESTINST3("subs.w r1, r2, r3, asr #15", 1, 0, r1, r2, r3, cv); 2376 TESTINST3("subs.w r1, r2, r3, asr #31", 1, 0, r1, r2, r3, cv); 2377 TESTINST3("sub.w r1, r2, r3, lsl #0 ", 1, 0, r1, r2, r3, cv); 2378 TESTINST3("sub.w r1, r2, r3, lsl #1 ", 1, 0, r1, r2, r3, cv); 2379 TESTINST3("sub.w r1, r2, r3, lsl #15", 1, 0, r1, r2, r3, cv); 2380 TESTINST3("sub.w r1, r2, r3, lsl #31", 1, 0, r1, r2, r3, cv); 2381 TESTINST3("sub.w r1, r2, r3, lsr #0 ", 1, 0, r1, r2, r3, cv); 2382 TESTINST3("sub.w r1, r2, r3, lsr #1 ", 1, 0, r1, r2, r3, cv); 2383 TESTINST3("sub.w r1, r2, r3, lsr #15", 1, 0, r1, r2, r3, cv); 2384 TESTINST3("sub.w r1, r2, r3, lsr #31", 1, 0, r1, r2, r3, cv); 2385 TESTINST3("sub.w r1, r2, r3, asr #0 ", 1, 0, r1, r2, r3, cv); 2386 TESTINST3("sub.w r1, r2, r3, asr #1 ", 1, 0, r1, r2, r3, cv); 2387 TESTINST3("sub.w r1, r2, r3, asr #15", 1, 0, r1, r2, r3, cv); 2388 TESTINST3("sub.w r1, r2, r3, asr #31", 1, 0, r1, r2, r3, cv); 2389 TESTINST3("subs.w r1, r2, r3, lsl #0 ", 0, 1, r1, r2, r3, cv); 2390 TESTINST3("subs.w r1, r2, r3, lsl #1 ", 0, 1, r1, r2, r3, cv); 2391 TESTINST3("subs.w r1, r2, r3, lsl #15", 0, 1, r1, r2, r3, cv); 2392 TESTINST3("subs.w r1, r2, r3, lsl #31", 0, 1, r1, r2, r3, cv); 2393 TESTINST3("subs.w r1, r2, r3, lsr #0 ", 0, 1, r1, r2, r3, cv); 2394 TESTINST3("subs.w r1, r2, r3, lsr #1 ", 0, 1, r1, r2, r3, cv); 2395 TESTINST3("subs.w r1, r2, r3, lsr #15", 0, 1, r1, r2, r3, cv); 2396 TESTINST3("subs.w r1, r2, r3, lsr #31", 0, 1, r1, r2, r3, cv); 2397 TESTINST3("subs.w r1, r2, r3, asr #0 ", 0, 1, r1, r2, r3, cv); 2398 TESTINST3("subs.w r1, r2, r3, asr #1 ", 0, 1, r1, r2, r3, cv); 2399 TESTINST3("subs.w r1, r2, r3, asr #15", 0, 1, r1, r2, r3, cv); 2400 TESTINST3("subs.w r1, r2, r3, asr #31", 0, 1, r1, r2, r3, cv); 2401 TESTINST3("sub.w r1, r2, r3, lsl #0 ", 0, 1, r1, r2, r3, cv); 2402 TESTINST3("sub.w r1, r2, r3, lsl #1 ", 0, 1, r1, r2, r3, cv); 2403 TESTINST3("sub.w r1, r2, r3, lsl #15", 0, 1, r1, r2, r3, cv); 2404 TESTINST3("sub.w r1, r2, r3, lsl #31", 0, 1, r1, r2, r3, cv); 2405 TESTINST3("sub.w r1, r2, r3, lsr #0 ", 0, 1, r1, r2, r3, cv); 2406 TESTINST3("sub.w r1, r2, r3, lsr #1 ", 0, 1, r1, r2, r3, cv); 2407 TESTINST3("sub.w r1, r2, r3, lsr #15", 0, 1, r1, r2, r3, cv); 2408 TESTINST3("sub.w r1, r2, r3, lsr #31", 0, 1, r1, r2, r3, cv); 2409 TESTINST3("sub.w r1, r2, r3, asr #0 ", 0, 1, r1, r2, r3, cv); 2410 TESTINST3("sub.w r1, r2, r3, asr #1 ", 0, 1, r1, r2, r3, cv); 2411 TESTINST3("sub.w r1, r2, r3, asr #15", 0, 1, r1, r2, r3, cv); 2412 TESTINST3("sub.w r1, r2, r3, asr #31", 0, 1, r1, r2, r3, cv); 2413 TESTINST3("subs.w r1, r2, r3, lsl #0 ", -1, 0, r1, r2, r3, cv); 2414 TESTINST3("subs.w r1, r2, r3, lsl #1 ", -1, 0, r1, r2, r3, cv); 2415 TESTINST3("subs.w r1, r2, r3, lsl #15", -1, 0, r1, r2, r3, cv); 2416 TESTINST3("subs.w r1, r2, r3, lsl #31", -1, 0, r1, r2, r3, cv); 2417 TESTINST3("subs.w r1, r2, r3, lsr #0 ", -1, 0, r1, r2, r3, cv); 2418 TESTINST3("subs.w r1, r2, r3, lsr #1 ", -1, 0, r1, r2, r3, cv); 2419 TESTINST3("subs.w r1, r2, r3, lsr #15", -1, 0, r1, r2, r3, cv); 2420 TESTINST3("subs.w r1, r2, r3, lsr #31", -1, 0, r1, r2, r3, cv); 2421 TESTINST3("subs.w r1, r2, r3, asr #0 ", -1, 0, r1, r2, r3, cv); 2422 TESTINST3("subs.w r1, r2, r3, asr #1 ", -1, 0, r1, r2, r3, cv); 2423 TESTINST3("subs.w r1, r2, r3, asr #15", -1, 0, r1, r2, r3, cv); 2424 TESTINST3("subs.w r1, r2, r3, asr #31", -1, 0, r1, r2, r3, cv); 2425 TESTINST3("sub.w r1, r2, r3, lsl #0 ", -1, 0, r1, r2, r3, cv); 2426 TESTINST3("sub.w r1, r2, r3, lsl #1 ", -1, 0, r1, r2, r3, cv); 2427 TESTINST3("sub.w r1, r2, r3, lsl #15", -1, 0, r1, r2, r3, cv); 2428 TESTINST3("sub.w r1, r2, r3, lsl #31", -1, 0, r1, r2, r3, cv); 2429 TESTINST3("sub.w r1, r2, r3, lsr #0 ", -1, 0, r1, r2, r3, cv); 2430 TESTINST3("sub.w r1, r2, r3, lsr #1 ", -1, 0, r1, r2, r3, cv); 2431 TESTINST3("sub.w r1, r2, r3, lsr #15", -1, 0, r1, r2, r3, cv); 2432 TESTINST3("sub.w r1, r2, r3, lsr #31", -1, 0, r1, r2, r3, cv); 2433 TESTINST3("sub.w r1, r2, r3, asr #0 ", -1, 0, r1, r2, r3, cv); 2434 TESTINST3("sub.w r1, r2, r3, asr #1 ", -1, 0, r1, r2, r3, cv); 2435 TESTINST3("sub.w r1, r2, r3, asr #15", -1, 0, r1, r2, r3, cv); 2436 TESTINST3("sub.w r1, r2, r3, asr #31", -1, 0, r1, r2, r3, cv); 2437 TESTINST3("subs.w r1, r2, r3, lsl #0 ", 0, -1, r1, r2, r3, cv); 2438 TESTINST3("subs.w r1, r2, r3, lsl #1 ", 0, -1, r1, r2, r3, cv); 2439 TESTINST3("subs.w r1, r2, r3, lsl #15", 0, -1, r1, r2, r3, cv); 2440 TESTINST3("subs.w r1, r2, r3, lsl #31", 0, -1, r1, r2, r3, cv); 2441 TESTINST3("subs.w r1, r2, r3, lsr #0 ", 0, -1, r1, r2, r3, cv); 2442 TESTINST3("subs.w r1, r2, r3, lsr #1 ", 0, -1, r1, r2, r3, cv); 2443 TESTINST3("subs.w r1, r2, r3, lsr #15", 0, -1, r1, r2, r3, cv); 2444 TESTINST3("subs.w r1, r2, r3, lsr #31", 0, -1, r1, r2, r3, cv); 2445 TESTINST3("subs.w r1, r2, r3, asr #0 ", 0, -1, r1, r2, r3, cv); 2446 TESTINST3("subs.w r1, r2, r3, asr #1 ", 0, -1, r1, r2, r3, cv); 2447 TESTINST3("subs.w r1, r2, r3, asr #15", 0, -1, r1, r2, r3, cv); 2448 TESTINST3("subs.w r1, r2, r3, asr #31", 0, -1, r1, r2, r3, cv); 2449 TESTINST3("sub.w r1, r2, r3, lsl #0 ", 0, -1, r1, r2, r3, cv); 2450 TESTINST3("sub.w r1, r2, r3, lsl #1 ", 0, -1, r1, r2, r3, cv); 2451 TESTINST3("sub.w r1, r2, r3, lsl #15", 0, -1, r1, r2, r3, cv); 2452 TESTINST3("sub.w r1, r2, r3, lsl #31", 0, -1, r1, r2, r3, cv); 2453 TESTINST3("sub.w r1, r2, r3, lsr #0 ", 0, -1, r1, r2, r3, cv); 2454 TESTINST3("sub.w r1, r2, r3, lsr #1 ", 0, -1, r1, r2, r3, cv); 2455 TESTINST3("sub.w r1, r2, r3, lsr #15", 0, -1, r1, r2, r3, cv); 2456 TESTINST3("sub.w r1, r2, r3, lsr #31", 0, -1, r1, r2, r3, cv); 2457 TESTINST3("sub.w r1, r2, r3, asr #0 ", 0, -1, r1, r2, r3, cv); 2458 TESTINST3("sub.w r1, r2, r3, asr #1 ", 0, -1, r1, r2, r3, cv); 2459 TESTINST3("sub.w r1, r2, r3, asr #15", 0, -1, r1, r2, r3, cv); 2460 TESTINST3("sub.w r1, r2, r3, asr #31", 0, -1, r1, r2, r3, cv); 2461 TESTINST3("subs.w r1, r2, r3, lsl #0 ", 0, 0x80000000, r1, r2, r3, cv); 2462 TESTINST3("subs.w r1, r2, r3, lsl #1 ", 0, 0x80000000, r1, r2, r3, cv); 2463 TESTINST3("subs.w r1, r2, r3, lsl #15", 0, 0x80000000, r1, r2, r3, cv); 2464 TESTINST3("subs.w r1, r2, r3, lsl #31", 0, 0x80000000, r1, r2, r3, cv); 2465 TESTINST3("subs.w r1, r2, r3, lsr #0 ", 0, 0x80000000, r1, r2, r3, cv); 2466 TESTINST3("subs.w r1, r2, r3, lsr #1 ", 0, 0x80000000, r1, r2, r3, cv); 2467 TESTINST3("subs.w r1, r2, r3, lsr #15", 0, 0x80000000, r1, r2, r3, cv); 2468 TESTINST3("subs.w r1, r2, r3, lsr #31", 0, 0x80000000, r1, r2, r3, cv); 2469 TESTINST3("subs.w r1, r2, r3, asr #0 ", 0, 0x80000000, r1, r2, r3, cv); 2470 TESTINST3("subs.w r1, r2, r3, asr #1 ", 0, 0x80000000, r1, r2, r3, cv); 2471 TESTINST3("subs.w r1, r2, r3, asr #15", 0, 0x80000000, r1, r2, r3, cv); 2472 TESTINST3("subs.w r1, r2, r3, asr #31", 0, 0x80000000, r1, r2, r3, cv); 2473 TESTINST3("sub.w r1, r2, r3, lsl #0 ", 0, 0x80000000, r1, r2, r3, cv); 2474 TESTINST3("sub.w r1, r2, r3, lsl #1 ", 0, 0x80000000, r1, r2, r3, cv); 2475 TESTINST3("sub.w r1, r2, r3, lsl #15", 0, 0x80000000, r1, r2, r3, cv); 2476 TESTINST3("sub.w r1, r2, r3, lsl #31", 0, 0x80000000, r1, r2, r3, cv); 2477 TESTINST3("sub.w r1, r2, r3, lsr #0 ", 0, 0x80000000, r1, r2, r3, cv); 2478 TESTINST3("sub.w r1, r2, r3, lsr #1 ", 0, 0x80000000, r1, r2, r3, cv); 2479 TESTINST3("sub.w r1, r2, r3, lsr #15", 0, 0x80000000, r1, r2, r3, cv); 2480 TESTINST3("sub.w r1, r2, r3, lsr #31", 0, 0x80000000, r1, r2, r3, cv); 2481 TESTINST3("sub.w r1, r2, r3, asr #0 ", 0, 0x80000000, r1, r2, r3, cv); 2482 TESTINST3("sub.w r1, r2, r3, asr #1 ", 0, 0x80000000, r1, r2, r3, cv); 2483 TESTINST3("sub.w r1, r2, r3, asr #15", 0, 0x80000000, r1, r2, r3, cv); 2484 TESTINST3("sub.w r1, r2, r3, asr #31", 0, 0x80000000, r1, r2, r3, cv); 2485 TESTINST3("subs.w r1, r2, r3, lsl #0 ", 0x80000000, 0, r1, r2, r3, cv); 2486 TESTINST3("subs.w r1, r2, r3, lsl #1 ", 0x80000000, 0, r1, r2, r3, cv); 2487 TESTINST3("subs.w r1, r2, r3, lsl #15", 0x80000000, 0, r1, r2, r3, cv); 2488 TESTINST3("subs.w r1, r2, r3, lsl #31", 0x80000000, 0, r1, r2, r3, cv); 2489 TESTINST3("subs.w r1, r2, r3, lsr #0 ", 0x80000000, 0, r1, r2, r3, cv); 2490 TESTINST3("subs.w r1, r2, r3, lsr #1 ", 0x80000000, 0, r1, r2, r3, cv); 2491 TESTINST3("subs.w r1, r2, r3, lsr #15", 0x80000000, 0, r1, r2, r3, cv); 2492 TESTINST3("subs.w r1, r2, r3, lsr #31", 0x80000000, 0, r1, r2, r3, cv); 2493 TESTINST3("subs.w r1, r2, r3, asr #0 ", 0x80000000, 0, r1, r2, r3, cv); 2494 TESTINST3("subs.w r1, r2, r3, asr #1 ", 0x80000000, 0, r1, r2, r3, cv); 2495 TESTINST3("subs.w r1, r2, r3, asr #15", 0x80000000, 0, r1, r2, r3, cv); 2496 TESTINST3("subs.w r1, r2, r3, asr #31", 0x80000000, 0, r1, r2, r3, cv); 2497 TESTINST3("sub.w r1, r2, r3, lsl #0 ", 0x80000000, 0, r1, r2, r3, cv); 2498 TESTINST3("sub.w r1, r2, r3, lsl #1 ", 0x80000000, 0, r1, r2, r3, cv); 2499 TESTINST3("sub.w r1, r2, r3, lsl #15", 0x80000000, 0, r1, r2, r3, cv); 2500 TESTINST3("sub.w r1, r2, r3, lsl #31", 0x80000000, 0, r1, r2, r3, cv); 2501 TESTINST3("sub.w r1, r2, r3, lsr #0 ", 0x80000000, 0, r1, r2, r3, cv); 2502 TESTINST3("sub.w r1, r2, r3, lsr #1 ", 0x80000000, 0, r1, r2, r3, cv); 2503 TESTINST3("sub.w r1, r2, r3, lsr #15", 0x80000000, 0, r1, r2, r3, cv); 2504 TESTINST3("sub.w r1, r2, r3, lsr #31", 0x80000000, 0, r1, r2, r3, cv); 2505 TESTINST3("sub.w r1, r2, r3, asr #0 ", 0x80000000, 0, r1, r2, r3, cv); 2506 TESTINST3("sub.w r1, r2, r3, asr #1 ", 0x80000000, 0, r1, r2, r3, cv); 2507 TESTINST3("sub.w r1, r2, r3, asr #15", 0x80000000, 0, r1, r2, r3, cv); 2508 TESTINST3("sub.w r1, r2, r3, asr #31", 0x80000000, 0, r1, r2, r3, cv); 2509 TESTINST3("subs.w r1, r2, r3, lsl #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 2510 TESTINST3("subs.w r1, r2, r3, lsl #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 2511 TESTINST3("subs.w r1, r2, r3, lsl #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 2512 TESTINST3("subs.w r1, r2, r3, lsl #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 2513 TESTINST3("subs.w r1, r2, r3, lsr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 2514 TESTINST3("subs.w r1, r2, r3, lsr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 2515 TESTINST3("subs.w r1, r2, r3, lsr #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 2516 TESTINST3("subs.w r1, r2, r3, lsr #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 2517 TESTINST3("subs.w r1, r2, r3, asr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 2518 TESTINST3("subs.w r1, r2, r3, asr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 2519 TESTINST3("subs.w r1, r2, r3, asr #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 2520 TESTINST3("subs.w r1, r2, r3, asr #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 2521 TESTINST3("sub.w r1, r2, r3, lsl #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 2522 TESTINST3("sub.w r1, r2, r3, lsl #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 2523 TESTINST3("sub.w r1, r2, r3, lsl #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 2524 TESTINST3("sub.w r1, r2, r3, lsl #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 2525 TESTINST3("sub.w r1, r2, r3, lsr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 2526 TESTINST3("sub.w r1, r2, r3, lsr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 2527 TESTINST3("sub.w r1, r2, r3, lsr #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 2528 TESTINST3("sub.w r1, r2, r3, lsr #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 2529 TESTINST3("sub.w r1, r2, r3, asr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 2530 TESTINST3("sub.w r1, r2, r3, asr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 2531 TESTINST3("sub.w r1, r2, r3, asr #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 2532 TESTINST3("sub.w r1, r2, r3, asr #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 2533 TESTINST3("subs.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2534 TESTINST3("subs.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2535 TESTINST3("subs.w r1, r2, r3, lsl #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2536 TESTINST3("subs.w r1, r2, r3, lsl #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2537 TESTINST3("subs.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2538 TESTINST3("subs.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2539 TESTINST3("subs.w r1, r2, r3, lsr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2540 TESTINST3("subs.w r1, r2, r3, lsr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2541 TESTINST3("subs.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2542 TESTINST3("subs.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2543 TESTINST3("subs.w r1, r2, r3, asr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2544 TESTINST3("subs.w r1, r2, r3, asr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2545 TESTINST3("sub.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2546 TESTINST3("sub.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2547 TESTINST3("sub.w r1, r2, r3, lsl #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2548 TESTINST3("sub.w r1, r2, r3, lsl #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2549 TESTINST3("sub.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2550 TESTINST3("sub.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2551 TESTINST3("sub.w r1, r2, r3, lsr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2552 TESTINST3("sub.w r1, r2, r3, lsr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2553 TESTINST3("sub.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2554 TESTINST3("sub.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2555 TESTINST3("sub.w r1, r2, r3, asr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2556 TESTINST3("sub.w r1, r2, r3, asr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2557 TESTINST3("subs.w r1, r2, r3, lsl #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2558 TESTINST3("subs.w r1, r2, r3, lsl #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2559 TESTINST3("subs.w r1, r2, r3, lsl #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2560 TESTINST3("subs.w r1, r2, r3, lsl #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2561 TESTINST3("subs.w r1, r2, r3, lsr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2562 TESTINST3("subs.w r1, r2, r3, lsr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2563 TESTINST3("subs.w r1, r2, r3, lsr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2564 TESTINST3("subs.w r1, r2, r3, lsr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2565 TESTINST3("subs.w r1, r2, r3, asr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2566 TESTINST3("subs.w r1, r2, r3, asr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2567 TESTINST3("subs.w r1, r2, r3, asr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2568 TESTINST3("subs.w r1, r2, r3, asr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2569 TESTINST3("sub.w r1, r2, r3, lsl #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2570 TESTINST3("sub.w r1, r2, r3, lsl #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2571 TESTINST3("sub.w r1, r2, r3, lsl #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2572 TESTINST3("sub.w r1, r2, r3, lsl #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2573 TESTINST3("sub.w r1, r2, r3, lsr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2574 TESTINST3("sub.w r1, r2, r3, lsr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2575 TESTINST3("sub.w r1, r2, r3, lsr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2576 TESTINST3("sub.w r1, r2, r3, lsr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2577 TESTINST3("sub.w r1, r2, r3, asr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2578 TESTINST3("sub.w r1, r2, r3, asr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2579 TESTINST3("sub.w r1, r2, r3, asr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2580 TESTINST3("sub.w r1, r2, r3, asr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2581 TESTINST3("subs.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2582 TESTINST3("subs.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2583 TESTINST3("subs.w r1, r2, r3, lsl #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2584 TESTINST3("subs.w r1, r2, r3, lsl #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2585 TESTINST3("subs.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2586 TESTINST3("subs.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2587 TESTINST3("subs.w r1, r2, r3, lsr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2588 TESTINST3("subs.w r1, r2, r3, lsr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2589 TESTINST3("subs.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2590 TESTINST3("subs.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2591 TESTINST3("subs.w r1, r2, r3, asr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2592 TESTINST3("subs.w r1, r2, r3, asr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2593 TESTINST3("sub.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2594 TESTINST3("sub.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2595 TESTINST3("sub.w r1, r2, r3, lsl #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2596 TESTINST3("sub.w r1, r2, r3, lsl #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2597 TESTINST3("sub.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2598 TESTINST3("sub.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2599 TESTINST3("sub.w r1, r2, r3, lsr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2600 TESTINST3("sub.w r1, r2, r3, lsr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2601 TESTINST3("sub.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2602 TESTINST3("sub.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2603 TESTINST3("sub.w r1, r2, r3, asr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2604 TESTINST3("sub.w r1, r2, r3, asr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2605 TESTCARRYEND 2606 2607 printf("RSB{S}.W Rd, Rn, Rm, {shift}\n"); 2608 TESTCARRY 2609 TESTINST3("rsbs.w r1, r2, r3, lsl #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 2610 TESTINST3("rsbs.w r1, r2, r3, lsl #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 2611 TESTINST3("rsbs.w r1, r2, r3, lsl #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 2612 TESTINST3("rsbs.w r1, r2, r3, lsl #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 2613 TESTINST3("rsbs.w r1, r2, r3, lsr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 2614 TESTINST3("rsbs.w r1, r2, r3, lsr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 2615 TESTINST3("rsbs.w r1, r2, r3, lsr #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 2616 TESTINST3("rsbs.w r1, r2, r3, lsr #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 2617 TESTINST3("rsbs.w r1, r2, r3, asr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 2618 TESTINST3("rsbs.w r1, r2, r3, asr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 2619 TESTINST3("rsbs.w r1, r2, r3, asr #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 2620 TESTINST3("rsbs.w r1, r2, r3, asr #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 2621 TESTINST3("rsb.w r1, r2, r3, lsl #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 2622 TESTINST3("rsb.w r1, r2, r3, lsl #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 2623 TESTINST3("rsb.w r1, r2, r3, lsl #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 2624 TESTINST3("rsb.w r1, r2, r3, lsl #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 2625 TESTINST3("rsb.w r1, r2, r3, lsr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 2626 TESTINST3("rsb.w r1, r2, r3, lsr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 2627 TESTINST3("rsb.w r1, r2, r3, lsr #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 2628 TESTINST3("rsb.w r1, r2, r3, lsr #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 2629 TESTINST3("rsb.w r1, r2, r3, asr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 2630 TESTINST3("rsb.w r1, r2, r3, asr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 2631 TESTINST3("rsb.w r1, r2, r3, asr #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 2632 TESTINST3("rsb.w r1, r2, r3, asr #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 2633 TESTINST3("rsbs.w r1, r2, r3, lsl #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 2634 TESTINST3("rsbs.w r1, r2, r3, lsl #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 2635 TESTINST3("rsbs.w r1, r2, r3, lsl #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 2636 TESTINST3("rsbs.w r1, r2, r3, lsl #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 2637 TESTINST3("rsbs.w r1, r2, r3, lsr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 2638 TESTINST3("rsbs.w r1, r2, r3, lsr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 2639 TESTINST3("rsbs.w r1, r2, r3, lsr #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 2640 TESTINST3("rsbs.w r1, r2, r3, lsr #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 2641 TESTINST3("rsbs.w r1, r2, r3, asr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 2642 TESTINST3("rsbs.w r1, r2, r3, asr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 2643 TESTINST3("rsbs.w r1, r2, r3, asr #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 2644 TESTINST3("rsbs.w r1, r2, r3, asr #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 2645 TESTINST3("rsb.w r1, r2, r3, lsl #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 2646 TESTINST3("rsb.w r1, r2, r3, lsl #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 2647 TESTINST3("rsb.w r1, r2, r3, lsl #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 2648 TESTINST3("rsb.w r1, r2, r3, lsl #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 2649 TESTINST3("rsb.w r1, r2, r3, lsr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 2650 TESTINST3("rsb.w r1, r2, r3, lsr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 2651 TESTINST3("rsb.w r1, r2, r3, lsr #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 2652 TESTINST3("rsb.w r1, r2, r3, lsr #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 2653 TESTINST3("rsb.w r1, r2, r3, asr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 2654 TESTINST3("rsb.w r1, r2, r3, asr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 2655 TESTINST3("rsb.w r1, r2, r3, asr #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 2656 TESTINST3("rsb.w r1, r2, r3, asr #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 2657 TESTINST3("rsbs.w r1, r2, r3, lsl #0 ", 0, 0, r1, r2, r3, cv); 2658 TESTINST3("rsbs.w r1, r2, r3, lsl #1 ", 0, 0, r1, r2, r3, cv); 2659 TESTINST3("rsbs.w r1, r2, r3, lsl #15", 0, 0, r1, r2, r3, cv); 2660 TESTINST3("rsbs.w r1, r2, r3, lsl #31", 0, 0, r1, r2, r3, cv); 2661 TESTINST3("rsbs.w r1, r2, r3, lsr #0 ", 0, 0, r1, r2, r3, cv); 2662 TESTINST3("rsbs.w r1, r2, r3, lsr #1 ", 0, 0, r1, r2, r3, cv); 2663 TESTINST3("rsbs.w r1, r2, r3, lsr #15", 0, 0, r1, r2, r3, cv); 2664 TESTINST3("rsbs.w r1, r2, r3, lsr #31", 0, 0, r1, r2, r3, cv); 2665 TESTINST3("rsbs.w r1, r2, r3, asr #0 ", 0, 0, r1, r2, r3, cv); 2666 TESTINST3("rsbs.w r1, r2, r3, asr #1 ", 0, 0, r1, r2, r3, cv); 2667 TESTINST3("rsbs.w r1, r2, r3, asr #15", 0, 0, r1, r2, r3, cv); 2668 TESTINST3("rsbs.w r1, r2, r3, asr #31", 0, 0, r1, r2, r3, cv); 2669 TESTINST3("rsb.w r1, r2, r3, lsl #0 ", 0, 0, r1, r2, r3, cv); 2670 TESTINST3("rsb.w r1, r2, r3, lsl #1 ", 0, 0, r1, r2, r3, cv); 2671 TESTINST3("rsb.w r1, r2, r3, lsl #15", 0, 0, r1, r2, r3, cv); 2672 TESTINST3("rsb.w r1, r2, r3, lsl #31", 0, 0, r1, r2, r3, cv); 2673 TESTINST3("rsb.w r1, r2, r3, lsr #0 ", 0, 0, r1, r2, r3, cv); 2674 TESTINST3("rsb.w r1, r2, r3, lsr #1 ", 0, 0, r1, r2, r3, cv); 2675 TESTINST3("rsb.w r1, r2, r3, lsr #15", 0, 0, r1, r2, r3, cv); 2676 TESTINST3("rsb.w r1, r2, r3, lsr #31", 0, 0, r1, r2, r3, cv); 2677 TESTINST3("rsb.w r1, r2, r3, asr #0 ", 0, 0, r1, r2, r3, cv); 2678 TESTINST3("rsb.w r1, r2, r3, asr #1 ", 0, 0, r1, r2, r3, cv); 2679 TESTINST3("rsb.w r1, r2, r3, asr #15", 0, 0, r1, r2, r3, cv); 2680 TESTINST3("rsb.w r1, r2, r3, asr #31", 0, 0, r1, r2, r3, cv); 2681 TESTINST3("rsbs.w r1, r2, r3, lsl #0 ", 1, 0, r1, r2, r3, cv); 2682 TESTINST3("rsbs.w r1, r2, r3, lsl #1 ", 1, 0, r1, r2, r3, cv); 2683 TESTINST3("rsbs.w r1, r2, r3, lsl #15", 1, 0, r1, r2, r3, cv); 2684 TESTINST3("rsbs.w r1, r2, r3, lsl #31", 1, 0, r1, r2, r3, cv); 2685 TESTINST3("rsbs.w r1, r2, r3, lsr #0 ", 1, 0, r1, r2, r3, cv); 2686 TESTINST3("rsbs.w r1, r2, r3, lsr #1 ", 1, 0, r1, r2, r3, cv); 2687 TESTINST3("rsbs.w r1, r2, r3, lsr #15", 1, 0, r1, r2, r3, cv); 2688 TESTINST3("rsbs.w r1, r2, r3, lsr #31", 1, 0, r1, r2, r3, cv); 2689 TESTINST3("rsbs.w r1, r2, r3, asr #0 ", 1, 0, r1, r2, r3, cv); 2690 TESTINST3("rsbs.w r1, r2, r3, asr #1 ", 1, 0, r1, r2, r3, cv); 2691 TESTINST3("rsbs.w r1, r2, r3, asr #15", 1, 0, r1, r2, r3, cv); 2692 TESTINST3("rsbs.w r1, r2, r3, asr #31", 1, 0, r1, r2, r3, cv); 2693 TESTINST3("rsb.w r1, r2, r3, lsl #0 ", 1, 0, r1, r2, r3, cv); 2694 TESTINST3("rsb.w r1, r2, r3, lsl #1 ", 1, 0, r1, r2, r3, cv); 2695 TESTINST3("rsb.w r1, r2, r3, lsl #15", 1, 0, r1, r2, r3, cv); 2696 TESTINST3("rsb.w r1, r2, r3, lsl #31", 1, 0, r1, r2, r3, cv); 2697 TESTINST3("rsb.w r1, r2, r3, lsr #0 ", 1, 0, r1, r2, r3, cv); 2698 TESTINST3("rsb.w r1, r2, r3, lsr #1 ", 1, 0, r1, r2, r3, cv); 2699 TESTINST3("rsb.w r1, r2, r3, lsr #15", 1, 0, r1, r2, r3, cv); 2700 TESTINST3("rsb.w r1, r2, r3, lsr #31", 1, 0, r1, r2, r3, cv); 2701 TESTINST3("rsb.w r1, r2, r3, asr #0 ", 1, 0, r1, r2, r3, cv); 2702 TESTINST3("rsb.w r1, r2, r3, asr #1 ", 1, 0, r1, r2, r3, cv); 2703 TESTINST3("rsb.w r1, r2, r3, asr #15", 1, 0, r1, r2, r3, cv); 2704 TESTINST3("rsb.w r1, r2, r3, asr #31", 1, 0, r1, r2, r3, cv); 2705 TESTINST3("rsbs.w r1, r2, r3, lsl #0 ", 0, 1, r1, r2, r3, cv); 2706 TESTINST3("rsbs.w r1, r2, r3, lsl #1 ", 0, 1, r1, r2, r3, cv); 2707 TESTINST3("rsbs.w r1, r2, r3, lsl #15", 0, 1, r1, r2, r3, cv); 2708 TESTINST3("rsbs.w r1, r2, r3, lsl #31", 0, 1, r1, r2, r3, cv); 2709 TESTINST3("rsbs.w r1, r2, r3, lsr #0 ", 0, 1, r1, r2, r3, cv); 2710 TESTINST3("rsbs.w r1, r2, r3, lsr #1 ", 0, 1, r1, r2, r3, cv); 2711 TESTINST3("rsbs.w r1, r2, r3, lsr #15", 0, 1, r1, r2, r3, cv); 2712 TESTINST3("rsbs.w r1, r2, r3, lsr #31", 0, 1, r1, r2, r3, cv); 2713 TESTINST3("rsbs.w r1, r2, r3, asr #0 ", 0, 1, r1, r2, r3, cv); 2714 TESTINST3("rsbs.w r1, r2, r3, asr #1 ", 0, 1, r1, r2, r3, cv); 2715 TESTINST3("rsbs.w r1, r2, r3, asr #15", 0, 1, r1, r2, r3, cv); 2716 TESTINST3("rsbs.w r1, r2, r3, asr #31", 0, 1, r1, r2, r3, cv); 2717 TESTINST3("rsb.w r1, r2, r3, lsl #0 ", 0, 1, r1, r2, r3, cv); 2718 TESTINST3("rsb.w r1, r2, r3, lsl #1 ", 0, 1, r1, r2, r3, cv); 2719 TESTINST3("rsb.w r1, r2, r3, lsl #15", 0, 1, r1, r2, r3, cv); 2720 TESTINST3("rsb.w r1, r2, r3, lsl #31", 0, 1, r1, r2, r3, cv); 2721 TESTINST3("rsb.w r1, r2, r3, lsr #0 ", 0, 1, r1, r2, r3, cv); 2722 TESTINST3("rsb.w r1, r2, r3, lsr #1 ", 0, 1, r1, r2, r3, cv); 2723 TESTINST3("rsb.w r1, r2, r3, lsr #15", 0, 1, r1, r2, r3, cv); 2724 TESTINST3("rsb.w r1, r2, r3, lsr #31", 0, 1, r1, r2, r3, cv); 2725 TESTINST3("rsb.w r1, r2, r3, asr #0 ", 0, 1, r1, r2, r3, cv); 2726 TESTINST3("rsb.w r1, r2, r3, asr #1 ", 0, 1, r1, r2, r3, cv); 2727 TESTINST3("rsb.w r1, r2, r3, asr #15", 0, 1, r1, r2, r3, cv); 2728 TESTINST3("rsb.w r1, r2, r3, asr #31", 0, 1, r1, r2, r3, cv); 2729 TESTINST3("rsbs.w r1, r2, r3, lsl #0 ", -1, 0, r1, r2, r3, cv); 2730 TESTINST3("rsbs.w r1, r2, r3, lsl #1 ", -1, 0, r1, r2, r3, cv); 2731 TESTINST3("rsbs.w r1, r2, r3, lsl #15", -1, 0, r1, r2, r3, cv); 2732 TESTINST3("rsbs.w r1, r2, r3, lsl #31", -1, 0, r1, r2, r3, cv); 2733 TESTINST3("rsbs.w r1, r2, r3, lsr #0 ", -1, 0, r1, r2, r3, cv); 2734 TESTINST3("rsbs.w r1, r2, r3, lsr #1 ", -1, 0, r1, r2, r3, cv); 2735 TESTINST3("rsbs.w r1, r2, r3, lsr #15", -1, 0, r1, r2, r3, cv); 2736 TESTINST3("rsbs.w r1, r2, r3, lsr #31", -1, 0, r1, r2, r3, cv); 2737 TESTINST3("rsbs.w r1, r2, r3, asr #0 ", -1, 0, r1, r2, r3, cv); 2738 TESTINST3("rsbs.w r1, r2, r3, asr #1 ", -1, 0, r1, r2, r3, cv); 2739 TESTINST3("rsbs.w r1, r2, r3, asr #15", -1, 0, r1, r2, r3, cv); 2740 TESTINST3("rsbs.w r1, r2, r3, asr #31", -1, 0, r1, r2, r3, cv); 2741 TESTINST3("rsb.w r1, r2, r3, lsl #0 ", -1, 0, r1, r2, r3, cv); 2742 TESTINST3("rsb.w r1, r2, r3, lsl #1 ", -1, 0, r1, r2, r3, cv); 2743 TESTINST3("rsb.w r1, r2, r3, lsl #15", -1, 0, r1, r2, r3, cv); 2744 TESTINST3("rsb.w r1, r2, r3, lsl #31", -1, 0, r1, r2, r3, cv); 2745 TESTINST3("rsb.w r1, r2, r3, lsr #0 ", -1, 0, r1, r2, r3, cv); 2746 TESTINST3("rsb.w r1, r2, r3, lsr #1 ", -1, 0, r1, r2, r3, cv); 2747 TESTINST3("rsb.w r1, r2, r3, lsr #15", -1, 0, r1, r2, r3, cv); 2748 TESTINST3("rsb.w r1, r2, r3, lsr #31", -1, 0, r1, r2, r3, cv); 2749 TESTINST3("rsb.w r1, r2, r3, asr #0 ", -1, 0, r1, r2, r3, cv); 2750 TESTINST3("rsb.w r1, r2, r3, asr #1 ", -1, 0, r1, r2, r3, cv); 2751 TESTINST3("rsb.w r1, r2, r3, asr #15", -1, 0, r1, r2, r3, cv); 2752 TESTINST3("rsb.w r1, r2, r3, asr #31", -1, 0, r1, r2, r3, cv); 2753 TESTINST3("rsbs.w r1, r2, r3, lsl #0 ", 0, -1, r1, r2, r3, cv); 2754 TESTINST3("rsbs.w r1, r2, r3, lsl #1 ", 0, -1, r1, r2, r3, cv); 2755 TESTINST3("rsbs.w r1, r2, r3, lsl #15", 0, -1, r1, r2, r3, cv); 2756 TESTINST3("rsbs.w r1, r2, r3, lsl #31", 0, -1, r1, r2, r3, cv); 2757 TESTINST3("rsbs.w r1, r2, r3, lsr #0 ", 0, -1, r1, r2, r3, cv); 2758 TESTINST3("rsbs.w r1, r2, r3, lsr #1 ", 0, -1, r1, r2, r3, cv); 2759 TESTINST3("rsbs.w r1, r2, r3, lsr #15", 0, -1, r1, r2, r3, cv); 2760 TESTINST3("rsbs.w r1, r2, r3, lsr #31", 0, -1, r1, r2, r3, cv); 2761 TESTINST3("rsbs.w r1, r2, r3, asr #0 ", 0, -1, r1, r2, r3, cv); 2762 TESTINST3("rsbs.w r1, r2, r3, asr #1 ", 0, -1, r1, r2, r3, cv); 2763 TESTINST3("rsbs.w r1, r2, r3, asr #15", 0, -1, r1, r2, r3, cv); 2764 TESTINST3("rsbs.w r1, r2, r3, asr #31", 0, -1, r1, r2, r3, cv); 2765 TESTINST3("rsb.w r1, r2, r3, lsl #0 ", 0, -1, r1, r2, r3, cv); 2766 TESTINST3("rsb.w r1, r2, r3, lsl #1 ", 0, -1, r1, r2, r3, cv); 2767 TESTINST3("rsb.w r1, r2, r3, lsl #15", 0, -1, r1, r2, r3, cv); 2768 TESTINST3("rsb.w r1, r2, r3, lsl #31", 0, -1, r1, r2, r3, cv); 2769 TESTINST3("rsb.w r1, r2, r3, lsr #0 ", 0, -1, r1, r2, r3, cv); 2770 TESTINST3("rsb.w r1, r2, r3, lsr #1 ", 0, -1, r1, r2, r3, cv); 2771 TESTINST3("rsb.w r1, r2, r3, lsr #15", 0, -1, r1, r2, r3, cv); 2772 TESTINST3("rsb.w r1, r2, r3, lsr #31", 0, -1, r1, r2, r3, cv); 2773 TESTINST3("rsb.w r1, r2, r3, asr #0 ", 0, -1, r1, r2, r3, cv); 2774 TESTINST3("rsb.w r1, r2, r3, asr #1 ", 0, -1, r1, r2, r3, cv); 2775 TESTINST3("rsb.w r1, r2, r3, asr #15", 0, -1, r1, r2, r3, cv); 2776 TESTINST3("rsb.w r1, r2, r3, asr #31", 0, -1, r1, r2, r3, cv); 2777 TESTINST3("rsbs.w r1, r2, r3, lsl #0 ", 0, 0x80000000, r1, r2, r3, cv); 2778 TESTINST3("rsbs.w r1, r2, r3, lsl #1 ", 0, 0x80000000, r1, r2, r3, cv); 2779 TESTINST3("rsbs.w r1, r2, r3, lsl #15", 0, 0x80000000, r1, r2, r3, cv); 2780 TESTINST3("rsbs.w r1, r2, r3, lsl #31", 0, 0x80000000, r1, r2, r3, cv); 2781 TESTINST3("rsbs.w r1, r2, r3, lsr #0 ", 0, 0x80000000, r1, r2, r3, cv); 2782 TESTINST3("rsbs.w r1, r2, r3, lsr #1 ", 0, 0x80000000, r1, r2, r3, cv); 2783 TESTINST3("rsbs.w r1, r2, r3, lsr #15", 0, 0x80000000, r1, r2, r3, cv); 2784 TESTINST3("rsbs.w r1, r2, r3, lsr #31", 0, 0x80000000, r1, r2, r3, cv); 2785 TESTINST3("rsbs.w r1, r2, r3, asr #0 ", 0, 0x80000000, r1, r2, r3, cv); 2786 TESTINST3("rsbs.w r1, r2, r3, asr #1 ", 0, 0x80000000, r1, r2, r3, cv); 2787 TESTINST3("rsbs.w r1, r2, r3, asr #15", 0, 0x80000000, r1, r2, r3, cv); 2788 TESTINST3("rsbs.w r1, r2, r3, asr #31", 0, 0x80000000, r1, r2, r3, cv); 2789 TESTINST3("rsb.w r1, r2, r3, lsl #0 ", 0, 0x80000000, r1, r2, r3, cv); 2790 TESTINST3("rsb.w r1, r2, r3, lsl #1 ", 0, 0x80000000, r1, r2, r3, cv); 2791 TESTINST3("rsb.w r1, r2, r3, lsl #15", 0, 0x80000000, r1, r2, r3, cv); 2792 TESTINST3("rsb.w r1, r2, r3, lsl #31", 0, 0x80000000, r1, r2, r3, cv); 2793 TESTINST3("rsb.w r1, r2, r3, lsr #0 ", 0, 0x80000000, r1, r2, r3, cv); 2794 TESTINST3("rsb.w r1, r2, r3, lsr #1 ", 0, 0x80000000, r1, r2, r3, cv); 2795 TESTINST3("rsb.w r1, r2, r3, lsr #15", 0, 0x80000000, r1, r2, r3, cv); 2796 TESTINST3("rsb.w r1, r2, r3, lsr #31", 0, 0x80000000, r1, r2, r3, cv); 2797 TESTINST3("rsb.w r1, r2, r3, asr #0 ", 0, 0x80000000, r1, r2, r3, cv); 2798 TESTINST3("rsb.w r1, r2, r3, asr #1 ", 0, 0x80000000, r1, r2, r3, cv); 2799 TESTINST3("rsb.w r1, r2, r3, asr #15", 0, 0x80000000, r1, r2, r3, cv); 2800 TESTINST3("rsb.w r1, r2, r3, asr #31", 0, 0x80000000, r1, r2, r3, cv); 2801 TESTINST3("rsbs.w r1, r2, r3, lsl #0 ", 0x80000000, 0, r1, r2, r3, cv); 2802 TESTINST3("rsbs.w r1, r2, r3, lsl #1 ", 0x80000000, 0, r1, r2, r3, cv); 2803 TESTINST3("rsbs.w r1, r2, r3, lsl #15", 0x80000000, 0, r1, r2, r3, cv); 2804 TESTINST3("rsbs.w r1, r2, r3, lsl #31", 0x80000000, 0, r1, r2, r3, cv); 2805 TESTINST3("rsbs.w r1, r2, r3, lsr #0 ", 0x80000000, 0, r1, r2, r3, cv); 2806 TESTINST3("rsbs.w r1, r2, r3, lsr #1 ", 0x80000000, 0, r1, r2, r3, cv); 2807 TESTINST3("rsbs.w r1, r2, r3, lsr #15", 0x80000000, 0, r1, r2, r3, cv); 2808 TESTINST3("rsbs.w r1, r2, r3, lsr #31", 0x80000000, 0, r1, r2, r3, cv); 2809 TESTINST3("rsbs.w r1, r2, r3, asr #0 ", 0x80000000, 0, r1, r2, r3, cv); 2810 TESTINST3("rsbs.w r1, r2, r3, asr #1 ", 0x80000000, 0, r1, r2, r3, cv); 2811 TESTINST3("rsbs.w r1, r2, r3, asr #15", 0x80000000, 0, r1, r2, r3, cv); 2812 TESTINST3("rsbs.w r1, r2, r3, asr #31", 0x80000000, 0, r1, r2, r3, cv); 2813 TESTINST3("rsb.w r1, r2, r3, lsl #0 ", 0x80000000, 0, r1, r2, r3, cv); 2814 TESTINST3("rsb.w r1, r2, r3, lsl #1 ", 0x80000000, 0, r1, r2, r3, cv); 2815 TESTINST3("rsb.w r1, r2, r3, lsl #15", 0x80000000, 0, r1, r2, r3, cv); 2816 TESTINST3("rsb.w r1, r2, r3, lsl #31", 0x80000000, 0, r1, r2, r3, cv); 2817 TESTINST3("rsb.w r1, r2, r3, lsr #0 ", 0x80000000, 0, r1, r2, r3, cv); 2818 TESTINST3("rsb.w r1, r2, r3, lsr #1 ", 0x80000000, 0, r1, r2, r3, cv); 2819 TESTINST3("rsb.w r1, r2, r3, lsr #15", 0x80000000, 0, r1, r2, r3, cv); 2820 TESTINST3("rsb.w r1, r2, r3, lsr #31", 0x80000000, 0, r1, r2, r3, cv); 2821 TESTINST3("rsb.w r1, r2, r3, asr #0 ", 0x80000000, 0, r1, r2, r3, cv); 2822 TESTINST3("rsb.w r1, r2, r3, asr #1 ", 0x80000000, 0, r1, r2, r3, cv); 2823 TESTINST3("rsb.w r1, r2, r3, asr #15", 0x80000000, 0, r1, r2, r3, cv); 2824 TESTINST3("rsb.w r1, r2, r3, asr #31", 0x80000000, 0, r1, r2, r3, cv); 2825 TESTINST3("rsbs.w r1, r2, r3, lsl #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 2826 TESTINST3("rsbs.w r1, r2, r3, lsl #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 2827 TESTINST3("rsbs.w r1, r2, r3, lsl #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 2828 TESTINST3("rsbs.w r1, r2, r3, lsl #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 2829 TESTINST3("rsbs.w r1, r2, r3, lsr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 2830 TESTINST3("rsbs.w r1, r2, r3, lsr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 2831 TESTINST3("rsbs.w r1, r2, r3, lsr #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 2832 TESTINST3("rsbs.w r1, r2, r3, lsr #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 2833 TESTINST3("rsbs.w r1, r2, r3, asr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 2834 TESTINST3("rsbs.w r1, r2, r3, asr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 2835 TESTINST3("rsbs.w r1, r2, r3, asr #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 2836 TESTINST3("rsbs.w r1, r2, r3, asr #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 2837 TESTINST3("rsb.w r1, r2, r3, lsl #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 2838 TESTINST3("rsb.w r1, r2, r3, lsl #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 2839 TESTINST3("rsb.w r1, r2, r3, lsl #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 2840 TESTINST3("rsb.w r1, r2, r3, lsl #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 2841 TESTINST3("rsb.w r1, r2, r3, lsr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 2842 TESTINST3("rsb.w r1, r2, r3, lsr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 2843 TESTINST3("rsb.w r1, r2, r3, lsr #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 2844 TESTINST3("rsb.w r1, r2, r3, lsr #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 2845 TESTINST3("rsb.w r1, r2, r3, asr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 2846 TESTINST3("rsb.w r1, r2, r3, asr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 2847 TESTINST3("rsb.w r1, r2, r3, asr #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 2848 TESTINST3("rsb.w r1, r2, r3, asr #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 2849 TESTINST3("rsbs.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2850 TESTINST3("rsbs.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2851 TESTINST3("rsbs.w r1, r2, r3, lsl #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2852 TESTINST3("rsbs.w r1, r2, r3, lsl #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2853 TESTINST3("rsbs.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2854 TESTINST3("rsbs.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2855 TESTINST3("rsbs.w r1, r2, r3, lsr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2856 TESTINST3("rsbs.w r1, r2, r3, lsr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2857 TESTINST3("rsbs.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2858 TESTINST3("rsbs.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2859 TESTINST3("rsbs.w r1, r2, r3, asr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2860 TESTINST3("rsbs.w r1, r2, r3, asr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2861 TESTINST3("rsb.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2862 TESTINST3("rsb.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2863 TESTINST3("rsb.w r1, r2, r3, lsl #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2864 TESTINST3("rsb.w r1, r2, r3, lsl #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2865 TESTINST3("rsb.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2866 TESTINST3("rsb.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2867 TESTINST3("rsb.w r1, r2, r3, lsr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2868 TESTINST3("rsb.w r1, r2, r3, lsr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2869 TESTINST3("rsb.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2870 TESTINST3("rsb.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2871 TESTINST3("rsb.w r1, r2, r3, asr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2872 TESTINST3("rsb.w r1, r2, r3, asr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2873 TESTINST3("rsbs.w r1, r2, r3, lsl #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2874 TESTINST3("rsbs.w r1, r2, r3, lsl #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2875 TESTINST3("rsbs.w r1, r2, r3, lsl #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2876 TESTINST3("rsbs.w r1, r2, r3, lsl #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2877 TESTINST3("rsbs.w r1, r2, r3, lsr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2878 TESTINST3("rsbs.w r1, r2, r3, lsr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2879 TESTINST3("rsbs.w r1, r2, r3, lsr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2880 TESTINST3("rsbs.w r1, r2, r3, lsr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2881 TESTINST3("rsbs.w r1, r2, r3, asr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2882 TESTINST3("rsbs.w r1, r2, r3, asr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2883 TESTINST3("rsbs.w r1, r2, r3, asr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2884 TESTINST3("rsbs.w r1, r2, r3, asr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2885 TESTINST3("rsb.w r1, r2, r3, lsl #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2886 TESTINST3("rsb.w r1, r2, r3, lsl #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2887 TESTINST3("rsb.w r1, r2, r3, lsl #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2888 TESTINST3("rsb.w r1, r2, r3, lsl #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2889 TESTINST3("rsb.w r1, r2, r3, lsr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2890 TESTINST3("rsb.w r1, r2, r3, lsr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2891 TESTINST3("rsb.w r1, r2, r3, lsr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2892 TESTINST3("rsb.w r1, r2, r3, lsr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2893 TESTINST3("rsb.w r1, r2, r3, asr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2894 TESTINST3("rsb.w r1, r2, r3, asr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2895 TESTINST3("rsb.w r1, r2, r3, asr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2896 TESTINST3("rsb.w r1, r2, r3, asr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2897 TESTINST3("rsbs.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2898 TESTINST3("rsbs.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2899 TESTINST3("rsbs.w r1, r2, r3, lsl #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2900 TESTINST3("rsbs.w r1, r2, r3, lsl #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2901 TESTINST3("rsbs.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2902 TESTINST3("rsbs.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2903 TESTINST3("rsbs.w r1, r2, r3, lsr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2904 TESTINST3("rsbs.w r1, r2, r3, lsr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2905 TESTINST3("rsbs.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2906 TESTINST3("rsbs.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2907 TESTINST3("rsbs.w r1, r2, r3, asr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2908 TESTINST3("rsbs.w r1, r2, r3, asr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2909 TESTINST3("rsb.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2910 TESTINST3("rsb.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2911 TESTINST3("rsb.w r1, r2, r3, lsl #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2912 TESTINST3("rsb.w r1, r2, r3, lsl #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2913 TESTINST3("rsb.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2914 TESTINST3("rsb.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2915 TESTINST3("rsb.w r1, r2, r3, lsr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2916 TESTINST3("rsb.w r1, r2, r3, lsr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2917 TESTINST3("rsb.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2918 TESTINST3("rsb.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2919 TESTINST3("rsb.w r1, r2, r3, asr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2920 TESTINST3("rsb.w r1, r2, r3, asr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2921 TESTCARRYEND 2922 2923 printf("ADC{S}.W Rd, Rn, Rm, {shift}\n"); 2924 TESTCARRY 2925 TESTINST3("adcs.w r1, r2, r3, lsl #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 2926 TESTINST3("adcs.w r1, r2, r3, lsl #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 2927 TESTINST3("adcs.w r1, r2, r3, lsl #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 2928 TESTINST3("adcs.w r1, r2, r3, lsl #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 2929 TESTINST3("adcs.w r1, r2, r3, lsr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 2930 TESTINST3("adcs.w r1, r2, r3, lsr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 2931 TESTINST3("adcs.w r1, r2, r3, lsr #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 2932 TESTINST3("adcs.w r1, r2, r3, lsr #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 2933 TESTINST3("adcs.w r1, r2, r3, asr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 2934 TESTINST3("adcs.w r1, r2, r3, asr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 2935 TESTINST3("adcs.w r1, r2, r3, asr #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 2936 TESTINST3("adcs.w r1, r2, r3, asr #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 2937 TESTINST3("adc.w r1, r2, r3, lsl #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 2938 TESTINST3("adc.w r1, r2, r3, lsl #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 2939 TESTINST3("adc.w r1, r2, r3, lsl #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 2940 TESTINST3("adc.w r1, r2, r3, lsl #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 2941 TESTINST3("adc.w r1, r2, r3, lsr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 2942 TESTINST3("adc.w r1, r2, r3, lsr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 2943 TESTINST3("adc.w r1, r2, r3, lsr #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 2944 TESTINST3("adc.w r1, r2, r3, lsr #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 2945 TESTINST3("adc.w r1, r2, r3, asr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 2946 TESTINST3("adc.w r1, r2, r3, asr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 2947 TESTINST3("adc.w r1, r2, r3, asr #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 2948 TESTINST3("adc.w r1, r2, r3, asr #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 2949 TESTINST3("adcs.w r1, r2, r3, lsl #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 2950 TESTINST3("adcs.w r1, r2, r3, lsl #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 2951 TESTINST3("adcs.w r1, r2, r3, lsl #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 2952 TESTINST3("adcs.w r1, r2, r3, lsl #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 2953 TESTINST3("adcs.w r1, r2, r3, lsr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 2954 TESTINST3("adcs.w r1, r2, r3, lsr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 2955 TESTINST3("adcs.w r1, r2, r3, lsr #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 2956 TESTINST3("adcs.w r1, r2, r3, lsr #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 2957 TESTINST3("adcs.w r1, r2, r3, asr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 2958 TESTINST3("adcs.w r1, r2, r3, asr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 2959 TESTINST3("adcs.w r1, r2, r3, asr #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 2960 TESTINST3("adcs.w r1, r2, r3, asr #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 2961 TESTINST3("adc.w r1, r2, r3, lsl #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 2962 TESTINST3("adc.w r1, r2, r3, lsl #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 2963 TESTINST3("adc.w r1, r2, r3, lsl #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 2964 TESTINST3("adc.w r1, r2, r3, lsl #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 2965 TESTINST3("adc.w r1, r2, r3, lsr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 2966 TESTINST3("adc.w r1, r2, r3, lsr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 2967 TESTINST3("adc.w r1, r2, r3, lsr #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 2968 TESTINST3("adc.w r1, r2, r3, lsr #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 2969 TESTINST3("adc.w r1, r2, r3, asr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 2970 TESTINST3("adc.w r1, r2, r3, asr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 2971 TESTINST3("adc.w r1, r2, r3, asr #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 2972 TESTINST3("adc.w r1, r2, r3, asr #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 2973 TESTINST3("adcs.w r1, r2, r3, lsl #0 ", 0, 0, r1, r2, r3, cv); 2974 TESTINST3("adcs.w r1, r2, r3, lsl #1 ", 0, 0, r1, r2, r3, cv); 2975 TESTINST3("adcs.w r1, r2, r3, lsl #15", 0, 0, r1, r2, r3, cv); 2976 TESTINST3("adcs.w r1, r2, r3, lsl #31", 0, 0, r1, r2, r3, cv); 2977 TESTINST3("adcs.w r1, r2, r3, lsr #0 ", 0, 0, r1, r2, r3, cv); 2978 TESTINST3("adcs.w r1, r2, r3, lsr #1 ", 0, 0, r1, r2, r3, cv); 2979 TESTINST3("adcs.w r1, r2, r3, lsr #15", 0, 0, r1, r2, r3, cv); 2980 TESTINST3("adcs.w r1, r2, r3, lsr #31", 0, 0, r1, r2, r3, cv); 2981 TESTINST3("adcs.w r1, r2, r3, asr #0 ", 0, 0, r1, r2, r3, cv); 2982 TESTINST3("adcs.w r1, r2, r3, asr #1 ", 0, 0, r1, r2, r3, cv); 2983 TESTINST3("adcs.w r1, r2, r3, asr #15", 0, 0, r1, r2, r3, cv); 2984 TESTINST3("adcs.w r1, r2, r3, asr #31", 0, 0, r1, r2, r3, cv); 2985 TESTINST3("adc.w r1, r2, r3, lsl #0 ", 0, 0, r1, r2, r3, cv); 2986 TESTINST3("adc.w r1, r2, r3, lsl #1 ", 0, 0, r1, r2, r3, cv); 2987 TESTINST3("adc.w r1, r2, r3, lsl #15", 0, 0, r1, r2, r3, cv); 2988 TESTINST3("adc.w r1, r2, r3, lsl #31", 0, 0, r1, r2, r3, cv); 2989 TESTINST3("adc.w r1, r2, r3, lsr #0 ", 0, 0, r1, r2, r3, cv); 2990 TESTINST3("adc.w r1, r2, r3, lsr #1 ", 0, 0, r1, r2, r3, cv); 2991 TESTINST3("adc.w r1, r2, r3, lsr #15", 0, 0, r1, r2, r3, cv); 2992 TESTINST3("adc.w r1, r2, r3, lsr #31", 0, 0, r1, r2, r3, cv); 2993 TESTINST3("adc.w r1, r2, r3, asr #0 ", 0, 0, r1, r2, r3, cv); 2994 TESTINST3("adc.w r1, r2, r3, asr #1 ", 0, 0, r1, r2, r3, cv); 2995 TESTINST3("adc.w r1, r2, r3, asr #15", 0, 0, r1, r2, r3, cv); 2996 TESTINST3("adc.w r1, r2, r3, asr #31", 0, 0, r1, r2, r3, cv); 2997 TESTINST3("adcs.w r1, r2, r3, lsl #0 ", 1, 0, r1, r2, r3, cv); 2998 TESTINST3("adcs.w r1, r2, r3, lsl #1 ", 1, 0, r1, r2, r3, cv); 2999 TESTINST3("adcs.w r1, r2, r3, lsl #15", 1, 0, r1, r2, r3, cv); 3000 TESTINST3("adcs.w r1, r2, r3, lsl #31", 1, 0, r1, r2, r3, cv); 3001 TESTINST3("adcs.w r1, r2, r3, lsr #0 ", 1, 0, r1, r2, r3, cv); 3002 TESTINST3("adcs.w r1, r2, r3, lsr #1 ", 1, 0, r1, r2, r3, cv); 3003 TESTINST3("adcs.w r1, r2, r3, lsr #15", 1, 0, r1, r2, r3, cv); 3004 TESTINST3("adcs.w r1, r2, r3, lsr #31", 1, 0, r1, r2, r3, cv); 3005 TESTINST3("adcs.w r1, r2, r3, asr #0 ", 1, 0, r1, r2, r3, cv); 3006 TESTINST3("adcs.w r1, r2, r3, asr #1 ", 1, 0, r1, r2, r3, cv); 3007 TESTINST3("adcs.w r1, r2, r3, asr #15", 1, 0, r1, r2, r3, cv); 3008 TESTINST3("adcs.w r1, r2, r3, asr #31", 1, 0, r1, r2, r3, cv); 3009 TESTINST3("adc.w r1, r2, r3, lsl #0 ", 1, 0, r1, r2, r3, cv); 3010 TESTINST3("adc.w r1, r2, r3, lsl #1 ", 1, 0, r1, r2, r3, cv); 3011 TESTINST3("adc.w r1, r2, r3, lsl #15", 1, 0, r1, r2, r3, cv); 3012 TESTINST3("adc.w r1, r2, r3, lsl #31", 1, 0, r1, r2, r3, cv); 3013 TESTINST3("adc.w r1, r2, r3, lsr #0 ", 1, 0, r1, r2, r3, cv); 3014 TESTINST3("adc.w r1, r2, r3, lsr #1 ", 1, 0, r1, r2, r3, cv); 3015 TESTINST3("adc.w r1, r2, r3, lsr #15", 1, 0, r1, r2, r3, cv); 3016 TESTINST3("adc.w r1, r2, r3, lsr #31", 1, 0, r1, r2, r3, cv); 3017 TESTINST3("adc.w r1, r2, r3, asr #0 ", 1, 0, r1, r2, r3, cv); 3018 TESTINST3("adc.w r1, r2, r3, asr #1 ", 1, 0, r1, r2, r3, cv); 3019 TESTINST3("adc.w r1, r2, r3, asr #15", 1, 0, r1, r2, r3, cv); 3020 TESTINST3("adc.w r1, r2, r3, asr #31", 1, 0, r1, r2, r3, cv); 3021 TESTINST3("adcs.w r1, r2, r3, lsl #0 ", 0, 1, r1, r2, r3, cv); 3022 TESTINST3("adcs.w r1, r2, r3, lsl #1 ", 0, 1, r1, r2, r3, cv); 3023 TESTINST3("adcs.w r1, r2, r3, lsl #15", 0, 1, r1, r2, r3, cv); 3024 TESTINST3("adcs.w r1, r2, r3, lsl #31", 0, 1, r1, r2, r3, cv); 3025 TESTINST3("adcs.w r1, r2, r3, lsr #0 ", 0, 1, r1, r2, r3, cv); 3026 TESTINST3("adcs.w r1, r2, r3, lsr #1 ", 0, 1, r1, r2, r3, cv); 3027 TESTINST3("adcs.w r1, r2, r3, lsr #15", 0, 1, r1, r2, r3, cv); 3028 TESTINST3("adcs.w r1, r2, r3, lsr #31", 0, 1, r1, r2, r3, cv); 3029 TESTINST3("adcs.w r1, r2, r3, asr #0 ", 0, 1, r1, r2, r3, cv); 3030 TESTINST3("adcs.w r1, r2, r3, asr #1 ", 0, 1, r1, r2, r3, cv); 3031 TESTINST3("adcs.w r1, r2, r3, asr #15", 0, 1, r1, r2, r3, cv); 3032 TESTINST3("adcs.w r1, r2, r3, asr #31", 0, 1, r1, r2, r3, cv); 3033 TESTINST3("adc.w r1, r2, r3, lsl #0 ", 0, 1, r1, r2, r3, cv); 3034 TESTINST3("adc.w r1, r2, r3, lsl #1 ", 0, 1, r1, r2, r3, cv); 3035 TESTINST3("adc.w r1, r2, r3, lsl #15", 0, 1, r1, r2, r3, cv); 3036 TESTINST3("adc.w r1, r2, r3, lsl #31", 0, 1, r1, r2, r3, cv); 3037 TESTINST3("adc.w r1, r2, r3, lsr #0 ", 0, 1, r1, r2, r3, cv); 3038 TESTINST3("adc.w r1, r2, r3, lsr #1 ", 0, 1, r1, r2, r3, cv); 3039 TESTINST3("adc.w r1, r2, r3, lsr #15", 0, 1, r1, r2, r3, cv); 3040 TESTINST3("adc.w r1, r2, r3, lsr #31", 0, 1, r1, r2, r3, cv); 3041 TESTINST3("adc.w r1, r2, r3, asr #0 ", 0, 1, r1, r2, r3, cv); 3042 TESTINST3("adc.w r1, r2, r3, asr #1 ", 0, 1, r1, r2, r3, cv); 3043 TESTINST3("adc.w r1, r2, r3, asr #15", 0, 1, r1, r2, r3, cv); 3044 TESTINST3("adc.w r1, r2, r3, asr #31", 0, 1, r1, r2, r3, cv); 3045 TESTINST3("adcs.w r1, r2, r3, lsl #0 ", -1, 0, r1, r2, r3, cv); 3046 TESTINST3("adcs.w r1, r2, r3, lsl #1 ", -1, 0, r1, r2, r3, cv); 3047 TESTINST3("adcs.w r1, r2, r3, lsl #15", -1, 0, r1, r2, r3, cv); 3048 TESTINST3("adcs.w r1, r2, r3, lsl #31", -1, 0, r1, r2, r3, cv); 3049 TESTINST3("adcs.w r1, r2, r3, lsr #0 ", -1, 0, r1, r2, r3, cv); 3050 TESTINST3("adcs.w r1, r2, r3, lsr #1 ", -1, 0, r1, r2, r3, cv); 3051 TESTINST3("adcs.w r1, r2, r3, lsr #15", -1, 0, r1, r2, r3, cv); 3052 TESTINST3("adcs.w r1, r2, r3, lsr #31", -1, 0, r1, r2, r3, cv); 3053 TESTINST3("adcs.w r1, r2, r3, asr #0 ", -1, 0, r1, r2, r3, cv); 3054 TESTINST3("adcs.w r1, r2, r3, asr #1 ", -1, 0, r1, r2, r3, cv); 3055 TESTINST3("adcs.w r1, r2, r3, asr #15", -1, 0, r1, r2, r3, cv); 3056 TESTINST3("adcs.w r1, r2, r3, asr #31", -1, 0, r1, r2, r3, cv); 3057 TESTINST3("adc.w r1, r2, r3, lsl #0 ", -1, 0, r1, r2, r3, cv); 3058 TESTINST3("adc.w r1, r2, r3, lsl #1 ", -1, 0, r1, r2, r3, cv); 3059 TESTINST3("adc.w r1, r2, r3, lsl #15", -1, 0, r1, r2, r3, cv); 3060 TESTINST3("adc.w r1, r2, r3, lsl #31", -1, 0, r1, r2, r3, cv); 3061 TESTINST3("adc.w r1, r2, r3, lsr #0 ", -1, 0, r1, r2, r3, cv); 3062 TESTINST3("adc.w r1, r2, r3, lsr #1 ", -1, 0, r1, r2, r3, cv); 3063 TESTINST3("adc.w r1, r2, r3, lsr #15", -1, 0, r1, r2, r3, cv); 3064 TESTINST3("adc.w r1, r2, r3, lsr #31", -1, 0, r1, r2, r3, cv); 3065 TESTINST3("adc.w r1, r2, r3, asr #0 ", -1, 0, r1, r2, r3, cv); 3066 TESTINST3("adc.w r1, r2, r3, asr #1 ", -1, 0, r1, r2, r3, cv); 3067 TESTINST3("adc.w r1, r2, r3, asr #15", -1, 0, r1, r2, r3, cv); 3068 TESTINST3("adc.w r1, r2, r3, asr #31", -1, 0, r1, r2, r3, cv); 3069 TESTINST3("adcs.w r1, r2, r3, lsl #0 ", 0, -1, r1, r2, r3, cv); 3070 TESTINST3("adcs.w r1, r2, r3, lsl #1 ", 0, -1, r1, r2, r3, cv); 3071 TESTINST3("adcs.w r1, r2, r3, lsl #15", 0, -1, r1, r2, r3, cv); 3072 TESTINST3("adcs.w r1, r2, r3, lsl #31", 0, -1, r1, r2, r3, cv); 3073 TESTINST3("adcs.w r1, r2, r3, lsr #0 ", 0, -1, r1, r2, r3, cv); 3074 TESTINST3("adcs.w r1, r2, r3, lsr #1 ", 0, -1, r1, r2, r3, cv); 3075 TESTINST3("adcs.w r1, r2, r3, lsr #15", 0, -1, r1, r2, r3, cv); 3076 TESTINST3("adcs.w r1, r2, r3, lsr #31", 0, -1, r1, r2, r3, cv); 3077 TESTINST3("adcs.w r1, r2, r3, asr #0 ", 0, -1, r1, r2, r3, cv); 3078 TESTINST3("adcs.w r1, r2, r3, asr #1 ", 0, -1, r1, r2, r3, cv); 3079 TESTINST3("adcs.w r1, r2, r3, asr #15", 0, -1, r1, r2, r3, cv); 3080 TESTINST3("adcs.w r1, r2, r3, asr #31", 0, -1, r1, r2, r3, cv); 3081 TESTINST3("adc.w r1, r2, r3, lsl #0 ", 0, -1, r1, r2, r3, cv); 3082 TESTINST3("adc.w r1, r2, r3, lsl #1 ", 0, -1, r1, r2, r3, cv); 3083 TESTINST3("adc.w r1, r2, r3, lsl #15", 0, -1, r1, r2, r3, cv); 3084 TESTINST3("adc.w r1, r2, r3, lsl #31", 0, -1, r1, r2, r3, cv); 3085 TESTINST3("adc.w r1, r2, r3, lsr #0 ", 0, -1, r1, r2, r3, cv); 3086 TESTINST3("adc.w r1, r2, r3, lsr #1 ", 0, -1, r1, r2, r3, cv); 3087 TESTINST3("adc.w r1, r2, r3, lsr #15", 0, -1, r1, r2, r3, cv); 3088 TESTINST3("adc.w r1, r2, r3, lsr #31", 0, -1, r1, r2, r3, cv); 3089 TESTINST3("adc.w r1, r2, r3, asr #0 ", 0, -1, r1, r2, r3, cv); 3090 TESTINST3("adc.w r1, r2, r3, asr #1 ", 0, -1, r1, r2, r3, cv); 3091 TESTINST3("adc.w r1, r2, r3, asr #15", 0, -1, r1, r2, r3, cv); 3092 TESTINST3("adc.w r1, r2, r3, asr #31", 0, -1, r1, r2, r3, cv); 3093 TESTINST3("adcs.w r1, r2, r3, lsl #0 ", 0, 0x80000000, r1, r2, r3, cv); 3094 TESTINST3("adcs.w r1, r2, r3, lsl #1 ", 0, 0x80000000, r1, r2, r3, cv); 3095 TESTINST3("adcs.w r1, r2, r3, lsl #15", 0, 0x80000000, r1, r2, r3, cv); 3096 TESTINST3("adcs.w r1, r2, r3, lsl #31", 0, 0x80000000, r1, r2, r3, cv); 3097 TESTINST3("adcs.w r1, r2, r3, lsr #0 ", 0, 0x80000000, r1, r2, r3, cv); 3098 TESTINST3("adcs.w r1, r2, r3, lsr #1 ", 0, 0x80000000, r1, r2, r3, cv); 3099 TESTINST3("adcs.w r1, r2, r3, lsr #15", 0, 0x80000000, r1, r2, r3, cv); 3100 TESTINST3("adcs.w r1, r2, r3, lsr #31", 0, 0x80000000, r1, r2, r3, cv); 3101 TESTINST3("adcs.w r1, r2, r3, asr #0 ", 0, 0x80000000, r1, r2, r3, cv); 3102 TESTINST3("adcs.w r1, r2, r3, asr #1 ", 0, 0x80000000, r1, r2, r3, cv); 3103 TESTINST3("adcs.w r1, r2, r3, asr #15", 0, 0x80000000, r1, r2, r3, cv); 3104 TESTINST3("adcs.w r1, r2, r3, asr #31", 0, 0x80000000, r1, r2, r3, cv); 3105 TESTINST3("adc.w r1, r2, r3, lsl #0 ", 0, 0x80000000, r1, r2, r3, cv); 3106 TESTINST3("adc.w r1, r2, r3, lsl #1 ", 0, 0x80000000, r1, r2, r3, cv); 3107 TESTINST3("adc.w r1, r2, r3, lsl #15", 0, 0x80000000, r1, r2, r3, cv); 3108 TESTINST3("adc.w r1, r2, r3, lsl #31", 0, 0x80000000, r1, r2, r3, cv); 3109 TESTINST3("adc.w r1, r2, r3, lsr #0 ", 0, 0x80000000, r1, r2, r3, cv); 3110 TESTINST3("adc.w r1, r2, r3, lsr #1 ", 0, 0x80000000, r1, r2, r3, cv); 3111 TESTINST3("adc.w r1, r2, r3, lsr #15", 0, 0x80000000, r1, r2, r3, cv); 3112 TESTINST3("adc.w r1, r2, r3, lsr #31", 0, 0x80000000, r1, r2, r3, cv); 3113 TESTINST3("adc.w r1, r2, r3, asr #0 ", 0, 0x80000000, r1, r2, r3, cv); 3114 TESTINST3("adc.w r1, r2, r3, asr #1 ", 0, 0x80000000, r1, r2, r3, cv); 3115 TESTINST3("adc.w r1, r2, r3, asr #15", 0, 0x80000000, r1, r2, r3, cv); 3116 TESTINST3("adc.w r1, r2, r3, asr #31", 0, 0x80000000, r1, r2, r3, cv); 3117 TESTINST3("adcs.w r1, r2, r3, lsl #0 ", 0x80000000, 0, r1, r2, r3, cv); 3118 TESTINST3("adcs.w r1, r2, r3, lsl #1 ", 0x80000000, 0, r1, r2, r3, cv); 3119 TESTINST3("adcs.w r1, r2, r3, lsl #15", 0x80000000, 0, r1, r2, r3, cv); 3120 TESTINST3("adcs.w r1, r2, r3, lsl #31", 0x80000000, 0, r1, r2, r3, cv); 3121 TESTINST3("adcs.w r1, r2, r3, lsr #0 ", 0x80000000, 0, r1, r2, r3, cv); 3122 TESTINST3("adcs.w r1, r2, r3, lsr #1 ", 0x80000000, 0, r1, r2, r3, cv); 3123 TESTINST3("adcs.w r1, r2, r3, lsr #15", 0x80000000, 0, r1, r2, r3, cv); 3124 TESTINST3("adcs.w r1, r2, r3, lsr #31", 0x80000000, 0, r1, r2, r3, cv); 3125 TESTINST3("adcs.w r1, r2, r3, asr #0 ", 0x80000000, 0, r1, r2, r3, cv); 3126 TESTINST3("adcs.w r1, r2, r3, asr #1 ", 0x80000000, 0, r1, r2, r3, cv); 3127 TESTINST3("adcs.w r1, r2, r3, asr #15", 0x80000000, 0, r1, r2, r3, cv); 3128 TESTINST3("adcs.w r1, r2, r3, asr #31", 0x80000000, 0, r1, r2, r3, cv); 3129 TESTINST3("adc.w r1, r2, r3, lsl #0 ", 0x80000000, 0, r1, r2, r3, cv); 3130 TESTINST3("adc.w r1, r2, r3, lsl #1 ", 0x80000000, 0, r1, r2, r3, cv); 3131 TESTINST3("adc.w r1, r2, r3, lsl #15", 0x80000000, 0, r1, r2, r3, cv); 3132 TESTINST3("adc.w r1, r2, r3, lsl #31", 0x80000000, 0, r1, r2, r3, cv); 3133 TESTINST3("adc.w r1, r2, r3, lsr #0 ", 0x80000000, 0, r1, r2, r3, cv); 3134 TESTINST3("adc.w r1, r2, r3, lsr #1 ", 0x80000000, 0, r1, r2, r3, cv); 3135 TESTINST3("adc.w r1, r2, r3, lsr #15", 0x80000000, 0, r1, r2, r3, cv); 3136 TESTINST3("adc.w r1, r2, r3, lsr #31", 0x80000000, 0, r1, r2, r3, cv); 3137 TESTINST3("adc.w r1, r2, r3, asr #0 ", 0x80000000, 0, r1, r2, r3, cv); 3138 TESTINST3("adc.w r1, r2, r3, asr #1 ", 0x80000000, 0, r1, r2, r3, cv); 3139 TESTINST3("adc.w r1, r2, r3, asr #15", 0x80000000, 0, r1, r2, r3, cv); 3140 TESTINST3("adc.w r1, r2, r3, asr #31", 0x80000000, 0, r1, r2, r3, cv); 3141 TESTINST3("adcs.w r1, r2, r3, lsl #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 3142 TESTINST3("adcs.w r1, r2, r3, lsl #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 3143 TESTINST3("adcs.w r1, r2, r3, lsl #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 3144 TESTINST3("adcs.w r1, r2, r3, lsl #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 3145 TESTINST3("adcs.w r1, r2, r3, lsr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 3146 TESTINST3("adcs.w r1, r2, r3, lsr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 3147 TESTINST3("adcs.w r1, r2, r3, lsr #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 3148 TESTINST3("adcs.w r1, r2, r3, lsr #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 3149 TESTINST3("adcs.w r1, r2, r3, asr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 3150 TESTINST3("adcs.w r1, r2, r3, asr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 3151 TESTINST3("adcs.w r1, r2, r3, asr #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 3152 TESTINST3("adcs.w r1, r2, r3, asr #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 3153 TESTINST3("adc.w r1, r2, r3, lsl #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 3154 TESTINST3("adc.w r1, r2, r3, lsl #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 3155 TESTINST3("adc.w r1, r2, r3, lsl #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 3156 TESTINST3("adc.w r1, r2, r3, lsl #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 3157 TESTINST3("adc.w r1, r2, r3, lsr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 3158 TESTINST3("adc.w r1, r2, r3, lsr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 3159 TESTINST3("adc.w r1, r2, r3, lsr #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 3160 TESTINST3("adc.w r1, r2, r3, lsr #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 3161 TESTINST3("adc.w r1, r2, r3, asr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 3162 TESTINST3("adc.w r1, r2, r3, asr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 3163 TESTINST3("adc.w r1, r2, r3, asr #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 3164 TESTINST3("adc.w r1, r2, r3, asr #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 3165 TESTINST3("adcs.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 3166 TESTINST3("adcs.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 3167 TESTINST3("adcs.w r1, r2, r3, lsl #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 3168 TESTINST3("adcs.w r1, r2, r3, lsl #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 3169 TESTINST3("adcs.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 3170 TESTINST3("adcs.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 3171 TESTINST3("adcs.w r1, r2, r3, lsr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 3172 TESTINST3("adcs.w r1, r2, r3, lsr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 3173 TESTINST3("adcs.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 3174 TESTINST3("adcs.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 3175 TESTINST3("adcs.w r1, r2, r3, asr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 3176 TESTINST3("adcs.w r1, r2, r3, asr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 3177 TESTINST3("adc.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 3178 TESTINST3("adc.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 3179 TESTINST3("adc.w r1, r2, r3, lsl #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 3180 TESTINST3("adc.w r1, r2, r3, lsl #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 3181 TESTINST3("adc.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 3182 TESTINST3("adc.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 3183 TESTINST3("adc.w r1, r2, r3, lsr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 3184 TESTINST3("adc.w r1, r2, r3, lsr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 3185 TESTINST3("adc.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 3186 TESTINST3("adc.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 3187 TESTINST3("adc.w r1, r2, r3, asr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 3188 TESTINST3("adc.w r1, r2, r3, asr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 3189 TESTINST3("adcs.w r1, r2, r3, lsl #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 3190 TESTINST3("adcs.w r1, r2, r3, lsl #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 3191 TESTINST3("adcs.w r1, r2, r3, lsl #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 3192 TESTINST3("adcs.w r1, r2, r3, lsl #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 3193 TESTINST3("adcs.w r1, r2, r3, lsr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 3194 TESTINST3("adcs.w r1, r2, r3, lsr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 3195 TESTINST3("adcs.w r1, r2, r3, lsr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 3196 TESTINST3("adcs.w r1, r2, r3, lsr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 3197 TESTINST3("adcs.w r1, r2, r3, asr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 3198 TESTINST3("adcs.w r1, r2, r3, asr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 3199 TESTINST3("adcs.w r1, r2, r3, asr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 3200 TESTINST3("adcs.w r1, r2, r3, asr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 3201 TESTINST3("adc.w r1, r2, r3, lsl #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 3202 TESTINST3("adc.w r1, r2, r3, lsl #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 3203 TESTINST3("adc.w r1, r2, r3, lsl #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 3204 TESTINST3("adc.w r1, r2, r3, lsl #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 3205 TESTINST3("adc.w r1, r2, r3, lsr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 3206 TESTINST3("adc.w r1, r2, r3, lsr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 3207 TESTINST3("adc.w r1, r2, r3, lsr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 3208 TESTINST3("adc.w r1, r2, r3, lsr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 3209 TESTINST3("adc.w r1, r2, r3, asr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 3210 TESTINST3("adc.w r1, r2, r3, asr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 3211 TESTINST3("adc.w r1, r2, r3, asr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 3212 TESTINST3("adc.w r1, r2, r3, asr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 3213 TESTINST3("adcs.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 3214 TESTINST3("adcs.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 3215 TESTINST3("adcs.w r1, r2, r3, lsl #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 3216 TESTINST3("adcs.w r1, r2, r3, lsl #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 3217 TESTINST3("adcs.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 3218 TESTINST3("adcs.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 3219 TESTINST3("adcs.w r1, r2, r3, lsr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 3220 TESTINST3("adcs.w r1, r2, r3, lsr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 3221 TESTINST3("adcs.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 3222 TESTINST3("adcs.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 3223 TESTINST3("adcs.w r1, r2, r3, asr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 3224 TESTINST3("adcs.w r1, r2, r3, asr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 3225 TESTINST3("adc.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 3226 TESTINST3("adc.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 3227 TESTINST3("adc.w r1, r2, r3, lsl #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 3228 TESTINST3("adc.w r1, r2, r3, lsl #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 3229 TESTINST3("adc.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 3230 TESTINST3("adc.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 3231 TESTINST3("adc.w r1, r2, r3, lsr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 3232 TESTINST3("adc.w r1, r2, r3, lsr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 3233 TESTINST3("adc.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 3234 TESTINST3("adc.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 3235 TESTINST3("adc.w r1, r2, r3, asr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 3236 TESTINST3("adc.w r1, r2, r3, asr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 3237 TESTCARRYEND 3238 3239 printf("SBC{S}.W Rd, Rn, Rm, {shift}\n"); 3240 TESTCARRY 3241 TESTINST3("sbcs.w r1, r2, r3, lsl #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 3242 TESTINST3("sbcs.w r1, r2, r3, lsl #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 3243 TESTINST3("sbcs.w r1, r2, r3, lsl #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 3244 TESTINST3("sbcs.w r1, r2, r3, lsl #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 3245 TESTINST3("sbcs.w r1, r2, r3, lsr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 3246 TESTINST3("sbcs.w r1, r2, r3, lsr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 3247 TESTINST3("sbcs.w r1, r2, r3, lsr #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 3248 TESTINST3("sbcs.w r1, r2, r3, lsr #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 3249 TESTINST3("sbcs.w r1, r2, r3, asr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 3250 TESTINST3("sbcs.w r1, r2, r3, asr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 3251 TESTINST3("sbcs.w r1, r2, r3, asr #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 3252 TESTINST3("sbcs.w r1, r2, r3, asr #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 3253 TESTINST3("sbc.w r1, r2, r3, lsl #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 3254 TESTINST3("sbc.w r1, r2, r3, lsl #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 3255 TESTINST3("sbc.w r1, r2, r3, lsl #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 3256 TESTINST3("sbc.w r1, r2, r3, lsl #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 3257 TESTINST3("sbc.w r1, r2, r3, lsr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 3258 TESTINST3("sbc.w r1, r2, r3, lsr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 3259 TESTINST3("sbc.w r1, r2, r3, lsr #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 3260 TESTINST3("sbc.w r1, r2, r3, lsr #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 3261 TESTINST3("sbc.w r1, r2, r3, asr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 3262 TESTINST3("sbc.w r1, r2, r3, asr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 3263 TESTINST3("sbc.w r1, r2, r3, asr #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 3264 TESTINST3("sbc.w r1, r2, r3, asr #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 3265 TESTINST3("sbcs.w r1, r2, r3, lsl #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 3266 TESTINST3("sbcs.w r1, r2, r3, lsl #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 3267 TESTINST3("sbcs.w r1, r2, r3, lsl #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 3268 TESTINST3("sbcs.w r1, r2, r3, lsl #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 3269 TESTINST3("sbcs.w r1, r2, r3, lsr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 3270 TESTINST3("sbcs.w r1, r2, r3, lsr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 3271 TESTINST3("sbcs.w r1, r2, r3, lsr #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 3272 TESTINST3("sbcs.w r1, r2, r3, lsr #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 3273 TESTINST3("sbcs.w r1, r2, r3, asr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 3274 TESTINST3("sbcs.w r1, r2, r3, asr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 3275 TESTINST3("sbcs.w r1, r2, r3, asr #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 3276 TESTINST3("sbcs.w r1, r2, r3, asr #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 3277 TESTINST3("sbc.w r1, r2, r3, lsl #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 3278 TESTINST3("sbc.w r1, r2, r3, lsl #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 3279 TESTINST3("sbc.w r1, r2, r3, lsl #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 3280 TESTINST3("sbc.w r1, r2, r3, lsl #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 3281 TESTINST3("sbc.w r1, r2, r3, lsr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 3282 TESTINST3("sbc.w r1, r2, r3, lsr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 3283 TESTINST3("sbc.w r1, r2, r3, lsr #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 3284 TESTINST3("sbc.w r1, r2, r3, lsr #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 3285 TESTINST3("sbc.w r1, r2, r3, asr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 3286 TESTINST3("sbc.w r1, r2, r3, asr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 3287 TESTINST3("sbc.w r1, r2, r3, asr #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 3288 TESTINST3("sbc.w r1, r2, r3, asr #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 3289 TESTINST3("sbcs.w r1, r2, r3, lsl #0 ", 0, 0, r1, r2, r3, cv); 3290 TESTINST3("sbcs.w r1, r2, r3, lsl #1 ", 0, 0, r1, r2, r3, cv); 3291 TESTINST3("sbcs.w r1, r2, r3, lsl #15", 0, 0, r1, r2, r3, cv); 3292 TESTINST3("sbcs.w r1, r2, r3, lsl #31", 0, 0, r1, r2, r3, cv); 3293 TESTINST3("sbcs.w r1, r2, r3, lsr #0 ", 0, 0, r1, r2, r3, cv); 3294 TESTINST3("sbcs.w r1, r2, r3, lsr #1 ", 0, 0, r1, r2, r3, cv); 3295 TESTINST3("sbcs.w r1, r2, r3, lsr #15", 0, 0, r1, r2, r3, cv); 3296 TESTINST3("sbcs.w r1, r2, r3, lsr #31", 0, 0, r1, r2, r3, cv); 3297 TESTINST3("sbcs.w r1, r2, r3, asr #0 ", 0, 0, r1, r2, r3, cv); 3298 TESTINST3("sbcs.w r1, r2, r3, asr #1 ", 0, 0, r1, r2, r3, cv); 3299 TESTINST3("sbcs.w r1, r2, r3, asr #15", 0, 0, r1, r2, r3, cv); 3300 TESTINST3("sbcs.w r1, r2, r3, asr #31", 0, 0, r1, r2, r3, cv); 3301 TESTINST3("sbc.w r1, r2, r3, lsl #0 ", 0, 0, r1, r2, r3, cv); 3302 TESTINST3("sbc.w r1, r2, r3, lsl #1 ", 0, 0, r1, r2, r3, cv); 3303 TESTINST3("sbc.w r1, r2, r3, lsl #15", 0, 0, r1, r2, r3, cv); 3304 TESTINST3("sbc.w r1, r2, r3, lsl #31", 0, 0, r1, r2, r3, cv); 3305 TESTINST3("sbc.w r1, r2, r3, lsr #0 ", 0, 0, r1, r2, r3, cv); 3306 TESTINST3("sbc.w r1, r2, r3, lsr #1 ", 0, 0, r1, r2, r3, cv); 3307 TESTINST3("sbc.w r1, r2, r3, lsr #15", 0, 0, r1, r2, r3, cv); 3308 TESTINST3("sbc.w r1, r2, r3, lsr #31", 0, 0, r1, r2, r3, cv); 3309 TESTINST3("sbc.w r1, r2, r3, asr #0 ", 0, 0, r1, r2, r3, cv); 3310 TESTINST3("sbc.w r1, r2, r3, asr #1 ", 0, 0, r1, r2, r3, cv); 3311 TESTINST3("sbc.w r1, r2, r3, asr #15", 0, 0, r1, r2, r3, cv); 3312 TESTINST3("sbc.w r1, r2, r3, asr #31", 0, 0, r1, r2, r3, cv); 3313 TESTINST3("sbcs.w r1, r2, r3, lsl #0 ", 1, 0, r1, r2, r3, cv); 3314 TESTINST3("sbcs.w r1, r2, r3, lsl #1 ", 1, 0, r1, r2, r3, cv); 3315 TESTINST3("sbcs.w r1, r2, r3, lsl #15", 1, 0, r1, r2, r3, cv); 3316 TESTINST3("sbcs.w r1, r2, r3, lsl #31", 1, 0, r1, r2, r3, cv); 3317 TESTINST3("sbcs.w r1, r2, r3, lsr #0 ", 1, 0, r1, r2, r3, cv); 3318 TESTINST3("sbcs.w r1, r2, r3, lsr #1 ", 1, 0, r1, r2, r3, cv); 3319 TESTINST3("sbcs.w r1, r2, r3, lsr #15", 1, 0, r1, r2, r3, cv); 3320 TESTINST3("sbcs.w r1, r2, r3, lsr #31", 1, 0, r1, r2, r3, cv); 3321 TESTINST3("sbcs.w r1, r2, r3, asr #0 ", 1, 0, r1, r2, r3, cv); 3322 TESTINST3("sbcs.w r1, r2, r3, asr #1 ", 1, 0, r1, r2, r3, cv); 3323 TESTINST3("sbcs.w r1, r2, r3, asr #15", 1, 0, r1, r2, r3, cv); 3324 TESTINST3("sbcs.w r1, r2, r3, asr #31", 1, 0, r1, r2, r3, cv); 3325 TESTINST3("sbc.w r1, r2, r3, lsl #0 ", 1, 0, r1, r2, r3, cv); 3326 TESTINST3("sbc.w r1, r2, r3, lsl #1 ", 1, 0, r1, r2, r3, cv); 3327 TESTINST3("sbc.w r1, r2, r3, lsl #15", 1, 0, r1, r2, r3, cv); 3328 TESTINST3("sbc.w r1, r2, r3, lsl #31", 1, 0, r1, r2, r3, cv); 3329 TESTINST3("sbc.w r1, r2, r3, lsr #0 ", 1, 0, r1, r2, r3, cv); 3330 TESTINST3("sbc.w r1, r2, r3, lsr #1 ", 1, 0, r1, r2, r3, cv); 3331 TESTINST3("sbc.w r1, r2, r3, lsr #15", 1, 0, r1, r2, r3, cv); 3332 TESTINST3("sbc.w r1, r2, r3, lsr #31", 1, 0, r1, r2, r3, cv); 3333 TESTINST3("sbc.w r1, r2, r3, asr #0 ", 1, 0, r1, r2, r3, cv); 3334 TESTINST3("sbc.w r1, r2, r3, asr #1 ", 1, 0, r1, r2, r3, cv); 3335 TESTINST3("sbc.w r1, r2, r3, asr #15", 1, 0, r1, r2, r3, cv); 3336 TESTINST3("sbc.w r1, r2, r3, asr #31", 1, 0, r1, r2, r3, cv); 3337 TESTINST3("sbcs.w r1, r2, r3, lsl #0 ", 0, 1, r1, r2, r3, cv); 3338 TESTINST3("sbcs.w r1, r2, r3, lsl #1 ", 0, 1, r1, r2, r3, cv); 3339 TESTINST3("sbcs.w r1, r2, r3, lsl #15", 0, 1, r1, r2, r3, cv); 3340 TESTINST3("sbcs.w r1, r2, r3, lsl #31", 0, 1, r1, r2, r3, cv); 3341 TESTINST3("sbcs.w r1, r2, r3, lsr #0 ", 0, 1, r1, r2, r3, cv); 3342 TESTINST3("sbcs.w r1, r2, r3, lsr #1 ", 0, 1, r1, r2, r3, cv); 3343 TESTINST3("sbcs.w r1, r2, r3, lsr #15", 0, 1, r1, r2, r3, cv); 3344 TESTINST3("sbcs.w r1, r2, r3, lsr #31", 0, 1, r1, r2, r3, cv); 3345 TESTINST3("sbcs.w r1, r2, r3, asr #0 ", 0, 1, r1, r2, r3, cv); 3346 TESTINST3("sbcs.w r1, r2, r3, asr #1 ", 0, 1, r1, r2, r3, cv); 3347 TESTINST3("sbcs.w r1, r2, r3, asr #15", 0, 1, r1, r2, r3, cv); 3348 TESTINST3("sbcs.w r1, r2, r3, asr #31", 0, 1, r1, r2, r3, cv); 3349 TESTINST3("sbc.w r1, r2, r3, lsl #0 ", 0, 1, r1, r2, r3, cv); 3350 TESTINST3("sbc.w r1, r2, r3, lsl #1 ", 0, 1, r1, r2, r3, cv); 3351 TESTINST3("sbc.w r1, r2, r3, lsl #15", 0, 1, r1, r2, r3, cv); 3352 TESTINST3("sbc.w r1, r2, r3, lsl #31", 0, 1, r1, r2, r3, cv); 3353 TESTINST3("sbc.w r1, r2, r3, lsr #0 ", 0, 1, r1, r2, r3, cv); 3354 TESTINST3("sbc.w r1, r2, r3, lsr #1 ", 0, 1, r1, r2, r3, cv); 3355 TESTINST3("sbc.w r1, r2, r3, lsr #15", 0, 1, r1, r2, r3, cv); 3356 TESTINST3("sbc.w r1, r2, r3, lsr #31", 0, 1, r1, r2, r3, cv); 3357 TESTINST3("sbc.w r1, r2, r3, asr #0 ", 0, 1, r1, r2, r3, cv); 3358 TESTINST3("sbc.w r1, r2, r3, asr #1 ", 0, 1, r1, r2, r3, cv); 3359 TESTINST3("sbc.w r1, r2, r3, asr #15", 0, 1, r1, r2, r3, cv); 3360 TESTINST3("sbc.w r1, r2, r3, asr #31", 0, 1, r1, r2, r3, cv); 3361 TESTINST3("sbcs.w r1, r2, r3, lsl #0 ", -1, 0, r1, r2, r3, cv); 3362 TESTINST3("sbcs.w r1, r2, r3, lsl #1 ", -1, 0, r1, r2, r3, cv); 3363 TESTINST3("sbcs.w r1, r2, r3, lsl #15", -1, 0, r1, r2, r3, cv); 3364 TESTINST3("sbcs.w r1, r2, r3, lsl #31", -1, 0, r1, r2, r3, cv); 3365 TESTINST3("sbcs.w r1, r2, r3, lsr #0 ", -1, 0, r1, r2, r3, cv); 3366 TESTINST3("sbcs.w r1, r2, r3, lsr #1 ", -1, 0, r1, r2, r3, cv); 3367 TESTINST3("sbcs.w r1, r2, r3, lsr #15", -1, 0, r1, r2, r3, cv); 3368 TESTINST3("sbcs.w r1, r2, r3, lsr #31", -1, 0, r1, r2, r3, cv); 3369 TESTINST3("sbcs.w r1, r2, r3, asr #0 ", -1, 0, r1, r2, r3, cv); 3370 TESTINST3("sbcs.w r1, r2, r3, asr #1 ", -1, 0, r1, r2, r3, cv); 3371 TESTINST3("sbcs.w r1, r2, r3, asr #15", -1, 0, r1, r2, r3, cv); 3372 TESTINST3("sbcs.w r1, r2, r3, asr #31", -1, 0, r1, r2, r3, cv); 3373 TESTINST3("sbc.w r1, r2, r3, lsl #0 ", -1, 0, r1, r2, r3, cv); 3374 TESTINST3("sbc.w r1, r2, r3, lsl #1 ", -1, 0, r1, r2, r3, cv); 3375 TESTINST3("sbc.w r1, r2, r3, lsl #15", -1, 0, r1, r2, r3, cv); 3376 TESTINST3("sbc.w r1, r2, r3, lsl #31", -1, 0, r1, r2, r3, cv); 3377 TESTINST3("sbc.w r1, r2, r3, lsr #0 ", -1, 0, r1, r2, r3, cv); 3378 TESTINST3("sbc.w r1, r2, r3, lsr #1 ", -1, 0, r1, r2, r3, cv); 3379 TESTINST3("sbc.w r1, r2, r3, lsr #15", -1, 0, r1, r2, r3, cv); 3380 TESTINST3("sbc.w r1, r2, r3, lsr #31", -1, 0, r1, r2, r3, cv); 3381 TESTINST3("sbc.w r1, r2, r3, asr #0 ", -1, 0, r1, r2, r3, cv); 3382 TESTINST3("sbc.w r1, r2, r3, asr #1 ", -1, 0, r1, r2, r3, cv); 3383 TESTINST3("sbc.w r1, r2, r3, asr #15", -1, 0, r1, r2, r3, cv); 3384 TESTINST3("sbc.w r1, r2, r3, asr #31", -1, 0, r1, r2, r3, cv); 3385 TESTINST3("sbcs.w r1, r2, r3, lsl #0 ", 0, -1, r1, r2, r3, cv); 3386 TESTINST3("sbcs.w r1, r2, r3, lsl #1 ", 0, -1, r1, r2, r3, cv); 3387 TESTINST3("sbcs.w r1, r2, r3, lsl #15", 0, -1, r1, r2, r3, cv); 3388 TESTINST3("sbcs.w r1, r2, r3, lsl #31", 0, -1, r1, r2, r3, cv); 3389 TESTINST3("sbcs.w r1, r2, r3, lsr #0 ", 0, -1, r1, r2, r3, cv); 3390 TESTINST3("sbcs.w r1, r2, r3, lsr #1 ", 0, -1, r1, r2, r3, cv); 3391 TESTINST3("sbcs.w r1, r2, r3, lsr #15", 0, -1, r1, r2, r3, cv); 3392 TESTINST3("sbcs.w r1, r2, r3, lsr #31", 0, -1, r1, r2, r3, cv); 3393 TESTINST3("sbcs.w r1, r2, r3, asr #0 ", 0, -1, r1, r2, r3, cv); 3394 TESTINST3("sbcs.w r1, r2, r3, asr #1 ", 0, -1, r1, r2, r3, cv); 3395 TESTINST3("sbcs.w r1, r2, r3, asr #15", 0, -1, r1, r2, r3, cv); 3396 TESTINST3("sbcs.w r1, r2, r3, asr #31", 0, -1, r1, r2, r3, cv); 3397 TESTINST3("sbc.w r1, r2, r3, lsl #0 ", 0, -1, r1, r2, r3, cv); 3398 TESTINST3("sbc.w r1, r2, r3, lsl #1 ", 0, -1, r1, r2, r3, cv); 3399 TESTINST3("sbc.w r1, r2, r3, lsl #15", 0, -1, r1, r2, r3, cv); 3400 TESTINST3("sbc.w r1, r2, r3, lsl #31", 0, -1, r1, r2, r3, cv); 3401 TESTINST3("sbc.w r1, r2, r3, lsr #0 ", 0, -1, r1, r2, r3, cv); 3402 TESTINST3("sbc.w r1, r2, r3, lsr #1 ", 0, -1, r1, r2, r3, cv); 3403 TESTINST3("sbc.w r1, r2, r3, lsr #15", 0, -1, r1, r2, r3, cv); 3404 TESTINST3("sbc.w r1, r2, r3, lsr #31", 0, -1, r1, r2, r3, cv); 3405 TESTINST3("sbc.w r1, r2, r3, asr #0 ", 0, -1, r1, r2, r3, cv); 3406 TESTINST3("sbc.w r1, r2, r3, asr #1 ", 0, -1, r1, r2, r3, cv); 3407 TESTINST3("sbc.w r1, r2, r3, asr #15", 0, -1, r1, r2, r3, cv); 3408 TESTINST3("sbc.w r1, r2, r3, asr #31", 0, -1, r1, r2, r3, cv); 3409 TESTINST3("sbcs.w r1, r2, r3, lsl #0 ", 0, 0x80000000, r1, r2, r3, cv); 3410 TESTINST3("sbcs.w r1, r2, r3, lsl #1 ", 0, 0x80000000, r1, r2, r3, cv); 3411 TESTINST3("sbcs.w r1, r2, r3, lsl #15", 0, 0x80000000, r1, r2, r3, cv); 3412 TESTINST3("sbcs.w r1, r2, r3, lsl #31", 0, 0x80000000, r1, r2, r3, cv); 3413 TESTINST3("sbcs.w r1, r2, r3, lsr #0 ", 0, 0x80000000, r1, r2, r3, cv); 3414 TESTINST3("sbcs.w r1, r2, r3, lsr #1 ", 0, 0x80000000, r1, r2, r3, cv); 3415 TESTINST3("sbcs.w r1, r2, r3, lsr #15", 0, 0x80000000, r1, r2, r3, cv); 3416 TESTINST3("sbcs.w r1, r2, r3, lsr #31", 0, 0x80000000, r1, r2, r3, cv); 3417 TESTINST3("sbcs.w r1, r2, r3, asr #0 ", 0, 0x80000000, r1, r2, r3, cv); 3418 TESTINST3("sbcs.w r1, r2, r3, asr #1 ", 0, 0x80000000, r1, r2, r3, cv); 3419 TESTINST3("sbcs.w r1, r2, r3, asr #15", 0, 0x80000000, r1, r2, r3, cv); 3420 TESTINST3("sbcs.w r1, r2, r3, asr #31", 0, 0x80000000, r1, r2, r3, cv); 3421 TESTINST3("sbc.w r1, r2, r3, lsl #0 ", 0, 0x80000000, r1, r2, r3, cv); 3422 TESTINST3("sbc.w r1, r2, r3, lsl #1 ", 0, 0x80000000, r1, r2, r3, cv); 3423 TESTINST3("sbc.w r1, r2, r3, lsl #15", 0, 0x80000000, r1, r2, r3, cv); 3424 TESTINST3("sbc.w r1, r2, r3, lsl #31", 0, 0x80000000, r1, r2, r3, cv); 3425 TESTINST3("sbc.w r1, r2, r3, lsr #0 ", 0, 0x80000000, r1, r2, r3, cv); 3426 TESTINST3("sbc.w r1, r2, r3, lsr #1 ", 0, 0x80000000, r1, r2, r3, cv); 3427 TESTINST3("sbc.w r1, r2, r3, lsr #15", 0, 0x80000000, r1, r2, r3, cv); 3428 TESTINST3("sbc.w r1, r2, r3, lsr #31", 0, 0x80000000, r1, r2, r3, cv); 3429 TESTINST3("sbc.w r1, r2, r3, asr #0 ", 0, 0x80000000, r1, r2, r3, cv); 3430 TESTINST3("sbc.w r1, r2, r3, asr #1 ", 0, 0x80000000, r1, r2, r3, cv); 3431 TESTINST3("sbc.w r1, r2, r3, asr #15", 0, 0x80000000, r1, r2, r3, cv); 3432 TESTINST3("sbc.w r1, r2, r3, asr #31", 0, 0x80000000, r1, r2, r3, cv); 3433 TESTINST3("sbcs.w r1, r2, r3, lsl #0 ", 0x80000000, 0, r1, r2, r3, cv); 3434 TESTINST3("sbcs.w r1, r2, r3, lsl #1 ", 0x80000000, 0, r1, r2, r3, cv); 3435 TESTINST3("sbcs.w r1, r2, r3, lsl #15", 0x80000000, 0, r1, r2, r3, cv); 3436 TESTINST3("sbcs.w r1, r2, r3, lsl #31", 0x80000000, 0, r1, r2, r3, cv); 3437 TESTINST3("sbcs.w r1, r2, r3, lsr #0 ", 0x80000000, 0, r1, r2, r3, cv); 3438 TESTINST3("sbcs.w r1, r2, r3, lsr #1 ", 0x80000000, 0, r1, r2, r3, cv); 3439 TESTINST3("sbcs.w r1, r2, r3, lsr #15", 0x80000000, 0, r1, r2, r3, cv); 3440 TESTINST3("sbcs.w r1, r2, r3, lsr #31", 0x80000000, 0, r1, r2, r3, cv); 3441 TESTINST3("sbcs.w r1, r2, r3, asr #0 ", 0x80000000, 0, r1, r2, r3, cv); 3442 TESTINST3("sbcs.w r1, r2, r3, asr #1 ", 0x80000000, 0, r1, r2, r3, cv); 3443 TESTINST3("sbcs.w r1, r2, r3, asr #15", 0x80000000, 0, r1, r2, r3, cv); 3444 TESTINST3("sbcs.w r1, r2, r3, asr #31", 0x80000000, 0, r1, r2, r3, cv); 3445 TESTINST3("sbc.w r1, r2, r3, lsl #0 ", 0x80000000, 0, r1, r2, r3, cv); 3446 TESTINST3("sbc.w r1, r2, r3, lsl #1 ", 0x80000000, 0, r1, r2, r3, cv); 3447 TESTINST3("sbc.w r1, r2, r3, lsl #15", 0x80000000, 0, r1, r2, r3, cv); 3448 TESTINST3("sbc.w r1, r2, r3, lsl #31", 0x80000000, 0, r1, r2, r3, cv); 3449 TESTINST3("sbc.w r1, r2, r3, lsr #0 ", 0x80000000, 0, r1, r2, r3, cv); 3450 TESTINST3("sbc.w r1, r2, r3, lsr #1 ", 0x80000000, 0, r1, r2, r3, cv); 3451 TESTINST3("sbc.w r1, r2, r3, lsr #15", 0x80000000, 0, r1, r2, r3, cv); 3452 TESTINST3("sbc.w r1, r2, r3, lsr #31", 0x80000000, 0, r1, r2, r3, cv); 3453 TESTINST3("sbc.w r1, r2, r3, asr #0 ", 0x80000000, 0, r1, r2, r3, cv); 3454 TESTINST3("sbc.w r1, r2, r3, asr #1 ", 0x80000000, 0, r1, r2, r3, cv); 3455 TESTINST3("sbc.w r1, r2, r3, asr #15", 0x80000000, 0, r1, r2, r3, cv); 3456 TESTINST3("sbc.w r1, r2, r3, asr #31", 0x80000000, 0, r1, r2, r3, cv); 3457 TESTINST3("sbcs.w r1, r2, r3, lsl #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 3458 TESTINST3("sbcs.w r1, r2, r3, lsl #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 3459 TESTINST3("sbcs.w r1, r2, r3, lsl #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 3460 TESTINST3("sbcs.w r1, r2, r3, lsl #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 3461 TESTINST3("sbcs.w r1, r2, r3, lsr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 3462 TESTINST3("sbcs.w r1, r2, r3, lsr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 3463 TESTINST3("sbcs.w r1, r2, r3, lsr #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 3464 TESTINST3("sbcs.w r1, r2, r3, lsr #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 3465 TESTINST3("sbcs.w r1, r2, r3, asr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 3466 TESTINST3("sbcs.w r1, r2, r3, asr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 3467 TESTINST3("sbcs.w r1, r2, r3, asr #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 3468 TESTINST3("sbcs.w r1, r2, r3, asr #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 3469 TESTINST3("sbc.w r1, r2, r3, lsl #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 3470 TESTINST3("sbc.w r1, r2, r3, lsl #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 3471 TESTINST3("sbc.w r1, r2, r3, lsl #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 3472 TESTINST3("sbc.w r1, r2, r3, lsl #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 3473 TESTINST3("sbc.w r1, r2, r3, lsr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 3474 TESTINST3("sbc.w r1, r2, r3, lsr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 3475 TESTINST3("sbc.w r1, r2, r3, lsr #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 3476 TESTINST3("sbc.w r1, r2, r3, lsr #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 3477 TESTINST3("sbc.w r1, r2, r3, asr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 3478 TESTINST3("sbc.w r1, r2, r3, asr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 3479 TESTINST3("sbc.w r1, r2, r3, asr #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 3480 TESTINST3("sbc.w r1, r2, r3, asr #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 3481 TESTINST3("sbcs.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 3482 TESTINST3("sbcs.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 3483 TESTINST3("sbcs.w r1, r2, r3, lsl #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 3484 TESTINST3("sbcs.w r1, r2, r3, lsl #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 3485 TESTINST3("sbcs.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 3486 TESTINST3("sbcs.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 3487 TESTINST3("sbcs.w r1, r2, r3, lsr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 3488 TESTINST3("sbcs.w r1, r2, r3, lsr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 3489 TESTINST3("sbcs.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 3490 TESTINST3("sbcs.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 3491 TESTINST3("sbcs.w r1, r2, r3, asr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 3492 TESTINST3("sbcs.w r1, r2, r3, asr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 3493 TESTINST3("sbc.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 3494 TESTINST3("sbc.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 3495 TESTINST3("sbc.w r1, r2, r3, lsl #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 3496 TESTINST3("sbc.w r1, r2, r3, lsl #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 3497 TESTINST3("sbc.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 3498 TESTINST3("sbc.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 3499 TESTINST3("sbc.w r1, r2, r3, lsr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 3500 TESTINST3("sbc.w r1, r2, r3, lsr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 3501 TESTINST3("sbc.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 3502 TESTINST3("sbc.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 3503 TESTINST3("sbc.w r1, r2, r3, asr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 3504 TESTINST3("sbc.w r1, r2, r3, asr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 3505 TESTINST3("sbcs.w r1, r2, r3, lsl #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 3506 TESTINST3("sbcs.w r1, r2, r3, lsl #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 3507 TESTINST3("sbcs.w r1, r2, r3, lsl #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 3508 TESTINST3("sbcs.w r1, r2, r3, lsl #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 3509 TESTINST3("sbcs.w r1, r2, r3, lsr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 3510 TESTINST3("sbcs.w r1, r2, r3, lsr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 3511 TESTINST3("sbcs.w r1, r2, r3, lsr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 3512 TESTINST3("sbcs.w r1, r2, r3, lsr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 3513 TESTINST3("sbcs.w r1, r2, r3, asr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 3514 TESTINST3("sbcs.w r1, r2, r3, asr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 3515 TESTINST3("sbcs.w r1, r2, r3, asr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 3516 TESTINST3("sbcs.w r1, r2, r3, asr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 3517 TESTINST3("sbc.w r1, r2, r3, lsl #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 3518 TESTINST3("sbc.w r1, r2, r3, lsl #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 3519 TESTINST3("sbc.w r1, r2, r3, lsl #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 3520 TESTINST3("sbc.w r1, r2, r3, lsl #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 3521 TESTINST3("sbc.w r1, r2, r3, lsr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 3522 TESTINST3("sbc.w r1, r2, r3, lsr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 3523 TESTINST3("sbc.w r1, r2, r3, lsr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 3524 TESTINST3("sbc.w r1, r2, r3, lsr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 3525 TESTINST3("sbc.w r1, r2, r3, asr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 3526 TESTINST3("sbc.w r1, r2, r3, asr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 3527 TESTINST3("sbc.w r1, r2, r3, asr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 3528 TESTINST3("sbc.w r1, r2, r3, asr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 3529 TESTINST3("sbcs.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 3530 TESTINST3("sbcs.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 3531 TESTINST3("sbcs.w r1, r2, r3, lsl #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 3532 TESTINST3("sbcs.w r1, r2, r3, lsl #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 3533 TESTINST3("sbcs.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 3534 TESTINST3("sbcs.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 3535 TESTINST3("sbcs.w r1, r2, r3, lsr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 3536 TESTINST3("sbcs.w r1, r2, r3, lsr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 3537 TESTINST3("sbcs.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 3538 TESTINST3("sbcs.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 3539 TESTINST3("sbcs.w r1, r2, r3, asr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 3540 TESTINST3("sbcs.w r1, r2, r3, asr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 3541 TESTINST3("sbc.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 3542 TESTINST3("sbc.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 3543 TESTINST3("sbc.w r1, r2, r3, lsl #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 3544 TESTINST3("sbc.w r1, r2, r3, lsl #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 3545 TESTINST3("sbc.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 3546 TESTINST3("sbc.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 3547 TESTINST3("sbc.w r1, r2, r3, lsr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 3548 TESTINST3("sbc.w r1, r2, r3, lsr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 3549 TESTINST3("sbc.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 3550 TESTINST3("sbc.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 3551 TESTINST3("sbc.w r1, r2, r3, asr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 3552 TESTINST3("sbc.w r1, r2, r3, asr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 3553 TESTCARRYEND 3554 3555 #if 0 3556 printf("XXX{S}.W Rd, Rn, Rm, {shift}\n"); 3557 TESTCARRY 3558 TESTINST3("xxxs.w r1, r2, r3, lsl #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 3559 TESTINST3("xxxs.w r1, r2, r3, lsl #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 3560 TESTINST3("xxxs.w r1, r2, r3, lsl #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 3561 TESTINST3("xxxs.w r1, r2, r3, lsl #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 3562 TESTINST3("xxxs.w r1, r2, r3, lsr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 3563 TESTINST3("xxxs.w r1, r2, r3, lsr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 3564 TESTINST3("xxxs.w r1, r2, r3, lsr #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 3565 TESTINST3("xxxs.w r1, r2, r3, lsr #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 3566 TESTINST3("xxxs.w r1, r2, r3, asr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 3567 TESTINST3("xxxs.w r1, r2, r3, asr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 3568 TESTINST3("xxxs.w r1, r2, r3, asr #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 3569 TESTINST3("xxxs.w r1, r2, r3, asr #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 3570 TESTINST3("xxx.w r1, r2, r3, lsl #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 3571 TESTINST3("xxx.w r1, r2, r3, lsl #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 3572 TESTINST3("xxx.w r1, r2, r3, lsl #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 3573 TESTINST3("xxx.w r1, r2, r3, lsl #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 3574 TESTINST3("xxx.w r1, r2, r3, lsr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 3575 TESTINST3("xxx.w r1, r2, r3, lsr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 3576 TESTINST3("xxx.w r1, r2, r3, lsr #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 3577 TESTINST3("xxx.w r1, r2, r3, lsr #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 3578 TESTINST3("xxx.w r1, r2, r3, asr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 3579 TESTINST3("xxx.w r1, r2, r3, asr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 3580 TESTINST3("xxx.w r1, r2, r3, asr #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 3581 TESTINST3("xxx.w r1, r2, r3, asr #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 3582 TESTINST3("xxxs.w r1, r2, r3, lsl #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 3583 TESTINST3("xxxs.w r1, r2, r3, lsl #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 3584 TESTINST3("xxxs.w r1, r2, r3, lsl #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 3585 TESTINST3("xxxs.w r1, r2, r3, lsl #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 3586 TESTINST3("xxxs.w r1, r2, r3, lsr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 3587 TESTINST3("xxxs.w r1, r2, r3, lsr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 3588 TESTINST3("xxxs.w r1, r2, r3, lsr #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 3589 TESTINST3("xxxs.w r1, r2, r3, lsr #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 3590 TESTINST3("xxxs.w r1, r2, r3, asr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 3591 TESTINST3("xxxs.w r1, r2, r3, asr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 3592 TESTINST3("xxxs.w r1, r2, r3, asr #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 3593 TESTINST3("xxxs.w r1, r2, r3, asr #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 3594 TESTINST3("xxx.w r1, r2, r3, lsl #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 3595 TESTINST3("xxx.w r1, r2, r3, lsl #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 3596 TESTINST3("xxx.w r1, r2, r3, lsl #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 3597 TESTINST3("xxx.w r1, r2, r3, lsl #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 3598 TESTINST3("xxx.w r1, r2, r3, lsr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 3599 TESTINST3("xxx.w r1, r2, r3, lsr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 3600 TESTINST3("xxx.w r1, r2, r3, lsr #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 3601 TESTINST3("xxx.w r1, r2, r3, lsr #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 3602 TESTINST3("xxx.w r1, r2, r3, asr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 3603 TESTINST3("xxx.w r1, r2, r3, asr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 3604 TESTINST3("xxx.w r1, r2, r3, asr #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 3605 TESTINST3("xxx.w r1, r2, r3, asr #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 3606 TESTINST3("xxxs.w r1, r2, r3, lsl #0 ", 0, 0, r1, r2, r3, cv); 3607 TESTINST3("xxxs.w r1, r2, r3, lsl #1 ", 0, 0, r1, r2, r3, cv); 3608 TESTINST3("xxxs.w r1, r2, r3, lsl #15", 0, 0, r1, r2, r3, cv); 3609 TESTINST3("xxxs.w r1, r2, r3, lsl #31", 0, 0, r1, r2, r3, cv); 3610 TESTINST3("xxxs.w r1, r2, r3, lsr #0 ", 0, 0, r1, r2, r3, cv); 3611 TESTINST3("xxxs.w r1, r2, r3, lsr #1 ", 0, 0, r1, r2, r3, cv); 3612 TESTINST3("xxxs.w r1, r2, r3, lsr #15", 0, 0, r1, r2, r3, cv); 3613 TESTINST3("xxxs.w r1, r2, r3, lsr #31", 0, 0, r1, r2, r3, cv); 3614 TESTINST3("xxxs.w r1, r2, r3, asr #0 ", 0, 0, r1, r2, r3, cv); 3615 TESTINST3("xxxs.w r1, r2, r3, asr #1 ", 0, 0, r1, r2, r3, cv); 3616 TESTINST3("xxxs.w r1, r2, r3, asr #15", 0, 0, r1, r2, r3, cv); 3617 TESTINST3("xxxs.w r1, r2, r3, asr #31", 0, 0, r1, r2, r3, cv); 3618 TESTINST3("xxx.w r1, r2, r3, lsl #0 ", 0, 0, r1, r2, r3, cv); 3619 TESTINST3("xxx.w r1, r2, r3, lsl #1 ", 0, 0, r1, r2, r3, cv); 3620 TESTINST3("xxx.w r1, r2, r3, lsl #15", 0, 0, r1, r2, r3, cv); 3621 TESTINST3("xxx.w r1, r2, r3, lsl #31", 0, 0, r1, r2, r3, cv); 3622 TESTINST3("xxx.w r1, r2, r3, lsr #0 ", 0, 0, r1, r2, r3, cv); 3623 TESTINST3("xxx.w r1, r2, r3, lsr #1 ", 0, 0, r1, r2, r3, cv); 3624 TESTINST3("xxx.w r1, r2, r3, lsr #15", 0, 0, r1, r2, r3, cv); 3625 TESTINST3("xxx.w r1, r2, r3, lsr #31", 0, 0, r1, r2, r3, cv); 3626 TESTINST3("xxx.w r1, r2, r3, asr #0 ", 0, 0, r1, r2, r3, cv); 3627 TESTINST3("xxx.w r1, r2, r3, asr #1 ", 0, 0, r1, r2, r3, cv); 3628 TESTINST3("xxx.w r1, r2, r3, asr #15", 0, 0, r1, r2, r3, cv); 3629 TESTINST3("xxx.w r1, r2, r3, asr #31", 0, 0, r1, r2, r3, cv); 3630 TESTINST3("xxxs.w r1, r2, r3, lsl #0 ", 1, 0, r1, r2, r3, cv); 3631 TESTINST3("xxxs.w r1, r2, r3, lsl #1 ", 1, 0, r1, r2, r3, cv); 3632 TESTINST3("xxxs.w r1, r2, r3, lsl #15", 1, 0, r1, r2, r3, cv); 3633 TESTINST3("xxxs.w r1, r2, r3, lsl #31", 1, 0, r1, r2, r3, cv); 3634 TESTINST3("xxxs.w r1, r2, r3, lsr #0 ", 1, 0, r1, r2, r3, cv); 3635 TESTINST3("xxxs.w r1, r2, r3, lsr #1 ", 1, 0, r1, r2, r3, cv); 3636 TESTINST3("xxxs.w r1, r2, r3, lsr #15", 1, 0, r1, r2, r3, cv); 3637 TESTINST3("xxxs.w r1, r2, r3, lsr #31", 1, 0, r1, r2, r3, cv); 3638 TESTINST3("xxxs.w r1, r2, r3, asr #0 ", 1, 0, r1, r2, r3, cv); 3639 TESTINST3("xxxs.w r1, r2, r3, asr #1 ", 1, 0, r1, r2, r3, cv); 3640 TESTINST3("xxxs.w r1, r2, r3, asr #15", 1, 0, r1, r2, r3, cv); 3641 TESTINST3("xxxs.w r1, r2, r3, asr #31", 1, 0, r1, r2, r3, cv); 3642 TESTINST3("xxx.w r1, r2, r3, lsl #0 ", 1, 0, r1, r2, r3, cv); 3643 TESTINST3("xxx.w r1, r2, r3, lsl #1 ", 1, 0, r1, r2, r3, cv); 3644 TESTINST3("xxx.w r1, r2, r3, lsl #15", 1, 0, r1, r2, r3, cv); 3645 TESTINST3("xxx.w r1, r2, r3, lsl #31", 1, 0, r1, r2, r3, cv); 3646 TESTINST3("xxx.w r1, r2, r3, lsr #0 ", 1, 0, r1, r2, r3, cv); 3647 TESTINST3("xxx.w r1, r2, r3, lsr #1 ", 1, 0, r1, r2, r3, cv); 3648 TESTINST3("xxx.w r1, r2, r3, lsr #15", 1, 0, r1, r2, r3, cv); 3649 TESTINST3("xxx.w r1, r2, r3, lsr #31", 1, 0, r1, r2, r3, cv); 3650 TESTINST3("xxx.w r1, r2, r3, asr #0 ", 1, 0, r1, r2, r3, cv); 3651 TESTINST3("xxx.w r1, r2, r3, asr #1 ", 1, 0, r1, r2, r3, cv); 3652 TESTINST3("xxx.w r1, r2, r3, asr #15", 1, 0, r1, r2, r3, cv); 3653 TESTINST3("xxx.w r1, r2, r3, asr #31", 1, 0, r1, r2, r3, cv); 3654 TESTINST3("xxxs.w r1, r2, r3, lsl #0 ", 0, 1, r1, r2, r3, cv); 3655 TESTINST3("xxxs.w r1, r2, r3, lsl #1 ", 0, 1, r1, r2, r3, cv); 3656 TESTINST3("xxxs.w r1, r2, r3, lsl #15", 0, 1, r1, r2, r3, cv); 3657 TESTINST3("xxxs.w r1, r2, r3, lsl #31", 0, 1, r1, r2, r3, cv); 3658 TESTINST3("xxxs.w r1, r2, r3, lsr #0 ", 0, 1, r1, r2, r3, cv); 3659 TESTINST3("xxxs.w r1, r2, r3, lsr #1 ", 0, 1, r1, r2, r3, cv); 3660 TESTINST3("xxxs.w r1, r2, r3, lsr #15", 0, 1, r1, r2, r3, cv); 3661 TESTINST3("xxxs.w r1, r2, r3, lsr #31", 0, 1, r1, r2, r3, cv); 3662 TESTINST3("xxxs.w r1, r2, r3, asr #0 ", 0, 1, r1, r2, r3, cv); 3663 TESTINST3("xxxs.w r1, r2, r3, asr #1 ", 0, 1, r1, r2, r3, cv); 3664 TESTINST3("xxxs.w r1, r2, r3, asr #15", 0, 1, r1, r2, r3, cv); 3665 TESTINST3("xxxs.w r1, r2, r3, asr #31", 0, 1, r1, r2, r3, cv); 3666 TESTINST3("xxx.w r1, r2, r3, lsl #0 ", 0, 1, r1, r2, r3, cv); 3667 TESTINST3("xxx.w r1, r2, r3, lsl #1 ", 0, 1, r1, r2, r3, cv); 3668 TESTINST3("xxx.w r1, r2, r3, lsl #15", 0, 1, r1, r2, r3, cv); 3669 TESTINST3("xxx.w r1, r2, r3, lsl #31", 0, 1, r1, r2, r3, cv); 3670 TESTINST3("xxx.w r1, r2, r3, lsr #0 ", 0, 1, r1, r2, r3, cv); 3671 TESTINST3("xxx.w r1, r2, r3, lsr #1 ", 0, 1, r1, r2, r3, cv); 3672 TESTINST3("xxx.w r1, r2, r3, lsr #15", 0, 1, r1, r2, r3, cv); 3673 TESTINST3("xxx.w r1, r2, r3, lsr #31", 0, 1, r1, r2, r3, cv); 3674 TESTINST3("xxx.w r1, r2, r3, asr #0 ", 0, 1, r1, r2, r3, cv); 3675 TESTINST3("xxx.w r1, r2, r3, asr #1 ", 0, 1, r1, r2, r3, cv); 3676 TESTINST3("xxx.w r1, r2, r3, asr #15", 0, 1, r1, r2, r3, cv); 3677 TESTINST3("xxx.w r1, r2, r3, asr #31", 0, 1, r1, r2, r3, cv); 3678 TESTINST3("xxxs.w r1, r2, r3, lsl #0 ", -1, 0, r1, r2, r3, cv); 3679 TESTINST3("xxxs.w r1, r2, r3, lsl #1 ", -1, 0, r1, r2, r3, cv); 3680 TESTINST3("xxxs.w r1, r2, r3, lsl #15", -1, 0, r1, r2, r3, cv); 3681 TESTINST3("xxxs.w r1, r2, r3, lsl #31", -1, 0, r1, r2, r3, cv); 3682 TESTINST3("xxxs.w r1, r2, r3, lsr #0 ", -1, 0, r1, r2, r3, cv); 3683 TESTINST3("xxxs.w r1, r2, r3, lsr #1 ", -1, 0, r1, r2, r3, cv); 3684 TESTINST3("xxxs.w r1, r2, r3, lsr #15", -1, 0, r1, r2, r3, cv); 3685 TESTINST3("xxxs.w r1, r2, r3, lsr #31", -1, 0, r1, r2, r3, cv); 3686 TESTINST3("xxxs.w r1, r2, r3, asr #0 ", -1, 0, r1, r2, r3, cv); 3687 TESTINST3("xxxs.w r1, r2, r3, asr #1 ", -1, 0, r1, r2, r3, cv); 3688 TESTINST3("xxxs.w r1, r2, r3, asr #15", -1, 0, r1, r2, r3, cv); 3689 TESTINST3("xxxs.w r1, r2, r3, asr #31", -1, 0, r1, r2, r3, cv); 3690 TESTINST3("xxx.w r1, r2, r3, lsl #0 ", -1, 0, r1, r2, r3, cv); 3691 TESTINST3("xxx.w r1, r2, r3, lsl #1 ", -1, 0, r1, r2, r3, cv); 3692 TESTINST3("xxx.w r1, r2, r3, lsl #15", -1, 0, r1, r2, r3, cv); 3693 TESTINST3("xxx.w r1, r2, r3, lsl #31", -1, 0, r1, r2, r3, cv); 3694 TESTINST3("xxx.w r1, r2, r3, lsr #0 ", -1, 0, r1, r2, r3, cv); 3695 TESTINST3("xxx.w r1, r2, r3, lsr #1 ", -1, 0, r1, r2, r3, cv); 3696 TESTINST3("xxx.w r1, r2, r3, lsr #15", -1, 0, r1, r2, r3, cv); 3697 TESTINST3("xxx.w r1, r2, r3, lsr #31", -1, 0, r1, r2, r3, cv); 3698 TESTINST3("xxx.w r1, r2, r3, asr #0 ", -1, 0, r1, r2, r3, cv); 3699 TESTINST3("xxx.w r1, r2, r3, asr #1 ", -1, 0, r1, r2, r3, cv); 3700 TESTINST3("xxx.w r1, r2, r3, asr #15", -1, 0, r1, r2, r3, cv); 3701 TESTINST3("xxx.w r1, r2, r3, asr #31", -1, 0, r1, r2, r3, cv); 3702 TESTINST3("xxxs.w r1, r2, r3, lsl #0 ", 0, -1, r1, r2, r3, cv); 3703 TESTINST3("xxxs.w r1, r2, r3, lsl #1 ", 0, -1, r1, r2, r3, cv); 3704 TESTINST3("xxxs.w r1, r2, r3, lsl #15", 0, -1, r1, r2, r3, cv); 3705 TESTINST3("xxxs.w r1, r2, r3, lsl #31", 0, -1, r1, r2, r3, cv); 3706 TESTINST3("xxxs.w r1, r2, r3, lsr #0 ", 0, -1, r1, r2, r3, cv); 3707 TESTINST3("xxxs.w r1, r2, r3, lsr #1 ", 0, -1, r1, r2, r3, cv); 3708 TESTINST3("xxxs.w r1, r2, r3, lsr #15", 0, -1, r1, r2, r3, cv); 3709 TESTINST3("xxxs.w r1, r2, r3, lsr #31", 0, -1, r1, r2, r3, cv); 3710 TESTINST3("xxxs.w r1, r2, r3, asr #0 ", 0, -1, r1, r2, r3, cv); 3711 TESTINST3("xxxs.w r1, r2, r3, asr #1 ", 0, -1, r1, r2, r3, cv); 3712 TESTINST3("xxxs.w r1, r2, r3, asr #15", 0, -1, r1, r2, r3, cv); 3713 TESTINST3("xxxs.w r1, r2, r3, asr #31", 0, -1, r1, r2, r3, cv); 3714 TESTINST3("xxx.w r1, r2, r3, lsl #0 ", 0, -1, r1, r2, r3, cv); 3715 TESTINST3("xxx.w r1, r2, r3, lsl #1 ", 0, -1, r1, r2, r3, cv); 3716 TESTINST3("xxx.w r1, r2, r3, lsl #15", 0, -1, r1, r2, r3, cv); 3717 TESTINST3("xxx.w r1, r2, r3, lsl #31", 0, -1, r1, r2, r3, cv); 3718 TESTINST3("xxx.w r1, r2, r3, lsr #0 ", 0, -1, r1, r2, r3, cv); 3719 TESTINST3("xxx.w r1, r2, r3, lsr #1 ", 0, -1, r1, r2, r3, cv); 3720 TESTINST3("xxx.w r1, r2, r3, lsr #15", 0, -1, r1, r2, r3, cv); 3721 TESTINST3("xxx.w r1, r2, r3, lsr #31", 0, -1, r1, r2, r3, cv); 3722 TESTINST3("xxx.w r1, r2, r3, asr #0 ", 0, -1, r1, r2, r3, cv); 3723 TESTINST3("xxx.w r1, r2, r3, asr #1 ", 0, -1, r1, r2, r3, cv); 3724 TESTINST3("xxx.w r1, r2, r3, asr #15", 0, -1, r1, r2, r3, cv); 3725 TESTINST3("xxx.w r1, r2, r3, asr #31", 0, -1, r1, r2, r3, cv); 3726 TESTINST3("xxxs.w r1, r2, r3, lsl #0 ", 0, 0x80000000, r1, r2, r3, cv); 3727 TESTINST3("xxxs.w r1, r2, r3, lsl #1 ", 0, 0x80000000, r1, r2, r3, cv); 3728 TESTINST3("xxxs.w r1, r2, r3, lsl #15", 0, 0x80000000, r1, r2, r3, cv); 3729 TESTINST3("xxxs.w r1, r2, r3, lsl #31", 0, 0x80000000, r1, r2, r3, cv); 3730 TESTINST3("xxxs.w r1, r2, r3, lsr #0 ", 0, 0x80000000, r1, r2, r3, cv); 3731 TESTINST3("xxxs.w r1, r2, r3, lsr #1 ", 0, 0x80000000, r1, r2, r3, cv); 3732 TESTINST3("xxxs.w r1, r2, r3, lsr #15", 0, 0x80000000, r1, r2, r3, cv); 3733 TESTINST3("xxxs.w r1, r2, r3, lsr #31", 0, 0x80000000, r1, r2, r3, cv); 3734 TESTINST3("xxxs.w r1, r2, r3, asr #0 ", 0, 0x80000000, r1, r2, r3, cv); 3735 TESTINST3("xxxs.w r1, r2, r3, asr #1 ", 0, 0x80000000, r1, r2, r3, cv); 3736 TESTINST3("xxxs.w r1, r2, r3, asr #15", 0, 0x80000000, r1, r2, r3, cv); 3737 TESTINST3("xxxs.w r1, r2, r3, asr #31", 0, 0x80000000, r1, r2, r3, cv); 3738 TESTINST3("xxx.w r1, r2, r3, lsl #0 ", 0, 0x80000000, r1, r2, r3, cv); 3739 TESTINST3("xxx.w r1, r2, r3, lsl #1 ", 0, 0x80000000, r1, r2, r3, cv); 3740 TESTINST3("xxx.w r1, r2, r3, lsl #15", 0, 0x80000000, r1, r2, r3, cv); 3741 TESTINST3("xxx.w r1, r2, r3, lsl #31", 0, 0x80000000, r1, r2, r3, cv); 3742 TESTINST3("xxx.w r1, r2, r3, lsr #0 ", 0, 0x80000000, r1, r2, r3, cv); 3743 TESTINST3("xxx.w r1, r2, r3, lsr #1 ", 0, 0x80000000, r1, r2, r3, cv); 3744 TESTINST3("xxx.w r1, r2, r3, lsr #15", 0, 0x80000000, r1, r2, r3, cv); 3745 TESTINST3("xxx.w r1, r2, r3, lsr #31", 0, 0x80000000, r1, r2, r3, cv); 3746 TESTINST3("xxx.w r1, r2, r3, asr #0 ", 0, 0x80000000, r1, r2, r3, cv); 3747 TESTINST3("xxx.w r1, r2, r3, asr #1 ", 0, 0x80000000, r1, r2, r3, cv); 3748 TESTINST3("xxx.w r1, r2, r3, asr #15", 0, 0x80000000, r1, r2, r3, cv); 3749 TESTINST3("xxx.w r1, r2, r3, asr #31", 0, 0x80000000, r1, r2, r3, cv); 3750 TESTINST3("xxxs.w r1, r2, r3, lsl #0 ", 0x80000000, 0, r1, r2, r3, cv); 3751 TESTINST3("xxxs.w r1, r2, r3, lsl #1 ", 0x80000000, 0, r1, r2, r3, cv); 3752 TESTINST3("xxxs.w r1, r2, r3, lsl #15", 0x80000000, 0, r1, r2, r3, cv); 3753 TESTINST3("xxxs.w r1, r2, r3, lsl #31", 0x80000000, 0, r1, r2, r3, cv); 3754 TESTINST3("xxxs.w r1, r2, r3, lsr #0 ", 0x80000000, 0, r1, r2, r3, cv); 3755 TESTINST3("xxxs.w r1, r2, r3, lsr #1 ", 0x80000000, 0, r1, r2, r3, cv); 3756 TESTINST3("xxxs.w r1, r2, r3, lsr #15", 0x80000000, 0, r1, r2, r3, cv); 3757 TESTINST3("xxxs.w r1, r2, r3, lsr #31", 0x80000000, 0, r1, r2, r3, cv); 3758 TESTINST3("xxxs.w r1, r2, r3, asr #0 ", 0x80000000, 0, r1, r2, r3, cv); 3759 TESTINST3("xxxs.w r1, r2, r3, asr #1 ", 0x80000000, 0, r1, r2, r3, cv); 3760 TESTINST3("xxxs.w r1, r2, r3, asr #15", 0x80000000, 0, r1, r2, r3, cv); 3761 TESTINST3("xxxs.w r1, r2, r3, asr #31", 0x80000000, 0, r1, r2, r3, cv); 3762 TESTINST3("xxx.w r1, r2, r3, lsl #0 ", 0x80000000, 0, r1, r2, r3, cv); 3763 TESTINST3("xxx.w r1, r2, r3, lsl #1 ", 0x80000000, 0, r1, r2, r3, cv); 3764 TESTINST3("xxx.w r1, r2, r3, lsl #15", 0x80000000, 0, r1, r2, r3, cv); 3765 TESTINST3("xxx.w r1, r2, r3, lsl #31", 0x80000000, 0, r1, r2, r3, cv); 3766 TESTINST3("xxx.w r1, r2, r3, lsr #0 ", 0x80000000, 0, r1, r2, r3, cv); 3767 TESTINST3("xxx.w r1, r2, r3, lsr #1 ", 0x80000000, 0, r1, r2, r3, cv); 3768 TESTINST3("xxx.w r1, r2, r3, lsr #15", 0x80000000, 0, r1, r2, r3, cv); 3769 TESTINST3("xxx.w r1, r2, r3, lsr #31", 0x80000000, 0, r1, r2, r3, cv); 3770 TESTINST3("xxx.w r1, r2, r3, asr #0 ", 0x80000000, 0, r1, r2, r3, cv); 3771 TESTINST3("xxx.w r1, r2, r3, asr #1 ", 0x80000000, 0, r1, r2, r3, cv); 3772 TESTINST3("xxx.w r1, r2, r3, asr #15", 0x80000000, 0, r1, r2, r3, cv); 3773 TESTINST3("xxx.w r1, r2, r3, asr #31", 0x80000000, 0, r1, r2, r3, cv); 3774 TESTINST3("xxxs.w r1, r2, r3, lsl #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 3775 TESTINST3("xxxs.w r1, r2, r3, lsl #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 3776 TESTINST3("xxxs.w r1, r2, r3, lsl #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 3777 TESTINST3("xxxs.w r1, r2, r3, lsl #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 3778 TESTINST3("xxxs.w r1, r2, r3, lsr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 3779 TESTINST3("xxxs.w r1, r2, r3, lsr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 3780 TESTINST3("xxxs.w r1, r2, r3, lsr #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 3781 TESTINST3("xxxs.w r1, r2, r3, lsr #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 3782 TESTINST3("xxxs.w r1, r2, r3, asr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 3783 TESTINST3("xxxs.w r1, r2, r3, asr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 3784 TESTINST3("xxxs.w r1, r2, r3, asr #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 3785 TESTINST3("xxxs.w r1, r2, r3, asr #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 3786 TESTINST3("xxx.w r1, r2, r3, lsl #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 3787 TESTINST3("xxx.w r1, r2, r3, lsl #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 3788 TESTINST3("xxx.w r1, r2, r3, lsl #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 3789 TESTINST3("xxx.w r1, r2, r3, lsl #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 3790 TESTINST3("xxx.w r1, r2, r3, lsr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 3791 TESTINST3("xxx.w r1, r2, r3, lsr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 3792 TESTINST3("xxx.w r1, r2, r3, lsr #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 3793 TESTINST3("xxx.w r1, r2, r3, lsr #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 3794 TESTINST3("xxx.w r1, r2, r3, asr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 3795 TESTINST3("xxx.w r1, r2, r3, asr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 3796 TESTINST3("xxx.w r1, r2, r3, asr #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 3797 TESTINST3("xxx.w r1, r2, r3, asr #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 3798 TESTINST3("xxxs.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 3799 TESTINST3("xxxs.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 3800 TESTINST3("xxxs.w r1, r2, r3, lsl #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 3801 TESTINST3("xxxs.w r1, r2, r3, lsl #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 3802 TESTINST3("xxxs.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 3803 TESTINST3("xxxs.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 3804 TESTINST3("xxxs.w r1, r2, r3, lsr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 3805 TESTINST3("xxxs.w r1, r2, r3, lsr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 3806 TESTINST3("xxxs.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 3807 TESTINST3("xxxs.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 3808 TESTINST3("xxxs.w r1, r2, r3, asr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 3809 TESTINST3("xxxs.w r1, r2, r3, asr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 3810 TESTINST3("xxx.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 3811 TESTINST3("xxx.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 3812 TESTINST3("xxx.w r1, r2, r3, lsl #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 3813 TESTINST3("xxx.w r1, r2, r3, lsl #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 3814 TESTINST3("xxx.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 3815 TESTINST3("xxx.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 3816 TESTINST3("xxx.w r1, r2, r3, lsr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 3817 TESTINST3("xxx.w r1, r2, r3, lsr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 3818 TESTINST3("xxx.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 3819 TESTINST3("xxx.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 3820 TESTINST3("xxx.w r1, r2, r3, asr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 3821 TESTINST3("xxx.w r1, r2, r3, asr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 3822 TESTINST3("xxxs.w r1, r2, r3, lsl #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 3823 TESTINST3("xxxs.w r1, r2, r3, lsl #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 3824 TESTINST3("xxxs.w r1, r2, r3, lsl #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 3825 TESTINST3("xxxs.w r1, r2, r3, lsl #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 3826 TESTINST3("xxxs.w r1, r2, r3, lsr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 3827 TESTINST3("xxxs.w r1, r2, r3, lsr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 3828 TESTINST3("xxxs.w r1, r2, r3, lsr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 3829 TESTINST3("xxxs.w r1, r2, r3, lsr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 3830 TESTINST3("xxxs.w r1, r2, r3, asr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 3831 TESTINST3("xxxs.w r1, r2, r3, asr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 3832 TESTINST3("xxxs.w r1, r2, r3, asr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 3833 TESTINST3("xxxs.w r1, r2, r3, asr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 3834 TESTINST3("xxx.w r1, r2, r3, lsl #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 3835 TESTINST3("xxx.w r1, r2, r3, lsl #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 3836 TESTINST3("xxx.w r1, r2, r3, lsl #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 3837 TESTINST3("xxx.w r1, r2, r3, lsl #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 3838 TESTINST3("xxx.w r1, r2, r3, lsr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 3839 TESTINST3("xxx.w r1, r2, r3, lsr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 3840 TESTINST3("xxx.w r1, r2, r3, lsr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 3841 TESTINST3("xxx.w r1, r2, r3, lsr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 3842 TESTINST3("xxx.w r1, r2, r3, asr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 3843 TESTINST3("xxx.w r1, r2, r3, asr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 3844 TESTINST3("xxx.w r1, r2, r3, asr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 3845 TESTINST3("xxx.w r1, r2, r3, asr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 3846 TESTINST3("xxxs.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 3847 TESTINST3("xxxs.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 3848 TESTINST3("xxxs.w r1, r2, r3, lsl #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 3849 TESTINST3("xxxs.w r1, r2, r3, lsl #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 3850 TESTINST3("xxxs.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 3851 TESTINST3("xxxs.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 3852 TESTINST3("xxxs.w r1, r2, r3, lsr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 3853 TESTINST3("xxxs.w r1, r2, r3, lsr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 3854 TESTINST3("xxxs.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 3855 TESTINST3("xxxs.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 3856 TESTINST3("xxxs.w r1, r2, r3, asr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 3857 TESTINST3("xxxs.w r1, r2, r3, asr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 3858 TESTINST3("xxx.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 3859 TESTINST3("xxx.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 3860 TESTINST3("xxx.w r1, r2, r3, lsl #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 3861 TESTINST3("xxx.w r1, r2, r3, lsl #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 3862 TESTINST3("xxx.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 3863 TESTINST3("xxx.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 3864 TESTINST3("xxx.w r1, r2, r3, lsr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 3865 TESTINST3("xxx.w r1, r2, r3, lsr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 3866 TESTINST3("xxx.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 3867 TESTINST3("xxx.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 3868 TESTINST3("xxx.w r1, r2, r3, asr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 3869 TESTINST3("xxx.w r1, r2, r3, asr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 3870 TESTCARRYEND 3871 #endif 3872 3873 printf("AND{S}.W Rd, Rn, Rm, {shift}\n"); 3874 TESTCARRY 3875 TESTINST3("ands.w r1, r2, r3, lsl #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 3876 TESTINST3("ands.w r1, r2, r3, lsl #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 3877 TESTINST3("ands.w r1, r2, r3, lsl #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 3878 TESTINST3("ands.w r1, r2, r3, lsl #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 3879 TESTINST3("ands.w r1, r2, r3, lsr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 3880 TESTINST3("ands.w r1, r2, r3, lsr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 3881 TESTINST3("ands.w r1, r2, r3, lsr #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 3882 TESTINST3("ands.w r1, r2, r3, lsr #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 3883 TESTINST3("ands.w r1, r2, r3, asr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 3884 TESTINST3("ands.w r1, r2, r3, asr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 3885 TESTINST3("ands.w r1, r2, r3, asr #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 3886 TESTINST3("ands.w r1, r2, r3, asr #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 3887 TESTINST3("and.w r1, r2, r3, lsl #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 3888 TESTINST3("and.w r1, r2, r3, lsl #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 3889 TESTINST3("and.w r1, r2, r3, lsl #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 3890 TESTINST3("and.w r1, r2, r3, lsl #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 3891 TESTINST3("and.w r1, r2, r3, lsr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 3892 TESTINST3("and.w r1, r2, r3, lsr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 3893 TESTINST3("and.w r1, r2, r3, lsr #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 3894 TESTINST3("and.w r1, r2, r3, lsr #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 3895 TESTINST3("and.w r1, r2, r3, asr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 3896 TESTINST3("and.w r1, r2, r3, asr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 3897 TESTINST3("and.w r1, r2, r3, asr #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 3898 TESTINST3("and.w r1, r2, r3, asr #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 3899 TESTINST3("ands.w r1, r2, r3, lsl #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 3900 TESTINST3("ands.w r1, r2, r3, lsl #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 3901 TESTINST3("ands.w r1, r2, r3, lsl #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 3902 TESTINST3("ands.w r1, r2, r3, lsl #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 3903 TESTINST3("ands.w r1, r2, r3, lsr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 3904 TESTINST3("ands.w r1, r2, r3, lsr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 3905 TESTINST3("ands.w r1, r2, r3, lsr #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 3906 TESTINST3("ands.w r1, r2, r3, lsr #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 3907 TESTINST3("ands.w r1, r2, r3, asr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 3908 TESTINST3("ands.w r1, r2, r3, asr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 3909 TESTINST3("ands.w r1, r2, r3, asr #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 3910 TESTINST3("ands.w r1, r2, r3, asr #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 3911 TESTINST3("and.w r1, r2, r3, lsl #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 3912 TESTINST3("and.w r1, r2, r3, lsl #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 3913 TESTINST3("and.w r1, r2, r3, lsl #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 3914 TESTINST3("and.w r1, r2, r3, lsl #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 3915 TESTINST3("and.w r1, r2, r3, lsr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 3916 TESTINST3("and.w r1, r2, r3, lsr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 3917 TESTINST3("and.w r1, r2, r3, lsr #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 3918 TESTINST3("and.w r1, r2, r3, lsr #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 3919 TESTINST3("and.w r1, r2, r3, asr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 3920 TESTINST3("and.w r1, r2, r3, asr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 3921 TESTINST3("and.w r1, r2, r3, asr #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 3922 TESTINST3("and.w r1, r2, r3, asr #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 3923 TESTINST3("ands.w r1, r2, r3, lsl #0 ", 0, 0, r1, r2, r3, cv); 3924 TESTINST3("ands.w r1, r2, r3, lsl #1 ", 0, 0, r1, r2, r3, cv); 3925 TESTINST3("ands.w r1, r2, r3, lsl #15", 0, 0, r1, r2, r3, cv); 3926 TESTINST3("ands.w r1, r2, r3, lsl #31", 0, 0, r1, r2, r3, cv); 3927 TESTINST3("ands.w r1, r2, r3, lsr #0 ", 0, 0, r1, r2, r3, cv); 3928 TESTINST3("ands.w r1, r2, r3, lsr #1 ", 0, 0, r1, r2, r3, cv); 3929 TESTINST3("ands.w r1, r2, r3, lsr #15", 0, 0, r1, r2, r3, cv); 3930 TESTINST3("ands.w r1, r2, r3, lsr #31", 0, 0, r1, r2, r3, cv); 3931 TESTINST3("ands.w r1, r2, r3, asr #0 ", 0, 0, r1, r2, r3, cv); 3932 TESTINST3("ands.w r1, r2, r3, asr #1 ", 0, 0, r1, r2, r3, cv); 3933 TESTINST3("ands.w r1, r2, r3, asr #15", 0, 0, r1, r2, r3, cv); 3934 TESTINST3("ands.w r1, r2, r3, asr #31", 0, 0, r1, r2, r3, cv); 3935 TESTINST3("and.w r1, r2, r3, lsl #0 ", 0, 0, r1, r2, r3, cv); 3936 TESTINST3("and.w r1, r2, r3, lsl #1 ", 0, 0, r1, r2, r3, cv); 3937 TESTINST3("and.w r1, r2, r3, lsl #15", 0, 0, r1, r2, r3, cv); 3938 TESTINST3("and.w r1, r2, r3, lsl #31", 0, 0, r1, r2, r3, cv); 3939 TESTINST3("and.w r1, r2, r3, lsr #0 ", 0, 0, r1, r2, r3, cv); 3940 TESTINST3("and.w r1, r2, r3, lsr #1 ", 0, 0, r1, r2, r3, cv); 3941 TESTINST3("and.w r1, r2, r3, lsr #15", 0, 0, r1, r2, r3, cv); 3942 TESTINST3("and.w r1, r2, r3, lsr #31", 0, 0, r1, r2, r3, cv); 3943 TESTINST3("and.w r1, r2, r3, asr #0 ", 0, 0, r1, r2, r3, cv); 3944 TESTINST3("and.w r1, r2, r3, asr #1 ", 0, 0, r1, r2, r3, cv); 3945 TESTINST3("and.w r1, r2, r3, asr #15", 0, 0, r1, r2, r3, cv); 3946 TESTINST3("and.w r1, r2, r3, asr #31", 0, 0, r1, r2, r3, cv); 3947 TESTINST3("ands.w r1, r2, r3, lsl #0 ", 1, 0, r1, r2, r3, cv); 3948 TESTINST3("ands.w r1, r2, r3, lsl #1 ", 1, 0, r1, r2, r3, cv); 3949 TESTINST3("ands.w r1, r2, r3, lsl #15", 1, 0, r1, r2, r3, cv); 3950 TESTINST3("ands.w r1, r2, r3, lsl #31", 1, 0, r1, r2, r3, cv); 3951 TESTINST3("ands.w r1, r2, r3, lsr #0 ", 1, 0, r1, r2, r3, cv); 3952 TESTINST3("ands.w r1, r2, r3, lsr #1 ", 1, 0, r1, r2, r3, cv); 3953 TESTINST3("ands.w r1, r2, r3, lsr #15", 1, 0, r1, r2, r3, cv); 3954 TESTINST3("ands.w r1, r2, r3, lsr #31", 1, 0, r1, r2, r3, cv); 3955 TESTINST3("ands.w r1, r2, r3, asr #0 ", 1, 0, r1, r2, r3, cv); 3956 TESTINST3("ands.w r1, r2, r3, asr #1 ", 1, 0, r1, r2, r3, cv); 3957 TESTINST3("ands.w r1, r2, r3, asr #15", 1, 0, r1, r2, r3, cv); 3958 TESTINST3("ands.w r1, r2, r3, asr #31", 1, 0, r1, r2, r3, cv); 3959 TESTINST3("and.w r1, r2, r3, lsl #0 ", 1, 0, r1, r2, r3, cv); 3960 TESTINST3("and.w r1, r2, r3, lsl #1 ", 1, 0, r1, r2, r3, cv); 3961 TESTINST3("and.w r1, r2, r3, lsl #15", 1, 0, r1, r2, r3, cv); 3962 TESTINST3("and.w r1, r2, r3, lsl #31", 1, 0, r1, r2, r3, cv); 3963 TESTINST3("and.w r1, r2, r3, lsr #0 ", 1, 0, r1, r2, r3, cv); 3964 TESTINST3("and.w r1, r2, r3, lsr #1 ", 1, 0, r1, r2, r3, cv); 3965 TESTINST3("and.w r1, r2, r3, lsr #15", 1, 0, r1, r2, r3, cv); 3966 TESTINST3("and.w r1, r2, r3, lsr #31", 1, 0, r1, r2, r3, cv); 3967 TESTINST3("and.w r1, r2, r3, asr #0 ", 1, 0, r1, r2, r3, cv); 3968 TESTINST3("and.w r1, r2, r3, asr #1 ", 1, 0, r1, r2, r3, cv); 3969 TESTINST3("and.w r1, r2, r3, asr #15", 1, 0, r1, r2, r3, cv); 3970 TESTINST3("and.w r1, r2, r3, asr #31", 1, 0, r1, r2, r3, cv); 3971 TESTINST3("ands.w r1, r2, r3, lsl #0 ", 0, 1, r1, r2, r3, cv); 3972 TESTINST3("ands.w r1, r2, r3, lsl #1 ", 0, 1, r1, r2, r3, cv); 3973 TESTINST3("ands.w r1, r2, r3, lsl #15", 0, 1, r1, r2, r3, cv); 3974 TESTINST3("ands.w r1, r2, r3, lsl #31", 0, 1, r1, r2, r3, cv); 3975 TESTINST3("ands.w r1, r2, r3, lsr #0 ", 0, 1, r1, r2, r3, cv); 3976 TESTINST3("ands.w r1, r2, r3, lsr #1 ", 0, 1, r1, r2, r3, cv); 3977 TESTINST3("ands.w r1, r2, r3, lsr #15", 0, 1, r1, r2, r3, cv); 3978 TESTINST3("ands.w r1, r2, r3, lsr #31", 0, 1, r1, r2, r3, cv); 3979 TESTINST3("ands.w r1, r2, r3, asr #0 ", 0, 1, r1, r2, r3, cv); 3980 TESTINST3("ands.w r1, r2, r3, asr #1 ", 0, 1, r1, r2, r3, cv); 3981 TESTINST3("ands.w r1, r2, r3, asr #15", 0, 1, r1, r2, r3, cv); 3982 TESTINST3("ands.w r1, r2, r3, asr #31", 0, 1, r1, r2, r3, cv); 3983 TESTINST3("and.w r1, r2, r3, lsl #0 ", 0, 1, r1, r2, r3, cv); 3984 TESTINST3("and.w r1, r2, r3, lsl #1 ", 0, 1, r1, r2, r3, cv); 3985 TESTINST3("and.w r1, r2, r3, lsl #15", 0, 1, r1, r2, r3, cv); 3986 TESTINST3("and.w r1, r2, r3, lsl #31", 0, 1, r1, r2, r3, cv); 3987 TESTINST3("and.w r1, r2, r3, lsr #0 ", 0, 1, r1, r2, r3, cv); 3988 TESTINST3("and.w r1, r2, r3, lsr #1 ", 0, 1, r1, r2, r3, cv); 3989 TESTINST3("and.w r1, r2, r3, lsr #15", 0, 1, r1, r2, r3, cv); 3990 TESTINST3("and.w r1, r2, r3, lsr #31", 0, 1, r1, r2, r3, cv); 3991 TESTINST3("and.w r1, r2, r3, asr #0 ", 0, 1, r1, r2, r3, cv); 3992 TESTINST3("and.w r1, r2, r3, asr #1 ", 0, 1, r1, r2, r3, cv); 3993 TESTINST3("and.w r1, r2, r3, asr #15", 0, 1, r1, r2, r3, cv); 3994 TESTINST3("and.w r1, r2, r3, asr #31", 0, 1, r1, r2, r3, cv); 3995 TESTINST3("ands.w r1, r2, r3, lsl #0 ", -1, 0, r1, r2, r3, cv); 3996 TESTINST3("ands.w r1, r2, r3, lsl #1 ", -1, 0, r1, r2, r3, cv); 3997 TESTINST3("ands.w r1, r2, r3, lsl #15", -1, 0, r1, r2, r3, cv); 3998 TESTINST3("ands.w r1, r2, r3, lsl #31", -1, 0, r1, r2, r3, cv); 3999 TESTINST3("ands.w r1, r2, r3, lsr #0 ", -1, 0, r1, r2, r3, cv); 4000 TESTINST3("ands.w r1, r2, r3, lsr #1 ", -1, 0, r1, r2, r3, cv); 4001 TESTINST3("ands.w r1, r2, r3, lsr #15", -1, 0, r1, r2, r3, cv); 4002 TESTINST3("ands.w r1, r2, r3, lsr #31", -1, 0, r1, r2, r3, cv); 4003 TESTINST3("ands.w r1, r2, r3, asr #0 ", -1, 0, r1, r2, r3, cv); 4004 TESTINST3("ands.w r1, r2, r3, asr #1 ", -1, 0, r1, r2, r3, cv); 4005 TESTINST3("ands.w r1, r2, r3, asr #15", -1, 0, r1, r2, r3, cv); 4006 TESTINST3("ands.w r1, r2, r3, asr #31", -1, 0, r1, r2, r3, cv); 4007 TESTINST3("and.w r1, r2, r3, lsl #0 ", -1, 0, r1, r2, r3, cv); 4008 TESTINST3("and.w r1, r2, r3, lsl #1 ", -1, 0, r1, r2, r3, cv); 4009 TESTINST3("and.w r1, r2, r3, lsl #15", -1, 0, r1, r2, r3, cv); 4010 TESTINST3("and.w r1, r2, r3, lsl #31", -1, 0, r1, r2, r3, cv); 4011 TESTINST3("and.w r1, r2, r3, lsr #0 ", -1, 0, r1, r2, r3, cv); 4012 TESTINST3("and.w r1, r2, r3, lsr #1 ", -1, 0, r1, r2, r3, cv); 4013 TESTINST3("and.w r1, r2, r3, lsr #15", -1, 0, r1, r2, r3, cv); 4014 TESTINST3("and.w r1, r2, r3, lsr #31", -1, 0, r1, r2, r3, cv); 4015 TESTINST3("and.w r1, r2, r3, asr #0 ", -1, 0, r1, r2, r3, cv); 4016 TESTINST3("and.w r1, r2, r3, asr #1 ", -1, 0, r1, r2, r3, cv); 4017 TESTINST3("and.w r1, r2, r3, asr #15", -1, 0, r1, r2, r3, cv); 4018 TESTINST3("and.w r1, r2, r3, asr #31", -1, 0, r1, r2, r3, cv); 4019 TESTINST3("ands.w r1, r2, r3, lsl #0 ", 0, -1, r1, r2, r3, cv); 4020 TESTINST3("ands.w r1, r2, r3, lsl #1 ", 0, -1, r1, r2, r3, cv); 4021 TESTINST3("ands.w r1, r2, r3, lsl #15", 0, -1, r1, r2, r3, cv); 4022 TESTINST3("ands.w r1, r2, r3, lsl #31", 0, -1, r1, r2, r3, cv); 4023 TESTINST3("ands.w r1, r2, r3, lsr #0 ", 0, -1, r1, r2, r3, cv); 4024 TESTINST3("ands.w r1, r2, r3, lsr #1 ", 0, -1, r1, r2, r3, cv); 4025 TESTINST3("ands.w r1, r2, r3, lsr #15", 0, -1, r1, r2, r3, cv); 4026 TESTINST3("ands.w r1, r2, r3, lsr #31", 0, -1, r1, r2, r3, cv); 4027 TESTINST3("ands.w r1, r2, r3, asr #0 ", 0, -1, r1, r2, r3, cv); 4028 TESTINST3("ands.w r1, r2, r3, asr #1 ", 0, -1, r1, r2, r3, cv); 4029 TESTINST3("ands.w r1, r2, r3, asr #15", 0, -1, r1, r2, r3, cv); 4030 TESTINST3("ands.w r1, r2, r3, asr #31", 0, -1, r1, r2, r3, cv); 4031 TESTINST3("and.w r1, r2, r3, lsl #0 ", 0, -1, r1, r2, r3, cv); 4032 TESTINST3("and.w r1, r2, r3, lsl #1 ", 0, -1, r1, r2, r3, cv); 4033 TESTINST3("and.w r1, r2, r3, lsl #15", 0, -1, r1, r2, r3, cv); 4034 TESTINST3("and.w r1, r2, r3, lsl #31", 0, -1, r1, r2, r3, cv); 4035 TESTINST3("and.w r1, r2, r3, lsr #0 ", 0, -1, r1, r2, r3, cv); 4036 TESTINST3("and.w r1, r2, r3, lsr #1 ", 0, -1, r1, r2, r3, cv); 4037 TESTINST3("and.w r1, r2, r3, lsr #15", 0, -1, r1, r2, r3, cv); 4038 TESTINST3("and.w r1, r2, r3, lsr #31", 0, -1, r1, r2, r3, cv); 4039 TESTINST3("and.w r1, r2, r3, asr #0 ", 0, -1, r1, r2, r3, cv); 4040 TESTINST3("and.w r1, r2, r3, asr #1 ", 0, -1, r1, r2, r3, cv); 4041 TESTINST3("and.w r1, r2, r3, asr #15", 0, -1, r1, r2, r3, cv); 4042 TESTINST3("and.w r1, r2, r3, asr #31", 0, -1, r1, r2, r3, cv); 4043 TESTINST3("ands.w r1, r2, r3, lsl #0 ", 0, 0x80000000, r1, r2, r3, cv); 4044 TESTINST3("ands.w r1, r2, r3, lsl #1 ", 0, 0x80000000, r1, r2, r3, cv); 4045 TESTINST3("ands.w r1, r2, r3, lsl #15", 0, 0x80000000, r1, r2, r3, cv); 4046 TESTINST3("ands.w r1, r2, r3, lsl #31", 0, 0x80000000, r1, r2, r3, cv); 4047 TESTINST3("ands.w r1, r2, r3, lsr #0 ", 0, 0x80000000, r1, r2, r3, cv); 4048 TESTINST3("ands.w r1, r2, r3, lsr #1 ", 0, 0x80000000, r1, r2, r3, cv); 4049 TESTINST3("ands.w r1, r2, r3, lsr #15", 0, 0x80000000, r1, r2, r3, cv); 4050 TESTINST3("ands.w r1, r2, r3, lsr #31", 0, 0x80000000, r1, r2, r3, cv); 4051 TESTINST3("ands.w r1, r2, r3, asr #0 ", 0, 0x80000000, r1, r2, r3, cv); 4052 TESTINST3("ands.w r1, r2, r3, asr #1 ", 0, 0x80000000, r1, r2, r3, cv); 4053 TESTINST3("ands.w r1, r2, r3, asr #15", 0, 0x80000000, r1, r2, r3, cv); 4054 TESTINST3("ands.w r1, r2, r3, asr #31", 0, 0x80000000, r1, r2, r3, cv); 4055 TESTINST3("and.w r1, r2, r3, lsl #0 ", 0, 0x80000000, r1, r2, r3, cv); 4056 TESTINST3("and.w r1, r2, r3, lsl #1 ", 0, 0x80000000, r1, r2, r3, cv); 4057 TESTINST3("and.w r1, r2, r3, lsl #15", 0, 0x80000000, r1, r2, r3, cv); 4058 TESTINST3("and.w r1, r2, r3, lsl #31", 0, 0x80000000, r1, r2, r3, cv); 4059 TESTINST3("and.w r1, r2, r3, lsr #0 ", 0, 0x80000000, r1, r2, r3, cv); 4060 TESTINST3("and.w r1, r2, r3, lsr #1 ", 0, 0x80000000, r1, r2, r3, cv); 4061 TESTINST3("and.w r1, r2, r3, lsr #15", 0, 0x80000000, r1, r2, r3, cv); 4062 TESTINST3("and.w r1, r2, r3, lsr #31", 0, 0x80000000, r1, r2, r3, cv); 4063 TESTINST3("and.w r1, r2, r3, asr #0 ", 0, 0x80000000, r1, r2, r3, cv); 4064 TESTINST3("and.w r1, r2, r3, asr #1 ", 0, 0x80000000, r1, r2, r3, cv); 4065 TESTINST3("and.w r1, r2, r3, asr #15", 0, 0x80000000, r1, r2, r3, cv); 4066 TESTINST3("and.w r1, r2, r3, asr #31", 0, 0x80000000, r1, r2, r3, cv); 4067 TESTINST3("ands.w r1, r2, r3, lsl #0 ", 0x80000000, 0, r1, r2, r3, cv); 4068 TESTINST3("ands.w r1, r2, r3, lsl #1 ", 0x80000000, 0, r1, r2, r3, cv); 4069 TESTINST3("ands.w r1, r2, r3, lsl #15", 0x80000000, 0, r1, r2, r3, cv); 4070 TESTINST3("ands.w r1, r2, r3, lsl #31", 0x80000000, 0, r1, r2, r3, cv); 4071 TESTINST3("ands.w r1, r2, r3, lsr #0 ", 0x80000000, 0, r1, r2, r3, cv); 4072 TESTINST3("ands.w r1, r2, r3, lsr #1 ", 0x80000000, 0, r1, r2, r3, cv); 4073 TESTINST3("ands.w r1, r2, r3, lsr #15", 0x80000000, 0, r1, r2, r3, cv); 4074 TESTINST3("ands.w r1, r2, r3, lsr #31", 0x80000000, 0, r1, r2, r3, cv); 4075 TESTINST3("ands.w r1, r2, r3, asr #0 ", 0x80000000, 0, r1, r2, r3, cv); 4076 TESTINST3("ands.w r1, r2, r3, asr #1 ", 0x80000000, 0, r1, r2, r3, cv); 4077 TESTINST3("ands.w r1, r2, r3, asr #15", 0x80000000, 0, r1, r2, r3, cv); 4078 TESTINST3("ands.w r1, r2, r3, asr #31", 0x80000000, 0, r1, r2, r3, cv); 4079 TESTINST3("and.w r1, r2, r3, lsl #0 ", 0x80000000, 0, r1, r2, r3, cv); 4080 TESTINST3("and.w r1, r2, r3, lsl #1 ", 0x80000000, 0, r1, r2, r3, cv); 4081 TESTINST3("and.w r1, r2, r3, lsl #15", 0x80000000, 0, r1, r2, r3, cv); 4082 TESTINST3("and.w r1, r2, r3, lsl #31", 0x80000000, 0, r1, r2, r3, cv); 4083 TESTINST3("and.w r1, r2, r3, lsr #0 ", 0x80000000, 0, r1, r2, r3, cv); 4084 TESTINST3("and.w r1, r2, r3, lsr #1 ", 0x80000000, 0, r1, r2, r3, cv); 4085 TESTINST3("and.w r1, r2, r3, lsr #15", 0x80000000, 0, r1, r2, r3, cv); 4086 TESTINST3("and.w r1, r2, r3, lsr #31", 0x80000000, 0, r1, r2, r3, cv); 4087 TESTINST3("and.w r1, r2, r3, asr #0 ", 0x80000000, 0, r1, r2, r3, cv); 4088 TESTINST3("and.w r1, r2, r3, asr #1 ", 0x80000000, 0, r1, r2, r3, cv); 4089 TESTINST3("and.w r1, r2, r3, asr #15", 0x80000000, 0, r1, r2, r3, cv); 4090 TESTINST3("and.w r1, r2, r3, asr #31", 0x80000000, 0, r1, r2, r3, cv); 4091 TESTINST3("ands.w r1, r2, r3, lsl #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 4092 TESTINST3("ands.w r1, r2, r3, lsl #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 4093 TESTINST3("ands.w r1, r2, r3, lsl #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 4094 TESTINST3("ands.w r1, r2, r3, lsl #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 4095 TESTINST3("ands.w r1, r2, r3, lsr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 4096 TESTINST3("ands.w r1, r2, r3, lsr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 4097 TESTINST3("ands.w r1, r2, r3, lsr #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 4098 TESTINST3("ands.w r1, r2, r3, lsr #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 4099 TESTINST3("ands.w r1, r2, r3, asr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 4100 TESTINST3("ands.w r1, r2, r3, asr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 4101 TESTINST3("ands.w r1, r2, r3, asr #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 4102 TESTINST3("ands.w r1, r2, r3, asr #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 4103 TESTINST3("and.w r1, r2, r3, lsl #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 4104 TESTINST3("and.w r1, r2, r3, lsl #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 4105 TESTINST3("and.w r1, r2, r3, lsl #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 4106 TESTINST3("and.w r1, r2, r3, lsl #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 4107 TESTINST3("and.w r1, r2, r3, lsr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 4108 TESTINST3("and.w r1, r2, r3, lsr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 4109 TESTINST3("and.w r1, r2, r3, lsr #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 4110 TESTINST3("and.w r1, r2, r3, lsr #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 4111 TESTINST3("and.w r1, r2, r3, asr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 4112 TESTINST3("and.w r1, r2, r3, asr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 4113 TESTINST3("and.w r1, r2, r3, asr #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 4114 TESTINST3("and.w r1, r2, r3, asr #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 4115 TESTINST3("ands.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 4116 TESTINST3("ands.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 4117 TESTINST3("ands.w r1, r2, r3, lsl #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 4118 TESTINST3("ands.w r1, r2, r3, lsl #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 4119 TESTINST3("ands.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 4120 TESTINST3("ands.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 4121 TESTINST3("ands.w r1, r2, r3, lsr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 4122 TESTINST3("ands.w r1, r2, r3, lsr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 4123 TESTINST3("ands.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 4124 TESTINST3("ands.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 4125 TESTINST3("ands.w r1, r2, r3, asr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 4126 TESTINST3("ands.w r1, r2, r3, asr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 4127 TESTINST3("and.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 4128 TESTINST3("and.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 4129 TESTINST3("and.w r1, r2, r3, lsl #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 4130 TESTINST3("and.w r1, r2, r3, lsl #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 4131 TESTINST3("and.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 4132 TESTINST3("and.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 4133 TESTINST3("and.w r1, r2, r3, lsr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 4134 TESTINST3("and.w r1, r2, r3, lsr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 4135 TESTINST3("and.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 4136 TESTINST3("and.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 4137 TESTINST3("and.w r1, r2, r3, asr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 4138 TESTINST3("and.w r1, r2, r3, asr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 4139 TESTINST3("ands.w r1, r2, r3, lsl #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 4140 TESTINST3("ands.w r1, r2, r3, lsl #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 4141 TESTINST3("ands.w r1, r2, r3, lsl #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 4142 TESTINST3("ands.w r1, r2, r3, lsl #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 4143 TESTINST3("ands.w r1, r2, r3, lsr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 4144 TESTINST3("ands.w r1, r2, r3, lsr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 4145 TESTINST3("ands.w r1, r2, r3, lsr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 4146 TESTINST3("ands.w r1, r2, r3, lsr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 4147 TESTINST3("ands.w r1, r2, r3, asr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 4148 TESTINST3("ands.w r1, r2, r3, asr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 4149 TESTINST3("ands.w r1, r2, r3, asr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 4150 TESTINST3("ands.w r1, r2, r3, asr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 4151 TESTINST3("and.w r1, r2, r3, lsl #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 4152 TESTINST3("and.w r1, r2, r3, lsl #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 4153 TESTINST3("and.w r1, r2, r3, lsl #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 4154 TESTINST3("and.w r1, r2, r3, lsl #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 4155 TESTINST3("and.w r1, r2, r3, lsr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 4156 TESTINST3("and.w r1, r2, r3, lsr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 4157 TESTINST3("and.w r1, r2, r3, lsr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 4158 TESTINST3("and.w r1, r2, r3, lsr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 4159 TESTINST3("and.w r1, r2, r3, asr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 4160 TESTINST3("and.w r1, r2, r3, asr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 4161 TESTINST3("and.w r1, r2, r3, asr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 4162 TESTINST3("and.w r1, r2, r3, asr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 4163 TESTINST3("ands.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 4164 TESTINST3("ands.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 4165 TESTINST3("ands.w r1, r2, r3, lsl #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 4166 TESTINST3("ands.w r1, r2, r3, lsl #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 4167 TESTINST3("ands.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 4168 TESTINST3("ands.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 4169 TESTINST3("ands.w r1, r2, r3, lsr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 4170 TESTINST3("ands.w r1, r2, r3, lsr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 4171 TESTINST3("ands.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 4172 TESTINST3("ands.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 4173 TESTINST3("ands.w r1, r2, r3, asr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 4174 TESTINST3("ands.w r1, r2, r3, asr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 4175 TESTINST3("and.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 4176 TESTINST3("and.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 4177 TESTINST3("and.w r1, r2, r3, lsl #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 4178 TESTINST3("and.w r1, r2, r3, lsl #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 4179 TESTINST3("and.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 4180 TESTINST3("and.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 4181 TESTINST3("and.w r1, r2, r3, lsr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 4182 TESTINST3("and.w r1, r2, r3, lsr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 4183 TESTINST3("and.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 4184 TESTINST3("and.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 4185 TESTINST3("and.w r1, r2, r3, asr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 4186 TESTINST3("and.w r1, r2, r3, asr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 4187 TESTCARRYEND 4188 4189 printf("ORR{S}.W Rd, Rn, Rm, {shift}\n"); 4190 TESTCARRY 4191 TESTINST3("orrs.w r1, r2, r3, lsl #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 4192 TESTINST3("orrs.w r1, r2, r3, lsl #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 4193 TESTINST3("orrs.w r1, r2, r3, lsl #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 4194 TESTINST3("orrs.w r1, r2, r3, lsl #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 4195 TESTINST3("orrs.w r1, r2, r3, lsr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 4196 TESTINST3("orrs.w r1, r2, r3, lsr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 4197 TESTINST3("orrs.w r1, r2, r3, lsr #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 4198 TESTINST3("orrs.w r1, r2, r3, lsr #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 4199 TESTINST3("orrs.w r1, r2, r3, asr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 4200 TESTINST3("orrs.w r1, r2, r3, asr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 4201 TESTINST3("orrs.w r1, r2, r3, asr #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 4202 TESTINST3("orrs.w r1, r2, r3, asr #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 4203 TESTINST3("orr.w r1, r2, r3, lsl #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 4204 TESTINST3("orr.w r1, r2, r3, lsl #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 4205 TESTINST3("orr.w r1, r2, r3, lsl #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 4206 TESTINST3("orr.w r1, r2, r3, lsl #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 4207 TESTINST3("orr.w r1, r2, r3, lsr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 4208 TESTINST3("orr.w r1, r2, r3, lsr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 4209 TESTINST3("orr.w r1, r2, r3, lsr #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 4210 TESTINST3("orr.w r1, r2, r3, lsr #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 4211 TESTINST3("orr.w r1, r2, r3, asr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 4212 TESTINST3("orr.w r1, r2, r3, asr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 4213 TESTINST3("orr.w r1, r2, r3, asr #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 4214 TESTINST3("orr.w r1, r2, r3, asr #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 4215 TESTINST3("orrs.w r1, r2, r3, lsl #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 4216 TESTINST3("orrs.w r1, r2, r3, lsl #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 4217 TESTINST3("orrs.w r1, r2, r3, lsl #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 4218 TESTINST3("orrs.w r1, r2, r3, lsl #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 4219 TESTINST3("orrs.w r1, r2, r3, lsr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 4220 TESTINST3("orrs.w r1, r2, r3, lsr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 4221 TESTINST3("orrs.w r1, r2, r3, lsr #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 4222 TESTINST3("orrs.w r1, r2, r3, lsr #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 4223 TESTINST3("orrs.w r1, r2, r3, asr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 4224 TESTINST3("orrs.w r1, r2, r3, asr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 4225 TESTINST3("orrs.w r1, r2, r3, asr #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 4226 TESTINST3("orrs.w r1, r2, r3, asr #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 4227 TESTINST3("orr.w r1, r2, r3, lsl #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 4228 TESTINST3("orr.w r1, r2, r3, lsl #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 4229 TESTINST3("orr.w r1, r2, r3, lsl #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 4230 TESTINST3("orr.w r1, r2, r3, lsl #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 4231 TESTINST3("orr.w r1, r2, r3, lsr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 4232 TESTINST3("orr.w r1, r2, r3, lsr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 4233 TESTINST3("orr.w r1, r2, r3, lsr #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 4234 TESTINST3("orr.w r1, r2, r3, lsr #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 4235 TESTINST3("orr.w r1, r2, r3, asr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 4236 TESTINST3("orr.w r1, r2, r3, asr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 4237 TESTINST3("orr.w r1, r2, r3, asr #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 4238 TESTINST3("orr.w r1, r2, r3, asr #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 4239 TESTINST3("orrs.w r1, r2, r3, lsl #0 ", 0, 0, r1, r2, r3, cv); 4240 TESTINST3("orrs.w r1, r2, r3, lsl #1 ", 0, 0, r1, r2, r3, cv); 4241 TESTINST3("orrs.w r1, r2, r3, lsl #15", 0, 0, r1, r2, r3, cv); 4242 TESTINST3("orrs.w r1, r2, r3, lsl #31", 0, 0, r1, r2, r3, cv); 4243 TESTINST3("orrs.w r1, r2, r3, lsr #0 ", 0, 0, r1, r2, r3, cv); 4244 TESTINST3("orrs.w r1, r2, r3, lsr #1 ", 0, 0, r1, r2, r3, cv); 4245 TESTINST3("orrs.w r1, r2, r3, lsr #15", 0, 0, r1, r2, r3, cv); 4246 TESTINST3("orrs.w r1, r2, r3, lsr #31", 0, 0, r1, r2, r3, cv); 4247 TESTINST3("orrs.w r1, r2, r3, asr #0 ", 0, 0, r1, r2, r3, cv); 4248 TESTINST3("orrs.w r1, r2, r3, asr #1 ", 0, 0, r1, r2, r3, cv); 4249 TESTINST3("orrs.w r1, r2, r3, asr #15", 0, 0, r1, r2, r3, cv); 4250 TESTINST3("orrs.w r1, r2, r3, asr #31", 0, 0, r1, r2, r3, cv); 4251 TESTINST3("orr.w r1, r2, r3, lsl #0 ", 0, 0, r1, r2, r3, cv); 4252 TESTINST3("orr.w r1, r2, r3, lsl #1 ", 0, 0, r1, r2, r3, cv); 4253 TESTINST3("orr.w r1, r2, r3, lsl #15", 0, 0, r1, r2, r3, cv); 4254 TESTINST3("orr.w r1, r2, r3, lsl #31", 0, 0, r1, r2, r3, cv); 4255 TESTINST3("orr.w r1, r2, r3, lsr #0 ", 0, 0, r1, r2, r3, cv); 4256 TESTINST3("orr.w r1, r2, r3, lsr #1 ", 0, 0, r1, r2, r3, cv); 4257 TESTINST3("orr.w r1, r2, r3, lsr #15", 0, 0, r1, r2, r3, cv); 4258 TESTINST3("orr.w r1, r2, r3, lsr #31", 0, 0, r1, r2, r3, cv); 4259 TESTINST3("orr.w r1, r2, r3, asr #0 ", 0, 0, r1, r2, r3, cv); 4260 TESTINST3("orr.w r1, r2, r3, asr #1 ", 0, 0, r1, r2, r3, cv); 4261 TESTINST3("orr.w r1, r2, r3, asr #15", 0, 0, r1, r2, r3, cv); 4262 TESTINST3("orr.w r1, r2, r3, asr #31", 0, 0, r1, r2, r3, cv); 4263 TESTINST3("orrs.w r1, r2, r3, lsl #0 ", 1, 0, r1, r2, r3, cv); 4264 TESTINST3("orrs.w r1, r2, r3, lsl #1 ", 1, 0, r1, r2, r3, cv); 4265 TESTINST3("orrs.w r1, r2, r3, lsl #15", 1, 0, r1, r2, r3, cv); 4266 TESTINST3("orrs.w r1, r2, r3, lsl #31", 1, 0, r1, r2, r3, cv); 4267 TESTINST3("orrs.w r1, r2, r3, lsr #0 ", 1, 0, r1, r2, r3, cv); 4268 TESTINST3("orrs.w r1, r2, r3, lsr #1 ", 1, 0, r1, r2, r3, cv); 4269 TESTINST3("orrs.w r1, r2, r3, lsr #15", 1, 0, r1, r2, r3, cv); 4270 TESTINST3("orrs.w r1, r2, r3, lsr #31", 1, 0, r1, r2, r3, cv); 4271 TESTINST3("orrs.w r1, r2, r3, asr #0 ", 1, 0, r1, r2, r3, cv); 4272 TESTINST3("orrs.w r1, r2, r3, asr #1 ", 1, 0, r1, r2, r3, cv); 4273 TESTINST3("orrs.w r1, r2, r3, asr #15", 1, 0, r1, r2, r3, cv); 4274 TESTINST3("orrs.w r1, r2, r3, asr #31", 1, 0, r1, r2, r3, cv); 4275 TESTINST3("orr.w r1, r2, r3, lsl #0 ", 1, 0, r1, r2, r3, cv); 4276 TESTINST3("orr.w r1, r2, r3, lsl #1 ", 1, 0, r1, r2, r3, cv); 4277 TESTINST3("orr.w r1, r2, r3, lsl #15", 1, 0, r1, r2, r3, cv); 4278 TESTINST3("orr.w r1, r2, r3, lsl #31", 1, 0, r1, r2, r3, cv); 4279 TESTINST3("orr.w r1, r2, r3, lsr #0 ", 1, 0, r1, r2, r3, cv); 4280 TESTINST3("orr.w r1, r2, r3, lsr #1 ", 1, 0, r1, r2, r3, cv); 4281 TESTINST3("orr.w r1, r2, r3, lsr #15", 1, 0, r1, r2, r3, cv); 4282 TESTINST3("orr.w r1, r2, r3, lsr #31", 1, 0, r1, r2, r3, cv); 4283 TESTINST3("orr.w r1, r2, r3, asr #0 ", 1, 0, r1, r2, r3, cv); 4284 TESTINST3("orr.w r1, r2, r3, asr #1 ", 1, 0, r1, r2, r3, cv); 4285 TESTINST3("orr.w r1, r2, r3, asr #15", 1, 0, r1, r2, r3, cv); 4286 TESTINST3("orr.w r1, r2, r3, asr #31", 1, 0, r1, r2, r3, cv); 4287 TESTINST3("orrs.w r1, r2, r3, lsl #0 ", 0, 1, r1, r2, r3, cv); 4288 TESTINST3("orrs.w r1, r2, r3, lsl #1 ", 0, 1, r1, r2, r3, cv); 4289 TESTINST3("orrs.w r1, r2, r3, lsl #15", 0, 1, r1, r2, r3, cv); 4290 TESTINST3("orrs.w r1, r2, r3, lsl #31", 0, 1, r1, r2, r3, cv); 4291 TESTINST3("orrs.w r1, r2, r3, lsr #0 ", 0, 1, r1, r2, r3, cv); 4292 TESTINST3("orrs.w r1, r2, r3, lsr #1 ", 0, 1, r1, r2, r3, cv); 4293 TESTINST3("orrs.w r1, r2, r3, lsr #15", 0, 1, r1, r2, r3, cv); 4294 TESTINST3("orrs.w r1, r2, r3, lsr #31", 0, 1, r1, r2, r3, cv); 4295 TESTINST3("orrs.w r1, r2, r3, asr #0 ", 0, 1, r1, r2, r3, cv); 4296 TESTINST3("orrs.w r1, r2, r3, asr #1 ", 0, 1, r1, r2, r3, cv); 4297 TESTINST3("orrs.w r1, r2, r3, asr #15", 0, 1, r1, r2, r3, cv); 4298 TESTINST3("orrs.w r1, r2, r3, asr #31", 0, 1, r1, r2, r3, cv); 4299 TESTINST3("orr.w r1, r2, r3, lsl #0 ", 0, 1, r1, r2, r3, cv); 4300 TESTINST3("orr.w r1, r2, r3, lsl #1 ", 0, 1, r1, r2, r3, cv); 4301 TESTINST3("orr.w r1, r2, r3, lsl #15", 0, 1, r1, r2, r3, cv); 4302 TESTINST3("orr.w r1, r2, r3, lsl #31", 0, 1, r1, r2, r3, cv); 4303 TESTINST3("orr.w r1, r2, r3, lsr #0 ", 0, 1, r1, r2, r3, cv); 4304 TESTINST3("orr.w r1, r2, r3, lsr #1 ", 0, 1, r1, r2, r3, cv); 4305 TESTINST3("orr.w r1, r2, r3, lsr #15", 0, 1, r1, r2, r3, cv); 4306 TESTINST3("orr.w r1, r2, r3, lsr #31", 0, 1, r1, r2, r3, cv); 4307 TESTINST3("orr.w r1, r2, r3, asr #0 ", 0, 1, r1, r2, r3, cv); 4308 TESTINST3("orr.w r1, r2, r3, asr #1 ", 0, 1, r1, r2, r3, cv); 4309 TESTINST3("orr.w r1, r2, r3, asr #15", 0, 1, r1, r2, r3, cv); 4310 TESTINST3("orr.w r1, r2, r3, asr #31", 0, 1, r1, r2, r3, cv); 4311 TESTINST3("orrs.w r1, r2, r3, lsl #0 ", -1, 0, r1, r2, r3, cv); 4312 TESTINST3("orrs.w r1, r2, r3, lsl #1 ", -1, 0, r1, r2, r3, cv); 4313 TESTINST3("orrs.w r1, r2, r3, lsl #15", -1, 0, r1, r2, r3, cv); 4314 TESTINST3("orrs.w r1, r2, r3, lsl #31", -1, 0, r1, r2, r3, cv); 4315 TESTINST3("orrs.w r1, r2, r3, lsr #0 ", -1, 0, r1, r2, r3, cv); 4316 TESTINST3("orrs.w r1, r2, r3, lsr #1 ", -1, 0, r1, r2, r3, cv); 4317 TESTINST3("orrs.w r1, r2, r3, lsr #15", -1, 0, r1, r2, r3, cv); 4318 TESTINST3("orrs.w r1, r2, r3, lsr #31", -1, 0, r1, r2, r3, cv); 4319 TESTINST3("orrs.w r1, r2, r3, asr #0 ", -1, 0, r1, r2, r3, cv); 4320 TESTINST3("orrs.w r1, r2, r3, asr #1 ", -1, 0, r1, r2, r3, cv); 4321 TESTINST3("orrs.w r1, r2, r3, asr #15", -1, 0, r1, r2, r3, cv); 4322 TESTINST3("orrs.w r1, r2, r3, asr #31", -1, 0, r1, r2, r3, cv); 4323 TESTINST3("orr.w r1, r2, r3, lsl #0 ", -1, 0, r1, r2, r3, cv); 4324 TESTINST3("orr.w r1, r2, r3, lsl #1 ", -1, 0, r1, r2, r3, cv); 4325 TESTINST3("orr.w r1, r2, r3, lsl #15", -1, 0, r1, r2, r3, cv); 4326 TESTINST3("orr.w r1, r2, r3, lsl #31", -1, 0, r1, r2, r3, cv); 4327 TESTINST3("orr.w r1, r2, r3, lsr #0 ", -1, 0, r1, r2, r3, cv); 4328 TESTINST3("orr.w r1, r2, r3, lsr #1 ", -1, 0, r1, r2, r3, cv); 4329 TESTINST3("orr.w r1, r2, r3, lsr #15", -1, 0, r1, r2, r3, cv); 4330 TESTINST3("orr.w r1, r2, r3, lsr #31", -1, 0, r1, r2, r3, cv); 4331 TESTINST3("orr.w r1, r2, r3, asr #0 ", -1, 0, r1, r2, r3, cv); 4332 TESTINST3("orr.w r1, r2, r3, asr #1 ", -1, 0, r1, r2, r3, cv); 4333 TESTINST3("orr.w r1, r2, r3, asr #15", -1, 0, r1, r2, r3, cv); 4334 TESTINST3("orr.w r1, r2, r3, asr #31", -1, 0, r1, r2, r3, cv); 4335 TESTINST3("orrs.w r1, r2, r3, lsl #0 ", 0, -1, r1, r2, r3, cv); 4336 TESTINST3("orrs.w r1, r2, r3, lsl #1 ", 0, -1, r1, r2, r3, cv); 4337 TESTINST3("orrs.w r1, r2, r3, lsl #15", 0, -1, r1, r2, r3, cv); 4338 TESTINST3("orrs.w r1, r2, r3, lsl #31", 0, -1, r1, r2, r3, cv); 4339 TESTINST3("orrs.w r1, r2, r3, lsr #0 ", 0, -1, r1, r2, r3, cv); 4340 TESTINST3("orrs.w r1, r2, r3, lsr #1 ", 0, -1, r1, r2, r3, cv); 4341 TESTINST3("orrs.w r1, r2, r3, lsr #15", 0, -1, r1, r2, r3, cv); 4342 TESTINST3("orrs.w r1, r2, r3, lsr #31", 0, -1, r1, r2, r3, cv); 4343 TESTINST3("orrs.w r1, r2, r3, asr #0 ", 0, -1, r1, r2, r3, cv); 4344 TESTINST3("orrs.w r1, r2, r3, asr #1 ", 0, -1, r1, r2, r3, cv); 4345 TESTINST3("orrs.w r1, r2, r3, asr #15", 0, -1, r1, r2, r3, cv); 4346 TESTINST3("orrs.w r1, r2, r3, asr #31", 0, -1, r1, r2, r3, cv); 4347 TESTINST3("orr.w r1, r2, r3, lsl #0 ", 0, -1, r1, r2, r3, cv); 4348 TESTINST3("orr.w r1, r2, r3, lsl #1 ", 0, -1, r1, r2, r3, cv); 4349 TESTINST3("orr.w r1, r2, r3, lsl #15", 0, -1, r1, r2, r3, cv); 4350 TESTINST3("orr.w r1, r2, r3, lsl #31", 0, -1, r1, r2, r3, cv); 4351 TESTINST3("orr.w r1, r2, r3, lsr #0 ", 0, -1, r1, r2, r3, cv); 4352 TESTINST3("orr.w r1, r2, r3, lsr #1 ", 0, -1, r1, r2, r3, cv); 4353 TESTINST3("orr.w r1, r2, r3, lsr #15", 0, -1, r1, r2, r3, cv); 4354 TESTINST3("orr.w r1, r2, r3, lsr #31", 0, -1, r1, r2, r3, cv); 4355 TESTINST3("orr.w r1, r2, r3, asr #0 ", 0, -1, r1, r2, r3, cv); 4356 TESTINST3("orr.w r1, r2, r3, asr #1 ", 0, -1, r1, r2, r3, cv); 4357 TESTINST3("orr.w r1, r2, r3, asr #15", 0, -1, r1, r2, r3, cv); 4358 TESTINST3("orr.w r1, r2, r3, asr #31", 0, -1, r1, r2, r3, cv); 4359 TESTINST3("orrs.w r1, r2, r3, lsl #0 ", 0, 0x80000000, r1, r2, r3, cv); 4360 TESTINST3("orrs.w r1, r2, r3, lsl #1 ", 0, 0x80000000, r1, r2, r3, cv); 4361 TESTINST3("orrs.w r1, r2, r3, lsl #15", 0, 0x80000000, r1, r2, r3, cv); 4362 TESTINST3("orrs.w r1, r2, r3, lsl #31", 0, 0x80000000, r1, r2, r3, cv); 4363 TESTINST3("orrs.w r1, r2, r3, lsr #0 ", 0, 0x80000000, r1, r2, r3, cv); 4364 TESTINST3("orrs.w r1, r2, r3, lsr #1 ", 0, 0x80000000, r1, r2, r3, cv); 4365 TESTINST3("orrs.w r1, r2, r3, lsr #15", 0, 0x80000000, r1, r2, r3, cv); 4366 TESTINST3("orrs.w r1, r2, r3, lsr #31", 0, 0x80000000, r1, r2, r3, cv); 4367 TESTINST3("orrs.w r1, r2, r3, asr #0 ", 0, 0x80000000, r1, r2, r3, cv); 4368 TESTINST3("orrs.w r1, r2, r3, asr #1 ", 0, 0x80000000, r1, r2, r3, cv); 4369 TESTINST3("orrs.w r1, r2, r3, asr #15", 0, 0x80000000, r1, r2, r3, cv); 4370 TESTINST3("orrs.w r1, r2, r3, asr #31", 0, 0x80000000, r1, r2, r3, cv); 4371 TESTINST3("orr.w r1, r2, r3, lsl #0 ", 0, 0x80000000, r1, r2, r3, cv); 4372 TESTINST3("orr.w r1, r2, r3, lsl #1 ", 0, 0x80000000, r1, r2, r3, cv); 4373 TESTINST3("orr.w r1, r2, r3, lsl #15", 0, 0x80000000, r1, r2, r3, cv); 4374 TESTINST3("orr.w r1, r2, r3, lsl #31", 0, 0x80000000, r1, r2, r3, cv); 4375 TESTINST3("orr.w r1, r2, r3, lsr #0 ", 0, 0x80000000, r1, r2, r3, cv); 4376 TESTINST3("orr.w r1, r2, r3, lsr #1 ", 0, 0x80000000, r1, r2, r3, cv); 4377 TESTINST3("orr.w r1, r2, r3, lsr #15", 0, 0x80000000, r1, r2, r3, cv); 4378 TESTINST3("orr.w r1, r2, r3, lsr #31", 0, 0x80000000, r1, r2, r3, cv); 4379 TESTINST3("orr.w r1, r2, r3, asr #0 ", 0, 0x80000000, r1, r2, r3, cv); 4380 TESTINST3("orr.w r1, r2, r3, asr #1 ", 0, 0x80000000, r1, r2, r3, cv); 4381 TESTINST3("orr.w r1, r2, r3, asr #15", 0, 0x80000000, r1, r2, r3, cv); 4382 TESTINST3("orr.w r1, r2, r3, asr #31", 0, 0x80000000, r1, r2, r3, cv); 4383 TESTINST3("orrs.w r1, r2, r3, lsl #0 ", 0x80000000, 0, r1, r2, r3, cv); 4384 TESTINST3("orrs.w r1, r2, r3, lsl #1 ", 0x80000000, 0, r1, r2, r3, cv); 4385 TESTINST3("orrs.w r1, r2, r3, lsl #15", 0x80000000, 0, r1, r2, r3, cv); 4386 TESTINST3("orrs.w r1, r2, r3, lsl #31", 0x80000000, 0, r1, r2, r3, cv); 4387 TESTINST3("orrs.w r1, r2, r3, lsr #0 ", 0x80000000, 0, r1, r2, r3, cv); 4388 TESTINST3("orrs.w r1, r2, r3, lsr #1 ", 0x80000000, 0, r1, r2, r3, cv); 4389 TESTINST3("orrs.w r1, r2, r3, lsr #15", 0x80000000, 0, r1, r2, r3, cv); 4390 TESTINST3("orrs.w r1, r2, r3, lsr #31", 0x80000000, 0, r1, r2, r3, cv); 4391 TESTINST3("orrs.w r1, r2, r3, asr #0 ", 0x80000000, 0, r1, r2, r3, cv); 4392 TESTINST3("orrs.w r1, r2, r3, asr #1 ", 0x80000000, 0, r1, r2, r3, cv); 4393 TESTINST3("orrs.w r1, r2, r3, asr #15", 0x80000000, 0, r1, r2, r3, cv); 4394 TESTINST3("orrs.w r1, r2, r3, asr #31", 0x80000000, 0, r1, r2, r3, cv); 4395 TESTINST3("orr.w r1, r2, r3, lsl #0 ", 0x80000000, 0, r1, r2, r3, cv); 4396 TESTINST3("orr.w r1, r2, r3, lsl #1 ", 0x80000000, 0, r1, r2, r3, cv); 4397 TESTINST3("orr.w r1, r2, r3, lsl #15", 0x80000000, 0, r1, r2, r3, cv); 4398 TESTINST3("orr.w r1, r2, r3, lsl #31", 0x80000000, 0, r1, r2, r3, cv); 4399 TESTINST3("orr.w r1, r2, r3, lsr #0 ", 0x80000000, 0, r1, r2, r3, cv); 4400 TESTINST3("orr.w r1, r2, r3, lsr #1 ", 0x80000000, 0, r1, r2, r3, cv); 4401 TESTINST3("orr.w r1, r2, r3, lsr #15", 0x80000000, 0, r1, r2, r3, cv); 4402 TESTINST3("orr.w r1, r2, r3, lsr #31", 0x80000000, 0, r1, r2, r3, cv); 4403 TESTINST3("orr.w r1, r2, r3, asr #0 ", 0x80000000, 0, r1, r2, r3, cv); 4404 TESTINST3("orr.w r1, r2, r3, asr #1 ", 0x80000000, 0, r1, r2, r3, cv); 4405 TESTINST3("orr.w r1, r2, r3, asr #15", 0x80000000, 0, r1, r2, r3, cv); 4406 TESTINST3("orr.w r1, r2, r3, asr #31", 0x80000000, 0, r1, r2, r3, cv); 4407 TESTINST3("orrs.w r1, r2, r3, lsl #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 4408 TESTINST3("orrs.w r1, r2, r3, lsl #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 4409 TESTINST3("orrs.w r1, r2, r3, lsl #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 4410 TESTINST3("orrs.w r1, r2, r3, lsl #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 4411 TESTINST3("orrs.w r1, r2, r3, lsr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 4412 TESTINST3("orrs.w r1, r2, r3, lsr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 4413 TESTINST3("orrs.w r1, r2, r3, lsr #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 4414 TESTINST3("orrs.w r1, r2, r3, lsr #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 4415 TESTINST3("orrs.w r1, r2, r3, asr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 4416 TESTINST3("orrs.w r1, r2, r3, asr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 4417 TESTINST3("orrs.w r1, r2, r3, asr #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 4418 TESTINST3("orrs.w r1, r2, r3, asr #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 4419 TESTINST3("orr.w r1, r2, r3, lsl #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 4420 TESTINST3("orr.w r1, r2, r3, lsl #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 4421 TESTINST3("orr.w r1, r2, r3, lsl #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 4422 TESTINST3("orr.w r1, r2, r3, lsl #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 4423 TESTINST3("orr.w r1, r2, r3, lsr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 4424 TESTINST3("orr.w r1, r2, r3, lsr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 4425 TESTINST3("orr.w r1, r2, r3, lsr #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 4426 TESTINST3("orr.w r1, r2, r3, lsr #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 4427 TESTINST3("orr.w r1, r2, r3, asr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 4428 TESTINST3("orr.w r1, r2, r3, asr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 4429 TESTINST3("orr.w r1, r2, r3, asr #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 4430 TESTINST3("orr.w r1, r2, r3, asr #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 4431 TESTINST3("orrs.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 4432 TESTINST3("orrs.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 4433 TESTINST3("orrs.w r1, r2, r3, lsl #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 4434 TESTINST3("orrs.w r1, r2, r3, lsl #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 4435 TESTINST3("orrs.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 4436 TESTINST3("orrs.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 4437 TESTINST3("orrs.w r1, r2, r3, lsr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 4438 TESTINST3("orrs.w r1, r2, r3, lsr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 4439 TESTINST3("orrs.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 4440 TESTINST3("orrs.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 4441 TESTINST3("orrs.w r1, r2, r3, asr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 4442 TESTINST3("orrs.w r1, r2, r3, asr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 4443 TESTINST3("orr.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 4444 TESTINST3("orr.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 4445 TESTINST3("orr.w r1, r2, r3, lsl #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 4446 TESTINST3("orr.w r1, r2, r3, lsl #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 4447 TESTINST3("orr.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 4448 TESTINST3("orr.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 4449 TESTINST3("orr.w r1, r2, r3, lsr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 4450 TESTINST3("orr.w r1, r2, r3, lsr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 4451 TESTINST3("orr.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 4452 TESTINST3("orr.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 4453 TESTINST3("orr.w r1, r2, r3, asr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 4454 TESTINST3("orr.w r1, r2, r3, asr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 4455 TESTINST3("orrs.w r1, r2, r3, lsl #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 4456 TESTINST3("orrs.w r1, r2, r3, lsl #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 4457 TESTINST3("orrs.w r1, r2, r3, lsl #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 4458 TESTINST3("orrs.w r1, r2, r3, lsl #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 4459 TESTINST3("orrs.w r1, r2, r3, lsr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 4460 TESTINST3("orrs.w r1, r2, r3, lsr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 4461 TESTINST3("orrs.w r1, r2, r3, lsr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 4462 TESTINST3("orrs.w r1, r2, r3, lsr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 4463 TESTINST3("orrs.w r1, r2, r3, asr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 4464 TESTINST3("orrs.w r1, r2, r3, asr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 4465 TESTINST3("orrs.w r1, r2, r3, asr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 4466 TESTINST3("orrs.w r1, r2, r3, asr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 4467 TESTINST3("orr.w r1, r2, r3, lsl #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 4468 TESTINST3("orr.w r1, r2, r3, lsl #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 4469 TESTINST3("orr.w r1, r2, r3, lsl #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 4470 TESTINST3("orr.w r1, r2, r3, lsl #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 4471 TESTINST3("orr.w r1, r2, r3, lsr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 4472 TESTINST3("orr.w r1, r2, r3, lsr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 4473 TESTINST3("orr.w r1, r2, r3, lsr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 4474 TESTINST3("orr.w r1, r2, r3, lsr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 4475 TESTINST3("orr.w r1, r2, r3, asr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 4476 TESTINST3("orr.w r1, r2, r3, asr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 4477 TESTINST3("orr.w r1, r2, r3, asr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 4478 TESTINST3("orr.w r1, r2, r3, asr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 4479 TESTINST3("orrs.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 4480 TESTINST3("orrs.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 4481 TESTINST3("orrs.w r1, r2, r3, lsl #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 4482 TESTINST3("orrs.w r1, r2, r3, lsl #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 4483 TESTINST3("orrs.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 4484 TESTINST3("orrs.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 4485 TESTINST3("orrs.w r1, r2, r3, lsr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 4486 TESTINST3("orrs.w r1, r2, r3, lsr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 4487 TESTINST3("orrs.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 4488 TESTINST3("orrs.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 4489 TESTINST3("orrs.w r1, r2, r3, asr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 4490 TESTINST3("orrs.w r1, r2, r3, asr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 4491 TESTINST3("orr.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 4492 TESTINST3("orr.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 4493 TESTINST3("orr.w r1, r2, r3, lsl #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 4494 TESTINST3("orr.w r1, r2, r3, lsl #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 4495 TESTINST3("orr.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 4496 TESTINST3("orr.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 4497 TESTINST3("orr.w r1, r2, r3, lsr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 4498 TESTINST3("orr.w r1, r2, r3, lsr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 4499 TESTINST3("orr.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 4500 TESTINST3("orr.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 4501 TESTINST3("orr.w r1, r2, r3, asr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 4502 TESTINST3("orr.w r1, r2, r3, asr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 4503 TESTCARRYEND 4504 4505 printf("EOR{S}.W Rd, Rn, Rm, {shift}\n"); 4506 TESTCARRY 4507 TESTINST3("eors.w r1, r2, r3, lsl #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 4508 TESTINST3("eors.w r1, r2, r3, lsl #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 4509 TESTINST3("eors.w r1, r2, r3, lsl #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 4510 TESTINST3("eors.w r1, r2, r3, lsl #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 4511 TESTINST3("eors.w r1, r2, r3, lsr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 4512 TESTINST3("eors.w r1, r2, r3, lsr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 4513 TESTINST3("eors.w r1, r2, r3, lsr #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 4514 TESTINST3("eors.w r1, r2, r3, lsr #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 4515 TESTINST3("eors.w r1, r2, r3, asr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 4516 TESTINST3("eors.w r1, r2, r3, asr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 4517 TESTINST3("eors.w r1, r2, r3, asr #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 4518 TESTINST3("eors.w r1, r2, r3, asr #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 4519 TESTINST3("eor.w r1, r2, r3, lsl #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 4520 TESTINST3("eor.w r1, r2, r3, lsl #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 4521 TESTINST3("eor.w r1, r2, r3, lsl #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 4522 TESTINST3("eor.w r1, r2, r3, lsl #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 4523 TESTINST3("eor.w r1, r2, r3, lsr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 4524 TESTINST3("eor.w r1, r2, r3, lsr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 4525 TESTINST3("eor.w r1, r2, r3, lsr #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 4526 TESTINST3("eor.w r1, r2, r3, lsr #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 4527 TESTINST3("eor.w r1, r2, r3, asr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 4528 TESTINST3("eor.w r1, r2, r3, asr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 4529 TESTINST3("eor.w r1, r2, r3, asr #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 4530 TESTINST3("eor.w r1, r2, r3, asr #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 4531 TESTINST3("eors.w r1, r2, r3, lsl #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 4532 TESTINST3("eors.w r1, r2, r3, lsl #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 4533 TESTINST3("eors.w r1, r2, r3, lsl #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 4534 TESTINST3("eors.w r1, r2, r3, lsl #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 4535 TESTINST3("eors.w r1, r2, r3, lsr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 4536 TESTINST3("eors.w r1, r2, r3, lsr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 4537 TESTINST3("eors.w r1, r2, r3, lsr #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 4538 TESTINST3("eors.w r1, r2, r3, lsr #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 4539 TESTINST3("eors.w r1, r2, r3, asr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 4540 TESTINST3("eors.w r1, r2, r3, asr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 4541 TESTINST3("eors.w r1, r2, r3, asr #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 4542 TESTINST3("eors.w r1, r2, r3, asr #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 4543 TESTINST3("eor.w r1, r2, r3, lsl #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 4544 TESTINST3("eor.w r1, r2, r3, lsl #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 4545 TESTINST3("eor.w r1, r2, r3, lsl #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 4546 TESTINST3("eor.w r1, r2, r3, lsl #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 4547 TESTINST3("eor.w r1, r2, r3, lsr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 4548 TESTINST3("eor.w r1, r2, r3, lsr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 4549 TESTINST3("eor.w r1, r2, r3, lsr #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 4550 TESTINST3("eor.w r1, r2, r3, lsr #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 4551 TESTINST3("eor.w r1, r2, r3, asr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 4552 TESTINST3("eor.w r1, r2, r3, asr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 4553 TESTINST3("eor.w r1, r2, r3, asr #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 4554 TESTINST3("eor.w r1, r2, r3, asr #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 4555 TESTINST3("eors.w r1, r2, r3, lsl #0 ", 0, 0, r1, r2, r3, cv); 4556 TESTINST3("eors.w r1, r2, r3, lsl #1 ", 0, 0, r1, r2, r3, cv); 4557 TESTINST3("eors.w r1, r2, r3, lsl #15", 0, 0, r1, r2, r3, cv); 4558 TESTINST3("eors.w r1, r2, r3, lsl #31", 0, 0, r1, r2, r3, cv); 4559 TESTINST3("eors.w r1, r2, r3, lsr #0 ", 0, 0, r1, r2, r3, cv); 4560 TESTINST3("eors.w r1, r2, r3, lsr #1 ", 0, 0, r1, r2, r3, cv); 4561 TESTINST3("eors.w r1, r2, r3, lsr #15", 0, 0, r1, r2, r3, cv); 4562 TESTINST3("eors.w r1, r2, r3, lsr #31", 0, 0, r1, r2, r3, cv); 4563 TESTINST3("eors.w r1, r2, r3, asr #0 ", 0, 0, r1, r2, r3, cv); 4564 TESTINST3("eors.w r1, r2, r3, asr #1 ", 0, 0, r1, r2, r3, cv); 4565 TESTINST3("eors.w r1, r2, r3, asr #15", 0, 0, r1, r2, r3, cv); 4566 TESTINST3("eors.w r1, r2, r3, asr #31", 0, 0, r1, r2, r3, cv); 4567 TESTINST3("eor.w r1, r2, r3, lsl #0 ", 0, 0, r1, r2, r3, cv); 4568 TESTINST3("eor.w r1, r2, r3, lsl #1 ", 0, 0, r1, r2, r3, cv); 4569 TESTINST3("eor.w r1, r2, r3, lsl #15", 0, 0, r1, r2, r3, cv); 4570 TESTINST3("eor.w r1, r2, r3, lsl #31", 0, 0, r1, r2, r3, cv); 4571 TESTINST3("eor.w r1, r2, r3, lsr #0 ", 0, 0, r1, r2, r3, cv); 4572 TESTINST3("eor.w r1, r2, r3, lsr #1 ", 0, 0, r1, r2, r3, cv); 4573 TESTINST3("eor.w r1, r2, r3, lsr #15", 0, 0, r1, r2, r3, cv); 4574 TESTINST3("eor.w r1, r2, r3, lsr #31", 0, 0, r1, r2, r3, cv); 4575 TESTINST3("eor.w r1, r2, r3, asr #0 ", 0, 0, r1, r2, r3, cv); 4576 TESTINST3("eor.w r1, r2, r3, asr #1 ", 0, 0, r1, r2, r3, cv); 4577 TESTINST3("eor.w r1, r2, r3, asr #15", 0, 0, r1, r2, r3, cv); 4578 TESTINST3("eor.w r1, r2, r3, asr #31", 0, 0, r1, r2, r3, cv); 4579 TESTINST3("eors.w r1, r2, r3, lsl #0 ", 1, 0, r1, r2, r3, cv); 4580 TESTINST3("eors.w r1, r2, r3, lsl #1 ", 1, 0, r1, r2, r3, cv); 4581 TESTINST3("eors.w r1, r2, r3, lsl #15", 1, 0, r1, r2, r3, cv); 4582 TESTINST3("eors.w r1, r2, r3, lsl #31", 1, 0, r1, r2, r3, cv); 4583 TESTINST3("eors.w r1, r2, r3, lsr #0 ", 1, 0, r1, r2, r3, cv); 4584 TESTINST3("eors.w r1, r2, r3, lsr #1 ", 1, 0, r1, r2, r3, cv); 4585 TESTINST3("eors.w r1, r2, r3, lsr #15", 1, 0, r1, r2, r3, cv); 4586 TESTINST3("eors.w r1, r2, r3, lsr #31", 1, 0, r1, r2, r3, cv); 4587 TESTINST3("eors.w r1, r2, r3, asr #0 ", 1, 0, r1, r2, r3, cv); 4588 TESTINST3("eors.w r1, r2, r3, asr #1 ", 1, 0, r1, r2, r3, cv); 4589 TESTINST3("eors.w r1, r2, r3, asr #15", 1, 0, r1, r2, r3, cv); 4590 TESTINST3("eors.w r1, r2, r3, asr #31", 1, 0, r1, r2, r3, cv); 4591 TESTINST3("eor.w r1, r2, r3, lsl #0 ", 1, 0, r1, r2, r3, cv); 4592 TESTINST3("eor.w r1, r2, r3, lsl #1 ", 1, 0, r1, r2, r3, cv); 4593 TESTINST3("eor.w r1, r2, r3, lsl #15", 1, 0, r1, r2, r3, cv); 4594 TESTINST3("eor.w r1, r2, r3, lsl #31", 1, 0, r1, r2, r3, cv); 4595 TESTINST3("eor.w r1, r2, r3, lsr #0 ", 1, 0, r1, r2, r3, cv); 4596 TESTINST3("eor.w r1, r2, r3, lsr #1 ", 1, 0, r1, r2, r3, cv); 4597 TESTINST3("eor.w r1, r2, r3, lsr #15", 1, 0, r1, r2, r3, cv); 4598 TESTINST3("eor.w r1, r2, r3, lsr #31", 1, 0, r1, r2, r3, cv); 4599 TESTINST3("eor.w r1, r2, r3, asr #0 ", 1, 0, r1, r2, r3, cv); 4600 TESTINST3("eor.w r1, r2, r3, asr #1 ", 1, 0, r1, r2, r3, cv); 4601 TESTINST3("eor.w r1, r2, r3, asr #15", 1, 0, r1, r2, r3, cv); 4602 TESTINST3("eor.w r1, r2, r3, asr #31", 1, 0, r1, r2, r3, cv); 4603 TESTINST3("eors.w r1, r2, r3, lsl #0 ", 0, 1, r1, r2, r3, cv); 4604 TESTINST3("eors.w r1, r2, r3, lsl #1 ", 0, 1, r1, r2, r3, cv); 4605 TESTINST3("eors.w r1, r2, r3, lsl #15", 0, 1, r1, r2, r3, cv); 4606 TESTINST3("eors.w r1, r2, r3, lsl #31", 0, 1, r1, r2, r3, cv); 4607 TESTINST3("eors.w r1, r2, r3, lsr #0 ", 0, 1, r1, r2, r3, cv); 4608 TESTINST3("eors.w r1, r2, r3, lsr #1 ", 0, 1, r1, r2, r3, cv); 4609 TESTINST3("eors.w r1, r2, r3, lsr #15", 0, 1, r1, r2, r3, cv); 4610 TESTINST3("eors.w r1, r2, r3, lsr #31", 0, 1, r1, r2, r3, cv); 4611 TESTINST3("eors.w r1, r2, r3, asr #0 ", 0, 1, r1, r2, r3, cv); 4612 TESTINST3("eors.w r1, r2, r3, asr #1 ", 0, 1, r1, r2, r3, cv); 4613 TESTINST3("eors.w r1, r2, r3, asr #15", 0, 1, r1, r2, r3, cv); 4614 TESTINST3("eors.w r1, r2, r3, asr #31", 0, 1, r1, r2, r3, cv); 4615 TESTINST3("eor.w r1, r2, r3, lsl #0 ", 0, 1, r1, r2, r3, cv); 4616 TESTINST3("eor.w r1, r2, r3, lsl #1 ", 0, 1, r1, r2, r3, cv); 4617 TESTINST3("eor.w r1, r2, r3, lsl #15", 0, 1, r1, r2, r3, cv); 4618 TESTINST3("eor.w r1, r2, r3, lsl #31", 0, 1, r1, r2, r3, cv); 4619 TESTINST3("eor.w r1, r2, r3, lsr #0 ", 0, 1, r1, r2, r3, cv); 4620 TESTINST3("eor.w r1, r2, r3, lsr #1 ", 0, 1, r1, r2, r3, cv); 4621 TESTINST3("eor.w r1, r2, r3, lsr #15", 0, 1, r1, r2, r3, cv); 4622 TESTINST3("eor.w r1, r2, r3, lsr #31", 0, 1, r1, r2, r3, cv); 4623 TESTINST3("eor.w r1, r2, r3, asr #0 ", 0, 1, r1, r2, r3, cv); 4624 TESTINST3("eor.w r1, r2, r3, asr #1 ", 0, 1, r1, r2, r3, cv); 4625 TESTINST3("eor.w r1, r2, r3, asr #15", 0, 1, r1, r2, r3, cv); 4626 TESTINST3("eor.w r1, r2, r3, asr #31", 0, 1, r1, r2, r3, cv); 4627 TESTINST3("eors.w r1, r2, r3, lsl #0 ", -1, 0, r1, r2, r3, cv); 4628 TESTINST3("eors.w r1, r2, r3, lsl #1 ", -1, 0, r1, r2, r3, cv); 4629 TESTINST3("eors.w r1, r2, r3, lsl #15", -1, 0, r1, r2, r3, cv); 4630 TESTINST3("eors.w r1, r2, r3, lsl #31", -1, 0, r1, r2, r3, cv); 4631 TESTINST3("eors.w r1, r2, r3, lsr #0 ", -1, 0, r1, r2, r3, cv); 4632 TESTINST3("eors.w r1, r2, r3, lsr #1 ", -1, 0, r1, r2, r3, cv); 4633 TESTINST3("eors.w r1, r2, r3, lsr #15", -1, 0, r1, r2, r3, cv); 4634 TESTINST3("eors.w r1, r2, r3, lsr #31", -1, 0, r1, r2, r3, cv); 4635 TESTINST3("eors.w r1, r2, r3, asr #0 ", -1, 0, r1, r2, r3, cv); 4636 TESTINST3("eors.w r1, r2, r3, asr #1 ", -1, 0, r1, r2, r3, cv); 4637 TESTINST3("eors.w r1, r2, r3, asr #15", -1, 0, r1, r2, r3, cv); 4638 TESTINST3("eors.w r1, r2, r3, asr #31", -1, 0, r1, r2, r3, cv); 4639 TESTINST3("eor.w r1, r2, r3, lsl #0 ", -1, 0, r1, r2, r3, cv); 4640 TESTINST3("eor.w r1, r2, r3, lsl #1 ", -1, 0, r1, r2, r3, cv); 4641 TESTINST3("eor.w r1, r2, r3, lsl #15", -1, 0, r1, r2, r3, cv); 4642 TESTINST3("eor.w r1, r2, r3, lsl #31", -1, 0, r1, r2, r3, cv); 4643 TESTINST3("eor.w r1, r2, r3, lsr #0 ", -1, 0, r1, r2, r3, cv); 4644 TESTINST3("eor.w r1, r2, r3, lsr #1 ", -1, 0, r1, r2, r3, cv); 4645 TESTINST3("eor.w r1, r2, r3, lsr #15", -1, 0, r1, r2, r3, cv); 4646 TESTINST3("eor.w r1, r2, r3, lsr #31", -1, 0, r1, r2, r3, cv); 4647 TESTINST3("eor.w r1, r2, r3, asr #0 ", -1, 0, r1, r2, r3, cv); 4648 TESTINST3("eor.w r1, r2, r3, asr #1 ", -1, 0, r1, r2, r3, cv); 4649 TESTINST3("eor.w r1, r2, r3, asr #15", -1, 0, r1, r2, r3, cv); 4650 TESTINST3("eor.w r1, r2, r3, asr #31", -1, 0, r1, r2, r3, cv); 4651 TESTINST3("eors.w r1, r2, r3, lsl #0 ", 0, -1, r1, r2, r3, cv); 4652 TESTINST3("eors.w r1, r2, r3, lsl #1 ", 0, -1, r1, r2, r3, cv); 4653 TESTINST3("eors.w r1, r2, r3, lsl #15", 0, -1, r1, r2, r3, cv); 4654 TESTINST3("eors.w r1, r2, r3, lsl #31", 0, -1, r1, r2, r3, cv); 4655 TESTINST3("eors.w r1, r2, r3, lsr #0 ", 0, -1, r1, r2, r3, cv); 4656 TESTINST3("eors.w r1, r2, r3, lsr #1 ", 0, -1, r1, r2, r3, cv); 4657 TESTINST3("eors.w r1, r2, r3, lsr #15", 0, -1, r1, r2, r3, cv); 4658 TESTINST3("eors.w r1, r2, r3, lsr #31", 0, -1, r1, r2, r3, cv); 4659 TESTINST3("eors.w r1, r2, r3, asr #0 ", 0, -1, r1, r2, r3, cv); 4660 TESTINST3("eors.w r1, r2, r3, asr #1 ", 0, -1, r1, r2, r3, cv); 4661 TESTINST3("eors.w r1, r2, r3, asr #15", 0, -1, r1, r2, r3, cv); 4662 TESTINST3("eors.w r1, r2, r3, asr #31", 0, -1, r1, r2, r3, cv); 4663 TESTINST3("eor.w r1, r2, r3, lsl #0 ", 0, -1, r1, r2, r3, cv); 4664 TESTINST3("eor.w r1, r2, r3, lsl #1 ", 0, -1, r1, r2, r3, cv); 4665 TESTINST3("eor.w r1, r2, r3, lsl #15", 0, -1, r1, r2, r3, cv); 4666 TESTINST3("eor.w r1, r2, r3, lsl #31", 0, -1, r1, r2, r3, cv); 4667 TESTINST3("eor.w r1, r2, r3, lsr #0 ", 0, -1, r1, r2, r3, cv); 4668 TESTINST3("eor.w r1, r2, r3, lsr #1 ", 0, -1, r1, r2, r3, cv); 4669 TESTINST3("eor.w r1, r2, r3, lsr #15", 0, -1, r1, r2, r3, cv); 4670 TESTINST3("eor.w r1, r2, r3, lsr #31", 0, -1, r1, r2, r3, cv); 4671 TESTINST3("eor.w r1, r2, r3, asr #0 ", 0, -1, r1, r2, r3, cv); 4672 TESTINST3("eor.w r1, r2, r3, asr #1 ", 0, -1, r1, r2, r3, cv); 4673 TESTINST3("eor.w r1, r2, r3, asr #15", 0, -1, r1, r2, r3, cv); 4674 TESTINST3("eor.w r1, r2, r3, asr #31", 0, -1, r1, r2, r3, cv); 4675 TESTINST3("eors.w r1, r2, r3, lsl #0 ", 0, 0x80000000, r1, r2, r3, cv); 4676 TESTINST3("eors.w r1, r2, r3, lsl #1 ", 0, 0x80000000, r1, r2, r3, cv); 4677 TESTINST3("eors.w r1, r2, r3, lsl #15", 0, 0x80000000, r1, r2, r3, cv); 4678 TESTINST3("eors.w r1, r2, r3, lsl #31", 0, 0x80000000, r1, r2, r3, cv); 4679 TESTINST3("eors.w r1, r2, r3, lsr #0 ", 0, 0x80000000, r1, r2, r3, cv); 4680 TESTINST3("eors.w r1, r2, r3, lsr #1 ", 0, 0x80000000, r1, r2, r3, cv); 4681 TESTINST3("eors.w r1, r2, r3, lsr #15", 0, 0x80000000, r1, r2, r3, cv); 4682 TESTINST3("eors.w r1, r2, r3, lsr #31", 0, 0x80000000, r1, r2, r3, cv); 4683 TESTINST3("eors.w r1, r2, r3, asr #0 ", 0, 0x80000000, r1, r2, r3, cv); 4684 TESTINST3("eors.w r1, r2, r3, asr #1 ", 0, 0x80000000, r1, r2, r3, cv); 4685 TESTINST3("eors.w r1, r2, r3, asr #15", 0, 0x80000000, r1, r2, r3, cv); 4686 TESTINST3("eors.w r1, r2, r3, asr #31", 0, 0x80000000, r1, r2, r3, cv); 4687 TESTINST3("eor.w r1, r2, r3, lsl #0 ", 0, 0x80000000, r1, r2, r3, cv); 4688 TESTINST3("eor.w r1, r2, r3, lsl #1 ", 0, 0x80000000, r1, r2, r3, cv); 4689 TESTINST3("eor.w r1, r2, r3, lsl #15", 0, 0x80000000, r1, r2, r3, cv); 4690 TESTINST3("eor.w r1, r2, r3, lsl #31", 0, 0x80000000, r1, r2, r3, cv); 4691 TESTINST3("eor.w r1, r2, r3, lsr #0 ", 0, 0x80000000, r1, r2, r3, cv); 4692 TESTINST3("eor.w r1, r2, r3, lsr #1 ", 0, 0x80000000, r1, r2, r3, cv); 4693 TESTINST3("eor.w r1, r2, r3, lsr #15", 0, 0x80000000, r1, r2, r3, cv); 4694 TESTINST3("eor.w r1, r2, r3, lsr #31", 0, 0x80000000, r1, r2, r3, cv); 4695 TESTINST3("eor.w r1, r2, r3, asr #0 ", 0, 0x80000000, r1, r2, r3, cv); 4696 TESTINST3("eor.w r1, r2, r3, asr #1 ", 0, 0x80000000, r1, r2, r3, cv); 4697 TESTINST3("eor.w r1, r2, r3, asr #15", 0, 0x80000000, r1, r2, r3, cv); 4698 TESTINST3("eor.w r1, r2, r3, asr #31", 0, 0x80000000, r1, r2, r3, cv); 4699 TESTINST3("eors.w r1, r2, r3, lsl #0 ", 0x80000000, 0, r1, r2, r3, cv); 4700 TESTINST3("eors.w r1, r2, r3, lsl #1 ", 0x80000000, 0, r1, r2, r3, cv); 4701 TESTINST3("eors.w r1, r2, r3, lsl #15", 0x80000000, 0, r1, r2, r3, cv); 4702 TESTINST3("eors.w r1, r2, r3, lsl #31", 0x80000000, 0, r1, r2, r3, cv); 4703 TESTINST3("eors.w r1, r2, r3, lsr #0 ", 0x80000000, 0, r1, r2, r3, cv); 4704 TESTINST3("eors.w r1, r2, r3, lsr #1 ", 0x80000000, 0, r1, r2, r3, cv); 4705 TESTINST3("eors.w r1, r2, r3, lsr #15", 0x80000000, 0, r1, r2, r3, cv); 4706 TESTINST3("eors.w r1, r2, r3, lsr #31", 0x80000000, 0, r1, r2, r3, cv); 4707 TESTINST3("eors.w r1, r2, r3, asr #0 ", 0x80000000, 0, r1, r2, r3, cv); 4708 TESTINST3("eors.w r1, r2, r3, asr #1 ", 0x80000000, 0, r1, r2, r3, cv); 4709 TESTINST3("eors.w r1, r2, r3, asr #15", 0x80000000, 0, r1, r2, r3, cv); 4710 TESTINST3("eors.w r1, r2, r3, asr #31", 0x80000000, 0, r1, r2, r3, cv); 4711 TESTINST3("eor.w r1, r2, r3, lsl #0 ", 0x80000000, 0, r1, r2, r3, cv); 4712 TESTINST3("eor.w r1, r2, r3, lsl #1 ", 0x80000000, 0, r1, r2, r3, cv); 4713 TESTINST3("eor.w r1, r2, r3, lsl #15", 0x80000000, 0, r1, r2, r3, cv); 4714 TESTINST3("eor.w r1, r2, r3, lsl #31", 0x80000000, 0, r1, r2, r3, cv); 4715 TESTINST3("eor.w r1, r2, r3, lsr #0 ", 0x80000000, 0, r1, r2, r3, cv); 4716 TESTINST3("eor.w r1, r2, r3, lsr #1 ", 0x80000000, 0, r1, r2, r3, cv); 4717 TESTINST3("eor.w r1, r2, r3, lsr #15", 0x80000000, 0, r1, r2, r3, cv); 4718 TESTINST3("eor.w r1, r2, r3, lsr #31", 0x80000000, 0, r1, r2, r3, cv); 4719 TESTINST3("eor.w r1, r2, r3, asr #0 ", 0x80000000, 0, r1, r2, r3, cv); 4720 TESTINST3("eor.w r1, r2, r3, asr #1 ", 0x80000000, 0, r1, r2, r3, cv); 4721 TESTINST3("eor.w r1, r2, r3, asr #15", 0x80000000, 0, r1, r2, r3, cv); 4722 TESTINST3("eor.w r1, r2, r3, asr #31", 0x80000000, 0, r1, r2, r3, cv); 4723 TESTINST3("eors.w r1, r2, r3, lsl #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 4724 TESTINST3("eors.w r1, r2, r3, lsl #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 4725 TESTINST3("eors.w r1, r2, r3, lsl #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 4726 TESTINST3("eors.w r1, r2, r3, lsl #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 4727 TESTINST3("eors.w r1, r2, r3, lsr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 4728 TESTINST3("eors.w r1, r2, r3, lsr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 4729 TESTINST3("eors.w r1, r2, r3, lsr #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 4730 TESTINST3("eors.w r1, r2, r3, lsr #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 4731 TESTINST3("eors.w r1, r2, r3, asr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 4732 TESTINST3("eors.w r1, r2, r3, asr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 4733 TESTINST3("eors.w r1, r2, r3, asr #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 4734 TESTINST3("eors.w r1, r2, r3, asr #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 4735 TESTINST3("eor.w r1, r2, r3, lsl #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 4736 TESTINST3("eor.w r1, r2, r3, lsl #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 4737 TESTINST3("eor.w r1, r2, r3, lsl #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 4738 TESTINST3("eor.w r1, r2, r3, lsl #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 4739 TESTINST3("eor.w r1, r2, r3, lsr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 4740 TESTINST3("eor.w r1, r2, r3, lsr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 4741 TESTINST3("eor.w r1, r2, r3, lsr #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 4742 TESTINST3("eor.w r1, r2, r3, lsr #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 4743 TESTINST3("eor.w r1, r2, r3, asr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 4744 TESTINST3("eor.w r1, r2, r3, asr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 4745 TESTINST3("eor.w r1, r2, r3, asr #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 4746 TESTINST3("eor.w r1, r2, r3, asr #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 4747 TESTINST3("eors.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 4748 TESTINST3("eors.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 4749 TESTINST3("eors.w r1, r2, r3, lsl #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 4750 TESTINST3("eors.w r1, r2, r3, lsl #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 4751 TESTINST3("eors.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 4752 TESTINST3("eors.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 4753 TESTINST3("eors.w r1, r2, r3, lsr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 4754 TESTINST3("eors.w r1, r2, r3, lsr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 4755 TESTINST3("eors.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 4756 TESTINST3("eors.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 4757 TESTINST3("eors.w r1, r2, r3, asr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 4758 TESTINST3("eors.w r1, r2, r3, asr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 4759 TESTINST3("eor.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 4760 TESTINST3("eor.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 4761 TESTINST3("eor.w r1, r2, r3, lsl #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 4762 TESTINST3("eor.w r1, r2, r3, lsl #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 4763 TESTINST3("eor.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 4764 TESTINST3("eor.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 4765 TESTINST3("eor.w r1, r2, r3, lsr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 4766 TESTINST3("eor.w r1, r2, r3, lsr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 4767 TESTINST3("eor.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 4768 TESTINST3("eor.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 4769 TESTINST3("eor.w r1, r2, r3, asr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 4770 TESTINST3("eor.w r1, r2, r3, asr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 4771 TESTINST3("eors.w r1, r2, r3, lsl #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 4772 TESTINST3("eors.w r1, r2, r3, lsl #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 4773 TESTINST3("eors.w r1, r2, r3, lsl #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 4774 TESTINST3("eors.w r1, r2, r3, lsl #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 4775 TESTINST3("eors.w r1, r2, r3, lsr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 4776 TESTINST3("eors.w r1, r2, r3, lsr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 4777 TESTINST3("eors.w r1, r2, r3, lsr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 4778 TESTINST3("eors.w r1, r2, r3, lsr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 4779 TESTINST3("eors.w r1, r2, r3, asr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 4780 TESTINST3("eors.w r1, r2, r3, asr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 4781 TESTINST3("eors.w r1, r2, r3, asr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 4782 TESTINST3("eors.w r1, r2, r3, asr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 4783 TESTINST3("eor.w r1, r2, r3, lsl #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 4784 TESTINST3("eor.w r1, r2, r3, lsl #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 4785 TESTINST3("eor.w r1, r2, r3, lsl #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 4786 TESTINST3("eor.w r1, r2, r3, lsl #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 4787 TESTINST3("eor.w r1, r2, r3, lsr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 4788 TESTINST3("eor.w r1, r2, r3, lsr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 4789 TESTINST3("eor.w r1, r2, r3, lsr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 4790 TESTINST3("eor.w r1, r2, r3, lsr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 4791 TESTINST3("eor.w r1, r2, r3, asr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 4792 TESTINST3("eor.w r1, r2, r3, asr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 4793 TESTINST3("eor.w r1, r2, r3, asr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 4794 TESTINST3("eor.w r1, r2, r3, asr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 4795 TESTINST3("eors.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 4796 TESTINST3("eors.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 4797 TESTINST3("eors.w r1, r2, r3, lsl #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 4798 TESTINST3("eors.w r1, r2, r3, lsl #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 4799 TESTINST3("eors.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 4800 TESTINST3("eors.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 4801 TESTINST3("eors.w r1, r2, r3, lsr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 4802 TESTINST3("eors.w r1, r2, r3, lsr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 4803 TESTINST3("eors.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 4804 TESTINST3("eors.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 4805 TESTINST3("eors.w r1, r2, r3, asr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 4806 TESTINST3("eors.w r1, r2, r3, asr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 4807 TESTINST3("eor.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 4808 TESTINST3("eor.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 4809 TESTINST3("eor.w r1, r2, r3, lsl #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 4810 TESTINST3("eor.w r1, r2, r3, lsl #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 4811 TESTINST3("eor.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 4812 TESTINST3("eor.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 4813 TESTINST3("eor.w r1, r2, r3, lsr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 4814 TESTINST3("eor.w r1, r2, r3, lsr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 4815 TESTINST3("eor.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 4816 TESTINST3("eor.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 4817 TESTINST3("eor.w r1, r2, r3, asr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 4818 TESTINST3("eor.w r1, r2, r3, asr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 4819 TESTCARRYEND 4820 4821 printf("BIC{S}.W Rd, Rn, Rm, {shift}\n"); 4822 TESTCARRY 4823 TESTINST3("bics.w r1, r2, r3, lsl #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 4824 TESTINST3("bics.w r1, r2, r3, lsl #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 4825 TESTINST3("bics.w r1, r2, r3, lsl #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 4826 TESTINST3("bics.w r1, r2, r3, lsl #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 4827 TESTINST3("bics.w r1, r2, r3, lsr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 4828 TESTINST3("bics.w r1, r2, r3, lsr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 4829 TESTINST3("bics.w r1, r2, r3, lsr #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 4830 TESTINST3("bics.w r1, r2, r3, lsr #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 4831 TESTINST3("bics.w r1, r2, r3, asr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 4832 TESTINST3("bics.w r1, r2, r3, asr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 4833 TESTINST3("bics.w r1, r2, r3, asr #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 4834 TESTINST3("bics.w r1, r2, r3, asr #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 4835 TESTINST3("bic.w r1, r2, r3, lsl #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 4836 TESTINST3("bic.w r1, r2, r3, lsl #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 4837 TESTINST3("bic.w r1, r2, r3, lsl #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 4838 TESTINST3("bic.w r1, r2, r3, lsl #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 4839 TESTINST3("bic.w r1, r2, r3, lsr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 4840 TESTINST3("bic.w r1, r2, r3, lsr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 4841 TESTINST3("bic.w r1, r2, r3, lsr #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 4842 TESTINST3("bic.w r1, r2, r3, lsr #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 4843 TESTINST3("bic.w r1, r2, r3, asr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 4844 TESTINST3("bic.w r1, r2, r3, asr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 4845 TESTINST3("bic.w r1, r2, r3, asr #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 4846 TESTINST3("bic.w r1, r2, r3, asr #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 4847 TESTINST3("bics.w r1, r2, r3, lsl #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 4848 TESTINST3("bics.w r1, r2, r3, lsl #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 4849 TESTINST3("bics.w r1, r2, r3, lsl #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 4850 TESTINST3("bics.w r1, r2, r3, lsl #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 4851 TESTINST3("bics.w r1, r2, r3, lsr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 4852 TESTINST3("bics.w r1, r2, r3, lsr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 4853 TESTINST3("bics.w r1, r2, r3, lsr #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 4854 TESTINST3("bics.w r1, r2, r3, lsr #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 4855 TESTINST3("bics.w r1, r2, r3, asr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 4856 TESTINST3("bics.w r1, r2, r3, asr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 4857 TESTINST3("bics.w r1, r2, r3, asr #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 4858 TESTINST3("bics.w r1, r2, r3, asr #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 4859 TESTINST3("bic.w r1, r2, r3, lsl #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 4860 TESTINST3("bic.w r1, r2, r3, lsl #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 4861 TESTINST3("bic.w r1, r2, r3, lsl #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 4862 TESTINST3("bic.w r1, r2, r3, lsl #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 4863 TESTINST3("bic.w r1, r2, r3, lsr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 4864 TESTINST3("bic.w r1, r2, r3, lsr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 4865 TESTINST3("bic.w r1, r2, r3, lsr #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 4866 TESTINST3("bic.w r1, r2, r3, lsr #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 4867 TESTINST3("bic.w r1, r2, r3, asr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 4868 TESTINST3("bic.w r1, r2, r3, asr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 4869 TESTINST3("bic.w r1, r2, r3, asr #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 4870 TESTINST3("bic.w r1, r2, r3, asr #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 4871 TESTINST3("bics.w r1, r2, r3, lsl #0 ", 0, 0, r1, r2, r3, cv); 4872 TESTINST3("bics.w r1, r2, r3, lsl #1 ", 0, 0, r1, r2, r3, cv); 4873 TESTINST3("bics.w r1, r2, r3, lsl #15", 0, 0, r1, r2, r3, cv); 4874 TESTINST3("bics.w r1, r2, r3, lsl #31", 0, 0, r1, r2, r3, cv); 4875 TESTINST3("bics.w r1, r2, r3, lsr #0 ", 0, 0, r1, r2, r3, cv); 4876 TESTINST3("bics.w r1, r2, r3, lsr #1 ", 0, 0, r1, r2, r3, cv); 4877 TESTINST3("bics.w r1, r2, r3, lsr #15", 0, 0, r1, r2, r3, cv); 4878 TESTINST3("bics.w r1, r2, r3, lsr #31", 0, 0, r1, r2, r3, cv); 4879 TESTINST3("bics.w r1, r2, r3, asr #0 ", 0, 0, r1, r2, r3, cv); 4880 TESTINST3("bics.w r1, r2, r3, asr #1 ", 0, 0, r1, r2, r3, cv); 4881 TESTINST3("bics.w r1, r2, r3, asr #15", 0, 0, r1, r2, r3, cv); 4882 TESTINST3("bics.w r1, r2, r3, asr #31", 0, 0, r1, r2, r3, cv); 4883 TESTINST3("bic.w r1, r2, r3, lsl #0 ", 0, 0, r1, r2, r3, cv); 4884 TESTINST3("bic.w r1, r2, r3, lsl #1 ", 0, 0, r1, r2, r3, cv); 4885 TESTINST3("bic.w r1, r2, r3, lsl #15", 0, 0, r1, r2, r3, cv); 4886 TESTINST3("bic.w r1, r2, r3, lsl #31", 0, 0, r1, r2, r3, cv); 4887 TESTINST3("bic.w r1, r2, r3, lsr #0 ", 0, 0, r1, r2, r3, cv); 4888 TESTINST3("bic.w r1, r2, r3, lsr #1 ", 0, 0, r1, r2, r3, cv); 4889 TESTINST3("bic.w r1, r2, r3, lsr #15", 0, 0, r1, r2, r3, cv); 4890 TESTINST3("bic.w r1, r2, r3, lsr #31", 0, 0, r1, r2, r3, cv); 4891 TESTINST3("bic.w r1, r2, r3, asr #0 ", 0, 0, r1, r2, r3, cv); 4892 TESTINST3("bic.w r1, r2, r3, asr #1 ", 0, 0, r1, r2, r3, cv); 4893 TESTINST3("bic.w r1, r2, r3, asr #15", 0, 0, r1, r2, r3, cv); 4894 TESTINST3("bic.w r1, r2, r3, asr #31", 0, 0, r1, r2, r3, cv); 4895 TESTINST3("bics.w r1, r2, r3, lsl #0 ", 1, 0, r1, r2, r3, cv); 4896 TESTINST3("bics.w r1, r2, r3, lsl #1 ", 1, 0, r1, r2, r3, cv); 4897 TESTINST3("bics.w r1, r2, r3, lsl #15", 1, 0, r1, r2, r3, cv); 4898 TESTINST3("bics.w r1, r2, r3, lsl #31", 1, 0, r1, r2, r3, cv); 4899 TESTINST3("bics.w r1, r2, r3, lsr #0 ", 1, 0, r1, r2, r3, cv); 4900 TESTINST3("bics.w r1, r2, r3, lsr #1 ", 1, 0, r1, r2, r3, cv); 4901 TESTINST3("bics.w r1, r2, r3, lsr #15", 1, 0, r1, r2, r3, cv); 4902 TESTINST3("bics.w r1, r2, r3, lsr #31", 1, 0, r1, r2, r3, cv); 4903 TESTINST3("bics.w r1, r2, r3, asr #0 ", 1, 0, r1, r2, r3, cv); 4904 TESTINST3("bics.w r1, r2, r3, asr #1 ", 1, 0, r1, r2, r3, cv); 4905 TESTINST3("bics.w r1, r2, r3, asr #15", 1, 0, r1, r2, r3, cv); 4906 TESTINST3("bics.w r1, r2, r3, asr #31", 1, 0, r1, r2, r3, cv); 4907 TESTINST3("bic.w r1, r2, r3, lsl #0 ", 1, 0, r1, r2, r3, cv); 4908 TESTINST3("bic.w r1, r2, r3, lsl #1 ", 1, 0, r1, r2, r3, cv); 4909 TESTINST3("bic.w r1, r2, r3, lsl #15", 1, 0, r1, r2, r3, cv); 4910 TESTINST3("bic.w r1, r2, r3, lsl #31", 1, 0, r1, r2, r3, cv); 4911 TESTINST3("bic.w r1, r2, r3, lsr #0 ", 1, 0, r1, r2, r3, cv); 4912 TESTINST3("bic.w r1, r2, r3, lsr #1 ", 1, 0, r1, r2, r3, cv); 4913 TESTINST3("bic.w r1, r2, r3, lsr #15", 1, 0, r1, r2, r3, cv); 4914 TESTINST3("bic.w r1, r2, r3, lsr #31", 1, 0, r1, r2, r3, cv); 4915 TESTINST3("bic.w r1, r2, r3, asr #0 ", 1, 0, r1, r2, r3, cv); 4916 TESTINST3("bic.w r1, r2, r3, asr #1 ", 1, 0, r1, r2, r3, cv); 4917 TESTINST3("bic.w r1, r2, r3, asr #15", 1, 0, r1, r2, r3, cv); 4918 TESTINST3("bic.w r1, r2, r3, asr #31", 1, 0, r1, r2, r3, cv); 4919 TESTINST3("bics.w r1, r2, r3, lsl #0 ", 0, 1, r1, r2, r3, cv); 4920 TESTINST3("bics.w r1, r2, r3, lsl #1 ", 0, 1, r1, r2, r3, cv); 4921 TESTINST3("bics.w r1, r2, r3, lsl #15", 0, 1, r1, r2, r3, cv); 4922 TESTINST3("bics.w r1, r2, r3, lsl #31", 0, 1, r1, r2, r3, cv); 4923 TESTINST3("bics.w r1, r2, r3, lsr #0 ", 0, 1, r1, r2, r3, cv); 4924 TESTINST3("bics.w r1, r2, r3, lsr #1 ", 0, 1, r1, r2, r3, cv); 4925 TESTINST3("bics.w r1, r2, r3, lsr #15", 0, 1, r1, r2, r3, cv); 4926 TESTINST3("bics.w r1, r2, r3, lsr #31", 0, 1, r1, r2, r3, cv); 4927 TESTINST3("bics.w r1, r2, r3, asr #0 ", 0, 1, r1, r2, r3, cv); 4928 TESTINST3("bics.w r1, r2, r3, asr #1 ", 0, 1, r1, r2, r3, cv); 4929 TESTINST3("bics.w r1, r2, r3, asr #15", 0, 1, r1, r2, r3, cv); 4930 TESTINST3("bics.w r1, r2, r3, asr #31", 0, 1, r1, r2, r3, cv); 4931 TESTINST3("bic.w r1, r2, r3, lsl #0 ", 0, 1, r1, r2, r3, cv); 4932 TESTINST3("bic.w r1, r2, r3, lsl #1 ", 0, 1, r1, r2, r3, cv); 4933 TESTINST3("bic.w r1, r2, r3, lsl #15", 0, 1, r1, r2, r3, cv); 4934 TESTINST3("bic.w r1, r2, r3, lsl #31", 0, 1, r1, r2, r3, cv); 4935 TESTINST3("bic.w r1, r2, r3, lsr #0 ", 0, 1, r1, r2, r3, cv); 4936 TESTINST3("bic.w r1, r2, r3, lsr #1 ", 0, 1, r1, r2, r3, cv); 4937 TESTINST3("bic.w r1, r2, r3, lsr #15", 0, 1, r1, r2, r3, cv); 4938 TESTINST3("bic.w r1, r2, r3, lsr #31", 0, 1, r1, r2, r3, cv); 4939 TESTINST3("bic.w r1, r2, r3, asr #0 ", 0, 1, r1, r2, r3, cv); 4940 TESTINST3("bic.w r1, r2, r3, asr #1 ", 0, 1, r1, r2, r3, cv); 4941 TESTINST3("bic.w r1, r2, r3, asr #15", 0, 1, r1, r2, r3, cv); 4942 TESTINST3("bic.w r1, r2, r3, asr #31", 0, 1, r1, r2, r3, cv); 4943 TESTINST3("bics.w r1, r2, r3, lsl #0 ", -1, 0, r1, r2, r3, cv); 4944 TESTINST3("bics.w r1, r2, r3, lsl #1 ", -1, 0, r1, r2, r3, cv); 4945 TESTINST3("bics.w r1, r2, r3, lsl #15", -1, 0, r1, r2, r3, cv); 4946 TESTINST3("bics.w r1, r2, r3, lsl #31", -1, 0, r1, r2, r3, cv); 4947 TESTINST3("bics.w r1, r2, r3, lsr #0 ", -1, 0, r1, r2, r3, cv); 4948 TESTINST3("bics.w r1, r2, r3, lsr #1 ", -1, 0, r1, r2, r3, cv); 4949 TESTINST3("bics.w r1, r2, r3, lsr #15", -1, 0, r1, r2, r3, cv); 4950 TESTINST3("bics.w r1, r2, r3, lsr #31", -1, 0, r1, r2, r3, cv); 4951 TESTINST3("bics.w r1, r2, r3, asr #0 ", -1, 0, r1, r2, r3, cv); 4952 TESTINST3("bics.w r1, r2, r3, asr #1 ", -1, 0, r1, r2, r3, cv); 4953 TESTINST3("bics.w r1, r2, r3, asr #15", -1, 0, r1, r2, r3, cv); 4954 TESTINST3("bics.w r1, r2, r3, asr #31", -1, 0, r1, r2, r3, cv); 4955 TESTINST3("bic.w r1, r2, r3, lsl #0 ", -1, 0, r1, r2, r3, cv); 4956 TESTINST3("bic.w r1, r2, r3, lsl #1 ", -1, 0, r1, r2, r3, cv); 4957 TESTINST3("bic.w r1, r2, r3, lsl #15", -1, 0, r1, r2, r3, cv); 4958 TESTINST3("bic.w r1, r2, r3, lsl #31", -1, 0, r1, r2, r3, cv); 4959 TESTINST3("bic.w r1, r2, r3, lsr #0 ", -1, 0, r1, r2, r3, cv); 4960 TESTINST3("bic.w r1, r2, r3, lsr #1 ", -1, 0, r1, r2, r3, cv); 4961 TESTINST3("bic.w r1, r2, r3, lsr #15", -1, 0, r1, r2, r3, cv); 4962 TESTINST3("bic.w r1, r2, r3, lsr #31", -1, 0, r1, r2, r3, cv); 4963 TESTINST3("bic.w r1, r2, r3, asr #0 ", -1, 0, r1, r2, r3, cv); 4964 TESTINST3("bic.w r1, r2, r3, asr #1 ", -1, 0, r1, r2, r3, cv); 4965 TESTINST3("bic.w r1, r2, r3, asr #15", -1, 0, r1, r2, r3, cv); 4966 TESTINST3("bic.w r1, r2, r3, asr #31", -1, 0, r1, r2, r3, cv); 4967 TESTINST3("bics.w r1, r2, r3, lsl #0 ", 0, -1, r1, r2, r3, cv); 4968 TESTINST3("bics.w r1, r2, r3, lsl #1 ", 0, -1, r1, r2, r3, cv); 4969 TESTINST3("bics.w r1, r2, r3, lsl #15", 0, -1, r1, r2, r3, cv); 4970 TESTINST3("bics.w r1, r2, r3, lsl #31", 0, -1, r1, r2, r3, cv); 4971 TESTINST3("bics.w r1, r2, r3, lsr #0 ", 0, -1, r1, r2, r3, cv); 4972 TESTINST3("bics.w r1, r2, r3, lsr #1 ", 0, -1, r1, r2, r3, cv); 4973 TESTINST3("bics.w r1, r2, r3, lsr #15", 0, -1, r1, r2, r3, cv); 4974 TESTINST3("bics.w r1, r2, r3, lsr #31", 0, -1, r1, r2, r3, cv); 4975 TESTINST3("bics.w r1, r2, r3, asr #0 ", 0, -1, r1, r2, r3, cv); 4976 TESTINST3("bics.w r1, r2, r3, asr #1 ", 0, -1, r1, r2, r3, cv); 4977 TESTINST3("bics.w r1, r2, r3, asr #15", 0, -1, r1, r2, r3, cv); 4978 TESTINST3("bics.w r1, r2, r3, asr #31", 0, -1, r1, r2, r3, cv); 4979 TESTINST3("bic.w r1, r2, r3, lsl #0 ", 0, -1, r1, r2, r3, cv); 4980 TESTINST3("bic.w r1, r2, r3, lsl #1 ", 0, -1, r1, r2, r3, cv); 4981 TESTINST3("bic.w r1, r2, r3, lsl #15", 0, -1, r1, r2, r3, cv); 4982 TESTINST3("bic.w r1, r2, r3, lsl #31", 0, -1, r1, r2, r3, cv); 4983 TESTINST3("bic.w r1, r2, r3, lsr #0 ", 0, -1, r1, r2, r3, cv); 4984 TESTINST3("bic.w r1, r2, r3, lsr #1 ", 0, -1, r1, r2, r3, cv); 4985 TESTINST3("bic.w r1, r2, r3, lsr #15", 0, -1, r1, r2, r3, cv); 4986 TESTINST3("bic.w r1, r2, r3, lsr #31", 0, -1, r1, r2, r3, cv); 4987 TESTINST3("bic.w r1, r2, r3, asr #0 ", 0, -1, r1, r2, r3, cv); 4988 TESTINST3("bic.w r1, r2, r3, asr #1 ", 0, -1, r1, r2, r3, cv); 4989 TESTINST3("bic.w r1, r2, r3, asr #15", 0, -1, r1, r2, r3, cv); 4990 TESTINST3("bic.w r1, r2, r3, asr #31", 0, -1, r1, r2, r3, cv); 4991 TESTINST3("bics.w r1, r2, r3, lsl #0 ", 0, 0x80000000, r1, r2, r3, cv); 4992 TESTINST3("bics.w r1, r2, r3, lsl #1 ", 0, 0x80000000, r1, r2, r3, cv); 4993 TESTINST3("bics.w r1, r2, r3, lsl #15", 0, 0x80000000, r1, r2, r3, cv); 4994 TESTINST3("bics.w r1, r2, r3, lsl #31", 0, 0x80000000, r1, r2, r3, cv); 4995 TESTINST3("bics.w r1, r2, r3, lsr #0 ", 0, 0x80000000, r1, r2, r3, cv); 4996 TESTINST3("bics.w r1, r2, r3, lsr #1 ", 0, 0x80000000, r1, r2, r3, cv); 4997 TESTINST3("bics.w r1, r2, r3, lsr #15", 0, 0x80000000, r1, r2, r3, cv); 4998 TESTINST3("bics.w r1, r2, r3, lsr #31", 0, 0x80000000, r1, r2, r3, cv); 4999 TESTINST3("bics.w r1, r2, r3, asr #0 ", 0, 0x80000000, r1, r2, r3, cv); 5000 TESTINST3("bics.w r1, r2, r3, asr #1 ", 0, 0x80000000, r1, r2, r3, cv); 5001 TESTINST3("bics.w r1, r2, r3, asr #15", 0, 0x80000000, r1, r2, r3, cv); 5002 TESTINST3("bics.w r1, r2, r3, asr #31", 0, 0x80000000, r1, r2, r3, cv); 5003 TESTINST3("bic.w r1, r2, r3, lsl #0 ", 0, 0x80000000, r1, r2, r3, cv); 5004 TESTINST3("bic.w r1, r2, r3, lsl #1 ", 0, 0x80000000, r1, r2, r3, cv); 5005 TESTINST3("bic.w r1, r2, r3, lsl #15", 0, 0x80000000, r1, r2, r3, cv); 5006 TESTINST3("bic.w r1, r2, r3, lsl #31", 0, 0x80000000, r1, r2, r3, cv); 5007 TESTINST3("bic.w r1, r2, r3, lsr #0 ", 0, 0x80000000, r1, r2, r3, cv); 5008 TESTINST3("bic.w r1, r2, r3, lsr #1 ", 0, 0x80000000, r1, r2, r3, cv); 5009 TESTINST3("bic.w r1, r2, r3, lsr #15", 0, 0x80000000, r1, r2, r3, cv); 5010 TESTINST3("bic.w r1, r2, r3, lsr #31", 0, 0x80000000, r1, r2, r3, cv); 5011 TESTINST3("bic.w r1, r2, r3, asr #0 ", 0, 0x80000000, r1, r2, r3, cv); 5012 TESTINST3("bic.w r1, r2, r3, asr #1 ", 0, 0x80000000, r1, r2, r3, cv); 5013 TESTINST3("bic.w r1, r2, r3, asr #15", 0, 0x80000000, r1, r2, r3, cv); 5014 TESTINST3("bic.w r1, r2, r3, asr #31", 0, 0x80000000, r1, r2, r3, cv); 5015 TESTINST3("bics.w r1, r2, r3, lsl #0 ", 0x80000000, 0, r1, r2, r3, cv); 5016 TESTINST3("bics.w r1, r2, r3, lsl #1 ", 0x80000000, 0, r1, r2, r3, cv); 5017 TESTINST3("bics.w r1, r2, r3, lsl #15", 0x80000000, 0, r1, r2, r3, cv); 5018 TESTINST3("bics.w r1, r2, r3, lsl #31", 0x80000000, 0, r1, r2, r3, cv); 5019 TESTINST3("bics.w r1, r2, r3, lsr #0 ", 0x80000000, 0, r1, r2, r3, cv); 5020 TESTINST3("bics.w r1, r2, r3, lsr #1 ", 0x80000000, 0, r1, r2, r3, cv); 5021 TESTINST3("bics.w r1, r2, r3, lsr #15", 0x80000000, 0, r1, r2, r3, cv); 5022 TESTINST3("bics.w r1, r2, r3, lsr #31", 0x80000000, 0, r1, r2, r3, cv); 5023 TESTINST3("bics.w r1, r2, r3, asr #0 ", 0x80000000, 0, r1, r2, r3, cv); 5024 TESTINST3("bics.w r1, r2, r3, asr #1 ", 0x80000000, 0, r1, r2, r3, cv); 5025 TESTINST3("bics.w r1, r2, r3, asr #15", 0x80000000, 0, r1, r2, r3, cv); 5026 TESTINST3("bics.w r1, r2, r3, asr #31", 0x80000000, 0, r1, r2, r3, cv); 5027 TESTINST3("bic.w r1, r2, r3, lsl #0 ", 0x80000000, 0, r1, r2, r3, cv); 5028 TESTINST3("bic.w r1, r2, r3, lsl #1 ", 0x80000000, 0, r1, r2, r3, cv); 5029 TESTINST3("bic.w r1, r2, r3, lsl #15", 0x80000000, 0, r1, r2, r3, cv); 5030 TESTINST3("bic.w r1, r2, r3, lsl #31", 0x80000000, 0, r1, r2, r3, cv); 5031 TESTINST3("bic.w r1, r2, r3, lsr #0 ", 0x80000000, 0, r1, r2, r3, cv); 5032 TESTINST3("bic.w r1, r2, r3, lsr #1 ", 0x80000000, 0, r1, r2, r3, cv); 5033 TESTINST3("bic.w r1, r2, r3, lsr #15", 0x80000000, 0, r1, r2, r3, cv); 5034 TESTINST3("bic.w r1, r2, r3, lsr #31", 0x80000000, 0, r1, r2, r3, cv); 5035 TESTINST3("bic.w r1, r2, r3, asr #0 ", 0x80000000, 0, r1, r2, r3, cv); 5036 TESTINST3("bic.w r1, r2, r3, asr #1 ", 0x80000000, 0, r1, r2, r3, cv); 5037 TESTINST3("bic.w r1, r2, r3, asr #15", 0x80000000, 0, r1, r2, r3, cv); 5038 TESTINST3("bic.w r1, r2, r3, asr #31", 0x80000000, 0, r1, r2, r3, cv); 5039 TESTINST3("bics.w r1, r2, r3, lsl #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 5040 TESTINST3("bics.w r1, r2, r3, lsl #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 5041 TESTINST3("bics.w r1, r2, r3, lsl #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 5042 TESTINST3("bics.w r1, r2, r3, lsl #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 5043 TESTINST3("bics.w r1, r2, r3, lsr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 5044 TESTINST3("bics.w r1, r2, r3, lsr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 5045 TESTINST3("bics.w r1, r2, r3, lsr #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 5046 TESTINST3("bics.w r1, r2, r3, lsr #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 5047 TESTINST3("bics.w r1, r2, r3, asr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 5048 TESTINST3("bics.w r1, r2, r3, asr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 5049 TESTINST3("bics.w r1, r2, r3, asr #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 5050 TESTINST3("bics.w r1, r2, r3, asr #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 5051 TESTINST3("bic.w r1, r2, r3, lsl #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 5052 TESTINST3("bic.w r1, r2, r3, lsl #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 5053 TESTINST3("bic.w r1, r2, r3, lsl #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 5054 TESTINST3("bic.w r1, r2, r3, lsl #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 5055 TESTINST3("bic.w r1, r2, r3, lsr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 5056 TESTINST3("bic.w r1, r2, r3, lsr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 5057 TESTINST3("bic.w r1, r2, r3, lsr #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 5058 TESTINST3("bic.w r1, r2, r3, lsr #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 5059 TESTINST3("bic.w r1, r2, r3, asr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 5060 TESTINST3("bic.w r1, r2, r3, asr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 5061 TESTINST3("bic.w r1, r2, r3, asr #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 5062 TESTINST3("bic.w r1, r2, r3, asr #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 5063 TESTINST3("bics.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 5064 TESTINST3("bics.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 5065 TESTINST3("bics.w r1, r2, r3, lsl #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 5066 TESTINST3("bics.w r1, r2, r3, lsl #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 5067 TESTINST3("bics.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 5068 TESTINST3("bics.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 5069 TESTINST3("bics.w r1, r2, r3, lsr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 5070 TESTINST3("bics.w r1, r2, r3, lsr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 5071 TESTINST3("bics.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 5072 TESTINST3("bics.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 5073 TESTINST3("bics.w r1, r2, r3, asr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 5074 TESTINST3("bics.w r1, r2, r3, asr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 5075 TESTINST3("bic.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 5076 TESTINST3("bic.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 5077 TESTINST3("bic.w r1, r2, r3, lsl #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 5078 TESTINST3("bic.w r1, r2, r3, lsl #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 5079 TESTINST3("bic.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 5080 TESTINST3("bic.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 5081 TESTINST3("bic.w r1, r2, r3, lsr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 5082 TESTINST3("bic.w r1, r2, r3, lsr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 5083 TESTINST3("bic.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 5084 TESTINST3("bic.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 5085 TESTINST3("bic.w r1, r2, r3, asr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 5086 TESTINST3("bic.w r1, r2, r3, asr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 5087 TESTINST3("bics.w r1, r2, r3, lsl #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 5088 TESTINST3("bics.w r1, r2, r3, lsl #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 5089 TESTINST3("bics.w r1, r2, r3, lsl #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 5090 TESTINST3("bics.w r1, r2, r3, lsl #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 5091 TESTINST3("bics.w r1, r2, r3, lsr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 5092 TESTINST3("bics.w r1, r2, r3, lsr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 5093 TESTINST3("bics.w r1, r2, r3, lsr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 5094 TESTINST3("bics.w r1, r2, r3, lsr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 5095 TESTINST3("bics.w r1, r2, r3, asr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 5096 TESTINST3("bics.w r1, r2, r3, asr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 5097 TESTINST3("bics.w r1, r2, r3, asr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 5098 TESTINST3("bics.w r1, r2, r3, asr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 5099 TESTINST3("bic.w r1, r2, r3, lsl #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 5100 TESTINST3("bic.w r1, r2, r3, lsl #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 5101 TESTINST3("bic.w r1, r2, r3, lsl #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 5102 TESTINST3("bic.w r1, r2, r3, lsl #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 5103 TESTINST3("bic.w r1, r2, r3, lsr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 5104 TESTINST3("bic.w r1, r2, r3, lsr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 5105 TESTINST3("bic.w r1, r2, r3, lsr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 5106 TESTINST3("bic.w r1, r2, r3, lsr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 5107 TESTINST3("bic.w r1, r2, r3, asr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 5108 TESTINST3("bic.w r1, r2, r3, asr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 5109 TESTINST3("bic.w r1, r2, r3, asr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 5110 TESTINST3("bic.w r1, r2, r3, asr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 5111 TESTINST3("bics.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 5112 TESTINST3("bics.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 5113 TESTINST3("bics.w r1, r2, r3, lsl #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 5114 TESTINST3("bics.w r1, r2, r3, lsl #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 5115 TESTINST3("bics.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 5116 TESTINST3("bics.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 5117 TESTINST3("bics.w r1, r2, r3, lsr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 5118 TESTINST3("bics.w r1, r2, r3, lsr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 5119 TESTINST3("bics.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 5120 TESTINST3("bics.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 5121 TESTINST3("bics.w r1, r2, r3, asr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 5122 TESTINST3("bics.w r1, r2, r3, asr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 5123 TESTINST3("bic.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 5124 TESTINST3("bic.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 5125 TESTINST3("bic.w r1, r2, r3, lsl #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 5126 TESTINST3("bic.w r1, r2, r3, lsl #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 5127 TESTINST3("bic.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 5128 TESTINST3("bic.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 5129 TESTINST3("bic.w r1, r2, r3, lsr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 5130 TESTINST3("bic.w r1, r2, r3, lsr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 5131 TESTINST3("bic.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 5132 TESTINST3("bic.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 5133 TESTINST3("bic.w r1, r2, r3, asr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 5134 TESTINST3("bic.w r1, r2, r3, asr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 5135 TESTCARRYEND 5136 5137 printf("ORN{S}.W Rd, Rn, Rm, {shift}\n"); 5138 TESTCARRY 5139 TESTINST3("orns.w r1, r2, r3, lsl #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 5140 TESTINST3("orns.w r1, r2, r3, lsl #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 5141 TESTINST3("orns.w r1, r2, r3, lsl #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 5142 TESTINST3("orns.w r1, r2, r3, lsl #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 5143 TESTINST3("orns.w r1, r2, r3, lsr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 5144 TESTINST3("orns.w r1, r2, r3, lsr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 5145 TESTINST3("orns.w r1, r2, r3, lsr #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 5146 TESTINST3("orns.w r1, r2, r3, lsr #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 5147 TESTINST3("orns.w r1, r2, r3, asr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 5148 TESTINST3("orns.w r1, r2, r3, asr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 5149 TESTINST3("orns.w r1, r2, r3, asr #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 5150 TESTINST3("orns.w r1, r2, r3, asr #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 5151 TESTINST3("orn.w r1, r2, r3, lsl #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 5152 TESTINST3("orn.w r1, r2, r3, lsl #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 5153 TESTINST3("orn.w r1, r2, r3, lsl #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 5154 TESTINST3("orn.w r1, r2, r3, lsl #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 5155 TESTINST3("orn.w r1, r2, r3, lsr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 5156 TESTINST3("orn.w r1, r2, r3, lsr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 5157 TESTINST3("orn.w r1, r2, r3, lsr #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 5158 TESTINST3("orn.w r1, r2, r3, lsr #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 5159 TESTINST3("orn.w r1, r2, r3, asr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 5160 TESTINST3("orn.w r1, r2, r3, asr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 5161 TESTINST3("orn.w r1, r2, r3, asr #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 5162 TESTINST3("orn.w r1, r2, r3, asr #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 5163 TESTINST3("orns.w r1, r2, r3, lsl #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 5164 TESTINST3("orns.w r1, r2, r3, lsl #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 5165 TESTINST3("orns.w r1, r2, r3, lsl #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 5166 TESTINST3("orns.w r1, r2, r3, lsl #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 5167 TESTINST3("orns.w r1, r2, r3, lsr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 5168 TESTINST3("orns.w r1, r2, r3, lsr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 5169 TESTINST3("orns.w r1, r2, r3, lsr #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 5170 TESTINST3("orns.w r1, r2, r3, lsr #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 5171 TESTINST3("orns.w r1, r2, r3, asr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 5172 TESTINST3("orns.w r1, r2, r3, asr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 5173 TESTINST3("orns.w r1, r2, r3, asr #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 5174 TESTINST3("orns.w r1, r2, r3, asr #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 5175 TESTINST3("orn.w r1, r2, r3, lsl #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 5176 TESTINST3("orn.w r1, r2, r3, lsl #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 5177 TESTINST3("orn.w r1, r2, r3, lsl #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 5178 TESTINST3("orn.w r1, r2, r3, lsl #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 5179 TESTINST3("orn.w r1, r2, r3, lsr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 5180 TESTINST3("orn.w r1, r2, r3, lsr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 5181 TESTINST3("orn.w r1, r2, r3, lsr #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 5182 TESTINST3("orn.w r1, r2, r3, lsr #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 5183 TESTINST3("orn.w r1, r2, r3, asr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 5184 TESTINST3("orn.w r1, r2, r3, asr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 5185 TESTINST3("orn.w r1, r2, r3, asr #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 5186 TESTINST3("orn.w r1, r2, r3, asr #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 5187 TESTINST3("orns.w r1, r2, r3, lsl #0 ", 0, 0, r1, r2, r3, cv); 5188 TESTINST3("orns.w r1, r2, r3, lsl #1 ", 0, 0, r1, r2, r3, cv); 5189 TESTINST3("orns.w r1, r2, r3, lsl #15", 0, 0, r1, r2, r3, cv); 5190 TESTINST3("orns.w r1, r2, r3, lsl #31", 0, 0, r1, r2, r3, cv); 5191 TESTINST3("orns.w r1, r2, r3, lsr #0 ", 0, 0, r1, r2, r3, cv); 5192 TESTINST3("orns.w r1, r2, r3, lsr #1 ", 0, 0, r1, r2, r3, cv); 5193 TESTINST3("orns.w r1, r2, r3, lsr #15", 0, 0, r1, r2, r3, cv); 5194 TESTINST3("orns.w r1, r2, r3, lsr #31", 0, 0, r1, r2, r3, cv); 5195 TESTINST3("orns.w r1, r2, r3, asr #0 ", 0, 0, r1, r2, r3, cv); 5196 TESTINST3("orns.w r1, r2, r3, asr #1 ", 0, 0, r1, r2, r3, cv); 5197 TESTINST3("orns.w r1, r2, r3, asr #15", 0, 0, r1, r2, r3, cv); 5198 TESTINST3("orns.w r1, r2, r3, asr #31", 0, 0, r1, r2, r3, cv); 5199 TESTINST3("orn.w r1, r2, r3, lsl #0 ", 0, 0, r1, r2, r3, cv); 5200 TESTINST3("orn.w r1, r2, r3, lsl #1 ", 0, 0, r1, r2, r3, cv); 5201 TESTINST3("orn.w r1, r2, r3, lsl #15", 0, 0, r1, r2, r3, cv); 5202 TESTINST3("orn.w r1, r2, r3, lsl #31", 0, 0, r1, r2, r3, cv); 5203 TESTINST3("orn.w r1, r2, r3, lsr #0 ", 0, 0, r1, r2, r3, cv); 5204 TESTINST3("orn.w r1, r2, r3, lsr #1 ", 0, 0, r1, r2, r3, cv); 5205 TESTINST3("orn.w r1, r2, r3, lsr #15", 0, 0, r1, r2, r3, cv); 5206 TESTINST3("orn.w r1, r2, r3, lsr #31", 0, 0, r1, r2, r3, cv); 5207 TESTINST3("orn.w r1, r2, r3, asr #0 ", 0, 0, r1, r2, r3, cv); 5208 TESTINST3("orn.w r1, r2, r3, asr #1 ", 0, 0, r1, r2, r3, cv); 5209 TESTINST3("orn.w r1, r2, r3, asr #15", 0, 0, r1, r2, r3, cv); 5210 TESTINST3("orn.w r1, r2, r3, asr #31", 0, 0, r1, r2, r3, cv); 5211 TESTINST3("orns.w r1, r2, r3, lsl #0 ", 1, 0, r1, r2, r3, cv); 5212 TESTINST3("orns.w r1, r2, r3, lsl #1 ", 1, 0, r1, r2, r3, cv); 5213 TESTINST3("orns.w r1, r2, r3, lsl #15", 1, 0, r1, r2, r3, cv); 5214 TESTINST3("orns.w r1, r2, r3, lsl #31", 1, 0, r1, r2, r3, cv); 5215 TESTINST3("orns.w r1, r2, r3, lsr #0 ", 1, 0, r1, r2, r3, cv); 5216 TESTINST3("orns.w r1, r2, r3, lsr #1 ", 1, 0, r1, r2, r3, cv); 5217 TESTINST3("orns.w r1, r2, r3, lsr #15", 1, 0, r1, r2, r3, cv); 5218 TESTINST3("orns.w r1, r2, r3, lsr #31", 1, 0, r1, r2, r3, cv); 5219 TESTINST3("orns.w r1, r2, r3, asr #0 ", 1, 0, r1, r2, r3, cv); 5220 TESTINST3("orns.w r1, r2, r3, asr #1 ", 1, 0, r1, r2, r3, cv); 5221 TESTINST3("orns.w r1, r2, r3, asr #15", 1, 0, r1, r2, r3, cv); 5222 TESTINST3("orns.w r1, r2, r3, asr #31", 1, 0, r1, r2, r3, cv); 5223 TESTINST3("orn.w r1, r2, r3, lsl #0 ", 1, 0, r1, r2, r3, cv); 5224 TESTINST3("orn.w r1, r2, r3, lsl #1 ", 1, 0, r1, r2, r3, cv); 5225 TESTINST3("orn.w r1, r2, r3, lsl #15", 1, 0, r1, r2, r3, cv); 5226 TESTINST3("orn.w r1, r2, r3, lsl #31", 1, 0, r1, r2, r3, cv); 5227 TESTINST3("orn.w r1, r2, r3, lsr #0 ", 1, 0, r1, r2, r3, cv); 5228 TESTINST3("orn.w r1, r2, r3, lsr #1 ", 1, 0, r1, r2, r3, cv); 5229 TESTINST3("orn.w r1, r2, r3, lsr #15", 1, 0, r1, r2, r3, cv); 5230 TESTINST3("orn.w r1, r2, r3, lsr #31", 1, 0, r1, r2, r3, cv); 5231 TESTINST3("orn.w r1, r2, r3, asr #0 ", 1, 0, r1, r2, r3, cv); 5232 TESTINST3("orn.w r1, r2, r3, asr #1 ", 1, 0, r1, r2, r3, cv); 5233 TESTINST3("orn.w r1, r2, r3, asr #15", 1, 0, r1, r2, r3, cv); 5234 TESTINST3("orn.w r1, r2, r3, asr #31", 1, 0, r1, r2, r3, cv); 5235 TESTINST3("orns.w r1, r2, r3, lsl #0 ", 0, 1, r1, r2, r3, cv); 5236 TESTINST3("orns.w r1, r2, r3, lsl #1 ", 0, 1, r1, r2, r3, cv); 5237 TESTINST3("orns.w r1, r2, r3, lsl #15", 0, 1, r1, r2, r3, cv); 5238 TESTINST3("orns.w r1, r2, r3, lsl #31", 0, 1, r1, r2, r3, cv); 5239 TESTINST3("orns.w r1, r2, r3, lsr #0 ", 0, 1, r1, r2, r3, cv); 5240 TESTINST3("orns.w r1, r2, r3, lsr #1 ", 0, 1, r1, r2, r3, cv); 5241 TESTINST3("orns.w r1, r2, r3, lsr #15", 0, 1, r1, r2, r3, cv); 5242 TESTINST3("orns.w r1, r2, r3, lsr #31", 0, 1, r1, r2, r3, cv); 5243 TESTINST3("orns.w r1, r2, r3, asr #0 ", 0, 1, r1, r2, r3, cv); 5244 TESTINST3("orns.w r1, r2, r3, asr #1 ", 0, 1, r1, r2, r3, cv); 5245 TESTINST3("orns.w r1, r2, r3, asr #15", 0, 1, r1, r2, r3, cv); 5246 TESTINST3("orns.w r1, r2, r3, asr #31", 0, 1, r1, r2, r3, cv); 5247 TESTINST3("orn.w r1, r2, r3, lsl #0 ", 0, 1, r1, r2, r3, cv); 5248 TESTINST3("orn.w r1, r2, r3, lsl #1 ", 0, 1, r1, r2, r3, cv); 5249 TESTINST3("orn.w r1, r2, r3, lsl #15", 0, 1, r1, r2, r3, cv); 5250 TESTINST3("orn.w r1, r2, r3, lsl #31", 0, 1, r1, r2, r3, cv); 5251 TESTINST3("orn.w r1, r2, r3, lsr #0 ", 0, 1, r1, r2, r3, cv); 5252 TESTINST3("orn.w r1, r2, r3, lsr #1 ", 0, 1, r1, r2, r3, cv); 5253 TESTINST3("orn.w r1, r2, r3, lsr #15", 0, 1, r1, r2, r3, cv); 5254 TESTINST3("orn.w r1, r2, r3, lsr #31", 0, 1, r1, r2, r3, cv); 5255 TESTINST3("orn.w r1, r2, r3, asr #0 ", 0, 1, r1, r2, r3, cv); 5256 TESTINST3("orn.w r1, r2, r3, asr #1 ", 0, 1, r1, r2, r3, cv); 5257 TESTINST3("orn.w r1, r2, r3, asr #15", 0, 1, r1, r2, r3, cv); 5258 TESTINST3("orn.w r1, r2, r3, asr #31", 0, 1, r1, r2, r3, cv); 5259 TESTINST3("orns.w r1, r2, r3, lsl #0 ", -1, 0, r1, r2, r3, cv); 5260 TESTINST3("orns.w r1, r2, r3, lsl #1 ", -1, 0, r1, r2, r3, cv); 5261 TESTINST3("orns.w r1, r2, r3, lsl #15", -1, 0, r1, r2, r3, cv); 5262 TESTINST3("orns.w r1, r2, r3, lsl #31", -1, 0, r1, r2, r3, cv); 5263 TESTINST3("orns.w r1, r2, r3, lsr #0 ", -1, 0, r1, r2, r3, cv); 5264 TESTINST3("orns.w r1, r2, r3, lsr #1 ", -1, 0, r1, r2, r3, cv); 5265 TESTINST3("orns.w r1, r2, r3, lsr #15", -1, 0, r1, r2, r3, cv); 5266 TESTINST3("orns.w r1, r2, r3, lsr #31", -1, 0, r1, r2, r3, cv); 5267 TESTINST3("orns.w r1, r2, r3, asr #0 ", -1, 0, r1, r2, r3, cv); 5268 TESTINST3("orns.w r1, r2, r3, asr #1 ", -1, 0, r1, r2, r3, cv); 5269 TESTINST3("orns.w r1, r2, r3, asr #15", -1, 0, r1, r2, r3, cv); 5270 TESTINST3("orns.w r1, r2, r3, asr #31", -1, 0, r1, r2, r3, cv); 5271 TESTINST3("orn.w r1, r2, r3, lsl #0 ", -1, 0, r1, r2, r3, cv); 5272 TESTINST3("orn.w r1, r2, r3, lsl #1 ", -1, 0, r1, r2, r3, cv); 5273 TESTINST3("orn.w r1, r2, r3, lsl #15", -1, 0, r1, r2, r3, cv); 5274 TESTINST3("orn.w r1, r2, r3, lsl #31", -1, 0, r1, r2, r3, cv); 5275 TESTINST3("orn.w r1, r2, r3, lsr #0 ", -1, 0, r1, r2, r3, cv); 5276 TESTINST3("orn.w r1, r2, r3, lsr #1 ", -1, 0, r1, r2, r3, cv); 5277 TESTINST3("orn.w r1, r2, r3, lsr #15", -1, 0, r1, r2, r3, cv); 5278 TESTINST3("orn.w r1, r2, r3, lsr #31", -1, 0, r1, r2, r3, cv); 5279 TESTINST3("orn.w r1, r2, r3, asr #0 ", -1, 0, r1, r2, r3, cv); 5280 TESTINST3("orn.w r1, r2, r3, asr #1 ", -1, 0, r1, r2, r3, cv); 5281 TESTINST3("orn.w r1, r2, r3, asr #15", -1, 0, r1, r2, r3, cv); 5282 TESTINST3("orn.w r1, r2, r3, asr #31", -1, 0, r1, r2, r3, cv); 5283 TESTINST3("orns.w r1, r2, r3, lsl #0 ", 0, -1, r1, r2, r3, cv); 5284 TESTINST3("orns.w r1, r2, r3, lsl #1 ", 0, -1, r1, r2, r3, cv); 5285 TESTINST3("orns.w r1, r2, r3, lsl #15", 0, -1, r1, r2, r3, cv); 5286 TESTINST3("orns.w r1, r2, r3, lsl #31", 0, -1, r1, r2, r3, cv); 5287 TESTINST3("orns.w r1, r2, r3, lsr #0 ", 0, -1, r1, r2, r3, cv); 5288 TESTINST3("orns.w r1, r2, r3, lsr #1 ", 0, -1, r1, r2, r3, cv); 5289 TESTINST3("orns.w r1, r2, r3, lsr #15", 0, -1, r1, r2, r3, cv); 5290 TESTINST3("orns.w r1, r2, r3, lsr #31", 0, -1, r1, r2, r3, cv); 5291 TESTINST3("orns.w r1, r2, r3, asr #0 ", 0, -1, r1, r2, r3, cv); 5292 TESTINST3("orns.w r1, r2, r3, asr #1 ", 0, -1, r1, r2, r3, cv); 5293 TESTINST3("orns.w r1, r2, r3, asr #15", 0, -1, r1, r2, r3, cv); 5294 TESTINST3("orns.w r1, r2, r3, asr #31", 0, -1, r1, r2, r3, cv); 5295 TESTINST3("orn.w r1, r2, r3, lsl #0 ", 0, -1, r1, r2, r3, cv); 5296 TESTINST3("orn.w r1, r2, r3, lsl #1 ", 0, -1, r1, r2, r3, cv); 5297 TESTINST3("orn.w r1, r2, r3, lsl #15", 0, -1, r1, r2, r3, cv); 5298 TESTINST3("orn.w r1, r2, r3, lsl #31", 0, -1, r1, r2, r3, cv); 5299 TESTINST3("orn.w r1, r2, r3, lsr #0 ", 0, -1, r1, r2, r3, cv); 5300 TESTINST3("orn.w r1, r2, r3, lsr #1 ", 0, -1, r1, r2, r3, cv); 5301 TESTINST3("orn.w r1, r2, r3, lsr #15", 0, -1, r1, r2, r3, cv); 5302 TESTINST3("orn.w r1, r2, r3, lsr #31", 0, -1, r1, r2, r3, cv); 5303 TESTINST3("orn.w r1, r2, r3, asr #0 ", 0, -1, r1, r2, r3, cv); 5304 TESTINST3("orn.w r1, r2, r3, asr #1 ", 0, -1, r1, r2, r3, cv); 5305 TESTINST3("orn.w r1, r2, r3, asr #15", 0, -1, r1, r2, r3, cv); 5306 TESTINST3("orn.w r1, r2, r3, asr #31", 0, -1, r1, r2, r3, cv); 5307 TESTINST3("orns.w r1, r2, r3, lsl #0 ", 0, 0x80000000, r1, r2, r3, cv); 5308 TESTINST3("orns.w r1, r2, r3, lsl #1 ", 0, 0x80000000, r1, r2, r3, cv); 5309 TESTINST3("orns.w r1, r2, r3, lsl #15", 0, 0x80000000, r1, r2, r3, cv); 5310 TESTINST3("orns.w r1, r2, r3, lsl #31", 0, 0x80000000, r1, r2, r3, cv); 5311 TESTINST3("orns.w r1, r2, r3, lsr #0 ", 0, 0x80000000, r1, r2, r3, cv); 5312 TESTINST3("orns.w r1, r2, r3, lsr #1 ", 0, 0x80000000, r1, r2, r3, cv); 5313 TESTINST3("orns.w r1, r2, r3, lsr #15", 0, 0x80000000, r1, r2, r3, cv); 5314 TESTINST3("orns.w r1, r2, r3, lsr #31", 0, 0x80000000, r1, r2, r3, cv); 5315 TESTINST3("orns.w r1, r2, r3, asr #0 ", 0, 0x80000000, r1, r2, r3, cv); 5316 TESTINST3("orns.w r1, r2, r3, asr #1 ", 0, 0x80000000, r1, r2, r3, cv); 5317 TESTINST3("orns.w r1, r2, r3, asr #15", 0, 0x80000000, r1, r2, r3, cv); 5318 TESTINST3("orns.w r1, r2, r3, asr #31", 0, 0x80000000, r1, r2, r3, cv); 5319 TESTINST3("orn.w r1, r2, r3, lsl #0 ", 0, 0x80000000, r1, r2, r3, cv); 5320 TESTINST3("orn.w r1, r2, r3, lsl #1 ", 0, 0x80000000, r1, r2, r3, cv); 5321 TESTINST3("orn.w r1, r2, r3, lsl #15", 0, 0x80000000, r1, r2, r3, cv); 5322 TESTINST3("orn.w r1, r2, r3, lsl #31", 0, 0x80000000, r1, r2, r3, cv); 5323 TESTINST3("orn.w r1, r2, r3, lsr #0 ", 0, 0x80000000, r1, r2, r3, cv); 5324 TESTINST3("orn.w r1, r2, r3, lsr #1 ", 0, 0x80000000, r1, r2, r3, cv); 5325 TESTINST3("orn.w r1, r2, r3, lsr #15", 0, 0x80000000, r1, r2, r3, cv); 5326 TESTINST3("orn.w r1, r2, r3, lsr #31", 0, 0x80000000, r1, r2, r3, cv); 5327 TESTINST3("orn.w r1, r2, r3, asr #0 ", 0, 0x80000000, r1, r2, r3, cv); 5328 TESTINST3("orn.w r1, r2, r3, asr #1 ", 0, 0x80000000, r1, r2, r3, cv); 5329 TESTINST3("orn.w r1, r2, r3, asr #15", 0, 0x80000000, r1, r2, r3, cv); 5330 TESTINST3("orn.w r1, r2, r3, asr #31", 0, 0x80000000, r1, r2, r3, cv); 5331 TESTINST3("orns.w r1, r2, r3, lsl #0 ", 0x80000000, 0, r1, r2, r3, cv); 5332 TESTINST3("orns.w r1, r2, r3, lsl #1 ", 0x80000000, 0, r1, r2, r3, cv); 5333 TESTINST3("orns.w r1, r2, r3, lsl #15", 0x80000000, 0, r1, r2, r3, cv); 5334 TESTINST3("orns.w r1, r2, r3, lsl #31", 0x80000000, 0, r1, r2, r3, cv); 5335 TESTINST3("orns.w r1, r2, r3, lsr #0 ", 0x80000000, 0, r1, r2, r3, cv); 5336 TESTINST3("orns.w r1, r2, r3, lsr #1 ", 0x80000000, 0, r1, r2, r3, cv); 5337 TESTINST3("orns.w r1, r2, r3, lsr #15", 0x80000000, 0, r1, r2, r3, cv); 5338 TESTINST3("orns.w r1, r2, r3, lsr #31", 0x80000000, 0, r1, r2, r3, cv); 5339 TESTINST3("orns.w r1, r2, r3, asr #0 ", 0x80000000, 0, r1, r2, r3, cv); 5340 TESTINST3("orns.w r1, r2, r3, asr #1 ", 0x80000000, 0, r1, r2, r3, cv); 5341 TESTINST3("orns.w r1, r2, r3, asr #15", 0x80000000, 0, r1, r2, r3, cv); 5342 TESTINST3("orns.w r1, r2, r3, asr #31", 0x80000000, 0, r1, r2, r3, cv); 5343 TESTINST3("orn.w r1, r2, r3, lsl #0 ", 0x80000000, 0, r1, r2, r3, cv); 5344 TESTINST3("orn.w r1, r2, r3, lsl #1 ", 0x80000000, 0, r1, r2, r3, cv); 5345 TESTINST3("orn.w r1, r2, r3, lsl #15", 0x80000000, 0, r1, r2, r3, cv); 5346 TESTINST3("orn.w r1, r2, r3, lsl #31", 0x80000000, 0, r1, r2, r3, cv); 5347 TESTINST3("orn.w r1, r2, r3, lsr #0 ", 0x80000000, 0, r1, r2, r3, cv); 5348 TESTINST3("orn.w r1, r2, r3, lsr #1 ", 0x80000000, 0, r1, r2, r3, cv); 5349 TESTINST3("orn.w r1, r2, r3, lsr #15", 0x80000000, 0, r1, r2, r3, cv); 5350 TESTINST3("orn.w r1, r2, r3, lsr #31", 0x80000000, 0, r1, r2, r3, cv); 5351 TESTINST3("orn.w r1, r2, r3, asr #0 ", 0x80000000, 0, r1, r2, r3, cv); 5352 TESTINST3("orn.w r1, r2, r3, asr #1 ", 0x80000000, 0, r1, r2, r3, cv); 5353 TESTINST3("orn.w r1, r2, r3, asr #15", 0x80000000, 0, r1, r2, r3, cv); 5354 TESTINST3("orn.w r1, r2, r3, asr #31", 0x80000000, 0, r1, r2, r3, cv); 5355 TESTINST3("orns.w r1, r2, r3, lsl #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 5356 TESTINST3("orns.w r1, r2, r3, lsl #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 5357 TESTINST3("orns.w r1, r2, r3, lsl #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 5358 TESTINST3("orns.w r1, r2, r3, lsl #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 5359 TESTINST3("orns.w r1, r2, r3, lsr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 5360 TESTINST3("orns.w r1, r2, r3, lsr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 5361 TESTINST3("orns.w r1, r2, r3, lsr #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 5362 TESTINST3("orns.w r1, r2, r3, lsr #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 5363 TESTINST3("orns.w r1, r2, r3, asr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 5364 TESTINST3("orns.w r1, r2, r3, asr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 5365 TESTINST3("orns.w r1, r2, r3, asr #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 5366 TESTINST3("orns.w r1, r2, r3, asr #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 5367 TESTINST3("orn.w r1, r2, r3, lsl #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 5368 TESTINST3("orn.w r1, r2, r3, lsl #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 5369 TESTINST3("orn.w r1, r2, r3, lsl #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 5370 TESTINST3("orn.w r1, r2, r3, lsl #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 5371 TESTINST3("orn.w r1, r2, r3, lsr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 5372 TESTINST3("orn.w r1, r2, r3, lsr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 5373 TESTINST3("orn.w r1, r2, r3, lsr #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 5374 TESTINST3("orn.w r1, r2, r3, lsr #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 5375 TESTINST3("orn.w r1, r2, r3, asr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 5376 TESTINST3("orn.w r1, r2, r3, asr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 5377 TESTINST3("orn.w r1, r2, r3, asr #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 5378 TESTINST3("orn.w r1, r2, r3, asr #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 5379 TESTINST3("orns.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 5380 TESTINST3("orns.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 5381 TESTINST3("orns.w r1, r2, r3, lsl #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 5382 TESTINST3("orns.w r1, r2, r3, lsl #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 5383 TESTINST3("orns.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 5384 TESTINST3("orns.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 5385 TESTINST3("orns.w r1, r2, r3, lsr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 5386 TESTINST3("orns.w r1, r2, r3, lsr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 5387 TESTINST3("orns.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 5388 TESTINST3("orns.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 5389 TESTINST3("orns.w r1, r2, r3, asr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 5390 TESTINST3("orns.w r1, r2, r3, asr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 5391 TESTINST3("orn.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 5392 TESTINST3("orn.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 5393 TESTINST3("orn.w r1, r2, r3, lsl #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 5394 TESTINST3("orn.w r1, r2, r3, lsl #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 5395 TESTINST3("orn.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 5396 TESTINST3("orn.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 5397 TESTINST3("orn.w r1, r2, r3, lsr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 5398 TESTINST3("orn.w r1, r2, r3, lsr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 5399 TESTINST3("orn.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 5400 TESTINST3("orn.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 5401 TESTINST3("orn.w r1, r2, r3, asr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 5402 TESTINST3("orn.w r1, r2, r3, asr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 5403 TESTINST3("orns.w r1, r2, r3, lsl #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 5404 TESTINST3("orns.w r1, r2, r3, lsl #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 5405 TESTINST3("orns.w r1, r2, r3, lsl #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 5406 TESTINST3("orns.w r1, r2, r3, lsl #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 5407 TESTINST3("orns.w r1, r2, r3, lsr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 5408 TESTINST3("orns.w r1, r2, r3, lsr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 5409 TESTINST3("orns.w r1, r2, r3, lsr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 5410 TESTINST3("orns.w r1, r2, r3, lsr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 5411 TESTINST3("orns.w r1, r2, r3, asr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 5412 TESTINST3("orns.w r1, r2, r3, asr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 5413 TESTINST3("orns.w r1, r2, r3, asr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 5414 TESTINST3("orns.w r1, r2, r3, asr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 5415 TESTINST3("orn.w r1, r2, r3, lsl #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 5416 TESTINST3("orn.w r1, r2, r3, lsl #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 5417 TESTINST3("orn.w r1, r2, r3, lsl #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 5418 TESTINST3("orn.w r1, r2, r3, lsl #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 5419 TESTINST3("orn.w r1, r2, r3, lsr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 5420 TESTINST3("orn.w r1, r2, r3, lsr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 5421 TESTINST3("orn.w r1, r2, r3, lsr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 5422 TESTINST3("orn.w r1, r2, r3, lsr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 5423 TESTINST3("orn.w r1, r2, r3, asr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 5424 TESTINST3("orn.w r1, r2, r3, asr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 5425 TESTINST3("orn.w r1, r2, r3, asr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 5426 TESTINST3("orn.w r1, r2, r3, asr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 5427 TESTINST3("orns.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 5428 TESTINST3("orns.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 5429 TESTINST3("orns.w r1, r2, r3, lsl #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 5430 TESTINST3("orns.w r1, r2, r3, lsl #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 5431 TESTINST3("orns.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 5432 TESTINST3("orns.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 5433 TESTINST3("orns.w r1, r2, r3, lsr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 5434 TESTINST3("orns.w r1, r2, r3, lsr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 5435 TESTINST3("orns.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 5436 TESTINST3("orns.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 5437 TESTINST3("orns.w r1, r2, r3, asr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 5438 TESTINST3("orns.w r1, r2, r3, asr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 5439 TESTINST3("orn.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 5440 TESTINST3("orn.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 5441 TESTINST3("orn.w r1, r2, r3, lsl #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 5442 TESTINST3("orn.w r1, r2, r3, lsl #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 5443 TESTINST3("orn.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 5444 TESTINST3("orn.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 5445 TESTINST3("orn.w r1, r2, r3, lsr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 5446 TESTINST3("orn.w r1, r2, r3, lsr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 5447 TESTINST3("orn.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 5448 TESTINST3("orn.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 5449 TESTINST3("orn.w r1, r2, r3, asr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 5450 TESTINST3("orn.w r1, r2, r3, asr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 5451 TESTCARRYEND 5452 5453 printf("(T?) LSL{S}.W Rd, Rn, Rm\n"); 5454 TESTCARRY 5455 TESTINST3("lsls.w r1, r2, r3", 0x31415927, 0x00000000, r1, r2, r3, cv); 5456 TESTINST3("lsls.w r1, r2, r3", 0x31415927, 0x00000001, r1, r2, r3, cv); 5457 TESTINST3("lsls.w r1, r2, r3", 0x31415927, 0x00000002, r1, r2, r3, cv); 5458 TESTINST3("lsls.w r1, r2, r3", 0x31415927, 0x0000000F, r1, r2, r3, cv); 5459 TESTINST3("lsls.w r1, r2, r3", 0x31415927, 0x00000010, r1, r2, r3, cv); 5460 TESTINST3("lsls.w r1, r2, r3", 0x31415927, 0x0000001F, r1, r2, r3, cv); 5461 TESTINST3("lsls.w r1, r2, r3", 0x31415927, 0x00000020, r1, r2, r3, cv); 5462 TESTINST3("lsls.w r1, r2, r3", 0x31415927, 0x00000021, r1, r2, r3, cv); 5463 TESTINST3("lsl.w r1, r2, r3", 0x31415927, 0x00000000, r1, r2, r3, cv); 5464 TESTINST3("lsl.w r1, r2, r3", 0x31415927, 0x00000001, r1, r2, r3, cv); 5465 TESTINST3("lsl.w r1, r2, r3", 0x31415927, 0x00000002, r1, r2, r3, cv); 5466 TESTINST3("lsl.w r1, r2, r3", 0x31415927, 0x0000000F, r1, r2, r3, cv); 5467 TESTINST3("lsl.w r1, r2, r3", 0x31415927, 0x00000010, r1, r2, r3, cv); 5468 TESTINST3("lsl.w r1, r2, r3", 0x31415927, 0x0000001F, r1, r2, r3, cv); 5469 TESTINST3("lsl.w r1, r2, r3", 0x31415927, 0x00000020, r1, r2, r3, cv); 5470 TESTINST3("lsl.w r1, r2, r3", 0x31415927, 0x00000021, r1, r2, r3, cv); 5471 TESTCARRYEND 5472 5473 printf("(T?) LSR{S}.W Rd, Rn, Rm\n"); 5474 TESTCARRY 5475 TESTINST3("lsrs.w r1, r2, r3", 0x31415927, 0x00000000, r1, r2, r3, cv); 5476 TESTINST3("lsrs.w r1, r2, r3", 0x31415927, 0x00000001, r1, r2, r3, cv); 5477 TESTINST3("lsrs.w r1, r2, r3", 0x31415927, 0x00000002, r1, r2, r3, cv); 5478 TESTINST3("lsrs.w r1, r2, r3", 0x31415927, 0x0000000F, r1, r2, r3, cv); 5479 TESTINST3("lsrs.w r1, r2, r3", 0x31415927, 0x00000010, r1, r2, r3, cv); 5480 TESTINST3("lsrs.w r1, r2, r3", 0x31415927, 0x0000001F, r1, r2, r3, cv); 5481 TESTINST3("lsrs.w r1, r2, r3", 0x31415927, 0x00000020, r1, r2, r3, cv); 5482 TESTINST3("lsrs.w r1, r2, r3", 0x31415927, 0x00000021, r1, r2, r3, cv); 5483 TESTINST3("lsr.w r1, r2, r3", 0x31415927, 0x00000000, r1, r2, r3, cv); 5484 TESTINST3("lsr.w r1, r2, r3", 0x31415927, 0x00000001, r1, r2, r3, cv); 5485 TESTINST3("lsr.w r1, r2, r3", 0x31415927, 0x00000002, r1, r2, r3, cv); 5486 TESTINST3("lsr.w r1, r2, r3", 0x31415927, 0x0000000F, r1, r2, r3, cv); 5487 TESTINST3("lsr.w r1, r2, r3", 0x31415927, 0x00000010, r1, r2, r3, cv); 5488 TESTINST3("lsr.w r1, r2, r3", 0x31415927, 0x0000001F, r1, r2, r3, cv); 5489 TESTINST3("lsr.w r1, r2, r3", 0x31415927, 0x00000020, r1, r2, r3, cv); 5490 TESTINST3("lsr.w r1, r2, r3", 0x31415927, 0x00000021, r1, r2, r3, cv); 5491 TESTCARRYEND 5492 5493 printf("(T?) ASR{S}.W Rd, Rn, Rm\n"); 5494 TESTCARRY 5495 TESTINST3("asrs.w r1, r2, r3", 0x31415927, 0x00000000, r1, r2, r3, cv); 5496 TESTINST3("asrs.w r1, r2, r3", 0x91415927, 0x00000001, r1, r2, r3, cv); 5497 TESTINST3("asrs.w r1, r2, r3", 0x31415927, 0x00000002, r1, r2, r3, cv); 5498 TESTINST3("asrs.w r1, r2, r3", 0x91415927, 0x0000000F, r1, r2, r3, cv); 5499 TESTINST3("asrs.w r1, r2, r3", 0x31415927, 0x00000010, r1, r2, r3, cv); 5500 TESTINST3("asrs.w r1, r2, r3", 0x91415927, 0x0000001F, r1, r2, r3, cv); 5501 TESTINST3("asrs.w r1, r2, r3", 0x31415927, 0x00000020, r1, r2, r3, cv); 5502 TESTINST3("asrs.w r1, r2, r3", 0x91415927, 0x00000021, r1, r2, r3, cv); 5503 TESTINST3("asr.w r1, r2, r3", 0x31415927, 0x00000000, r1, r2, r3, cv); 5504 TESTINST3("asr.w r1, r2, r3", 0x91415927, 0x00000001, r1, r2, r3, cv); 5505 TESTINST3("asr.w r1, r2, r3", 0x31415927, 0x00000002, r1, r2, r3, cv); 5506 TESTINST3("asr.w r1, r2, r3", 0x91415927, 0x0000000F, r1, r2, r3, cv); 5507 TESTINST3("asr.w r1, r2, r3", 0x31415927, 0x00000010, r1, r2, r3, cv); 5508 TESTINST3("asr.w r1, r2, r3", 0x91415927, 0x0000001F, r1, r2, r3, cv); 5509 TESTINST3("asr.w r1, r2, r3", 0x31415927, 0x00000020, r1, r2, r3, cv); 5510 TESTINST3("asr.w r1, r2, r3", 0x91415927, 0x00000021, r1, r2, r3, cv); 5511 TESTCARRYEND 5512 5513 printf("(T?) ROR{S}.W Rd, Rn, Rm\n"); 5514 TESTCARRY 5515 TESTINST3("rors.w r1, r2, r3", 0x31415927, 0x00000000, r1, r2, r3, cv); 5516 TESTINST3("rors.w r1, r2, r3", 0x31415927, 0x00000001, r1, r2, r3, cv); 5517 TESTINST3("rors.w r1, r2, r3", 0x31415927, 0x00000002, r1, r2, r3, cv); 5518 TESTINST3("rors.w r1, r2, r3", 0x31415927, 0x0000000F, r1, r2, r3, cv); 5519 TESTINST3("rors.w r1, r2, r3", 0x31415927, 0x00000010, r1, r2, r3, cv); 5520 TESTINST3("rors.w r1, r2, r3", 0x31415927, 0x0000001F, r1, r2, r3, cv); 5521 TESTINST3("rors.w r1, r2, r3", 0x31415927, 0x00000020, r1, r2, r3, cv); 5522 TESTINST3("rors.w r1, r2, r3", 0x31415927, 0x00000021, r1, r2, r3, cv); 5523 TESTINST3("ror.w r1, r2, r3", 0x31415927, 0x00000000, r1, r2, r3, cv); 5524 TESTINST3("ror.w r1, r2, r3", 0x31415927, 0x00000001, r1, r2, r3, cv); 5525 TESTINST3("ror.w r1, r2, r3", 0x31415927, 0x00000002, r1, r2, r3, cv); 5526 TESTINST3("ror.w r1, r2, r3", 0x31415927, 0x0000000F, r1, r2, r3, cv); 5527 TESTINST3("ror.w r1, r2, r3", 0x31415927, 0x00000010, r1, r2, r3, cv); 5528 TESTINST3("ror.w r1, r2, r3", 0x31415927, 0x0000001F, r1, r2, r3, cv); 5529 TESTINST3("ror.w r1, r2, r3", 0x31415927, 0x00000020, r1, r2, r3, cv); 5530 TESTINST3("ror.w r1, r2, r3", 0x31415927, 0x00000021, r1, r2, r3, cv); 5531 TESTCARRYEND 5532 5533 printf("MVN{S}.W Rd, Rn, shift, and MOV{S}.W ditto\n"); 5534 TESTCARRY 5535 TESTINST2("lsls.w r1, r2, #0 ", 0x7fffffff, r1, r2, cv); 5536 TESTINST2("lsls.w r1, r2, #1 ", 0x7fffffff, r1, r2, cv); 5537 TESTINST2("lsls.w r1, r2, #15", 0x7fffffff, r1, r2, cv); 5538 TESTINST2("lsls.w r1, r2, #31", 0x7fffffff, r1, r2, cv); 5539 TESTINST2("lsrs.w r1, r2, #0 ", 0x7fffffff, r1, r2, cv); 5540 TESTINST2("lsrs.w r1, r2, #1 ", 0x7fffffff, r1, r2, cv); 5541 TESTINST2("lsrs.w r1, r2, #15", 0x7fffffff, r1, r2, cv); 5542 TESTINST2("lsrs.w r1, r2, #31", 0x7fffffff, r1, r2, cv); 5543 TESTINST2("asrs.w r1, r2, #0 ", 0x7fffffff, r1, r2, cv); 5544 TESTINST2("asrs.w r1, r2, #1 ", 0x7fffffff, r1, r2, cv); 5545 TESTINST2("asrs.w r1, r2, #15", 0x7fffffff, r1, r2, cv); 5546 TESTINST2("asrs.w r1, r2, #31", 0x7fffffff, r1, r2, cv); 5547 TESTINST2("rors.w r1, r2, #0 ", 0x7fffffff, r1, r2, cv); 5548 TESTINST2("rors.w r1, r2, #1 ", 0x7fffffff, r1, r2, cv); 5549 TESTINST2("rors.w r1, r2, #15", 0x7fffffff, r1, r2, cv); 5550 TESTINST2("rors.w r1, r2, #31", 0x7fffffff, r1, r2, cv); 5551 TESTINST2("lsl.w r1, r2, #0 ", 0x7fffffff, r1, r2, cv); 5552 TESTINST2("lsl.w r1, r2, #1 ", 0x7fffffff, r1, r2, cv); 5553 TESTINST2("lsl.w r1, r2, #15", 0x7fffffff, r1, r2, cv); 5554 TESTINST2("lsl.w r1, r2, #31", 0x7fffffff, r1, r2, cv); 5555 TESTINST2("lsr.w r1, r2, #0 ", 0x7fffffff, r1, r2, cv); 5556 TESTINST2("lsr.w r1, r2, #1 ", 0x7fffffff, r1, r2, cv); 5557 TESTINST2("lsr.w r1, r2, #15", 0x7fffffff, r1, r2, cv); 5558 TESTINST2("lsr.w r1, r2, #31", 0x7fffffff, r1, r2, cv); 5559 TESTINST2("asr.w r1, r2, #0 ", 0x7fffffff, r1, r2, cv); 5560 TESTINST2("asr.w r1, r2, #1 ", 0x7fffffff, r1, r2, cv); 5561 TESTINST2("asr.w r1, r2, #15", 0x7fffffff, r1, r2, cv); 5562 TESTINST2("asr.w r1, r2, #31", 0x7fffffff, r1, r2, cv); 5563 TESTINST2("ror.w r1, r2, #0 ", 0x7fffffff, r1, r2, cv); 5564 TESTINST2("ror.w r1, r2, #1 ", 0x7fffffff, r1, r2, cv); 5565 TESTINST2("ror.w r1, r2, #15", 0x7fffffff, r1, r2, cv); 5566 TESTINST2("ror.w r1, r2, #31", 0x7fffffff, r1, r2, cv); 5567 TESTINST2("mvns.w r1, r2, lsl #0 ", 0x7fffffff, r1, r2, cv); 5568 TESTINST2("mvns.w r1, r2, lsl #1 ", 0x7fffffff, r1, r2, cv); 5569 TESTINST2("mvns.w r1, r2, lsl #15", 0x7fffffff, r1, r2, cv); 5570 TESTINST2("mvns.w r1, r2, lsl #31", 0x7fffffff, r1, r2, cv); 5571 TESTINST2("mvns.w r1, r2, lsr #0 ", 0x7fffffff, r1, r2, cv); 5572 TESTINST2("mvns.w r1, r2, lsr #1 ", 0x7fffffff, r1, r2, cv); 5573 TESTINST2("mvns.w r1, r2, lsr #15", 0x7fffffff, r1, r2, cv); 5574 TESTINST2("mvns.w r1, r2, lsr #31", 0x7fffffff, r1, r2, cv); 5575 TESTINST2("mvns.w r1, r2, asr #0 ", 0x7fffffff, r1, r2, cv); 5576 TESTINST2("mvns.w r1, r2, asr #1 ", 0x7fffffff, r1, r2, cv); 5577 TESTINST2("mvns.w r1, r2, asr #15", 0x7fffffff, r1, r2, cv); 5578 TESTINST2("mvns.w r1, r2, asr #31", 0x7fffffff, r1, r2, cv); 5579 TESTINST2("mvns.w r1, r2, ror #0 ", 0x7fffffff, r1, r2, cv); 5580 TESTINST2("mvns.w r1, r2, ror #1 ", 0x7fffffff, r1, r2, cv); 5581 TESTINST2("mvns.w r1, r2, ror #15", 0x7fffffff, r1, r2, cv); 5582 TESTINST2("mvns.w r1, r2, ror #31", 0x7fffffff, r1, r2, cv); 5583 TESTINST2("mvn.w r1, r2, lsl #0 ", 0x7fffffff, r1, r2, cv); 5584 TESTINST2("mvn.w r1, r2, lsl #1 ", 0x7fffffff, r1, r2, cv); 5585 TESTINST2("mvn.w r1, r2, lsl #15", 0x7fffffff, r1, r2, cv); 5586 TESTINST2("mvn.w r1, r2, lsl #31", 0x7fffffff, r1, r2, cv); 5587 TESTINST2("mvn.w r1, r2, lsr #0 ", 0x7fffffff, r1, r2, cv); 5588 TESTINST2("mvn.w r1, r2, lsr #1 ", 0x7fffffff, r1, r2, cv); 5589 TESTINST2("mvn.w r1, r2, lsr #15", 0x7fffffff, r1, r2, cv); 5590 TESTINST2("mvn.w r1, r2, lsr #31", 0x7fffffff, r1, r2, cv); 5591 TESTINST2("mvn.w r1, r2, asr #0 ", 0x7fffffff, r1, r2, cv); 5592 TESTINST2("mvn.w r1, r2, asr #1 ", 0x7fffffff, r1, r2, cv); 5593 TESTINST2("mvn.w r1, r2, asr #15", 0x7fffffff, r1, r2, cv); 5594 TESTINST2("mvn.w r1, r2, asr #31", 0x7fffffff, r1, r2, cv); 5595 TESTINST2("mvn.w r1, r2, ror #0 ", 0x7fffffff, r1, r2, cv); 5596 TESTINST2("mvn.w r1, r2, ror #1 ", 0x7fffffff, r1, r2, cv); 5597 TESTINST2("mvn.w r1, r2, ror #15", 0x7fffffff, r1, r2, cv); 5598 TESTINST2("mvn.w r1, r2, ror #31", 0x7fffffff, r1, r2, cv); 5599 TESTINST2("lsls.w r1, r2, #0 ", 0x00000000, r1, r2, cv); 5600 TESTINST2("lsls.w r1, r2, #1 ", 0x00000000, r1, r2, cv); 5601 TESTINST2("lsls.w r1, r2, #15", 0x00000000, r1, r2, cv); 5602 TESTINST2("lsls.w r1, r2, #31", 0x00000000, r1, r2, cv); 5603 TESTINST2("lsrs.w r1, r2, #0 ", 0x00000000, r1, r2, cv); 5604 TESTINST2("lsrs.w r1, r2, #1 ", 0x00000000, r1, r2, cv); 5605 TESTINST2("lsrs.w r1, r2, #15", 0x00000000, r1, r2, cv); 5606 TESTINST2("lsrs.w r1, r2, #31", 0x00000000, r1, r2, cv); 5607 TESTINST2("asrs.w r1, r2, #0 ", 0x00000000, r1, r2, cv); 5608 TESTINST2("asrs.w r1, r2, #1 ", 0x00000000, r1, r2, cv); 5609 TESTINST2("asrs.w r1, r2, #15", 0x00000000, r1, r2, cv); 5610 TESTINST2("asrs.w r1, r2, #31", 0x00000000, r1, r2, cv); 5611 TESTINST2("rors.w r1, r2, #0 ", 0x00000000, r1, r2, cv); 5612 TESTINST2("rors.w r1, r2, #1 ", 0x00000000, r1, r2, cv); 5613 TESTINST2("rors.w r1, r2, #15", 0x00000000, r1, r2, cv); 5614 TESTINST2("rors.w r1, r2, #31", 0x00000000, r1, r2, cv); 5615 TESTINST2("lsl.w r1, r2, #0 ", 0x00000000, r1, r2, cv); 5616 TESTINST2("lsl.w r1, r2, #1 ", 0x00000000, r1, r2, cv); 5617 TESTINST2("lsl.w r1, r2, #15", 0x00000000, r1, r2, cv); 5618 TESTINST2("lsl.w r1, r2, #31", 0x00000000, r1, r2, cv); 5619 TESTINST2("lsr.w r1, r2, #0 ", 0x00000000, r1, r2, cv); 5620 TESTINST2("lsr.w r1, r2, #1 ", 0x00000000, r1, r2, cv); 5621 TESTINST2("lsr.w r1, r2, #15", 0x00000000, r1, r2, cv); 5622 TESTINST2("lsr.w r1, r2, #31", 0x00000000, r1, r2, cv); 5623 TESTINST2("asr.w r1, r2, #0 ", 0x00000000, r1, r2, cv); 5624 TESTINST2("asr.w r1, r2, #1 ", 0x00000000, r1, r2, cv); 5625 TESTINST2("asr.w r1, r2, #15", 0x00000000, r1, r2, cv); 5626 TESTINST2("asr.w r1, r2, #31", 0x00000000, r1, r2, cv); 5627 TESTINST2("ror.w r1, r2, #0 ", 0x00000000, r1, r2, cv); 5628 TESTINST2("ror.w r1, r2, #1 ", 0x00000000, r1, r2, cv); 5629 TESTINST2("ror.w r1, r2, #15", 0x00000000, r1, r2, cv); 5630 TESTINST2("ror.w r1, r2, #31", 0x00000000, r1, r2, cv); 5631 TESTINST2("mvns.w r1, r2, lsl #0 ", 0x00000000, r1, r2, cv); 5632 TESTINST2("mvns.w r1, r2, lsl #1 ", 0x00000000, r1, r2, cv); 5633 TESTINST2("mvns.w r1, r2, lsl #15", 0x00000000, r1, r2, cv); 5634 TESTINST2("mvns.w r1, r2, lsl #31", 0x00000000, r1, r2, cv); 5635 TESTINST2("mvns.w r1, r2, lsr #0 ", 0x00000000, r1, r2, cv); 5636 TESTINST2("mvns.w r1, r2, lsr #1 ", 0x00000000, r1, r2, cv); 5637 TESTINST2("mvns.w r1, r2, lsr #15", 0x00000000, r1, r2, cv); 5638 TESTINST2("mvns.w r1, r2, lsr #31", 0x00000000, r1, r2, cv); 5639 TESTINST2("mvns.w r1, r2, asr #0 ", 0x00000000, r1, r2, cv); 5640 TESTINST2("mvns.w r1, r2, asr #1 ", 0x00000000, r1, r2, cv); 5641 TESTINST2("mvns.w r1, r2, asr #15", 0x00000000, r1, r2, cv); 5642 TESTINST2("mvns.w r1, r2, asr #31", 0x00000000, r1, r2, cv); 5643 TESTINST2("mvns.w r1, r2, ror #0 ", 0x00000000, r1, r2, cv); 5644 TESTINST2("mvns.w r1, r2, ror #1 ", 0x00000000, r1, r2, cv); 5645 TESTINST2("mvns.w r1, r2, ror #15", 0x00000000, r1, r2, cv); 5646 TESTINST2("mvns.w r1, r2, ror #31", 0x00000000, r1, r2, cv); 5647 TESTINST2("mvn.w r1, r2, lsl #0 ", 0x00000000, r1, r2, cv); 5648 TESTINST2("mvn.w r1, r2, lsl #1 ", 0x00000000, r1, r2, cv); 5649 TESTINST2("mvn.w r1, r2, lsl #15", 0x00000000, r1, r2, cv); 5650 TESTINST2("mvn.w r1, r2, lsl #31", 0x00000000, r1, r2, cv); 5651 TESTINST2("mvn.w r1, r2, lsr #0 ", 0x00000000, r1, r2, cv); 5652 TESTINST2("mvn.w r1, r2, lsr #1 ", 0x00000000, r1, r2, cv); 5653 TESTINST2("mvn.w r1, r2, lsr #15", 0x00000000, r1, r2, cv); 5654 TESTINST2("mvn.w r1, r2, lsr #31", 0x00000000, r1, r2, cv); 5655 TESTINST2("mvn.w r1, r2, asr #0 ", 0x00000000, r1, r2, cv); 5656 TESTINST2("mvn.w r1, r2, asr #1 ", 0x00000000, r1, r2, cv); 5657 TESTINST2("mvn.w r1, r2, asr #15", 0x00000000, r1, r2, cv); 5658 TESTINST2("mvn.w r1, r2, asr #31", 0x00000000, r1, r2, cv); 5659 TESTINST2("mvn.w r1, r2, ror #0 ", 0x00000000, r1, r2, cv); 5660 TESTINST2("mvn.w r1, r2, ror #1 ", 0x00000000, r1, r2, cv); 5661 TESTINST2("mvn.w r1, r2, ror #15", 0x00000000, r1, r2, cv); 5662 TESTINST2("mvn.w r1, r2, ror #31", 0x00000000, r1, r2, cv); 5663 TESTINST2("lsls.w r1, r2, #0 ", 0x00000001, r1, r2, cv); 5664 TESTINST2("lsls.w r1, r2, #1 ", 0x00000001, r1, r2, cv); 5665 TESTINST2("lsls.w r1, r2, #15", 0x00000001, r1, r2, cv); 5666 TESTINST2("lsls.w r1, r2, #31", 0x00000001, r1, r2, cv); 5667 TESTINST2("lsrs.w r1, r2, #0 ", 0x00000001, r1, r2, cv); 5668 TESTINST2("lsrs.w r1, r2, #1 ", 0x00000001, r1, r2, cv); 5669 TESTINST2("lsrs.w r1, r2, #15", 0x00000001, r1, r2, cv); 5670 TESTINST2("lsrs.w r1, r2, #31", 0x00000001, r1, r2, cv); 5671 TESTINST2("asrs.w r1, r2, #0 ", 0x00000001, r1, r2, cv); 5672 TESTINST2("asrs.w r1, r2, #1 ", 0x00000001, r1, r2, cv); 5673 TESTINST2("asrs.w r1, r2, #15", 0x00000001, r1, r2, cv); 5674 TESTINST2("asrs.w r1, r2, #31", 0x00000001, r1, r2, cv); 5675 TESTINST2("rors.w r1, r2, #0 ", 0x00000001, r1, r2, cv); 5676 TESTINST2("rors.w r1, r2, #1 ", 0x00000001, r1, r2, cv); 5677 TESTINST2("rors.w r1, r2, #15", 0x00000001, r1, r2, cv); 5678 TESTINST2("rors.w r1, r2, #31", 0x00000001, r1, r2, cv); 5679 TESTINST2("lsl.w r1, r2, #0 ", 0x00000001, r1, r2, cv); 5680 TESTINST2("lsl.w r1, r2, #1 ", 0x00000001, r1, r2, cv); 5681 TESTINST2("lsl.w r1, r2, #15", 0x00000001, r1, r2, cv); 5682 TESTINST2("lsl.w r1, r2, #31", 0x00000001, r1, r2, cv); 5683 TESTINST2("lsr.w r1, r2, #0 ", 0x00000001, r1, r2, cv); 5684 TESTINST2("lsr.w r1, r2, #1 ", 0x00000001, r1, r2, cv); 5685 TESTINST2("lsr.w r1, r2, #15", 0x00000001, r1, r2, cv); 5686 TESTINST2("lsr.w r1, r2, #31", 0x00000001, r1, r2, cv); 5687 TESTINST2("asr.w r1, r2, #0 ", 0x00000001, r1, r2, cv); 5688 TESTINST2("asr.w r1, r2, #1 ", 0x00000001, r1, r2, cv); 5689 TESTINST2("asr.w r1, r2, #15", 0x00000001, r1, r2, cv); 5690 TESTINST2("asr.w r1, r2, #31", 0x00000001, r1, r2, cv); 5691 TESTINST2("ror.w r1, r2, #0 ", 0x00000001, r1, r2, cv); 5692 TESTINST2("ror.w r1, r2, #1 ", 0x00000001, r1, r2, cv); 5693 TESTINST2("ror.w r1, r2, #15", 0x00000001, r1, r2, cv); 5694 TESTINST2("ror.w r1, r2, #31", 0x00000001, r1, r2, cv); 5695 TESTINST2("mvns.w r1, r2, lsl #0 ", 0x00000001, r1, r2, cv); 5696 TESTINST2("mvns.w r1, r2, lsl #1 ", 0x00000001, r1, r2, cv); 5697 TESTINST2("mvns.w r1, r2, lsl #15", 0x00000001, r1, r2, cv); 5698 TESTINST2("mvns.w r1, r2, lsl #31", 0x00000001, r1, r2, cv); 5699 TESTINST2("mvns.w r1, r2, lsr #0 ", 0x00000001, r1, r2, cv); 5700 TESTINST2("mvns.w r1, r2, lsr #1 ", 0x00000001, r1, r2, cv); 5701 TESTINST2("mvns.w r1, r2, lsr #15", 0x00000001, r1, r2, cv); 5702 TESTINST2("mvns.w r1, r2, lsr #31", 0x00000001, r1, r2, cv); 5703 TESTINST2("mvns.w r1, r2, asr #0 ", 0x00000001, r1, r2, cv); 5704 TESTINST2("mvns.w r1, r2, asr #1 ", 0x00000001, r1, r2, cv); 5705 TESTINST2("mvns.w r1, r2, asr #15", 0x00000001, r1, r2, cv); 5706 TESTINST2("mvns.w r1, r2, asr #31", 0x00000001, r1, r2, cv); 5707 TESTINST2("mvns.w r1, r2, ror #0 ", 0x00000001, r1, r2, cv); 5708 TESTINST2("mvns.w r1, r2, ror #1 ", 0x00000001, r1, r2, cv); 5709 TESTINST2("mvns.w r1, r2, ror #15", 0x00000001, r1, r2, cv); 5710 TESTINST2("mvns.w r1, r2, ror #31", 0x00000001, r1, r2, cv); 5711 TESTINST2("mvn.w r1, r2, lsl #0 ", 0x00000001, r1, r2, cv); 5712 TESTINST2("mvn.w r1, r2, lsl #1 ", 0x00000001, r1, r2, cv); 5713 TESTINST2("mvn.w r1, r2, lsl #15", 0x00000001, r1, r2, cv); 5714 TESTINST2("mvn.w r1, r2, lsl #31", 0x00000001, r1, r2, cv); 5715 TESTINST2("mvn.w r1, r2, lsr #0 ", 0x00000001, r1, r2, cv); 5716 TESTINST2("mvn.w r1, r2, lsr #1 ", 0x00000001, r1, r2, cv); 5717 TESTINST2("mvn.w r1, r2, lsr #15", 0x00000001, r1, r2, cv); 5718 TESTINST2("mvn.w r1, r2, lsr #31", 0x00000001, r1, r2, cv); 5719 TESTINST2("mvn.w r1, r2, asr #0 ", 0x00000001, r1, r2, cv); 5720 TESTINST2("mvn.w r1, r2, asr #1 ", 0x00000001, r1, r2, cv); 5721 TESTINST2("mvn.w r1, r2, asr #15", 0x00000001, r1, r2, cv); 5722 TESTINST2("mvn.w r1, r2, asr #31", 0x00000001, r1, r2, cv); 5723 TESTINST2("mvn.w r1, r2, ror #0 ", 0x00000001, r1, r2, cv); 5724 TESTINST2("mvn.w r1, r2, ror #1 ", 0x00000001, r1, r2, cv); 5725 TESTINST2("mvn.w r1, r2, ror #15", 0x00000001, r1, r2, cv); 5726 TESTINST2("mvn.w r1, r2, ror #31", 0x00000001, r1, r2, cv); 5727 TESTINST2("lsls.w r1, r2, #0 ", 0x9218abcd, r1, r2, cv); 5728 TESTINST2("lsls.w r1, r2, #1 ", 0x9218abcd, r1, r2, cv); 5729 TESTINST2("lsls.w r1, r2, #15", 0x9218abcd, r1, r2, cv); 5730 TESTINST2("lsls.w r1, r2, #31", 0x9218abcd, r1, r2, cv); 5731 TESTINST2("lsrs.w r1, r2, #0 ", 0x9218abcd, r1, r2, cv); 5732 TESTINST2("lsrs.w r1, r2, #1 ", 0x9218abcd, r1, r2, cv); 5733 TESTINST2("lsrs.w r1, r2, #15", 0x9218abcd, r1, r2, cv); 5734 TESTINST2("lsrs.w r1, r2, #31", 0x9218abcd, r1, r2, cv); 5735 TESTINST2("asrs.w r1, r2, #0 ", 0x9218abcd, r1, r2, cv); 5736 TESTINST2("asrs.w r1, r2, #1 ", 0x9218abcd, r1, r2, cv); 5737 TESTINST2("asrs.w r1, r2, #15", 0x9218abcd, r1, r2, cv); 5738 TESTINST2("asrs.w r1, r2, #31", 0x9218abcd, r1, r2, cv); 5739 TESTINST2("rors.w r1, r2, #0 ", 0x9218abcd, r1, r2, cv); 5740 TESTINST2("rors.w r1, r2, #1 ", 0x9218abcd, r1, r2, cv); 5741 TESTINST2("rors.w r1, r2, #15", 0x9218abcd, r1, r2, cv); 5742 TESTINST2("rors.w r1, r2, #31", 0x9218abcd, r1, r2, cv); 5743 TESTINST2("lsl.w r1, r2, #0 ", 0x9218abcd, r1, r2, cv); 5744 TESTINST2("lsl.w r1, r2, #1 ", 0x9218abcd, r1, r2, cv); 5745 TESTINST2("lsl.w r1, r2, #15", 0x9218abcd, r1, r2, cv); 5746 TESTINST2("lsl.w r1, r2, #31", 0x9218abcd, r1, r2, cv); 5747 TESTINST2("lsr.w r1, r2, #0 ", 0x9218abcd, r1, r2, cv); 5748 TESTINST2("lsr.w r1, r2, #1 ", 0x9218abcd, r1, r2, cv); 5749 TESTINST2("lsr.w r1, r2, #15", 0x9218abcd, r1, r2, cv); 5750 TESTINST2("lsr.w r1, r2, #31", 0x9218abcd, r1, r2, cv); 5751 TESTINST2("asr.w r1, r2, #0 ", 0x9218abcd, r1, r2, cv); 5752 TESTINST2("asr.w r1, r2, #1 ", 0x9218abcd, r1, r2, cv); 5753 TESTINST2("asr.w r1, r2, #15", 0x9218abcd, r1, r2, cv); 5754 TESTINST2("asr.w r1, r2, #31", 0x9218abcd, r1, r2, cv); 5755 TESTINST2("ror.w r1, r2, #0 ", 0x9218abcd, r1, r2, cv); 5756 TESTINST2("ror.w r1, r2, #1 ", 0x9218abcd, r1, r2, cv); 5757 TESTINST2("ror.w r1, r2, #15", 0x9218abcd, r1, r2, cv); 5758 TESTINST2("ror.w r1, r2, #31", 0x9218abcd, r1, r2, cv); 5759 TESTINST2("mvns.w r1, r2, lsl #0 ", 0x9218abcd, r1, r2, cv); 5760 TESTINST2("mvns.w r1, r2, lsl #1 ", 0x9218abcd, r1, r2, cv); 5761 TESTINST2("mvns.w r1, r2, lsl #15", 0x9218abcd, r1, r2, cv); 5762 TESTINST2("mvns.w r1, r2, lsl #31", 0x9218abcd, r1, r2, cv); 5763 TESTINST2("mvns.w r1, r2, lsr #0 ", 0x9218abcd, r1, r2, cv); 5764 TESTINST2("mvns.w r1, r2, lsr #1 ", 0x9218abcd, r1, r2, cv); 5765 TESTINST2("mvns.w r1, r2, lsr #15", 0x9218abcd, r1, r2, cv); 5766 TESTINST2("mvns.w r1, r2, lsr #31", 0x9218abcd, r1, r2, cv); 5767 TESTINST2("mvns.w r1, r2, asr #0 ", 0x9218abcd, r1, r2, cv); 5768 TESTINST2("mvns.w r1, r2, asr #1 ", 0x9218abcd, r1, r2, cv); 5769 TESTINST2("mvns.w r1, r2, asr #15", 0x9218abcd, r1, r2, cv); 5770 TESTINST2("mvns.w r1, r2, asr #31", 0x9218abcd, r1, r2, cv); 5771 TESTINST2("mvns.w r1, r2, ror #0 ", 0x9218abcd, r1, r2, cv); 5772 TESTINST2("mvns.w r1, r2, ror #1 ", 0x9218abcd, r1, r2, cv); 5773 TESTINST2("mvns.w r1, r2, ror #15", 0x9218abcd, r1, r2, cv); 5774 TESTINST2("mvns.w r1, r2, ror #31", 0x9218abcd, r1, r2, cv); 5775 TESTINST2("mvn.w r1, r2, lsl #0 ", 0x9218abcd, r1, r2, cv); 5776 TESTINST2("mvn.w r1, r2, lsl #1 ", 0x9218abcd, r1, r2, cv); 5777 TESTINST2("mvn.w r1, r2, lsl #15", 0x9218abcd, r1, r2, cv); 5778 TESTINST2("mvn.w r1, r2, lsl #31", 0x9218abcd, r1, r2, cv); 5779 TESTINST2("mvn.w r1, r2, lsr #0 ", 0x9218abcd, r1, r2, cv); 5780 TESTINST2("mvn.w r1, r2, lsr #1 ", 0x9218abcd, r1, r2, cv); 5781 TESTINST2("mvn.w r1, r2, lsr #15", 0x9218abcd, r1, r2, cv); 5782 TESTINST2("mvn.w r1, r2, lsr #31", 0x9218abcd, r1, r2, cv); 5783 TESTINST2("mvn.w r1, r2, asr #0 ", 0x9218abcd, r1, r2, cv); 5784 TESTINST2("mvn.w r1, r2, asr #1 ", 0x9218abcd, r1, r2, cv); 5785 TESTINST2("mvn.w r1, r2, asr #15", 0x9218abcd, r1, r2, cv); 5786 TESTINST2("mvn.w r1, r2, asr #31", 0x9218abcd, r1, r2, cv); 5787 TESTINST2("mvn.w r1, r2, ror #0 ", 0x9218abcd, r1, r2, cv); 5788 TESTINST2("mvn.w r1, r2, ror #1 ", 0x9218abcd, r1, r2, cv); 5789 TESTINST2("mvn.w r1, r2, ror #15", 0x9218abcd, r1, r2, cv); 5790 TESTINST2("mvn.w r1, r2, ror #31", 0x9218abcd, r1, r2, cv); 5791 TESTINST2("lsls.w r1, r2, #0 ", 0xffffffff, r1, r2, cv); 5792 TESTINST2("lsls.w r1, r2, #1 ", 0xffffffff, r1, r2, cv); 5793 TESTINST2("lsls.w r1, r2, #15", 0xffffffff, r1, r2, cv); 5794 TESTINST2("lsls.w r1, r2, #31", 0xffffffff, r1, r2, cv); 5795 TESTINST2("lsrs.w r1, r2, #0 ", 0xffffffff, r1, r2, cv); 5796 TESTINST2("lsrs.w r1, r2, #1 ", 0xffffffff, r1, r2, cv); 5797 TESTINST2("lsrs.w r1, r2, #15", 0xffffffff, r1, r2, cv); 5798 TESTINST2("lsrs.w r1, r2, #31", 0xffffffff, r1, r2, cv); 5799 TESTINST2("asrs.w r1, r2, #0 ", 0xffffffff, r1, r2, cv); 5800 TESTINST2("asrs.w r1, r2, #1 ", 0xffffffff, r1, r2, cv); 5801 TESTINST2("asrs.w r1, r2, #15", 0xffffffff, r1, r2, cv); 5802 TESTINST2("asrs.w r1, r2, #31", 0xffffffff, r1, r2, cv); 5803 TESTINST2("rors.w r1, r2, #0 ", 0xffffffff, r1, r2, cv); 5804 TESTINST2("rors.w r1, r2, #1 ", 0xffffffff, r1, r2, cv); 5805 TESTINST2("rors.w r1, r2, #15", 0xffffffff, r1, r2, cv); 5806 TESTINST2("rors.w r1, r2, #31", 0xffffffff, r1, r2, cv); 5807 TESTINST2("lsl.w r1, r2, #0 ", 0xffffffff, r1, r2, cv); 5808 TESTINST2("lsl.w r1, r2, #1 ", 0xffffffff, r1, r2, cv); 5809 TESTINST2("lsl.w r1, r2, #15", 0xffffffff, r1, r2, cv); 5810 TESTINST2("lsl.w r1, r2, #31", 0xffffffff, r1, r2, cv); 5811 TESTINST2("lsr.w r1, r2, #0 ", 0xffffffff, r1, r2, cv); 5812 TESTINST2("lsr.w r1, r2, #1 ", 0xffffffff, r1, r2, cv); 5813 TESTINST2("lsr.w r1, r2, #15", 0xffffffff, r1, r2, cv); 5814 TESTINST2("lsr.w r1, r2, #31", 0xffffffff, r1, r2, cv); 5815 TESTINST2("asr.w r1, r2, #0 ", 0xffffffff, r1, r2, cv); 5816 TESTINST2("asr.w r1, r2, #1 ", 0xffffffff, r1, r2, cv); 5817 TESTINST2("asr.w r1, r2, #15", 0xffffffff, r1, r2, cv); 5818 TESTINST2("asr.w r1, r2, #31", 0xffffffff, r1, r2, cv); 5819 TESTINST2("ror.w r1, r2, #0 ", 0xffffffff, r1, r2, cv); 5820 TESTINST2("ror.w r1, r2, #1 ", 0xffffffff, r1, r2, cv); 5821 TESTINST2("ror.w r1, r2, #15", 0xffffffff, r1, r2, cv); 5822 TESTINST2("ror.w r1, r2, #31", 0xffffffff, r1, r2, cv); 5823 TESTINST2("mvns.w r1, r2, lsl #0 ", 0xffffffff, r1, r2, cv); 5824 TESTINST2("mvns.w r1, r2, lsl #1 ", 0xffffffff, r1, r2, cv); 5825 TESTINST2("mvns.w r1, r2, lsl #15", 0xffffffff, r1, r2, cv); 5826 TESTINST2("mvns.w r1, r2, lsl #31", 0xffffffff, r1, r2, cv); 5827 TESTINST2("mvns.w r1, r2, lsr #0 ", 0xffffffff, r1, r2, cv); 5828 TESTINST2("mvns.w r1, r2, lsr #1 ", 0xffffffff, r1, r2, cv); 5829 TESTINST2("mvns.w r1, r2, lsr #15", 0xffffffff, r1, r2, cv); 5830 TESTINST2("mvns.w r1, r2, lsr #31", 0xffffffff, r1, r2, cv); 5831 TESTINST2("mvns.w r1, r2, asr #0 ", 0xffffffff, r1, r2, cv); 5832 TESTINST2("mvns.w r1, r2, asr #1 ", 0xffffffff, r1, r2, cv); 5833 TESTINST2("mvns.w r1, r2, asr #15", 0xffffffff, r1, r2, cv); 5834 TESTINST2("mvns.w r1, r2, asr #31", 0xffffffff, r1, r2, cv); 5835 TESTINST2("mvns.w r1, r2, ror #0 ", 0xffffffff, r1, r2, cv); 5836 TESTINST2("mvns.w r1, r2, ror #1 ", 0xffffffff, r1, r2, cv); 5837 TESTINST2("mvns.w r1, r2, ror #15", 0xffffffff, r1, r2, cv); 5838 TESTINST2("mvns.w r1, r2, ror #31", 0xffffffff, r1, r2, cv); 5839 TESTINST2("mvn.w r1, r2, lsl #0 ", 0xffffffff, r1, r2, cv); 5840 TESTINST2("mvn.w r1, r2, lsl #1 ", 0xffffffff, r1, r2, cv); 5841 TESTINST2("mvn.w r1, r2, lsl #15", 0xffffffff, r1, r2, cv); 5842 TESTINST2("mvn.w r1, r2, lsl #31", 0xffffffff, r1, r2, cv); 5843 TESTINST2("mvn.w r1, r2, lsr #0 ", 0xffffffff, r1, r2, cv); 5844 TESTINST2("mvn.w r1, r2, lsr #1 ", 0xffffffff, r1, r2, cv); 5845 TESTINST2("mvn.w r1, r2, lsr #15", 0xffffffff, r1, r2, cv); 5846 TESTINST2("mvn.w r1, r2, lsr #31", 0xffffffff, r1, r2, cv); 5847 TESTINST2("mvn.w r1, r2, asr #0 ", 0xffffffff, r1, r2, cv); 5848 TESTINST2("mvn.w r1, r2, asr #1 ", 0xffffffff, r1, r2, cv); 5849 TESTINST2("mvn.w r1, r2, asr #15", 0xffffffff, r1, r2, cv); 5850 TESTINST2("mvn.w r1, r2, asr #31", 0xffffffff, r1, r2, cv); 5851 TESTINST2("mvn.w r1, r2, ror #0 ", 0xffffffff, r1, r2, cv); 5852 TESTINST2("mvn.w r1, r2, ror #1 ", 0xffffffff, r1, r2, cv); 5853 TESTINST2("mvn.w r1, r2, ror #15", 0xffffffff, r1, r2, cv); 5854 TESTINST2("mvn.w r1, r2, ror #31", 0xffffffff, r1, r2, cv); 5855 TESTCARRYEND 5856 5857 printf("(T?) TST.W Rn, Rm, {shift}\n"); 5858 TESTCARRY 5859 TESTINST2x("tst.w r1, r2, lsl #1", 0x11223344, 0x99887766, r1, r2, cv); 5860 TESTINST2x("tst.w r1, r2, lsr #1", 0x11223344, 0x99887766, r1, r2, cv); 5861 TESTINST2x("tst.w r1, r2, asr #1", 0x11223344, 0x99887766, r1, r2, cv); 5862 TESTINST2x("tst.w r1, r2, ror #1", 0x11223344, 0x99887766, r1, r2, cv); 5863 TESTINST2x("tst.w r1, r2, lsl #1", 0x11223344, 0x00000000, r1, r2, cv); 5864 TESTINST2x("tst.w r1, r2, lsr #1", 0x11223344, 0x00000000, r1, r2, cv); 5865 TESTINST2x("tst.w r1, r2, asr #1", 0x11223344, 0x00000000, r1, r2, cv); 5866 TESTINST2x("tst.w r1, r2, ror #1", 0x11223344, 0x00000000, r1, r2, cv); 5867 TESTINST2x("tst.w r1, r2, lsl #1", 0x91223344, 0x40000000, r1, r2, cv); 5868 TESTINST2x("tst.w r1, r2, lsr #1", 0x91223344, 0x40000000, r1, r2, cv); 5869 TESTINST2x("tst.w r1, r2, asr #1", 0x91223344, 0x80000000, r1, r2, cv); 5870 TESTINST2x("tst.w r1, r2, ror #1", 0x91223344, 0x00000001, r1, r2, cv); 5871 TESTCARRYEND 5872 5873 printf("(T?) TEQ.W Rn, Rm, {shift}\n"); 5874 TESTCARRY 5875 TESTINST2x("teq.w r1, r2, lsl #1", 0x11223344, 0x99887766, r1, r2, cv); 5876 TESTINST2x("teq.w r1, r2, lsr #1", 0x11223344, 0x99887766, r1, r2, cv); 5877 TESTINST2x("teq.w r1, r2, asr #1", 0x11223344, 0x99887766, r1, r2, cv); 5878 TESTINST2x("teq.w r1, r2, ror #1", 0x11223344, 0x99887766, r1, r2, cv); 5879 TESTINST2x("teq.w r1, r2, lsl #1", 0x11223344, 0x00000000, r1, r2, cv); 5880 TESTINST2x("teq.w r1, r2, lsr #1", 0x11223344, 0x00000000, r1, r2, cv); 5881 TESTINST2x("teq.w r1, r2, asr #1", 0x11223344, 0x00000000, r1, r2, cv); 5882 TESTINST2x("teq.w r1, r2, ror #1", 0x11223344, 0x00000000, r1, r2, cv); 5883 TESTINST2x("teq.w r1, r2, lsl #1", 0x91223344, 0x40000000, r1, r2, cv); 5884 TESTINST2x("teq.w r1, r2, lsr #1", 0x91223344, 0x40000000, r1, r2, cv); 5885 TESTINST2x("teq.w r1, r2, asr #1", 0x91223344, 0x80000000, r1, r2, cv); 5886 TESTINST2x("teq.w r1, r2, ror #1", 0x91223344, 0x00000001, r1, r2, cv); 5887 TESTCARRYEND 5888 5889 printf("(T?) CMP.W Rn, Rm, {shift}\n"); 5890 TESTCARRY 5891 TESTINST2x("cmp.w r1, r2, lsl #1", 0x11223344, 0x99887766, r1, r2, cv); 5892 TESTINST2x("cmp.w r1, r2, lsr #1", 0x11223344, 0x99887766, r1, r2, cv); 5893 TESTINST2x("cmp.w r1, r2, asr #1", 0x11223344, 0x99887766, r1, r2, cv); 5894 TESTINST2x("cmp.w r1, r2, ror #1", 0x11223344, 0x99887766, r1, r2, cv); 5895 TESTINST2x("cmp.w r1, r2, lsl #1", 0x11223344, 0x00000000, r1, r2, cv); 5896 TESTINST2x("cmp.w r1, r2, lsr #1", 0x11223344, 0x00000000, r1, r2, cv); 5897 TESTINST2x("cmp.w r1, r2, asr #1", 0x11223344, 0x00000000, r1, r2, cv); 5898 TESTINST2x("cmp.w r1, r2, ror #1", 0x11223344, 0x00000000, r1, r2, cv); 5899 TESTINST2x("cmp.w r1, r2, lsl #1", 0x91223344, 0x40000000, r1, r2, cv); 5900 TESTINST2x("cmp.w r1, r2, lsr #1", 0x91223344, 0x40000000, r1, r2, cv); 5901 TESTINST2x("cmp.w r1, r2, asr #1", 0x91223344, 0x80000000, r1, r2, cv); 5902 TESTINST2x("cmp.w r1, r2, ror #1", 0x91223344, 0x00000001, r1, r2, cv); 5903 TESTINST2x("cmp.w r1, r2, lsr #2", 0x15555555, 0x55555555, r1, r2, cv); 5904 TESTINST2x("cmp.w r1, r2, ror #1", 0x55555555, 0xaaaaaaaa, r1, r2, cv); 5905 TESTCARRYEND 5906 5907 printf("(T?) CMN.W Rn, Rm, {shift}\n"); 5908 TESTCARRY 5909 TESTINST2x("cmn.w r1, r2, lsl #1", 0x11223344, 0x99887766, r1, r2, cv); 5910 TESTINST2x("cmn.w r1, r2, lsr #1", 0x11223344, 0x99887766, r1, r2, cv); 5911 TESTINST2x("cmn.w r1, r2, asr #1", 0x11223344, 0x99887766, r1, r2, cv); 5912 TESTINST2x("cmn.w r1, r2, ror #1", 0x11223344, 0x99887766, r1, r2, cv); 5913 TESTINST2x("cmn.w r1, r2, lsl #1", 0x11223344, 0x00000000, r1, r2, cv); 5914 TESTINST2x("cmn.w r1, r2, lsr #1", 0x11223344, 0x00000000, r1, r2, cv); 5915 TESTINST2x("cmn.w r1, r2, asr #1", 0x11223344, 0x00000000, r1, r2, cv); 5916 TESTINST2x("cmn.w r1, r2, ror #1", 0x11223344, 0x00000000, r1, r2, cv); 5917 TESTINST2x("cmn.w r1, r2, lsl #1", 0x91223344, 0x40000000, r1, r2, cv); 5918 TESTINST2x("cmn.w r1, r2, lsr #1", 0x91223344, 0x40000000, r1, r2, cv); 5919 TESTINST2x("cmn.w r1, r2, asr #1", 0x91223344, 0x80000000, r1, r2, cv); 5920 TESTINST2x("cmn.w r1, r2, ror #1", 0x91223344, 0x00000001, r1, r2, cv); 5921 TESTINST2x("cmn.w r1, r2, lsr #2", 0x15555555, 0x55555555, r1, r2, cv); 5922 TESTINST2x("cmn.w r1, r2, ror #1", 0x55555555, 0xaaaaaaaa, r1, r2, cv); 5923 TESTCARRYEND 5924 5925 printf("(T2) MOV{S}.W Rd, #constT\n"); 5926 TESTCARRY 5927 TESTINST1("movs.w r9, 0x00000000", r9, cv); 5928 TESTINST1("movs.w r9, 0x000000FF", r9, cv); 5929 TESTINST1("movs.w r9, 0x0000007F", r9, cv); 5930 TESTINST1("movs.w r9, 0x00FF00FF", r9, cv); 5931 TESTINST1("movs.w r9, 0x007F007F", r9, cv); 5932 TESTINST1("movs.w r9, 0x43434343", r9, cv); 5933 TESTINST1("movs.w r9, 0x93939393", r9, cv); 5934 TESTINST1("movs.w r9, 0x93000000", r9, cv); 5935 TESTINST1("movs.w r9, 0x43000000", r9, cv); 5936 TESTINST1("movs.w r9, 0x09300000", r9, cv); 5937 TESTINST1("movs.w r9, 0x04300000", r9, cv); 5938 TESTINST1("movs.w r9, 0x00930000", r9, cv); 5939 TESTINST1("movs.w r9, 0x00430000", r9, cv); 5940 TESTINST1("movs.w r9, 0x00000930", r9, cv); 5941 TESTINST1("movs.w r9, 0x00000430", r9, cv); 5942 TESTINST1("movs.w r9, 0x00000093", r9, cv); 5943 TESTINST1("movs.w r9, 0x00000043", r9, cv); 5944 TESTINST1("mov.w r9, 0x00000000", r9, cv); 5945 TESTINST1("mov.w r9, 0x000000FF", r9, cv); 5946 TESTINST1("mov.w r9, 0x0000007F", r9, cv); 5947 TESTINST1("mov.w r9, 0x00FF00FF", r9, cv); 5948 TESTINST1("mov.w r9, 0x007F007F", r9, cv); 5949 TESTINST1("mov.w r9, 0x43434343", r9, cv); 5950 TESTINST1("mov.w r9, 0x93939393", r9, cv); 5951 TESTINST1("mov.w r9, 0x93000000", r9, cv); 5952 TESTINST1("mov.w r9, 0x43000000", r9, cv); 5953 TESTINST1("mov.w r9, 0x09300000", r9, cv); 5954 TESTINST1("mov.w r9, 0x04300000", r9, cv); 5955 TESTINST1("mov.w r9, 0x00930000", r9, cv); 5956 TESTINST1("mov.w r9, 0x00430000", r9, cv); 5957 TESTINST1("mov.w r9, 0x00000930", r9, cv); 5958 TESTINST1("mov.w r9, 0x00000430", r9, cv); 5959 TESTINST1("mov.w r9, 0x00000093", r9, cv); 5960 TESTINST1("mov.w r9, 0x00000043", r9, cv); 5961 TESTCARRYEND 5962 5963 printf("(T2) MVN{S}.W Rd, #constT\n"); 5964 TESTCARRY 5965 TESTINST1("mvns.w r9, 0x00000000", r9, cv); 5966 TESTINST1("mvns.w r9, 0x000000FF", r9, cv); 5967 TESTINST1("mvns.w r9, 0x0000007F", r9, cv); 5968 TESTINST1("mvns.w r9, 0x00FF00FF", r9, cv); 5969 TESTINST1("mvns.w r9, 0x007F007F", r9, cv); 5970 TESTINST1("mvns.w r9, 0x43434343", r9, cv); 5971 TESTINST1("mvns.w r9, 0x93939393", r9, cv); 5972 TESTINST1("mvns.w r9, 0x93000000", r9, cv); 5973 TESTINST1("mvns.w r9, 0x43000000", r9, cv); 5974 TESTINST1("mvns.w r9, 0x09300000", r9, cv); 5975 TESTINST1("mvns.w r9, 0x04300000", r9, cv); 5976 TESTINST1("mvns.w r9, 0x00930000", r9, cv); 5977 TESTINST1("mvns.w r9, 0x00430000", r9, cv); 5978 TESTINST1("mvns.w r9, 0x00000930", r9, cv); 5979 TESTINST1("mvns.w r9, 0x00000430", r9, cv); 5980 TESTINST1("mvns.w r9, 0x00000093", r9, cv); 5981 TESTINST1("mvns.w r9, 0x00000043", r9, cv); 5982 TESTINST1("mvn.w r9, 0x00000000", r9, cv); 5983 TESTINST1("mvn.w r9, 0x000000FF", r9, cv); 5984 TESTINST1("mvn.w r9, 0x0000007F", r9, cv); 5985 TESTINST1("mvn.w r9, 0x00FF00FF", r9, cv); 5986 TESTINST1("mvn.w r9, 0x007F007F", r9, cv); 5987 TESTINST1("mvn.w r9, 0x43434343", r9, cv); 5988 TESTINST1("mvn.w r9, 0x93939393", r9, cv); 5989 TESTINST1("mvn.w r9, 0x93000000", r9, cv); 5990 TESTINST1("mvn.w r9, 0x43000000", r9, cv); 5991 TESTINST1("mvn.w r9, 0x09300000", r9, cv); 5992 TESTINST1("mvn.w r9, 0x04300000", r9, cv); 5993 TESTINST1("mvn.w r9, 0x00930000", r9, cv); 5994 TESTINST1("mvn.w r9, 0x00430000", r9, cv); 5995 TESTINST1("mvn.w r9, 0x00000930", r9, cv); 5996 TESTINST1("mvn.w r9, 0x00000430", r9, cv); 5997 TESTINST1("mvn.w r9, 0x00000093", r9, cv); 5998 TESTINST1("mvn.w r9, 0x00000043", r9, cv); 5999 TESTCARRYEND 6000 6001 printf("(T1) RBIT Rd, Rm\n"); 6002 TESTINST2("rbit r0, r1", 0x00000000, r0, r1, 0); 6003 TESTINST2("rbit r0, r1", 0xFFFFFFFF, r0, r1, 0); 6004 TESTINST2("rbit r0, r1", 0x80000000, r0, r1, 0); 6005 TESTINST2("rbit r0, r1", 0x00000001, r0, r1, 0); 6006 TESTINST2("rbit r0, r1", 0x31415927, r0, r1, 0); 6007 TESTINST2("rbit r0, r1", 0x14141562, r0, r1, 0); 6008 TESTINST2("rbit r0, r1", 0xabe8391f, r0, r1, 0); 6009 TESTINST2("rbit r0, r1", 0x9028aa80, r0, r1, 0); 6010 TESTINST2("rbit r0, r1", 0xead1fc6d, r0, r1, 0); 6011 TESTINST2("rbit r0, r1", 0x35c98c55, r0, r1, 0); 6012 TESTINST2("rbit r0, r1", 0x534af1eb, r0, r1, 0); 6013 TESTINST2("rbit r0, r1", 0x45511b08, r0, r1, 0); 6014 TESTINST2("rbit r0, r1", 0x90077f71, r0, r1, 0); 6015 TESTINST2("rbit r0, r1", 0xde8ca84b, r0, r1, 0); 6016 TESTINST2("rbit r0, r1", 0xe37a0dda, r0, r1, 0); 6017 TESTINST2("rbit r0, r1", 0xe5b83d4b, r0, r1, 0); 6018 TESTINST2("rbit r0, r1", 0xbb6d14ec, r0, r1, 0); 6019 TESTINST2("rbit r0, r1", 0x68983cc9, r0, r1, 0); 6020 6021 printf("(T1) REV Rd, Rm ------------\n"); 6022 TESTINST2("rev r0, r1", 0x00000000, r0, r1, 0); 6023 TESTINST2("rev r0, r1", 0xFFFFFFFF, r0, r1, 0); 6024 TESTINST2("rev r0, r1", 0x80000000, r0, r1, 0); 6025 TESTINST2("rev r0, r1", 0x00000001, r0, r1, 0); 6026 TESTINST2("rev r0, r1", 0x31415927, r0, r1, 0); 6027 TESTINST2("rev r0, r1", 0x14141562, r0, r1, 0); 6028 TESTINST2("rev r0, r1", 0xabe8391f, r0, r1, 0); 6029 TESTINST2("rev r0, r1", 0x9028aa80, r0, r1, 0); 6030 TESTINST2("rev r0, r1", 0xead1fc6d, r0, r1, 0); 6031 TESTINST2("rev r0, r1", 0x35c98c55, r0, r1, 0); 6032 TESTINST2("rev r0, r1", 0x534af1eb, r0, r1, 0); 6033 TESTINST2("rev r0, r1", 0x45511b08, r0, r1, 0); 6034 TESTINST2("rev r0, r1", 0x90077f71, r0, r1, 0); 6035 TESTINST2("rev r0, r1", 0xde8ca84b, r0, r1, 0); 6036 TESTINST2("rev r0, r1", 0xe37a0dda, r0, r1, 0); 6037 TESTINST2("rev r0, r1", 0xe5b83d4b, r0, r1, 0); 6038 TESTINST2("rev r0, r1", 0xbb6d14ec, r0, r1, 0); 6039 TESTINST2("rev r0, r1", 0x68983cc9, r0, r1, 0); 6040 6041 printf("(T2) REV Rd, Rm ------------\n"); 6042 TESTINST2("rev r8, r9", 0x00000000, r8, r9, 0); 6043 TESTINST2("rev r8, r9", 0xFFFFFFFF, r8, r9, 0); 6044 TESTINST2("rev r8, r9", 0x80000000, r8, r9, 0); 6045 TESTINST2("rev r8, r9", 0x00000001, r8, r9, 0); 6046 TESTINST2("rev r8, r9", 0x31415927, r8, r9, 0); 6047 TESTINST2("rev r8, r9", 0x14141562, r8, r9, 0); 6048 TESTINST2("rev r8, r9", 0xabe8391f, r8, r9, 0); 6049 TESTINST2("rev r8, r9", 0x9028aa80, r8, r9, 0); 6050 TESTINST2("rev r8, r9", 0xead1fc6d, r8, r9, 0); 6051 TESTINST2("rev r8, r9", 0x35c98c55, r8, r9, 0); 6052 TESTINST2("rev r8, r9", 0x534af1eb, r8, r9, 0); 6053 TESTINST2("rev r8, r9", 0x45511b08, r8, r9, 0); 6054 TESTINST2("rev r8, r9", 0x90077f71, r8, r9, 0); 6055 TESTINST2("rev r8, r9", 0xde8ca84b, r8, r9, 0); 6056 TESTINST2("rev r8, r9", 0xe37a0dda, r8, r9, 0); 6057 TESTINST2("rev r8, r9", 0xe5b83d4b, r8, r9, 0); 6058 TESTINST2("rev r8, r9", 0xbb6d14ec, r8, r9, 0); 6059 TESTINST2("rev r8, r9", 0x68983cc9, r8, r9, 0); 6060 6061 printf("(T1) REV16 Rd, Rm ------------\n"); 6062 TESTINST2("rev16 r0, r1", 0x00000000, r0, r1, 0); 6063 TESTINST2("rev16 r0, r1", 0xFFFFFFFF, r0, r1, 0); 6064 TESTINST2("rev16 r0, r1", 0x80000000, r0, r1, 0); 6065 TESTINST2("rev16 r0, r1", 0x00000001, r0, r1, 0); 6066 TESTINST2("rev16 r0, r1", 0x31415927, r0, r1, 0); 6067 TESTINST2("rev16 r0, r1", 0x14141562, r0, r1, 0); 6068 TESTINST2("rev16 r0, r1", 0xabe8391f, r0, r1, 0); 6069 TESTINST2("rev16 r0, r1", 0x9028aa80, r0, r1, 0); 6070 TESTINST2("rev16 r0, r1", 0xead1fc6d, r0, r1, 0); 6071 TESTINST2("rev16 r0, r1", 0x35c98c55, r0, r1, 0); 6072 TESTINST2("rev16 r0, r1", 0x534af1eb, r0, r1, 0); 6073 TESTINST2("rev16 r0, r1", 0x45511b08, r0, r1, 0); 6074 TESTINST2("rev16 r0, r1", 0x90077f71, r0, r1, 0); 6075 TESTINST2("rev16 r0, r1", 0xde8ca84b, r0, r1, 0); 6076 TESTINST2("rev16 r0, r1", 0xe37a0dda, r0, r1, 0); 6077 TESTINST2("rev16 r0, r1", 0xe5b83d4b, r0, r1, 0); 6078 TESTINST2("rev16 r0, r1", 0xbb6d14ec, r0, r1, 0); 6079 TESTINST2("rev16 r0, r1", 0x68983cc9, r0, r1, 0); 6080 6081 printf("(T2) REV16 Rd, Rm ------------\n"); 6082 TESTINST2("rev16 r8, r9", 0x00000000, r8, r9, 0); 6083 TESTINST2("rev16 r8, r9", 0xFFFFFFFF, r8, r9, 0); 6084 TESTINST2("rev16 r8, r9", 0x80000000, r8, r9, 0); 6085 TESTINST2("rev16 r8, r9", 0x00000001, r8, r9, 0); 6086 TESTINST2("rev16 r8, r9", 0x31415927, r8, r9, 0); 6087 TESTINST2("rev16 r8, r9", 0x14141562, r8, r9, 0); 6088 TESTINST2("rev16 r8, r9", 0xabe8391f, r8, r9, 0); 6089 TESTINST2("rev16 r8, r9", 0x9028aa80, r8, r9, 0); 6090 TESTINST2("rev16 r8, r9", 0xead1fc6d, r8, r9, 0); 6091 TESTINST2("rev16 r8, r9", 0x35c98c55, r8, r9, 0); 6092 TESTINST2("rev16 r8, r9", 0x534af1eb, r8, r9, 0); 6093 TESTINST2("rev16 r8, r9", 0x45511b08, r8, r9, 0); 6094 TESTINST2("rev16 r8, r9", 0x90077f71, r8, r9, 0); 6095 TESTINST2("rev16 r8, r9", 0xde8ca84b, r8, r9, 0); 6096 TESTINST2("rev16 r8, r9", 0xe37a0dda, r8, r9, 0); 6097 TESTINST2("rev16 r8, r9", 0xe5b83d4b, r8, r9, 0); 6098 TESTINST2("rev16 r8, r9", 0xbb6d14ec, r8, r9, 0); 6099 TESTINST2("rev16 r8, r9", 0x68983cc9, r8, r9, 0); 6100 6101 printf("(T1) REVSH Rd, Rm ------------\n"); 6102 TESTINST2("revsh r0, r1", 0x00000000, r0, r1, 0); 6103 TESTINST2("revsh r0, r1", 0xFFFFFFFF, r0, r1, 0); 6104 TESTINST2("revsh r0, r1", 0x80000000, r0, r1, 0); 6105 TESTINST2("revsh r0, r1", 0x00000001, r0, r1, 0); 6106 TESTINST2("revsh r0, r1", 0x31415927, r0, r1, 0); 6107 TESTINST2("revsh r0, r1", 0x14141562, r0, r1, 0); 6108 TESTINST2("revsh r0, r1", 0xabe8391f, r0, r1, 0); 6109 TESTINST2("revsh r0, r1", 0x9028aa80, r0, r1, 0); 6110 TESTINST2("revsh r0, r1", 0xead1fc6d, r0, r1, 0); 6111 TESTINST2("revsh r0, r1", 0x35c98c55, r0, r1, 0); 6112 TESTINST2("revsh r0, r1", 0x534af1eb, r0, r1, 0); 6113 TESTINST2("revsh r0, r1", 0x45511b08, r0, r1, 0); 6114 TESTINST2("revsh r0, r1", 0x90077f71, r0, r1, 0); 6115 TESTINST2("revsh r0, r1", 0xde8ca84b, r0, r1, 0); 6116 TESTINST2("revsh r0, r1", 0xe37a0dda, r0, r1, 0); 6117 TESTINST2("revsh r0, r1", 0xe5b83d4b, r0, r1, 0); 6118 TESTINST2("revsh r0, r1", 0xbb6d14ec, r0, r1, 0); 6119 TESTINST2("revsh r0, r1", 0x68983cc9, r0, r1, 0); 6120 6121 printf("(T2) REVSH Rd, Rm ------------\n"); 6122 TESTINST2("revsh r8, r9", 0x00000000, r8, r9, 0); 6123 TESTINST2("revsh r8, r9", 0xFFFFFFFF, r8, r9, 0); 6124 TESTINST2("revsh r8, r9", 0x80000000, r8, r9, 0); 6125 TESTINST2("revsh r8, r9", 0x00000001, r8, r9, 0); 6126 TESTINST2("revsh r8, r9", 0x31415927, r8, r9, 0); 6127 TESTINST2("revsh r8, r9", 0x14141562, r8, r9, 0); 6128 TESTINST2("revsh r8, r9", 0xabe8391f, r8, r9, 0); 6129 TESTINST2("revsh r8, r9", 0x9028aa80, r8, r9, 0); 6130 TESTINST2("revsh r8, r9", 0xead1fc6d, r8, r9, 0); 6131 TESTINST2("revsh r8, r9", 0x35c98c55, r8, r9, 0); 6132 TESTINST2("revsh r8, r9", 0x534af1eb, r8, r9, 0); 6133 TESTINST2("revsh r8, r9", 0x45511b08, r8, r9, 0); 6134 TESTINST2("revsh r8, r9", 0x90077f71, r8, r9, 0); 6135 TESTINST2("revsh r8, r9", 0xde8ca84b, r8, r9, 0); 6136 TESTINST2("revsh r8, r9", 0xe37a0dda, r8, r9, 0); 6137 TESTINST2("revsh r8, r9", 0xe5b83d4b, r8, r9, 0); 6138 TESTINST2("revsh r8, r9", 0xbb6d14ec, r8, r9, 0); 6139 TESTINST2("revsh r8, r9", 0x68983cc9, r8, r9, 0); 6140 6141 printf("------------ NOP (begin) ------------\n"); 6142 printf("nop\n"); 6143 __asm__ __volatile__("nop" ::: "memory","cc"); 6144 printf("nop.w\n"); 6145 __asm__ __volatile__("nop.w" ::: "memory","cc"); 6146 printf("------------ NOP (end) ------------\n"); 6147 6148 // plus whatever stuff we can throw in from the old ARM test program 6149 old_main(); 6150 6151 printf("------------ SMMUL ------------\n"); 6152 TESTINST3("smmul r0, r1, r2", 0, 0, r0, r1, r2, 0); 6153 TESTINST3("smmul r0, r1, r2", 0xffffffff, 0, r0, r1, r2, 0); 6154 TESTINST3("smmul r0, r1, r2", 0, 0xffffffff, r0, r1, r2, 0); 6155 TESTINST3("smmul r0, r1, r2", 0xffffffff, 0xffffffff, r0, r1, r2, 0); 6156 TESTINST3("smmul r0, r1, r2", 0x7fffffff, 0x7fffffff, r0, r1, r2, 0); 6157 TESTINST3("smmul r0, r1, r2", 0x0000ffff, 0x0000ffff, r0, r1, r2, 0); 6158 TESTINST3("smmul r0, r1, r2", 0xe444dc25, 0xd5eef620, r0, r1, r2, 0); 6159 TESTINST3("smmul r0, r1, r2", 0x06ea9b2a, 0xa2108661, r0, r1, r2, 0); 6160 TESTINST3("smmul r0, r1, r2", 0x448f3a5f, 0x17aecf57, r0, r1, r2, 0); 6161 TESTINST3("smmul r0, r1, r2", 0x4b0c2337, 0xffa63d6c, r0, r1, r2, 0); 6162 TESTINST3("smmul r0, r1, r2", 0xf91d5f56, 0x088bc0f9, r0, r1, r2, 0); 6163 6164 TESTINST3("smmulr r0, r1, r2", 0, 0, r0, r1, r2, 0); 6165 TESTINST3("smmulr r0, r1, r2", 0xffffffff, 0, r0, r1, r2, 0); 6166 TESTINST3("smmulr r0, r1, r2", 0, 0xffffffff, r0, r1, r2, 0); 6167 TESTINST3("smmulr r0, r1, r2", 0xffffffff, 0xffffffff, r0, r1, r2, 0); 6168 TESTINST3("smmulr r0, r1, r2", 0x7fffffff, 0x7fffffff, r0, r1, r2, 0); 6169 TESTINST3("smmulr r0, r1, r2", 0x0000ffff, 0x0000ffff, r0, r1, r2, 0); 6170 TESTINST3("smmulr r0, r1, r2", 0xe444dc25, 0xd5eef620, r0, r1, r2, 0); 6171 TESTINST3("smmulr r0, r1, r2", 0x06ea9b2a, 0xa2108661, r0, r1, r2, 0); 6172 TESTINST3("smmulr r0, r1, r2", 0x448f3a5f, 0x17aecf57, r0, r1, r2, 0); 6173 TESTINST3("smmulr r0, r1, r2", 0x4b0c2337, 0xffa63d6c, r0, r1, r2, 0); 6174 TESTINST3("smmulr r0, r1, r2", 0xf91d5f56, 0x088bc0f9, r0, r1, r2, 0); 6175 6176 printf("------------ UMAAL ------------\n"); 6177 TESTINST4_2OUT("umaal r0, r1, r2, r3", 0, 0, 0, 0, r0, r1, r2, r3, 0); 6178 TESTINST4_2OUT("umaal r0, r1, r2, r3", 0, 1, 0, 0, r0, r1, r2, r3, 0); 6179 TESTINST4_2OUT("umaal r0, r1, r2, r3", 1, 1, 0, 0, r0, r1, r2, r3, 0); 6180 TESTINST4_2OUT("umaal r0, r1, r2, r3", 0, 0xffffffff, 1, 1, r0, r1, r2, r3, 0); 6181 TESTINST4_2OUT("umaal r0, r1, r2, r3", 0, 0, 0, 1, r0, r1, r2, r3, 0); 6182 TESTINST4_2OUT("umaal r0, r1, r2, r3", 0, 0, 1, 0, r0, r1, r2, r3, 0); 6183 TESTINST4_2OUT("umaal r0, r1, r2, r3", 0, 0, 1, 1, r0, r1, r2, r3, 0); 6184 TESTINST4_2OUT("umaal r0, r1, r2, r3", 0, 0, 0xffff, 0xffff, r0, r1, r2, r3, 0); 6185 TESTINST4_2OUT("umaal r0, r1, r2, r3", 0, 0, 0xffffffff, 0xffffffff, r0, r1, r2, r3, 0); 6186 6187 TESTINST4_2OUT("umaal r0, r1, r2, r3", 0x27182846, 0x31415927, 0x14141356, 0x1773250A, 6188 r0, r1, r2, r3, 0); 6189 TESTINST4_2OUT("umaal r0, r1, r2, r3", 0x01415927, 0x74141356, 0x5773250A, 0xA7182846, 6190 r0, r1, r2, r3, 1); 6191 6192 printf("----------------- SMMLA{R} ----------------- \n"); 6193 TESTINST4("smmla r0, r1, r2, r3", 6194 0x80008000, 0x80008000, 0x00000000, r0, r1, r2, r3, 0); 6195 TESTINST4("smmla r0, r1, r2, r3", 6196 0x7fff7fff, 0x00000000, 0x00000000, r0, r1, r2, r3, 0); 6197 TESTINST4("smmla r0, r1, r2, r3", 6198 0x7fff7fff, 0x00010001, 0x00000001, r0, r1, r2, r3, 0); 6199 TESTINST4("smmla r0, r1, r2, r3", 6200 0x80008000, 0xffffffff, 0x0000001f, r0, r1, r2, r3, 0); 6201 TESTINST4("smmla r0, r1, r2, r3", 6202 0x00640064, 0x00030003, 0x00000020, r0, r1, r2, r3, 0); 6203 TESTINST4("smmla r0, r1, r2, r3", 6204 0xffffffff, 0xfffc0001, 0x000000ff, r0, r1, r2, r3, 0); 6205 TESTINST4("smmla r0, r1, r2, r3", 6206 0xfff70fff, 0x00030003, 0x00000100, r0, r1, r2, r3, 0); 6207 TESTINST4("smmla r0, r1, r2, r3", 6208 0xb8035b5b, 0xce0ce1ed, 0x5f986e68, r0, r1, r2, r3, 0); 6209 TESTINST4("smmla r0, r1, r2, r3", 6210 0x35232047, 0x146275d8, 0xaae3433f, r0, r1, r2, r3, 0); 6211 TESTINST4("smmla r0, r1, r2, r3", 6212 0xe7aa57b4, 0x1584bd74, 0x2c07a5b4, r0, r1, r2, r3, 0); 6213 TESTINST4("smmla r0, r1, r2, r3", 6214 0x32fa0095, 0x36f26261, 0x89d2ef86, r0, r1, r2, r3, 0); 6215 TESTINST4("smmla r0, r1, r2, r3", 6216 0x8ed8287c, 0x02c90120, 0xd4b64d54, r0, r1, r2, r3, 0); 6217 TESTINST4("smmla r0, r1, r2, r3", 6218 0xc53aaba9, 0x29300837, 0x0b02c58a, r0, r1, r2, r3, 0); 6219 TESTINST4("smmla r0, r1, r2, r3", 6220 0x216158cb, 0x57a50a01, 0xb0d20777, r0, r1, r2, r3, 0); 6221 TESTINST4("smmla r0, r1, r2, r3", 6222 0x3e2e1bd7, 0x3cd6cd94, 0x7e376198, r0, r1, r2, r3, 0); 6223 TESTINST4("smmla r0, r1, r2, r3", 6224 0xd5fe2dc4, 0xdd914bf7, 0xd5dc5407, r0, r1, r2, r3, 0); 6225 TESTINST4("smmla r0, r1, r2, r3", 6226 0xf87b961e, 0x1d66879f, 0xf2b64835, r0, r1, r2, r3, 0); 6227 TESTINST4("smmla r0, r1, r2, r3", 6228 0xd65db979, 0xc61b323b, 0xae930a1a, r0, r1, r2, r3, 0); 6229 TESTINST4("smmla r0, r1, r2, r3", 6230 0x5ef1f1a8, 0xbf73f0a5, 0x2fb714c9, r0, r1, r2, r3, 0); 6231 TESTINST4("smmla r0, r1, r2, r3", 6232 0x1ffe53d9, 0x815bb75b, 0xa3268abe, r0, r1, r2, r3, 0); 6233 TESTINST4("smmla r0, r1, r2, r3", 6234 0xed2cbf78, 0xc6ffabb6, 0xef9e9fd9, r0, r1, r2, r3, 0); 6235 TESTINST4("smmla r0, r1, r2, r3", 6236 0xeaa652c7, 0x137741f4, 0x3dba1164, r0, r1, r2, r3, 0); 6237 TESTINST4("smmla r0, r1, r2, r3", 6238 0x3ada0280, 0x71fbde8b, 0xdba5bd25, r0, r1, r2, r3, 0); 6239 TESTINST4("smmla r0, r1, r2, r3", 6240 0xda4ba05b, 0x90f9833d, 0x884c0ad8, r0, r1, r2, r3, 0); 6241 TESTINST4("smmla r0, r1, r2, r3", 6242 0xc00b821a, 0x7fa1d5a6, 0x9a4ff1b8, r0, r1, r2, r3, 0); 6243 TESTINST4("smmla r0, r1, r2, r3", 6244 0xe1bb8606, 0x58293969, 0x81616d13, r0, r1, r2, r3, 0); 6245 TESTINST4("smmla r0, r1, r2, r3", 6246 0x51f31d95, 0xa3cfd624, 0x6077fb1f, r0, r1, r2, r3, 0); 6247 TESTINST4("smmla r0, r1, r2, r3", 6248 0x0849a0c2, 0x0872f25a, 0x40b094e2, r0, r1, r2, r3, 0); 6249 TESTINST4("smmla r0, r1, r2, r3", 6250 0x17913309, 0xf1e03d7e, 0x91edc21d, r0, r1, r2, r3, 0); 6251 TESTINST4("smmla r0, r1, r2, r3", 6252 0x5388b5cd, 0x86582032, 0x6034078d, r0, r1, r2, r3, 0); 6253 TESTINST4("smmla r0, r1, r2, r3", 6254 0x181c436b, 0x5de41558, 0xccfa1c7e, r0, r1, r2, r3, 0); 6255 TESTINST4("smmla r0, r1, r2, r3", 6256 0x23ba1b46, 0x4437983c, 0x48d06549, r0, r1, r2, r3, 0); 6257 TESTINST4("smmla r0, r1, r2, r3", 6258 0xa9085781, 0xc6b4ac58, 0xb2aead21, r0, r1, r2, r3, 0); 6259 TESTINST4("smmla r0, r1, r2, r3", 6260 0xc2bdf597, 0xdde1e6a4, 0x852e3a72, r0, r1, r2, r3, 0); 6261 TESTINST4("smmla r0, r1, r2, r3", 6262 0x157b0dea, 0xf0d5ff94, 0xe7b87e39, r0, r1, r2, r3, 0); 6263 TESTINST4("smmla r0, r1, r2, r3", 6264 0x3edad6b6, 0x82aceb7a, 0x0557c6fc, r0, r1, r2, r3, 0); 6265 TESTINST4("smmla r0, r1, r2, r3", 6266 0x6cc9bfa8, 0x7f808c15, 0x81874a02, r0, r1, r2, r3, 0); 6267 TESTINST4("smmla r0, r1, r2, r3", 6268 0x6b1422c7, 0x33921b00, 0x3ccad3f7, r0, r1, r2, r3, 0); 6269 TESTINST4("smmla r0, r1, r2, r3", 6270 0xd7ce1909, 0x3e435701, 0x85fbf196, r0, r1, r2, r3, 0); 6271 TESTINST4("smmla r0, r1, r2, r3", 6272 0xb4e16b6e, 0x6e13680a, 0x89436f88, r0, r1, r2, r3, 0); 6273 TESTINST4("smmla r0, r1, r2, r3", 6274 0x44858efc, 0x9002bc30, 0x390d2c2f, r0, r1, r2, r3, 0); 6275 TESTINST4("smmla r0, r1, r2, r3", 6276 0xbea121ab, 0x953ff6ec, 0x80657c40, r0, r1, r2, r3, 0); 6277 TESTINST4("smmla r0, r1, r2, r3", 6278 0x6ffed89f, 0x3e8c49b7, 0x11bd07d1, r0, r1, r2, r3, 0); 6279 TESTINST4("smmla r0, r1, r2, r3", 6280 0x7795635d, 0x5e6e32dd, 0xe4999bf2, r0, r1, r2, r3, 0); 6281 TESTINST4("smmla r0, r1, r2, r3", 6282 0xec0c2f30, 0x5736ed46, 0x231348c0, r0, r1, r2, r3, 0); 6283 TESTINST4("smmla r0, r1, r2, r3", 6284 0x4f9ddd1b, 0x95bca5d8, 0x5765b203, r0, r1, r2, r3, 0); 6285 TESTINST4("smmla r0, r1, r2, r3", 6286 0xc1553709, 0x0112b30a, 0x69ec0212, r0, r1, r2, r3, 0); 6287 TESTINST4("smmla r0, r1, r2, r3", 6288 0x74bd0223, 0x03fa9bb5, 0x899d9192, r0, r1, r2, r3, 0); 6289 TESTINST4("smmla r0, r1, r2, r3", 6290 0xf52e9fbf, 0xb4c510a7, 0x7fcbe5a9, r0, r1, r2, r3, 0); 6291 TESTINST4("smmla r0, r1, r2, r3", 6292 0x64a365ef, 0x2dd01366, 0xf7b0b13e, r0, r1, r2, r3, 0); 6293 TESTINST4("smmla r0, r1, r2, r3", 6294 0x5e4b1cbf, 0x44de5ca9, 0x464a21cc, r0, r1, r2, r3, 0); 6295 TESTINST4("smmla r0, r1, r2, r3", 6296 0x299da970, 0xe8108f1b, 0xf5818cfb, r0, r1, r2, r3, 0); 6297 TESTINST4("smmla r0, r1, r2, r3", 6298 0xcd90d604, 0xaa5e9444, 0x8217b7df, r0, r1, r2, r3, 0); 6299 TESTINST4("smmla r0, r1, r2, r3", 6300 0xe60743c3, 0x7acb4de3, 0x73c29060, r0, r1, r2, r3, 0); 6301 TESTINST4("smmla r0, r1, r2, r3", 6302 0x868e7c7d, 0x5f77532e, 0x1d133d3d, r0, r1, r2, r3, 0); 6303 TESTINST4("smmla r0, r1, r2, r3", 6304 0x4e5e0760, 0x8f6d3264, 0x21ba2fb3, r0, r1, r2, r3, 0); 6305 TESTINST4("smmla r0, r1, r2, r3", 6306 0xde99ac2f, 0x0be36f70, 0xeda5110c, r0, r1, r2, r3, 0); 6307 TESTINST4("smmla r0, r1, r2, r3", 6308 0xc57243b7, 0xcf1e4487, 0xf20fb90f, r0, r1, r2, r3, 0); 6309 6310 TESTINST4("smmlar r0, r1, r2, r3", 6311 0x80008000, 0x80008000, 0x00000000, r0, r1, r2, r3, 0); 6312 TESTINST4("smmlar r0, r1, r2, r3", 6313 0x7fff7fff, 0x00000000, 0x00000000, r0, r1, r2, r3, 0); 6314 TESTINST4("smmlar r0, r1, r2, r3", 6315 0x7fff7fff, 0x00010001, 0x00000001, r0, r1, r2, r3, 0); 6316 TESTINST4("smmlar r0, r1, r2, r3", 6317 0x80008000, 0xffffffff, 0x0000001f, r0, r1, r2, r3, 0); 6318 TESTINST4("smmlar r0, r1, r2, r3", 6319 0x00640064, 0x00030003, 0x00000020, r0, r1, r2, r3, 0); 6320 TESTINST4("smmlar r0, r1, r2, r3", 6321 0xffffffff, 0xfffc0001, 0x000000ff, r0, r1, r2, r3, 0); 6322 TESTINST4("smmlar r0, r1, r2, r3", 6323 0xfff70fff, 0x00030003, 0x00000100, r0, r1, r2, r3, 0); 6324 TESTINST4("smmlar r0, r1, r2, r3", 6325 0xb8035b5b, 0xce0ce1ed, 0x5f986e68, r0, r1, r2, r3, 0); 6326 TESTINST4("smmlar r0, r1, r2, r3", 6327 0x35232047, 0x146275d8, 0xaae3433f, r0, r1, r2, r3, 0); 6328 TESTINST4("smmlar r0, r1, r2, r3", 6329 0xe7aa57b4, 0x1584bd74, 0x2c07a5b4, r0, r1, r2, r3, 0); 6330 TESTINST4("smmlar r0, r1, r2, r3", 6331 0x32fa0095, 0x36f26261, 0x89d2ef86, r0, r1, r2, r3, 0); 6332 TESTINST4("smmlar r0, r1, r2, r3", 6333 0x8ed8287c, 0x02c90120, 0xd4b64d54, r0, r1, r2, r3, 0); 6334 TESTINST4("smmlar r0, r1, r2, r3", 6335 0xc53aaba9, 0x29300837, 0x0b02c58a, r0, r1, r2, r3, 0); 6336 TESTINST4("smmlar r0, r1, r2, r3", 6337 0x216158cb, 0x57a50a01, 0xb0d20777, r0, r1, r2, r3, 0); 6338 TESTINST4("smmlar r0, r1, r2, r3", 6339 0x3e2e1bd7, 0x3cd6cd94, 0x7e376198, r0, r1, r2, r3, 0); 6340 TESTINST4("smmlar r0, r1, r2, r3", 6341 0xd5fe2dc4, 0xdd914bf7, 0xd5dc5407, r0, r1, r2, r3, 0); 6342 TESTINST4("smmlar r0, r1, r2, r3", 6343 0xf87b961e, 0x1d66879f, 0xf2b64835, r0, r1, r2, r3, 0); 6344 TESTINST4("smmlar r0, r1, r2, r3", 6345 0xd65db979, 0xc61b323b, 0xae930a1a, r0, r1, r2, r3, 0); 6346 TESTINST4("smmlar r0, r1, r2, r3", 6347 0x5ef1f1a8, 0xbf73f0a5, 0x2fb714c9, r0, r1, r2, r3, 0); 6348 TESTINST4("smmlar r0, r1, r2, r3", 6349 0x1ffe53d9, 0x815bb75b, 0xa3268abe, r0, r1, r2, r3, 0); 6350 TESTINST4("smmlar r0, r1, r2, r3", 6351 0xed2cbf78, 0xc6ffabb6, 0xef9e9fd9, r0, r1, r2, r3, 0); 6352 TESTINST4("smmlar r0, r1, r2, r3", 6353 0xeaa652c7, 0x137741f4, 0x3dba1164, r0, r1, r2, r3, 0); 6354 TESTINST4("smmlar r0, r1, r2, r3", 6355 0x3ada0280, 0x71fbde8b, 0xdba5bd25, r0, r1, r2, r3, 0); 6356 TESTINST4("smmlar r0, r1, r2, r3", 6357 0xda4ba05b, 0x90f9833d, 0x884c0ad8, r0, r1, r2, r3, 0); 6358 TESTINST4("smmlar r0, r1, r2, r3", 6359 0xc00b821a, 0x7fa1d5a6, 0x9a4ff1b8, r0, r1, r2, r3, 0); 6360 TESTINST4("smmlar r0, r1, r2, r3", 6361 0xe1bb8606, 0x58293969, 0x81616d13, r0, r1, r2, r3, 0); 6362 TESTINST4("smmlar r0, r1, r2, r3", 6363 0x51f31d95, 0xa3cfd624, 0x6077fb1f, r0, r1, r2, r3, 0); 6364 TESTINST4("smmlar r0, r1, r2, r3", 6365 0x0849a0c2, 0x0872f25a, 0x40b094e2, r0, r1, r2, r3, 0); 6366 TESTINST4("smmlar r0, r1, r2, r3", 6367 0x17913309, 0xf1e03d7e, 0x91edc21d, r0, r1, r2, r3, 0); 6368 TESTINST4("smmlar r0, r1, r2, r3", 6369 0x5388b5cd, 0x86582032, 0x6034078d, r0, r1, r2, r3, 0); 6370 TESTINST4("smmlar r0, r1, r2, r3", 6371 0x181c436b, 0x5de41558, 0xccfa1c7e, r0, r1, r2, r3, 0); 6372 TESTINST4("smmlar r0, r1, r2, r3", 6373 0x23ba1b46, 0x4437983c, 0x48d06549, r0, r1, r2, r3, 0); 6374 TESTINST4("smmlar r0, r1, r2, r3", 6375 0xa9085781, 0xc6b4ac58, 0xb2aead21, r0, r1, r2, r3, 0); 6376 TESTINST4("smmlar r0, r1, r2, r3", 6377 0xc2bdf597, 0xdde1e6a4, 0x852e3a72, r0, r1, r2, r3, 0); 6378 TESTINST4("smmlar r0, r1, r2, r3", 6379 0x157b0dea, 0xf0d5ff94, 0xe7b87e39, r0, r1, r2, r3, 0); 6380 TESTINST4("smmlar r0, r1, r2, r3", 6381 0x3edad6b6, 0x82aceb7a, 0x0557c6fc, r0, r1, r2, r3, 0); 6382 TESTINST4("smmlar r0, r1, r2, r3", 6383 0x6cc9bfa8, 0x7f808c15, 0x81874a02, r0, r1, r2, r3, 0); 6384 TESTINST4("smmlar r0, r1, r2, r3", 6385 0x6b1422c7, 0x33921b00, 0x3ccad3f7, r0, r1, r2, r3, 0); 6386 TESTINST4("smmlar r0, r1, r2, r3", 6387 0xd7ce1909, 0x3e435701, 0x85fbf196, r0, r1, r2, r3, 0); 6388 TESTINST4("smmlar r0, r1, r2, r3", 6389 0xb4e16b6e, 0x6e13680a, 0x89436f88, r0, r1, r2, r3, 0); 6390 TESTINST4("smmlar r0, r1, r2, r3", 6391 0x44858efc, 0x9002bc30, 0x390d2c2f, r0, r1, r2, r3, 0); 6392 TESTINST4("smmlar r0, r1, r2, r3", 6393 0xbea121ab, 0x953ff6ec, 0x80657c40, r0, r1, r2, r3, 0); 6394 TESTINST4("smmlar r0, r1, r2, r3", 6395 0x6ffed89f, 0x3e8c49b7, 0x11bd07d1, r0, r1, r2, r3, 0); 6396 TESTINST4("smmlar r0, r1, r2, r3", 6397 0x7795635d, 0x5e6e32dd, 0xe4999bf2, r0, r1, r2, r3, 0); 6398 TESTINST4("smmlar r0, r1, r2, r3", 6399 0xec0c2f30, 0x5736ed46, 0x231348c0, r0, r1, r2, r3, 0); 6400 TESTINST4("smmlar r0, r1, r2, r3", 6401 0x4f9ddd1b, 0x95bca5d8, 0x5765b203, r0, r1, r2, r3, 0); 6402 TESTINST4("smmlar r0, r1, r2, r3", 6403 0xc1553709, 0x0112b30a, 0x69ec0212, r0, r1, r2, r3, 0); 6404 TESTINST4("smmlar r0, r1, r2, r3", 6405 0x74bd0223, 0x03fa9bb5, 0x899d9192, r0, r1, r2, r3, 0); 6406 TESTINST4("smmlar r0, r1, r2, r3", 6407 0xf52e9fbf, 0xb4c510a7, 0x7fcbe5a9, r0, r1, r2, r3, 0); 6408 TESTINST4("smmlar r0, r1, r2, r3", 6409 0x64a365ef, 0x2dd01366, 0xf7b0b13e, r0, r1, r2, r3, 0); 6410 TESTINST4("smmlar r0, r1, r2, r3", 6411 0x5e4b1cbf, 0x44de5ca9, 0x464a21cc, r0, r1, r2, r3, 0); 6412 TESTINST4("smmlar r0, r1, r2, r3", 6413 0x299da970, 0xe8108f1b, 0xf5818cfb, r0, r1, r2, r3, 0); 6414 TESTINST4("smmlar r0, r1, r2, r3", 6415 0xcd90d604, 0xaa5e9444, 0x8217b7df, r0, r1, r2, r3, 0); 6416 TESTINST4("smmlar r0, r1, r2, r3", 6417 0xe60743c3, 0x7acb4de3, 0x73c29060, r0, r1, r2, r3, 0); 6418 TESTINST4("smmlar r0, r1, r2, r3", 6419 0x868e7c7d, 0x5f77532e, 0x1d133d3d, r0, r1, r2, r3, 0); 6420 TESTINST4("smmlar r0, r1, r2, r3", 6421 0x4e5e0760, 0x8f6d3264, 0x21ba2fb3, r0, r1, r2, r3, 0); 6422 TESTINST4("smmlar r0, r1, r2, r3", 6423 0xde99ac2f, 0x0be36f70, 0xeda5110c, r0, r1, r2, r3, 0); 6424 TESTINST4("smmlar r0, r1, r2, r3", 6425 0xc57243b7, 0xcf1e4487, 0xf20fb90f, r0, r1, r2, r3, 0); 6426 6427 printf("----------------- SMMLS{R} ----------------- \n"); 6428 TESTINST4("smmls r0, r1, r2, r3", 6429 0x80008000, 0x80008000, 0x00000000, r0, r1, r2, r3, 0); 6430 TESTINST4("smmls r0, r1, r2, r3", 6431 0x7fff7fff, 0x00000000, 0x00000000, r0, r1, r2, r3, 0); 6432 TESTINST4("smmls r0, r1, r2, r3", 6433 0x7fff7fff, 0x00010001, 0x00000001, r0, r1, r2, r3, 0); 6434 TESTINST4("smmls r0, r1, r2, r3", 6435 0x80008000, 0xffffffff, 0x0000001f, r0, r1, r2, r3, 0); 6436 TESTINST4("smmls r0, r1, r2, r3", 6437 0x00640064, 0x00030003, 0x00000020, r0, r1, r2, r3, 0); 6438 TESTINST4("smmls r0, r1, r2, r3", 6439 0xffffffff, 0xfffc0001, 0x000000ff, r0, r1, r2, r3, 0); 6440 TESTINST4("smmls r0, r1, r2, r3", 6441 0xfff70fff, 0x00030003, 0x00000100, r0, r1, r2, r3, 0); 6442 TESTINST4("smmls r0, r1, r2, r3", 6443 0xb8035b5b, 0xce0ce1ed, 0x5f986e68, r0, r1, r2, r3, 0); 6444 TESTINST4("smmls r0, r1, r2, r3", 6445 0x35232047, 0x146275d8, 0xaae3433f, r0, r1, r2, r3, 0); 6446 TESTINST4("smmls r0, r1, r2, r3", 6447 0xe7aa57b4, 0x1584bd74, 0x2c07a5b4, r0, r1, r2, r3, 0); 6448 TESTINST4("smmls r0, r1, r2, r3", 6449 0x32fa0095, 0x36f26261, 0x89d2ef86, r0, r1, r2, r3, 0); 6450 TESTINST4("smmls r0, r1, r2, r3", 6451 0x8ed8287c, 0x02c90120, 0xd4b64d54, r0, r1, r2, r3, 0); 6452 TESTINST4("smmls r0, r1, r2, r3", 6453 0xc53aaba9, 0x29300837, 0x0b02c58a, r0, r1, r2, r3, 0); 6454 TESTINST4("smmls r0, r1, r2, r3", 6455 0x216158cb, 0x57a50a01, 0xb0d20777, r0, r1, r2, r3, 0); 6456 TESTINST4("smmls r0, r1, r2, r3", 6457 0x3e2e1bd7, 0x3cd6cd94, 0x7e376198, r0, r1, r2, r3, 0); 6458 TESTINST4("smmls r0, r1, r2, r3", 6459 0xd5fe2dc4, 0xdd914bf7, 0xd5dc5407, r0, r1, r2, r3, 0); 6460 TESTINST4("smmls r0, r1, r2, r3", 6461 0xf87b961e, 0x1d66879f, 0xf2b64835, r0, r1, r2, r3, 0); 6462 TESTINST4("smmls r0, r1, r2, r3", 6463 0xd65db979, 0xc61b323b, 0xae930a1a, r0, r1, r2, r3, 0); 6464 TESTINST4("smmls r0, r1, r2, r3", 6465 0x5ef1f1a8, 0xbf73f0a5, 0x2fb714c9, r0, r1, r2, r3, 0); 6466 TESTINST4("smmls r0, r1, r2, r3", 6467 0x1ffe53d9, 0x815bb75b, 0xa3268abe, r0, r1, r2, r3, 0); 6468 TESTINST4("smmls r0, r1, r2, r3", 6469 0xed2cbf78, 0xc6ffabb6, 0xef9e9fd9, r0, r1, r2, r3, 0); 6470 TESTINST4("smmls r0, r1, r2, r3", 6471 0xeaa652c7, 0x137741f4, 0x3dba1164, r0, r1, r2, r3, 0); 6472 TESTINST4("smmls r0, r1, r2, r3", 6473 0x3ada0280, 0x71fbde8b, 0xdba5bd25, r0, r1, r2, r3, 0); 6474 TESTINST4("smmls r0, r1, r2, r3", 6475 0xda4ba05b, 0x90f9833d, 0x884c0ad8, r0, r1, r2, r3, 0); 6476 TESTINST4("smmls r0, r1, r2, r3", 6477 0xc00b821a, 0x7fa1d5a6, 0x9a4ff1b8, r0, r1, r2, r3, 0); 6478 TESTINST4("smmls r0, r1, r2, r3", 6479 0xe1bb8606, 0x58293969, 0x81616d13, r0, r1, r2, r3, 0); 6480 TESTINST4("smmls r0, r1, r2, r3", 6481 0x51f31d95, 0xa3cfd624, 0x6077fb1f, r0, r1, r2, r3, 0); 6482 TESTINST4("smmls r0, r1, r2, r3", 6483 0x0849a0c2, 0x0872f25a, 0x40b094e2, r0, r1, r2, r3, 0); 6484 TESTINST4("smmls r0, r1, r2, r3", 6485 0x17913309, 0xf1e03d7e, 0x91edc21d, r0, r1, r2, r3, 0); 6486 TESTINST4("smmls r0, r1, r2, r3", 6487 0x5388b5cd, 0x86582032, 0x6034078d, r0, r1, r2, r3, 0); 6488 TESTINST4("smmls r0, r1, r2, r3", 6489 0x181c436b, 0x5de41558, 0xccfa1c7e, r0, r1, r2, r3, 0); 6490 TESTINST4("smmls r0, r1, r2, r3", 6491 0x23ba1b46, 0x4437983c, 0x48d06549, r0, r1, r2, r3, 0); 6492 TESTINST4("smmls r0, r1, r2, r3", 6493 0xa9085781, 0xc6b4ac58, 0xb2aead21, r0, r1, r2, r3, 0); 6494 TESTINST4("smmls r0, r1, r2, r3", 6495 0xc2bdf597, 0xdde1e6a4, 0x852e3a72, r0, r1, r2, r3, 0); 6496 TESTINST4("smmls r0, r1, r2, r3", 6497 0x157b0dea, 0xf0d5ff94, 0xe7b87e39, r0, r1, r2, r3, 0); 6498 TESTINST4("smmls r0, r1, r2, r3", 6499 0x3edad6b6, 0x82aceb7a, 0x0557c6fc, r0, r1, r2, r3, 0); 6500 TESTINST4("smmls r0, r1, r2, r3", 6501 0x6cc9bfa8, 0x7f808c15, 0x81874a02, r0, r1, r2, r3, 0); 6502 TESTINST4("smmls r0, r1, r2, r3", 6503 0x6b1422c7, 0x33921b00, 0x3ccad3f7, r0, r1, r2, r3, 0); 6504 TESTINST4("smmls r0, r1, r2, r3", 6505 0xd7ce1909, 0x3e435701, 0x85fbf196, r0, r1, r2, r3, 0); 6506 TESTINST4("smmls r0, r1, r2, r3", 6507 0xb4e16b6e, 0x6e13680a, 0x89436f88, r0, r1, r2, r3, 0); 6508 TESTINST4("smmls r0, r1, r2, r3", 6509 0x44858efc, 0x9002bc30, 0x390d2c2f, r0, r1, r2, r3, 0); 6510 TESTINST4("smmls r0, r1, r2, r3", 6511 0xbea121ab, 0x953ff6ec, 0x80657c40, r0, r1, r2, r3, 0); 6512 TESTINST4("smmls r0, r1, r2, r3", 6513 0x6ffed89f, 0x3e8c49b7, 0x11bd07d1, r0, r1, r2, r3, 0); 6514 TESTINST4("smmls r0, r1, r2, r3", 6515 0x7795635d, 0x5e6e32dd, 0xe4999bf2, r0, r1, r2, r3, 0); 6516 TESTINST4("smmls r0, r1, r2, r3", 6517 0xec0c2f30, 0x5736ed46, 0x231348c0, r0, r1, r2, r3, 0); 6518 TESTINST4("smmls r0, r1, r2, r3", 6519 0x4f9ddd1b, 0x95bca5d8, 0x5765b203, r0, r1, r2, r3, 0); 6520 TESTINST4("smmls r0, r1, r2, r3", 6521 0xc1553709, 0x0112b30a, 0x69ec0212, r0, r1, r2, r3, 0); 6522 TESTINST4("smmls r0, r1, r2, r3", 6523 0x74bd0223, 0x03fa9bb5, 0x899d9192, r0, r1, r2, r3, 0); 6524 TESTINST4("smmls r0, r1, r2, r3", 6525 0xf52e9fbf, 0xb4c510a7, 0x7fcbe5a9, r0, r1, r2, r3, 0); 6526 TESTINST4("smmls r0, r1, r2, r3", 6527 0x64a365ef, 0x2dd01366, 0xf7b0b13e, r0, r1, r2, r3, 0); 6528 TESTINST4("smmls r0, r1, r2, r3", 6529 0x5e4b1cbf, 0x44de5ca9, 0x464a21cc, r0, r1, r2, r3, 0); 6530 TESTINST4("smmls r0, r1, r2, r3", 6531 0x299da970, 0xe8108f1b, 0xf5818cfb, r0, r1, r2, r3, 0); 6532 TESTINST4("smmls r0, r1, r2, r3", 6533 0xcd90d604, 0xaa5e9444, 0x8217b7df, r0, r1, r2, r3, 0); 6534 TESTINST4("smmls r0, r1, r2, r3", 6535 0xe60743c3, 0x7acb4de3, 0x73c29060, r0, r1, r2, r3, 0); 6536 TESTINST4("smmls r0, r1, r2, r3", 6537 0x868e7c7d, 0x5f77532e, 0x1d133d3d, r0, r1, r2, r3, 0); 6538 TESTINST4("smmls r0, r1, r2, r3", 6539 0x4e5e0760, 0x8f6d3264, 0x21ba2fb3, r0, r1, r2, r3, 0); 6540 TESTINST4("smmls r0, r1, r2, r3", 6541 0xde99ac2f, 0x0be36f70, 0xeda5110c, r0, r1, r2, r3, 0); 6542 TESTINST4("smmls r0, r1, r2, r3", 6543 0xc57243b7, 0xcf1e4487, 0xf20fb90f, r0, r1, r2, r3, 0); 6544 6545 TESTINST4("smmlsr r0, r1, r2, r3", 6546 0x80008000, 0x80008000, 0x00000000, r0, r1, r2, r3, 0); 6547 TESTINST4("smmlsr r0, r1, r2, r3", 6548 0x7fff7fff, 0x00000000, 0x00000000, r0, r1, r2, r3, 0); 6549 TESTINST4("smmlsr r0, r1, r2, r3", 6550 0x7fff7fff, 0x00010001, 0x00000001, r0, r1, r2, r3, 0); 6551 TESTINST4("smmlsr r0, r1, r2, r3", 6552 0x80008000, 0xffffffff, 0x0000001f, r0, r1, r2, r3, 0); 6553 TESTINST4("smmlsr r0, r1, r2, r3", 6554 0x00640064, 0x00030003, 0x00000020, r0, r1, r2, r3, 0); 6555 TESTINST4("smmlsr r0, r1, r2, r3", 6556 0xffffffff, 0xfffc0001, 0x000000ff, r0, r1, r2, r3, 0); 6557 TESTINST4("smmlsr r0, r1, r2, r3", 6558 0xfff70fff, 0x00030003, 0x00000100, r0, r1, r2, r3, 0); 6559 TESTINST4("smmlsr r0, r1, r2, r3", 6560 0xb8035b5b, 0xce0ce1ed, 0x5f986e68, r0, r1, r2, r3, 0); 6561 TESTINST4("smmlsr r0, r1, r2, r3", 6562 0x35232047, 0x146275d8, 0xaae3433f, r0, r1, r2, r3, 0); 6563 TESTINST4("smmlsr r0, r1, r2, r3", 6564 0xe7aa57b4, 0x1584bd74, 0x2c07a5b4, r0, r1, r2, r3, 0); 6565 TESTINST4("smmlsr r0, r1, r2, r3", 6566 0x32fa0095, 0x36f26261, 0x89d2ef86, r0, r1, r2, r3, 0); 6567 TESTINST4("smmlsr r0, r1, r2, r3", 6568 0x8ed8287c, 0x02c90120, 0xd4b64d54, r0, r1, r2, r3, 0); 6569 TESTINST4("smmlsr r0, r1, r2, r3", 6570 0xc53aaba9, 0x29300837, 0x0b02c58a, r0, r1, r2, r3, 0); 6571 TESTINST4("smmlsr r0, r1, r2, r3", 6572 0x216158cb, 0x57a50a01, 0xb0d20777, r0, r1, r2, r3, 0); 6573 TESTINST4("smmlsr r0, r1, r2, r3", 6574 0x3e2e1bd7, 0x3cd6cd94, 0x7e376198, r0, r1, r2, r3, 0); 6575 TESTINST4("smmlsr r0, r1, r2, r3", 6576 0xd5fe2dc4, 0xdd914bf7, 0xd5dc5407, r0, r1, r2, r3, 0); 6577 TESTINST4("smmlsr r0, r1, r2, r3", 6578 0xf87b961e, 0x1d66879f, 0xf2b64835, r0, r1, r2, r3, 0); 6579 TESTINST4("smmlsr r0, r1, r2, r3", 6580 0xd65db979, 0xc61b323b, 0xae930a1a, r0, r1, r2, r3, 0); 6581 TESTINST4("smmlsr r0, r1, r2, r3", 6582 0x5ef1f1a8, 0xbf73f0a5, 0x2fb714c9, r0, r1, r2, r3, 0); 6583 TESTINST4("smmlsr r0, r1, r2, r3", 6584 0x1ffe53d9, 0x815bb75b, 0xa3268abe, r0, r1, r2, r3, 0); 6585 TESTINST4("smmlsr r0, r1, r2, r3", 6586 0xed2cbf78, 0xc6ffabb6, 0xef9e9fd9, r0, r1, r2, r3, 0); 6587 TESTINST4("smmlsr r0, r1, r2, r3", 6588 0xeaa652c7, 0x137741f4, 0x3dba1164, r0, r1, r2, r3, 0); 6589 TESTINST4("smmlsr r0, r1, r2, r3", 6590 0x3ada0280, 0x71fbde8b, 0xdba5bd25, r0, r1, r2, r3, 0); 6591 TESTINST4("smmlsr r0, r1, r2, r3", 6592 0xda4ba05b, 0x90f9833d, 0x884c0ad8, r0, r1, r2, r3, 0); 6593 TESTINST4("smmlsr r0, r1, r2, r3", 6594 0xc00b821a, 0x7fa1d5a6, 0x9a4ff1b8, r0, r1, r2, r3, 0); 6595 TESTINST4("smmlsr r0, r1, r2, r3", 6596 0xe1bb8606, 0x58293969, 0x81616d13, r0, r1, r2, r3, 0); 6597 TESTINST4("smmlsr r0, r1, r2, r3", 6598 0x51f31d95, 0xa3cfd624, 0x6077fb1f, r0, r1, r2, r3, 0); 6599 TESTINST4("smmlsr r0, r1, r2, r3", 6600 0x0849a0c2, 0x0872f25a, 0x40b094e2, r0, r1, r2, r3, 0); 6601 TESTINST4("smmlsr r0, r1, r2, r3", 6602 0x17913309, 0xf1e03d7e, 0x91edc21d, r0, r1, r2, r3, 0); 6603 TESTINST4("smmlsr r0, r1, r2, r3", 6604 0x5388b5cd, 0x86582032, 0x6034078d, r0, r1, r2, r3, 0); 6605 TESTINST4("smmlsr r0, r1, r2, r3", 6606 0x181c436b, 0x5de41558, 0xccfa1c7e, r0, r1, r2, r3, 0); 6607 TESTINST4("smmlsr r0, r1, r2, r3", 6608 0x23ba1b46, 0x4437983c, 0x48d06549, r0, r1, r2, r3, 0); 6609 TESTINST4("smmlsr r0, r1, r2, r3", 6610 0xa9085781, 0xc6b4ac58, 0xb2aead21, r0, r1, r2, r3, 0); 6611 TESTINST4("smmlsr r0, r1, r2, r3", 6612 0xc2bdf597, 0xdde1e6a4, 0x852e3a72, r0, r1, r2, r3, 0); 6613 TESTINST4("smmlsr r0, r1, r2, r3", 6614 0x157b0dea, 0xf0d5ff94, 0xe7b87e39, r0, r1, r2, r3, 0); 6615 TESTINST4("smmlsr r0, r1, r2, r3", 6616 0x3edad6b6, 0x82aceb7a, 0x0557c6fc, r0, r1, r2, r3, 0); 6617 TESTINST4("smmlsr r0, r1, r2, r3", 6618 0x6cc9bfa8, 0x7f808c15, 0x81874a02, r0, r1, r2, r3, 0); 6619 TESTINST4("smmlsr r0, r1, r2, r3", 6620 0x6b1422c7, 0x33921b00, 0x3ccad3f7, r0, r1, r2, r3, 0); 6621 TESTINST4("smmlsr r0, r1, r2, r3", 6622 0xd7ce1909, 0x3e435701, 0x85fbf196, r0, r1, r2, r3, 0); 6623 TESTINST4("smmlsr r0, r1, r2, r3", 6624 0xb4e16b6e, 0x6e13680a, 0x89436f88, r0, r1, r2, r3, 0); 6625 TESTINST4("smmlsr r0, r1, r2, r3", 6626 0x44858efc, 0x9002bc30, 0x390d2c2f, r0, r1, r2, r3, 0); 6627 TESTINST4("smmlsr r0, r1, r2, r3", 6628 0xbea121ab, 0x953ff6ec, 0x80657c40, r0, r1, r2, r3, 0); 6629 TESTINST4("smmlsr r0, r1, r2, r3", 6630 0x6ffed89f, 0x3e8c49b7, 0x11bd07d1, r0, r1, r2, r3, 0); 6631 TESTINST4("smmlsr r0, r1, r2, r3", 6632 0x7795635d, 0x5e6e32dd, 0xe4999bf2, r0, r1, r2, r3, 0); 6633 TESTINST4("smmlsr r0, r1, r2, r3", 6634 0xec0c2f30, 0x5736ed46, 0x231348c0, r0, r1, r2, r3, 0); 6635 TESTINST4("smmlsr r0, r1, r2, r3", 6636 0x4f9ddd1b, 0x95bca5d8, 0x5765b203, r0, r1, r2, r3, 0); 6637 TESTINST4("smmlsr r0, r1, r2, r3", 6638 0xc1553709, 0x0112b30a, 0x69ec0212, r0, r1, r2, r3, 0); 6639 TESTINST4("smmlsr r0, r1, r2, r3", 6640 0x74bd0223, 0x03fa9bb5, 0x899d9192, r0, r1, r2, r3, 0); 6641 TESTINST4("smmlsr r0, r1, r2, r3", 6642 0xf52e9fbf, 0xb4c510a7, 0x7fcbe5a9, r0, r1, r2, r3, 0); 6643 TESTINST4("smmlsr r0, r1, r2, r3", 6644 0x64a365ef, 0x2dd01366, 0xf7b0b13e, r0, r1, r2, r3, 0); 6645 TESTINST4("smmlsr r0, r1, r2, r3", 6646 0x5e4b1cbf, 0x44de5ca9, 0x464a21cc, r0, r1, r2, r3, 0); 6647 TESTINST4("smmlsr r0, r1, r2, r3", 6648 0x299da970, 0xe8108f1b, 0xf5818cfb, r0, r1, r2, r3, 0); 6649 TESTINST4("smmlsr r0, r1, r2, r3", 6650 0xcd90d604, 0xaa5e9444, 0x8217b7df, r0, r1, r2, r3, 0); 6651 TESTINST4("smmlsr r0, r1, r2, r3", 6652 0xe60743c3, 0x7acb4de3, 0x73c29060, r0, r1, r2, r3, 0); 6653 TESTINST4("smmlsr r0, r1, r2, r3", 6654 0x868e7c7d, 0x5f77532e, 0x1d133d3d, r0, r1, r2, r3, 0); 6655 TESTINST4("smmlsr r0, r1, r2, r3", 6656 0x4e5e0760, 0x8f6d3264, 0x21ba2fb3, r0, r1, r2, r3, 0); 6657 TESTINST4("smmlsr r0, r1, r2, r3", 6658 0xde99ac2f, 0x0be36f70, 0xeda5110c, r0, r1, r2, r3, 0); 6659 TESTINST4("smmlsr r0, r1, r2, r3", 6660 0xc57243b7, 0xcf1e4487, 0xf20fb90f, r0, r1, r2, r3, 0); 6661 6662 return 0; 6663 } 6664