v6intThumb.c revision 01220f721cf429e4dd679e60ef35bbac0298444b
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 8static 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 missalinged access via PC+$#imm 222#define TESTINSTPCMISSALING(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 ); \ 248 printf("%s :: rd 0x%08x, cpsr 0x%08x %c%c%c%c\n", \ 249 instruction, out, \ 250 cpsr & 0xffff0000, \ 251 ((1<<31) & cpsr) ? 'N' : ' ', \ 252 ((1<<30) & cpsr) ? 'Z' : ' ', \ 253 ((1<<29) & cpsr) ? 'C' : ' ', \ 254 ((1<<28) & cpsr) ? 'V' : ' ' \ 255 ); \ 256} 257 258// this one uses d0, s0 and s2 (hardcoded) 259#define TESTINSTPCMISSALING_DWORDOUT(instruction, label, cvin) \ 260{ \ 261 unsigned int out; \ 262 unsigned int out2; \ 263 unsigned int cpsr; \ 264 __asm__ volatile(\ 265 ".align 4;" \ 266 "msr cpsr_f, %3;" \ 267 ".align 2;" \ 268 ".thumb;" \ 269 ".syntax unified;" \ 270 "nop;" \ 271 instruction ";" \ 272 "b .Lend" #label ";" \ 273 ".align 4;" \ 274 #label ": " \ 275 ".word 0x8191881b;" \ 276 ".word 0x18fe9c93;" \ 277 ".word 0x00000000;" \ 278 ".word 0x00000000;" \ 279 ".Lend" #label ":" \ 280 "vmov %0, s0;" \ 281 "vmov %1, s1;" \ 282 "mrs %2,cpsr;" \ 283 : "=&r" (out), "=&r" (out2), "=&r" (cpsr) \ 284 : "r" (gen_cvin(cvin)) \ 285 ); \ 286 printf("%s :: s0 0x%08x s1 0x%08x, cpsr 0x%08x %c%c%c%c\n", \ 287 instruction, out, out2, \ 288 cpsr & 0xffff0000, \ 289 ((1<<31) & cpsr) ? 'N' : ' ', \ 290 ((1<<30) & cpsr) ? 'Z' : ' ', \ 291 ((1<<29) & cpsr) ? 'C' : ' ', \ 292 ((1<<28) & cpsr) ? 'V' : ' ' \ 293 ); \ 294} 295 296#define TESTINSTPCMISSALING_2OUT(instruction, RD, RD2, label, cvin) \ 297{ \ 298 unsigned int out; \ 299 unsigned int out2; \ 300 unsigned int cpsr; \ 301 __asm__ volatile(\ 302 ".align 4;" \ 303 "msr cpsr_f, %3;" \ 304 "mov " #RD ", #0;" \ 305 "mov " #RD2 ", #0;" \ 306 ".align 2;" \ 307 ".thumb;" \ 308 ".syntax unified;" \ 309 "nop;" \ 310 instruction ";" \ 311 "b .Lend" #label ";" \ 312 ".align 4;" \ 313 #label ": " \ 314 ".word 0x8191881b;" \ 315 ".word 0x18fe9c93;" \ 316 ".word 0x00000000;" \ 317 ".word 0x00000000;" \ 318 ".Lend" #label ":" \ 319 "mov %0, " #RD ";" \ 320 "mov %1, " #RD2 ";" \ 321 "mrs %2,cpsr;" \ 322 : "=&r" (out), "=&r" (out2), "=&r" (cpsr) \ 323 : "r" (gen_cvin(cvin)) \ 324 ); \ 325 printf("%s :: rd 0x%08x rd2 0x%08x, cpsr 0x%08x %c%c%c%c\n", \ 326 instruction, out, out2, \ 327 cpsr & 0xffff0000, \ 328 ((1<<31) & cpsr) ? 'N' : ' ', \ 329 ((1<<30) & cpsr) ? 'Z' : ' ', \ 330 ((1<<29) & cpsr) ? 'C' : ' ', \ 331 ((1<<28) & cpsr) ? 'V' : ' ' \ 332 ); \ 333} 334 335/* helpers */ 336#define NOCARRY { int cv = 0; { 337#define TESTCARRY { int cv = 0; for (cv = 0; cv < 4; cv++) { 338#define TESTCARRYEND }} 339 340//////////////////////////////////////////////////////////// 341//////////////////////////////////////////////////////////// 342/////////////////////////////////////////////////////////// 343/////////////////////////////////////////////////////////// 344 345void test_ldr_pc() { 346 // special case of ldr PC, [rN, +imm?] 347 printf("tests for instrucitons modifying pc (lrd pc, add pc)\n"); 348 { 349 unsigned int out; 350 unsigned int cpsr; 351 unsigned char tmpbuff[512]; // we use tmpbuff+432 352 int cvin = 0; 353 354 __asm__ volatile( 355 ".thumb;\n" 356 ".syntax unified;\n" 357 "msr cpsr_f, %3;\n" 358 "mov r9, %2;\n" 359 "ldr r2, =.ldrwpclabel1;\n" 360 "mov r0, #1;\n" 361 "orr r2, r0;\n" // set thumb bit to 1 362 "str r2, [r9, +#432];\n" 363 "bl .ldrwpclabel_continue;\n" 364 ".align 4;\n" 365 ".ldrwpclabel1: \n" 366 "mov r1, #42;\n" 367 "bl .ldrwpclabel_end;\n" 368 ".ldrwpclabel_continue: \n" 369 "ldr.w pc, [r9, +#432];\n" 370 "mov r1, #0;\n" 371 ".ldrwpclabel_end:\n" 372 "mov %0, r1;\n" 373 "mrs %1,cpsr;\n" 374 : "=r"(out), "=r"(cpsr) 375 : "r"(tmpbuff), "r"(gen_cvin(cvin)) 376 ); 377 378 // print 379 printf("ldr.w pc, [r9, +#432] :: r1 0x%08x c:v-in %d, cpsr 0x%08x %c%c%c%c\n", \ 380 out, \ 381 cvin, \ 382 cpsr & 0xffff0000, \ 383 ((1<<31) & cpsr) ? 'N' : ' ', \ 384 ((1<<30) & cpsr) ? 'Z' : ' ', \ 385 ((1<<29) & cpsr) ? 'C' : ' ', \ 386 ((1<<28) & cpsr) ? 'V' : ' ' \ 387 ); \ 388 389 } 390} 391 392 393static int old_main(void) 394{ 395 396 printf("MOV\n"); 397 TESTINST2("mov r0, r1", 1, r0, r1, 0); 398 TESTINST2("cpy r0, r1", 1, r0, r1, 0); 399 TESTINST2("mov r0, #0", 0, r0, r1, 0); 400 TESTINST2("mov r0, #1", 0, r0, r1, 0); 401 TESTCARRY 402 TESTINST2("movs r0, r1", 1, r0, r1, cv); 403 TESTINST2("movs r0, r1", 0, r0, r1, cv); 404 TESTINST2("movs r0, r1", 0x80000000, r0, r1, cv); 405 TESTINST2("movs r0, #0", 0, r0, r1, cv); 406 TESTINST2("movs r0, #1", 0, r0, r1, cv); 407 TESTCARRYEND 408 409 printf("MVN\n"); 410 TESTINST2("mvn r0, r1", 1, r0, r1, 0); 411 TESTCARRY 412 TESTINST2("mvns r0, r1", 1, r0, r1, cv); 413 TESTINST2("mvns r0, r1", 0, r0, r1, cv); 414 TESTINST2("mvns r0, r1", 0x80000000, r0, r1, cv); 415 TESTCARRYEND 416 417 printf("ADD\n"); 418 TESTINST3("adds r0, r1, r2", 0, 0, r0, r1, r2, 0); 419 TESTINST3("adds r0, r1, r2", 0, 1, r0, r1, r2, 0); 420 TESTINST3("adds r0, r1, r2", 1, 0, r0, r1, r2, 0); 421 TESTINST3("adds r0, r1, r2", 1, 1, r0, r1, r2, 0); 422 TESTINST3("adds r0, r1, r2", 0, -1, r0, r1, r2, 0); 423 TESTINST3("adds r0, r1, r2", 1, -1, r0, r1, r2, 0); 424 TESTINST3("adds r0, r1, r2", 0x7fffffff, 1, r0, r1, r2, 0); 425 TESTINST3("adds r0, r1, r2", 0x80000000, -1, r0, r1, r2, 0); 426 TESTINST3("adds r0, r1, r2", 0x80000000, 0, r0, r1, r2, 0); 427 428 printf("ADC\n"); 429 TESTINST3("adcs r0, r1, r2", 0, 0, r0, r1, r2, 0); 430 TESTINST3("adcs r0, r1, r2", 0, 0, r0, r1, r2, 1); 431 432 printf("LSL\n"); 433 TESTINST3("lsl r0, r1, r2", 0xffffffff, 0, r0, r1, r2, 0); 434 TESTINST3("lsl r0, r1, r2", 0xffffffff, 1, r0, r1, r2, 0); 435 TESTINST3("lsl r0, r1, r2", 0xffffffff, 2, r0, r1, r2, 0); 436 TESTINST3("lsl r0, r1, r2", 0xffffffff, 31, r0, r1, r2, 0); 437 TESTINST3("lsl r0, r1, r2", 0xffffffff, 32, r0, r1, r2, 0); 438 TESTINST3("lsl r0, r1, r2", 0xffffffff, 33, r0, r1, r2, 0); 439 TESTINST3("lsl r0, r1, r2", 0xffffffff, 63, r0, r1, r2, 0); 440 TESTINST3("lsl r0, r1, r2", 0xffffffff, 64, r0, r1, r2, 0); 441 TESTINST3("lsl r0, r1, r2", 0xffffffff, 255, r0, r1, r2, 0); 442 TESTINST3("lsl r0, r1, r2", 0xffffffff, 256, r0, r1, r2, 0); 443 444 TESTINST3("lsl r0, r1, r2", 0x1, 0, r0, r1, r2, 0); 445 TESTINST3("lsl r0, r1, r2", 0x1, 1, r0, r1, r2, 0); 446 TESTINST3("lsl r0, r1, r2", 0x1, 31, r0, r1, r2, 0); 447 TESTINST3("lsl r0, r1, r2", 0x2, 31, r0, r1, r2, 0); 448 449 printf("LSLS\n"); 450 TESTCARRY 451 TESTINST3("lsls r0, r1, r2", 0xffffffff, 0, r0, r1, r2, cv); 452 TESTINST3("lsls r0, r1, r2", 0xffffffff, 1, r0, r1, r2, cv); 453 TESTINST3("lsls r0, r1, r2", 0xffffffff, 2, r0, r1, r2, cv); 454 TESTINST3("lsls r0, r1, r2", 0xffffffff, 31, r0, r1, r2, cv); 455 TESTINST3("lsls r0, r1, r2", 0xffffffff, 32, r0, r1, r2, cv); 456 TESTINST3("lsls r0, r1, r2", 0xffffffff, 33, r0, r1, r2, cv); 457 TESTINST3("lsls r0, r1, r2", 0xffffffff, 63, r0, r1, r2, cv); 458 TESTINST3("lsls r0, r1, r2", 0xffffffff, 64, r0, r1, r2, cv); 459 TESTINST3("lsls r0, r1, r2", 0xffffffff, 255, r0, r1, r2, cv); 460 TESTINST3("lsls r0, r1, r2", 0xffffffff, 256, r0, r1, r2, cv); 461 TESTINST3("lsls r0, r1, r2", 0x1, 0, r0, r1, r2, cv); 462 TESTINST3("lsls r0, r1, r2", 0x1, 1, r0, r1, r2, cv); 463 TESTINST3("lsls r0, r1, r2", 0x1, 31, r0, r1, r2, cv); 464 TESTINST3("lsls r0, r1, r2", 0x2, 31, r0, r1, r2, cv); 465 TESTCARRYEND 466 467 printf("LSL immediate\n"); 468 TESTCARRY 469 TESTINST2("lsl r0, r1, #0", 0xffffffff, r0, r1, cv); 470 TESTINST2("lsl r0, r1, #1", 0xffffffff, r0, r1, cv); 471 TESTINST2("lsl r0, r1, #31", 0xffffffff, r0, r1, cv); 472 TESTINST2("lsl r0, r1, #0", 0x1, r0, r1, cv); 473 TESTINST2("lsl r0, r1, #1", 0x1, r0, r1, cv); 474 TESTINST2("lsl r0, r1, #31", 0x1, r0, r1, cv); 475 TESTINST2("lsl r0, r1, #31", 0x2, r0, r1, cv); 476 TESTCARRYEND 477 478 printf("LSLS immediate\n"); 479 TESTCARRY 480 TESTINST2("lsls r0, r1, #0", 0xffffffff, r0, r1, cv); 481 TESTINST2("lsls r0, r1, #1", 0xffffffff, r0, r1, cv); 482 TESTINST2("lsls r0, r1, #31", 0xffffffff, r0, r1, cv); 483 TESTINST2("lsls r0, r1, #0", 0x1, r0, r1, cv); 484 TESTINST2("lsls r0, r1, #1", 0x1, r0, r1, cv); 485 TESTINST2("lsls r0, r1, #31", 0x1, r0, r1, cv); 486 TESTINST2("lsls r0, r1, #31", 0x2, r0, r1, cv); 487 TESTCARRYEND 488 489 printf("LSR\n"); 490 TESTINST3("lsr r0, r1, r2", 0xffffffff, 0, r0, r1, r2, 0); 491 TESTINST3("lsr r0, r1, r2", 0xffffffff, 1, r0, r1, r2, 0); 492 TESTINST3("lsr r0, r1, r2", 0xffffffff, 2, r0, r1, r2, 0); 493 TESTINST3("lsr r0, r1, r2", 0xffffffff, 31, r0, r1, r2, 0); 494 TESTINST3("lsr r0, r1, r2", 0xffffffff, 32, r0, r1, r2, 0); 495 TESTINST3("lsr r0, r1, r2", 0xffffffff, 33, r0, r1, r2, 0); 496 TESTINST3("lsr r0, r1, r2", 0xffffffff, 63, r0, r1, r2, 0); 497 TESTINST3("lsr r0, r1, r2", 0xffffffff, 64, r0, r1, r2, 0); 498 TESTINST3("lsr r0, r1, r2", 0xffffffff, 255, r0, r1, r2, 0); 499 TESTINST3("lsr r0, r1, r2", 0xffffffff, 256, r0, r1, r2, 0); 500 501 printf("LSRS\n"); 502 TESTCARRY 503 TESTINST3("lsrs r0, r1, r2", 0xffffffff, 0, r0, r1, r2, cv); 504 TESTINST3("lsrs r0, r1, r2", 0xffffffff, 1, r0, r1, r2, cv); 505 TESTINST3("lsrs r0, r1, r2", 0xffffffff, 2, r0, r1, r2, cv); 506 TESTINST3("lsrs r0, r1, r2", 0xffffffff, 31, r0, r1, r2, cv); 507 TESTINST3("lsrs r0, r1, r2", 0xffffffff, 32, r0, r1, r2, cv); 508 TESTINST3("lsrs r0, r1, r2", 0xffffffff, 33, r0, r1, r2, cv); 509 TESTINST3("lsrs r0, r1, r2", 0xffffffff, 63, r0, r1, r2, cv); 510 TESTINST3("lsrs r0, r1, r2", 0xffffffff, 64, r0, r1, r2, cv); 511 TESTINST3("lsrs r0, r1, r2", 0xffffffff, 255, r0, r1, r2, cv); 512 TESTCARRYEND 513 514 printf("LSR immediate\n"); 515 TESTINST2("lsr r0, r1, #0", 0xffffffff, r0, r1, 0); 516 TESTINST2("lsr r0, r1, #1", 0xffffffff, r0, r1, 0); 517 TESTINST2("lsr r0, r1, #31", 0xffffffff, r0, r1, 0); 518 TESTINST2("lsr r0, r1, #32", 0xffffffff, r0, r1, 0); 519 TESTINST2("lsr r0, r1, #16", 0x00010000, r0, r1, 0); 520 TESTINST2("lsr r0, r1, #17", 0x00010000, r0, r1, 0); 521 TESTINST2("lsr r0, r1, #18", 0x00010000, r0, r1, 0); 522 523 printf("LSRS immediate\n"); 524 TESTCARRY 525 TESTINST2("lsrs r0, r1, #0", 0xffffffff, r0, r1, cv); 526 TESTINST2("lsrs r0, r1, #1", 0xffffffff, r0, r1, cv); 527 TESTINST2("lsrs r0, r1, #31", 0xffffffff, r0, r1, cv); 528 TESTINST2("lsrs r0, r1, #32", 0xffffffff, r0, r1, cv); 529 TESTINST2("lsrs r0, r1, #16", 0x00010000, r0, r1, cv); 530 TESTINST2("lsrs r0, r1, #17", 0x00010000, r0, r1, cv); 531 TESTINST2("lsrs r0, r1, #18", 0x00010000, r0, r1, cv); 532 TESTCARRYEND 533 534 printf("ASR\n"); 535 TESTCARRY 536 TESTINST3("asr r0, r1, r2", 0xffffffff, 0, r0, r1, r2, cv); 537 TESTINST3("asr r0, r1, r2", 0xffffffff, 1, r0, r1, r2, cv); 538 TESTINST3("asr r0, r1, r2", 0xffffffff, 2, r0, r1, r2, cv); 539 TESTINST3("asr r0, r1, r2", 0xffffffff, 31, r0, r1, r2, cv); 540 TESTINST3("asr r0, r1, r2", 0xffffffff, 32, r0, r1, r2, cv); 541 TESTINST3("asr r0, r1, r2", 0xffffffff, 33, r0, r1, r2, cv); 542 TESTINST3("asr r0, r1, r2", 0xffffffff, 63, r0, r1, r2, cv); 543 TESTINST3("asr r0, r1, r2", 0xffffffff, 64, r0, r1, r2, cv); 544 TESTINST3("asr r0, r1, r2", 0xffffffff, 255, r0, r1, r2, cv); 545 TESTINST3("asr r0, r1, r2", 0xffffffff, 256, r0, r1, r2, cv); 546 TESTINST3("asr r0, r1, r2", 0x7fffffff, 0, r0, r1, r2, cv); 547 TESTINST3("asr r0, r1, r2", 0x7fffffff, 1, r0, r1, r2, cv); 548 TESTINST3("asr r0, r1, r2", 0x7fffffff, 2, r0, r1, r2, cv); 549 TESTINST3("asr r0, r1, r2", 0x7fffffff, 31, r0, r1, r2, cv); 550 TESTINST3("asr r0, r1, r2", 0x7fffffff, 32, r0, r1, r2, cv); 551 TESTINST3("asr r0, r1, r2", 0x7fffffff, 33, r0, r1, r2, cv); 552 TESTINST3("asr r0, r1, r2", 0x7fffffff, 63, r0, r1, r2, cv); 553 TESTINST3("asr r0, r1, r2", 0x7fffffff, 64, r0, r1, r2, cv); 554 TESTINST3("asr r0, r1, r2", 0x7fffffff, 255, r0, r1, r2, cv); 555 TESTINST3("asr r0, r1, r2", 0x7fffffff, 256, r0, r1, r2, cv); 556 TESTCARRYEND 557 558 printf("ASRS\n"); 559 TESTCARRY 560 TESTINST3("asrs r0, r1, r2", 0xffffffff, 0, r0, r1, r2, cv); 561 TESTINST3("asrs r0, r1, r2", 0xffffffff, 1, r0, r1, r2, cv); 562 TESTINST3("asrs r0, r1, r2", 0xffffffff, 2, r0, r1, r2, cv); 563 TESTINST3("asrs r0, r1, r2", 0xffffffff, 31, r0, r1, r2, cv); 564 TESTINST3("asrs r0, r1, r2", 0xffffffff, 32, r0, r1, r2, cv); 565 TESTINST3("asrs r0, r1, r2", 0xffffffff, 33, r0, r1, r2, cv); 566 TESTINST3("asrs r0, r1, r2", 0xffffffff, 63, r0, r1, r2, cv); 567 TESTINST3("asrs r0, r1, r2", 0xffffffff, 64, r0, r1, r2, cv); 568 TESTINST3("asrs r0, r1, r2", 0xffffffff, 255, r0, r1, r2, cv); 569 TESTINST3("asrs r0, r1, r2", 0xffffffff, 256, r0, r1, r2, cv); 570 TESTINST3("asrs r0, r1, r2", 0x7fffffff, 0, r0, r1, r2, cv); 571 TESTINST3("asrs r0, r1, r2", 0x7fffffff, 1, r0, r1, r2, cv); 572 TESTINST3("asrs r0, r1, r2", 0x7fffffff, 2, r0, r1, r2, cv); 573 TESTINST3("asrs r0, r1, r2", 0x7fffffff, 31, r0, r1, r2, cv); 574 TESTINST3("asrs r0, r1, r2", 0x7fffffff, 32, r0, r1, r2, cv); 575 TESTINST3("asrs r0, r1, r2", 0x7fffffff, 33, r0, r1, r2, cv); 576 TESTINST3("asrs r0, r1, r2", 0x7fffffff, 63, r0, r1, r2, cv); 577 TESTINST3("asrs r0, r1, r2", 0x7fffffff, 64, r0, r1, r2, cv); 578 TESTINST3("asrs r0, r1, r2", 0x7fffffff, 255, r0, r1, r2, cv); 579 TESTINST3("asrs r0, r1, r2", 0x7fffffff, 256, r0, r1, r2, cv); 580 TESTCARRYEND 581 582 TESTCARRY 583 TESTINST3("asrs r0, r1, r2", 0x8, 0, r0, r1, r2, cv); 584 TESTINST3("asrs r0, r1, r2", 0x8, 1, r0, r1, r2, cv); 585 TESTINST3("asrs r0, r1, r2", 0x8, 2, r0, r1, r2, cv); 586 TESTINST3("asrs r0, r1, r2", 0x8, 3, r0, r1, r2, cv); 587 TESTINST3("asrs r0, r1, r2", 0x8, 4, r0, r1, r2, cv); 588 TESTINST3("asrs r0, r1, r2", 0x8, 5, r0, r1, r2, cv); 589 TESTCARRYEND 590 591 TESTINST3("asrs r0, r1, r2", 0x80000001, 1, r0, r1, r2, 0); 592 TESTINST3("asrs r0, r1, r2", 0x80000001, 2, r0, r1, r2, 0); 593 594 printf("ASR immediate\n"); 595 TESTINST2("asr r0, r1, #0", 0xffffffff, r0, r1, 0); 596 TESTINST2("asr r0, r1, #1", 0xffffffff, r0, r1, 0); 597 TESTINST2("asr r0, r1, #31", 0xffffffff, r0, r1, 0); 598 TESTINST2("asr r0, r1, #32", 0xffffffff, r0, r1, 0); 599 TESTINST2("asr r0, r1, #0", 0x7fffffff, r0, r1, 0); 600 TESTINST2("asr r0, r1, #1", 0x7fffffff, r0, r1, 0); 601 TESTINST2("asr r0, r1, #31", 0x7fffffff, r0, r1, 0); 602 TESTINST2("asr r0, r1, #32", 0x7fffffff, r0, r1, 0); 603 TESTINST2("asr r0, r1, #16", 0x00010000, r0, r1, 0); 604 TESTINST2("asr r0, r1, #17", 0x00010000, r0, r1, 0); 605 TESTINST2("asr r0, r1, #18", 0x00010000, r0, r1, 0); 606 607 printf("ASRS immediate\n"); 608 TESTCARRY 609 TESTINST2("asrs r0, r1, #0", 0xffffffff, r0, r1, cv); 610 TESTINST2("asrs r0, r1, #1", 0xffffffff, r0, r1, cv); 611 TESTINST2("asrs r0, r1, #31", 0xffffffff, r0, r1, cv); 612 TESTINST2("asrs r0, r1, #32", 0xffffffff, r0, r1, cv); 613 TESTINST2("asrs r0, r1, #0", 0x7fffffff, r0, r1, cv); 614 TESTINST2("asrs r0, r1, #1", 0x7fffffff, r0, r1, cv); 615 TESTINST2("asrs r0, r1, #31", 0x7fffffff, r0, r1, cv); 616 TESTINST2("asrs r0, r1, #32", 0x7fffffff, r0, r1, cv); 617 TESTINST2("asrs r0, r1, #16", 0x00010000, r0, r1, cv); 618 TESTINST2("asrs r0, r1, #17", 0x00010000, r0, r1, cv); 619 TESTINST2("asrs r0, r1, #18", 0x00010000, r0, r1, cv); 620 TESTCARRYEND 621 622 printf("literal access [PC+#imm]\n"); 623 NOCARRY 624 // this should result in r1=0 625 TESTINSTPCMISSALING("adr.w r1, label_magic_adrw;and r1, r1, #0x3", r1, label_magic_adrw, cv); 626 // omitting LDC/LDC2 627 TESTINSTPCMISSALING("ldr r1, label_magic_ldr", r1, label_magic_ldr, cv); 628 TESTINSTPCMISSALING("ldrb r1, label_magic_ldrb", r1, label_magic_ldrb, cv); 629 TESTINSTPCMISSALING_2OUT("ldrd r0, r1, label_magic_ldrd", r0, r1, label_magic_ldrd, cv); 630 TESTINSTPCMISSALING("ldrh r1, label_magic_ldrh", r1, label_magic_ldrh, cv); 631 TESTINSTPCMISSALING("ldrsb r1, label_magic_ldrsb", r1, label_magic_ldrsb, cv); 632 TESTINSTPCMISSALING("ldrsh r1, label_magic_ldrsh", r1, label_magic_ldrsh, cv); 633 // omitting PLD/PLI 634 TESTINSTPCMISSALING_DWORDOUT("vldr d0, label_magic_vldr", label_magic_vldr, cv); 635 TESTCARRYEND 636 637 test_ldr_pc(); 638#if 0 639 printf("ROR\n"); 640 TESTCARRY 641 TESTINST3("ror r0, r1, r2", 0x00088000, 0, r0, r1, r2, cv); 642 TESTINST3("ror r0, r1, r2", 0x80088000, 1, r0, r1, r2, cv); 643 TESTINST3("ror r0, r1, r2", 0x00088000, 1, r0, r1, r2, cv); 644 TESTINST3("ror r0, r1, r2", 0x00088000, 2, r0, r1, r2, cv); 645 TESTINST3("ror r0, r1, r2", 0x00088000, 31, r0, r1, r2, cv); 646 TESTINST3("ror r0, r1, r2", 0x00088000, 32, r0, r1, r2, cv); 647 TESTINST3("ror r0, r1, r2", 0x00088000, 33, r0, r1, r2, cv); 648 TESTINST3("ror r0, r1, r2", 0x00088000, 63, r0, r1, r2, cv); 649 TESTINST3("ror r0, r1, r2", 0x00088000, 64, r0, r1, r2, cv); 650 TESTINST3("ror r0, r1, r2", 0x00088000, 255, r0, r1, r2, cv); 651 TESTINST3("ror r0, r1, r2", 0x00088000, 256, r0, r1, r2, cv); 652 TESTINST3("ror r0, r1, r2", 0x80088000, 256, r0, r1, r2, cv); 653 TESTINST3("ror r0, r1, r2", 0x00088000, 257, r0, r1, r2, cv); 654 TESTCARRYEND 655 656 printf("RORS\n"); 657 TESTCARRY 658 TESTINST3("rors r0, r1, r2", 0x00088000, 0, r0, r1, r2, cv); 659 TESTINST3("rors r0, r1, r2", 0x80088000, 0, r0, r1, r2, cv); 660 TESTINST3("rors r0, r1, r2", 0x00088000, 1, r0, r1, r2, cv); 661 TESTINST3("rors r0, r1, r2", 0x00088000, 2, r0, r1, r2, cv); 662 TESTINST3("rors r0, r1, r2", 0x00088000, 31, r0, r1, r2, cv); 663 TESTINST3("rors r0, r1, r2", 0x00088000, 32, r0, r1, r2, cv); 664 TESTINST3("rors r0, r1, r2", 0x00088000, 33, r0, r1, r2, cv); 665 TESTINST3("rors r0, r1, r2", 0x00088000, 63, r0, r1, r2, cv); 666 TESTINST3("rors r0, r1, r2", 0x00088000, 64, r0, r1, r2, cv); 667 TESTINST3("rors r0, r1, r2", 0x00088000, 255, r0, r1, r2, cv); 668 TESTINST3("rors r0, r1, r2", 0x00088000, 256, r0, r1, r2, cv); 669 TESTINST3("rors r0, r1, r2", 0x80088000, 256, r0, r1, r2, cv); 670 TESTINST3("rors r0, r1, r2", 0x00088000, 257, r0, r1, r2, cv); 671 TESTCARRYEND 672 673 printf("ROR immediate\n"); 674 TESTCARRY 675 TESTINST2("ror r0, r1, #0", 0x00088000, r0, r1, cv); 676 TESTINST2("ror r0, r1, #1", 0x00088000, r0, r1, cv); 677 TESTINST2("ror r0, r1, #31", 0x00088000, r0, r1, cv); 678 TESTINST2("ror r0, r1, #16", 0x00010000, r0, r1, cv); 679 TESTINST2("ror r0, r1, #17", 0x00010000, r0, r1, cv); 680 TESTINST2("ror r0, r1, #18", 0x00010000, r0, r1, cv); 681 TESTCARRYEND 682 683 printf("RORS immediate\n"); 684 TESTCARRY 685 TESTINST2("rors r0, r1, #0", 0x00088000, r0, r1, cv); 686 TESTINST2("rors r0, r1, #1", 0x00088000, r0, r1, cv); 687 TESTINST2("rors r0, r1, #31", 0x00088000, r0, r1, cv); 688 TESTINST2("rors r0, r1, #16", 0x00010000, r0, r1, cv); 689 TESTINST2("rors r0, r1, #17", 0x00010000, r0, r1, cv); 690 TESTINST2("rors r0, r1, #18", 0x00010000, r0, r1, cv); 691 TESTCARRYEND 692#endif 693#if 0 694 printf("shift with barrel shifter\n"); 695 TESTCARRY 696 TESTINST4("add r0, r1, r2, lsl r3", 0, 0xffffffff, 0, r0, r1, r2, r3, cv); 697 TESTINST4("add r0, r1, r2, lsl r3", 0, 0xffffffff, 1, r0, r1, r2, r3, cv); 698 TESTINST4("add r0, r1, r2, lsl r3", 0, 0xffffffff, 31, r0, r1, r2, r3, cv); 699 TESTINST4("add r0, r1, r2, lsl r3", 0, 0xffffffff, 32, r0, r1, r2, r3, cv); 700 TESTINST4("add r0, r1, r2, lsl r3", 0, 0xffffffff, 255, r0, r1, r2, r3, cv); 701 TESTINST4("add r0, r1, r2, lsl r3", 0, 0xffffffff, 256, r0, r1, r2, r3, cv); 702 TESTINST4("add r0, r1, r2, lsr r3", 0, 0xffffffff, 0, r0, r1, r2, r3, cv); 703 TESTINST4("add r0, r1, r2, lsr r3", 0, 0xffffffff, 1, r0, r1, r2, r3, cv); 704 TESTINST4("add r0, r1, r2, lsr r3", 0, 0xffffffff, 31, r0, r1, r2, r3, cv); 705 TESTINST4("add r0, r1, r2, lsr r3", 0, 0xffffffff, 32, r0, r1, r2, r3, cv); 706 TESTINST4("add r0, r1, r2, lsr r3", 0, 0xffffffff, 255, r0, r1, r2, r3, cv); 707 TESTINST4("add r0, r1, r2, lsr r3", 0, 0xffffffff, 256, r0, r1, r2, r3, cv); 708 TESTINST4("add r0, r1, r2, asr r3", 0, 0x7fffffff, 0, r0, r1, r2, r3, cv); 709 TESTINST4("add r0, r1, r2, asr r3", 0, 0x7fffffff, 1, r0, r1, r2, r3, cv); 710 TESTINST4("add r0, r1, r2, asr r3", 0, 0x7fffffff, 31, r0, r1, r2, r3, cv); 711 TESTINST4("add r0, r1, r2, asr r3", 0, 0x7fffffff, 32, r0, r1, r2, r3, cv); 712 TESTINST4("add r0, r1, r2, asr r3", 0, 0x7fffffff, 255, r0, r1, r2, r3, cv); 713 TESTINST4("add r0, r1, r2, asr r3", 0, 0x7fffffff, 256, r0, r1, r2, r3, cv); 714 TESTINST4("add r0, r1, r2, lsr r3", 0, 0xffffffff, 256, r0, r1, r2, r3, cv); 715 TESTCARRYEND 716 717 TESTCARRY 718 TESTINST4("add r0, r1, r2, asr r3", 0, 0x8, 0, r0, r1, r2, r3, cv); 719 TESTINST4("add r0, r1, r2, asr r3", 0, 0x8, 1, r0, r1, r2, r3, cv); 720 TESTINST4("add r0, r1, r2, asr r3", 0, 0x8, 2, r0, r1, r2, r3, cv); 721 TESTINST4("add r0, r1, r2, asr r3", 0, 0x8, 3, r0, r1, r2, r3, cv); 722 TESTINST4("add r0, r1, r2, asr r3", 0, 0x8, 4, r0, r1, r2, r3, cv); 723 TESTINST4("add r0, r1, r2, asr r3", 0, 0x8, 5, r0, r1, r2, r3, cv); 724 TESTCARRYEND 725 726 TESTCARRY 727 TESTINST4("add r0, r1, r2, ror r3", 0, 0x00088000, 0, r0, r1, r2, r3, cv); 728 TESTINST4("add r0, r1, r2, ror r3", 0, 0x80088000, 0, r0, r1, r2, r3, cv); 729 TESTINST4("add r0, r1, r2, ror r3", 0, 0x00088000, 1, r0, r1, r2, r3, cv); 730 TESTINST4("add r0, r1, r2, ror r3", 0, 0x00088000, 31, r0, r1, r2, r3, cv); 731 TESTINST4("add r0, r1, r2, ror r3", 0, 0x00088000, 32, r0, r1, r2, r3, cv); 732 TESTINST4("add r0, r1, r2, ror r3", 0, 0x00088000, 255, r0, r1, r2, r3, cv); 733 TESTINST4("add r0, r1, r2, ror r3", 0, 0x00088000, 256, r0, r1, r2, r3, cv); 734 TESTINST4("add r0, r1, r2, ror r3", 0, 0x80088000, 256, r0, r1, r2, r3, cv); 735 TESTINST4("add r0, r1, r2, ror r3", 0, 0x00088000, 257, r0, r1, r2, r3, cv); 736 TESTCARRYEND 737#endif 738#if 0 739 TESTCARRY 740 TESTINST4("adds r0, r1, r2, lsl r3", 0, 0xffffffff, 0, r0, r1, r2, r3, cv); 741 TESTINST4("adds r0, r1, r2, lsl r3", 0, 0xffffffff, 1, r0, r1, r2, r3, cv); 742 TESTINST4("adds r0, r1, r2, lsl r3", 0, 0xffffffff, 31, r0, r1, r2, r3, cv); 743 TESTINST4("adds r0, r1, r2, lsl r3", 0, 0xffffffff, 32, r0, r1, r2, r3, cv); 744 TESTINST4("adds r0, r1, r2, lsl r3", 0, 0xffffffff, 255, r0, r1, r2, r3, cv); 745 TESTINST4("adds r0, r1, r2, lsl r3", 0, 0xffffffff, 256, r0, r1, r2, r3, cv); 746 TESTINST4("adds r0, r1, r2, lsr r3", 0, 0xffffffff, 0, r0, r1, r2, r3, cv); 747 TESTINST4("adds r0, r1, r2, lsr r3", 0, 0xffffffff, 1, r0, r1, r2, r3, cv); 748 TESTINST4("adds r0, r1, r2, lsr r3", 0, 0xffffffff, 31, r0, r1, r2, r3, cv); 749 TESTINST4("adds r0, r1, r2, lsr r3", 0, 0xffffffff, 32, r0, r1, r2, r3, cv); 750 TESTINST4("adds r0, r1, r2, lsr r3", 0, 0xffffffff, 255, r0, r1, r2, r3, cv); 751 TESTINST4("adds r0, r1, r2, lsr r3", 0, 0xffffffff, 256, r0, r1, r2, r3, cv); 752 753 TESTINST4("adds r0, r1, r2, ror r3", 0, 0x00088000, 0, r0, r1, r2, r3, cv); 754 TESTINST4("adds r0, r1, r2, ror r3", 0, 0x80088000, 0, r0, r1, r2, r3, cv); 755 TESTINST4("adds r0, r1, r2, ror r3", 0, 0x00088000, 1, r0, r1, r2, r3, cv); 756 TESTINST4("adds r0, r1, r2, ror r3", 0, 0x00088000, 31, r0, r1, r2, r3, cv); 757 TESTINST4("adds r0, r1, r2, ror r3", 0, 0x00088000, 32, r0, r1, r2, r3, cv); 758 TESTINST4("adds r0, r1, r2, ror r3", 0, 0x00088000, 255, r0, r1, r2, r3, cv); 759 TESTINST4("adds r0, r1, r2, ror r3", 0, 0x00088000, 256, r0, r1, r2, r3, cv); 760 TESTINST4("adds r0, r1, r2, ror r3", 0, 0x80088000, 256, r0, r1, r2, r3, cv); 761 TESTINST4("adds r0, r1, r2, ror r3", 0, 0x00088000, 257, r0, r1, r2, r3, cv); 762 TESTCARRYEND 763#endif 764 765#if 0 766 TESTCARRY 767 TESTINST4("adcs r0, r1, r2, lsl r3", 0, 0xffffffff, 0, r0, r1, r2, r3, cv); 768 TESTINST4("adcs r0, r1, r2, lsr r3", 0, 0xffffffff, 0, r0, r1, r2, r3, cv); 769 TESTINST4("adcs r0, r1, r2, lsl r3", 0, 0xffffffff, 1, r0, r1, r2, r3, cv); 770 TESTINST4("adcs r0, r1, r2, lsr r3", 0, 0xffffffff, 1, r0, r1, r2, r3, cv); 771 TESTCARRYEND 772#endif 773 774 printf("MUL\n"); 775 TESTINST3("mul r0, r1, r2", 0, 0, r0, r1, r2, 0); 776 TESTINST3("mul r0, r1, r2", 0xffffffff, 0, r0, r1, r2, 0); 777 TESTINST3("mul r0, r1, r2", 0, 0xffffffff, r0, r1, r2, 0); 778 TESTINST3("mul r0, r1, r2", 0xffffffff, 0xffffffff, r0, r1, r2, 0); 779 TESTINST3("mul r0, r1, r2", 0x7fffffff, 0x7fffffff, r0, r1, r2, 0); 780 TESTINST3("mul r0, r1, r2", 0x0000ffff, 0x0000ffff, r0, r1, r2, 0); 781 782#if 0 783 printf("MULS\n"); 784 TESTINST3("muls r0, r1, r2", 0, 0, r0, r1, r2, 0); 785 TESTINST3("muls r0, r1, r2", 0xffffffff, 0, r0, r1, r2, 0); 786 TESTINST3("muls r0, r1, r2", 0, 0xffffffff, r0, r1, r2, 0); 787 TESTINST3("muls r0, r1, r2", 0xffffffff, 0xffffffff, r0, r1, r2, 0); 788 TESTINST3("muls r0, r1, r2", 0x7fffffff, 0x7fffffff, r0, r1, r2, 0); 789 TESTINST3("muls r0, r1, r2", 0x0000ffff, 0x0000ffff, r0, r1, r2, 0); 790#endif 791 792 printf("MLA\n"); 793 TESTINST4("mla r0, r1, r2, r3", 0, 0, 1, r0, r1, r2, r3, 0); 794 TESTINST4("mla r0, r1, r2, r3", 0xffffffff, 0, 1, r0, r1, r2, r3, 0); 795 TESTINST4("mla r0, r1, r2, r3", 0, 0xffffffff, 1, r0, r1, r2, r3, 0); 796 TESTINST4("mla r0, r1, r2, r3", 0xffffffff, 0xffffffff, 1, r0, r1, r2, r3, 0); 797 TESTINST4("mla r0, r1, r2, r3", 0x7fffffff, 0x7fffffff, 1, r0, r1, r2, r3, 0); 798 TESTINST4("mla r0, r1, r2, r3", 0x0000ffff, 0x0000ffff, 1, r0, r1, r2, r3, 0); 799 800#if 0 801 printf("MLAS\n"); 802 TESTINST4("mlas r0, r1, r2, r3", 0, 0, 1, r0, r1, r2, r3, 0); 803 TESTINST4("mlas r0, r1, r2, r3", 0xffffffff, 0, 1, r0, r1, r2, r3, 0); 804 TESTINST4("mlas r0, r1, r2, r3", 0, 0xffffffff, 1, r0, r1, r2, r3, 0); 805 TESTINST4("mlas r0, r1, r2, r3", 0xffffffff, 0xffffffff, 1, r0, r1, r2, r3, 0); 806 TESTINST4("mlas r0, r1, r2, r3", 0x7fffffff, 0x7fffffff, 1, r0, r1, r2, r3, 0); 807 TESTINST4("mlas r0, r1, r2, r3", 0x0000ffff, 0x0000ffff, 1, r0, r1, r2, r3, 0); 808#endif 809 810 printf("MLS\n"); 811 TESTINST4("mls r0, r1, r2, r3", 0, 0, 1, r0, r1, r2, r3, 0); 812 TESTINST4("mls r0, r1, r2, r3", 0xffffffff, 0, 1, r0, r1, r2, r3, 0); 813 TESTINST4("mls r0, r1, r2, r3", 0, 0xffffffff, 1, r0, r1, r2, r3, 0); 814 TESTINST4("mls r0, r1, r2, r3", 0xffffffff, 0xffffffff, 1, r0, r1, r2, r3, 0); 815 TESTINST4("mls r0, r1, r2, r3", 0x7fffffff, 0x7fffffff, 1, r0, r1, r2, r3, 0); 816 TESTINST4("mls r0, r1, r2, r3", 0x0000ffff, 0x0000ffff, 1, r0, r1, r2, r3, 0); 817 818 printf("UMULL\n"); 819 TESTINST4_2OUT("umull r0, r1, r2, r3", 0, 0, 0, 0, r0, r1, r2, r3, 0); 820 TESTINST4_2OUT("umull r0, r1, r2, r3", 0, 0, 0, 1, r0, r1, r2, r3, 0); 821 TESTINST4_2OUT("umull r0, r1, r2, r3", 0, 0, 1, 0, r0, r1, r2, r3, 0); 822 TESTINST4_2OUT("umull r0, r1, r2, r3", 0, 0, 1, 1, r0, r1, r2, r3, 0); 823 TESTINST4_2OUT("umull r0, r1, r2, r3", 0, 0, 0xffff, 0xffff, r0, r1, r2, r3, 0); 824 TESTINST4_2OUT("umull r0, r1, r2, r3", 0, 0, 0xffffffff, 0xffffffff, r0, r1, r2, r3, 0); 825#if 0 826 TESTINST4_2OUT("umulls r0, r1, r2, r3", 0, 0, 0, 0, r0, r1, r2, r3, 0); 827 TESTINST4_2OUT("umulls r0, r1, r2, r3", 0, 0, 0, 1, r0, r1, r2, r3, 0); 828 TESTINST4_2OUT("umulls r0, r1, r2, r3", 0, 0, 1, 0, r0, r1, r2, r3, 0); 829 TESTINST4_2OUT("umulls r0, r1, r2, r3", 0, 0, 1, 1, r0, r1, r2, r3, 0); 830 TESTINST4_2OUT("umulls r0, r1, r2, r3", 0, 0, 0xffff, 0xffff, r0, r1, r2, r3, 0); 831 TESTINST4_2OUT("umulls r0, r1, r2, r3", 0, 0, 0xffffffff, 0xffffffff, r0, r1, r2, r3, 0); 832#endif 833 printf("SMULL\n"); 834 TESTINST4_2OUT("smull r0, r1, r2, r3", 0, 0, 0, 0, r0, r1, r2, r3, 0); 835 TESTINST4_2OUT("smull r0, r1, r2, r3", 0, 0, 0, 1, r0, r1, r2, r3, 0); 836 TESTINST4_2OUT("smull r0, r1, r2, r3", 0, 0, 1, 0, r0, r1, r2, r3, 0); 837 TESTINST4_2OUT("smull r0, r1, r2, r3", 0, 0, 1, 1, r0, r1, r2, r3, 0); 838 TESTINST4_2OUT("smull r0, r1, r2, r3", 0, 0, 0xffff, 0xffff, r0, r1, r2, r3, 0); 839 TESTINST4_2OUT("smull r0, r1, r2, r3", 0, 0, 0xffffffff, 0xffffffff, r0, r1, r2, r3, 0); 840#if 0 841 TESTINST4_2OUT("smulls r0, r1, r2, r3", 0, 0, 0, 0, r0, r1, r2, r3, 0); 842 TESTINST4_2OUT("smulls r0, r1, r2, r3", 0, 0, 0, 1, r0, r1, r2, r3, 0); 843 TESTINST4_2OUT("smulls r0, r1, r2, r3", 0, 0, 1, 0, r0, r1, r2, r3, 0); 844 TESTINST4_2OUT("smulls r0, r1, r2, r3", 0, 0, 1, 1, r0, r1, r2, r3, 0); 845 TESTINST4_2OUT("smulls r0, r1, r2, r3", 0, 0, 0xffff, 0xffff, r0, r1, r2, r3, 0); 846 TESTINST4_2OUT("smulls r0, r1, r2, r3", 0, 0, 0xffffffff, 0xffffffff, r0, r1, r2, r3, 0); 847#endif 848 849#if 0 850 printf("UMLAL\n"); 851 TESTINST4_2OUT("umlal r0, r1, r2, r3", 0, 0, 0, 0, r0, r1, r2, r3, 0); 852 TESTINST4_2OUT("umlal r0, r1, r2, r3", 0, 1, 0, 0, r0, r1, r2, r3, 0); 853 TESTINST4_2OUT("umlal r0, r1, r2, r3", 1, 1, 0, 0, r0, r1, r2, r3, 0); 854 TESTINST4_2OUT("umlal r0, r1, r2, r3", 0, 0xffffffff, 1, 1, r0, r1, r2, r3, 0); 855 TESTINST4_2OUT("umlal r0, r1, r2, r3", 0, 0, 0, 1, r0, r1, r2, r3, 0); 856 TESTINST4_2OUT("umlal r0, r1, r2, r3", 0, 0, 1, 0, r0, r1, r2, r3, 0); 857 TESTINST4_2OUT("umlal r0, r1, r2, r3", 0, 0, 1, 1, r0, r1, r2, r3, 0); 858 TESTINST4_2OUT("umlal r0, r1, r2, r3", 0, 0, 0xffff, 0xffff, r0, r1, r2, r3, 0); 859 TESTINST4_2OUT("umlal r0, r1, r2, r3", 0, 0, 0xffffffff, 0xffffffff, r0, r1, r2, r3, 0); 860#endif 861#if 0 862 TESTINST4_2OUT("umlals r0, r1, r2, r3", 0, 0, 0, 0, r0, r1, r2, r3, 0); 863 TESTINST4_2OUT("umlals r0, r1, r2, r3", 0, 1, 0, 0, r0, r1, r2, r3, 0); 864 TESTINST4_2OUT("umlals r0, r1, r2, r3", 1, 1, 0, 0, r0, r1, r2, r3, 0); 865 TESTINST4_2OUT("umlals r0, r1, r2, r3", 0, 0xffffffff, 1, 1, r0, r1, r2, r3, 0); 866 TESTINST4_2OUT("umlals r0, r1, r2, r3", 0, 0, 0, 1, r0, r1, r2, r3, 0); 867 TESTINST4_2OUT("umlals r0, r1, r2, r3", 0, 0, 1, 0, r0, r1, r2, r3, 0); 868 TESTINST4_2OUT("umlals r0, r1, r2, r3", 0, 0, 1, 1, r0, r1, r2, r3, 0); 869 TESTINST4_2OUT("umlals r0, r1, r2, r3", 0, 0, 0xffff, 0xffff, r0, r1, r2, r3, 0); 870 TESTINST4_2OUT("umlals r0, r1, r2, r3", 0, 0, 0xffffffff, 0xffffffff, r0, r1, r2, r3, 0); 871#endif 872#if 0 873 printf("SMLAL\n"); 874 TESTINST4_2OUT("smlal r0, r1, r2, r3", 0, 0, 0, 0, r0, r1, r2, r3, 0); 875 TESTINST4_2OUT("smlal r0, r1, r2, r3", 0, 1, 0, 0, r0, r1, r2, r3, 0); 876 TESTINST4_2OUT("smlal r0, r1, r2, r3", 1, 1, 0, 0, r0, r1, r2, r3, 0); 877 TESTINST4_2OUT("smlal r0, r1, r2, r3", 0, 0xffffffff, 1, 1, r0, r1, r2, r3, 0); 878 TESTINST4_2OUT("smlal r0, r1, r2, r3", 0, 0, 0, 1, r0, r1, r2, r3, 0); 879 TESTINST4_2OUT("smlal r0, r1, r2, r3", 0, 0, 1, 0, r0, r1, r2, r3, 0); 880 TESTINST4_2OUT("smlal r0, r1, r2, r3", 0, 0, 1, 1, r0, r1, r2, r3, 0); 881 TESTINST4_2OUT("smlal r0, r1, r2, r3", 0, 0, 0xffff, 0xffff, r0, r1, r2, r3, 0); 882 TESTINST4_2OUT("smlal r0, r1, r2, r3", 0, 0, 0xffffffff, 0xffffffff, r0, r1, r2, r3, 0); 883#endif 884#if 0 885 TESTINST4_2OUT("smlals r0, r1, r2, r3", 0, 0, 0, 0, r0, r1, r2, r3, 0); 886 TESTINST4_2OUT("smlals r0, r1, r2, r3", 0, 1, 0, 0, r0, r1, r2, r3, 0); 887 TESTINST4_2OUT("smlals r0, r1, r2, r3", 1, 1, 0, 0, r0, r1, r2, r3, 0); 888 TESTINST4_2OUT("smlals r0, r1, r2, r3", 0, 0xffffffff, 1, 1, r0, r1, r2, r3, 0); 889 TESTINST4_2OUT("smlals r0, r1, r2, r3", 0, 0, 0, 1, r0, r1, r2, r3, 0); 890 TESTINST4_2OUT("smlals r0, r1, r2, r3", 0, 0, 1, 0, r0, r1, r2, r3, 0); 891 TESTINST4_2OUT("smlals r0, r1, r2, r3", 0, 0, 1, 1, r0, r1, r2, r3, 0); 892 TESTINST4_2OUT("smlals r0, r1, r2, r3", 0, 0, 0xffff, 0xffff, r0, r1, r2, r3, 0); 893 TESTINST4_2OUT("smlals r0, r1, r2, r3", 0, 0, 0xffffffff, 0xffffffff, r0, r1, r2, r3, 0); 894#endif 895 896 printf("SMLALD\n"); 897 TESTINST4_2OUT("smlald r0, r1, r2, r3", 0, 0, 0, 0, r0, r1, r2, r3, 0); 898 TESTINST4_2OUT("smlald r0, r1, r2, r3", 0, 1, 0, 0, r0, r1, r2, r3, 0); 899 TESTINST4_2OUT("smlald r0, r1, r2, r3", 1, 1, 0, 0, r0, r1, r2, r3, 0); 900 TESTINST4_2OUT("smlald r0, r1, r2, r3", 0, 0xffffffff, 1, 1, r0, r1, r2, r3, 0); 901 TESTINST4_2OUT("smlald r0, r1, r2, r3", 0, 0, 0, 1, r0, r1, r2, r3, 0); 902 TESTINST4_2OUT("smlald r0, r1, r2, r3", 0, 0, 1, 0, r0, r1, r2, r3, 0); 903 TESTINST4_2OUT("smlald r0, r1, r2, r3", 0, 0, 1, 1, r0, r1, r2, r3, 0); 904 TESTINST4_2OUT("smlald r0, r1, r2, r3", 0, 0, 0xffff, 0xffff, r0, r1, r2, r3, 0); 905 TESTINST4_2OUT("smlald r0, r1, r2, r3", 0, 0, 0xffffffff, 0xffffffff, r0, r1, r2, r3, 0); 906 TESTINST4_2OUT("smlald r0, r1, r2, r3", 0xfff4ffff, 0xff8fff3f, 0xfffff6ff, 0xfff9ffff, r0, r1, r2, r3, 0); 907 908 TESTINST4_2OUT("smlaldx r0, r1, r2, r3", 0, 0, 0, 0, r0, r1, r2, r3, 0); 909 TESTINST4_2OUT("smlaldx r0, r1, r2, r3", 0, 1, 0, 0, r0, r1, r2, r3, 0); 910 TESTINST4_2OUT("smlaldx r0, r1, r2, r3", 1, 1, 0, 0, r0, r1, r2, r3, 0); 911 TESTINST4_2OUT("smlaldx r0, r1, r2, r3", 0, 0xffffffff, 1, 1, r0, r1, r2, r3, 0); 912 TESTINST4_2OUT("smlaldx r0, r1, r2, r3", 0, 0, 0, 1, r0, r1, r2, r3, 0); 913 TESTINST4_2OUT("smlaldx r0, r1, r2, r3", 0, 0, 1, 0, r0, r1, r2, r3, 0); 914 TESTINST4_2OUT("smlaldx r0, r1, r2, r3", 0, 0, 1, 1, r0, r1, r2, r3, 0); 915 TESTINST4_2OUT("smlaldx r0, r1, r2, r3", 0, 0, 0xffff, 0xffff, r0, r1, r2, r3, 0); 916 TESTINST4_2OUT("smlaldx r0, r1, r2, r3", 0, 0, 0xffffffff, 0xffffffff, r0, r1, r2, r3, 0); 917 TESTINST4_2OUT("smlaldx r0, r1, r2, r3", 0xfff4ffff, 0xff8fff3f, 0xfffff6ff, 0xfff9ffff, r0, r1, r2, r3, 0); 918 919 printf("SMLSLD\n"); 920 TESTINST4_2OUT("smlsld r0, r1, r2, r3", 0, 0, 0, 0, r0, r1, r2, r3, 0); 921 TESTINST4_2OUT("smlsld r0, r1, r2, r3", 0, 1, 0, 0, r0, r1, r2, r3, 0); 922 TESTINST4_2OUT("smlsld r0, r1, r2, r3", 1, 1, 0, 0, r0, r1, r2, r3, 0); 923 TESTINST4_2OUT("smlsld r0, r1, r2, r3", 0, 0xffffffff, 1, 1, r0, r1, r2, r3, 0); 924 TESTINST4_2OUT("smlsld r0, r1, r2, r3", 0, 0, 0, 1, r0, r1, r2, r3, 0); 925 TESTINST4_2OUT("smlsld r0, r1, r2, r3", 0, 0, 1, 0, r0, r1, r2, r3, 0); 926 TESTINST4_2OUT("smlsld r0, r1, r2, r3", 0, 0, 1, 1, r0, r1, r2, r3, 0); 927 TESTINST4_2OUT("smlsld r0, r1, r2, r3", 0, 0, 0xffff, 0xffff, r0, r1, r2, r3, 0); 928 TESTINST4_2OUT("smlsld r0, r1, r2, r3", 0, 0, 0xffffffff, 0xffffffff, r0, r1, r2, r3, 0); 929 TESTINST4_2OUT("smlsld r0, r1, r2, r3", 0xfff4ffff, 0xff8fff3f, 0xfffff6ff, 0xfff9ffff, r0, r1, r2, r3, 0); 930 TESTINST4_2OUT("smlsldx r0, r1, r2, r3", 0, 0, 0, 0, r0, r1, r2, r3, 0); 931 TESTINST4_2OUT("smlsldx r0, r1, r2, r3", 0, 1, 0, 0, r0, r1, r2, r3, 0); 932 TESTINST4_2OUT("smlsldx r0, r1, r2, r3", 1, 1, 0, 0, r0, r1, r2, r3, 0); 933 TESTINST4_2OUT("smlsldx r0, r1, r2, r3", 0, 0xffffffff, 1, 1, r0, r1, r2, r3, 0); 934 TESTINST4_2OUT("smlsldx r0, r1, r2, r3", 0, 0, 0, 1, r0, r1, r2, r3, 0); 935 TESTINST4_2OUT("smlsldx r0, r1, r2, r3", 0, 0, 1, 0, r0, r1, r2, r3, 0); 936 TESTINST4_2OUT("smlsldx r0, r1, r2, r3", 0, 0, 1, 1, r0, r1, r2, r3, 0); 937 TESTINST4_2OUT("smlsldx r0, r1, r2, r3", 0, 0, 0xffff, 0xffff, r0, r1, r2, r3, 0); 938 TESTINST4_2OUT("smlsldx r0, r1, r2, r3", 0, 0, 0xffffffff, 0xffffffff, r0, r1, r2, r3, 0); 939 TESTINST4_2OUT("smlsldx r0, r1, r2, r3", 0xfff4ffff, 0xff8fff3f, 0xfffff6ff, 0xfff9ffff, r0, r1, r2, r3, 0); 940 941 printf("CLZ\n"); 942 TESTCARRY 943 TESTINST2("clz r0, r1", 0, r0, r1, cv); 944 TESTINST2("clz r0, r1", 1, r0, r1, cv); 945 TESTINST2("clz r0, r1", 0x10, r0, r1, cv); 946 TESTINST2("clz r0, r1", 0xffffffff, r0, r1, cv); 947 TESTCARRYEND 948 949 printf("extend instructions\n"); 950 TESTINST2("uxtb r0, r1", 0, r0, r1, 0); 951 TESTINST2("uxtb r0, r1", 1, r0, r1, 0); 952 TESTINST2("uxtb r0, r1", 0xff, r0, r1, 0); 953 TESTINST2("uxtb r0, r1", 0xffffffff, r0, r1, 0); 954 TESTINST2("sxtb r0, r1", 0, r0, r1, 0); 955 TESTINST2("sxtb r0, r1", 1, r0, r1, 0); 956 TESTINST2("sxtb r0, r1", 0xff, r0, r1, 0); 957 TESTINST2("sxtb r0, r1", 0xffffffff, r0, r1, 0); 958 959 TESTINST2("uxth r0, r1", 0, r0, r1, 0); 960 TESTINST2("uxth r0, r1", 1, r0, r1, 0); 961 TESTINST2("uxth r0, r1", 0xffff, r0, r1, 0); 962 TESTINST2("uxth r0, r1", 0xffffffff, r0, r1, 0); 963 TESTINST2("sxth r0, r1", 0, r0, r1, 0); 964 TESTINST2("sxth r0, r1", 1, r0, r1, 0); 965 TESTINST2("sxth r0, r1", 0x7fff, r0, r1, 0); 966 TESTINST2("sxth r0, r1", 0xffff, r0, r1, 0); 967 TESTINST2("sxth r0, r1", 0x10ffff, r0, r1, 0); 968 TESTINST2("sxth r0, r1", 0x107fff, r0, r1, 0); 969 TESTINST2("sxth r0, r1", 0xffffffff, r0, r1, 0); 970 971 TESTINST2("uxtb r0, r1, ror #0", 0x000000ff, r0, r1, 0); 972 TESTINST2("uxtb r0, r1, ror #8", 0x000000ff, r0, r1, 0); 973 TESTINST2("uxtb r0, r1, ror #8", 0x0000ff00, r0, r1, 0); 974 TESTINST2("uxtb r0, r1, ror #16", 0x00ff0000, r0, r1, 0); 975 TESTINST2("uxtb r0, r1, ror #24", 0xff000000, r0, r1, 0); 976#if 0 977 TESTINST2("uxtb16 r0, r1", 0xffffffff, r0, r1, 0); 978 TESTINST2("uxtb16 r0, r1, ror #16", 0x0000ffff, r0, r1, 0); 979 TESTINST2("sxtb16 r0, r1", 0xffffffff, r0, r1, 0); 980 TESTINST2("sxtb16 r0, r1", 0x00ff00ff, r0, r1, 0); 981 TESTINST2("sxtb16 r0, r1", 0x007f007f, r0, r1, 0); 982#endif 983 printf("------------ BFI ------------\n"); 984 985 /* bfi rDst, rSrc, #lsb-in-dst, #number-of-bits-to-copy */ 986 TESTINST2("bfi r0, r1, #0, #11", 0xAAAAAAAA, r0, r1, 0); 987 TESTINST2("bfi r0, r1, #1, #11", 0xAAAAAAAA, r0, r1, 0); 988 TESTINST2("bfi r0, r1, #2, #11", 0xAAAAAAAA, r0, r1, 0); 989 990 TESTINST2("bfi r0, r1, #19, #11", 0xFFFFFFFF, r0, r1, 0); 991 TESTINST2("bfi r0, r1, #20, #11", 0xFFFFFFFF, r0, r1, 0); 992 TESTINST2("bfi r0, r1, #21, #11", 0xFFFFFFFF, r0, r1, 0); 993 994 TESTINST2("bfi r0, r1, #0, #32", 0xFFFFFFFF, r0, r1, 0); 995 TESTINST2("bfi r0, r1, #1, #31", 0xFFFFFFFF, r0, r1, 0); 996 997 TESTINST2("bfi r0, r1, #29, #3", 0xFFFFFFFF, r0, r1, 0); 998 TESTINST2("bfi r0, r1, #30, #2", 0xFFFFFFFF, r0, r1, 0); 999 TESTINST2("bfi r0, r1, #31, #1", 0xFFFFFFFF, r0, r1, 0); 1000 1001 printf("------------ BFC ------------\n"); 1002 1003 /* bfi rDst, #lsb-in-dst, #number-of-bits-to-copy */ 1004 TESTINST2("bfc r0, #0, #11", 0xAAAAAAAA, r0, r1, 0); 1005 TESTINST2("bfc r0, #1, #11", 0xAAAAAAAA, r0, r1, 0); 1006 TESTINST2("bfc r0, #2, #11", 0xAAAAAAAA, r0, r1, 0); 1007 1008 TESTINST2("bfc r0, #19, #11", 0xFFFFFFFF, r0, r1, 0); 1009 TESTINST2("bfc r0, #20, #11", 0xFFFFFFFF, r0, r1, 0); 1010 TESTINST2("bfc r0, #21, #11", 0xFFFFFFFF, r0, r1, 0); 1011 1012 TESTINST2("bfc r0, #0, #32", 0xFFFFFFFF, r0, r1, 0); 1013 TESTINST2("bfc r0, #1, #31", 0xFFFFFFFF, r0, r1, 0); 1014 1015 TESTINST2("bfc r0, #29, #3", 0xFFFFFFFF, r0, r1, 0); 1016 TESTINST2("bfc r0, #30, #2", 0xFFFFFFFF, r0, r1, 0); 1017 TESTINST2("bfc r0, #31, #1", 0xFFFFFFFF, r0, r1, 0); 1018 1019 printf("------------ SBFX ------------\n"); 1020 1021 /* sbfx rDst, rSrc, #lsb, #width */ 1022 TESTINST2("sbfx r0, r1, #0, #1", 0x00000000, r0, r1, 0); 1023 TESTINST2("sbfx r0, r1, #0, #1", 0x00000001, r0, r1, 0); 1024 TESTINST2("sbfx r0, r1, #1, #1", 0x00000000, r0, r1, 0); 1025 TESTINST2("sbfx r0, r1, #1, #1", 0x00000001, r0, r1, 0); 1026 TESTINST2("sbfx r0, r1, #1, #1", 0x00000002, r0, r1, 0); 1027 TESTINST2("sbfx r0, r1, #1, #1", 0x00000003, r0, r1, 0); 1028 1029 TESTINST2("sbfx r0, r1, #0, #2", 0x00000000, r0, r1, 0); 1030 TESTINST2("sbfx r0, r1, #0, #2", 0x00000001, r0, r1, 0); 1031 TESTINST2("sbfx r0, r1, #1, #2", 0x00000000, r0, r1, 0); 1032 TESTINST2("sbfx r0, r1, #1, #2", 0x00000001, r0, r1, 0); 1033 TESTINST2("sbfx r0, r1, #1, #2", 0x00000002, r0, r1, 0); 1034 TESTINST2("sbfx r0, r1, #1, #2", 0x00000003, r0, r1, 0); 1035 1036 TESTINST2("sbfx r0, r1, #0, #11", 0xAAAAAAAA, r0, r1, 0); 1037 TESTINST2("sbfx r0, r1, #1, #11", 0xAAAAAAAA, r0, r1, 0); 1038 TESTINST2("sbfx r0, r1, #2, #11", 0xAAAAAAAA, r0, r1, 0); 1039 1040 TESTINST2("sbfx r0, r1, #2, #11", 0xAAAAAAAA, r0, r1, 0); 1041 1042 TESTINST2("sbfx r0, r1, #31, #1", 0xAAAAAAAA, r0, r1, 0); 1043 TESTINST2("sbfx r0, r1, #30, #2", 0xAAAAAAAA, r0, r1, 0); 1044 1045 printf("------------ UBFX ------------\n"); 1046 1047 /* ubfx rDst, rSrc, #lsb, #width */ 1048 TESTINST2("ubfx r0, r1, #0, #1", 0x00000000, r0, r1, 0); 1049 TESTINST2("ubfx r0, r1, #0, #1", 0x00000001, r0, r1, 0); 1050 TESTINST2("ubfx r0, r1, #1, #1", 0x00000000, r0, r1, 0); 1051 TESTINST2("ubfx r0, r1, #1, #1", 0x00000001, r0, r1, 0); 1052 TESTINST2("ubfx r0, r1, #1, #1", 0x00000002, r0, r1, 0); 1053 TESTINST2("ubfx r0, r1, #1, #1", 0x00000003, r0, r1, 0); 1054 1055 TESTINST2("ubfx r0, r1, #0, #2", 0x00000000, r0, r1, 0); 1056 TESTINST2("ubfx r0, r1, #0, #2", 0x00000001, r0, r1, 0); 1057 TESTINST2("ubfx r0, r1, #1, #2", 0x00000000, r0, r1, 0); 1058 TESTINST2("ubfx r0, r1, #1, #2", 0x00000001, r0, r1, 0); 1059 TESTINST2("ubfx r0, r1, #1, #2", 0x00000002, r0, r1, 0); 1060 TESTINST2("ubfx r0, r1, #1, #2", 0x00000003, r0, r1, 0); 1061 1062 TESTINST2("ubfx r0, r1, #0, #11", 0xAAAAAAAA, r0, r1, 0); 1063 TESTINST2("ubfx r0, r1, #1, #11", 0xAAAAAAAA, r0, r1, 0); 1064 TESTINST2("ubfx r0, r1, #2, #11", 0xAAAAAAAA, r0, r1, 0); 1065 1066 TESTINST2("ubfx r0, r1, #2, #11", 0xAAAAAAAA, r0, r1, 0); 1067 1068 TESTINST2("ubfx r0, r1, #31, #1", 0xAAAAAAAA, r0, r1, 0); 1069 TESTINST2("ubfx r0, r1, #30, #2", 0xAAAAAAAA, r0, r1, 0); 1070 1071 printf("------------ SMULL{B,T}{B,T} ------------\n"); 1072 /* SMULxx rD, rN, rM */ 1073 1074 TESTINST3("smulbb r0, r1, r2", 0x00030000, 0x00040000, r0, r1, r2, 0); 1075 TESTINST3("smulbb r0, r1, r2", 0x00030001, 0x00040002, r0, r1, r2, 0); 1076 TESTINST3("smulbb r0, r1, r2", 0x00038001, 0x00047fff, r0, r1, r2, 0); 1077 TESTINST3("smulbb r0, r1, r2", 0x00037fff, 0x00047fff, r0, r1, r2, 0); 1078 TESTINST3("smulbb r0, r1, r2", 0x0003ffff, 0x0004ffff, r0, r1, r2, 0); 1079 1080 printf("------------ SXTAB ------------\n"); 1081 TESTINST3("sxtab r0, r1, r2, ROR #24", 0x31415927, 0x27182819, 1082 r0, r1, r2, 0); 1083 TESTINST3("sxtab r0, r1, r2, ROR #16", 0x31415927, 0x27182819, 1084 r0, r1, r2, 0); 1085 TESTINST3("sxtab r0, r1, r2, ROR #8", 0x31415927, 0x27182819, 1086 r0, r1, r2, 0); 1087 TESTINST3("sxtab r0, r1, r2, ROR #0", 0x31415927, 0x27182819, 1088 r0, r1, r2, 0); 1089 1090 TESTINST3("sxtab r0, r1, r2, ROR #24", 0x31415927, 0x27182899, 1091 r0, r1, r2, 0); 1092 TESTINST3("sxtab r0, r1, r2, ROR #16", 0x31415927, 0x27182899, 1093 r0, r1, r2, 0); 1094 TESTINST3("sxtab r0, r1, r2, ROR #8", 0x31415927, 0x27182899, 1095 r0, r1, r2, 0); 1096 TESTINST3("sxtab r0, r1, r2, ROR #0", 0x31415927, 0x27182899, 1097 r0, r1, r2, 0); 1098#if 0 1099 printf("------------ SXTAB16 ------------\n"); 1100 TESTINST3("sxtab16 r0, r1, r2, ROR #24", 0x31415927, 0x27182819, 1101 r0, r1, r2, 0); 1102 TESTINST3("sxtab16 r0, r1, r2, ROR #16", 0x31415927, 0x27182819, 1103 r0, r1, r2, 0); 1104 TESTINST3("sxtab16 r0, r1, r2, ROR #8", 0x31415927, 0x27182819, 1105 r0, r1, r2, 0); 1106 TESTINST3("sxtab16 r0, r1, r2, ROR #0", 0x31415927, 0x27182819, 1107 r0, r1, r2, 0); 1108 1109 TESTINST3("sxtab16 r0, r1, r2, ROR #24", 0x31415927, 0x27182899, 1110 r0, r1, r2, 0); 1111 TESTINST3("sxtab16 r0, r1, r2, ROR #16", 0x31415927, 0x27182899, 1112 r0, r1, r2, 0); 1113 TESTINST3("sxtab16 r0, r1, r2, ROR #8", 0x31415927, 0x27182899, 1114 r0, r1, r2, 0); 1115 TESTINST3("sxtab16 r0, r1, r2, ROR #0", 0x31415927, 0x27182899, 1116 r0, r1, r2, 0); 1117#endif 1118 printf("------------ UXTAB ------------\n"); 1119 TESTINST3("uxtab r0, r1, r2, ROR #24", 0x31415927, 0x27182819, 1120 r0, r1, r2, 0); 1121 TESTINST3("uxtab r0, r1, r2, ROR #16", 0x31415927, 0x27182819, 1122 r0, r1, r2, 0); 1123 TESTINST3("uxtab r0, r1, r2, ROR #8", 0x31415927, 0x27182819, 1124 r0, r1, r2, 0); 1125 TESTINST3("uxtab r0, r1, r2, ROR #0", 0x31415927, 0x27182819, 1126 r0, r1, r2, 0); 1127 1128 TESTINST3("uxtab r0, r1, r2, ROR #24", 0x31415927, 0x27182899, 1129 r0, r1, r2, 0); 1130 TESTINST3("uxtab r0, r1, r2, ROR #16", 0x31415927, 0x27182899, 1131 r0, r1, r2, 0); 1132 TESTINST3("uxtab r0, r1, r2, ROR #8", 0x31415927, 0x27182899, 1133 r0, r1, r2, 0); 1134 TESTINST3("uxtab r0, r1, r2, ROR #0", 0x31415927, 0x27182899, 1135 r0, r1, r2, 0); 1136#if 0 1137 printf("------------ UXTAB16 ------------\n"); 1138 TESTINST3("uxtab16 r0, r1, r2, ROR #24", 0x31415927, 0x27182819, 1139 r0, r1, r2, 0); 1140 TESTINST3("uxtab16 r0, r1, r2, ROR #16", 0x31415927, 0x27182819, 1141 r0, r1, r2, 0); 1142 TESTINST3("uxtab16 r0, r1, r2, ROR #8", 0x31415927, 0x27182819, 1143 r0, r1, r2, 0); 1144 TESTINST3("uxtab16 r0, r1, r2, ROR #0", 0x31415927, 0x27182819, 1145 r0, r1, r2, 0); 1146 1147 TESTINST3("uxtab16 r0, r1, r2, ROR #24", 0x31415927, 0x27182899, 1148 r0, r1, r2, 0); 1149 TESTINST3("uxtab16 r0, r1, r2, ROR #16", 0x31415927, 0x27182899, 1150 r0, r1, r2, 0); 1151 TESTINST3("uxtab16 r0, r1, r2, ROR #8", 0x31415927, 0x27182899, 1152 r0, r1, r2, 0); 1153 TESTINST3("uxtab16 r0, r1, r2, ROR #0", 0x31415927, 0x27182899, 1154 r0, r1, r2, 0); 1155#endif 1156 printf("------------ SXTAH ------------\n"); 1157 TESTINST3("sxtah r0, r1, r2, ROR #24", 0x31415927, 0x27182819, 1158 r0, r1, r2, 0); 1159 TESTINST3("sxtah r0, r1, r2, ROR #16", 0x31415927, 0x27182819, 1160 r0, r1, r2, 0); 1161 TESTINST3("sxtah r0, r1, r2, ROR #8 ", 0x31415927, 0x27182819, 1162 r0, r1, r2, 0); 1163 TESTINST3("sxtah r0, r1, r2, ROR #0 ", 0x31415927, 0x27182819, 1164 r0, r1, r2, 0); 1165 1166 TESTINST3("sxtah r0, r1, r2, ROR #24", 0x31415927, 0x27189819, 1167 r0, r1, r2, 0); 1168 TESTINST3("sxtah r0, r1, r2, ROR #16", 0x31415927, 0x27189819, 1169 r0, r1, r2, 0); 1170 TESTINST3("sxtah r0, r1, r2, ROR #8 ", 0x31415927, 0x27189819, 1171 r0, r1, r2, 0); 1172 TESTINST3("sxtah r0, r1, r2, ROR #0 ", 0x31415927, 0x27189819, 1173 r0, r1, r2, 0); 1174 1175 printf("------------ UXTAH ------------\n"); 1176 TESTINST3("uxtah r0, r1, r2, ROR #24", 0x31415927, 0x27182819, 1177 r0, r1, r2, 0); 1178 TESTINST3("uxtah r0, r1, r2, ROR #16", 0x31415927, 0x27182819, 1179 r0, r1, r2, 0); 1180 TESTINST3("uxtah r0, r1, r2, ROR #8 ", 0x31415927, 0x27182819, 1181 r0, r1, r2, 0); 1182 TESTINST3("uxtah r0, r1, r2, ROR #0 ", 0x31415927, 0x27182819, 1183 r0, r1, r2, 0); 1184 1185 TESTINST3("uxtah r0, r1, r2, ROR #24", 0x31415927, 0x27189819, 1186 r0, r1, r2, 0); 1187 TESTINST3("uxtah r0, r1, r2, ROR #16", 0x31415927, 0x27189819, 1188 r0, r1, r2, 0); 1189 TESTINST3("uxtah r0, r1, r2, ROR #8 ", 0x31415927, 0x27189819, 1190 r0, r1, r2, 0); 1191 TESTINST3("uxtah r0, r1, r2, ROR #0 ", 0x31415927, 0x27189819, 1192 r0, r1, r2, 0); 1193#if 0 1194 printf("------------ PLD/PLDW (begin) ------------\n"); 1195 /* These don't have any effect on the architected state, so, 1196 uh, there's no result values to check. Just _do_ some of 1197 them and check Valgrind's instruction decoder eats them up 1198 without complaining. */ 1199 { int alocal; 1200 printf("pld reg +/- imm12 cases\n"); 1201 __asm__ __volatile__( "pld [%0, #128]" : :/*in*/"r"(&alocal) ); 1202 __asm__ __volatile__( "pld [%0, #-128]" : :/*in*/"r"(&alocal) ); 1203 __asm__ __volatile__( "pld [r15, #-128]" : :/*in*/"r"(&alocal) ); 1204 1205 // apparently pldw is v7 only 1206 //__asm__ __volatile__( "pldw [%0, #128]" : :/*in*/"r"(&alocal) ); 1207 //__asm__ __volatile__( "pldw [%0, #-128]" : :/*in*/"r"(&alocal) ); 1208 //__asm__ __volatile__( "pldw [r15, #128]" : :/*in*/"r"(&alocal) ); 1209 1210 printf("pld reg +/- shifted reg cases\n"); 1211 __asm__ __volatile__( "pld [%0, %1]" : : /*in*/"r"(&alocal), "r"(0) ); 1212 __asm__ __volatile__( "pld [%0, %1, LSL #1]" : : /*in*/"r"(&alocal), "r"(0) ); 1213#if 0 1214 __asm__ __volatile__( "pld [%0, %1, LSR #1]" : : /*in*/"r"(&alocal), "r"(0) ); 1215 __asm__ __volatile__( "pld [%0, %1, ASR #1]" : : /*in*/"r"(&alocal), "r"(0) ); 1216 __asm__ __volatile__( "pld [%0, %1, ROR #1]" : : /*in*/"r"(&alocal), "r"(0) ); 1217 __asm__ __volatile__( "pld [%0, %1, RRX]" : : /*in*/"r"(&alocal), "r"(0) ); 1218#endif 1219 } 1220 printf("------------ PLD/PLDW (done) ------------\n"); 1221#endif 1222 1223 return 0; 1224} 1225 1226 1227//////////////////////////////////////////////////////////// 1228//////////////////////////////////////////////////////////// 1229/////////////////////////////////////////////////////////// 1230/////////////////////////////////////////////////////////// 1231 1232 1233int main ( void ) 1234{ 1235 // 16 bit instructions 1236 1237 printf("CMP-16 0x10a\n"); 1238 TESTCARRY 1239 TESTINST3("cmp r3, r6", 0, 0, r6/*fake*/, r3, r6, 0); 1240 TESTINST3("cmp r3, r6", 1, 0, r6/*fake*/, r3, r6, 0); 1241 TESTINST3("cmp r3, r6", 0, 1, r6/*fake*/, r3, r6, 0); 1242 TESTINST3("cmp r3, r6", -1, 0, r6/*fake*/, r3, r6, 0); 1243 TESTINST3("cmp r3, r6", 0, -1, r6/*fake*/, r3, r6, 0); 1244 TESTINST3("cmp r3, r6", 0, 0x80000000, r6/*fake*/, r3, r6, 0); 1245 TESTINST3("cmp r3, r6", 0x80000000, 0, r6/*fake*/, r3, r6, 0); 1246 TESTCARRYEND 1247 1248 printf("CMN-16 0x10a\n"); 1249 TESTCARRY 1250 TESTINST3("cmn r3, r6", 0, 0, r6/*fake*/, r3, r6, 0); 1251 TESTINST3("cmn r3, r6", 1, 0, r6/*fake*/, r3, r6, 0); 1252 TESTINST3("cmn r3, r6", 0, 1, r6/*fake*/, r3, r6, 0); 1253 TESTINST3("cmn r3, r6", -1, 0, r6/*fake*/, r3, r6, 0); 1254 TESTINST3("cmn r3, r6", 0, -1, r6/*fake*/, r3, r6, 0); 1255 TESTINST3("cmn r3, r6", 0, 0x80000000, r6/*fake*/, r3, r6, 0); 1256 TESTINST3("cmn r3, r6", 0x80000000, 0, r6/*fake*/, r3, r6, 0); 1257 TESTCARRYEND 1258 1259 printf("TST-16 0x108\n"); 1260 TESTCARRY 1261 TESTINST3("tst r3, r6", 0, 0, r6/*fake*/, r3, r6, cv); 1262 TESTINST3("tst r3, r6", 1, 0, r6/*fake*/, r3, r6, cv); 1263 TESTINST3("tst r3, r6", 0, 1, r6/*fake*/, r3, r6, cv); 1264 TESTINST3("tst r3, r6", 1, 1, r6/*fake*/, r3, r6, cv); 1265 TESTINST3("tst r3, r6", -1, 0, r6/*fake*/, r3, r6, cv); 1266 TESTINST3("tst r3, r6", 0, -1, r6/*fake*/, r3, r6, cv); 1267 TESTINST3("tst r3, r6", -1, -1, r6/*fake*/, r3, r6, cv); 1268 TESTCARRYEND 1269 1270 printf("NEGS-16 0x109\n"); 1271 TESTINST2("negs r0, r1", 1, r0, r1, 0); 1272 TESTCARRY 1273 TESTINST2("negs r0, r1", 1, r0, r1, cv); 1274 TESTINST2("negs r0, r1", 0, r0, r1, cv); 1275 TESTINST2("negs r0, r1", 0x80000000, r0, r1, cv); 1276 TESTINST2("negs r0, r1", 0x80000001, r0, r1, cv); 1277 TESTINST2("negs r0, r1", 0xFFFFFFFF, r0, r1, cv); 1278 TESTINST2("negs r0, r1", 0x7FFFFFFF, r0, r1, cv); 1279 TESTCARRYEND 1280 1281 printf("MVNS-16 0x10F\n"); 1282 TESTINST2("mvns r0, r1", 1, r0, r1, 0); 1283 TESTCARRY 1284 TESTINST2("mvns r0, r1", 1, r0, r1, cv); 1285 TESTINST2("mvns r0, r1", 0, r0, r1, cv); 1286 TESTINST2("mvns r0, r1", 0x80000000, r0, r1, cv); 1287 TESTINST2("mvns r0, r1", 0x80000001, r0, r1, cv); 1288 TESTINST2("mvns r0, r1", 0xFFFFFFFF, r0, r1, cv); 1289 TESTINST2("mvns r0, r1", 0x7FFFFFFF, r0, r1, cv); 1290 TESTCARRYEND 1291 1292 printf("ORRS-16 0x10C\n"); 1293 TESTCARRY 1294 TESTINST2x("orrs r1, r2", 0x31415927, 0x27181728, r1, r2, cv); 1295 TESTINST2x("orrs r1, r2", 0x00000000, 0x00000000, r1, r2, cv); 1296 TESTINST2x("orrs r1, r2", 0x00000001, 0x00000000, r1, r2, cv); 1297 TESTINST2x("orrs r1, r2", 0x00000000, 0x00000001, r1, r2, cv); 1298 TESTINST2x("orrs r1, r2", 0x80000000, 0x00000000, r1, r2, cv); 1299 TESTINST2x("orrs r1, r2", 0x00000000, 0x80000000, r1, r2, cv); 1300 TESTINST2x("orrs r1, r2", 0x80000000, 0x80000000, r1, r2, cv); 1301 TESTCARRYEND 1302 1303 printf("ANDS-16 0x100\n"); 1304 TESTCARRY 1305 TESTINST2x("ands r1, r2", 0x31415927, 0x27181728, r1, r2, cv); 1306 TESTINST2x("ands r1, r2", 0x00000000, 0x00000000, r1, r2, cv); 1307 TESTINST2x("ands r1, r2", 0x00000001, 0x00000000, r1, r2, cv); 1308 TESTINST2x("ands r1, r2", 0x00000000, 0x00000001, r1, r2, cv); 1309 TESTINST2x("ands r1, r2", 0x80000000, 0x00000000, r1, r2, cv); 1310 TESTINST2x("ands r1, r2", 0x00000000, 0x80000000, r1, r2, cv); 1311 TESTINST2x("ands r1, r2", 0x80000000, 0x80000000, r1, r2, cv); 1312 TESTCARRYEND 1313 1314 printf("EORS-16 0x101\n"); 1315 TESTCARRY 1316 TESTINST2x("eors r1, r2", 0x31415927, 0x27181728, r1, r2, cv); 1317 TESTINST2x("eors r1, r2", 0x00000000, 0x00000000, r1, r2, cv); 1318 TESTINST2x("eors r1, r2", 0x00000001, 0x00000000, r1, r2, cv); 1319 TESTINST2x("eors r1, r2", 0x00000000, 0x00000001, r1, r2, cv); 1320 TESTINST2x("eors r1, r2", 0x80000000, 0x00000000, r1, r2, cv); 1321 TESTINST2x("eors r1, r2", 0x00000000, 0x80000000, r1, r2, cv); 1322 TESTINST2x("eors r1, r2", 0x80000000, 0x80000000, r1, r2, cv); 1323 TESTCARRYEND 1324 1325 printf("MULS-16 0x10d\n"); 1326 TESTCARRY 1327 TESTINST2x("muls r1, r2", 0x31415927, 0x27181728, r1, r2, cv); 1328 TESTINST2x("muls r1, r2", 0x00000000, 0x00000000, r1, r2, cv); 1329 TESTINST2x("muls r1, r2", 0x00000001, 0x00000000, r1, r2, cv); 1330 TESTINST2x("muls r1, r2", 0x00000000, 0x00000001, r1, r2, cv); 1331 TESTINST2x("muls r1, r2", 0x80000000, 0x00000000, r1, r2, cv); 1332 TESTINST2x("muls r1, r2", 0x00000000, 0x80000000, r1, r2, cv); 1333 TESTINST2x("muls r1, r2", 0x80000000, 0x80000000, r1, r2, cv); 1334 TESTCARRYEND 1335 1336 printf("BICS-16 0x10E\n"); 1337 TESTCARRY 1338 TESTINST2x("bics r1, r2", 0x31415927, 0x27181728, r1, r2, cv); 1339 TESTINST2x("bics r1, r2", 0x00000000, 0x00000000, r1, r2, cv); 1340 TESTINST2x("bics r1, r2", 0x00000001, 0x00000000, r1, r2, cv); 1341 TESTINST2x("bics r1, r2", 0x00000000, 0x00000001, r1, r2, cv); 1342 TESTINST2x("bics r1, r2", 0x80000000, 0x00000000, r1, r2, cv); 1343 TESTINST2x("bics r1, r2", 0x00000000, 0x80000000, r1, r2, cv); 1344 TESTINST2x("bics r1, r2", 0x80000000, 0x80000000, r1, r2, cv); 1345 TESTCARRYEND 1346 1347 printf("ADCS-16 0x105\n"); 1348 TESTCARRY 1349 TESTINST2x("adcs r1, r2", 0x31415927, 0x27181728, r1, r2, cv); 1350 TESTINST2x("adcs r1, r2", 0x00000000, 0x00000000, r1, r2, cv); 1351 TESTINST2x("adcs r1, r2", 0x00000001, 0x00000000, r1, r2, cv); 1352 TESTINST2x("adcs r1, r2", 0x00000000, 0x00000001, r1, r2, cv); 1353 TESTINST2x("adcs r1, r2", 0x80000000, 0x00000000, r1, r2, cv); 1354 TESTINST2x("adcs r1, r2", 0x00000000, 0x80000000, r1, r2, cv); 1355 TESTINST2x("adcs r1, r2", 0x80000000, 0x80000000, r1, r2, cv); 1356 TESTCARRYEND 1357 1358 printf("SBCS-16 0x100\n"); 1359 TESTCARRY 1360 TESTINST2x("sbcs r1, r2", 0x31415927, 0x27181728, r1, r2, cv); 1361 TESTINST2x("sbcs r1, r2", 0x00000000, 0x00000000, r1, r2, cv); 1362 TESTINST2x("sbcs r1, r2", 0x00000001, 0x00000000, r1, r2, cv); 1363 TESTINST2x("sbcs r1, r2", 0x00000000, 0x00000001, r1, r2, cv); 1364 TESTINST2x("sbcs r1, r2", 0x80000000, 0x00000000, r1, r2, cv); 1365 TESTINST2x("sbcs r1, r2", 0x00000000, 0x80000000, r1, r2, cv); 1366 TESTINST2x("sbcs r1, r2", 0x80000000, 0x80000000, r1, r2, cv); 1367 TESTCARRYEND 1368 1369 printf("UXTB-16 0x2CB\n"); 1370 TESTCARRY 1371 TESTINST2("uxtb r1, r2", 0x31415927, r1, r2, cv); 1372 TESTINST2("uxtb r1, r2", 0x31415997, r1, r2, cv); 1373 TESTCARRYEND 1374 1375 printf("SXTB-16 0x2C9\n"); 1376 TESTCARRY 1377 TESTINST2("sxtb r1, r2", 0x31415927, r1, r2, cv); 1378 TESTINST2("sxtb r1, r2", 0x31415997, r1, r2, cv); 1379 TESTCARRYEND 1380 1381 printf("UXTH-16 0x2CA\n"); 1382 TESTCARRY 1383 TESTINST2("uxth r1, r2", 0x31415927, r1, r2, cv); 1384 TESTINST2("uxth r1, r2", 0x31419597, r1, r2, cv); 1385 TESTCARRYEND 1386 1387 printf("SXTH-16 0x2C8\n"); 1388 TESTCARRY 1389 TESTINST2("sxth r1, r2", 0x31415927, r1, r2, cv); 1390 TESTINST2("sxth r1, r2", 0x31419597, r1, r2, cv); 1391 TESTCARRYEND 1392 1393 printf("LSLS-16 0x102\n"); 1394 TESTCARRY 1395 TESTINST2x("lsls r1, r2", 0x31415927, 0x00000000, r1, r2, cv); 1396 TESTINST2x("lsls r1, r2", 0x31415927, 0x00000001, r1, r2, cv); 1397 TESTINST2x("lsls r1, r2", 0x31415927, 0x00000002, r1, r2, cv); 1398 TESTINST2x("lsls r1, r2", 0x31415927, 0x0000000F, r1, r2, cv); 1399 TESTINST2x("lsls r1, r2", 0x31415927, 0x00000010, r1, r2, cv); 1400 TESTINST2x("lsls r1, r2", 0x31415927, 0x0000001F, r1, r2, cv); 1401 TESTINST2x("lsls r1, r2", 0x31415927, 0x00000020, r1, r2, cv); 1402 TESTINST2x("lsls r1, r2", 0x31415927, 0x00000021, r1, r2, cv); 1403 TESTCARRYEND 1404 1405 printf("LSRS-16 0x103\n"); 1406 TESTCARRY 1407 TESTINST2x("lsrs r1, r2", 0x31415927, 0x00000000, r1, r2, cv); 1408 TESTINST2x("lsrs r1, r2", 0x31415927, 0x00000001, r1, r2, cv); 1409 TESTINST2x("lsrs r1, r2", 0x31415927, 0x00000002, r1, r2, cv); 1410 TESTINST2x("lsrs r1, r2", 0x31415927, 0x0000000F, r1, r2, cv); 1411 TESTINST2x("lsrs r1, r2", 0x31415927, 0x00000010, r1, r2, cv); 1412 TESTINST2x("lsrs r1, r2", 0x31415927, 0x0000001F, r1, r2, cv); 1413 TESTINST2x("lsrs r1, r2", 0x31415927, 0x00000020, r1, r2, cv); 1414 TESTINST2x("lsrs r1, r2", 0x31415927, 0x00000021, r1, r2, cv); 1415 TESTCARRYEND 1416 1417 printf("ASRS-16 0x104\n"); 1418 TESTCARRY 1419 TESTINST2x("asrs r1, r2", 0x31415927, 0x00000000, r1, r2, cv); 1420 TESTINST2x("asrs r1, r2", 0x91415927, 0x00000001, r1, r2, cv); 1421 TESTINST2x("asrs r1, r2", 0x31415927, 0x00000002, r1, r2, cv); 1422 TESTINST2x("asrs r1, r2", 0x91415927, 0x0000000F, r1, r2, cv); 1423 TESTINST2x("asrs r1, r2", 0x31415927, 0x00000010, r1, r2, cv); 1424 TESTINST2x("asrs r1, r2", 0x91415927, 0x0000001F, r1, r2, cv); 1425 TESTINST2x("asrs r1, r2", 0x31415927, 0x00000020, r1, r2, cv); 1426 TESTINST2x("asrs r1, r2", 0x91415927, 0x00000021, r1, r2, cv); 1427 TESTCARRYEND 1428 1429 printf("RORS-16 0x107\n"); 1430 TESTCARRY 1431 TESTINST2x("rors r1, r2", 0x31415927, 0x00000000, r1, r2, cv); 1432 TESTINST2x("rors r1, r2", 0x31415927, 0x00000001, r1, r2, cv); 1433 TESTINST2x("rors r1, r2", 0x31415927, 0x00000002, r1, r2, cv); 1434 TESTINST2x("rors r1, r2", 0x31415927, 0x0000000F, r1, r2, cv); 1435 TESTINST2x("rors r1, r2", 0x31415927, 0x00000010, r1, r2, cv); 1436 TESTINST2x("rors r1, r2", 0x31415927, 0x0000001F, r1, r2, cv); 1437 TESTINST2x("rors r1, r2", 0x31415927, 0x00000020, r1, r2, cv); 1438 TESTINST2x("rors r1, r2", 0x31415927, 0x00000021, r1, r2, cv); 1439 TESTCARRYEND 1440 1441 printf("ADD(HI)-16\n"); 1442 TESTCARRY 1443 TESTINST2x("add r5, r12", 0x31415927, 0x12345678, r5, r12, cv); 1444 TESTINST2x("add r4, r9 ", 0x31415927, 0x12345678, r4, r9, cv); 1445 TESTCARRYEND 1446 1447 printf("CMP(HI)-16 0x10a\n"); 1448 TESTCARRY 1449 TESTINST3("cmp r5, r12", 0, 0, r12/*fake*/, r5, r12, 0); 1450 TESTINST3("cmp r5, r12", 1, 0, r12/*fake*/, r5, r12, 0); 1451 TESTINST3("cmp r5, r12", 0, 1, r12/*fake*/, r5, r12, 0); 1452 TESTINST3("cmp r5, r12", -1, 0, r12/*fake*/, r5, r12, 0); 1453 TESTINST3("cmp r5, r12", 0, -1, r12/*fake*/, r5, r12, 0); 1454 TESTINST3("cmp r5, r12", 0, 0x80000000, r12/*fake*/, r5, r12, 0); 1455 TESTINST3("cmp r5, r12", 0x80000000, 0, r12/*fake*/, r5, r12, 0); 1456 TESTCARRYEND 1457 1458 printf("MOV(HI)-16\n"); 1459 TESTCARRY 1460 TESTINST2x("mov r5, r12", 0x31415927, 0x12345678, r5, r12, cv); 1461 TESTINST2x("mov r4, r9 ", 0x31415927, 0x12345678, r4, r9, cv); 1462 TESTCARRYEND 1463 1464 printf("ADDS-16 Rd, Rn, #imm3\n"); 1465 TESTCARRY 1466 TESTINST2x("adds r1, r2, #1", 0x31415927, 0x27181728, r1, r2, cv); 1467 TESTINST2x("adds r1, r2, #7", 0x31415927, 0x97181728, r1, r2, cv); 1468 TESTCARRYEND 1469 1470 printf("ADDS-16 Rd, Rn, Rm\n"); 1471 TESTCARRY 1472 TESTINST3("adds r1, r2, r3", 0x31415927, 0x27181728, r1, r2, r3, cv); 1473 TESTINST3("adds r1, r2, r3", 0x31415927, 0x97181728, r1, r2, r3, cv); 1474 TESTINST3("adds r1, r2, r3", 0, 0, r1, r2, r3, cv); 1475 TESTINST3("adds r1, r2, r3", 1, 0, r1, r2, r3, cv); 1476 TESTINST3("adds r1, r2, r3", 0, 1, r1, r2, r3, cv); 1477 TESTINST3("adds r1, r2, r3", -1, 0, r1, r2, r3, cv); 1478 TESTINST3("adds r1, r2, r3", 0, -1, r1, r2, r3, cv); 1479 TESTINST3("adds r1, r2, r3", 0, 0x80000000, r1, r2, r3, cv); 1480 TESTINST3("adds r1, r2, r3", 0x80000000, 0, r1, r2, r3, cv); 1481 TESTINST3("adds r1, r2, r3", 0x80000000, 0x80000000, r1, r2, r3, cv); 1482 TESTINST3("adds r1, r2, r3", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 1483 TESTINST3("adds r1, r2, r3", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 1484 TESTINST3("adds r1, r2, r3", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 1485 TESTCARRYEND 1486 1487 printf("SUBS-16 Rd, Rn, Rm\n"); 1488 TESTCARRY 1489 TESTINST3("subs r1, r2, r3", 0x31415927, 0x27181728, r1, r2, r3, cv); 1490 TESTINST3("subs r1, r2, r3", 0x31415927, 0x97181728, r1, r2, r3, cv); 1491 TESTINST3("subs r1, r2, r3", 0, 0, r1, r2, r3, cv); 1492 TESTINST3("subs r1, r2, r3", 1, 0, r1, r2, r3, cv); 1493 TESTINST3("subs r1, r2, r3", 0, 1, r1, r2, r3, cv); 1494 TESTINST3("subs r1, r2, r3", -1, 0, r1, r2, r3, cv); 1495 TESTINST3("subs r1, r2, r3", 0, -1, r1, r2, r3, cv); 1496 TESTINST3("subs r1, r2, r3", 0, 0x80000000, r1, r2, r3, cv); 1497 TESTINST3("subs r1, r2, r3", 0x80000000, 0, r1, r2, r3, cv); 1498 TESTINST3("subs r1, r2, r3", 0x80000000, 0x80000000, r1, r2, r3, cv); 1499 TESTINST3("subs r1, r2, r3", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 1500 TESTINST3("subs r1, r2, r3", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 1501 TESTINST3("subs r1, r2, r3", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 1502 TESTCARRYEND 1503 1504 printf("ADDS-16 Rn, #uimm8\n"); 1505 TESTCARRY 1506 TESTINST1x("adds r1, #0 ", 0x31415927, r1, cv); 1507 TESTINST1x("adds r1, #255", 0x31415927, r1, cv); 1508 TESTINST1x("adds r1, #0 ", 0x91415927, r1, cv); 1509 TESTINST1x("adds r1, #255", 0x91415927, r1, cv); 1510 TESTCARRYEND 1511 1512 printf("SUBS-16 Rn, #uimm8\n"); 1513 TESTCARRY 1514 TESTINST1x("subs r1, #0 ", 0x31415927, r1, cv); 1515 TESTINST1x("subs r1, #255", 0x31415927, r1, cv); 1516 TESTINST1x("subs r1, #0 ", 0x91415927, r1, cv); 1517 TESTINST1x("subs r1, #255", 0x91415927, r1, cv); 1518 TESTCARRYEND 1519 1520 printf("CMP-16 Rn, #uimm8\n"); 1521 TESTCARRY 1522 TESTINST1x("cmp r1, #0x80 ", 0x00000080, r1, cv); 1523 TESTINST1x("cmp r1, #0x7f ", 0x00000080, r1, cv); 1524 TESTINST1x("cmp r1, #0x81 ", 0x00000080, r1, cv); 1525 TESTINST1x("cmp r1, #0x80 ", 0xffffff80, r1, cv); 1526 TESTINST1x("cmp r1, #0x7f ", 0xffffff80, r1, cv); 1527 TESTINST1x("cmp r1, #0x81 ", 0xffffff80, r1, cv); 1528 TESTINST1x("cmp r1, #0x01 ", 0x80000000, r1, cv); 1529 TESTCARRYEND 1530 1531 printf("MOVS-16 Rn, #uimm8\n"); 1532 TESTCARRY 1533 TESTINST1x("movs r1, #0 ", 0x31415927, r1, cv); 1534 TESTINST1x("movs r1, #0x7f", 0x31415927, r1, cv); 1535 TESTINST1x("movs r1, #0x80", 0x31415927, r1, cv); 1536 TESTINST1x("movs r1, #0x81", 0x31415927, r1, cv); 1537 TESTINST1x("movs r1, #0xff", 0x31415927, r1, cv); 1538 TESTCARRYEND 1539 1540 printf("LSLS-16 Rd, Rm, imm5\n"); 1541 TESTCARRY 1542 TESTINST2("lsls r1, r2, #0 ", 0x31415927, r1, r2, cv); 1543 TESTINST2("lsls r1, r2, #1 ", 0x31415927, r1, r2, cv); 1544 TESTINST2("lsls r1, r2, #2 ", 0x31415927, r1, r2, cv); 1545 TESTINST2("lsls r1, r2, #0xF ", 0x31415927, r1, r2, cv); 1546 TESTINST2("lsls r1, r2, #0x10", 0x31415927, r1, r2, cv); 1547 TESTINST2("lsls r1, r2, #0x1F", 0x31415927, r1, r2, cv); 1548 TESTCARRYEND 1549 1550 printf("LSRS-16 Rd, Rm, imm5\n"); 1551 TESTCARRY 1552 TESTINST2("lsrs r1, r2, #0 ", 0x31415927, r1, r2, cv); 1553 TESTINST2("lsrs r1, r2, #1 ", 0x31415927, r1, r2, cv); 1554 TESTINST2("lsrs r1, r2, #2 ", 0x31415927, r1, r2, cv); 1555 TESTINST2("lsrs r1, r2, #0xF ", 0x31415927, r1, r2, cv); 1556 TESTINST2("lsrs r1, r2, #0x10", 0x31415927, r1, r2, cv); 1557 TESTINST2("lsrs r1, r2, #0x1F", 0x31415927, r1, r2, cv); 1558 TESTCARRYEND 1559 1560 printf("ASRS-16 Rd, Rm, imm5\n"); 1561 TESTCARRY 1562 TESTINST2("asrs r1, r2, #0 ", 0x31415927, r1, r2, cv); 1563 TESTINST2("asrs r1, r2, #1 ", 0x91415927, r1, r2, cv); 1564 TESTINST2("asrs r1, r2, #2 ", 0x31415927, r1, r2, cv); 1565 TESTINST2("asrs r1, r2, #0xF ", 0x91415927, r1, r2, cv); 1566 TESTINST2("asrs r1, r2, #0x10", 0x31415927, r1, r2, cv); 1567 TESTINST2("asrs r1, r2, #0x1F", 0x91415927, r1, r2, cv); 1568 TESTCARRYEND 1569 1570 // 32 bit instructions 1571 1572 printf("(T3) ADD{S}.W Rd, Rn, #constT [allegedly]\n"); 1573 TESTCARRY 1574 TESTINST2("adds.w r1, r2, #0xffffffff", 0x31415927, r1, r2, cv); 1575 TESTINST2("adds.w r1, r2, #0xee00ee00", 0x31415927, r1, r2, cv); 1576 TESTINST2("adds.w r1, r2, #255 ", 0, r1, r2, cv); 1577 TESTINST2("adds.w r1, r2, #0 ", 1, r1, r2, cv); 1578 TESTINST2("adds.w r1, r2, #1 ", 0, r1, r2, cv); 1579 TESTINST2("adds.w r1, r2, #0 ", -1, r1, r2, cv); 1580 TESTINST2("adds.w r1, r2, #-1 ", 0, r1, r2, cv); 1581 TESTINST2("adds.w r1, r2, #0x80000000", 0, r1, r2, cv); 1582 TESTINST2("adds.w r1, r2, #0 ", 0x80000000, r1, r2, cv); 1583 TESTINST2("adds.w r1, r2, #0x80000000", 0x80000000, r1, r2, cv); 1584 TESTINST2("adds.w r1, r2, #0x80000000", 0x7fffffff, r1, r2, cv); 1585 TESTINST2("adds.w r1, r2, #0xff000000", 0x80000000, r1, r2, cv); 1586 TESTINST2("adds.w r1, r2, #0x0dd00000", 0x7fffffff, r1, r2, cv); 1587 TESTINST2("add.w r1, r2, #0xffffffff", 0x31415927, r1, r2, cv); 1588 TESTINST2("add.w r1, r2, #0xee00ee00", 0x31415927, r1, r2, cv); 1589 TESTINST2("add.w r1, r2, #255 ", 0, r1, r2, cv); 1590 TESTINST2("add.w r1, r2, #0 ", 1, r1, r2, cv); 1591 TESTINST2("add.w r1, r2, #1 ", 0, r1, r2, cv); 1592 TESTINST2("add.w r1, r2, #0 ", -1, r1, r2, cv); 1593 TESTINST2("add.w r1, r2, #-1 ", 0, r1, r2, cv); 1594 TESTINST2("add.w r1, r2, #0x80000000", 0, r1, r2, cv); 1595 TESTINST2("add.w r1, r2, #0 ", 0x80000000, r1, r2, cv); 1596 TESTINST2("add.w r1, r2, #0x80000000", 0x80000000, r1, r2, cv); 1597 TESTINST2("add.w r1, r2, #0x80000000", 0x7fffffff, r1, r2, cv); 1598 TESTINST2("add.w r1, r2, #0xff000000", 0x80000000, r1, r2, cv); 1599 TESTINST2("add.w r1, r2, #0x0dd00000", 0x7fffffff, r1, r2, cv); 1600 TESTCARRYEND 1601 1602 printf("(T4) ADDW Rd, Rn, #uimm12\n"); 1603 TESTCARRY 1604 TESTINST2("addw r1, r2, #0x000", 0x31415927, r1, r2, cv); 1605 TESTINST2("addw r1, r2, #0x000", 0x91415927, r1, r2, cv); 1606 TESTINST2("addw r1, r2, #0xABC", 0x31415927, r1, r2, cv); 1607 TESTINST2("addw r1, r2, #0xABC", 0x91415927, r1, r2, cv); 1608 TESTINST2("addw r1, r2, #0xFFF", 0x31415927, r1, r2, cv); 1609 TESTINST2("addw r1, r2, #0xFFF", 0x91415927, r1, r2, cv); 1610 TESTCARRYEND 1611 1612 printf("(T3) CMP.W Rn, #constT [allegedly]\n"); 1613 TESTCARRY 1614 TESTINST1x("cmp.w r1, #0xffffffff", 0x31415927, r1, cv); 1615 TESTINST1x("cmp.w r1, #0xee00ee00", 0x31415927, r1, cv); 1616 TESTINST1x("cmp.w r1, #255 ", 0, r1, cv); 1617 TESTINST1x("cmp.w r1, #0 ", 1, r1, cv); 1618 TESTINST1x("cmp.w r1, #1 ", 0, r1, cv); 1619 TESTINST1x("cmp.w r1, #0 ", -1, r1, cv); 1620 TESTINST1x("cmp.w r1, #-1 ", 0, r1, cv); 1621 TESTINST1x("cmp.w r1, #0x80000000", 0, r1, cv); 1622 TESTINST1x("cmp.w r1, #0 ", 0x80000000, r1, cv); 1623 TESTINST1x("cmp.w r1, #0x80000000", 0x80000000, r1, cv); 1624 TESTINST1x("cmp.w r1, #0x80000000", 0x7fffffff, r1, cv); 1625 TESTINST1x("cmp.w r1, #0xff000000", 0x80000000, r1, cv); 1626 TESTINST1x("cmp.w r1, #0x0dd00000", 0x7fffffff, r1, cv); 1627 TESTCARRYEND 1628 1629 printf("(T3) CMN.W Rn, #constT [allegedly]\n"); 1630 TESTCARRY 1631 TESTINST1x("cmn.w r1, #0xffffffff", 0x31415927, r1, cv); 1632 TESTINST1x("cmn.w r1, #0xee00ee00", 0x31415927, r1, cv); 1633 TESTINST1x("cmn.w r1, #255 ", 0, r1, cv); 1634 TESTINST1x("cmn.w r1, #0 ", 1, r1, cv); 1635 TESTINST1x("cmn.w r1, #1 ", 0, r1, cv); 1636 TESTINST1x("cmn.w r1, #0 ", -1, r1, cv); 1637 TESTINST1x("cmn.w r1, #-1 ", 0, r1, cv); 1638 TESTINST1x("cmn.w r1, #0x80000000", 0, r1, cv); 1639 TESTINST1x("cmn.w r1, #0 ", 0x80000000, r1, cv); 1640 TESTINST1x("cmn.w r1, #0x80000000", 0x80000000, r1, cv); 1641 TESTINST1x("cmn.w r1, #0x80000000", 0x7fffffff, r1, cv); 1642 TESTINST1x("cmn.w r1, #0xff000000", 0x80000000, r1, cv); 1643 TESTINST1x("cmn.w r1, #0x0dd00000", 0x7fffffff, r1, cv); 1644 TESTCARRYEND 1645 1646 printf("(T3) TST.W Rn, #constT [allegedly]\n"); 1647 TESTCARRY 1648 TESTINST1x("tst.w r1, #0xffffffff", 0x31415927, r1, cv); 1649 TESTINST1x("tst.w r1, #0xee00ee00", 0x31415927, r1, cv); 1650 TESTINST1x("tst.w r1, #255 ", 0, r1, cv); 1651 TESTINST1x("tst.w r1, #0 ", 1, r1, cv); 1652 TESTINST1x("tst.w r1, #1 ", 0, r1, cv); 1653 TESTINST1x("tst.w r1, #0 ", -1, r1, cv); 1654 TESTINST1x("tst.w r1, #-1 ", 0, r1, cv); 1655 TESTINST1x("tst.w r1, #0x80000000", 0, r1, cv); 1656 TESTINST1x("tst.w r1, #0 ", 0x80000000, r1, cv); 1657 TESTINST1x("tst.w r1, #0x80000000", 0x80000000, r1, cv); 1658 TESTINST1x("tst.w r1, #0x80000000", 0x7fffffff, r1, cv); 1659 TESTINST1x("tst.w r1, #0xff000000", 0x80000000, r1, cv); 1660 TESTINST1x("tst.w r1, #0x0dd00000", 0x7fffffff, r1, cv); 1661 TESTCARRYEND 1662 1663 printf("(T3) TEQ.W Rn, #constT [allegedly]\n"); 1664 TESTCARRY 1665 TESTINST1x("teq.w r1, #0xffffffff", 0x31415927, r1, cv); 1666 TESTINST1x("teq.w r1, #0xee00ee00", 0x31415927, r1, cv); 1667 TESTINST1x("teq.w r1, #255 ", 0, r1, cv); 1668 TESTINST1x("teq.w r1, #0 ", 1, r1, cv); 1669 TESTINST1x("teq.w r1, #1 ", 0, r1, cv); 1670 TESTINST1x("teq.w r1, #0 ", -1, r1, cv); 1671 TESTINST1x("teq.w r1, #-1 ", 0, r1, cv); 1672 TESTINST1x("teq.w r1, #0x80000000", 0, r1, cv); 1673 TESTINST1x("teq.w r1, #0 ", 0x80000000, r1, cv); 1674 TESTINST1x("teq.w r1, #0x80000000", 0x80000000, r1, cv); 1675 TESTINST1x("teq.w r1, #0x80000000", 0x7fffffff, r1, cv); 1676 TESTINST1x("teq.w r1, #0xff000000", 0x80000000, r1, cv); 1677 TESTINST1x("teq.w r1, #0x0dd00000", 0x7fffffff, r1, cv); 1678 TESTCARRYEND 1679 1680 printf("(T3) SUB{S}.W Rd, Rn, #constT [allegedly]\n"); 1681 TESTCARRY 1682 TESTINST2("subs.w r1, r2, #0xffffffff", 0x31415927, r1, r2, cv); 1683 TESTINST2("subs.w r1, r2, #0xee00ee00", 0x31415927, r1, r2, cv); 1684 TESTINST2("subs.w r1, r2, #255 ", 0, r1, r2, cv); 1685 TESTINST2("subs.w r1, r2, #0 ", 1, r1, r2, cv); 1686 TESTINST2("subs.w r1, r2, #1 ", 0, r1, r2, cv); 1687 TESTINST2("subs.w r1, r2, #0 ", -1, r1, r2, cv); 1688 TESTINST2("subs.w r1, r2, #-1 ", 0, r1, r2, cv); 1689 TESTINST2("subs.w r1, r2, #0x80000000", 0, r1, r2, cv); 1690 TESTINST2("subs.w r1, r2, #0 ", 0x80000000, r1, r2, cv); 1691 TESTINST2("subs.w r1, r2, #0x80000000", 0x80000000, r1, r2, cv); 1692 TESTINST2("subs.w r1, r2, #0x80000000", 0x7fffffff, r1, r2, cv); 1693 TESTINST2("subs.w r1, r2, #0xff000000", 0x80000000, r1, r2, cv); 1694 TESTINST2("subs.w r1, r2, #0x0dd00000", 0x7fffffff, r1, r2, cv); 1695 TESTINST2("sub.w r1, r2, #0xffffffff", 0x31415927, r1, r2, cv); 1696 TESTINST2("sub.w r1, r2, #0xee00ee00", 0x31415927, r1, r2, cv); 1697 TESTINST2("sub.w r1, r2, #255 ", 0, r1, r2, cv); 1698 TESTINST2("sub.w r1, r2, #0 ", 1, r1, r2, cv); 1699 TESTINST2("sub.w r1, r2, #1 ", 0, r1, r2, cv); 1700 TESTINST2("sub.w r1, r2, #0 ", -1, r1, r2, cv); 1701 TESTINST2("sub.w r1, r2, #-1 ", 0, r1, r2, cv); 1702 TESTINST2("sub.w r1, r2, #0x80000000", 0, r1, r2, cv); 1703 TESTINST2("sub.w r1, r2, #0 ", 0x80000000, r1, r2, cv); 1704 TESTINST2("sub.w r1, r2, #0x80000000", 0x80000000, r1, r2, cv); 1705 TESTINST2("sub.w r1, r2, #0x80000000", 0x7fffffff, r1, r2, cv); 1706 TESTINST2("sub.w r1, r2, #0xff000000", 0x80000000, r1, r2, cv); 1707 TESTINST2("sub.w r1, r2, #0x0dd00000", 0x7fffffff, r1, r2, cv); 1708 TESTCARRYEND 1709 1710 printf("(T4) SUBW Rd, Rn, #uimm12\n"); 1711 TESTCARRY 1712 TESTINST2("subw r1, r2, #0x000", 0x31415927, r1, r2, cv); 1713 TESTINST2("subw r1, r2, #0x000", 0x91415927, r1, r2, cv); 1714 TESTINST2("subw r1, r2, #0xABC", 0x31415927, r1, r2, cv); 1715 TESTINST2("subw r1, r2, #0xABC", 0x91415927, r1, r2, cv); 1716 TESTINST2("subw r1, r2, #0xFFF", 0x31415927, r1, r2, cv); 1717 TESTINST2("subw r1, r2, #0xFFF", 0x91415927, r1, r2, cv); 1718 TESTCARRYEND 1719 1720 printf("(T3) RSB{S}.W Rd, Rn, #constT [allegedly]\n"); 1721 TESTCARRY 1722 TESTINST2("rsbs.w r1, r2, #0xffffffff", 0x31415927, r1, r2, cv); 1723 TESTINST2("rsbs.w r1, r2, #0xee00ee00", 0x31415927, r1, r2, cv); 1724 TESTINST2("rsbs.w r1, r2, #255 ", 0, r1, r2, cv); 1725 TESTINST2("rsbs.w r1, r2, #0 ", 1, r1, r2, cv); 1726 TESTINST2("rsbs.w r1, r2, #1 ", 0, r1, r2, cv); 1727 TESTINST2("rsbs.w r1, r2, #0 ", -1, r1, r2, cv); 1728 TESTINST2("rsbs.w r1, r2, #-1 ", 0, r1, r2, cv); 1729 TESTINST2("rsbs.w r1, r2, #0x80000000", 0, r1, r2, cv); 1730 TESTINST2("rsbs.w r1, r2, #0 ", 0x80000000, r1, r2, cv); 1731 TESTINST2("rsbs.w r1, r2, #0x80000000", 0x80000000, r1, r2, cv); 1732 TESTINST2("rsbs.w r1, r2, #0x80000000", 0x7fffffff, r1, r2, cv); 1733 TESTINST2("rsbs.w r1, r2, #0xff000000", 0x80000000, r1, r2, cv); 1734 TESTINST2("rsbs.w r1, r2, #0x0dd00000", 0x7fffffff, r1, r2, cv); 1735 TESTINST2("rsb.w r1, r2, #0xffffffff", 0x31415927, r1, r2, cv); 1736 TESTINST2("rsb.w r1, r2, #0xee00ee00", 0x31415927, r1, r2, cv); 1737 TESTINST2("rsb.w r1, r2, #255 ", 0, r1, r2, cv); 1738 TESTINST2("rsb.w r1, r2, #0 ", 1, r1, r2, cv); 1739 TESTINST2("rsb.w r1, r2, #1 ", 0, r1, r2, cv); 1740 TESTINST2("rsb.w r1, r2, #0 ", -1, r1, r2, cv); 1741 TESTINST2("rsb.w r1, r2, #-1 ", 0, r1, r2, cv); 1742 TESTINST2("rsb.w r1, r2, #0x80000000", 0, r1, r2, cv); 1743 TESTINST2("rsb.w r1, r2, #0 ", 0x80000000, r1, r2, cv); 1744 TESTINST2("rsb.w r1, r2, #0x80000000", 0x80000000, r1, r2, cv); 1745 TESTINST2("rsb.w r1, r2, #0x80000000", 0x7fffffff, r1, r2, cv); 1746 TESTINST2("rsb.w r1, r2, #0xff000000", 0x80000000, r1, r2, cv); 1747 TESTINST2("rsb.w r1, r2, #0x0dd00000", 0x7fffffff, r1, r2, cv); 1748 TESTCARRYEND 1749 1750 printf("(T3) ADC{S}.W Rd, Rn, #constT [allegedly]\n"); 1751 TESTCARRY 1752 TESTINST2("adcs.w r1, r2, #0xffffffff", 0x31415927, r1, r2, cv); 1753 TESTINST2("adcs.w r1, r2, #0xee00ee00", 0x31415927, r1, r2, cv); 1754 TESTINST2("adcs.w r1, r2, #255 ", 0, r1, r2, cv); 1755 TESTINST2("adcs.w r1, r2, #0 ", 1, r1, r2, cv); 1756 TESTINST2("adcs.w r1, r2, #1 ", 0, r1, r2, cv); 1757 TESTINST2("adcs.w r1, r2, #0 ", -1, r1, r2, cv); 1758 TESTINST2("adcs.w r1, r2, #-1 ", 0, r1, r2, cv); 1759 TESTINST2("adcs.w r1, r2, #0x80000000", 0, r1, r2, cv); 1760 TESTINST2("adcs.w r1, r2, #0 ", 0x80000000, r1, r2, cv); 1761 TESTINST2("adcs.w r1, r2, #0x80000000", 0x80000000, r1, r2, cv); 1762 TESTINST2("adcs.w r1, r2, #0x80000000", 0x7fffffff, r1, r2, cv); 1763 TESTINST2("adcs.w r1, r2, #0xff000000", 0x80000000, r1, r2, cv); 1764 TESTINST2("adcs.w r1, r2, #0x0dd00000", 0x7fffffff, r1, r2, cv); 1765 TESTINST2("adc.w r1, r2, #0xffffffff", 0x31415927, r1, r2, cv); 1766 TESTINST2("adc.w r1, r2, #0xee00ee00", 0x31415927, r1, r2, cv); 1767 TESTINST2("adc.w r1, r2, #255 ", 0, r1, r2, cv); 1768 TESTINST2("adc.w r1, r2, #0 ", 1, r1, r2, cv); 1769 TESTINST2("adc.w r1, r2, #1 ", 0, r1, r2, cv); 1770 TESTINST2("adc.w r1, r2, #0 ", -1, r1, r2, cv); 1771 TESTINST2("adc.w r1, r2, #-1 ", 0, r1, r2, cv); 1772 TESTINST2("adc.w r1, r2, #0x80000000", 0, r1, r2, cv); 1773 TESTINST2("adc.w r1, r2, #0 ", 0x80000000, r1, r2, cv); 1774 TESTINST2("adc.w r1, r2, #0x80000000", 0x80000000, r1, r2, cv); 1775 TESTINST2("adc.w r1, r2, #0x80000000", 0x7fffffff, r1, r2, cv); 1776 TESTINST2("adc.w r1, r2, #0xff000000", 0x80000000, r1, r2, cv); 1777 TESTINST2("adc.w r1, r2, #0x0dd00000", 0x7fffffff, r1, r2, cv); 1778 TESTCARRYEND 1779 1780 printf("(T3) SBC{S}.W Rd, Rn, #constT [allegedly]\n"); 1781 TESTCARRY 1782 TESTINST2("sbcs.w r1, r2, #0xffffffff", 0x31415927, r1, r2, cv); 1783 TESTINST2("sbcs.w r1, r2, #0xee00ee00", 0x31415927, r1, r2, cv); 1784 TESTINST2("sbcs.w r1, r2, #255 ", 0, r1, r2, cv); 1785 TESTINST2("sbcs.w r1, r2, #0 ", 1, r1, r2, cv); 1786 TESTINST2("sbcs.w r1, r2, #1 ", 0, r1, r2, cv); 1787 TESTINST2("sbcs.w r1, r2, #0 ", -1, r1, r2, cv); 1788 TESTINST2("sbcs.w r1, r2, #-1 ", 0, r1, r2, cv); 1789 TESTINST2("sbcs.w r1, r2, #0x80000000", 0, r1, r2, cv); 1790 TESTINST2("sbcs.w r1, r2, #0 ", 0x80000000, r1, r2, cv); 1791 TESTINST2("sbcs.w r1, r2, #0x80000000", 0x80000000, r1, r2, cv); 1792 TESTINST2("sbcs.w r1, r2, #0x80000000", 0x7fffffff, r1, r2, cv); 1793 TESTINST2("sbcs.w r1, r2, #0xff000000", 0x80000000, r1, r2, cv); 1794 TESTINST2("sbcs.w r1, r2, #0x0dd00000", 0x7fffffff, r1, r2, cv); 1795 TESTINST2("sbc.w r1, r2, #0xffffffff", 0x31415927, r1, r2, cv); 1796 TESTINST2("sbc.w r1, r2, #0xee00ee00", 0x31415927, r1, r2, cv); 1797 TESTINST2("sbc.w r1, r2, #255 ", 0, r1, r2, cv); 1798 TESTINST2("sbc.w r1, r2, #0 ", 1, r1, r2, cv); 1799 TESTINST2("sbc.w r1, r2, #1 ", 0, r1, r2, cv); 1800 TESTINST2("sbc.w r1, r2, #0 ", -1, r1, r2, cv); 1801 TESTINST2("sbc.w r1, r2, #-1 ", 0, r1, r2, cv); 1802 TESTINST2("sbc.w r1, r2, #0x80000000", 0, r1, r2, cv); 1803 TESTINST2("sbc.w r1, r2, #0 ", 0x80000000, r1, r2, cv); 1804 TESTINST2("sbc.w r1, r2, #0x80000000", 0x80000000, r1, r2, cv); 1805 TESTINST2("sbc.w r1, r2, #0x80000000", 0x7fffffff, r1, r2, cv); 1806 TESTINST2("sbc.w r1, r2, #0xff000000", 0x80000000, r1, r2, cv); 1807 TESTINST2("sbc.w r1, r2, #0x0dd00000", 0x7fffffff, r1, r2, cv); 1808 TESTCARRYEND 1809 1810 printf("(T3) AND{S}.W Rd, Rn, #constT [allegedly]\n"); 1811 TESTCARRY 1812 TESTINST2("ands.w r1, r2, #0xffffffff", 0x31415927, r1, r2, cv); 1813 TESTINST2("ands.w r1, r2, #0xee00ee00", 0x31415927, r1, r2, cv); 1814 TESTINST2("ands.w r1, r2, #255 ", 0, r1, r2, cv); 1815 TESTINST2("ands.w r1, r2, #0 ", 1, r1, r2, cv); 1816 TESTINST2("ands.w r1, r2, #1 ", 0, r1, r2, cv); 1817 TESTINST2("ands.w r1, r2, #0 ", -1, r1, r2, cv); 1818 TESTINST2("ands.w r1, r2, #-1 ", 0, r1, r2, cv); 1819 TESTINST2("ands.w r1, r2, #0x80000000", 0, r1, r2, cv); 1820 TESTINST2("ands.w r1, r2, #0 ", 0x80000000, r1, r2, cv); 1821 TESTINST2("ands.w r1, r2, #0x80000000", 0x80000000, r1, r2, cv); 1822 TESTINST2("ands.w r1, r2, #0x80000000", 0x7fffffff, r1, r2, cv); 1823 TESTINST2("ands.w r1, r2, #0xff000000", 0x80000000, r1, r2, cv); 1824 TESTINST2("ands.w r1, r2, #0x0dd00000", 0x7fffffff, r1, r2, cv); 1825 TESTINST2("and.w r1, r2, #0xffffffff", 0x31415927, r1, r2, cv); 1826 TESTINST2("and.w r1, r2, #0xee00ee00", 0x31415927, r1, r2, cv); 1827 TESTINST2("and.w r1, r2, #255 ", 0, r1, r2, cv); 1828 TESTINST2("and.w r1, r2, #0 ", 1, r1, r2, cv); 1829 TESTINST2("and.w r1, r2, #1 ", 0, r1, r2, cv); 1830 TESTINST2("and.w r1, r2, #0 ", -1, r1, r2, cv); 1831 TESTINST2("and.w r1, r2, #-1 ", 0, r1, r2, cv); 1832 TESTINST2("and.w r1, r2, #0x80000000", 0, r1, r2, cv); 1833 TESTINST2("and.w r1, r2, #0 ", 0x80000000, r1, r2, cv); 1834 TESTINST2("and.w r1, r2, #0x80000000", 0x80000000, r1, r2, cv); 1835 TESTINST2("and.w r1, r2, #0x80000000", 0x7fffffff, r1, r2, cv); 1836 TESTINST2("and.w r1, r2, #0xff000000", 0x80000000, r1, r2, cv); 1837 TESTINST2("and.w r1, r2, #0x0dd00000", 0x7fffffff, r1, r2, cv); 1838 TESTCARRYEND 1839 1840 printf("(T3) ORR{S}.W Rd, Rn, #constT [allegedly]\n"); 1841 TESTCARRY 1842 TESTINST2("orrs.w r1, r2, #0xffffffff", 0x31415927, r1, r2, cv); 1843 TESTINST2("orrs.w r1, r2, #0xee00ee00", 0x31415927, r1, r2, cv); 1844 TESTINST2("orrs.w r1, r2, #255 ", 0, r1, r2, cv); 1845 TESTINST2("orrs.w r1, r2, #0 ", 1, r1, r2, cv); 1846 TESTINST2("orrs.w r1, r2, #1 ", 0, r1, r2, cv); 1847 TESTINST2("orrs.w r1, r2, #0 ", -1, r1, r2, cv); 1848 TESTINST2("orrs.w r1, r2, #-1 ", 0, r1, r2, cv); 1849 TESTINST2("orrs.w r1, r2, #0x80000000", 0, r1, r2, cv); 1850 TESTINST2("orrs.w r1, r2, #0 ", 0x80000000, r1, r2, cv); 1851 TESTINST2("orrs.w r1, r2, #0x80000000", 0x80000000, r1, r2, cv); 1852 TESTINST2("orrs.w r1, r2, #0x80000000", 0x7fffffff, r1, r2, cv); 1853 TESTINST2("orrs.w r1, r2, #0xff000000", 0x80000000, r1, r2, cv); 1854 TESTINST2("orrs.w r1, r2, #0x0dd00000", 0x7fffffff, r1, r2, cv); 1855 TESTINST2("orr.w r1, r2, #0xffffffff", 0x31415927, r1, r2, cv); 1856 TESTINST2("orr.w r1, r2, #0xee00ee00", 0x31415927, r1, r2, cv); 1857 TESTINST2("orr.w r1, r2, #255 ", 0, r1, r2, cv); 1858 TESTINST2("orr.w r1, r2, #0 ", 1, r1, r2, cv); 1859 TESTINST2("orr.w r1, r2, #1 ", 0, r1, r2, cv); 1860 TESTINST2("orr.w r1, r2, #0 ", -1, r1, r2, cv); 1861 TESTINST2("orr.w r1, r2, #-1 ", 0, r1, r2, cv); 1862 TESTINST2("orr.w r1, r2, #0x80000000", 0, r1, r2, cv); 1863 TESTINST2("orr.w r1, r2, #0 ", 0x80000000, r1, r2, cv); 1864 TESTINST2("orr.w r1, r2, #0x80000000", 0x80000000, r1, r2, cv); 1865 TESTINST2("orr.w r1, r2, #0x80000000", 0x7fffffff, r1, r2, cv); 1866 TESTINST2("orr.w r1, r2, #0xff000000", 0x80000000, r1, r2, cv); 1867 TESTINST2("orr.w r1, r2, #0x0dd00000", 0x7fffffff, r1, r2, cv); 1868 TESTCARRYEND 1869 1870 printf("(T3) EOR{S}.W Rd, Rn, #constT [allegedly]\n"); 1871 TESTCARRY 1872 TESTINST2("eors.w r1, r2, #0xffffffff", 0x31415927, r1, r2, cv); 1873 TESTINST2("eors.w r1, r2, #0xee00ee00", 0x31415927, r1, r2, cv); 1874 TESTINST2("eors.w r1, r2, #255 ", 0, r1, r2, cv); 1875 TESTINST2("eors.w r1, r2, #0 ", 1, r1, r2, cv); 1876 TESTINST2("eors.w r1, r2, #1 ", 0, r1, r2, cv); 1877 TESTINST2("eors.w r1, r2, #0 ", -1, r1, r2, cv); 1878 TESTINST2("eors.w r1, r2, #-1 ", 0, r1, r2, cv); 1879 TESTINST2("eors.w r1, r2, #0x80000000", 0, r1, r2, cv); 1880 TESTINST2("eors.w r1, r2, #0 ", 0x80000000, r1, r2, cv); 1881 TESTINST2("eors.w r1, r2, #0x80000000", 0x80000000, r1, r2, cv); 1882 TESTINST2("eors.w r1, r2, #0x80000000", 0x7fffffff, r1, r2, cv); 1883 TESTINST2("eors.w r1, r2, #0xff000000", 0x80000000, r1, r2, cv); 1884 TESTINST2("eors.w r1, r2, #0x0dd00000", 0x7fffffff, r1, r2, cv); 1885 TESTINST2("eor.w r1, r2, #0xffffffff", 0x31415927, r1, r2, cv); 1886 TESTINST2("eor.w r1, r2, #0xee00ee00", 0x31415927, r1, r2, cv); 1887 TESTINST2("eor.w r1, r2, #255 ", 0, r1, r2, cv); 1888 TESTINST2("eor.w r1, r2, #0 ", 1, r1, r2, cv); 1889 TESTINST2("eor.w r1, r2, #1 ", 0, r1, r2, cv); 1890 TESTINST2("eor.w r1, r2, #0 ", -1, r1, r2, cv); 1891 TESTINST2("eor.w r1, r2, #-1 ", 0, r1, r2, cv); 1892 TESTINST2("eor.w r1, r2, #0x80000000", 0, r1, r2, cv); 1893 TESTINST2("eor.w r1, r2, #0 ", 0x80000000, r1, r2, cv); 1894 TESTINST2("eor.w r1, r2, #0x80000000", 0x80000000, r1, r2, cv); 1895 TESTINST2("eor.w r1, r2, #0x80000000", 0x7fffffff, r1, r2, cv); 1896 TESTINST2("eor.w r1, r2, #0xff000000", 0x80000000, r1, r2, cv); 1897 TESTINST2("eor.w r1, r2, #0x0dd00000", 0x7fffffff, r1, r2, cv); 1898 TESTCARRYEND 1899 1900 printf("(T3) BIC{S}.W Rd, Rn, #constT [allegedly]\n"); 1901 TESTCARRY 1902 TESTINST2("bics.w r1, r2, #0xffffffff", 0x31415927, r1, r2, cv); 1903 TESTINST2("bics.w r1, r2, #0xee00ee00", 0x31415927, r1, r2, cv); 1904 TESTINST2("bics.w r1, r2, #255 ", 0, r1, r2, cv); 1905 TESTINST2("bics.w r1, r2, #0 ", 1, r1, r2, cv); 1906 TESTINST2("bics.w r1, r2, #1 ", 0, r1, r2, cv); 1907 TESTINST2("bics.w r1, r2, #0 ", -1, r1, r2, cv); 1908 TESTINST2("bics.w r1, r2, #-1 ", 0, r1, r2, cv); 1909 TESTINST2("bics.w r1, r2, #0x80000000", 0, r1, r2, cv); 1910 TESTINST2("bics.w r1, r2, #0 ", 0x80000000, r1, r2, cv); 1911 TESTINST2("bics.w r1, r2, #0x80000000", 0x80000000, r1, r2, cv); 1912 TESTINST2("bics.w r1, r2, #0x80000000", 0x7fffffff, r1, r2, cv); 1913 TESTINST2("bics.w r1, r2, #0xff000000", 0x80000000, r1, r2, cv); 1914 TESTINST2("bics.w r1, r2, #0x0dd00000", 0x7fffffff, r1, r2, cv); 1915 TESTINST2("bic.w r1, r2, #0xffffffff", 0x31415927, r1, r2, cv); 1916 TESTINST2("bic.w r1, r2, #0xee00ee00", 0x31415927, r1, r2, cv); 1917 TESTINST2("bic.w r1, r2, #255 ", 0, r1, r2, cv); 1918 TESTINST2("bic.w r1, r2, #0 ", 1, r1, r2, cv); 1919 TESTINST2("bic.w r1, r2, #1 ", 0, r1, r2, cv); 1920 TESTINST2("bic.w r1, r2, #0 ", -1, r1, r2, cv); 1921 TESTINST2("bic.w r1, r2, #-1 ", 0, r1, r2, cv); 1922 TESTINST2("bic.w r1, r2, #0x80000000", 0, r1, r2, cv); 1923 TESTINST2("bic.w r1, r2, #0 ", 0x80000000, r1, r2, cv); 1924 TESTINST2("bic.w r1, r2, #0x80000000", 0x80000000, r1, r2, cv); 1925 TESTINST2("bic.w r1, r2, #0x80000000", 0x7fffffff, r1, r2, cv); 1926 TESTINST2("bic.w r1, r2, #0xff000000", 0x80000000, r1, r2, cv); 1927 TESTINST2("bic.w r1, r2, #0x0dd00000", 0x7fffffff, r1, r2, cv); 1928 TESTCARRYEND 1929 1930 printf("(T3) ORN{S}.W Rd, Rn, #constT [allegedly]\n"); 1931 TESTCARRY 1932 TESTINST2("orns.w r1, r2, #0xffffffff", 0x31415927, r1, r2, cv); 1933 TESTINST2("orns.w r1, r2, #0xee00ee00", 0x31415927, r1, r2, cv); 1934 TESTINST2("orns.w r1, r2, #255 ", 0, r1, r2, cv); 1935 TESTINST2("orns.w r1, r2, #0 ", 1, r1, r2, cv); 1936 TESTINST2("orns.w r1, r2, #1 ", 0, r1, r2, cv); 1937 TESTINST2("orns.w r1, r2, #0 ", -1, r1, r2, cv); 1938 TESTINST2("orns.w r1, r2, #-1 ", 0, r1, r2, cv); 1939 TESTINST2("orns.w r1, r2, #0x80000000", 0, r1, r2, cv); 1940 TESTINST2("orns.w r1, r2, #0 ", 0x80000000, r1, r2, cv); 1941 TESTINST2("orns.w r1, r2, #0x80000000", 0x80000000, r1, r2, cv); 1942 TESTINST2("orns.w r1, r2, #0x80000000", 0x7fffffff, r1, r2, cv); 1943 TESTINST2("orns.w r1, r2, #0xff000000", 0x80000000, r1, r2, cv); 1944 TESTINST2("orns.w r1, r2, #0x0dd00000", 0x7fffffff, r1, r2, cv); 1945 TESTINST2("orn.w r1, r2, #0xffffffff", 0x31415927, r1, r2, cv); 1946 TESTINST2("orn.w r1, r2, #0xee00ee00", 0x31415927, r1, r2, cv); 1947 TESTINST2("orn.w r1, r2, #255 ", 0, r1, r2, cv); 1948 TESTINST2("orn.w r1, r2, #0 ", 1, r1, r2, cv); 1949 TESTINST2("orn.w r1, r2, #1 ", 0, r1, r2, cv); 1950 TESTINST2("orn.w r1, r2, #0 ", -1, r1, r2, cv); 1951 TESTINST2("orn.w r1, r2, #-1 ", 0, r1, r2, cv); 1952 TESTINST2("orn.w r1, r2, #0x80000000", 0, r1, r2, cv); 1953 TESTINST2("orn.w r1, r2, #0 ", 0x80000000, r1, r2, cv); 1954 TESTINST2("orn.w r1, r2, #0x80000000", 0x80000000, r1, r2, cv); 1955 TESTINST2("orn.w r1, r2, #0x80000000", 0x7fffffff, r1, r2, cv); 1956 TESTINST2("orn.w r1, r2, #0xff000000", 0x80000000, r1, r2, cv); 1957 TESTINST2("orn.w r1, r2, #0x0dd00000", 0x7fffffff, r1, r2, cv); 1958 TESTCARRYEND 1959 1960 printf("ADD{S}.W Rd, Rn, Rm, {shift}\n"); 1961 TESTCARRY 1962 TESTINST3("adds.w r1, r2, r3, lsl #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 1963 TESTINST3("adds.w r1, r2, r3, lsl #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 1964 TESTINST3("adds.w r1, r2, r3, lsl #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 1965 TESTINST3("adds.w r1, r2, r3, lsl #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 1966 TESTINST3("adds.w r1, r2, r3, lsr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 1967 TESTINST3("adds.w r1, r2, r3, lsr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 1968 TESTINST3("adds.w r1, r2, r3, lsr #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 1969 TESTINST3("adds.w r1, r2, r3, lsr #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 1970 TESTINST3("adds.w r1, r2, r3, asr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 1971 TESTINST3("adds.w r1, r2, r3, asr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 1972 TESTINST3("adds.w r1, r2, r3, asr #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 1973 TESTINST3("adds.w r1, r2, r3, asr #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 1974 TESTINST3("add.w r1, r2, r3, lsl #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 1975 TESTINST3("add.w r1, r2, r3, lsl #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 1976 TESTINST3("add.w r1, r2, r3, lsl #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 1977 TESTINST3("add.w r1, r2, r3, lsl #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 1978 TESTINST3("add.w r1, r2, r3, lsr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 1979 TESTINST3("add.w r1, r2, r3, lsr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 1980 TESTINST3("add.w r1, r2, r3, lsr #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 1981 TESTINST3("add.w r1, r2, r3, lsr #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 1982 TESTINST3("add.w r1, r2, r3, asr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 1983 TESTINST3("add.w r1, r2, r3, asr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 1984 TESTINST3("add.w r1, r2, r3, asr #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 1985 TESTINST3("add.w r1, r2, r3, asr #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 1986 TESTINST3("adds.w r1, r2, r3, lsl #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 1987 TESTINST3("adds.w r1, r2, r3, lsl #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 1988 TESTINST3("adds.w r1, r2, r3, lsl #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 1989 TESTINST3("adds.w r1, r2, r3, lsl #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 1990 TESTINST3("adds.w r1, r2, r3, lsr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 1991 TESTINST3("adds.w r1, r2, r3, lsr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 1992 TESTINST3("adds.w r1, r2, r3, lsr #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 1993 TESTINST3("adds.w r1, r2, r3, lsr #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 1994 TESTINST3("adds.w r1, r2, r3, asr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 1995 TESTINST3("adds.w r1, r2, r3, asr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 1996 TESTINST3("adds.w r1, r2, r3, asr #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 1997 TESTINST3("adds.w r1, r2, r3, asr #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 1998 TESTINST3("add.w r1, r2, r3, lsl #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 1999 TESTINST3("add.w r1, r2, r3, lsl #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 2000 TESTINST3("add.w r1, r2, r3, lsl #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 2001 TESTINST3("add.w r1, r2, r3, lsl #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 2002 TESTINST3("add.w r1, r2, r3, lsr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 2003 TESTINST3("add.w r1, r2, r3, lsr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 2004 TESTINST3("add.w r1, r2, r3, lsr #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 2005 TESTINST3("add.w r1, r2, r3, lsr #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 2006 TESTINST3("add.w r1, r2, r3, asr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 2007 TESTINST3("add.w r1, r2, r3, asr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 2008 TESTINST3("add.w r1, r2, r3, asr #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 2009 TESTINST3("add.w r1, r2, r3, asr #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 2010 TESTINST3("adds.w r1, r2, r3, lsl #0 ", 0, 0, r1, r2, r3, cv); 2011 TESTINST3("adds.w r1, r2, r3, lsl #1 ", 0, 0, r1, r2, r3, cv); 2012 TESTINST3("adds.w r1, r2, r3, lsl #15", 0, 0, r1, r2, r3, cv); 2013 TESTINST3("adds.w r1, r2, r3, lsl #31", 0, 0, r1, r2, r3, cv); 2014 TESTINST3("adds.w r1, r2, r3, lsr #0 ", 0, 0, r1, r2, r3, cv); 2015 TESTINST3("adds.w r1, r2, r3, lsr #1 ", 0, 0, r1, r2, r3, cv); 2016 TESTINST3("adds.w r1, r2, r3, lsr #15", 0, 0, r1, r2, r3, cv); 2017 TESTINST3("adds.w r1, r2, r3, lsr #31", 0, 0, r1, r2, r3, cv); 2018 TESTINST3("adds.w r1, r2, r3, asr #0 ", 0, 0, r1, r2, r3, cv); 2019 TESTINST3("adds.w r1, r2, r3, asr #1 ", 0, 0, r1, r2, r3, cv); 2020 TESTINST3("adds.w r1, r2, r3, asr #15", 0, 0, r1, r2, r3, cv); 2021 TESTINST3("adds.w r1, r2, r3, asr #31", 0, 0, r1, r2, r3, cv); 2022 TESTINST3("add.w r1, r2, r3, lsl #0 ", 0, 0, r1, r2, r3, cv); 2023 TESTINST3("add.w r1, r2, r3, lsl #1 ", 0, 0, r1, r2, r3, cv); 2024 TESTINST3("add.w r1, r2, r3, lsl #15", 0, 0, r1, r2, r3, cv); 2025 TESTINST3("add.w r1, r2, r3, lsl #31", 0, 0, r1, r2, r3, cv); 2026 TESTINST3("add.w r1, r2, r3, lsr #0 ", 0, 0, r1, r2, r3, cv); 2027 TESTINST3("add.w r1, r2, r3, lsr #1 ", 0, 0, r1, r2, r3, cv); 2028 TESTINST3("add.w r1, r2, r3, lsr #15", 0, 0, r1, r2, r3, cv); 2029 TESTINST3("add.w r1, r2, r3, lsr #31", 0, 0, r1, r2, r3, cv); 2030 TESTINST3("add.w r1, r2, r3, asr #0 ", 0, 0, r1, r2, r3, cv); 2031 TESTINST3("add.w r1, r2, r3, asr #1 ", 0, 0, r1, r2, r3, cv); 2032 TESTINST3("add.w r1, r2, r3, asr #15", 0, 0, r1, r2, r3, cv); 2033 TESTINST3("add.w r1, r2, r3, asr #31", 0, 0, r1, r2, r3, cv); 2034 TESTINST3("adds.w r1, r2, r3, lsl #0 ", 1, 0, r1, r2, r3, cv); 2035 TESTINST3("adds.w r1, r2, r3, lsl #1 ", 1, 0, r1, r2, r3, cv); 2036 TESTINST3("adds.w r1, r2, r3, lsl #15", 1, 0, r1, r2, r3, cv); 2037 TESTINST3("adds.w r1, r2, r3, lsl #31", 1, 0, r1, r2, r3, cv); 2038 TESTINST3("adds.w r1, r2, r3, lsr #0 ", 1, 0, r1, r2, r3, cv); 2039 TESTINST3("adds.w r1, r2, r3, lsr #1 ", 1, 0, r1, r2, r3, cv); 2040 TESTINST3("adds.w r1, r2, r3, lsr #15", 1, 0, r1, r2, r3, cv); 2041 TESTINST3("adds.w r1, r2, r3, lsr #31", 1, 0, r1, r2, r3, cv); 2042 TESTINST3("adds.w r1, r2, r3, asr #0 ", 1, 0, r1, r2, r3, cv); 2043 TESTINST3("adds.w r1, r2, r3, asr #1 ", 1, 0, r1, r2, r3, cv); 2044 TESTINST3("adds.w r1, r2, r3, asr #15", 1, 0, r1, r2, r3, cv); 2045 TESTINST3("adds.w r1, r2, r3, asr #31", 1, 0, r1, r2, r3, cv); 2046 TESTINST3("add.w r1, r2, r3, lsl #0 ", 1, 0, r1, r2, r3, cv); 2047 TESTINST3("add.w r1, r2, r3, lsl #1 ", 1, 0, r1, r2, r3, cv); 2048 TESTINST3("add.w r1, r2, r3, lsl #15", 1, 0, r1, r2, r3, cv); 2049 TESTINST3("add.w r1, r2, r3, lsl #31", 1, 0, r1, r2, r3, cv); 2050 TESTINST3("add.w r1, r2, r3, lsr #0 ", 1, 0, r1, r2, r3, cv); 2051 TESTINST3("add.w r1, r2, r3, lsr #1 ", 1, 0, r1, r2, r3, cv); 2052 TESTINST3("add.w r1, r2, r3, lsr #15", 1, 0, r1, r2, r3, cv); 2053 TESTINST3("add.w r1, r2, r3, lsr #31", 1, 0, r1, r2, r3, cv); 2054 TESTINST3("add.w r1, r2, r3, asr #0 ", 1, 0, r1, r2, r3, cv); 2055 TESTINST3("add.w r1, r2, r3, asr #1 ", 1, 0, r1, r2, r3, cv); 2056 TESTINST3("add.w r1, r2, r3, asr #15", 1, 0, r1, r2, r3, cv); 2057 TESTINST3("add.w r1, r2, r3, asr #31", 1, 0, r1, r2, r3, cv); 2058 TESTINST3("adds.w r1, r2, r3, lsl #0 ", 0, 1, r1, r2, r3, cv); 2059 TESTINST3("adds.w r1, r2, r3, lsl #1 ", 0, 1, r1, r2, r3, cv); 2060 TESTINST3("adds.w r1, r2, r3, lsl #15", 0, 1, r1, r2, r3, cv); 2061 TESTINST3("adds.w r1, r2, r3, lsl #31", 0, 1, r1, r2, r3, cv); 2062 TESTINST3("adds.w r1, r2, r3, lsr #0 ", 0, 1, r1, r2, r3, cv); 2063 TESTINST3("adds.w r1, r2, r3, lsr #1 ", 0, 1, r1, r2, r3, cv); 2064 TESTINST3("adds.w r1, r2, r3, lsr #15", 0, 1, r1, r2, r3, cv); 2065 TESTINST3("adds.w r1, r2, r3, lsr #31", 0, 1, r1, r2, r3, cv); 2066 TESTINST3("adds.w r1, r2, r3, asr #0 ", 0, 1, r1, r2, r3, cv); 2067 TESTINST3("adds.w r1, r2, r3, asr #1 ", 0, 1, r1, r2, r3, cv); 2068 TESTINST3("adds.w r1, r2, r3, asr #15", 0, 1, r1, r2, r3, cv); 2069 TESTINST3("adds.w r1, r2, r3, asr #31", 0, 1, r1, r2, r3, cv); 2070 TESTINST3("add.w r1, r2, r3, lsl #0 ", 0, 1, r1, r2, r3, cv); 2071 TESTINST3("add.w r1, r2, r3, lsl #1 ", 0, 1, r1, r2, r3, cv); 2072 TESTINST3("add.w r1, r2, r3, lsl #15", 0, 1, r1, r2, r3, cv); 2073 TESTINST3("add.w r1, r2, r3, lsl #31", 0, 1, r1, r2, r3, cv); 2074 TESTINST3("add.w r1, r2, r3, lsr #0 ", 0, 1, r1, r2, r3, cv); 2075 TESTINST3("add.w r1, r2, r3, lsr #1 ", 0, 1, r1, r2, r3, cv); 2076 TESTINST3("add.w r1, r2, r3, lsr #15", 0, 1, r1, r2, r3, cv); 2077 TESTINST3("add.w r1, r2, r3, lsr #31", 0, 1, r1, r2, r3, cv); 2078 TESTINST3("add.w r1, r2, r3, asr #0 ", 0, 1, r1, r2, r3, cv); 2079 TESTINST3("add.w r1, r2, r3, asr #1 ", 0, 1, r1, r2, r3, cv); 2080 TESTINST3("add.w r1, r2, r3, asr #15", 0, 1, r1, r2, r3, cv); 2081 TESTINST3("add.w r1, r2, r3, asr #31", 0, 1, r1, r2, r3, cv); 2082 TESTINST3("adds.w r1, r2, r3, lsl #0 ", -1, 0, r1, r2, r3, cv); 2083 TESTINST3("adds.w r1, r2, r3, lsl #1 ", -1, 0, r1, r2, r3, cv); 2084 TESTINST3("adds.w r1, r2, r3, lsl #15", -1, 0, r1, r2, r3, cv); 2085 TESTINST3("adds.w r1, r2, r3, lsl #31", -1, 0, r1, r2, r3, cv); 2086 TESTINST3("adds.w r1, r2, r3, lsr #0 ", -1, 0, r1, r2, r3, cv); 2087 TESTINST3("adds.w r1, r2, r3, lsr #1 ", -1, 0, r1, r2, r3, cv); 2088 TESTINST3("adds.w r1, r2, r3, lsr #15", -1, 0, r1, r2, r3, cv); 2089 TESTINST3("adds.w r1, r2, r3, lsr #31", -1, 0, r1, r2, r3, cv); 2090 TESTINST3("adds.w r1, r2, r3, asr #0 ", -1, 0, r1, r2, r3, cv); 2091 TESTINST3("adds.w r1, r2, r3, asr #1 ", -1, 0, r1, r2, r3, cv); 2092 TESTINST3("adds.w r1, r2, r3, asr #15", -1, 0, r1, r2, r3, cv); 2093 TESTINST3("adds.w r1, r2, r3, asr #31", -1, 0, r1, r2, r3, cv); 2094 TESTINST3("add.w r1, r2, r3, lsl #0 ", -1, 0, r1, r2, r3, cv); 2095 TESTINST3("add.w r1, r2, r3, lsl #1 ", -1, 0, r1, r2, r3, cv); 2096 TESTINST3("add.w r1, r2, r3, lsl #15", -1, 0, r1, r2, r3, cv); 2097 TESTINST3("add.w r1, r2, r3, lsl #31", -1, 0, r1, r2, r3, cv); 2098 TESTINST3("add.w r1, r2, r3, lsr #0 ", -1, 0, r1, r2, r3, cv); 2099 TESTINST3("add.w r1, r2, r3, lsr #1 ", -1, 0, r1, r2, r3, cv); 2100 TESTINST3("add.w r1, r2, r3, lsr #15", -1, 0, r1, r2, r3, cv); 2101 TESTINST3("add.w r1, r2, r3, lsr #31", -1, 0, r1, r2, r3, cv); 2102 TESTINST3("add.w r1, r2, r3, asr #0 ", -1, 0, r1, r2, r3, cv); 2103 TESTINST3("add.w r1, r2, r3, asr #1 ", -1, 0, r1, r2, r3, cv); 2104 TESTINST3("add.w r1, r2, r3, asr #15", -1, 0, r1, r2, r3, cv); 2105 TESTINST3("add.w r1, r2, r3, asr #31", -1, 0, r1, r2, r3, cv); 2106 TESTINST3("adds.w r1, r2, r3, lsl #0 ", 0, -1, r1, r2, r3, cv); 2107 TESTINST3("adds.w r1, r2, r3, lsl #1 ", 0, -1, r1, r2, r3, cv); 2108 TESTINST3("adds.w r1, r2, r3, lsl #15", 0, -1, r1, r2, r3, cv); 2109 TESTINST3("adds.w r1, r2, r3, lsl #31", 0, -1, r1, r2, r3, cv); 2110 TESTINST3("adds.w r1, r2, r3, lsr #0 ", 0, -1, r1, r2, r3, cv); 2111 TESTINST3("adds.w r1, r2, r3, lsr #1 ", 0, -1, r1, r2, r3, cv); 2112 TESTINST3("adds.w r1, r2, r3, lsr #15", 0, -1, r1, r2, r3, cv); 2113 TESTINST3("adds.w r1, r2, r3, lsr #31", 0, -1, r1, r2, r3, cv); 2114 TESTINST3("adds.w r1, r2, r3, asr #0 ", 0, -1, r1, r2, r3, cv); 2115 TESTINST3("adds.w r1, r2, r3, asr #1 ", 0, -1, r1, r2, r3, cv); 2116 TESTINST3("adds.w r1, r2, r3, asr #15", 0, -1, r1, r2, r3, cv); 2117 TESTINST3("adds.w r1, r2, r3, asr #31", 0, -1, r1, r2, r3, cv); 2118 TESTINST3("add.w r1, r2, r3, lsl #0 ", 0, -1, r1, r2, r3, cv); 2119 TESTINST3("add.w r1, r2, r3, lsl #1 ", 0, -1, r1, r2, r3, cv); 2120 TESTINST3("add.w r1, r2, r3, lsl #15", 0, -1, r1, r2, r3, cv); 2121 TESTINST3("add.w r1, r2, r3, lsl #31", 0, -1, r1, r2, r3, cv); 2122 TESTINST3("add.w r1, r2, r3, lsr #0 ", 0, -1, r1, r2, r3, cv); 2123 TESTINST3("add.w r1, r2, r3, lsr #1 ", 0, -1, r1, r2, r3, cv); 2124 TESTINST3("add.w r1, r2, r3, lsr #15", 0, -1, r1, r2, r3, cv); 2125 TESTINST3("add.w r1, r2, r3, lsr #31", 0, -1, r1, r2, r3, cv); 2126 TESTINST3("add.w r1, r2, r3, asr #0 ", 0, -1, r1, r2, r3, cv); 2127 TESTINST3("add.w r1, r2, r3, asr #1 ", 0, -1, r1, r2, r3, cv); 2128 TESTINST3("add.w r1, r2, r3, asr #15", 0, -1, r1, r2, r3, cv); 2129 TESTINST3("add.w r1, r2, r3, asr #31", 0, -1, r1, r2, r3, cv); 2130 TESTINST3("adds.w r1, r2, r3, lsl #0 ", 0, 0x80000000, r1, r2, r3, cv); 2131 TESTINST3("adds.w r1, r2, r3, lsl #1 ", 0, 0x80000000, r1, r2, r3, cv); 2132 TESTINST3("adds.w r1, r2, r3, lsl #15", 0, 0x80000000, r1, r2, r3, cv); 2133 TESTINST3("adds.w r1, r2, r3, lsl #31", 0, 0x80000000, r1, r2, r3, cv); 2134 TESTINST3("adds.w r1, r2, r3, lsr #0 ", 0, 0x80000000, r1, r2, r3, cv); 2135 TESTINST3("adds.w r1, r2, r3, lsr #1 ", 0, 0x80000000, r1, r2, r3, cv); 2136 TESTINST3("adds.w r1, r2, r3, lsr #15", 0, 0x80000000, r1, r2, r3, cv); 2137 TESTINST3("adds.w r1, r2, r3, lsr #31", 0, 0x80000000, r1, r2, r3, cv); 2138 TESTINST3("adds.w r1, r2, r3, asr #0 ", 0, 0x80000000, r1, r2, r3, cv); 2139 TESTINST3("adds.w r1, r2, r3, asr #1 ", 0, 0x80000000, r1, r2, r3, cv); 2140 TESTINST3("adds.w r1, r2, r3, asr #15", 0, 0x80000000, r1, r2, r3, cv); 2141 TESTINST3("adds.w r1, r2, r3, asr #31", 0, 0x80000000, r1, r2, r3, cv); 2142 TESTINST3("add.w r1, r2, r3, lsl #0 ", 0, 0x80000000, r1, r2, r3, cv); 2143 TESTINST3("add.w r1, r2, r3, lsl #1 ", 0, 0x80000000, r1, r2, r3, cv); 2144 TESTINST3("add.w r1, r2, r3, lsl #15", 0, 0x80000000, r1, r2, r3, cv); 2145 TESTINST3("add.w r1, r2, r3, lsl #31", 0, 0x80000000, r1, r2, r3, cv); 2146 TESTINST3("add.w r1, r2, r3, lsr #0 ", 0, 0x80000000, r1, r2, r3, cv); 2147 TESTINST3("add.w r1, r2, r3, lsr #1 ", 0, 0x80000000, r1, r2, r3, cv); 2148 TESTINST3("add.w r1, r2, r3, lsr #15", 0, 0x80000000, r1, r2, r3, cv); 2149 TESTINST3("add.w r1, r2, r3, lsr #31", 0, 0x80000000, r1, r2, r3, cv); 2150 TESTINST3("add.w r1, r2, r3, asr #0 ", 0, 0x80000000, r1, r2, r3, cv); 2151 TESTINST3("add.w r1, r2, r3, asr #1 ", 0, 0x80000000, r1, r2, r3, cv); 2152 TESTINST3("add.w r1, r2, r3, asr #15", 0, 0x80000000, r1, r2, r3, cv); 2153 TESTINST3("add.w r1, r2, r3, asr #31", 0, 0x80000000, r1, r2, r3, cv); 2154 TESTINST3("adds.w r1, r2, r3, lsl #0 ", 0x80000000, 0, r1, r2, r3, cv); 2155 TESTINST3("adds.w r1, r2, r3, lsl #1 ", 0x80000000, 0, r1, r2, r3, cv); 2156 TESTINST3("adds.w r1, r2, r3, lsl #15", 0x80000000, 0, r1, r2, r3, cv); 2157 TESTINST3("adds.w r1, r2, r3, lsl #31", 0x80000000, 0, r1, r2, r3, cv); 2158 TESTINST3("adds.w r1, r2, r3, lsr #0 ", 0x80000000, 0, r1, r2, r3, cv); 2159 TESTINST3("adds.w r1, r2, r3, lsr #1 ", 0x80000000, 0, r1, r2, r3, cv); 2160 TESTINST3("adds.w r1, r2, r3, lsr #15", 0x80000000, 0, r1, r2, r3, cv); 2161 TESTINST3("adds.w r1, r2, r3, lsr #31", 0x80000000, 0, r1, r2, r3, cv); 2162 TESTINST3("adds.w r1, r2, r3, asr #0 ", 0x80000000, 0, r1, r2, r3, cv); 2163 TESTINST3("adds.w r1, r2, r3, asr #1 ", 0x80000000, 0, r1, r2, r3, cv); 2164 TESTINST3("adds.w r1, r2, r3, asr #15", 0x80000000, 0, r1, r2, r3, cv); 2165 TESTINST3("adds.w r1, r2, r3, asr #31", 0x80000000, 0, r1, r2, r3, cv); 2166 TESTINST3("add.w r1, r2, r3, lsl #0 ", 0x80000000, 0, r1, r2, r3, cv); 2167 TESTINST3("add.w r1, r2, r3, lsl #1 ", 0x80000000, 0, r1, r2, r3, cv); 2168 TESTINST3("add.w r1, r2, r3, lsl #15", 0x80000000, 0, r1, r2, r3, cv); 2169 TESTINST3("add.w r1, r2, r3, lsl #31", 0x80000000, 0, r1, r2, r3, cv); 2170 TESTINST3("add.w r1, r2, r3, lsr #0 ", 0x80000000, 0, r1, r2, r3, cv); 2171 TESTINST3("add.w r1, r2, r3, lsr #1 ", 0x80000000, 0, r1, r2, r3, cv); 2172 TESTINST3("add.w r1, r2, r3, lsr #15", 0x80000000, 0, r1, r2, r3, cv); 2173 TESTINST3("add.w r1, r2, r3, lsr #31", 0x80000000, 0, r1, r2, r3, cv); 2174 TESTINST3("add.w r1, r2, r3, asr #0 ", 0x80000000, 0, r1, r2, r3, cv); 2175 TESTINST3("add.w r1, r2, r3, asr #1 ", 0x80000000, 0, r1, r2, r3, cv); 2176 TESTINST3("add.w r1, r2, r3, asr #15", 0x80000000, 0, r1, r2, r3, cv); 2177 TESTINST3("add.w r1, r2, r3, asr #31", 0x80000000, 0, r1, r2, r3, cv); 2178 TESTINST3("adds.w r1, r2, r3, lsl #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 2179 TESTINST3("adds.w r1, r2, r3, lsl #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 2180 TESTINST3("adds.w r1, r2, r3, lsl #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 2181 TESTINST3("adds.w r1, r2, r3, lsl #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 2182 TESTINST3("adds.w r1, r2, r3, lsr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 2183 TESTINST3("adds.w r1, r2, r3, lsr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 2184 TESTINST3("adds.w r1, r2, r3, lsr #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 2185 TESTINST3("adds.w r1, r2, r3, lsr #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 2186 TESTINST3("adds.w r1, r2, r3, asr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 2187 TESTINST3("adds.w r1, r2, r3, asr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 2188 TESTINST3("adds.w r1, r2, r3, asr #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 2189 TESTINST3("adds.w r1, r2, r3, asr #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 2190 TESTINST3("add.w r1, r2, r3, lsl #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 2191 TESTINST3("add.w r1, r2, r3, lsl #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 2192 TESTINST3("add.w r1, r2, r3, lsl #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 2193 TESTINST3("add.w r1, r2, r3, lsl #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 2194 TESTINST3("add.w r1, r2, r3, lsr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 2195 TESTINST3("add.w r1, r2, r3, lsr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 2196 TESTINST3("add.w r1, r2, r3, lsr #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 2197 TESTINST3("add.w r1, r2, r3, lsr #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 2198 TESTINST3("add.w r1, r2, r3, asr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 2199 TESTINST3("add.w r1, r2, r3, asr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 2200 TESTINST3("add.w r1, r2, r3, asr #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 2201 TESTINST3("add.w r1, r2, r3, asr #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 2202 TESTINST3("adds.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2203 TESTINST3("adds.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2204 TESTINST3("adds.w r1, r2, r3, lsl #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2205 TESTINST3("adds.w r1, r2, r3, lsl #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2206 TESTINST3("adds.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2207 TESTINST3("adds.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2208 TESTINST3("adds.w r1, r2, r3, lsr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2209 TESTINST3("adds.w r1, r2, r3, lsr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2210 TESTINST3("adds.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2211 TESTINST3("adds.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2212 TESTINST3("adds.w r1, r2, r3, asr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2213 TESTINST3("adds.w r1, r2, r3, asr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2214 TESTINST3("add.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2215 TESTINST3("add.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2216 TESTINST3("add.w r1, r2, r3, lsl #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2217 TESTINST3("add.w r1, r2, r3, lsl #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2218 TESTINST3("add.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2219 TESTINST3("add.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2220 TESTINST3("add.w r1, r2, r3, lsr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2221 TESTINST3("add.w r1, r2, r3, lsr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2222 TESTINST3("add.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2223 TESTINST3("add.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2224 TESTINST3("add.w r1, r2, r3, asr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2225 TESTINST3("add.w r1, r2, r3, asr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2226 TESTINST3("adds.w r1, r2, r3, lsl #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2227 TESTINST3("adds.w r1, r2, r3, lsl #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2228 TESTINST3("adds.w r1, r2, r3, lsl #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2229 TESTINST3("adds.w r1, r2, r3, lsl #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2230 TESTINST3("adds.w r1, r2, r3, lsr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2231 TESTINST3("adds.w r1, r2, r3, lsr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2232 TESTINST3("adds.w r1, r2, r3, lsr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2233 TESTINST3("adds.w r1, r2, r3, lsr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2234 TESTINST3("adds.w r1, r2, r3, asr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2235 TESTINST3("adds.w r1, r2, r3, asr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2236 TESTINST3("adds.w r1, r2, r3, asr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2237 TESTINST3("adds.w r1, r2, r3, asr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2238 TESTINST3("add.w r1, r2, r3, lsl #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2239 TESTINST3("add.w r1, r2, r3, lsl #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2240 TESTINST3("add.w r1, r2, r3, lsl #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2241 TESTINST3("add.w r1, r2, r3, lsl #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2242 TESTINST3("add.w r1, r2, r3, lsr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2243 TESTINST3("add.w r1, r2, r3, lsr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2244 TESTINST3("add.w r1, r2, r3, lsr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2245 TESTINST3("add.w r1, r2, r3, lsr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2246 TESTINST3("add.w r1, r2, r3, asr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2247 TESTINST3("add.w r1, r2, r3, asr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2248 TESTINST3("add.w r1, r2, r3, asr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2249 TESTINST3("add.w r1, r2, r3, asr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2250 TESTINST3("adds.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2251 TESTINST3("adds.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2252 TESTINST3("adds.w r1, r2, r3, lsl #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2253 TESTINST3("adds.w r1, r2, r3, lsl #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2254 TESTINST3("adds.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2255 TESTINST3("adds.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2256 TESTINST3("adds.w r1, r2, r3, lsr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2257 TESTINST3("adds.w r1, r2, r3, lsr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2258 TESTINST3("adds.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2259 TESTINST3("adds.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2260 TESTINST3("adds.w r1, r2, r3, asr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2261 TESTINST3("adds.w r1, r2, r3, asr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2262 TESTINST3("add.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2263 TESTINST3("add.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2264 TESTINST3("add.w r1, r2, r3, lsl #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2265 TESTINST3("add.w r1, r2, r3, lsl #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2266 TESTINST3("add.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2267 TESTINST3("add.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2268 TESTINST3("add.w r1, r2, r3, lsr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2269 TESTINST3("add.w r1, r2, r3, lsr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2270 TESTINST3("add.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2271 TESTINST3("add.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2272 TESTINST3("add.w r1, r2, r3, asr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2273 TESTINST3("add.w r1, r2, r3, asr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2274 TESTCARRYEND 2275 2276 printf("SUBB{S}.W Rd, Rn, Rm, {shift}\n"); 2277 TESTCARRY 2278 TESTINST3("subs.w r1, r2, r3, lsl #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 2279 TESTINST3("subs.w r1, r2, r3, lsl #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 2280 TESTINST3("subs.w r1, r2, r3, lsl #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 2281 TESTINST3("subs.w r1, r2, r3, lsl #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 2282 TESTINST3("subs.w r1, r2, r3, lsr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 2283 TESTINST3("subs.w r1, r2, r3, lsr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 2284 TESTINST3("subs.w r1, r2, r3, lsr #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 2285 TESTINST3("subs.w r1, r2, r3, lsr #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 2286 TESTINST3("subs.w r1, r2, r3, asr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 2287 TESTINST3("subs.w r1, r2, r3, asr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 2288 TESTINST3("subs.w r1, r2, r3, asr #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 2289 TESTINST3("subs.w r1, r2, r3, asr #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 2290 TESTINST3("sub.w r1, r2, r3, lsl #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 2291 TESTINST3("sub.w r1, r2, r3, lsl #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 2292 TESTINST3("sub.w r1, r2, r3, lsl #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 2293 TESTINST3("sub.w r1, r2, r3, lsl #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 2294 TESTINST3("sub.w r1, r2, r3, lsr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 2295 TESTINST3("sub.w r1, r2, r3, lsr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 2296 TESTINST3("sub.w r1, r2, r3, lsr #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 2297 TESTINST3("sub.w r1, r2, r3, lsr #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 2298 TESTINST3("sub.w r1, r2, r3, asr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 2299 TESTINST3("sub.w r1, r2, r3, asr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 2300 TESTINST3("sub.w r1, r2, r3, asr #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 2301 TESTINST3("sub.w r1, r2, r3, asr #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 2302 TESTINST3("subs.w r1, r2, r3, lsl #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 2303 TESTINST3("subs.w r1, r2, r3, lsl #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 2304 TESTINST3("subs.w r1, r2, r3, lsl #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 2305 TESTINST3("subs.w r1, r2, r3, lsl #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 2306 TESTINST3("subs.w r1, r2, r3, lsr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 2307 TESTINST3("subs.w r1, r2, r3, lsr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 2308 TESTINST3("subs.w r1, r2, r3, lsr #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 2309 TESTINST3("subs.w r1, r2, r3, lsr #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 2310 TESTINST3("subs.w r1, r2, r3, asr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 2311 TESTINST3("subs.w r1, r2, r3, asr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 2312 TESTINST3("subs.w r1, r2, r3, asr #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 2313 TESTINST3("subs.w r1, r2, r3, asr #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 2314 TESTINST3("sub.w r1, r2, r3, lsl #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 2315 TESTINST3("sub.w r1, r2, r3, lsl #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 2316 TESTINST3("sub.w r1, r2, r3, lsl #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 2317 TESTINST3("sub.w r1, r2, r3, lsl #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 2318 TESTINST3("sub.w r1, r2, r3, lsr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 2319 TESTINST3("sub.w r1, r2, r3, lsr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 2320 TESTINST3("sub.w r1, r2, r3, lsr #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 2321 TESTINST3("sub.w r1, r2, r3, lsr #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 2322 TESTINST3("sub.w r1, r2, r3, asr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 2323 TESTINST3("sub.w r1, r2, r3, asr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 2324 TESTINST3("sub.w r1, r2, r3, asr #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 2325 TESTINST3("sub.w r1, r2, r3, asr #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 2326 TESTINST3("subs.w r1, r2, r3, lsl #0 ", 0, 0, r1, r2, r3, cv); 2327 TESTINST3("subs.w r1, r2, r3, lsl #1 ", 0, 0, r1, r2, r3, cv); 2328 TESTINST3("subs.w r1, r2, r3, lsl #15", 0, 0, r1, r2, r3, cv); 2329 TESTINST3("subs.w r1, r2, r3, lsl #31", 0, 0, r1, r2, r3, cv); 2330 TESTINST3("subs.w r1, r2, r3, lsr #0 ", 0, 0, r1, r2, r3, cv); 2331 TESTINST3("subs.w r1, r2, r3, lsr #1 ", 0, 0, r1, r2, r3, cv); 2332 TESTINST3("subs.w r1, r2, r3, lsr #15", 0, 0, r1, r2, r3, cv); 2333 TESTINST3("subs.w r1, r2, r3, lsr #31", 0, 0, r1, r2, r3, cv); 2334 TESTINST3("subs.w r1, r2, r3, asr #0 ", 0, 0, r1, r2, r3, cv); 2335 TESTINST3("subs.w r1, r2, r3, asr #1 ", 0, 0, r1, r2, r3, cv); 2336 TESTINST3("subs.w r1, r2, r3, asr #15", 0, 0, r1, r2, r3, cv); 2337 TESTINST3("subs.w r1, r2, r3, asr #31", 0, 0, r1, r2, r3, cv); 2338 TESTINST3("sub.w r1, r2, r3, lsl #0 ", 0, 0, r1, r2, r3, cv); 2339 TESTINST3("sub.w r1, r2, r3, lsl #1 ", 0, 0, r1, r2, r3, cv); 2340 TESTINST3("sub.w r1, r2, r3, lsl #15", 0, 0, r1, r2, r3, cv); 2341 TESTINST3("sub.w r1, r2, r3, lsl #31", 0, 0, r1, r2, r3, cv); 2342 TESTINST3("sub.w r1, r2, r3, lsr #0 ", 0, 0, r1, r2, r3, cv); 2343 TESTINST3("sub.w r1, r2, r3, lsr #1 ", 0, 0, r1, r2, r3, cv); 2344 TESTINST3("sub.w r1, r2, r3, lsr #15", 0, 0, r1, r2, r3, cv); 2345 TESTINST3("sub.w r1, r2, r3, lsr #31", 0, 0, r1, r2, r3, cv); 2346 TESTINST3("sub.w r1, r2, r3, asr #0 ", 0, 0, r1, r2, r3, cv); 2347 TESTINST3("sub.w r1, r2, r3, asr #1 ", 0, 0, r1, r2, r3, cv); 2348 TESTINST3("sub.w r1, r2, r3, asr #15", 0, 0, r1, r2, r3, cv); 2349 TESTINST3("sub.w r1, r2, r3, asr #31", 0, 0, r1, r2, r3, cv); 2350 TESTINST3("subs.w r1, r2, r3, lsl #0 ", 1, 0, r1, r2, r3, cv); 2351 TESTINST3("subs.w r1, r2, r3, lsl #1 ", 1, 0, r1, r2, r3, cv); 2352 TESTINST3("subs.w r1, r2, r3, lsl #15", 1, 0, r1, r2, r3, cv); 2353 TESTINST3("subs.w r1, r2, r3, lsl #31", 1, 0, r1, r2, r3, cv); 2354 TESTINST3("subs.w r1, r2, r3, lsr #0 ", 1, 0, r1, r2, r3, cv); 2355 TESTINST3("subs.w r1, r2, r3, lsr #1 ", 1, 0, r1, r2, r3, cv); 2356 TESTINST3("subs.w r1, r2, r3, lsr #15", 1, 0, r1, r2, r3, cv); 2357 TESTINST3("subs.w r1, r2, r3, lsr #31", 1, 0, r1, r2, r3, cv); 2358 TESTINST3("subs.w r1, r2, r3, asr #0 ", 1, 0, r1, r2, r3, cv); 2359 TESTINST3("subs.w r1, r2, r3, asr #1 ", 1, 0, r1, r2, r3, cv); 2360 TESTINST3("subs.w r1, r2, r3, asr #15", 1, 0, r1, r2, r3, cv); 2361 TESTINST3("subs.w r1, r2, r3, asr #31", 1, 0, r1, r2, r3, cv); 2362 TESTINST3("sub.w r1, r2, r3, lsl #0 ", 1, 0, r1, r2, r3, cv); 2363 TESTINST3("sub.w r1, r2, r3, lsl #1 ", 1, 0, r1, r2, r3, cv); 2364 TESTINST3("sub.w r1, r2, r3, lsl #15", 1, 0, r1, r2, r3, cv); 2365 TESTINST3("sub.w r1, r2, r3, lsl #31", 1, 0, r1, r2, r3, cv); 2366 TESTINST3("sub.w r1, r2, r3, lsr #0 ", 1, 0, r1, r2, r3, cv); 2367 TESTINST3("sub.w r1, r2, r3, lsr #1 ", 1, 0, r1, r2, r3, cv); 2368 TESTINST3("sub.w r1, r2, r3, lsr #15", 1, 0, r1, r2, r3, cv); 2369 TESTINST3("sub.w r1, r2, r3, lsr #31", 1, 0, r1, r2, r3, cv); 2370 TESTINST3("sub.w r1, r2, r3, asr #0 ", 1, 0, r1, r2, r3, cv); 2371 TESTINST3("sub.w r1, r2, r3, asr #1 ", 1, 0, r1, r2, r3, cv); 2372 TESTINST3("sub.w r1, r2, r3, asr #15", 1, 0, r1, r2, r3, cv); 2373 TESTINST3("sub.w r1, r2, r3, asr #31", 1, 0, r1, r2, r3, cv); 2374 TESTINST3("subs.w r1, r2, r3, lsl #0 ", 0, 1, r1, r2, r3, cv); 2375 TESTINST3("subs.w r1, r2, r3, lsl #1 ", 0, 1, r1, r2, r3, cv); 2376 TESTINST3("subs.w r1, r2, r3, lsl #15", 0, 1, r1, r2, r3, cv); 2377 TESTINST3("subs.w r1, r2, r3, lsl #31", 0, 1, r1, r2, r3, cv); 2378 TESTINST3("subs.w r1, r2, r3, lsr #0 ", 0, 1, r1, r2, r3, cv); 2379 TESTINST3("subs.w r1, r2, r3, lsr #1 ", 0, 1, r1, r2, r3, cv); 2380 TESTINST3("subs.w r1, r2, r3, lsr #15", 0, 1, r1, r2, r3, cv); 2381 TESTINST3("subs.w r1, r2, r3, lsr #31", 0, 1, r1, r2, r3, cv); 2382 TESTINST3("subs.w r1, r2, r3, asr #0 ", 0, 1, r1, r2, r3, cv); 2383 TESTINST3("subs.w r1, r2, r3, asr #1 ", 0, 1, r1, r2, r3, cv); 2384 TESTINST3("subs.w r1, r2, r3, asr #15", 0, 1, r1, r2, r3, cv); 2385 TESTINST3("subs.w r1, r2, r3, asr #31", 0, 1, r1, r2, r3, cv); 2386 TESTINST3("sub.w r1, r2, r3, lsl #0 ", 0, 1, r1, r2, r3, cv); 2387 TESTINST3("sub.w r1, r2, r3, lsl #1 ", 0, 1, r1, r2, r3, cv); 2388 TESTINST3("sub.w r1, r2, r3, lsl #15", 0, 1, r1, r2, r3, cv); 2389 TESTINST3("sub.w r1, r2, r3, lsl #31", 0, 1, r1, r2, r3, cv); 2390 TESTINST3("sub.w r1, r2, r3, lsr #0 ", 0, 1, r1, r2, r3, cv); 2391 TESTINST3("sub.w r1, r2, r3, lsr #1 ", 0, 1, r1, r2, r3, cv); 2392 TESTINST3("sub.w r1, r2, r3, lsr #15", 0, 1, r1, r2, r3, cv); 2393 TESTINST3("sub.w r1, r2, r3, lsr #31", 0, 1, r1, r2, r3, cv); 2394 TESTINST3("sub.w r1, r2, r3, asr #0 ", 0, 1, r1, r2, r3, cv); 2395 TESTINST3("sub.w r1, r2, r3, asr #1 ", 0, 1, r1, r2, r3, cv); 2396 TESTINST3("sub.w r1, r2, r3, asr #15", 0, 1, r1, r2, r3, cv); 2397 TESTINST3("sub.w r1, r2, r3, asr #31", 0, 1, r1, r2, r3, cv); 2398 TESTINST3("subs.w r1, r2, r3, lsl #0 ", -1, 0, r1, r2, r3, cv); 2399 TESTINST3("subs.w r1, r2, r3, lsl #1 ", -1, 0, r1, r2, r3, cv); 2400 TESTINST3("subs.w r1, r2, r3, lsl #15", -1, 0, r1, r2, r3, cv); 2401 TESTINST3("subs.w r1, r2, r3, lsl #31", -1, 0, r1, r2, r3, cv); 2402 TESTINST3("subs.w r1, r2, r3, lsr #0 ", -1, 0, r1, r2, r3, cv); 2403 TESTINST3("subs.w r1, r2, r3, lsr #1 ", -1, 0, r1, r2, r3, cv); 2404 TESTINST3("subs.w r1, r2, r3, lsr #15", -1, 0, r1, r2, r3, cv); 2405 TESTINST3("subs.w r1, r2, r3, lsr #31", -1, 0, r1, r2, r3, cv); 2406 TESTINST3("subs.w r1, r2, r3, asr #0 ", -1, 0, r1, r2, r3, cv); 2407 TESTINST3("subs.w r1, r2, r3, asr #1 ", -1, 0, r1, r2, r3, cv); 2408 TESTINST3("subs.w r1, r2, r3, asr #15", -1, 0, r1, r2, r3, cv); 2409 TESTINST3("subs.w r1, r2, r3, asr #31", -1, 0, r1, r2, r3, cv); 2410 TESTINST3("sub.w r1, r2, r3, lsl #0 ", -1, 0, r1, r2, r3, cv); 2411 TESTINST3("sub.w r1, r2, r3, lsl #1 ", -1, 0, r1, r2, r3, cv); 2412 TESTINST3("sub.w r1, r2, r3, lsl #15", -1, 0, r1, r2, r3, cv); 2413 TESTINST3("sub.w r1, r2, r3, lsl #31", -1, 0, r1, r2, r3, cv); 2414 TESTINST3("sub.w r1, r2, r3, lsr #0 ", -1, 0, r1, r2, r3, cv); 2415 TESTINST3("sub.w r1, r2, r3, lsr #1 ", -1, 0, r1, r2, r3, cv); 2416 TESTINST3("sub.w r1, r2, r3, lsr #15", -1, 0, r1, r2, r3, cv); 2417 TESTINST3("sub.w r1, r2, r3, lsr #31", -1, 0, r1, r2, r3, cv); 2418 TESTINST3("sub.w r1, r2, r3, asr #0 ", -1, 0, r1, r2, r3, cv); 2419 TESTINST3("sub.w r1, r2, r3, asr #1 ", -1, 0, r1, r2, r3, cv); 2420 TESTINST3("sub.w r1, r2, r3, asr #15", -1, 0, r1, r2, r3, cv); 2421 TESTINST3("sub.w r1, r2, r3, asr #31", -1, 0, r1, r2, r3, cv); 2422 TESTINST3("subs.w r1, r2, r3, lsl #0 ", 0, -1, r1, r2, r3, cv); 2423 TESTINST3("subs.w r1, r2, r3, lsl #1 ", 0, -1, r1, r2, r3, cv); 2424 TESTINST3("subs.w r1, r2, r3, lsl #15", 0, -1, r1, r2, r3, cv); 2425 TESTINST3("subs.w r1, r2, r3, lsl #31", 0, -1, r1, r2, r3, cv); 2426 TESTINST3("subs.w r1, r2, r3, lsr #0 ", 0, -1, r1, r2, r3, cv); 2427 TESTINST3("subs.w r1, r2, r3, lsr #1 ", 0, -1, r1, r2, r3, cv); 2428 TESTINST3("subs.w r1, r2, r3, lsr #15", 0, -1, r1, r2, r3, cv); 2429 TESTINST3("subs.w r1, r2, r3, lsr #31", 0, -1, r1, r2, r3, cv); 2430 TESTINST3("subs.w r1, r2, r3, asr #0 ", 0, -1, r1, r2, r3, cv); 2431 TESTINST3("subs.w r1, r2, r3, asr #1 ", 0, -1, r1, r2, r3, cv); 2432 TESTINST3("subs.w r1, r2, r3, asr #15", 0, -1, r1, r2, r3, cv); 2433 TESTINST3("subs.w r1, r2, r3, asr #31", 0, -1, r1, r2, r3, cv); 2434 TESTINST3("sub.w r1, r2, r3, lsl #0 ", 0, -1, r1, r2, r3, cv); 2435 TESTINST3("sub.w r1, r2, r3, lsl #1 ", 0, -1, r1, r2, r3, cv); 2436 TESTINST3("sub.w r1, r2, r3, lsl #15", 0, -1, r1, r2, r3, cv); 2437 TESTINST3("sub.w r1, r2, r3, lsl #31", 0, -1, r1, r2, r3, cv); 2438 TESTINST3("sub.w r1, r2, r3, lsr #0 ", 0, -1, r1, r2, r3, cv); 2439 TESTINST3("sub.w r1, r2, r3, lsr #1 ", 0, -1, r1, r2, r3, cv); 2440 TESTINST3("sub.w r1, r2, r3, lsr #15", 0, -1, r1, r2, r3, cv); 2441 TESTINST3("sub.w r1, r2, r3, lsr #31", 0, -1, r1, r2, r3, cv); 2442 TESTINST3("sub.w r1, r2, r3, asr #0 ", 0, -1, r1, r2, r3, cv); 2443 TESTINST3("sub.w r1, r2, r3, asr #1 ", 0, -1, r1, r2, r3, cv); 2444 TESTINST3("sub.w r1, r2, r3, asr #15", 0, -1, r1, r2, r3, cv); 2445 TESTINST3("sub.w r1, r2, r3, asr #31", 0, -1, r1, r2, r3, cv); 2446 TESTINST3("subs.w r1, r2, r3, lsl #0 ", 0, 0x80000000, r1, r2, r3, cv); 2447 TESTINST3("subs.w r1, r2, r3, lsl #1 ", 0, 0x80000000, r1, r2, r3, cv); 2448 TESTINST3("subs.w r1, r2, r3, lsl #15", 0, 0x80000000, r1, r2, r3, cv); 2449 TESTINST3("subs.w r1, r2, r3, lsl #31", 0, 0x80000000, r1, r2, r3, cv); 2450 TESTINST3("subs.w r1, r2, r3, lsr #0 ", 0, 0x80000000, r1, r2, r3, cv); 2451 TESTINST3("subs.w r1, r2, r3, lsr #1 ", 0, 0x80000000, r1, r2, r3, cv); 2452 TESTINST3("subs.w r1, r2, r3, lsr #15", 0, 0x80000000, r1, r2, r3, cv); 2453 TESTINST3("subs.w r1, r2, r3, lsr #31", 0, 0x80000000, r1, r2, r3, cv); 2454 TESTINST3("subs.w r1, r2, r3, asr #0 ", 0, 0x80000000, r1, r2, r3, cv); 2455 TESTINST3("subs.w r1, r2, r3, asr #1 ", 0, 0x80000000, r1, r2, r3, cv); 2456 TESTINST3("subs.w r1, r2, r3, asr #15", 0, 0x80000000, r1, r2, r3, cv); 2457 TESTINST3("subs.w r1, r2, r3, asr #31", 0, 0x80000000, r1, r2, r3, cv); 2458 TESTINST3("sub.w r1, r2, r3, lsl #0 ", 0, 0x80000000, r1, r2, r3, cv); 2459 TESTINST3("sub.w r1, r2, r3, lsl #1 ", 0, 0x80000000, r1, r2, r3, cv); 2460 TESTINST3("sub.w r1, r2, r3, lsl #15", 0, 0x80000000, r1, r2, r3, cv); 2461 TESTINST3("sub.w r1, r2, r3, lsl #31", 0, 0x80000000, r1, r2, r3, cv); 2462 TESTINST3("sub.w r1, r2, r3, lsr #0 ", 0, 0x80000000, r1, r2, r3, cv); 2463 TESTINST3("sub.w r1, r2, r3, lsr #1 ", 0, 0x80000000, r1, r2, r3, cv); 2464 TESTINST3("sub.w r1, r2, r3, lsr #15", 0, 0x80000000, r1, r2, r3, cv); 2465 TESTINST3("sub.w r1, r2, r3, lsr #31", 0, 0x80000000, r1, r2, r3, cv); 2466 TESTINST3("sub.w r1, r2, r3, asr #0 ", 0, 0x80000000, r1, r2, r3, cv); 2467 TESTINST3("sub.w r1, r2, r3, asr #1 ", 0, 0x80000000, r1, r2, r3, cv); 2468 TESTINST3("sub.w r1, r2, r3, asr #15", 0, 0x80000000, r1, r2, r3, cv); 2469 TESTINST3("sub.w r1, r2, r3, asr #31", 0, 0x80000000, r1, r2, r3, cv); 2470 TESTINST3("subs.w r1, r2, r3, lsl #0 ", 0x80000000, 0, r1, r2, r3, cv); 2471 TESTINST3("subs.w r1, r2, r3, lsl #1 ", 0x80000000, 0, r1, r2, r3, cv); 2472 TESTINST3("subs.w r1, r2, r3, lsl #15", 0x80000000, 0, r1, r2, r3, cv); 2473 TESTINST3("subs.w r1, r2, r3, lsl #31", 0x80000000, 0, r1, r2, r3, cv); 2474 TESTINST3("subs.w r1, r2, r3, lsr #0 ", 0x80000000, 0, r1, r2, r3, cv); 2475 TESTINST3("subs.w r1, r2, r3, lsr #1 ", 0x80000000, 0, r1, r2, r3, cv); 2476 TESTINST3("subs.w r1, r2, r3, lsr #15", 0x80000000, 0, r1, r2, r3, cv); 2477 TESTINST3("subs.w r1, r2, r3, lsr #31", 0x80000000, 0, r1, r2, r3, cv); 2478 TESTINST3("subs.w r1, r2, r3, asr #0 ", 0x80000000, 0, r1, r2, r3, cv); 2479 TESTINST3("subs.w r1, r2, r3, asr #1 ", 0x80000000, 0, r1, r2, r3, cv); 2480 TESTINST3("subs.w r1, r2, r3, asr #15", 0x80000000, 0, r1, r2, r3, cv); 2481 TESTINST3("subs.w r1, r2, r3, asr #31", 0x80000000, 0, r1, r2, r3, cv); 2482 TESTINST3("sub.w r1, r2, r3, lsl #0 ", 0x80000000, 0, r1, r2, r3, cv); 2483 TESTINST3("sub.w r1, r2, r3, lsl #1 ", 0x80000000, 0, r1, r2, r3, cv); 2484 TESTINST3("sub.w r1, r2, r3, lsl #15", 0x80000000, 0, r1, r2, r3, cv); 2485 TESTINST3("sub.w r1, r2, r3, lsl #31", 0x80000000, 0, r1, r2, r3, cv); 2486 TESTINST3("sub.w r1, r2, r3, lsr #0 ", 0x80000000, 0, r1, r2, r3, cv); 2487 TESTINST3("sub.w r1, r2, r3, lsr #1 ", 0x80000000, 0, r1, r2, r3, cv); 2488 TESTINST3("sub.w r1, r2, r3, lsr #15", 0x80000000, 0, r1, r2, r3, cv); 2489 TESTINST3("sub.w r1, r2, r3, lsr #31", 0x80000000, 0, r1, r2, r3, cv); 2490 TESTINST3("sub.w r1, r2, r3, asr #0 ", 0x80000000, 0, r1, r2, r3, cv); 2491 TESTINST3("sub.w r1, r2, r3, asr #1 ", 0x80000000, 0, r1, r2, r3, cv); 2492 TESTINST3("sub.w r1, r2, r3, asr #15", 0x80000000, 0, r1, r2, r3, cv); 2493 TESTINST3("sub.w r1, r2, r3, asr #31", 0x80000000, 0, r1, r2, r3, cv); 2494 TESTINST3("subs.w r1, r2, r3, lsl #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 2495 TESTINST3("subs.w r1, r2, r3, lsl #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 2496 TESTINST3("subs.w r1, r2, r3, lsl #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 2497 TESTINST3("subs.w r1, r2, r3, lsl #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 2498 TESTINST3("subs.w r1, r2, r3, lsr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 2499 TESTINST3("subs.w r1, r2, r3, lsr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 2500 TESTINST3("subs.w r1, r2, r3, lsr #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 2501 TESTINST3("subs.w r1, r2, r3, lsr #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 2502 TESTINST3("subs.w r1, r2, r3, asr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 2503 TESTINST3("subs.w r1, r2, r3, asr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 2504 TESTINST3("subs.w r1, r2, r3, asr #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 2505 TESTINST3("subs.w r1, r2, r3, asr #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 2506 TESTINST3("sub.w r1, r2, r3, lsl #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 2507 TESTINST3("sub.w r1, r2, r3, lsl #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 2508 TESTINST3("sub.w r1, r2, r3, lsl #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 2509 TESTINST3("sub.w r1, r2, r3, lsl #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 2510 TESTINST3("sub.w r1, r2, r3, lsr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 2511 TESTINST3("sub.w r1, r2, r3, lsr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 2512 TESTINST3("sub.w r1, r2, r3, lsr #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 2513 TESTINST3("sub.w r1, r2, r3, lsr #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 2514 TESTINST3("sub.w r1, r2, r3, asr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 2515 TESTINST3("sub.w r1, r2, r3, asr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 2516 TESTINST3("sub.w r1, r2, r3, asr #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 2517 TESTINST3("sub.w r1, r2, r3, asr #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 2518 TESTINST3("subs.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2519 TESTINST3("subs.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2520 TESTINST3("subs.w r1, r2, r3, lsl #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2521 TESTINST3("subs.w r1, r2, r3, lsl #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2522 TESTINST3("subs.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2523 TESTINST3("subs.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2524 TESTINST3("subs.w r1, r2, r3, lsr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2525 TESTINST3("subs.w r1, r2, r3, lsr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2526 TESTINST3("subs.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2527 TESTINST3("subs.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2528 TESTINST3("subs.w r1, r2, r3, asr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2529 TESTINST3("subs.w r1, r2, r3, asr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2530 TESTINST3("sub.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2531 TESTINST3("sub.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2532 TESTINST3("sub.w r1, r2, r3, lsl #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2533 TESTINST3("sub.w r1, r2, r3, lsl #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2534 TESTINST3("sub.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2535 TESTINST3("sub.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2536 TESTINST3("sub.w r1, r2, r3, lsr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2537 TESTINST3("sub.w r1, r2, r3, lsr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2538 TESTINST3("sub.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2539 TESTINST3("sub.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2540 TESTINST3("sub.w r1, r2, r3, asr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2541 TESTINST3("sub.w r1, r2, r3, asr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2542 TESTINST3("subs.w r1, r2, r3, lsl #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2543 TESTINST3("subs.w r1, r2, r3, lsl #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2544 TESTINST3("subs.w r1, r2, r3, lsl #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2545 TESTINST3("subs.w r1, r2, r3, lsl #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2546 TESTINST3("subs.w r1, r2, r3, lsr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2547 TESTINST3("subs.w r1, r2, r3, lsr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2548 TESTINST3("subs.w r1, r2, r3, lsr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2549 TESTINST3("subs.w r1, r2, r3, lsr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2550 TESTINST3("subs.w r1, r2, r3, asr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2551 TESTINST3("subs.w r1, r2, r3, asr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2552 TESTINST3("subs.w r1, r2, r3, asr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2553 TESTINST3("subs.w r1, r2, r3, asr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2554 TESTINST3("sub.w r1, r2, r3, lsl #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2555 TESTINST3("sub.w r1, r2, r3, lsl #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2556 TESTINST3("sub.w r1, r2, r3, lsl #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2557 TESTINST3("sub.w r1, r2, r3, lsl #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2558 TESTINST3("sub.w r1, r2, r3, lsr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2559 TESTINST3("sub.w r1, r2, r3, lsr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2560 TESTINST3("sub.w r1, r2, r3, lsr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2561 TESTINST3("sub.w r1, r2, r3, lsr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2562 TESTINST3("sub.w r1, r2, r3, asr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2563 TESTINST3("sub.w r1, r2, r3, asr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2564 TESTINST3("sub.w r1, r2, r3, asr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2565 TESTINST3("sub.w r1, r2, r3, asr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2566 TESTINST3("subs.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2567 TESTINST3("subs.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2568 TESTINST3("subs.w r1, r2, r3, lsl #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2569 TESTINST3("subs.w r1, r2, r3, lsl #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2570 TESTINST3("subs.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2571 TESTINST3("subs.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2572 TESTINST3("subs.w r1, r2, r3, lsr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2573 TESTINST3("subs.w r1, r2, r3, lsr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2574 TESTINST3("subs.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2575 TESTINST3("subs.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2576 TESTINST3("subs.w r1, r2, r3, asr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2577 TESTINST3("subs.w r1, r2, r3, asr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2578 TESTINST3("sub.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2579 TESTINST3("sub.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2580 TESTINST3("sub.w r1, r2, r3, lsl #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2581 TESTINST3("sub.w r1, r2, r3, lsl #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2582 TESTINST3("sub.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2583 TESTINST3("sub.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2584 TESTINST3("sub.w r1, r2, r3, lsr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2585 TESTINST3("sub.w r1, r2, r3, lsr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2586 TESTINST3("sub.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2587 TESTINST3("sub.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2588 TESTINST3("sub.w r1, r2, r3, asr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2589 TESTINST3("sub.w r1, r2, r3, asr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2590 TESTCARRYEND 2591 2592 printf("RSB{S}.W Rd, Rn, Rm, {shift}\n"); 2593 TESTCARRY 2594 TESTINST3("rsbs.w r1, r2, r3, lsl #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 2595 TESTINST3("rsbs.w r1, r2, r3, lsl #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 2596 TESTINST3("rsbs.w r1, r2, r3, lsl #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 2597 TESTINST3("rsbs.w r1, r2, r3, lsl #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 2598 TESTINST3("rsbs.w r1, r2, r3, lsr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 2599 TESTINST3("rsbs.w r1, r2, r3, lsr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 2600 TESTINST3("rsbs.w r1, r2, r3, lsr #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 2601 TESTINST3("rsbs.w r1, r2, r3, lsr #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 2602 TESTINST3("rsbs.w r1, r2, r3, asr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 2603 TESTINST3("rsbs.w r1, r2, r3, asr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 2604 TESTINST3("rsbs.w r1, r2, r3, asr #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 2605 TESTINST3("rsbs.w r1, r2, r3, asr #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 2606 TESTINST3("rsb.w r1, r2, r3, lsl #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 2607 TESTINST3("rsb.w r1, r2, r3, lsl #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 2608 TESTINST3("rsb.w r1, r2, r3, lsl #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 2609 TESTINST3("rsb.w r1, r2, r3, lsl #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 2610 TESTINST3("rsb.w r1, r2, r3, lsr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 2611 TESTINST3("rsb.w r1, r2, r3, lsr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 2612 TESTINST3("rsb.w r1, r2, r3, lsr #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 2613 TESTINST3("rsb.w r1, r2, r3, lsr #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 2614 TESTINST3("rsb.w r1, r2, r3, asr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 2615 TESTINST3("rsb.w r1, r2, r3, asr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 2616 TESTINST3("rsb.w r1, r2, r3, asr #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 2617 TESTINST3("rsb.w r1, r2, r3, asr #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 2618 TESTINST3("rsbs.w r1, r2, r3, lsl #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 2619 TESTINST3("rsbs.w r1, r2, r3, lsl #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 2620 TESTINST3("rsbs.w r1, r2, r3, lsl #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 2621 TESTINST3("rsbs.w r1, r2, r3, lsl #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 2622 TESTINST3("rsbs.w r1, r2, r3, lsr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 2623 TESTINST3("rsbs.w r1, r2, r3, lsr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 2624 TESTINST3("rsbs.w r1, r2, r3, lsr #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 2625 TESTINST3("rsbs.w r1, r2, r3, lsr #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 2626 TESTINST3("rsbs.w r1, r2, r3, asr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 2627 TESTINST3("rsbs.w r1, r2, r3, asr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 2628 TESTINST3("rsbs.w r1, r2, r3, asr #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 2629 TESTINST3("rsbs.w r1, r2, r3, asr #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 2630 TESTINST3("rsb.w r1, r2, r3, lsl #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 2631 TESTINST3("rsb.w r1, r2, r3, lsl #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 2632 TESTINST3("rsb.w r1, r2, r3, lsl #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 2633 TESTINST3("rsb.w r1, r2, r3, lsl #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 2634 TESTINST3("rsb.w r1, r2, r3, lsr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 2635 TESTINST3("rsb.w r1, r2, r3, lsr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 2636 TESTINST3("rsb.w r1, r2, r3, lsr #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 2637 TESTINST3("rsb.w r1, r2, r3, lsr #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 2638 TESTINST3("rsb.w r1, r2, r3, asr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 2639 TESTINST3("rsb.w r1, r2, r3, asr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 2640 TESTINST3("rsb.w r1, r2, r3, asr #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 2641 TESTINST3("rsb.w r1, r2, r3, asr #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 2642 TESTINST3("rsbs.w r1, r2, r3, lsl #0 ", 0, 0, r1, r2, r3, cv); 2643 TESTINST3("rsbs.w r1, r2, r3, lsl #1 ", 0, 0, r1, r2, r3, cv); 2644 TESTINST3("rsbs.w r1, r2, r3, lsl #15", 0, 0, r1, r2, r3, cv); 2645 TESTINST3("rsbs.w r1, r2, r3, lsl #31", 0, 0, r1, r2, r3, cv); 2646 TESTINST3("rsbs.w r1, r2, r3, lsr #0 ", 0, 0, r1, r2, r3, cv); 2647 TESTINST3("rsbs.w r1, r2, r3, lsr #1 ", 0, 0, r1, r2, r3, cv); 2648 TESTINST3("rsbs.w r1, r2, r3, lsr #15", 0, 0, r1, r2, r3, cv); 2649 TESTINST3("rsbs.w r1, r2, r3, lsr #31", 0, 0, r1, r2, r3, cv); 2650 TESTINST3("rsbs.w r1, r2, r3, asr #0 ", 0, 0, r1, r2, r3, cv); 2651 TESTINST3("rsbs.w r1, r2, r3, asr #1 ", 0, 0, r1, r2, r3, cv); 2652 TESTINST3("rsbs.w r1, r2, r3, asr #15", 0, 0, r1, r2, r3, cv); 2653 TESTINST3("rsbs.w r1, r2, r3, asr #31", 0, 0, r1, r2, r3, cv); 2654 TESTINST3("rsb.w r1, r2, r3, lsl #0 ", 0, 0, r1, r2, r3, cv); 2655 TESTINST3("rsb.w r1, r2, r3, lsl #1 ", 0, 0, r1, r2, r3, cv); 2656 TESTINST3("rsb.w r1, r2, r3, lsl #15", 0, 0, r1, r2, r3, cv); 2657 TESTINST3("rsb.w r1, r2, r3, lsl #31", 0, 0, r1, r2, r3, cv); 2658 TESTINST3("rsb.w r1, r2, r3, lsr #0 ", 0, 0, r1, r2, r3, cv); 2659 TESTINST3("rsb.w r1, r2, r3, lsr #1 ", 0, 0, r1, r2, r3, cv); 2660 TESTINST3("rsb.w r1, r2, r3, lsr #15", 0, 0, r1, r2, r3, cv); 2661 TESTINST3("rsb.w r1, r2, r3, lsr #31", 0, 0, r1, r2, r3, cv); 2662 TESTINST3("rsb.w r1, r2, r3, asr #0 ", 0, 0, r1, r2, r3, cv); 2663 TESTINST3("rsb.w r1, r2, r3, asr #1 ", 0, 0, r1, r2, r3, cv); 2664 TESTINST3("rsb.w r1, r2, r3, asr #15", 0, 0, r1, r2, r3, cv); 2665 TESTINST3("rsb.w r1, r2, r3, asr #31", 0, 0, r1, r2, r3, cv); 2666 TESTINST3("rsbs.w r1, r2, r3, lsl #0 ", 1, 0, r1, r2, r3, cv); 2667 TESTINST3("rsbs.w r1, r2, r3, lsl #1 ", 1, 0, r1, r2, r3, cv); 2668 TESTINST3("rsbs.w r1, r2, r3, lsl #15", 1, 0, r1, r2, r3, cv); 2669 TESTINST3("rsbs.w r1, r2, r3, lsl #31", 1, 0, r1, r2, r3, cv); 2670 TESTINST3("rsbs.w r1, r2, r3, lsr #0 ", 1, 0, r1, r2, r3, cv); 2671 TESTINST3("rsbs.w r1, r2, r3, lsr #1 ", 1, 0, r1, r2, r3, cv); 2672 TESTINST3("rsbs.w r1, r2, r3, lsr #15", 1, 0, r1, r2, r3, cv); 2673 TESTINST3("rsbs.w r1, r2, r3, lsr #31", 1, 0, r1, r2, r3, cv); 2674 TESTINST3("rsbs.w r1, r2, r3, asr #0 ", 1, 0, r1, r2, r3, cv); 2675 TESTINST3("rsbs.w r1, r2, r3, asr #1 ", 1, 0, r1, r2, r3, cv); 2676 TESTINST3("rsbs.w r1, r2, r3, asr #15", 1, 0, r1, r2, r3, cv); 2677 TESTINST3("rsbs.w r1, r2, r3, asr #31", 1, 0, r1, r2, r3, cv); 2678 TESTINST3("rsb.w r1, r2, r3, lsl #0 ", 1, 0, r1, r2, r3, cv); 2679 TESTINST3("rsb.w r1, r2, r3, lsl #1 ", 1, 0, r1, r2, r3, cv); 2680 TESTINST3("rsb.w r1, r2, r3, lsl #15", 1, 0, r1, r2, r3, cv); 2681 TESTINST3("rsb.w r1, r2, r3, lsl #31", 1, 0, r1, r2, r3, cv); 2682 TESTINST3("rsb.w r1, r2, r3, lsr #0 ", 1, 0, r1, r2, r3, cv); 2683 TESTINST3("rsb.w r1, r2, r3, lsr #1 ", 1, 0, r1, r2, r3, cv); 2684 TESTINST3("rsb.w r1, r2, r3, lsr #15", 1, 0, r1, r2, r3, cv); 2685 TESTINST3("rsb.w r1, r2, r3, lsr #31", 1, 0, r1, r2, r3, cv); 2686 TESTINST3("rsb.w r1, r2, r3, asr #0 ", 1, 0, r1, r2, r3, cv); 2687 TESTINST3("rsb.w r1, r2, r3, asr #1 ", 1, 0, r1, r2, r3, cv); 2688 TESTINST3("rsb.w r1, r2, r3, asr #15", 1, 0, r1, r2, r3, cv); 2689 TESTINST3("rsb.w r1, r2, r3, asr #31", 1, 0, r1, r2, r3, cv); 2690 TESTINST3("rsbs.w r1, r2, r3, lsl #0 ", 0, 1, r1, r2, r3, cv); 2691 TESTINST3("rsbs.w r1, r2, r3, lsl #1 ", 0, 1, r1, r2, r3, cv); 2692 TESTINST3("rsbs.w r1, r2, r3, lsl #15", 0, 1, r1, r2, r3, cv); 2693 TESTINST3("rsbs.w r1, r2, r3, lsl #31", 0, 1, r1, r2, r3, cv); 2694 TESTINST3("rsbs.w r1, r2, r3, lsr #0 ", 0, 1, r1, r2, r3, cv); 2695 TESTINST3("rsbs.w r1, r2, r3, lsr #1 ", 0, 1, r1, r2, r3, cv); 2696 TESTINST3("rsbs.w r1, r2, r3, lsr #15", 0, 1, r1, r2, r3, cv); 2697 TESTINST3("rsbs.w r1, r2, r3, lsr #31", 0, 1, r1, r2, r3, cv); 2698 TESTINST3("rsbs.w r1, r2, r3, asr #0 ", 0, 1, r1, r2, r3, cv); 2699 TESTINST3("rsbs.w r1, r2, r3, asr #1 ", 0, 1, r1, r2, r3, cv); 2700 TESTINST3("rsbs.w r1, r2, r3, asr #15", 0, 1, r1, r2, r3, cv); 2701 TESTINST3("rsbs.w r1, r2, r3, asr #31", 0, 1, r1, r2, r3, cv); 2702 TESTINST3("rsb.w r1, r2, r3, lsl #0 ", 0, 1, r1, r2, r3, cv); 2703 TESTINST3("rsb.w r1, r2, r3, lsl #1 ", 0, 1, r1, r2, r3, cv); 2704 TESTINST3("rsb.w r1, r2, r3, lsl #15", 0, 1, r1, r2, r3, cv); 2705 TESTINST3("rsb.w r1, r2, r3, lsl #31", 0, 1, r1, r2, r3, cv); 2706 TESTINST3("rsb.w r1, r2, r3, lsr #0 ", 0, 1, r1, r2, r3, cv); 2707 TESTINST3("rsb.w r1, r2, r3, lsr #1 ", 0, 1, r1, r2, r3, cv); 2708 TESTINST3("rsb.w r1, r2, r3, lsr #15", 0, 1, r1, r2, r3, cv); 2709 TESTINST3("rsb.w r1, r2, r3, lsr #31", 0, 1, r1, r2, r3, cv); 2710 TESTINST3("rsb.w r1, r2, r3, asr #0 ", 0, 1, r1, r2, r3, cv); 2711 TESTINST3("rsb.w r1, r2, r3, asr #1 ", 0, 1, r1, r2, r3, cv); 2712 TESTINST3("rsb.w r1, r2, r3, asr #15", 0, 1, r1, r2, r3, cv); 2713 TESTINST3("rsb.w r1, r2, r3, asr #31", 0, 1, r1, r2, r3, cv); 2714 TESTINST3("rsbs.w r1, r2, r3, lsl #0 ", -1, 0, r1, r2, r3, cv); 2715 TESTINST3("rsbs.w r1, r2, r3, lsl #1 ", -1, 0, r1, r2, r3, cv); 2716 TESTINST3("rsbs.w r1, r2, r3, lsl #15", -1, 0, r1, r2, r3, cv); 2717 TESTINST3("rsbs.w r1, r2, r3, lsl #31", -1, 0, r1, r2, r3, cv); 2718 TESTINST3("rsbs.w r1, r2, r3, lsr #0 ", -1, 0, r1, r2, r3, cv); 2719 TESTINST3("rsbs.w r1, r2, r3, lsr #1 ", -1, 0, r1, r2, r3, cv); 2720 TESTINST3("rsbs.w r1, r2, r3, lsr #15", -1, 0, r1, r2, r3, cv); 2721 TESTINST3("rsbs.w r1, r2, r3, lsr #31", -1, 0, r1, r2, r3, cv); 2722 TESTINST3("rsbs.w r1, r2, r3, asr #0 ", -1, 0, r1, r2, r3, cv); 2723 TESTINST3("rsbs.w r1, r2, r3, asr #1 ", -1, 0, r1, r2, r3, cv); 2724 TESTINST3("rsbs.w r1, r2, r3, asr #15", -1, 0, r1, r2, r3, cv); 2725 TESTINST3("rsbs.w r1, r2, r3, asr #31", -1, 0, r1, r2, r3, cv); 2726 TESTINST3("rsb.w r1, r2, r3, lsl #0 ", -1, 0, r1, r2, r3, cv); 2727 TESTINST3("rsb.w r1, r2, r3, lsl #1 ", -1, 0, r1, r2, r3, cv); 2728 TESTINST3("rsb.w r1, r2, r3, lsl #15", -1, 0, r1, r2, r3, cv); 2729 TESTINST3("rsb.w r1, r2, r3, lsl #31", -1, 0, r1, r2, r3, cv); 2730 TESTINST3("rsb.w r1, r2, r3, lsr #0 ", -1, 0, r1, r2, r3, cv); 2731 TESTINST3("rsb.w r1, r2, r3, lsr #1 ", -1, 0, r1, r2, r3, cv); 2732 TESTINST3("rsb.w r1, r2, r3, lsr #15", -1, 0, r1, r2, r3, cv); 2733 TESTINST3("rsb.w r1, r2, r3, lsr #31", -1, 0, r1, r2, r3, cv); 2734 TESTINST3("rsb.w r1, r2, r3, asr #0 ", -1, 0, r1, r2, r3, cv); 2735 TESTINST3("rsb.w r1, r2, r3, asr #1 ", -1, 0, r1, r2, r3, cv); 2736 TESTINST3("rsb.w r1, r2, r3, asr #15", -1, 0, r1, r2, r3, cv); 2737 TESTINST3("rsb.w r1, r2, r3, asr #31", -1, 0, r1, r2, r3, cv); 2738 TESTINST3("rsbs.w r1, r2, r3, lsl #0 ", 0, -1, r1, r2, r3, cv); 2739 TESTINST3("rsbs.w r1, r2, r3, lsl #1 ", 0, -1, r1, r2, r3, cv); 2740 TESTINST3("rsbs.w r1, r2, r3, lsl #15", 0, -1, r1, r2, r3, cv); 2741 TESTINST3("rsbs.w r1, r2, r3, lsl #31", 0, -1, r1, r2, r3, cv); 2742 TESTINST3("rsbs.w r1, r2, r3, lsr #0 ", 0, -1, r1, r2, r3, cv); 2743 TESTINST3("rsbs.w r1, r2, r3, lsr #1 ", 0, -1, r1, r2, r3, cv); 2744 TESTINST3("rsbs.w r1, r2, r3, lsr #15", 0, -1, r1, r2, r3, cv); 2745 TESTINST3("rsbs.w r1, r2, r3, lsr #31", 0, -1, r1, r2, r3, cv); 2746 TESTINST3("rsbs.w r1, r2, r3, asr #0 ", 0, -1, r1, r2, r3, cv); 2747 TESTINST3("rsbs.w r1, r2, r3, asr #1 ", 0, -1, r1, r2, r3, cv); 2748 TESTINST3("rsbs.w r1, r2, r3, asr #15", 0, -1, r1, r2, r3, cv); 2749 TESTINST3("rsbs.w r1, r2, r3, asr #31", 0, -1, r1, r2, r3, cv); 2750 TESTINST3("rsb.w r1, r2, r3, lsl #0 ", 0, -1, r1, r2, r3, cv); 2751 TESTINST3("rsb.w r1, r2, r3, lsl #1 ", 0, -1, r1, r2, r3, cv); 2752 TESTINST3("rsb.w r1, r2, r3, lsl #15", 0, -1, r1, r2, r3, cv); 2753 TESTINST3("rsb.w r1, r2, r3, lsl #31", 0, -1, r1, r2, r3, cv); 2754 TESTINST3("rsb.w r1, r2, r3, lsr #0 ", 0, -1, r1, r2, r3, cv); 2755 TESTINST3("rsb.w r1, r2, r3, lsr #1 ", 0, -1, r1, r2, r3, cv); 2756 TESTINST3("rsb.w r1, r2, r3, lsr #15", 0, -1, r1, r2, r3, cv); 2757 TESTINST3("rsb.w r1, r2, r3, lsr #31", 0, -1, r1, r2, r3, cv); 2758 TESTINST3("rsb.w r1, r2, r3, asr #0 ", 0, -1, r1, r2, r3, cv); 2759 TESTINST3("rsb.w r1, r2, r3, asr #1 ", 0, -1, r1, r2, r3, cv); 2760 TESTINST3("rsb.w r1, r2, r3, asr #15", 0, -1, r1, r2, r3, cv); 2761 TESTINST3("rsb.w r1, r2, r3, asr #31", 0, -1, r1, r2, r3, cv); 2762 TESTINST3("rsbs.w r1, r2, r3, lsl #0 ", 0, 0x80000000, r1, r2, r3, cv); 2763 TESTINST3("rsbs.w r1, r2, r3, lsl #1 ", 0, 0x80000000, r1, r2, r3, cv); 2764 TESTINST3("rsbs.w r1, r2, r3, lsl #15", 0, 0x80000000, r1, r2, r3, cv); 2765 TESTINST3("rsbs.w r1, r2, r3, lsl #31", 0, 0x80000000, r1, r2, r3, cv); 2766 TESTINST3("rsbs.w r1, r2, r3, lsr #0 ", 0, 0x80000000, r1, r2, r3, cv); 2767 TESTINST3("rsbs.w r1, r2, r3, lsr #1 ", 0, 0x80000000, r1, r2, r3, cv); 2768 TESTINST3("rsbs.w r1, r2, r3, lsr #15", 0, 0x80000000, r1, r2, r3, cv); 2769 TESTINST3("rsbs.w r1, r2, r3, lsr #31", 0, 0x80000000, r1, r2, r3, cv); 2770 TESTINST3("rsbs.w r1, r2, r3, asr #0 ", 0, 0x80000000, r1, r2, r3, cv); 2771 TESTINST3("rsbs.w r1, r2, r3, asr #1 ", 0, 0x80000000, r1, r2, r3, cv); 2772 TESTINST3("rsbs.w r1, r2, r3, asr #15", 0, 0x80000000, r1, r2, r3, cv); 2773 TESTINST3("rsbs.w r1, r2, r3, asr #31", 0, 0x80000000, r1, r2, r3, cv); 2774 TESTINST3("rsb.w r1, r2, r3, lsl #0 ", 0, 0x80000000, r1, r2, r3, cv); 2775 TESTINST3("rsb.w r1, r2, r3, lsl #1 ", 0, 0x80000000, r1, r2, r3, cv); 2776 TESTINST3("rsb.w r1, r2, r3, lsl #15", 0, 0x80000000, r1, r2, r3, cv); 2777 TESTINST3("rsb.w r1, r2, r3, lsl #31", 0, 0x80000000, r1, r2, r3, cv); 2778 TESTINST3("rsb.w r1, r2, r3, lsr #0 ", 0, 0x80000000, r1, r2, r3, cv); 2779 TESTINST3("rsb.w r1, r2, r3, lsr #1 ", 0, 0x80000000, r1, r2, r3, cv); 2780 TESTINST3("rsb.w r1, r2, r3, lsr #15", 0, 0x80000000, r1, r2, r3, cv); 2781 TESTINST3("rsb.w r1, r2, r3, lsr #31", 0, 0x80000000, r1, r2, r3, cv); 2782 TESTINST3("rsb.w r1, r2, r3, asr #0 ", 0, 0x80000000, r1, r2, r3, cv); 2783 TESTINST3("rsb.w r1, r2, r3, asr #1 ", 0, 0x80000000, r1, r2, r3, cv); 2784 TESTINST3("rsb.w r1, r2, r3, asr #15", 0, 0x80000000, r1, r2, r3, cv); 2785 TESTINST3("rsb.w r1, r2, r3, asr #31", 0, 0x80000000, r1, r2, r3, cv); 2786 TESTINST3("rsbs.w r1, r2, r3, lsl #0 ", 0x80000000, 0, r1, r2, r3, cv); 2787 TESTINST3("rsbs.w r1, r2, r3, lsl #1 ", 0x80000000, 0, r1, r2, r3, cv); 2788 TESTINST3("rsbs.w r1, r2, r3, lsl #15", 0x80000000, 0, r1, r2, r3, cv); 2789 TESTINST3("rsbs.w r1, r2, r3, lsl #31", 0x80000000, 0, r1, r2, r3, cv); 2790 TESTINST3("rsbs.w r1, r2, r3, lsr #0 ", 0x80000000, 0, r1, r2, r3, cv); 2791 TESTINST3("rsbs.w r1, r2, r3, lsr #1 ", 0x80000000, 0, r1, r2, r3, cv); 2792 TESTINST3("rsbs.w r1, r2, r3, lsr #15", 0x80000000, 0, r1, r2, r3, cv); 2793 TESTINST3("rsbs.w r1, r2, r3, lsr #31", 0x80000000, 0, r1, r2, r3, cv); 2794 TESTINST3("rsbs.w r1, r2, r3, asr #0 ", 0x80000000, 0, r1, r2, r3, cv); 2795 TESTINST3("rsbs.w r1, r2, r3, asr #1 ", 0x80000000, 0, r1, r2, r3, cv); 2796 TESTINST3("rsbs.w r1, r2, r3, asr #15", 0x80000000, 0, r1, r2, r3, cv); 2797 TESTINST3("rsbs.w r1, r2, r3, asr #31", 0x80000000, 0, r1, r2, r3, cv); 2798 TESTINST3("rsb.w r1, r2, r3, lsl #0 ", 0x80000000, 0, r1, r2, r3, cv); 2799 TESTINST3("rsb.w r1, r2, r3, lsl #1 ", 0x80000000, 0, r1, r2, r3, cv); 2800 TESTINST3("rsb.w r1, r2, r3, lsl #15", 0x80000000, 0, r1, r2, r3, cv); 2801 TESTINST3("rsb.w r1, r2, r3, lsl #31", 0x80000000, 0, r1, r2, r3, cv); 2802 TESTINST3("rsb.w r1, r2, r3, lsr #0 ", 0x80000000, 0, r1, r2, r3, cv); 2803 TESTINST3("rsb.w r1, r2, r3, lsr #1 ", 0x80000000, 0, r1, r2, r3, cv); 2804 TESTINST3("rsb.w r1, r2, r3, lsr #15", 0x80000000, 0, r1, r2, r3, cv); 2805 TESTINST3("rsb.w r1, r2, r3, lsr #31", 0x80000000, 0, r1, r2, r3, cv); 2806 TESTINST3("rsb.w r1, r2, r3, asr #0 ", 0x80000000, 0, r1, r2, r3, cv); 2807 TESTINST3("rsb.w r1, r2, r3, asr #1 ", 0x80000000, 0, r1, r2, r3, cv); 2808 TESTINST3("rsb.w r1, r2, r3, asr #15", 0x80000000, 0, r1, r2, r3, cv); 2809 TESTINST3("rsb.w r1, r2, r3, asr #31", 0x80000000, 0, r1, r2, r3, cv); 2810 TESTINST3("rsbs.w r1, r2, r3, lsl #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 2811 TESTINST3("rsbs.w r1, r2, r3, lsl #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 2812 TESTINST3("rsbs.w r1, r2, r3, lsl #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 2813 TESTINST3("rsbs.w r1, r2, r3, lsl #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 2814 TESTINST3("rsbs.w r1, r2, r3, lsr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 2815 TESTINST3("rsbs.w r1, r2, r3, lsr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 2816 TESTINST3("rsbs.w r1, r2, r3, lsr #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 2817 TESTINST3("rsbs.w r1, r2, r3, lsr #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 2818 TESTINST3("rsbs.w r1, r2, r3, asr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 2819 TESTINST3("rsbs.w r1, r2, r3, asr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 2820 TESTINST3("rsbs.w r1, r2, r3, asr #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 2821 TESTINST3("rsbs.w r1, r2, r3, asr #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 2822 TESTINST3("rsb.w r1, r2, r3, lsl #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 2823 TESTINST3("rsb.w r1, r2, r3, lsl #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 2824 TESTINST3("rsb.w r1, r2, r3, lsl #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 2825 TESTINST3("rsb.w r1, r2, r3, lsl #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 2826 TESTINST3("rsb.w r1, r2, r3, lsr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 2827 TESTINST3("rsb.w r1, r2, r3, lsr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 2828 TESTINST3("rsb.w r1, r2, r3, lsr #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 2829 TESTINST3("rsb.w r1, r2, r3, lsr #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 2830 TESTINST3("rsb.w r1, r2, r3, asr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 2831 TESTINST3("rsb.w r1, r2, r3, asr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 2832 TESTINST3("rsb.w r1, r2, r3, asr #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 2833 TESTINST3("rsb.w r1, r2, r3, asr #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 2834 TESTINST3("rsbs.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2835 TESTINST3("rsbs.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2836 TESTINST3("rsbs.w r1, r2, r3, lsl #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2837 TESTINST3("rsbs.w r1, r2, r3, lsl #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2838 TESTINST3("rsbs.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2839 TESTINST3("rsbs.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2840 TESTINST3("rsbs.w r1, r2, r3, lsr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2841 TESTINST3("rsbs.w r1, r2, r3, lsr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2842 TESTINST3("rsbs.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2843 TESTINST3("rsbs.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2844 TESTINST3("rsbs.w r1, r2, r3, asr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2845 TESTINST3("rsbs.w r1, r2, r3, asr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2846 TESTINST3("rsb.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2847 TESTINST3("rsb.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2848 TESTINST3("rsb.w r1, r2, r3, lsl #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2849 TESTINST3("rsb.w r1, r2, r3, lsl #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2850 TESTINST3("rsb.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2851 TESTINST3("rsb.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2852 TESTINST3("rsb.w r1, r2, r3, lsr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2853 TESTINST3("rsb.w r1, r2, r3, lsr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2854 TESTINST3("rsb.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2855 TESTINST3("rsb.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2856 TESTINST3("rsb.w r1, r2, r3, asr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2857 TESTINST3("rsb.w r1, r2, r3, asr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2858 TESTINST3("rsbs.w r1, r2, r3, lsl #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2859 TESTINST3("rsbs.w r1, r2, r3, lsl #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2860 TESTINST3("rsbs.w r1, r2, r3, lsl #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2861 TESTINST3("rsbs.w r1, r2, r3, lsl #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2862 TESTINST3("rsbs.w r1, r2, r3, lsr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2863 TESTINST3("rsbs.w r1, r2, r3, lsr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2864 TESTINST3("rsbs.w r1, r2, r3, lsr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2865 TESTINST3("rsbs.w r1, r2, r3, lsr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2866 TESTINST3("rsbs.w r1, r2, r3, asr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2867 TESTINST3("rsbs.w r1, r2, r3, asr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2868 TESTINST3("rsbs.w r1, r2, r3, asr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2869 TESTINST3("rsbs.w r1, r2, r3, asr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2870 TESTINST3("rsb.w r1, r2, r3, lsl #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2871 TESTINST3("rsb.w r1, r2, r3, lsl #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2872 TESTINST3("rsb.w r1, r2, r3, lsl #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2873 TESTINST3("rsb.w r1, r2, r3, lsl #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2874 TESTINST3("rsb.w r1, r2, r3, lsr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2875 TESTINST3("rsb.w r1, r2, r3, lsr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2876 TESTINST3("rsb.w r1, r2, r3, lsr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2877 TESTINST3("rsb.w r1, r2, r3, lsr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2878 TESTINST3("rsb.w r1, r2, r3, asr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2879 TESTINST3("rsb.w r1, r2, r3, asr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2880 TESTINST3("rsb.w r1, r2, r3, asr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2881 TESTINST3("rsb.w r1, r2, r3, asr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2882 TESTINST3("rsbs.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2883 TESTINST3("rsbs.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2884 TESTINST3("rsbs.w r1, r2, r3, lsl #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2885 TESTINST3("rsbs.w r1, r2, r3, lsl #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2886 TESTINST3("rsbs.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2887 TESTINST3("rsbs.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2888 TESTINST3("rsbs.w r1, r2, r3, lsr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2889 TESTINST3("rsbs.w r1, r2, r3, lsr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2890 TESTINST3("rsbs.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2891 TESTINST3("rsbs.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2892 TESTINST3("rsbs.w r1, r2, r3, asr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2893 TESTINST3("rsbs.w r1, r2, r3, asr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2894 TESTINST3("rsb.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2895 TESTINST3("rsb.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2896 TESTINST3("rsb.w r1, r2, r3, lsl #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2897 TESTINST3("rsb.w r1, r2, r3, lsl #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2898 TESTINST3("rsb.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2899 TESTINST3("rsb.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2900 TESTINST3("rsb.w r1, r2, r3, lsr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2901 TESTINST3("rsb.w r1, r2, r3, lsr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2902 TESTINST3("rsb.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2903 TESTINST3("rsb.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2904 TESTINST3("rsb.w r1, r2, r3, asr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2905 TESTINST3("rsb.w r1, r2, r3, asr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2906 TESTCARRYEND 2907 2908 printf("ADC{S}.W Rd, Rn, Rm, {shift}\n"); 2909 TESTCARRY 2910 TESTINST3("adcs.w r1, r2, r3, lsl #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 2911 TESTINST3("adcs.w r1, r2, r3, lsl #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 2912 TESTINST3("adcs.w r1, r2, r3, lsl #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 2913 TESTINST3("adcs.w r1, r2, r3, lsl #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 2914 TESTINST3("adcs.w r1, r2, r3, lsr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 2915 TESTINST3("adcs.w r1, r2, r3, lsr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 2916 TESTINST3("adcs.w r1, r2, r3, lsr #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 2917 TESTINST3("adcs.w r1, r2, r3, lsr #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 2918 TESTINST3("adcs.w r1, r2, r3, asr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 2919 TESTINST3("adcs.w r1, r2, r3, asr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 2920 TESTINST3("adcs.w r1, r2, r3, asr #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 2921 TESTINST3("adcs.w r1, r2, r3, asr #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 2922 TESTINST3("adc.w r1, r2, r3, lsl #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 2923 TESTINST3("adc.w r1, r2, r3, lsl #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 2924 TESTINST3("adc.w r1, r2, r3, lsl #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 2925 TESTINST3("adc.w r1, r2, r3, lsl #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 2926 TESTINST3("adc.w r1, r2, r3, lsr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 2927 TESTINST3("adc.w r1, r2, r3, lsr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 2928 TESTINST3("adc.w r1, r2, r3, lsr #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 2929 TESTINST3("adc.w r1, r2, r3, lsr #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 2930 TESTINST3("adc.w r1, r2, r3, asr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 2931 TESTINST3("adc.w r1, r2, r3, asr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 2932 TESTINST3("adc.w r1, r2, r3, asr #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 2933 TESTINST3("adc.w r1, r2, r3, asr #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 2934 TESTINST3("adcs.w r1, r2, r3, lsl #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 2935 TESTINST3("adcs.w r1, r2, r3, lsl #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 2936 TESTINST3("adcs.w r1, r2, r3, lsl #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 2937 TESTINST3("adcs.w r1, r2, r3, lsl #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 2938 TESTINST3("adcs.w r1, r2, r3, lsr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 2939 TESTINST3("adcs.w r1, r2, r3, lsr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 2940 TESTINST3("adcs.w r1, r2, r3, lsr #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 2941 TESTINST3("adcs.w r1, r2, r3, lsr #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 2942 TESTINST3("adcs.w r1, r2, r3, asr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 2943 TESTINST3("adcs.w r1, r2, r3, asr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 2944 TESTINST3("adcs.w r1, r2, r3, asr #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 2945 TESTINST3("adcs.w r1, r2, r3, asr #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 2946 TESTINST3("adc.w r1, r2, r3, lsl #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 2947 TESTINST3("adc.w r1, r2, r3, lsl #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 2948 TESTINST3("adc.w r1, r2, r3, lsl #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 2949 TESTINST3("adc.w r1, r2, r3, lsl #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 2950 TESTINST3("adc.w r1, r2, r3, lsr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 2951 TESTINST3("adc.w r1, r2, r3, lsr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 2952 TESTINST3("adc.w r1, r2, r3, lsr #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 2953 TESTINST3("adc.w r1, r2, r3, lsr #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 2954 TESTINST3("adc.w r1, r2, r3, asr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 2955 TESTINST3("adc.w r1, r2, r3, asr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 2956 TESTINST3("adc.w r1, r2, r3, asr #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 2957 TESTINST3("adc.w r1, r2, r3, asr #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 2958 TESTINST3("adcs.w r1, r2, r3, lsl #0 ", 0, 0, r1, r2, r3, cv); 2959 TESTINST3("adcs.w r1, r2, r3, lsl #1 ", 0, 0, r1, r2, r3, cv); 2960 TESTINST3("adcs.w r1, r2, r3, lsl #15", 0, 0, r1, r2, r3, cv); 2961 TESTINST3("adcs.w r1, r2, r3, lsl #31", 0, 0, r1, r2, r3, cv); 2962 TESTINST3("adcs.w r1, r2, r3, lsr #0 ", 0, 0, r1, r2, r3, cv); 2963 TESTINST3("adcs.w r1, r2, r3, lsr #1 ", 0, 0, r1, r2, r3, cv); 2964 TESTINST3("adcs.w r1, r2, r3, lsr #15", 0, 0, r1, r2, r3, cv); 2965 TESTINST3("adcs.w r1, r2, r3, lsr #31", 0, 0, r1, r2, r3, cv); 2966 TESTINST3("adcs.w r1, r2, r3, asr #0 ", 0, 0, r1, r2, r3, cv); 2967 TESTINST3("adcs.w r1, r2, r3, asr #1 ", 0, 0, r1, r2, r3, cv); 2968 TESTINST3("adcs.w r1, r2, r3, asr #15", 0, 0, r1, r2, r3, cv); 2969 TESTINST3("adcs.w r1, r2, r3, asr #31", 0, 0, r1, r2, r3, cv); 2970 TESTINST3("adc.w r1, r2, r3, lsl #0 ", 0, 0, r1, r2, r3, cv); 2971 TESTINST3("adc.w r1, r2, r3, lsl #1 ", 0, 0, r1, r2, r3, cv); 2972 TESTINST3("adc.w r1, r2, r3, lsl #15", 0, 0, r1, r2, r3, cv); 2973 TESTINST3("adc.w r1, r2, r3, lsl #31", 0, 0, r1, r2, r3, cv); 2974 TESTINST3("adc.w r1, r2, r3, lsr #0 ", 0, 0, r1, r2, r3, cv); 2975 TESTINST3("adc.w r1, r2, r3, lsr #1 ", 0, 0, r1, r2, r3, cv); 2976 TESTINST3("adc.w r1, r2, r3, lsr #15", 0, 0, r1, r2, r3, cv); 2977 TESTINST3("adc.w r1, r2, r3, lsr #31", 0, 0, r1, r2, r3, cv); 2978 TESTINST3("adc.w r1, r2, r3, asr #0 ", 0, 0, r1, r2, r3, cv); 2979 TESTINST3("adc.w r1, r2, r3, asr #1 ", 0, 0, r1, r2, r3, cv); 2980 TESTINST3("adc.w r1, r2, r3, asr #15", 0, 0, r1, r2, r3, cv); 2981 TESTINST3("adc.w r1, r2, r3, asr #31", 0, 0, r1, r2, r3, cv); 2982 TESTINST3("adcs.w r1, r2, r3, lsl #0 ", 1, 0, r1, r2, r3, cv); 2983 TESTINST3("adcs.w r1, r2, r3, lsl #1 ", 1, 0, r1, r2, r3, cv); 2984 TESTINST3("adcs.w r1, r2, r3, lsl #15", 1, 0, r1, r2, r3, cv); 2985 TESTINST3("adcs.w r1, r2, r3, lsl #31", 1, 0, r1, r2, r3, cv); 2986 TESTINST3("adcs.w r1, r2, r3, lsr #0 ", 1, 0, r1, r2, r3, cv); 2987 TESTINST3("adcs.w r1, r2, r3, lsr #1 ", 1, 0, r1, r2, r3, cv); 2988 TESTINST3("adcs.w r1, r2, r3, lsr #15", 1, 0, r1, r2, r3, cv); 2989 TESTINST3("adcs.w r1, r2, r3, lsr #31", 1, 0, r1, r2, r3, cv); 2990 TESTINST3("adcs.w r1, r2, r3, asr #0 ", 1, 0, r1, r2, r3, cv); 2991 TESTINST3("adcs.w r1, r2, r3, asr #1 ", 1, 0, r1, r2, r3, cv); 2992 TESTINST3("adcs.w r1, r2, r3, asr #15", 1, 0, r1, r2, r3, cv); 2993 TESTINST3("adcs.w r1, r2, r3, asr #31", 1, 0, r1, r2, r3, cv); 2994 TESTINST3("adc.w r1, r2, r3, lsl #0 ", 1, 0, r1, r2, r3, cv); 2995 TESTINST3("adc.w r1, r2, r3, lsl #1 ", 1, 0, r1, r2, r3, cv); 2996 TESTINST3("adc.w r1, r2, r3, lsl #15", 1, 0, r1, r2, r3, cv); 2997 TESTINST3("adc.w r1, r2, r3, lsl #31", 1, 0, r1, r2, r3, cv); 2998 TESTINST3("adc.w r1, r2, r3, lsr #0 ", 1, 0, r1, r2, r3, cv); 2999 TESTINST3("adc.w r1, r2, r3, lsr #1 ", 1, 0, r1, r2, r3, cv); 3000 TESTINST3("adc.w r1, r2, r3, lsr #15", 1, 0, r1, r2, r3, cv); 3001 TESTINST3("adc.w r1, r2, r3, lsr #31", 1, 0, r1, r2, r3, cv); 3002 TESTINST3("adc.w r1, r2, r3, asr #0 ", 1, 0, r1, r2, r3, cv); 3003 TESTINST3("adc.w r1, r2, r3, asr #1 ", 1, 0, r1, r2, r3, cv); 3004 TESTINST3("adc.w r1, r2, r3, asr #15", 1, 0, r1, r2, r3, cv); 3005 TESTINST3("adc.w r1, r2, r3, asr #31", 1, 0, r1, r2, r3, cv); 3006 TESTINST3("adcs.w r1, r2, r3, lsl #0 ", 0, 1, r1, r2, r3, cv); 3007 TESTINST3("adcs.w r1, r2, r3, lsl #1 ", 0, 1, r1, r2, r3, cv); 3008 TESTINST3("adcs.w r1, r2, r3, lsl #15", 0, 1, r1, r2, r3, cv); 3009 TESTINST3("adcs.w r1, r2, r3, lsl #31", 0, 1, r1, r2, r3, cv); 3010 TESTINST3("adcs.w r1, r2, r3, lsr #0 ", 0, 1, r1, r2, r3, cv); 3011 TESTINST3("adcs.w r1, r2, r3, lsr #1 ", 0, 1, r1, r2, r3, cv); 3012 TESTINST3("adcs.w r1, r2, r3, lsr #15", 0, 1, r1, r2, r3, cv); 3013 TESTINST3("adcs.w r1, r2, r3, lsr #31", 0, 1, r1, r2, r3, cv); 3014 TESTINST3("adcs.w r1, r2, r3, asr #0 ", 0, 1, r1, r2, r3, cv); 3015 TESTINST3("adcs.w r1, r2, r3, asr #1 ", 0, 1, r1, r2, r3, cv); 3016 TESTINST3("adcs.w r1, r2, r3, asr #15", 0, 1, r1, r2, r3, cv); 3017 TESTINST3("adcs.w r1, r2, r3, asr #31", 0, 1, r1, r2, r3, cv); 3018 TESTINST3("adc.w r1, r2, r3, lsl #0 ", 0, 1, r1, r2, r3, cv); 3019 TESTINST3("adc.w r1, r2, r3, lsl #1 ", 0, 1, r1, r2, r3, cv); 3020 TESTINST3("adc.w r1, r2, r3, lsl #15", 0, 1, r1, r2, r3, cv); 3021 TESTINST3("adc.w r1, r2, r3, lsl #31", 0, 1, r1, r2, r3, cv); 3022 TESTINST3("adc.w r1, r2, r3, lsr #0 ", 0, 1, r1, r2, r3, cv); 3023 TESTINST3("adc.w r1, r2, r3, lsr #1 ", 0, 1, r1, r2, r3, cv); 3024 TESTINST3("adc.w r1, r2, r3, lsr #15", 0, 1, r1, r2, r3, cv); 3025 TESTINST3("adc.w r1, r2, r3, lsr #31", 0, 1, r1, r2, r3, cv); 3026 TESTINST3("adc.w r1, r2, r3, asr #0 ", 0, 1, r1, r2, r3, cv); 3027 TESTINST3("adc.w r1, r2, r3, asr #1 ", 0, 1, r1, r2, r3, cv); 3028 TESTINST3("adc.w r1, r2, r3, asr #15", 0, 1, r1, r2, r3, cv); 3029 TESTINST3("adc.w r1, r2, r3, asr #31", 0, 1, r1, r2, r3, cv); 3030 TESTINST3("adcs.w r1, r2, r3, lsl #0 ", -1, 0, r1, r2, r3, cv); 3031 TESTINST3("adcs.w r1, r2, r3, lsl #1 ", -1, 0, r1, r2, r3, cv); 3032 TESTINST3("adcs.w r1, r2, r3, lsl #15", -1, 0, r1, r2, r3, cv); 3033 TESTINST3("adcs.w r1, r2, r3, lsl #31", -1, 0, r1, r2, r3, cv); 3034 TESTINST3("adcs.w r1, r2, r3, lsr #0 ", -1, 0, r1, r2, r3, cv); 3035 TESTINST3("adcs.w r1, r2, r3, lsr #1 ", -1, 0, r1, r2, r3, cv); 3036 TESTINST3("adcs.w r1, r2, r3, lsr #15", -1, 0, r1, r2, r3, cv); 3037 TESTINST3("adcs.w r1, r2, r3, lsr #31", -1, 0, r1, r2, r3, cv); 3038 TESTINST3("adcs.w r1, r2, r3, asr #0 ", -1, 0, r1, r2, r3, cv); 3039 TESTINST3("adcs.w r1, r2, r3, asr #1 ", -1, 0, r1, r2, r3, cv); 3040 TESTINST3("adcs.w r1, r2, r3, asr #15", -1, 0, r1, r2, r3, cv); 3041 TESTINST3("adcs.w r1, r2, r3, asr #31", -1, 0, r1, r2, r3, cv); 3042 TESTINST3("adc.w r1, r2, r3, lsl #0 ", -1, 0, r1, r2, r3, cv); 3043 TESTINST3("adc.w r1, r2, r3, lsl #1 ", -1, 0, r1, r2, r3, cv); 3044 TESTINST3("adc.w r1, r2, r3, lsl #15", -1, 0, r1, r2, r3, cv); 3045 TESTINST3("adc.w r1, r2, r3, lsl #31", -1, 0, r1, r2, r3, cv); 3046 TESTINST3("adc.w r1, r2, r3, lsr #0 ", -1, 0, r1, r2, r3, cv); 3047 TESTINST3("adc.w r1, r2, r3, lsr #1 ", -1, 0, r1, r2, r3, cv); 3048 TESTINST3("adc.w r1, r2, r3, lsr #15", -1, 0, r1, r2, r3, cv); 3049 TESTINST3("adc.w r1, r2, r3, lsr #31", -1, 0, r1, r2, r3, cv); 3050 TESTINST3("adc.w r1, r2, r3, asr #0 ", -1, 0, r1, r2, r3, cv); 3051 TESTINST3("adc.w r1, r2, r3, asr #1 ", -1, 0, r1, r2, r3, cv); 3052 TESTINST3("adc.w r1, r2, r3, asr #15", -1, 0, r1, r2, r3, cv); 3053 TESTINST3("adc.w r1, r2, r3, asr #31", -1, 0, r1, r2, r3, cv); 3054 TESTINST3("adcs.w r1, r2, r3, lsl #0 ", 0, -1, r1, r2, r3, cv); 3055 TESTINST3("adcs.w r1, r2, r3, lsl #1 ", 0, -1, r1, r2, r3, cv); 3056 TESTINST3("adcs.w r1, r2, r3, lsl #15", 0, -1, r1, r2, r3, cv); 3057 TESTINST3("adcs.w r1, r2, r3, lsl #31", 0, -1, r1, r2, r3, cv); 3058 TESTINST3("adcs.w r1, r2, r3, lsr #0 ", 0, -1, r1, r2, r3, cv); 3059 TESTINST3("adcs.w r1, r2, r3, lsr #1 ", 0, -1, r1, r2, r3, cv); 3060 TESTINST3("adcs.w r1, r2, r3, lsr #15", 0, -1, r1, r2, r3, cv); 3061 TESTINST3("adcs.w r1, r2, r3, lsr #31", 0, -1, r1, r2, r3, cv); 3062 TESTINST3("adcs.w r1, r2, r3, asr #0 ", 0, -1, r1, r2, r3, cv); 3063 TESTINST3("adcs.w r1, r2, r3, asr #1 ", 0, -1, r1, r2, r3, cv); 3064 TESTINST3("adcs.w r1, r2, r3, asr #15", 0, -1, r1, r2, r3, cv); 3065 TESTINST3("adcs.w r1, r2, r3, asr #31", 0, -1, r1, r2, r3, cv); 3066 TESTINST3("adc.w r1, r2, r3, lsl #0 ", 0, -1, r1, r2, r3, cv); 3067 TESTINST3("adc.w r1, r2, r3, lsl #1 ", 0, -1, r1, r2, r3, cv); 3068 TESTINST3("adc.w r1, r2, r3, lsl #15", 0, -1, r1, r2, r3, cv); 3069 TESTINST3("adc.w r1, r2, r3, lsl #31", 0, -1, r1, r2, r3, cv); 3070 TESTINST3("adc.w r1, r2, r3, lsr #0 ", 0, -1, r1, r2, r3, cv); 3071 TESTINST3("adc.w r1, r2, r3, lsr #1 ", 0, -1, r1, r2, r3, cv); 3072 TESTINST3("adc.w r1, r2, r3, lsr #15", 0, -1, r1, r2, r3, cv); 3073 TESTINST3("adc.w r1, r2, r3, lsr #31", 0, -1, r1, r2, r3, cv); 3074 TESTINST3("adc.w r1, r2, r3, asr #0 ", 0, -1, r1, r2, r3, cv); 3075 TESTINST3("adc.w r1, r2, r3, asr #1 ", 0, -1, r1, r2, r3, cv); 3076 TESTINST3("adc.w r1, r2, r3, asr #15", 0, -1, r1, r2, r3, cv); 3077 TESTINST3("adc.w r1, r2, r3, asr #31", 0, -1, r1, r2, r3, cv); 3078 TESTINST3("adcs.w r1, r2, r3, lsl #0 ", 0, 0x80000000, r1, r2, r3, cv); 3079 TESTINST3("adcs.w r1, r2, r3, lsl #1 ", 0, 0x80000000, r1, r2, r3, cv); 3080 TESTINST3("adcs.w r1, r2, r3, lsl #15", 0, 0x80000000, r1, r2, r3, cv); 3081 TESTINST3("adcs.w r1, r2, r3, lsl #31", 0, 0x80000000, r1, r2, r3, cv); 3082 TESTINST3("adcs.w r1, r2, r3, lsr #0 ", 0, 0x80000000, r1, r2, r3, cv); 3083 TESTINST3("adcs.w r1, r2, r3, lsr #1 ", 0, 0x80000000, r1, r2, r3, cv); 3084 TESTINST3("adcs.w r1, r2, r3, lsr #15", 0, 0x80000000, r1, r2, r3, cv); 3085 TESTINST3("adcs.w r1, r2, r3, lsr #31", 0, 0x80000000, r1, r2, r3, cv); 3086 TESTINST3("adcs.w r1, r2, r3, asr #0 ", 0, 0x80000000, r1, r2, r3, cv); 3087 TESTINST3("adcs.w r1, r2, r3, asr #1 ", 0, 0x80000000, r1, r2, r3, cv); 3088 TESTINST3("adcs.w r1, r2, r3, asr #15", 0, 0x80000000, r1, r2, r3, cv); 3089 TESTINST3("adcs.w r1, r2, r3, asr #31", 0, 0x80000000, r1, r2, r3, cv); 3090 TESTINST3("adc.w r1, r2, r3, lsl #0 ", 0, 0x80000000, r1, r2, r3, cv); 3091 TESTINST3("adc.w r1, r2, r3, lsl #1 ", 0, 0x80000000, r1, r2, r3, cv); 3092 TESTINST3("adc.w r1, r2, r3, lsl #15", 0, 0x80000000, r1, r2, r3, cv); 3093 TESTINST3("adc.w r1, r2, r3, lsl #31", 0, 0x80000000, r1, r2, r3, cv); 3094 TESTINST3("adc.w r1, r2, r3, lsr #0 ", 0, 0x80000000, r1, r2, r3, cv); 3095 TESTINST3("adc.w r1, r2, r3, lsr #1 ", 0, 0x80000000, r1, r2, r3, cv); 3096 TESTINST3("adc.w r1, r2, r3, lsr #15", 0, 0x80000000, r1, r2, r3, cv); 3097 TESTINST3("adc.w r1, r2, r3, lsr #31", 0, 0x80000000, r1, r2, r3, cv); 3098 TESTINST3("adc.w r1, r2, r3, asr #0 ", 0, 0x80000000, r1, r2, r3, cv); 3099 TESTINST3("adc.w r1, r2, r3, asr #1 ", 0, 0x80000000, r1, r2, r3, cv); 3100 TESTINST3("adc.w r1, r2, r3, asr #15", 0, 0x80000000, r1, r2, r3, cv); 3101 TESTINST3("adc.w r1, r2, r3, asr #31", 0, 0x80000000, r1, r2, r3, cv); 3102 TESTINST3("adcs.w r1, r2, r3, lsl #0 ", 0x80000000, 0, r1, r2, r3, cv); 3103 TESTINST3("adcs.w r1, r2, r3, lsl #1 ", 0x80000000, 0, r1, r2, r3, cv); 3104 TESTINST3("adcs.w r1, r2, r3, lsl #15", 0x80000000, 0, r1, r2, r3, cv); 3105 TESTINST3("adcs.w r1, r2, r3, lsl #31", 0x80000000, 0, r1, r2, r3, cv); 3106 TESTINST3("adcs.w r1, r2, r3, lsr #0 ", 0x80000000, 0, r1, r2, r3, cv); 3107 TESTINST3("adcs.w r1, r2, r3, lsr #1 ", 0x80000000, 0, r1, r2, r3, cv); 3108 TESTINST3("adcs.w r1, r2, r3, lsr #15", 0x80000000, 0, r1, r2, r3, cv); 3109 TESTINST3("adcs.w r1, r2, r3, lsr #31", 0x80000000, 0, r1, r2, r3, cv); 3110 TESTINST3("adcs.w r1, r2, r3, asr #0 ", 0x80000000, 0, r1, r2, r3, cv); 3111 TESTINST3("adcs.w r1, r2, r3, asr #1 ", 0x80000000, 0, r1, r2, r3, cv); 3112 TESTINST3("adcs.w r1, r2, r3, asr #15", 0x80000000, 0, r1, r2, r3, cv); 3113 TESTINST3("adcs.w r1, r2, r3, asr #31", 0x80000000, 0, r1, r2, r3, cv); 3114 TESTINST3("adc.w r1, r2, r3, lsl #0 ", 0x80000000, 0, r1, r2, r3, cv); 3115 TESTINST3("adc.w r1, r2, r3, lsl #1 ", 0x80000000, 0, r1, r2, r3, cv); 3116 TESTINST3("adc.w r1, r2, r3, lsl #15", 0x80000000, 0, r1, r2, r3, cv); 3117 TESTINST3("adc.w r1, r2, r3, lsl #31", 0x80000000, 0, r1, r2, r3, cv); 3118 TESTINST3("adc.w r1, r2, r3, lsr #0 ", 0x80000000, 0, r1, r2, r3, cv); 3119 TESTINST3("adc.w r1, r2, r3, lsr #1 ", 0x80000000, 0, r1, r2, r3, cv); 3120 TESTINST3("adc.w r1, r2, r3, lsr #15", 0x80000000, 0, r1, r2, r3, cv); 3121 TESTINST3("adc.w r1, r2, r3, lsr #31", 0x80000000, 0, r1, r2, r3, cv); 3122 TESTINST3("adc.w r1, r2, r3, asr #0 ", 0x80000000, 0, r1, r2, r3, cv); 3123 TESTINST3("adc.w r1, r2, r3, asr #1 ", 0x80000000, 0, r1, r2, r3, cv); 3124 TESTINST3("adc.w r1, r2, r3, asr #15", 0x80000000, 0, r1, r2, r3, cv); 3125 TESTINST3("adc.w r1, r2, r3, asr #31", 0x80000000, 0, r1, r2, r3, cv); 3126 TESTINST3("adcs.w r1, r2, r3, lsl #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 3127 TESTINST3("adcs.w r1, r2, r3, lsl #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 3128 TESTINST3("adcs.w r1, r2, r3, lsl #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 3129 TESTINST3("adcs.w r1, r2, r3, lsl #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 3130 TESTINST3("adcs.w r1, r2, r3, lsr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 3131 TESTINST3("adcs.w r1, r2, r3, lsr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 3132 TESTINST3("adcs.w r1, r2, r3, lsr #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 3133 TESTINST3("adcs.w r1, r2, r3, lsr #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 3134 TESTINST3("adcs.w r1, r2, r3, asr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 3135 TESTINST3("adcs.w r1, r2, r3, asr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 3136 TESTINST3("adcs.w r1, r2, r3, asr #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 3137 TESTINST3("adcs.w r1, r2, r3, asr #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 3138 TESTINST3("adc.w r1, r2, r3, lsl #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 3139 TESTINST3("adc.w r1, r2, r3, lsl #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 3140 TESTINST3("adc.w r1, r2, r3, lsl #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 3141 TESTINST3("adc.w r1, r2, r3, lsl #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 3142 TESTINST3("adc.w r1, r2, r3, lsr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 3143 TESTINST3("adc.w r1, r2, r3, lsr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 3144 TESTINST3("adc.w r1, r2, r3, lsr #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 3145 TESTINST3("adc.w r1, r2, r3, lsr #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 3146 TESTINST3("adc.w r1, r2, r3, asr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 3147 TESTINST3("adc.w r1, r2, r3, asr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 3148 TESTINST3("adc.w r1, r2, r3, asr #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 3149 TESTINST3("adc.w r1, r2, r3, asr #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 3150 TESTINST3("adcs.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 3151 TESTINST3("adcs.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 3152 TESTINST3("adcs.w r1, r2, r3, lsl #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 3153 TESTINST3("adcs.w r1, r2, r3, lsl #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 3154 TESTINST3("adcs.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 3155 TESTINST3("adcs.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 3156 TESTINST3("adcs.w r1, r2, r3, lsr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 3157 TESTINST3("adcs.w r1, r2, r3, lsr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 3158 TESTINST3("adcs.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 3159 TESTINST3("adcs.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 3160 TESTINST3("adcs.w r1, r2, r3, asr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 3161 TESTINST3("adcs.w r1, r2, r3, asr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 3162 TESTINST3("adc.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 3163 TESTINST3("adc.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 3164 TESTINST3("adc.w r1, r2, r3, lsl #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 3165 TESTINST3("adc.w r1, r2, r3, lsl #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 3166 TESTINST3("adc.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 3167 TESTINST3("adc.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 3168 TESTINST3("adc.w r1, r2, r3, lsr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 3169 TESTINST3("adc.w r1, r2, r3, lsr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 3170 TESTINST3("adc.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 3171 TESTINST3("adc.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 3172 TESTINST3("adc.w r1, r2, r3, asr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 3173 TESTINST3("adc.w r1, r2, r3, asr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 3174 TESTINST3("adcs.w r1, r2, r3, lsl #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 3175 TESTINST3("adcs.w r1, r2, r3, lsl #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 3176 TESTINST3("adcs.w r1, r2, r3, lsl #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 3177 TESTINST3("adcs.w r1, r2, r3, lsl #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 3178 TESTINST3("adcs.w r1, r2, r3, lsr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 3179 TESTINST3("adcs.w r1, r2, r3, lsr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 3180 TESTINST3("adcs.w r1, r2, r3, lsr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 3181 TESTINST3("adcs.w r1, r2, r3, lsr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 3182 TESTINST3("adcs.w r1, r2, r3, asr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 3183 TESTINST3("adcs.w r1, r2, r3, asr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 3184 TESTINST3("adcs.w r1, r2, r3, asr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 3185 TESTINST3("adcs.w r1, r2, r3, asr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 3186 TESTINST3("adc.w r1, r2, r3, lsl #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 3187 TESTINST3("adc.w r1, r2, r3, lsl #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 3188 TESTINST3("adc.w r1, r2, r3, lsl #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 3189 TESTINST3("adc.w r1, r2, r3, lsl #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 3190 TESTINST3("adc.w r1, r2, r3, lsr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 3191 TESTINST3("adc.w r1, r2, r3, lsr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 3192 TESTINST3("adc.w r1, r2, r3, lsr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 3193 TESTINST3("adc.w r1, r2, r3, lsr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 3194 TESTINST3("adc.w r1, r2, r3, asr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 3195 TESTINST3("adc.w r1, r2, r3, asr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 3196 TESTINST3("adc.w r1, r2, r3, asr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 3197 TESTINST3("adc.w r1, r2, r3, asr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 3198 TESTINST3("adcs.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 3199 TESTINST3("adcs.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 3200 TESTINST3("adcs.w r1, r2, r3, lsl #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 3201 TESTINST3("adcs.w r1, r2, r3, lsl #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 3202 TESTINST3("adcs.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 3203 TESTINST3("adcs.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 3204 TESTINST3("adcs.w r1, r2, r3, lsr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 3205 TESTINST3("adcs.w r1, r2, r3, lsr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 3206 TESTINST3("adcs.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 3207 TESTINST3("adcs.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 3208 TESTINST3("adcs.w r1, r2, r3, asr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 3209 TESTINST3("adcs.w r1, r2, r3, asr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 3210 TESTINST3("adc.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 3211 TESTINST3("adc.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 3212 TESTINST3("adc.w r1, r2, r3, lsl #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 3213 TESTINST3("adc.w r1, r2, r3, lsl #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 3214 TESTINST3("adc.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 3215 TESTINST3("adc.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 3216 TESTINST3("adc.w r1, r2, r3, lsr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 3217 TESTINST3("adc.w r1, r2, r3, lsr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 3218 TESTINST3("adc.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 3219 TESTINST3("adc.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 3220 TESTINST3("adc.w r1, r2, r3, asr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 3221 TESTINST3("adc.w r1, r2, r3, asr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 3222 TESTCARRYEND 3223 3224 printf("SBC{S}.W Rd, Rn, Rm, {shift}\n"); 3225 TESTCARRY 3226 TESTINST3("sbcs.w r1, r2, r3, lsl #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 3227 TESTINST3("sbcs.w r1, r2, r3, lsl #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 3228 TESTINST3("sbcs.w r1, r2, r3, lsl #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 3229 TESTINST3("sbcs.w r1, r2, r3, lsl #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 3230 TESTINST3("sbcs.w r1, r2, r3, lsr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 3231 TESTINST3("sbcs.w r1, r2, r3, lsr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 3232 TESTINST3("sbcs.w r1, r2, r3, lsr #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 3233 TESTINST3("sbcs.w r1, r2, r3, lsr #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 3234 TESTINST3("sbcs.w r1, r2, r3, asr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 3235 TESTINST3("sbcs.w r1, r2, r3, asr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 3236 TESTINST3("sbcs.w r1, r2, r3, asr #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 3237 TESTINST3("sbcs.w r1, r2, r3, asr #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 3238 TESTINST3("sbc.w r1, r2, r3, lsl #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 3239 TESTINST3("sbc.w r1, r2, r3, lsl #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 3240 TESTINST3("sbc.w r1, r2, r3, lsl #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 3241 TESTINST3("sbc.w r1, r2, r3, lsl #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 3242 TESTINST3("sbc.w r1, r2, r3, lsr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 3243 TESTINST3("sbc.w r1, r2, r3, lsr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 3244 TESTINST3("sbc.w r1, r2, r3, lsr #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 3245 TESTINST3("sbc.w r1, r2, r3, lsr #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 3246 TESTINST3("sbc.w r1, r2, r3, asr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 3247 TESTINST3("sbc.w r1, r2, r3, asr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 3248 TESTINST3("sbc.w r1, r2, r3, asr #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 3249 TESTINST3("sbc.w r1, r2, r3, asr #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 3250 TESTINST3("sbcs.w r1, r2, r3, lsl #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 3251 TESTINST3("sbcs.w r1, r2, r3, lsl #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 3252 TESTINST3("sbcs.w r1, r2, r3, lsl #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 3253 TESTINST3("sbcs.w r1, r2, r3, lsl #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 3254 TESTINST3("sbcs.w r1, r2, r3, lsr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 3255 TESTINST3("sbcs.w r1, r2, r3, lsr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 3256 TESTINST3("sbcs.w r1, r2, r3, lsr #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 3257 TESTINST3("sbcs.w r1, r2, r3, lsr #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 3258 TESTINST3("sbcs.w r1, r2, r3, asr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 3259 TESTINST3("sbcs.w r1, r2, r3, asr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 3260 TESTINST3("sbcs.w r1, r2, r3, asr #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 3261 TESTINST3("sbcs.w r1, r2, r3, asr #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 3262 TESTINST3("sbc.w r1, r2, r3, lsl #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 3263 TESTINST3("sbc.w r1, r2, r3, lsl #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 3264 TESTINST3("sbc.w r1, r2, r3, lsl #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 3265 TESTINST3("sbc.w r1, r2, r3, lsl #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 3266 TESTINST3("sbc.w r1, r2, r3, lsr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 3267 TESTINST3("sbc.w r1, r2, r3, lsr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 3268 TESTINST3("sbc.w r1, r2, r3, lsr #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 3269 TESTINST3("sbc.w r1, r2, r3, lsr #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 3270 TESTINST3("sbc.w r1, r2, r3, asr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 3271 TESTINST3("sbc.w r1, r2, r3, asr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 3272 TESTINST3("sbc.w r1, r2, r3, asr #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 3273 TESTINST3("sbc.w r1, r2, r3, asr #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 3274 TESTINST3("sbcs.w r1, r2, r3, lsl #0 ", 0, 0, r1, r2, r3, cv); 3275 TESTINST3("sbcs.w r1, r2, r3, lsl #1 ", 0, 0, r1, r2, r3, cv); 3276 TESTINST3("sbcs.w r1, r2, r3, lsl #15", 0, 0, r1, r2, r3, cv); 3277 TESTINST3("sbcs.w r1, r2, r3, lsl #31", 0, 0, r1, r2, r3, cv); 3278 TESTINST3("sbcs.w r1, r2, r3, lsr #0 ", 0, 0, r1, r2, r3, cv); 3279 TESTINST3("sbcs.w r1, r2, r3, lsr #1 ", 0, 0, r1, r2, r3, cv); 3280 TESTINST3("sbcs.w r1, r2, r3, lsr #15", 0, 0, r1, r2, r3, cv); 3281 TESTINST3("sbcs.w r1, r2, r3, lsr #31", 0, 0, r1, r2, r3, cv); 3282 TESTINST3("sbcs.w r1, r2, r3, asr #0 ", 0, 0, r1, r2, r3, cv); 3283 TESTINST3("sbcs.w r1, r2, r3, asr #1 ", 0, 0, r1, r2, r3, cv); 3284 TESTINST3("sbcs.w r1, r2, r3, asr #15", 0, 0, r1, r2, r3, cv); 3285 TESTINST3("sbcs.w r1, r2, r3, asr #31", 0, 0, r1, r2, r3, cv); 3286 TESTINST3("sbc.w r1, r2, r3, lsl #0 ", 0, 0, r1, r2, r3, cv); 3287 TESTINST3("sbc.w r1, r2, r3, lsl #1 ", 0, 0, r1, r2, r3, cv); 3288 TESTINST3("sbc.w r1, r2, r3, lsl #15", 0, 0, r1, r2, r3, cv); 3289 TESTINST3("sbc.w r1, r2, r3, lsl #31", 0, 0, r1, r2, r3, cv); 3290 TESTINST3("sbc.w r1, r2, r3, lsr #0 ", 0, 0, r1, r2, r3, cv); 3291 TESTINST3("sbc.w r1, r2, r3, lsr #1 ", 0, 0, r1, r2, r3, cv); 3292 TESTINST3("sbc.w r1, r2, r3, lsr #15", 0, 0, r1, r2, r3, cv); 3293 TESTINST3("sbc.w r1, r2, r3, lsr #31", 0, 0, r1, r2, r3, cv); 3294 TESTINST3("sbc.w r1, r2, r3, asr #0 ", 0, 0, r1, r2, r3, cv); 3295 TESTINST3("sbc.w r1, r2, r3, asr #1 ", 0, 0, r1, r2, r3, cv); 3296 TESTINST3("sbc.w r1, r2, r3, asr #15", 0, 0, r1, r2, r3, cv); 3297 TESTINST3("sbc.w r1, r2, r3, asr #31", 0, 0, r1, r2, r3, cv); 3298 TESTINST3("sbcs.w r1, r2, r3, lsl #0 ", 1, 0, r1, r2, r3, cv); 3299 TESTINST3("sbcs.w r1, r2, r3, lsl #1 ", 1, 0, r1, r2, r3, cv); 3300 TESTINST3("sbcs.w r1, r2, r3, lsl #15", 1, 0, r1, r2, r3, cv); 3301 TESTINST3("sbcs.w r1, r2, r3, lsl #31", 1, 0, r1, r2, r3, cv); 3302 TESTINST3("sbcs.w r1, r2, r3, lsr #0 ", 1, 0, r1, r2, r3, cv); 3303 TESTINST3("sbcs.w r1, r2, r3, lsr #1 ", 1, 0, r1, r2, r3, cv); 3304 TESTINST3("sbcs.w r1, r2, r3, lsr #15", 1, 0, r1, r2, r3, cv); 3305 TESTINST3("sbcs.w r1, r2, r3, lsr #31", 1, 0, r1, r2, r3, cv); 3306 TESTINST3("sbcs.w r1, r2, r3, asr #0 ", 1, 0, r1, r2, r3, cv); 3307 TESTINST3("sbcs.w r1, r2, r3, asr #1 ", 1, 0, r1, r2, r3, cv); 3308 TESTINST3("sbcs.w r1, r2, r3, asr #15", 1, 0, r1, r2, r3, cv); 3309 TESTINST3("sbcs.w r1, r2, r3, asr #31", 1, 0, r1, r2, r3, cv); 3310 TESTINST3("sbc.w r1, r2, r3, lsl #0 ", 1, 0, r1, r2, r3, cv); 3311 TESTINST3("sbc.w r1, r2, r3, lsl #1 ", 1, 0, r1, r2, r3, cv); 3312 TESTINST3("sbc.w r1, r2, r3, lsl #15", 1, 0, r1, r2, r3, cv); 3313 TESTINST3("sbc.w r1, r2, r3, lsl #31", 1, 0, r1, r2, r3, cv); 3314 TESTINST3("sbc.w r1, r2, r3, lsr #0 ", 1, 0, r1, r2, r3, cv); 3315 TESTINST3("sbc.w r1, r2, r3, lsr #1 ", 1, 0, r1, r2, r3, cv); 3316 TESTINST3("sbc.w r1, r2, r3, lsr #15", 1, 0, r1, r2, r3, cv); 3317 TESTINST3("sbc.w r1, r2, r3, lsr #31", 1, 0, r1, r2, r3, cv); 3318 TESTINST3("sbc.w r1, r2, r3, asr #0 ", 1, 0, r1, r2, r3, cv); 3319 TESTINST3("sbc.w r1, r2, r3, asr #1 ", 1, 0, r1, r2, r3, cv); 3320 TESTINST3("sbc.w r1, r2, r3, asr #15", 1, 0, r1, r2, r3, cv); 3321 TESTINST3("sbc.w r1, r2, r3, asr #31", 1, 0, r1, r2, r3, cv); 3322 TESTINST3("sbcs.w r1, r2, r3, lsl #0 ", 0, 1, r1, r2, r3, cv); 3323 TESTINST3("sbcs.w r1, r2, r3, lsl #1 ", 0, 1, r1, r2, r3, cv); 3324 TESTINST3("sbcs.w r1, r2, r3, lsl #15", 0, 1, r1, r2, r3, cv); 3325 TESTINST3("sbcs.w r1, r2, r3, lsl #31", 0, 1, r1, r2, r3, cv); 3326 TESTINST3("sbcs.w r1, r2, r3, lsr #0 ", 0, 1, r1, r2, r3, cv); 3327 TESTINST3("sbcs.w r1, r2, r3, lsr #1 ", 0, 1, r1, r2, r3, cv); 3328 TESTINST3("sbcs.w r1, r2, r3, lsr #15", 0, 1, r1, r2, r3, cv); 3329 TESTINST3("sbcs.w r1, r2, r3, lsr #31", 0, 1, r1, r2, r3, cv); 3330 TESTINST3("sbcs.w r1, r2, r3, asr #0 ", 0, 1, r1, r2, r3, cv); 3331 TESTINST3("sbcs.w r1, r2, r3, asr #1 ", 0, 1, r1, r2, r3, cv); 3332 TESTINST3("sbcs.w r1, r2, r3, asr #15", 0, 1, r1, r2, r3, cv); 3333 TESTINST3("sbcs.w r1, r2, r3, asr #31", 0, 1, r1, r2, r3, cv); 3334 TESTINST3("sbc.w r1, r2, r3, lsl #0 ", 0, 1, r1, r2, r3, cv); 3335 TESTINST3("sbc.w r1, r2, r3, lsl #1 ", 0, 1, r1, r2, r3, cv); 3336 TESTINST3("sbc.w r1, r2, r3, lsl #15", 0, 1, r1, r2, r3, cv); 3337 TESTINST3("sbc.w r1, r2, r3, lsl #31", 0, 1, r1, r2, r3, cv); 3338 TESTINST3("sbc.w r1, r2, r3, lsr #0 ", 0, 1, r1, r2, r3, cv); 3339 TESTINST3("sbc.w r1, r2, r3, lsr #1 ", 0, 1, r1, r2, r3, cv); 3340 TESTINST3("sbc.w r1, r2, r3, lsr #15", 0, 1, r1, r2, r3, cv); 3341 TESTINST3("sbc.w r1, r2, r3, lsr #31", 0, 1, r1, r2, r3, cv); 3342 TESTINST3("sbc.w r1, r2, r3, asr #0 ", 0, 1, r1, r2, r3, cv); 3343 TESTINST3("sbc.w r1, r2, r3, asr #1 ", 0, 1, r1, r2, r3, cv); 3344 TESTINST3("sbc.w r1, r2, r3, asr #15", 0, 1, r1, r2, r3, cv); 3345 TESTINST3("sbc.w r1, r2, r3, asr #31", 0, 1, r1, r2, r3, cv); 3346 TESTINST3("sbcs.w r1, r2, r3, lsl #0 ", -1, 0, r1, r2, r3, cv); 3347 TESTINST3("sbcs.w r1, r2, r3, lsl #1 ", -1, 0, r1, r2, r3, cv); 3348 TESTINST3("sbcs.w r1, r2, r3, lsl #15", -1, 0, r1, r2, r3, cv); 3349 TESTINST3("sbcs.w r1, r2, r3, lsl #31", -1, 0, r1, r2, r3, cv); 3350 TESTINST3("sbcs.w r1, r2, r3, lsr #0 ", -1, 0, r1, r2, r3, cv); 3351 TESTINST3("sbcs.w r1, r2, r3, lsr #1 ", -1, 0, r1, r2, r3, cv); 3352 TESTINST3("sbcs.w r1, r2, r3, lsr #15", -1, 0, r1, r2, r3, cv); 3353 TESTINST3("sbcs.w r1, r2, r3, lsr #31", -1, 0, r1, r2, r3, cv); 3354 TESTINST3("sbcs.w r1, r2, r3, asr #0 ", -1, 0, r1, r2, r3, cv); 3355 TESTINST3("sbcs.w r1, r2, r3, asr #1 ", -1, 0, r1, r2, r3, cv); 3356 TESTINST3("sbcs.w r1, r2, r3, asr #15", -1, 0, r1, r2, r3, cv); 3357 TESTINST3("sbcs.w r1, r2, r3, asr #31", -1, 0, r1, r2, r3, cv); 3358 TESTINST3("sbc.w r1, r2, r3, lsl #0 ", -1, 0, r1, r2, r3, cv); 3359 TESTINST3("sbc.w r1, r2, r3, lsl #1 ", -1, 0, r1, r2, r3, cv); 3360 TESTINST3("sbc.w r1, r2, r3, lsl #15", -1, 0, r1, r2, r3, cv); 3361 TESTINST3("sbc.w r1, r2, r3, lsl #31", -1, 0, r1, r2, r3, cv); 3362 TESTINST3("sbc.w r1, r2, r3, lsr #0 ", -1, 0, r1, r2, r3, cv); 3363 TESTINST3("sbc.w r1, r2, r3, lsr #1 ", -1, 0, r1, r2, r3, cv); 3364 TESTINST3("sbc.w r1, r2, r3, lsr #15", -1, 0, r1, r2, r3, cv); 3365 TESTINST3("sbc.w r1, r2, r3, lsr #31", -1, 0, r1, r2, r3, cv); 3366 TESTINST3("sbc.w r1, r2, r3, asr #0 ", -1, 0, r1, r2, r3, cv); 3367 TESTINST3("sbc.w r1, r2, r3, asr #1 ", -1, 0, r1, r2, r3, cv); 3368 TESTINST3("sbc.w r1, r2, r3, asr #15", -1, 0, r1, r2, r3, cv); 3369 TESTINST3("sbc.w r1, r2, r3, asr #31", -1, 0, r1, r2, r3, cv); 3370 TESTINST3("sbcs.w r1, r2, r3, lsl #0 ", 0, -1, r1, r2, r3, cv); 3371 TESTINST3("sbcs.w r1, r2, r3, lsl #1 ", 0, -1, r1, r2, r3, cv); 3372 TESTINST3("sbcs.w r1, r2, r3, lsl #15", 0, -1, r1, r2, r3, cv); 3373 TESTINST3("sbcs.w r1, r2, r3, lsl #31", 0, -1, r1, r2, r3, cv); 3374 TESTINST3("sbcs.w r1, r2, r3, lsr #0 ", 0, -1, r1, r2, r3, cv); 3375 TESTINST3("sbcs.w r1, r2, r3, lsr #1 ", 0, -1, r1, r2, r3, cv); 3376 TESTINST3("sbcs.w r1, r2, r3, lsr #15", 0, -1, r1, r2, r3, cv); 3377 TESTINST3("sbcs.w r1, r2, r3, lsr #31", 0, -1, r1, r2, r3, cv); 3378 TESTINST3("sbcs.w r1, r2, r3, asr #0 ", 0, -1, r1, r2, r3, cv); 3379 TESTINST3("sbcs.w r1, r2, r3, asr #1 ", 0, -1, r1, r2, r3, cv); 3380 TESTINST3("sbcs.w r1, r2, r3, asr #15", 0, -1, r1, r2, r3, cv); 3381 TESTINST3("sbcs.w r1, r2, r3, asr #31", 0, -1, r1, r2, r3, cv); 3382 TESTINST3("sbc.w r1, r2, r3, lsl #0 ", 0, -1, r1, r2, r3, cv); 3383 TESTINST3("sbc.w r1, r2, r3, lsl #1 ", 0, -1, r1, r2, r3, cv); 3384 TESTINST3("sbc.w r1, r2, r3, lsl #15", 0, -1, r1, r2, r3, cv); 3385 TESTINST3("sbc.w r1, r2, r3, lsl #31", 0, -1, r1, r2, r3, cv); 3386 TESTINST3("sbc.w r1, r2, r3, lsr #0 ", 0, -1, r1, r2, r3, cv); 3387 TESTINST3("sbc.w r1, r2, r3, lsr #1 ", 0, -1, r1, r2, r3, cv); 3388 TESTINST3("sbc.w r1, r2, r3, lsr #15", 0, -1, r1, r2, r3, cv); 3389 TESTINST3("sbc.w r1, r2, r3, lsr #31", 0, -1, r1, r2, r3, cv); 3390 TESTINST3("sbc.w r1, r2, r3, asr #0 ", 0, -1, r1, r2, r3, cv); 3391 TESTINST3("sbc.w r1, r2, r3, asr #1 ", 0, -1, r1, r2, r3, cv); 3392 TESTINST3("sbc.w r1, r2, r3, asr #15", 0, -1, r1, r2, r3, cv); 3393 TESTINST3("sbc.w r1, r2, r3, asr #31", 0, -1, r1, r2, r3, cv); 3394 TESTINST3("sbcs.w r1, r2, r3, lsl #0 ", 0, 0x80000000, r1, r2, r3, cv); 3395 TESTINST3("sbcs.w r1, r2, r3, lsl #1 ", 0, 0x80000000, r1, r2, r3, cv); 3396 TESTINST3("sbcs.w r1, r2, r3, lsl #15", 0, 0x80000000, r1, r2, r3, cv); 3397 TESTINST3("sbcs.w r1, r2, r3, lsl #31", 0, 0x80000000, r1, r2, r3, cv); 3398 TESTINST3("sbcs.w r1, r2, r3, lsr #0 ", 0, 0x80000000, r1, r2, r3, cv); 3399 TESTINST3("sbcs.w r1, r2, r3, lsr #1 ", 0, 0x80000000, r1, r2, r3, cv); 3400 TESTINST3("sbcs.w r1, r2, r3, lsr #15", 0, 0x80000000, r1, r2, r3, cv); 3401 TESTINST3("sbcs.w r1, r2, r3, lsr #31", 0, 0x80000000, r1, r2, r3, cv); 3402 TESTINST3("sbcs.w r1, r2, r3, asr #0 ", 0, 0x80000000, r1, r2, r3, cv); 3403 TESTINST3("sbcs.w r1, r2, r3, asr #1 ", 0, 0x80000000, r1, r2, r3, cv); 3404 TESTINST3("sbcs.w r1, r2, r3, asr #15", 0, 0x80000000, r1, r2, r3, cv); 3405 TESTINST3("sbcs.w r1, r2, r3, asr #31", 0, 0x80000000, r1, r2, r3, cv); 3406 TESTINST3("sbc.w r1, r2, r3, lsl #0 ", 0, 0x80000000, r1, r2, r3, cv); 3407 TESTINST3("sbc.w r1, r2, r3, lsl #1 ", 0, 0x80000000, r1, r2, r3, cv); 3408 TESTINST3("sbc.w r1, r2, r3, lsl #15", 0, 0x80000000, r1, r2, r3, cv); 3409 TESTINST3("sbc.w r1, r2, r3, lsl #31", 0, 0x80000000, r1, r2, r3, cv); 3410 TESTINST3("sbc.w r1, r2, r3, lsr #0 ", 0, 0x80000000, r1, r2, r3, cv); 3411 TESTINST3("sbc.w r1, r2, r3, lsr #1 ", 0, 0x80000000, r1, r2, r3, cv); 3412 TESTINST3("sbc.w r1, r2, r3, lsr #15", 0, 0x80000000, r1, r2, r3, cv); 3413 TESTINST3("sbc.w r1, r2, r3, lsr #31", 0, 0x80000000, r1, r2, r3, cv); 3414 TESTINST3("sbc.w r1, r2, r3, asr #0 ", 0, 0x80000000, r1, r2, r3, cv); 3415 TESTINST3("sbc.w r1, r2, r3, asr #1 ", 0, 0x80000000, r1, r2, r3, cv); 3416 TESTINST3("sbc.w r1, r2, r3, asr #15", 0, 0x80000000, r1, r2, r3, cv); 3417 TESTINST3("sbc.w r1, r2, r3, asr #31", 0, 0x80000000, r1, r2, r3, cv); 3418 TESTINST3("sbcs.w r1, r2, r3, lsl #0 ", 0x80000000, 0, r1, r2, r3, cv); 3419 TESTINST3("sbcs.w r1, r2, r3, lsl #1 ", 0x80000000, 0, r1, r2, r3, cv); 3420 TESTINST3("sbcs.w r1, r2, r3, lsl #15", 0x80000000, 0, r1, r2, r3, cv); 3421 TESTINST3("sbcs.w r1, r2, r3, lsl #31", 0x80000000, 0, r1, r2, r3, cv); 3422 TESTINST3("sbcs.w r1, r2, r3, lsr #0 ", 0x80000000, 0, r1, r2, r3, cv); 3423 TESTINST3("sbcs.w r1, r2, r3, lsr #1 ", 0x80000000, 0, r1, r2, r3, cv); 3424 TESTINST3("sbcs.w r1, r2, r3, lsr #15", 0x80000000, 0, r1, r2, r3, cv); 3425 TESTINST3("sbcs.w r1, r2, r3, lsr #31", 0x80000000, 0, r1, r2, r3, cv); 3426 TESTINST3("sbcs.w r1, r2, r3, asr #0 ", 0x80000000, 0, r1, r2, r3, cv); 3427 TESTINST3("sbcs.w r1, r2, r3, asr #1 ", 0x80000000, 0, r1, r2, r3, cv); 3428 TESTINST3("sbcs.w r1, r2, r3, asr #15", 0x80000000, 0, r1, r2, r3, cv); 3429 TESTINST3("sbcs.w r1, r2, r3, asr #31", 0x80000000, 0, r1, r2, r3, cv); 3430 TESTINST3("sbc.w r1, r2, r3, lsl #0 ", 0x80000000, 0, r1, r2, r3, cv); 3431 TESTINST3("sbc.w r1, r2, r3, lsl #1 ", 0x80000000, 0, r1, r2, r3, cv); 3432 TESTINST3("sbc.w r1, r2, r3, lsl #15", 0x80000000, 0, r1, r2, r3, cv); 3433 TESTINST3("sbc.w r1, r2, r3, lsl #31", 0x80000000, 0, r1, r2, r3, cv); 3434 TESTINST3("sbc.w r1, r2, r3, lsr #0 ", 0x80000000, 0, r1, r2, r3, cv); 3435 TESTINST3("sbc.w r1, r2, r3, lsr #1 ", 0x80000000, 0, r1, r2, r3, cv); 3436 TESTINST3("sbc.w r1, r2, r3, lsr #15", 0x80000000, 0, r1, r2, r3, cv); 3437 TESTINST3("sbc.w r1, r2, r3, lsr #31", 0x80000000, 0, r1, r2, r3, cv); 3438 TESTINST3("sbc.w r1, r2, r3, asr #0 ", 0x80000000, 0, r1, r2, r3, cv); 3439 TESTINST3("sbc.w r1, r2, r3, asr #1 ", 0x80000000, 0, r1, r2, r3, cv); 3440 TESTINST3("sbc.w r1, r2, r3, asr #15", 0x80000000, 0, r1, r2, r3, cv); 3441 TESTINST3("sbc.w r1, r2, r3, asr #31", 0x80000000, 0, r1, r2, r3, cv); 3442 TESTINST3("sbcs.w r1, r2, r3, lsl #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 3443 TESTINST3("sbcs.w r1, r2, r3, lsl #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 3444 TESTINST3("sbcs.w r1, r2, r3, lsl #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 3445 TESTINST3("sbcs.w r1, r2, r3, lsl #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 3446 TESTINST3("sbcs.w r1, r2, r3, lsr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 3447 TESTINST3("sbcs.w r1, r2, r3, lsr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 3448 TESTINST3("sbcs.w r1, r2, r3, lsr #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 3449 TESTINST3("sbcs.w r1, r2, r3, lsr #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 3450 TESTINST3("sbcs.w r1, r2, r3, asr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 3451 TESTINST3("sbcs.w r1, r2, r3, asr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 3452 TESTINST3("sbcs.w r1, r2, r3, asr #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 3453 TESTINST3("sbcs.w r1, r2, r3, asr #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 3454 TESTINST3("sbc.w r1, r2, r3, lsl #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 3455 TESTINST3("sbc.w r1, r2, r3, lsl #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 3456 TESTINST3("sbc.w r1, r2, r3, lsl #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 3457 TESTINST3("sbc.w r1, r2, r3, lsl #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 3458 TESTINST3("sbc.w r1, r2, r3, lsr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 3459 TESTINST3("sbc.w r1, r2, r3, lsr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 3460 TESTINST3("sbc.w r1, r2, r3, lsr #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 3461 TESTINST3("sbc.w r1, r2, r3, lsr #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 3462 TESTINST3("sbc.w r1, r2, r3, asr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 3463 TESTINST3("sbc.w r1, r2, r3, asr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 3464 TESTINST3("sbc.w r1, r2, r3, asr #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 3465 TESTINST3("sbc.w r1, r2, r3, asr #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 3466 TESTINST3("sbcs.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 3467 TESTINST3("sbcs.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 3468 TESTINST3("sbcs.w r1, r2, r3, lsl #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 3469 TESTINST3("sbcs.w r1, r2, r3, lsl #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 3470 TESTINST3("sbcs.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 3471 TESTINST3("sbcs.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 3472 TESTINST3("sbcs.w r1, r2, r3, lsr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 3473 TESTINST3("sbcs.w r1, r2, r3, lsr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 3474 TESTINST3("sbcs.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 3475 TESTINST3("sbcs.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 3476 TESTINST3("sbcs.w r1, r2, r3, asr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 3477 TESTINST3("sbcs.w r1, r2, r3, asr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 3478 TESTINST3("sbc.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 3479 TESTINST3("sbc.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 3480 TESTINST3("sbc.w r1, r2, r3, lsl #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 3481 TESTINST3("sbc.w r1, r2, r3, lsl #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 3482 TESTINST3("sbc.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 3483 TESTINST3("sbc.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 3484 TESTINST3("sbc.w r1, r2, r3, lsr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 3485 TESTINST3("sbc.w r1, r2, r3, lsr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 3486 TESTINST3("sbc.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 3487 TESTINST3("sbc.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 3488 TESTINST3("sbc.w r1, r2, r3, asr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 3489 TESTINST3("sbc.w r1, r2, r3, asr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 3490 TESTINST3("sbcs.w r1, r2, r3, lsl #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 3491 TESTINST3("sbcs.w r1, r2, r3, lsl #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 3492 TESTINST3("sbcs.w r1, r2, r3, lsl #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 3493 TESTINST3("sbcs.w r1, r2, r3, lsl #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 3494 TESTINST3("sbcs.w r1, r2, r3, lsr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 3495 TESTINST3("sbcs.w r1, r2, r3, lsr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 3496 TESTINST3("sbcs.w r1, r2, r3, lsr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 3497 TESTINST3("sbcs.w r1, r2, r3, lsr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 3498 TESTINST3("sbcs.w r1, r2, r3, asr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 3499 TESTINST3("sbcs.w r1, r2, r3, asr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 3500 TESTINST3("sbcs.w r1, r2, r3, asr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 3501 TESTINST3("sbcs.w r1, r2, r3, asr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 3502 TESTINST3("sbc.w r1, r2, r3, lsl #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 3503 TESTINST3("sbc.w r1, r2, r3, lsl #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 3504 TESTINST3("sbc.w r1, r2, r3, lsl #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 3505 TESTINST3("sbc.w r1, r2, r3, lsl #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 3506 TESTINST3("sbc.w r1, r2, r3, lsr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 3507 TESTINST3("sbc.w r1, r2, r3, lsr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 3508 TESTINST3("sbc.w r1, r2, r3, lsr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 3509 TESTINST3("sbc.w r1, r2, r3, lsr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 3510 TESTINST3("sbc.w r1, r2, r3, asr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 3511 TESTINST3("sbc.w r1, r2, r3, asr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 3512 TESTINST3("sbc.w r1, r2, r3, asr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 3513 TESTINST3("sbc.w r1, r2, r3, asr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 3514 TESTINST3("sbcs.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 3515 TESTINST3("sbcs.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 3516 TESTINST3("sbcs.w r1, r2, r3, lsl #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 3517 TESTINST3("sbcs.w r1, r2, r3, lsl #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 3518 TESTINST3("sbcs.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 3519 TESTINST3("sbcs.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 3520 TESTINST3("sbcs.w r1, r2, r3, lsr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 3521 TESTINST3("sbcs.w r1, r2, r3, lsr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 3522 TESTINST3("sbcs.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 3523 TESTINST3("sbcs.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 3524 TESTINST3("sbcs.w r1, r2, r3, asr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 3525 TESTINST3("sbcs.w r1, r2, r3, asr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 3526 TESTINST3("sbc.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 3527 TESTINST3("sbc.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 3528 TESTINST3("sbc.w r1, r2, r3, lsl #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 3529 TESTINST3("sbc.w r1, r2, r3, lsl #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 3530 TESTINST3("sbc.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 3531 TESTINST3("sbc.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 3532 TESTINST3("sbc.w r1, r2, r3, lsr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 3533 TESTINST3("sbc.w r1, r2, r3, lsr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 3534 TESTINST3("sbc.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 3535 TESTINST3("sbc.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 3536 TESTINST3("sbc.w r1, r2, r3, asr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 3537 TESTINST3("sbc.w r1, r2, r3, asr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 3538 TESTCARRYEND 3539 3540#if 0 3541 printf("XXX{S}.W Rd, Rn, Rm, {shift}\n"); 3542 TESTCARRY 3543 TESTINST3("xxxs.w r1, r2, r3, lsl #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 3544 TESTINST3("xxxs.w r1, r2, r3, lsl #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 3545 TESTINST3("xxxs.w r1, r2, r3, lsl #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 3546 TESTINST3("xxxs.w r1, r2, r3, lsl #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 3547 TESTINST3("xxxs.w r1, r2, r3, lsr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 3548 TESTINST3("xxxs.w r1, r2, r3, lsr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 3549 TESTINST3("xxxs.w r1, r2, r3, lsr #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 3550 TESTINST3("xxxs.w r1, r2, r3, lsr #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 3551 TESTINST3("xxxs.w r1, r2, r3, asr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 3552 TESTINST3("xxxs.w r1, r2, r3, asr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 3553 TESTINST3("xxxs.w r1, r2, r3, asr #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 3554 TESTINST3("xxxs.w r1, r2, r3, asr #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 3555 TESTINST3("xxx.w r1, r2, r3, lsl #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 3556 TESTINST3("xxx.w r1, r2, r3, lsl #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 3557 TESTINST3("xxx.w r1, r2, r3, lsl #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 3558 TESTINST3("xxx.w r1, r2, r3, lsl #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 3559 TESTINST3("xxx.w r1, r2, r3, lsr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 3560 TESTINST3("xxx.w r1, r2, r3, lsr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 3561 TESTINST3("xxx.w r1, r2, r3, lsr #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 3562 TESTINST3("xxx.w r1, r2, r3, lsr #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 3563 TESTINST3("xxx.w r1, r2, r3, asr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 3564 TESTINST3("xxx.w r1, r2, r3, asr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 3565 TESTINST3("xxx.w r1, r2, r3, asr #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 3566 TESTINST3("xxx.w r1, r2, r3, asr #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 3567 TESTINST3("xxxs.w r1, r2, r3, lsl #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 3568 TESTINST3("xxxs.w r1, r2, r3, lsl #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 3569 TESTINST3("xxxs.w r1, r2, r3, lsl #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 3570 TESTINST3("xxxs.w r1, r2, r3, lsl #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 3571 TESTINST3("xxxs.w r1, r2, r3, lsr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 3572 TESTINST3("xxxs.w r1, r2, r3, lsr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 3573 TESTINST3("xxxs.w r1, r2, r3, lsr #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 3574 TESTINST3("xxxs.w r1, r2, r3, lsr #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 3575 TESTINST3("xxxs.w r1, r2, r3, asr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 3576 TESTINST3("xxxs.w r1, r2, r3, asr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 3577 TESTINST3("xxxs.w r1, r2, r3, asr #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 3578 TESTINST3("xxxs.w r1, r2, r3, asr #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 3579 TESTINST3("xxx.w r1, r2, r3, lsl #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 3580 TESTINST3("xxx.w r1, r2, r3, lsl #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 3581 TESTINST3("xxx.w r1, r2, r3, lsl #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 3582 TESTINST3("xxx.w r1, r2, r3, lsl #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 3583 TESTINST3("xxx.w r1, r2, r3, lsr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 3584 TESTINST3("xxx.w r1, r2, r3, lsr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 3585 TESTINST3("xxx.w r1, r2, r3, lsr #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 3586 TESTINST3("xxx.w r1, r2, r3, lsr #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 3587 TESTINST3("xxx.w r1, r2, r3, asr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 3588 TESTINST3("xxx.w r1, r2, r3, asr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 3589 TESTINST3("xxx.w r1, r2, r3, asr #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 3590 TESTINST3("xxx.w r1, r2, r3, asr #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 3591 TESTINST3("xxxs.w r1, r2, r3, lsl #0 ", 0, 0, r1, r2, r3, cv); 3592 TESTINST3("xxxs.w r1, r2, r3, lsl #1 ", 0, 0, r1, r2, r3, cv); 3593 TESTINST3("xxxs.w r1, r2, r3, lsl #15", 0, 0, r1, r2, r3, cv); 3594 TESTINST3("xxxs.w r1, r2, r3, lsl #31", 0, 0, r1, r2, r3, cv); 3595 TESTINST3("xxxs.w r1, r2, r3, lsr #0 ", 0, 0, r1, r2, r3, cv); 3596 TESTINST3("xxxs.w r1, r2, r3, lsr #1 ", 0, 0, r1, r2, r3, cv); 3597 TESTINST3("xxxs.w r1, r2, r3, lsr #15", 0, 0, r1, r2, r3, cv); 3598 TESTINST3("xxxs.w r1, r2, r3, lsr #31", 0, 0, r1, r2, r3, cv); 3599 TESTINST3("xxxs.w r1, r2, r3, asr #0 ", 0, 0, r1, r2, r3, cv); 3600 TESTINST3("xxxs.w r1, r2, r3, asr #1 ", 0, 0, r1, r2, r3, cv); 3601 TESTINST3("xxxs.w r1, r2, r3, asr #15", 0, 0, r1, r2, r3, cv); 3602 TESTINST3("xxxs.w r1, r2, r3, asr #31", 0, 0, r1, r2, r3, cv); 3603 TESTINST3("xxx.w r1, r2, r3, lsl #0 ", 0, 0, r1, r2, r3, cv); 3604 TESTINST3("xxx.w r1, r2, r3, lsl #1 ", 0, 0, r1, r2, r3, cv); 3605 TESTINST3("xxx.w r1, r2, r3, lsl #15", 0, 0, r1, r2, r3, cv); 3606 TESTINST3("xxx.w r1, r2, r3, lsl #31", 0, 0, r1, r2, r3, cv); 3607 TESTINST3("xxx.w r1, r2, r3, lsr #0 ", 0, 0, r1, r2, r3, cv); 3608 TESTINST3("xxx.w r1, r2, r3, lsr #1 ", 0, 0, r1, r2, r3, cv); 3609 TESTINST3("xxx.w r1, r2, r3, lsr #15", 0, 0, r1, r2, r3, cv); 3610 TESTINST3("xxx.w r1, r2, r3, lsr #31", 0, 0, r1, r2, r3, cv); 3611 TESTINST3("xxx.w r1, r2, r3, asr #0 ", 0, 0, r1, r2, r3, cv); 3612 TESTINST3("xxx.w r1, r2, r3, asr #1 ", 0, 0, r1, r2, r3, cv); 3613 TESTINST3("xxx.w r1, r2, r3, asr #15", 0, 0, r1, r2, r3, cv); 3614 TESTINST3("xxx.w r1, r2, r3, asr #31", 0, 0, r1, r2, r3, cv); 3615 TESTINST3("xxxs.w r1, r2, r3, lsl #0 ", 1, 0, r1, r2, r3, cv); 3616 TESTINST3("xxxs.w r1, r2, r3, lsl #1 ", 1, 0, r1, r2, r3, cv); 3617 TESTINST3("xxxs.w r1, r2, r3, lsl #15", 1, 0, r1, r2, r3, cv); 3618 TESTINST3("xxxs.w r1, r2, r3, lsl #31", 1, 0, r1, r2, r3, cv); 3619 TESTINST3("xxxs.w r1, r2, r3, lsr #0 ", 1, 0, r1, r2, r3, cv); 3620 TESTINST3("xxxs.w r1, r2, r3, lsr #1 ", 1, 0, r1, r2, r3, cv); 3621 TESTINST3("xxxs.w r1, r2, r3, lsr #15", 1, 0, r1, r2, r3, cv); 3622 TESTINST3("xxxs.w r1, r2, r3, lsr #31", 1, 0, r1, r2, r3, cv); 3623 TESTINST3("xxxs.w r1, r2, r3, asr #0 ", 1, 0, r1, r2, r3, cv); 3624 TESTINST3("xxxs.w r1, r2, r3, asr #1 ", 1, 0, r1, r2, r3, cv); 3625 TESTINST3("xxxs.w r1, r2, r3, asr #15", 1, 0, r1, r2, r3, cv); 3626 TESTINST3("xxxs.w r1, r2, r3, asr #31", 1, 0, r1, r2, r3, cv); 3627 TESTINST3("xxx.w r1, r2, r3, lsl #0 ", 1, 0, r1, r2, r3, cv); 3628 TESTINST3("xxx.w r1, r2, r3, lsl #1 ", 1, 0, r1, r2, r3, cv); 3629 TESTINST3("xxx.w r1, r2, r3, lsl #15", 1, 0, r1, r2, r3, cv); 3630 TESTINST3("xxx.w r1, r2, r3, lsl #31", 1, 0, r1, r2, r3, cv); 3631 TESTINST3("xxx.w r1, r2, r3, lsr #0 ", 1, 0, r1, r2, r3, cv); 3632 TESTINST3("xxx.w r1, r2, r3, lsr #1 ", 1, 0, r1, r2, r3, cv); 3633 TESTINST3("xxx.w r1, r2, r3, lsr #15", 1, 0, r1, r2, r3, cv); 3634 TESTINST3("xxx.w r1, r2, r3, lsr #31", 1, 0, r1, r2, r3, cv); 3635 TESTINST3("xxx.w r1, r2, r3, asr #0 ", 1, 0, r1, r2, r3, cv); 3636 TESTINST3("xxx.w r1, r2, r3, asr #1 ", 1, 0, r1, r2, r3, cv); 3637 TESTINST3("xxx.w r1, r2, r3, asr #15", 1, 0, r1, r2, r3, cv); 3638 TESTINST3("xxx.w r1, r2, r3, asr #31", 1, 0, r1, r2, r3, cv); 3639 TESTINST3("xxxs.w r1, r2, r3, lsl #0 ", 0, 1, r1, r2, r3, cv); 3640 TESTINST3("xxxs.w r1, r2, r3, lsl #1 ", 0, 1, r1, r2, r3, cv); 3641 TESTINST3("xxxs.w r1, r2, r3, lsl #15", 0, 1, r1, r2, r3, cv); 3642 TESTINST3("xxxs.w r1, r2, r3, lsl #31", 0, 1, r1, r2, r3, cv); 3643 TESTINST3("xxxs.w r1, r2, r3, lsr #0 ", 0, 1, r1, r2, r3, cv); 3644 TESTINST3("xxxs.w r1, r2, r3, lsr #1 ", 0, 1, r1, r2, r3, cv); 3645 TESTINST3("xxxs.w r1, r2, r3, lsr #15", 0, 1, r1, r2, r3, cv); 3646 TESTINST3("xxxs.w r1, r2, r3, lsr #31", 0, 1, r1, r2, r3, cv); 3647 TESTINST3("xxxs.w r1, r2, r3, asr #0 ", 0, 1, r1, r2, r3, cv); 3648 TESTINST3("xxxs.w r1, r2, r3, asr #1 ", 0, 1, r1, r2, r3, cv); 3649 TESTINST3("xxxs.w r1, r2, r3, asr #15", 0, 1, r1, r2, r3, cv); 3650 TESTINST3("xxxs.w r1, r2, r3, asr #31", 0, 1, r1, r2, r3, cv); 3651 TESTINST3("xxx.w r1, r2, r3, lsl #0 ", 0, 1, r1, r2, r3, cv); 3652 TESTINST3("xxx.w r1, r2, r3, lsl #1 ", 0, 1, r1, r2, r3, cv); 3653 TESTINST3("xxx.w r1, r2, r3, lsl #15", 0, 1, r1, r2, r3, cv); 3654 TESTINST3("xxx.w r1, r2, r3, lsl #31", 0, 1, r1, r2, r3, cv); 3655 TESTINST3("xxx.w r1, r2, r3, lsr #0 ", 0, 1, r1, r2, r3, cv); 3656 TESTINST3("xxx.w r1, r2, r3, lsr #1 ", 0, 1, r1, r2, r3, cv); 3657 TESTINST3("xxx.w r1, r2, r3, lsr #15", 0, 1, r1, r2, r3, cv); 3658 TESTINST3("xxx.w r1, r2, r3, lsr #31", 0, 1, r1, r2, r3, cv); 3659 TESTINST3("xxx.w r1, r2, r3, asr #0 ", 0, 1, r1, r2, r3, cv); 3660 TESTINST3("xxx.w r1, r2, r3, asr #1 ", 0, 1, r1, r2, r3, cv); 3661 TESTINST3("xxx.w r1, r2, r3, asr #15", 0, 1, r1, r2, r3, cv); 3662 TESTINST3("xxx.w r1, r2, r3, asr #31", 0, 1, r1, r2, r3, cv); 3663 TESTINST3("xxxs.w r1, r2, r3, lsl #0 ", -1, 0, r1, r2, r3, cv); 3664 TESTINST3("xxxs.w r1, r2, r3, lsl #1 ", -1, 0, r1, r2, r3, cv); 3665 TESTINST3("xxxs.w r1, r2, r3, lsl #15", -1, 0, r1, r2, r3, cv); 3666 TESTINST3("xxxs.w r1, r2, r3, lsl #31", -1, 0, r1, r2, r3, cv); 3667 TESTINST3("xxxs.w r1, r2, r3, lsr #0 ", -1, 0, r1, r2, r3, cv); 3668 TESTINST3("xxxs.w r1, r2, r3, lsr #1 ", -1, 0, r1, r2, r3, cv); 3669 TESTINST3("xxxs.w r1, r2, r3, lsr #15", -1, 0, r1, r2, r3, cv); 3670 TESTINST3("xxxs.w r1, r2, r3, lsr #31", -1, 0, r1, r2, r3, cv); 3671 TESTINST3("xxxs.w r1, r2, r3, asr #0 ", -1, 0, r1, r2, r3, cv); 3672 TESTINST3("xxxs.w r1, r2, r3, asr #1 ", -1, 0, r1, r2, r3, cv); 3673 TESTINST3("xxxs.w r1, r2, r3, asr #15", -1, 0, r1, r2, r3, cv); 3674 TESTINST3("xxxs.w r1, r2, r3, asr #31", -1, 0, r1, r2, r3, cv); 3675 TESTINST3("xxx.w r1, r2, r3, lsl #0 ", -1, 0, r1, r2, r3, cv); 3676 TESTINST3("xxx.w r1, r2, r3, lsl #1 ", -1, 0, r1, r2, r3, cv); 3677 TESTINST3("xxx.w r1, r2, r3, lsl #15", -1, 0, r1, r2, r3, cv); 3678 TESTINST3("xxx.w r1, r2, r3, lsl #31", -1, 0, r1, r2, r3, cv); 3679 TESTINST3("xxx.w r1, r2, r3, lsr #0 ", -1, 0, r1, r2, r3, cv); 3680 TESTINST3("xxx.w r1, r2, r3, lsr #1 ", -1, 0, r1, r2, r3, cv); 3681 TESTINST3("xxx.w r1, r2, r3, lsr #15", -1, 0, r1, r2, r3, cv); 3682 TESTINST3("xxx.w r1, r2, r3, lsr #31", -1, 0, r1, r2, r3, cv); 3683 TESTINST3("xxx.w r1, r2, r3, asr #0 ", -1, 0, r1, r2, r3, cv); 3684 TESTINST3("xxx.w r1, r2, r3, asr #1 ", -1, 0, r1, r2, r3, cv); 3685 TESTINST3("xxx.w r1, r2, r3, asr #15", -1, 0, r1, r2, r3, cv); 3686 TESTINST3("xxx.w r1, r2, r3, asr #31", -1, 0, r1, r2, r3, cv); 3687 TESTINST3("xxxs.w r1, r2, r3, lsl #0 ", 0, -1, r1, r2, r3, cv); 3688 TESTINST3("xxxs.w r1, r2, r3, lsl #1 ", 0, -1, r1, r2, r3, cv); 3689 TESTINST3("xxxs.w r1, r2, r3, lsl #15", 0, -1, r1, r2, r3, cv); 3690 TESTINST3("xxxs.w r1, r2, r3, lsl #31", 0, -1, r1, r2, r3, cv); 3691 TESTINST3("xxxs.w r1, r2, r3, lsr #0 ", 0, -1, r1, r2, r3, cv); 3692 TESTINST3("xxxs.w r1, r2, r3, lsr #1 ", 0, -1, r1, r2, r3, cv); 3693 TESTINST3("xxxs.w r1, r2, r3, lsr #15", 0, -1, r1, r2, r3, cv); 3694 TESTINST3("xxxs.w r1, r2, r3, lsr #31", 0, -1, r1, r2, r3, cv); 3695 TESTINST3("xxxs.w r1, r2, r3, asr #0 ", 0, -1, r1, r2, r3, cv); 3696 TESTINST3("xxxs.w r1, r2, r3, asr #1 ", 0, -1, r1, r2, r3, cv); 3697 TESTINST3("xxxs.w r1, r2, r3, asr #15", 0, -1, r1, r2, r3, cv); 3698 TESTINST3("xxxs.w r1, r2, r3, asr #31", 0, -1, r1, r2, r3, cv); 3699 TESTINST3("xxx.w r1, r2, r3, lsl #0 ", 0, -1, r1, r2, r3, cv); 3700 TESTINST3("xxx.w r1, r2, r3, lsl #1 ", 0, -1, r1, r2, r3, cv); 3701 TESTINST3("xxx.w r1, r2, r3, lsl #15", 0, -1, r1, r2, r3, cv); 3702 TESTINST3("xxx.w r1, r2, r3, lsl #31", 0, -1, r1, r2, r3, cv); 3703 TESTINST3("xxx.w r1, r2, r3, lsr #0 ", 0, -1, r1, r2, r3, cv); 3704 TESTINST3("xxx.w r1, r2, r3, lsr #1 ", 0, -1, r1, r2, r3, cv); 3705 TESTINST3("xxx.w r1, r2, r3, lsr #15", 0, -1, r1, r2, r3, cv); 3706 TESTINST3("xxx.w r1, r2, r3, lsr #31", 0, -1, r1, r2, r3, cv); 3707 TESTINST3("xxx.w r1, r2, r3, asr #0 ", 0, -1, r1, r2, r3, cv); 3708 TESTINST3("xxx.w r1, r2, r3, asr #1 ", 0, -1, r1, r2, r3, cv); 3709 TESTINST3("xxx.w r1, r2, r3, asr #15", 0, -1, r1, r2, r3, cv); 3710 TESTINST3("xxx.w r1, r2, r3, asr #31", 0, -1, r1, r2, r3, cv); 3711 TESTINST3("xxxs.w r1, r2, r3, lsl #0 ", 0, 0x80000000, r1, r2, r3, cv); 3712 TESTINST3("xxxs.w r1, r2, r3, lsl #1 ", 0, 0x80000000, r1, r2, r3, cv); 3713 TESTINST3("xxxs.w r1, r2, r3, lsl #15", 0, 0x80000000, r1, r2, r3, cv); 3714 TESTINST3("xxxs.w r1, r2, r3, lsl #31", 0, 0x80000000, r1, r2, r3, cv); 3715 TESTINST3("xxxs.w r1, r2, r3, lsr #0 ", 0, 0x80000000, r1, r2, r3, cv); 3716 TESTINST3("xxxs.w r1, r2, r3, lsr #1 ", 0, 0x80000000, r1, r2, r3, cv); 3717 TESTINST3("xxxs.w r1, r2, r3, lsr #15", 0, 0x80000000, r1, r2, r3, cv); 3718 TESTINST3("xxxs.w r1, r2, r3, lsr #31", 0, 0x80000000, r1, r2, r3, cv); 3719 TESTINST3("xxxs.w r1, r2, r3, asr #0 ", 0, 0x80000000, r1, r2, r3, cv); 3720 TESTINST3("xxxs.w r1, r2, r3, asr #1 ", 0, 0x80000000, r1, r2, r3, cv); 3721 TESTINST3("xxxs.w r1, r2, r3, asr #15", 0, 0x80000000, r1, r2, r3, cv); 3722 TESTINST3("xxxs.w r1, r2, r3, asr #31", 0, 0x80000000, r1, r2, r3, cv); 3723 TESTINST3("xxx.w r1, r2, r3, lsl #0 ", 0, 0x80000000, r1, r2, r3, cv); 3724 TESTINST3("xxx.w r1, r2, r3, lsl #1 ", 0, 0x80000000, r1, r2, r3, cv); 3725 TESTINST3("xxx.w r1, r2, r3, lsl #15", 0, 0x80000000, r1, r2, r3, cv); 3726 TESTINST3("xxx.w r1, r2, r3, lsl #31", 0, 0x80000000, r1, r2, r3, cv); 3727 TESTINST3("xxx.w r1, r2, r3, lsr #0 ", 0, 0x80000000, r1, r2, r3, cv); 3728 TESTINST3("xxx.w r1, r2, r3, lsr #1 ", 0, 0x80000000, r1, r2, r3, cv); 3729 TESTINST3("xxx.w r1, r2, r3, lsr #15", 0, 0x80000000, r1, r2, r3, cv); 3730 TESTINST3("xxx.w r1, r2, r3, lsr #31", 0, 0x80000000, r1, r2, r3, cv); 3731 TESTINST3("xxx.w r1, r2, r3, asr #0 ", 0, 0x80000000, r1, r2, r3, cv); 3732 TESTINST3("xxx.w r1, r2, r3, asr #1 ", 0, 0x80000000, r1, r2, r3, cv); 3733 TESTINST3("xxx.w r1, r2, r3, asr #15", 0, 0x80000000, r1, r2, r3, cv); 3734 TESTINST3("xxx.w r1, r2, r3, asr #31", 0, 0x80000000, r1, r2, r3, cv); 3735 TESTINST3("xxxs.w r1, r2, r3, lsl #0 ", 0x80000000, 0, r1, r2, r3, cv); 3736 TESTINST3("xxxs.w r1, r2, r3, lsl #1 ", 0x80000000, 0, r1, r2, r3, cv); 3737 TESTINST3("xxxs.w r1, r2, r3, lsl #15", 0x80000000, 0, r1, r2, r3, cv); 3738 TESTINST3("xxxs.w r1, r2, r3, lsl #31", 0x80000000, 0, r1, r2, r3, cv); 3739 TESTINST3("xxxs.w r1, r2, r3, lsr #0 ", 0x80000000, 0, r1, r2, r3, cv); 3740 TESTINST3("xxxs.w r1, r2, r3, lsr #1 ", 0x80000000, 0, r1, r2, r3, cv); 3741 TESTINST3("xxxs.w r1, r2, r3, lsr #15", 0x80000000, 0, r1, r2, r3, cv); 3742 TESTINST3("xxxs.w r1, r2, r3, lsr #31", 0x80000000, 0, r1, r2, r3, cv); 3743 TESTINST3("xxxs.w r1, r2, r3, asr #0 ", 0x80000000, 0, r1, r2, r3, cv); 3744 TESTINST3("xxxs.w r1, r2, r3, asr #1 ", 0x80000000, 0, r1, r2, r3, cv); 3745 TESTINST3("xxxs.w r1, r2, r3, asr #15", 0x80000000, 0, r1, r2, r3, cv); 3746 TESTINST3("xxxs.w r1, r2, r3, asr #31", 0x80000000, 0, r1, r2, r3, cv); 3747 TESTINST3("xxx.w r1, r2, r3, lsl #0 ", 0x80000000, 0, r1, r2, r3, cv); 3748 TESTINST3("xxx.w r1, r2, r3, lsl #1 ", 0x80000000, 0, r1, r2, r3, cv); 3749 TESTINST3("xxx.w r1, r2, r3, lsl #15", 0x80000000, 0, r1, r2, r3, cv); 3750 TESTINST3("xxx.w r1, r2, r3, lsl #31", 0x80000000, 0, r1, r2, r3, cv); 3751 TESTINST3("xxx.w r1, r2, r3, lsr #0 ", 0x80000000, 0, r1, r2, r3, cv); 3752 TESTINST3("xxx.w r1, r2, r3, lsr #1 ", 0x80000000, 0, r1, r2, r3, cv); 3753 TESTINST3("xxx.w r1, r2, r3, lsr #15", 0x80000000, 0, r1, r2, r3, cv); 3754 TESTINST3("xxx.w r1, r2, r3, lsr #31", 0x80000000, 0, r1, r2, r3, cv); 3755 TESTINST3("xxx.w r1, r2, r3, asr #0 ", 0x80000000, 0, r1, r2, r3, cv); 3756 TESTINST3("xxx.w r1, r2, r3, asr #1 ", 0x80000000, 0, r1, r2, r3, cv); 3757 TESTINST3("xxx.w r1, r2, r3, asr #15", 0x80000000, 0, r1, r2, r3, cv); 3758 TESTINST3("xxx.w r1, r2, r3, asr #31", 0x80000000, 0, r1, r2, r3, cv); 3759 TESTINST3("xxxs.w r1, r2, r3, lsl #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 3760 TESTINST3("xxxs.w r1, r2, r3, lsl #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 3761 TESTINST3("xxxs.w r1, r2, r3, lsl #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 3762 TESTINST3("xxxs.w r1, r2, r3, lsl #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 3763 TESTINST3("xxxs.w r1, r2, r3, lsr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 3764 TESTINST3("xxxs.w r1, r2, r3, lsr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 3765 TESTINST3("xxxs.w r1, r2, r3, lsr #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 3766 TESTINST3("xxxs.w r1, r2, r3, lsr #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 3767 TESTINST3("xxxs.w r1, r2, r3, asr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 3768 TESTINST3("xxxs.w r1, r2, r3, asr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 3769 TESTINST3("xxxs.w r1, r2, r3, asr #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 3770 TESTINST3("xxxs.w r1, r2, r3, asr #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 3771 TESTINST3("xxx.w r1, r2, r3, lsl #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 3772 TESTINST3("xxx.w r1, r2, r3, lsl #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 3773 TESTINST3("xxx.w r1, r2, r3, lsl #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 3774 TESTINST3("xxx.w r1, r2, r3, lsl #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 3775 TESTINST3("xxx.w r1, r2, r3, lsr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 3776 TESTINST3("xxx.w r1, r2, r3, lsr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 3777 TESTINST3("xxx.w r1, r2, r3, lsr #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 3778 TESTINST3("xxx.w r1, r2, r3, lsr #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 3779 TESTINST3("xxx.w r1, r2, r3, asr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 3780 TESTINST3("xxx.w r1, r2, r3, asr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 3781 TESTINST3("xxx.w r1, r2, r3, asr #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 3782 TESTINST3("xxx.w r1, r2, r3, asr #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 3783 TESTINST3("xxxs.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 3784 TESTINST3("xxxs.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 3785 TESTINST3("xxxs.w r1, r2, r3, lsl #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 3786 TESTINST3("xxxs.w r1, r2, r3, lsl #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 3787 TESTINST3("xxxs.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 3788 TESTINST3("xxxs.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 3789 TESTINST3("xxxs.w r1, r2, r3, lsr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 3790 TESTINST3("xxxs.w r1, r2, r3, lsr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 3791 TESTINST3("xxxs.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 3792 TESTINST3("xxxs.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 3793 TESTINST3("xxxs.w r1, r2, r3, asr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 3794 TESTINST3("xxxs.w r1, r2, r3, asr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 3795 TESTINST3("xxx.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 3796 TESTINST3("xxx.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 3797 TESTINST3("xxx.w r1, r2, r3, lsl #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 3798 TESTINST3("xxx.w r1, r2, r3, lsl #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 3799 TESTINST3("xxx.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 3800 TESTINST3("xxx.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 3801 TESTINST3("xxx.w r1, r2, r3, lsr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 3802 TESTINST3("xxx.w r1, r2, r3, lsr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 3803 TESTINST3("xxx.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 3804 TESTINST3("xxx.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 3805 TESTINST3("xxx.w r1, r2, r3, asr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 3806 TESTINST3("xxx.w r1, r2, r3, asr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 3807 TESTINST3("xxxs.w r1, r2, r3, lsl #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 3808 TESTINST3("xxxs.w r1, r2, r3, lsl #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 3809 TESTINST3("xxxs.w r1, r2, r3, lsl #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 3810 TESTINST3("xxxs.w r1, r2, r3, lsl #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 3811 TESTINST3("xxxs.w r1, r2, r3, lsr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 3812 TESTINST3("xxxs.w r1, r2, r3, lsr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 3813 TESTINST3("xxxs.w r1, r2, r3, lsr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 3814 TESTINST3("xxxs.w r1, r2, r3, lsr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 3815 TESTINST3("xxxs.w r1, r2, r3, asr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 3816 TESTINST3("xxxs.w r1, r2, r3, asr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 3817 TESTINST3("xxxs.w r1, r2, r3, asr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 3818 TESTINST3("xxxs.w r1, r2, r3, asr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 3819 TESTINST3("xxx.w r1, r2, r3, lsl #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 3820 TESTINST3("xxx.w r1, r2, r3, lsl #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 3821 TESTINST3("xxx.w r1, r2, r3, lsl #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 3822 TESTINST3("xxx.w r1, r2, r3, lsl #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 3823 TESTINST3("xxx.w r1, r2, r3, lsr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 3824 TESTINST3("xxx.w r1, r2, r3, lsr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 3825 TESTINST3("xxx.w r1, r2, r3, lsr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 3826 TESTINST3("xxx.w r1, r2, r3, lsr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 3827 TESTINST3("xxx.w r1, r2, r3, asr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 3828 TESTINST3("xxx.w r1, r2, r3, asr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 3829 TESTINST3("xxx.w r1, r2, r3, asr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 3830 TESTINST3("xxx.w r1, r2, r3, asr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 3831 TESTINST3("xxxs.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 3832 TESTINST3("xxxs.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 3833 TESTINST3("xxxs.w r1, r2, r3, lsl #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 3834 TESTINST3("xxxs.w r1, r2, r3, lsl #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 3835 TESTINST3("xxxs.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 3836 TESTINST3("xxxs.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 3837 TESTINST3("xxxs.w r1, r2, r3, lsr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 3838 TESTINST3("xxxs.w r1, r2, r3, lsr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 3839 TESTINST3("xxxs.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 3840 TESTINST3("xxxs.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 3841 TESTINST3("xxxs.w r1, r2, r3, asr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 3842 TESTINST3("xxxs.w r1, r2, r3, asr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 3843 TESTINST3("xxx.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 3844 TESTINST3("xxx.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 3845 TESTINST3("xxx.w r1, r2, r3, lsl #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 3846 TESTINST3("xxx.w r1, r2, r3, lsl #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 3847 TESTINST3("xxx.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 3848 TESTINST3("xxx.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 3849 TESTINST3("xxx.w r1, r2, r3, lsr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 3850 TESTINST3("xxx.w r1, r2, r3, lsr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 3851 TESTINST3("xxx.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 3852 TESTINST3("xxx.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 3853 TESTINST3("xxx.w r1, r2, r3, asr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 3854 TESTINST3("xxx.w r1, r2, r3, asr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 3855 TESTCARRYEND 3856#endif 3857 3858 printf("AND{S}.W Rd, Rn, Rm, {shift}\n"); 3859 TESTCARRY 3860 TESTINST3("ands.w r1, r2, r3, lsl #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 3861 TESTINST3("ands.w r1, r2, r3, lsl #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 3862 TESTINST3("ands.w r1, r2, r3, lsl #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 3863 TESTINST3("ands.w r1, r2, r3, lsl #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 3864 TESTINST3("ands.w r1, r2, r3, lsr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 3865 TESTINST3("ands.w r1, r2, r3, lsr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 3866 TESTINST3("ands.w r1, r2, r3, lsr #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 3867 TESTINST3("ands.w r1, r2, r3, lsr #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 3868 TESTINST3("ands.w r1, r2, r3, asr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 3869 TESTINST3("ands.w r1, r2, r3, asr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 3870 TESTINST3("ands.w r1, r2, r3, asr #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 3871 TESTINST3("ands.w r1, r2, r3, asr #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 3872 TESTINST3("and.w r1, r2, r3, lsl #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 3873 TESTINST3("and.w r1, r2, r3, lsl #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 3874 TESTINST3("and.w r1, r2, r3, lsl #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 3875 TESTINST3("and.w r1, r2, r3, lsl #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 3876 TESTINST3("and.w r1, r2, r3, lsr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 3877 TESTINST3("and.w r1, r2, r3, lsr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 3878 TESTINST3("and.w r1, r2, r3, lsr #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 3879 TESTINST3("and.w r1, r2, r3, lsr #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 3880 TESTINST3("and.w r1, r2, r3, asr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 3881 TESTINST3("and.w r1, r2, r3, asr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 3882 TESTINST3("and.w r1, r2, r3, asr #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 3883 TESTINST3("and.w r1, r2, r3, asr #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 3884 TESTINST3("ands.w r1, r2, r3, lsl #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 3885 TESTINST3("ands.w r1, r2, r3, lsl #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 3886 TESTINST3("ands.w r1, r2, r3, lsl #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 3887 TESTINST3("ands.w r1, r2, r3, lsl #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 3888 TESTINST3("ands.w r1, r2, r3, lsr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 3889 TESTINST3("ands.w r1, r2, r3, lsr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 3890 TESTINST3("ands.w r1, r2, r3, lsr #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 3891 TESTINST3("ands.w r1, r2, r3, lsr #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 3892 TESTINST3("ands.w r1, r2, r3, asr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 3893 TESTINST3("ands.w r1, r2, r3, asr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 3894 TESTINST3("ands.w r1, r2, r3, asr #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 3895 TESTINST3("ands.w r1, r2, r3, asr #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 3896 TESTINST3("and.w r1, r2, r3, lsl #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 3897 TESTINST3("and.w r1, r2, r3, lsl #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 3898 TESTINST3("and.w r1, r2, r3, lsl #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 3899 TESTINST3("and.w r1, r2, r3, lsl #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 3900 TESTINST3("and.w r1, r2, r3, lsr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 3901 TESTINST3("and.w r1, r2, r3, lsr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 3902 TESTINST3("and.w r1, r2, r3, lsr #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 3903 TESTINST3("and.w r1, r2, r3, lsr #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 3904 TESTINST3("and.w r1, r2, r3, asr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 3905 TESTINST3("and.w r1, r2, r3, asr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 3906 TESTINST3("and.w r1, r2, r3, asr #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 3907 TESTINST3("and.w r1, r2, r3, asr #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 3908 TESTINST3("ands.w r1, r2, r3, lsl #0 ", 0, 0, r1, r2, r3, cv); 3909 TESTINST3("ands.w r1, r2, r3, lsl #1 ", 0, 0, r1, r2, r3, cv); 3910 TESTINST3("ands.w r1, r2, r3, lsl #15", 0, 0, r1, r2, r3, cv); 3911 TESTINST3("ands.w r1, r2, r3, lsl #31", 0, 0, r1, r2, r3, cv); 3912 TESTINST3("ands.w r1, r2, r3, lsr #0 ", 0, 0, r1, r2, r3, cv); 3913 TESTINST3("ands.w r1, r2, r3, lsr #1 ", 0, 0, r1, r2, r3, cv); 3914 TESTINST3("ands.w r1, r2, r3, lsr #15", 0, 0, r1, r2, r3, cv); 3915 TESTINST3("ands.w r1, r2, r3, lsr #31", 0, 0, r1, r2, r3, cv); 3916 TESTINST3("ands.w r1, r2, r3, asr #0 ", 0, 0, r1, r2, r3, cv); 3917 TESTINST3("ands.w r1, r2, r3, asr #1 ", 0, 0, r1, r2, r3, cv); 3918 TESTINST3("ands.w r1, r2, r3, asr #15", 0, 0, r1, r2, r3, cv); 3919 TESTINST3("ands.w r1, r2, r3, asr #31", 0, 0, r1, r2, r3, cv); 3920 TESTINST3("and.w r1, r2, r3, lsl #0 ", 0, 0, r1, r2, r3, cv); 3921 TESTINST3("and.w r1, r2, r3, lsl #1 ", 0, 0, r1, r2, r3, cv); 3922 TESTINST3("and.w r1, r2, r3, lsl #15", 0, 0, r1, r2, r3, cv); 3923 TESTINST3("and.w r1, r2, r3, lsl #31", 0, 0, r1, r2, r3, cv); 3924 TESTINST3("and.w r1, r2, r3, lsr #0 ", 0, 0, r1, r2, r3, cv); 3925 TESTINST3("and.w r1, r2, r3, lsr #1 ", 0, 0, r1, r2, r3, cv); 3926 TESTINST3("and.w r1, r2, r3, lsr #15", 0, 0, r1, r2, r3, cv); 3927 TESTINST3("and.w r1, r2, r3, lsr #31", 0, 0, r1, r2, r3, cv); 3928 TESTINST3("and.w r1, r2, r3, asr #0 ", 0, 0, r1, r2, r3, cv); 3929 TESTINST3("and.w r1, r2, r3, asr #1 ", 0, 0, r1, r2, r3, cv); 3930 TESTINST3("and.w r1, r2, r3, asr #15", 0, 0, r1, r2, r3, cv); 3931 TESTINST3("and.w r1, r2, r3, asr #31", 0, 0, r1, r2, r3, cv); 3932 TESTINST3("ands.w r1, r2, r3, lsl #0 ", 1, 0, r1, r2, r3, cv); 3933 TESTINST3("ands.w r1, r2, r3, lsl #1 ", 1, 0, r1, r2, r3, cv); 3934 TESTINST3("ands.w r1, r2, r3, lsl #15", 1, 0, r1, r2, r3, cv); 3935 TESTINST3("ands.w r1, r2, r3, lsl #31", 1, 0, r1, r2, r3, cv); 3936 TESTINST3("ands.w r1, r2, r3, lsr #0 ", 1, 0, r1, r2, r3, cv); 3937 TESTINST3("ands.w r1, r2, r3, lsr #1 ", 1, 0, r1, r2, r3, cv); 3938 TESTINST3("ands.w r1, r2, r3, lsr #15", 1, 0, r1, r2, r3, cv); 3939 TESTINST3("ands.w r1, r2, r3, lsr #31", 1, 0, r1, r2, r3, cv); 3940 TESTINST3("ands.w r1, r2, r3, asr #0 ", 1, 0, r1, r2, r3, cv); 3941 TESTINST3("ands.w r1, r2, r3, asr #1 ", 1, 0, r1, r2, r3, cv); 3942 TESTINST3("ands.w r1, r2, r3, asr #15", 1, 0, r1, r2, r3, cv); 3943 TESTINST3("ands.w r1, r2, r3, asr #31", 1, 0, r1, r2, r3, cv); 3944 TESTINST3("and.w r1, r2, r3, lsl #0 ", 1, 0, r1, r2, r3, cv); 3945 TESTINST3("and.w r1, r2, r3, lsl #1 ", 1, 0, r1, r2, r3, cv); 3946 TESTINST3("and.w r1, r2, r3, lsl #15", 1, 0, r1, r2, r3, cv); 3947 TESTINST3("and.w r1, r2, r3, lsl #31", 1, 0, r1, r2, r3, cv); 3948 TESTINST3("and.w r1, r2, r3, lsr #0 ", 1, 0, r1, r2, r3, cv); 3949 TESTINST3("and.w r1, r2, r3, lsr #1 ", 1, 0, r1, r2, r3, cv); 3950 TESTINST3("and.w r1, r2, r3, lsr #15", 1, 0, r1, r2, r3, cv); 3951 TESTINST3("and.w r1, r2, r3, lsr #31", 1, 0, r1, r2, r3, cv); 3952 TESTINST3("and.w r1, r2, r3, asr #0 ", 1, 0, r1, r2, r3, cv); 3953 TESTINST3("and.w r1, r2, r3, asr #1 ", 1, 0, r1, r2, r3, cv); 3954 TESTINST3("and.w r1, r2, r3, asr #15", 1, 0, r1, r2, r3, cv); 3955 TESTINST3("and.w r1, r2, r3, asr #31", 1, 0, r1, r2, r3, cv); 3956 TESTINST3("ands.w r1, r2, r3, lsl #0 ", 0, 1, r1, r2, r3, cv); 3957 TESTINST3("ands.w r1, r2, r3, lsl #1 ", 0, 1, r1, r2, r3, cv); 3958 TESTINST3("ands.w r1, r2, r3, lsl #15", 0, 1, r1, r2, r3, cv); 3959 TESTINST3("ands.w r1, r2, r3, lsl #31", 0, 1, r1, r2, r3, cv); 3960 TESTINST3("ands.w r1, r2, r3, lsr #0 ", 0, 1, r1, r2, r3, cv); 3961 TESTINST3("ands.w r1, r2, r3, lsr #1 ", 0, 1, r1, r2, r3, cv); 3962 TESTINST3("ands.w r1, r2, r3, lsr #15", 0, 1, r1, r2, r3, cv); 3963 TESTINST3("ands.w r1, r2, r3, lsr #31", 0, 1, r1, r2, r3, cv); 3964 TESTINST3("ands.w r1, r2, r3, asr #0 ", 0, 1, r1, r2, r3, cv); 3965 TESTINST3("ands.w r1, r2, r3, asr #1 ", 0, 1, r1, r2, r3, cv); 3966 TESTINST3("ands.w r1, r2, r3, asr #15", 0, 1, r1, r2, r3, cv); 3967 TESTINST3("ands.w r1, r2, r3, asr #31", 0, 1, r1, r2, r3, cv); 3968 TESTINST3("and.w r1, r2, r3, lsl #0 ", 0, 1, r1, r2, r3, cv); 3969 TESTINST3("and.w r1, r2, r3, lsl #1 ", 0, 1, r1, r2, r3, cv); 3970 TESTINST3("and.w r1, r2, r3, lsl #15", 0, 1, r1, r2, r3, cv); 3971 TESTINST3("and.w r1, r2, r3, lsl #31", 0, 1, r1, r2, r3, cv); 3972 TESTINST3("and.w r1, r2, r3, lsr #0 ", 0, 1, r1, r2, r3, cv); 3973 TESTINST3("and.w r1, r2, r3, lsr #1 ", 0, 1, r1, r2, r3, cv); 3974 TESTINST3("and.w r1, r2, r3, lsr #15", 0, 1, r1, r2, r3, cv); 3975 TESTINST3("and.w r1, r2, r3, lsr #31", 0, 1, r1, r2, r3, cv); 3976 TESTINST3("and.w r1, r2, r3, asr #0 ", 0, 1, r1, r2, r3, cv); 3977 TESTINST3("and.w r1, r2, r3, asr #1 ", 0, 1, r1, r2, r3, cv); 3978 TESTINST3("and.w r1, r2, r3, asr #15", 0, 1, r1, r2, r3, cv); 3979 TESTINST3("and.w r1, r2, r3, asr #31", 0, 1, r1, r2, r3, cv); 3980 TESTINST3("ands.w r1, r2, r3, lsl #0 ", -1, 0, r1, r2, r3, cv); 3981 TESTINST3("ands.w r1, r2, r3, lsl #1 ", -1, 0, r1, r2, r3, cv); 3982 TESTINST3("ands.w r1, r2, r3, lsl #15", -1, 0, r1, r2, r3, cv); 3983 TESTINST3("ands.w r1, r2, r3, lsl #31", -1, 0, r1, r2, r3, cv); 3984 TESTINST3("ands.w r1, r2, r3, lsr #0 ", -1, 0, r1, r2, r3, cv); 3985 TESTINST3("ands.w r1, r2, r3, lsr #1 ", -1, 0, r1, r2, r3, cv); 3986 TESTINST3("ands.w r1, r2, r3, lsr #15", -1, 0, r1, r2, r3, cv); 3987 TESTINST3("ands.w r1, r2, r3, lsr #31", -1, 0, r1, r2, r3, cv); 3988 TESTINST3("ands.w r1, r2, r3, asr #0 ", -1, 0, r1, r2, r3, cv); 3989 TESTINST3("ands.w r1, r2, r3, asr #1 ", -1, 0, r1, r2, r3, cv); 3990 TESTINST3("ands.w r1, r2, r3, asr #15", -1, 0, r1, r2, r3, cv); 3991 TESTINST3("ands.w r1, r2, r3, asr #31", -1, 0, r1, r2, r3, cv); 3992 TESTINST3("and.w r1, r2, r3, lsl #0 ", -1, 0, r1, r2, r3, cv); 3993 TESTINST3("and.w r1, r2, r3, lsl #1 ", -1, 0, r1, r2, r3, cv); 3994 TESTINST3("and.w r1, r2, r3, lsl #15", -1, 0, r1, r2, r3, cv); 3995 TESTINST3("and.w r1, r2, r3, lsl #31", -1, 0, r1, r2, r3, cv); 3996 TESTINST3("and.w r1, r2, r3, lsr #0 ", -1, 0, r1, r2, r3, cv); 3997 TESTINST3("and.w r1, r2, r3, lsr #1 ", -1, 0, r1, r2, r3, cv); 3998 TESTINST3("and.w r1, r2, r3, lsr #15", -1, 0, r1, r2, r3, cv); 3999 TESTINST3("and.w r1, r2, r3, lsr #31", -1, 0, r1, r2, r3, cv); 4000 TESTINST3("and.w r1, r2, r3, asr #0 ", -1, 0, r1, r2, r3, cv); 4001 TESTINST3("and.w r1, r2, r3, asr #1 ", -1, 0, r1, r2, r3, cv); 4002 TESTINST3("and.w r1, r2, r3, asr #15", -1, 0, r1, r2, r3, cv); 4003 TESTINST3("and.w r1, r2, r3, asr #31", -1, 0, r1, r2, r3, cv); 4004 TESTINST3("ands.w r1, r2, r3, lsl #0 ", 0, -1, r1, r2, r3, cv); 4005 TESTINST3("ands.w r1, r2, r3, lsl #1 ", 0, -1, r1, r2, r3, cv); 4006 TESTINST3("ands.w r1, r2, r3, lsl #15", 0, -1, r1, r2, r3, cv); 4007 TESTINST3("ands.w r1, r2, r3, lsl #31", 0, -1, r1, r2, r3, cv); 4008 TESTINST3("ands.w r1, r2, r3, lsr #0 ", 0, -1, r1, r2, r3, cv); 4009 TESTINST3("ands.w r1, r2, r3, lsr #1 ", 0, -1, r1, r2, r3, cv); 4010 TESTINST3("ands.w r1, r2, r3, lsr #15", 0, -1, r1, r2, r3, cv); 4011 TESTINST3("ands.w r1, r2, r3, lsr #31", 0, -1, r1, r2, r3, cv); 4012 TESTINST3("ands.w r1, r2, r3, asr #0 ", 0, -1, r1, r2, r3, cv); 4013 TESTINST3("ands.w r1, r2, r3, asr #1 ", 0, -1, r1, r2, r3, cv); 4014 TESTINST3("ands.w r1, r2, r3, asr #15", 0, -1, r1, r2, r3, cv); 4015 TESTINST3("ands.w r1, r2, r3, asr #31", 0, -1, r1, r2, r3, cv); 4016 TESTINST3("and.w r1, r2, r3, lsl #0 ", 0, -1, r1, r2, r3, cv); 4017 TESTINST3("and.w r1, r2, r3, lsl #1 ", 0, -1, r1, r2, r3, cv); 4018 TESTINST3("and.w r1, r2, r3, lsl #15", 0, -1, r1, r2, r3, cv); 4019 TESTINST3("and.w r1, r2, r3, lsl #31", 0, -1, r1, r2, r3, cv); 4020 TESTINST3("and.w r1, r2, r3, lsr #0 ", 0, -1, r1, r2, r3, cv); 4021 TESTINST3("and.w r1, r2, r3, lsr #1 ", 0, -1, r1, r2, r3, cv); 4022 TESTINST3("and.w r1, r2, r3, lsr #15", 0, -1, r1, r2, r3, cv); 4023 TESTINST3("and.w r1, r2, r3, lsr #31", 0, -1, r1, r2, r3, cv); 4024 TESTINST3("and.w r1, r2, r3, asr #0 ", 0, -1, r1, r2, r3, cv); 4025 TESTINST3("and.w r1, r2, r3, asr #1 ", 0, -1, r1, r2, r3, cv); 4026 TESTINST3("and.w r1, r2, r3, asr #15", 0, -1, r1, r2, r3, cv); 4027 TESTINST3("and.w r1, r2, r3, asr #31", 0, -1, r1, r2, r3, cv); 4028 TESTINST3("ands.w r1, r2, r3, lsl #0 ", 0, 0x80000000, r1, r2, r3, cv); 4029 TESTINST3("ands.w r1, r2, r3, lsl #1 ", 0, 0x80000000, r1, r2, r3, cv); 4030 TESTINST3("ands.w r1, r2, r3, lsl #15", 0, 0x80000000, r1, r2, r3, cv); 4031 TESTINST3("ands.w r1, r2, r3, lsl #31", 0, 0x80000000, r1, r2, r3, cv); 4032 TESTINST3("ands.w r1, r2, r3, lsr #0 ", 0, 0x80000000, r1, r2, r3, cv); 4033 TESTINST3("ands.w r1, r2, r3, lsr #1 ", 0, 0x80000000, r1, r2, r3, cv); 4034 TESTINST3("ands.w r1, r2, r3, lsr #15", 0, 0x80000000, r1, r2, r3, cv); 4035 TESTINST3("ands.w r1, r2, r3, lsr #31", 0, 0x80000000, r1, r2, r3, cv); 4036 TESTINST3("ands.w r1, r2, r3, asr #0 ", 0, 0x80000000, r1, r2, r3, cv); 4037 TESTINST3("ands.w r1, r2, r3, asr #1 ", 0, 0x80000000, r1, r2, r3, cv); 4038 TESTINST3("ands.w r1, r2, r3, asr #15", 0, 0x80000000, r1, r2, r3, cv); 4039 TESTINST3("ands.w r1, r2, r3, asr #31", 0, 0x80000000, r1, r2, r3, cv); 4040 TESTINST3("and.w r1, r2, r3, lsl #0 ", 0, 0x80000000, r1, r2, r3, cv); 4041 TESTINST3("and.w r1, r2, r3, lsl #1 ", 0, 0x80000000, r1, r2, r3, cv); 4042 TESTINST3("and.w r1, r2, r3, lsl #15", 0, 0x80000000, r1, r2, r3, cv); 4043 TESTINST3("and.w r1, r2, r3, lsl #31", 0, 0x80000000, r1, r2, r3, cv); 4044 TESTINST3("and.w r1, r2, r3, lsr #0 ", 0, 0x80000000, r1, r2, r3, cv); 4045 TESTINST3("and.w r1, r2, r3, lsr #1 ", 0, 0x80000000, r1, r2, r3, cv); 4046 TESTINST3("and.w r1, r2, r3, lsr #15", 0, 0x80000000, r1, r2, r3, cv); 4047 TESTINST3("and.w r1, r2, r3, lsr #31", 0, 0x80000000, r1, r2, r3, cv); 4048 TESTINST3("and.w r1, r2, r3, asr #0 ", 0, 0x80000000, r1, r2, r3, cv); 4049 TESTINST3("and.w r1, r2, r3, asr #1 ", 0, 0x80000000, r1, r2, r3, cv); 4050 TESTINST3("and.w r1, r2, r3, asr #15", 0, 0x80000000, r1, r2, r3, cv); 4051 TESTINST3("and.w r1, r2, r3, asr #31", 0, 0x80000000, r1, r2, r3, cv); 4052 TESTINST3("ands.w r1, r2, r3, lsl #0 ", 0x80000000, 0, r1, r2, r3, cv); 4053 TESTINST3("ands.w r1, r2, r3, lsl #1 ", 0x80000000, 0, r1, r2, r3, cv); 4054 TESTINST3("ands.w r1, r2, r3, lsl #15", 0x80000000, 0, r1, r2, r3, cv); 4055 TESTINST3("ands.w r1, r2, r3, lsl #31", 0x80000000, 0, r1, r2, r3, cv); 4056 TESTINST3("ands.w r1, r2, r3, lsr #0 ", 0x80000000, 0, r1, r2, r3, cv); 4057 TESTINST3("ands.w r1, r2, r3, lsr #1 ", 0x80000000, 0, r1, r2, r3, cv); 4058 TESTINST3("ands.w r1, r2, r3, lsr #15", 0x80000000, 0, r1, r2, r3, cv); 4059 TESTINST3("ands.w r1, r2, r3, lsr #31", 0x80000000, 0, r1, r2, r3, cv); 4060 TESTINST3("ands.w r1, r2, r3, asr #0 ", 0x80000000, 0, r1, r2, r3, cv); 4061 TESTINST3("ands.w r1, r2, r3, asr #1 ", 0x80000000, 0, r1, r2, r3, cv); 4062 TESTINST3("ands.w r1, r2, r3, asr #15", 0x80000000, 0, r1, r2, r3, cv); 4063 TESTINST3("ands.w r1, r2, r3, asr #31", 0x80000000, 0, r1, r2, r3, cv); 4064 TESTINST3("and.w r1, r2, r3, lsl #0 ", 0x80000000, 0, r1, r2, r3, cv); 4065 TESTINST3("and.w r1, r2, r3, lsl #1 ", 0x80000000, 0, r1, r2, r3, cv); 4066 TESTINST3("and.w r1, r2, r3, lsl #15", 0x80000000, 0, r1, r2, r3, cv); 4067 TESTINST3("and.w r1, r2, r3, lsl #31", 0x80000000, 0, r1, r2, r3, cv); 4068 TESTINST3("and.w r1, r2, r3, lsr #0 ", 0x80000000, 0, r1, r2, r3, cv); 4069 TESTINST3("and.w r1, r2, r3, lsr #1 ", 0x80000000, 0, r1, r2, r3, cv); 4070 TESTINST3("and.w r1, r2, r3, lsr #15", 0x80000000, 0, r1, r2, r3, cv); 4071 TESTINST3("and.w r1, r2, r3, lsr #31", 0x80000000, 0, r1, r2, r3, cv); 4072 TESTINST3("and.w r1, r2, r3, asr #0 ", 0x80000000, 0, r1, r2, r3, cv); 4073 TESTINST3("and.w r1, r2, r3, asr #1 ", 0x80000000, 0, r1, r2, r3, cv); 4074 TESTINST3("and.w r1, r2, r3, asr #15", 0x80000000, 0, r1, r2, r3, cv); 4075 TESTINST3("and.w r1, r2, r3, asr #31", 0x80000000, 0, r1, r2, r3, cv); 4076 TESTINST3("ands.w r1, r2, r3, lsl #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 4077 TESTINST3("ands.w r1, r2, r3, lsl #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 4078 TESTINST3("ands.w r1, r2, r3, lsl #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 4079 TESTINST3("ands.w r1, r2, r3, lsl #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 4080 TESTINST3("ands.w r1, r2, r3, lsr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 4081 TESTINST3("ands.w r1, r2, r3, lsr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 4082 TESTINST3("ands.w r1, r2, r3, lsr #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 4083 TESTINST3("ands.w r1, r2, r3, lsr #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 4084 TESTINST3("ands.w r1, r2, r3, asr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 4085 TESTINST3("ands.w r1, r2, r3, asr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 4086 TESTINST3("ands.w r1, r2, r3, asr #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 4087 TESTINST3("ands.w r1, r2, r3, asr #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 4088 TESTINST3("and.w r1, r2, r3, lsl #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 4089 TESTINST3("and.w r1, r2, r3, lsl #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 4090 TESTINST3("and.w r1, r2, r3, lsl #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 4091 TESTINST3("and.w r1, r2, r3, lsl #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 4092 TESTINST3("and.w r1, r2, r3, lsr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 4093 TESTINST3("and.w r1, r2, r3, lsr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 4094 TESTINST3("and.w r1, r2, r3, lsr #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 4095 TESTINST3("and.w r1, r2, r3, lsr #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 4096 TESTINST3("and.w r1, r2, r3, asr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 4097 TESTINST3("and.w r1, r2, r3, asr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 4098 TESTINST3("and.w r1, r2, r3, asr #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 4099 TESTINST3("and.w r1, r2, r3, asr #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 4100 TESTINST3("ands.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 4101 TESTINST3("ands.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 4102 TESTINST3("ands.w r1, r2, r3, lsl #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 4103 TESTINST3("ands.w r1, r2, r3, lsl #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 4104 TESTINST3("ands.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 4105 TESTINST3("ands.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 4106 TESTINST3("ands.w r1, r2, r3, lsr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 4107 TESTINST3("ands.w r1, r2, r3, lsr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 4108 TESTINST3("ands.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 4109 TESTINST3("ands.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 4110 TESTINST3("ands.w r1, r2, r3, asr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 4111 TESTINST3("ands.w r1, r2, r3, asr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 4112 TESTINST3("and.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 4113 TESTINST3("and.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 4114 TESTINST3("and.w r1, r2, r3, lsl #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 4115 TESTINST3("and.w r1, r2, r3, lsl #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 4116 TESTINST3("and.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 4117 TESTINST3("and.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 4118 TESTINST3("and.w r1, r2, r3, lsr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 4119 TESTINST3("and.w r1, r2, r3, lsr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 4120 TESTINST3("and.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 4121 TESTINST3("and.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 4122 TESTINST3("and.w r1, r2, r3, asr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 4123 TESTINST3("and.w r1, r2, r3, asr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 4124 TESTINST3("ands.w r1, r2, r3, lsl #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 4125 TESTINST3("ands.w r1, r2, r3, lsl #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 4126 TESTINST3("ands.w r1, r2, r3, lsl #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 4127 TESTINST3("ands.w r1, r2, r3, lsl #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 4128 TESTINST3("ands.w r1, r2, r3, lsr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 4129 TESTINST3("ands.w r1, r2, r3, lsr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 4130 TESTINST3("ands.w r1, r2, r3, lsr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 4131 TESTINST3("ands.w r1, r2, r3, lsr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 4132 TESTINST3("ands.w r1, r2, r3, asr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 4133 TESTINST3("ands.w r1, r2, r3, asr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 4134 TESTINST3("ands.w r1, r2, r3, asr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 4135 TESTINST3("ands.w r1, r2, r3, asr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 4136 TESTINST3("and.w r1, r2, r3, lsl #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 4137 TESTINST3("and.w r1, r2, r3, lsl #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 4138 TESTINST3("and.w r1, r2, r3, lsl #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 4139 TESTINST3("and.w r1, r2, r3, lsl #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 4140 TESTINST3("and.w r1, r2, r3, lsr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 4141 TESTINST3("and.w r1, r2, r3, lsr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 4142 TESTINST3("and.w r1, r2, r3, lsr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 4143 TESTINST3("and.w r1, r2, r3, lsr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 4144 TESTINST3("and.w r1, r2, r3, asr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 4145 TESTINST3("and.w r1, r2, r3, asr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 4146 TESTINST3("and.w r1, r2, r3, asr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 4147 TESTINST3("and.w r1, r2, r3, asr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 4148 TESTINST3("ands.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 4149 TESTINST3("ands.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 4150 TESTINST3("ands.w r1, r2, r3, lsl #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 4151 TESTINST3("ands.w r1, r2, r3, lsl #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 4152 TESTINST3("ands.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 4153 TESTINST3("ands.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 4154 TESTINST3("ands.w r1, r2, r3, lsr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 4155 TESTINST3("ands.w r1, r2, r3, lsr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 4156 TESTINST3("ands.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 4157 TESTINST3("ands.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 4158 TESTINST3("ands.w r1, r2, r3, asr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 4159 TESTINST3("ands.w r1, r2, r3, asr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 4160 TESTINST3("and.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 4161 TESTINST3("and.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 4162 TESTINST3("and.w r1, r2, r3, lsl #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 4163 TESTINST3("and.w r1, r2, r3, lsl #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 4164 TESTINST3("and.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 4165 TESTINST3("and.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 4166 TESTINST3("and.w r1, r2, r3, lsr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 4167 TESTINST3("and.w r1, r2, r3, lsr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 4168 TESTINST3("and.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 4169 TESTINST3("and.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 4170 TESTINST3("and.w r1, r2, r3, asr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 4171 TESTINST3("and.w r1, r2, r3, asr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 4172 TESTCARRYEND 4173 4174 printf("ORR{S}.W Rd, Rn, Rm, {shift}\n"); 4175 TESTCARRY 4176 TESTINST3("orrs.w r1, r2, r3, lsl #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 4177 TESTINST3("orrs.w r1, r2, r3, lsl #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 4178 TESTINST3("orrs.w r1, r2, r3, lsl #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 4179 TESTINST3("orrs.w r1, r2, r3, lsl #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 4180 TESTINST3("orrs.w r1, r2, r3, lsr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 4181 TESTINST3("orrs.w r1, r2, r3, lsr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 4182 TESTINST3("orrs.w r1, r2, r3, lsr #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 4183 TESTINST3("orrs.w r1, r2, r3, lsr #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 4184 TESTINST3("orrs.w r1, r2, r3, asr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 4185 TESTINST3("orrs.w r1, r2, r3, asr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 4186 TESTINST3("orrs.w r1, r2, r3, asr #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 4187 TESTINST3("orrs.w r1, r2, r3, asr #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 4188 TESTINST3("orr.w r1, r2, r3, lsl #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 4189 TESTINST3("orr.w r1, r2, r3, lsl #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 4190 TESTINST3("orr.w r1, r2, r3, lsl #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 4191 TESTINST3("orr.w r1, r2, r3, lsl #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 4192 TESTINST3("orr.w r1, r2, r3, lsr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 4193 TESTINST3("orr.w r1, r2, r3, lsr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 4194 TESTINST3("orr.w r1, r2, r3, lsr #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 4195 TESTINST3("orr.w r1, r2, r3, lsr #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 4196 TESTINST3("orr.w r1, r2, r3, asr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 4197 TESTINST3("orr.w r1, r2, r3, asr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 4198 TESTINST3("orr.w r1, r2, r3, asr #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 4199 TESTINST3("orr.w r1, r2, r3, asr #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 4200 TESTINST3("orrs.w r1, r2, r3, lsl #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 4201 TESTINST3("orrs.w r1, r2, r3, lsl #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 4202 TESTINST3("orrs.w r1, r2, r3, lsl #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 4203 TESTINST3("orrs.w r1, r2, r3, lsl #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 4204 TESTINST3("orrs.w r1, r2, r3, lsr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 4205 TESTINST3("orrs.w r1, r2, r3, lsr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 4206 TESTINST3("orrs.w r1, r2, r3, lsr #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 4207 TESTINST3("orrs.w r1, r2, r3, lsr #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 4208 TESTINST3("orrs.w r1, r2, r3, asr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 4209 TESTINST3("orrs.w r1, r2, r3, asr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 4210 TESTINST3("orrs.w r1, r2, r3, asr #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 4211 TESTINST3("orrs.w r1, r2, r3, asr #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 4212 TESTINST3("orr.w r1, r2, r3, lsl #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 4213 TESTINST3("orr.w r1, r2, r3, lsl #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 4214 TESTINST3("orr.w r1, r2, r3, lsl #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 4215 TESTINST3("orr.w r1, r2, r3, lsl #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 4216 TESTINST3("orr.w r1, r2, r3, lsr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 4217 TESTINST3("orr.w r1, r2, r3, lsr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 4218 TESTINST3("orr.w r1, r2, r3, lsr #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 4219 TESTINST3("orr.w r1, r2, r3, lsr #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 4220 TESTINST3("orr.w r1, r2, r3, asr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 4221 TESTINST3("orr.w r1, r2, r3, asr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 4222 TESTINST3("orr.w r1, r2, r3, asr #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 4223 TESTINST3("orr.w r1, r2, r3, asr #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 4224 TESTINST3("orrs.w r1, r2, r3, lsl #0 ", 0, 0, r1, r2, r3, cv); 4225 TESTINST3("orrs.w r1, r2, r3, lsl #1 ", 0, 0, r1, r2, r3, cv); 4226 TESTINST3("orrs.w r1, r2, r3, lsl #15", 0, 0, r1, r2, r3, cv); 4227 TESTINST3("orrs.w r1, r2, r3, lsl #31", 0, 0, r1, r2, r3, cv); 4228 TESTINST3("orrs.w r1, r2, r3, lsr #0 ", 0, 0, r1, r2, r3, cv); 4229 TESTINST3("orrs.w r1, r2, r3, lsr #1 ", 0, 0, r1, r2, r3, cv); 4230 TESTINST3("orrs.w r1, r2, r3, lsr #15", 0, 0, r1, r2, r3, cv); 4231 TESTINST3("orrs.w r1, r2, r3, lsr #31", 0, 0, r1, r2, r3, cv); 4232 TESTINST3("orrs.w r1, r2, r3, asr #0 ", 0, 0, r1, r2, r3, cv); 4233 TESTINST3("orrs.w r1, r2, r3, asr #1 ", 0, 0, r1, r2, r3, cv); 4234 TESTINST3("orrs.w r1, r2, r3, asr #15", 0, 0, r1, r2, r3, cv); 4235 TESTINST3("orrs.w r1, r2, r3, asr #31", 0, 0, r1, r2, r3, cv); 4236 TESTINST3("orr.w r1, r2, r3, lsl #0 ", 0, 0, r1, r2, r3, cv); 4237 TESTINST3("orr.w r1, r2, r3, lsl #1 ", 0, 0, r1, r2, r3, cv); 4238 TESTINST3("orr.w r1, r2, r3, lsl #15", 0, 0, r1, r2, r3, cv); 4239 TESTINST3("orr.w r1, r2, r3, lsl #31", 0, 0, r1, r2, r3, cv); 4240 TESTINST3("orr.w r1, r2, r3, lsr #0 ", 0, 0, r1, r2, r3, cv); 4241 TESTINST3("orr.w r1, r2, r3, lsr #1 ", 0, 0, r1, r2, r3, cv); 4242 TESTINST3("orr.w r1, r2, r3, lsr #15", 0, 0, r1, r2, r3, cv); 4243 TESTINST3("orr.w r1, r2, r3, lsr #31", 0, 0, r1, r2, r3, cv); 4244 TESTINST3("orr.w r1, r2, r3, asr #0 ", 0, 0, r1, r2, r3, cv); 4245 TESTINST3("orr.w r1, r2, r3, asr #1 ", 0, 0, r1, r2, r3, cv); 4246 TESTINST3("orr.w r1, r2, r3, asr #15", 0, 0, r1, r2, r3, cv); 4247 TESTINST3("orr.w r1, r2, r3, asr #31", 0, 0, r1, r2, r3, cv); 4248 TESTINST3("orrs.w r1, r2, r3, lsl #0 ", 1, 0, r1, r2, r3, cv); 4249 TESTINST3("orrs.w r1, r2, r3, lsl #1 ", 1, 0, r1, r2, r3, cv); 4250 TESTINST3("orrs.w r1, r2, r3, lsl #15", 1, 0, r1, r2, r3, cv); 4251 TESTINST3("orrs.w r1, r2, r3, lsl #31", 1, 0, r1, r2, r3, cv); 4252 TESTINST3("orrs.w r1, r2, r3, lsr #0 ", 1, 0, r1, r2, r3, cv); 4253 TESTINST3("orrs.w r1, r2, r3, lsr #1 ", 1, 0, r1, r2, r3, cv); 4254 TESTINST3("orrs.w r1, r2, r3, lsr #15", 1, 0, r1, r2, r3, cv); 4255 TESTINST3("orrs.w r1, r2, r3, lsr #31", 1, 0, r1, r2, r3, cv); 4256 TESTINST3("orrs.w r1, r2, r3, asr #0 ", 1, 0, r1, r2, r3, cv); 4257 TESTINST3("orrs.w r1, r2, r3, asr #1 ", 1, 0, r1, r2, r3, cv); 4258 TESTINST3("orrs.w r1, r2, r3, asr #15", 1, 0, r1, r2, r3, cv); 4259 TESTINST3("orrs.w r1, r2, r3, asr #31", 1, 0, r1, r2, r3, cv); 4260 TESTINST3("orr.w r1, r2, r3, lsl #0 ", 1, 0, r1, r2, r3, cv); 4261 TESTINST3("orr.w r1, r2, r3, lsl #1 ", 1, 0, r1, r2, r3, cv); 4262 TESTINST3("orr.w r1, r2, r3, lsl #15", 1, 0, r1, r2, r3, cv); 4263 TESTINST3("orr.w r1, r2, r3, lsl #31", 1, 0, r1, r2, r3, cv); 4264 TESTINST3("orr.w r1, r2, r3, lsr #0 ", 1, 0, r1, r2, r3, cv); 4265 TESTINST3("orr.w r1, r2, r3, lsr #1 ", 1, 0, r1, r2, r3, cv); 4266 TESTINST3("orr.w r1, r2, r3, lsr #15", 1, 0, r1, r2, r3, cv); 4267 TESTINST3("orr.w r1, r2, r3, lsr #31", 1, 0, r1, r2, r3, cv); 4268 TESTINST3("orr.w r1, r2, r3, asr #0 ", 1, 0, r1, r2, r3, cv); 4269 TESTINST3("orr.w r1, r2, r3, asr #1 ", 1, 0, r1, r2, r3, cv); 4270 TESTINST3("orr.w r1, r2, r3, asr #15", 1, 0, r1, r2, r3, cv); 4271 TESTINST3("orr.w r1, r2, r3, asr #31", 1, 0, r1, r2, r3, cv); 4272 TESTINST3("orrs.w r1, r2, r3, lsl #0 ", 0, 1, r1, r2, r3, cv); 4273 TESTINST3("orrs.w r1, r2, r3, lsl #1 ", 0, 1, r1, r2, r3, cv); 4274 TESTINST3("orrs.w r1, r2, r3, lsl #15", 0, 1, r1, r2, r3, cv); 4275 TESTINST3("orrs.w r1, r2, r3, lsl #31", 0, 1, r1, r2, r3, cv); 4276 TESTINST3("orrs.w r1, r2, r3, lsr #0 ", 0, 1, r1, r2, r3, cv); 4277 TESTINST3("orrs.w r1, r2, r3, lsr #1 ", 0, 1, r1, r2, r3, cv); 4278 TESTINST3("orrs.w r1, r2, r3, lsr #15", 0, 1, r1, r2, r3, cv); 4279 TESTINST3("orrs.w r1, r2, r3, lsr #31", 0, 1, r1, r2, r3, cv); 4280 TESTINST3("orrs.w r1, r2, r3, asr #0 ", 0, 1, r1, r2, r3, cv); 4281 TESTINST3("orrs.w r1, r2, r3, asr #1 ", 0, 1, r1, r2, r3, cv); 4282 TESTINST3("orrs.w r1, r2, r3, asr #15", 0, 1, r1, r2, r3, cv); 4283 TESTINST3("orrs.w r1, r2, r3, asr #31", 0, 1, r1, r2, r3, cv); 4284 TESTINST3("orr.w r1, r2, r3, lsl #0 ", 0, 1, r1, r2, r3, cv); 4285 TESTINST3("orr.w r1, r2, r3, lsl #1 ", 0, 1, r1, r2, r3, cv); 4286 TESTINST3("orr.w r1, r2, r3, lsl #15", 0, 1, r1, r2, r3, cv); 4287 TESTINST3("orr.w r1, r2, r3, lsl #31", 0, 1, r1, r2, r3, cv); 4288 TESTINST3("orr.w r1, r2, r3, lsr #0 ", 0, 1, r1, r2, r3, cv); 4289 TESTINST3("orr.w r1, r2, r3, lsr #1 ", 0, 1, r1, r2, r3, cv); 4290 TESTINST3("orr.w r1, r2, r3, lsr #15", 0, 1, r1, r2, r3, cv); 4291 TESTINST3("orr.w r1, r2, r3, lsr #31", 0, 1, r1, r2, r3, cv); 4292 TESTINST3("orr.w r1, r2, r3, asr #0 ", 0, 1, r1, r2, r3, cv); 4293 TESTINST3("orr.w r1, r2, r3, asr #1 ", 0, 1, r1, r2, r3, cv); 4294 TESTINST3("orr.w r1, r2, r3, asr #15", 0, 1, r1, r2, r3, cv); 4295 TESTINST3("orr.w r1, r2, r3, asr #31", 0, 1, r1, r2, r3, cv); 4296 TESTINST3("orrs.w r1, r2, r3, lsl #0 ", -1, 0, r1, r2, r3, cv); 4297 TESTINST3("orrs.w r1, r2, r3, lsl #1 ", -1, 0, r1, r2, r3, cv); 4298 TESTINST3("orrs.w r1, r2, r3, lsl #15", -1, 0, r1, r2, r3, cv); 4299 TESTINST3("orrs.w r1, r2, r3, lsl #31", -1, 0, r1, r2, r3, cv); 4300 TESTINST3("orrs.w r1, r2, r3, lsr #0 ", -1, 0, r1, r2, r3, cv); 4301 TESTINST3("orrs.w r1, r2, r3, lsr #1 ", -1, 0, r1, r2, r3, cv); 4302 TESTINST3("orrs.w r1, r2, r3, lsr #15", -1, 0, r1, r2, r3, cv); 4303 TESTINST3("orrs.w r1, r2, r3, lsr #31", -1, 0, r1, r2, r3, cv); 4304 TESTINST3("orrs.w r1, r2, r3, asr #0 ", -1, 0, r1, r2, r3, cv); 4305 TESTINST3("orrs.w r1, r2, r3, asr #1 ", -1, 0, r1, r2, r3, cv); 4306 TESTINST3("orrs.w r1, r2, r3, asr #15", -1, 0, r1, r2, r3, cv); 4307 TESTINST3("orrs.w r1, r2, r3, asr #31", -1, 0, r1, r2, r3, cv); 4308 TESTINST3("orr.w r1, r2, r3, lsl #0 ", -1, 0, r1, r2, r3, cv); 4309 TESTINST3("orr.w r1, r2, r3, lsl #1 ", -1, 0, r1, r2, r3, cv); 4310 TESTINST3("orr.w r1, r2, r3, lsl #15", -1, 0, r1, r2, r3, cv); 4311 TESTINST3("orr.w r1, r2, r3, lsl #31", -1, 0, r1, r2, r3, cv); 4312 TESTINST3("orr.w r1, r2, r3, lsr #0 ", -1, 0, r1, r2, r3, cv); 4313 TESTINST3("orr.w r1, r2, r3, lsr #1 ", -1, 0, r1, r2, r3, cv); 4314 TESTINST3("orr.w r1, r2, r3, lsr #15", -1, 0, r1, r2, r3, cv); 4315 TESTINST3("orr.w r1, r2, r3, lsr #31", -1, 0, r1, r2, r3, cv); 4316 TESTINST3("orr.w r1, r2, r3, asr #0 ", -1, 0, r1, r2, r3, cv); 4317 TESTINST3("orr.w r1, r2, r3, asr #1 ", -1, 0, r1, r2, r3, cv); 4318 TESTINST3("orr.w r1, r2, r3, asr #15", -1, 0, r1, r2, r3, cv); 4319 TESTINST3("orr.w r1, r2, r3, asr #31", -1, 0, r1, r2, r3, cv); 4320 TESTINST3("orrs.w r1, r2, r3, lsl #0 ", 0, -1, r1, r2, r3, cv); 4321 TESTINST3("orrs.w r1, r2, r3, lsl #1 ", 0, -1, r1, r2, r3, cv); 4322 TESTINST3("orrs.w r1, r2, r3, lsl #15", 0, -1, r1, r2, r3, cv); 4323 TESTINST3("orrs.w r1, r2, r3, lsl #31", 0, -1, r1, r2, r3, cv); 4324 TESTINST3("orrs.w r1, r2, r3, lsr #0 ", 0, -1, r1, r2, r3, cv); 4325 TESTINST3("orrs.w r1, r2, r3, lsr #1 ", 0, -1, r1, r2, r3, cv); 4326 TESTINST3("orrs.w r1, r2, r3, lsr #15", 0, -1, r1, r2, r3, cv); 4327 TESTINST3("orrs.w r1, r2, r3, lsr #31", 0, -1, r1, r2, r3, cv); 4328 TESTINST3("orrs.w r1, r2, r3, asr #0 ", 0, -1, r1, r2, r3, cv); 4329 TESTINST3("orrs.w r1, r2, r3, asr #1 ", 0, -1, r1, r2, r3, cv); 4330 TESTINST3("orrs.w r1, r2, r3, asr #15", 0, -1, r1, r2, r3, cv); 4331 TESTINST3("orrs.w r1, r2, r3, asr #31", 0, -1, r1, r2, r3, cv); 4332 TESTINST3("orr.w r1, r2, r3, lsl #0 ", 0, -1, r1, r2, r3, cv); 4333 TESTINST3("orr.w r1, r2, r3, lsl #1 ", 0, -1, r1, r2, r3, cv); 4334 TESTINST3("orr.w r1, r2, r3, lsl #15", 0, -1, r1, r2, r3, cv); 4335 TESTINST3("orr.w r1, r2, r3, lsl #31", 0, -1, r1, r2, r3, cv); 4336 TESTINST3("orr.w r1, r2, r3, lsr #0 ", 0, -1, r1, r2, r3, cv); 4337 TESTINST3("orr.w r1, r2, r3, lsr #1 ", 0, -1, r1, r2, r3, cv); 4338 TESTINST3("orr.w r1, r2, r3, lsr #15", 0, -1, r1, r2, r3, cv); 4339 TESTINST3("orr.w r1, r2, r3, lsr #31", 0, -1, r1, r2, r3, cv); 4340 TESTINST3("orr.w r1, r2, r3, asr #0 ", 0, -1, r1, r2, r3, cv); 4341 TESTINST3("orr.w r1, r2, r3, asr #1 ", 0, -1, r1, r2, r3, cv); 4342 TESTINST3("orr.w r1, r2, r3, asr #15", 0, -1, r1, r2, r3, cv); 4343 TESTINST3("orr.w r1, r2, r3, asr #31", 0, -1, r1, r2, r3, cv); 4344 TESTINST3("orrs.w r1, r2, r3, lsl #0 ", 0, 0x80000000, r1, r2, r3, cv); 4345 TESTINST3("orrs.w r1, r2, r3, lsl #1 ", 0, 0x80000000, r1, r2, r3, cv); 4346 TESTINST3("orrs.w r1, r2, r3, lsl #15", 0, 0x80000000, r1, r2, r3, cv); 4347 TESTINST3("orrs.w r1, r2, r3, lsl #31", 0, 0x80000000, r1, r2, r3, cv); 4348 TESTINST3("orrs.w r1, r2, r3, lsr #0 ", 0, 0x80000000, r1, r2, r3, cv); 4349 TESTINST3("orrs.w r1, r2, r3, lsr #1 ", 0, 0x80000000, r1, r2, r3, cv); 4350 TESTINST3("orrs.w r1, r2, r3, lsr #15", 0, 0x80000000, r1, r2, r3, cv); 4351 TESTINST3("orrs.w r1, r2, r3, lsr #31", 0, 0x80000000, r1, r2, r3, cv); 4352 TESTINST3("orrs.w r1, r2, r3, asr #0 ", 0, 0x80000000, r1, r2, r3, cv); 4353 TESTINST3("orrs.w r1, r2, r3, asr #1 ", 0, 0x80000000, r1, r2, r3, cv); 4354 TESTINST3("orrs.w r1, r2, r3, asr #15", 0, 0x80000000, r1, r2, r3, cv); 4355 TESTINST3("orrs.w r1, r2, r3, asr #31", 0, 0x80000000, r1, r2, r3, cv); 4356 TESTINST3("orr.w r1, r2, r3, lsl #0 ", 0, 0x80000000, r1, r2, r3, cv); 4357 TESTINST3("orr.w r1, r2, r3, lsl #1 ", 0, 0x80000000, r1, r2, r3, cv); 4358 TESTINST3("orr.w r1, r2, r3, lsl #15", 0, 0x80000000, r1, r2, r3, cv); 4359 TESTINST3("orr.w r1, r2, r3, lsl #31", 0, 0x80000000, r1, r2, r3, cv); 4360 TESTINST3("orr.w r1, r2, r3, lsr #0 ", 0, 0x80000000, r1, r2, r3, cv); 4361 TESTINST3("orr.w r1, r2, r3, lsr #1 ", 0, 0x80000000, r1, r2, r3, cv); 4362 TESTINST3("orr.w r1, r2, r3, lsr #15", 0, 0x80000000, r1, r2, r3, cv); 4363 TESTINST3("orr.w r1, r2, r3, lsr #31", 0, 0x80000000, r1, r2, r3, cv); 4364 TESTINST3("orr.w r1, r2, r3, asr #0 ", 0, 0x80000000, r1, r2, r3, cv); 4365 TESTINST3("orr.w r1, r2, r3, asr #1 ", 0, 0x80000000, r1, r2, r3, cv); 4366 TESTINST3("orr.w r1, r2, r3, asr #15", 0, 0x80000000, r1, r2, r3, cv); 4367 TESTINST3("orr.w r1, r2, r3, asr #31", 0, 0x80000000, r1, r2, r3, cv); 4368 TESTINST3("orrs.w r1, r2, r3, lsl #0 ", 0x80000000, 0, r1, r2, r3, cv); 4369 TESTINST3("orrs.w r1, r2, r3, lsl #1 ", 0x80000000, 0, r1, r2, r3, cv); 4370 TESTINST3("orrs.w r1, r2, r3, lsl #15", 0x80000000, 0, r1, r2, r3, cv); 4371 TESTINST3("orrs.w r1, r2, r3, lsl #31", 0x80000000, 0, r1, r2, r3, cv); 4372 TESTINST3("orrs.w r1, r2, r3, lsr #0 ", 0x80000000, 0, r1, r2, r3, cv); 4373 TESTINST3("orrs.w r1, r2, r3, lsr #1 ", 0x80000000, 0, r1, r2, r3, cv); 4374 TESTINST3("orrs.w r1, r2, r3, lsr #15", 0x80000000, 0, r1, r2, r3, cv); 4375 TESTINST3("orrs.w r1, r2, r3, lsr #31", 0x80000000, 0, r1, r2, r3, cv); 4376 TESTINST3("orrs.w r1, r2, r3, asr #0 ", 0x80000000, 0, r1, r2, r3, cv); 4377 TESTINST3("orrs.w r1, r2, r3, asr #1 ", 0x80000000, 0, r1, r2, r3, cv); 4378 TESTINST3("orrs.w r1, r2, r3, asr #15", 0x80000000, 0, r1, r2, r3, cv); 4379 TESTINST3("orrs.w r1, r2, r3, asr #31", 0x80000000, 0, r1, r2, r3, cv); 4380 TESTINST3("orr.w r1, r2, r3, lsl #0 ", 0x80000000, 0, r1, r2, r3, cv); 4381 TESTINST3("orr.w r1, r2, r3, lsl #1 ", 0x80000000, 0, r1, r2, r3, cv); 4382 TESTINST3("orr.w r1, r2, r3, lsl #15", 0x80000000, 0, r1, r2, r3, cv); 4383 TESTINST3("orr.w r1, r2, r3, lsl #31", 0x80000000, 0, r1, r2, r3, cv); 4384 TESTINST3("orr.w r1, r2, r3, lsr #0 ", 0x80000000, 0, r1, r2, r3, cv); 4385 TESTINST3("orr.w r1, r2, r3, lsr #1 ", 0x80000000, 0, r1, r2, r3, cv); 4386 TESTINST3("orr.w r1, r2, r3, lsr #15", 0x80000000, 0, r1, r2, r3, cv); 4387 TESTINST3("orr.w r1, r2, r3, lsr #31", 0x80000000, 0, r1, r2, r3, cv); 4388 TESTINST3("orr.w r1, r2, r3, asr #0 ", 0x80000000, 0, r1, r2, r3, cv); 4389 TESTINST3("orr.w r1, r2, r3, asr #1 ", 0x80000000, 0, r1, r2, r3, cv); 4390 TESTINST3("orr.w r1, r2, r3, asr #15", 0x80000000, 0, r1, r2, r3, cv); 4391 TESTINST3("orr.w r1, r2, r3, asr #31", 0x80000000, 0, r1, r2, r3, cv); 4392 TESTINST3("orrs.w r1, r2, r3, lsl #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 4393 TESTINST3("orrs.w r1, r2, r3, lsl #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 4394 TESTINST3("orrs.w r1, r2, r3, lsl #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 4395 TESTINST3("orrs.w r1, r2, r3, lsl #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 4396 TESTINST3("orrs.w r1, r2, r3, lsr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 4397 TESTINST3("orrs.w r1, r2, r3, lsr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 4398 TESTINST3("orrs.w r1, r2, r3, lsr #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 4399 TESTINST3("orrs.w r1, r2, r3, lsr #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 4400 TESTINST3("orrs.w r1, r2, r3, asr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 4401 TESTINST3("orrs.w r1, r2, r3, asr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 4402 TESTINST3("orrs.w r1, r2, r3, asr #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 4403 TESTINST3("orrs.w r1, r2, r3, asr #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 4404 TESTINST3("orr.w r1, r2, r3, lsl #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 4405 TESTINST3("orr.w r1, r2, r3, lsl #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 4406 TESTINST3("orr.w r1, r2, r3, lsl #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 4407 TESTINST3("orr.w r1, r2, r3, lsl #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 4408 TESTINST3("orr.w r1, r2, r3, lsr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 4409 TESTINST3("orr.w r1, r2, r3, lsr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 4410 TESTINST3("orr.w r1, r2, r3, lsr #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 4411 TESTINST3("orr.w r1, r2, r3, lsr #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 4412 TESTINST3("orr.w r1, r2, r3, asr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 4413 TESTINST3("orr.w r1, r2, r3, asr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 4414 TESTINST3("orr.w r1, r2, r3, asr #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 4415 TESTINST3("orr.w r1, r2, r3, asr #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 4416 TESTINST3("orrs.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 4417 TESTINST3("orrs.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 4418 TESTINST3("orrs.w r1, r2, r3, lsl #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 4419 TESTINST3("orrs.w r1, r2, r3, lsl #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 4420 TESTINST3("orrs.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 4421 TESTINST3("orrs.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 4422 TESTINST3("orrs.w r1, r2, r3, lsr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 4423 TESTINST3("orrs.w r1, r2, r3, lsr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 4424 TESTINST3("orrs.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 4425 TESTINST3("orrs.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 4426 TESTINST3("orrs.w r1, r2, r3, asr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 4427 TESTINST3("orrs.w r1, r2, r3, asr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 4428 TESTINST3("orr.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 4429 TESTINST3("orr.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 4430 TESTINST3("orr.w r1, r2, r3, lsl #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 4431 TESTINST3("orr.w r1, r2, r3, lsl #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 4432 TESTINST3("orr.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 4433 TESTINST3("orr.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 4434 TESTINST3("orr.w r1, r2, r3, lsr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 4435 TESTINST3("orr.w r1, r2, r3, lsr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 4436 TESTINST3("orr.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 4437 TESTINST3("orr.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 4438 TESTINST3("orr.w r1, r2, r3, asr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 4439 TESTINST3("orr.w r1, r2, r3, asr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 4440 TESTINST3("orrs.w r1, r2, r3, lsl #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 4441 TESTINST3("orrs.w r1, r2, r3, lsl #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 4442 TESTINST3("orrs.w r1, r2, r3, lsl #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 4443 TESTINST3("orrs.w r1, r2, r3, lsl #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 4444 TESTINST3("orrs.w r1, r2, r3, lsr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 4445 TESTINST3("orrs.w r1, r2, r3, lsr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 4446 TESTINST3("orrs.w r1, r2, r3, lsr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 4447 TESTINST3("orrs.w r1, r2, r3, lsr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 4448 TESTINST3("orrs.w r1, r2, r3, asr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 4449 TESTINST3("orrs.w r1, r2, r3, asr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 4450 TESTINST3("orrs.w r1, r2, r3, asr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 4451 TESTINST3("orrs.w r1, r2, r3, asr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 4452 TESTINST3("orr.w r1, r2, r3, lsl #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 4453 TESTINST3("orr.w r1, r2, r3, lsl #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 4454 TESTINST3("orr.w r1, r2, r3, lsl #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 4455 TESTINST3("orr.w r1, r2, r3, lsl #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 4456 TESTINST3("orr.w r1, r2, r3, lsr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 4457 TESTINST3("orr.w r1, r2, r3, lsr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 4458 TESTINST3("orr.w r1, r2, r3, lsr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 4459 TESTINST3("orr.w r1, r2, r3, lsr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 4460 TESTINST3("orr.w r1, r2, r3, asr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 4461 TESTINST3("orr.w r1, r2, r3, asr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 4462 TESTINST3("orr.w r1, r2, r3, asr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 4463 TESTINST3("orr.w r1, r2, r3, asr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 4464 TESTINST3("orrs.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 4465 TESTINST3("orrs.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 4466 TESTINST3("orrs.w r1, r2, r3, lsl #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 4467 TESTINST3("orrs.w r1, r2, r3, lsl #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 4468 TESTINST3("orrs.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 4469 TESTINST3("orrs.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 4470 TESTINST3("orrs.w r1, r2, r3, lsr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 4471 TESTINST3("orrs.w r1, r2, r3, lsr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 4472 TESTINST3("orrs.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 4473 TESTINST3("orrs.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 4474 TESTINST3("orrs.w r1, r2, r3, asr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 4475 TESTINST3("orrs.w r1, r2, r3, asr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 4476 TESTINST3("orr.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 4477 TESTINST3("orr.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 4478 TESTINST3("orr.w r1, r2, r3, lsl #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 4479 TESTINST3("orr.w r1, r2, r3, lsl #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 4480 TESTINST3("orr.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 4481 TESTINST3("orr.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 4482 TESTINST3("orr.w r1, r2, r3, lsr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 4483 TESTINST3("orr.w r1, r2, r3, lsr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 4484 TESTINST3("orr.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 4485 TESTINST3("orr.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 4486 TESTINST3("orr.w r1, r2, r3, asr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 4487 TESTINST3("orr.w r1, r2, r3, asr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 4488 TESTCARRYEND 4489 4490 printf("EOR{S}.W Rd, Rn, Rm, {shift}\n"); 4491 TESTCARRY 4492 TESTINST3("eors.w r1, r2, r3, lsl #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 4493 TESTINST3("eors.w r1, r2, r3, lsl #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 4494 TESTINST3("eors.w r1, r2, r3, lsl #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 4495 TESTINST3("eors.w r1, r2, r3, lsl #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 4496 TESTINST3("eors.w r1, r2, r3, lsr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 4497 TESTINST3("eors.w r1, r2, r3, lsr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 4498 TESTINST3("eors.w r1, r2, r3, lsr #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 4499 TESTINST3("eors.w r1, r2, r3, lsr #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 4500 TESTINST3("eors.w r1, r2, r3, asr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 4501 TESTINST3("eors.w r1, r2, r3, asr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 4502 TESTINST3("eors.w r1, r2, r3, asr #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 4503 TESTINST3("eors.w r1, r2, r3, asr #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 4504 TESTINST3("eor.w r1, r2, r3, lsl #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 4505 TESTINST3("eor.w r1, r2, r3, lsl #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 4506 TESTINST3("eor.w r1, r2, r3, lsl #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 4507 TESTINST3("eor.w r1, r2, r3, lsl #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 4508 TESTINST3("eor.w r1, r2, r3, lsr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 4509 TESTINST3("eor.w r1, r2, r3, lsr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 4510 TESTINST3("eor.w r1, r2, r3, lsr #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 4511 TESTINST3("eor.w r1, r2, r3, lsr #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 4512 TESTINST3("eor.w r1, r2, r3, asr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 4513 TESTINST3("eor.w r1, r2, r3, asr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 4514 TESTINST3("eor.w r1, r2, r3, asr #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 4515 TESTINST3("eor.w r1, r2, r3, asr #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 4516 TESTINST3("eors.w r1, r2, r3, lsl #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 4517 TESTINST3("eors.w r1, r2, r3, lsl #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 4518 TESTINST3("eors.w r1, r2, r3, lsl #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 4519 TESTINST3("eors.w r1, r2, r3, lsl #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 4520 TESTINST3("eors.w r1, r2, r3, lsr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 4521 TESTINST3("eors.w r1, r2, r3, lsr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 4522 TESTINST3("eors.w r1, r2, r3, lsr #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 4523 TESTINST3("eors.w r1, r2, r3, lsr #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 4524 TESTINST3("eors.w r1, r2, r3, asr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 4525 TESTINST3("eors.w r1, r2, r3, asr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 4526 TESTINST3("eors.w r1, r2, r3, asr #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 4527 TESTINST3("eors.w r1, r2, r3, asr #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 4528 TESTINST3("eor.w r1, r2, r3, lsl #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 4529 TESTINST3("eor.w r1, r2, r3, lsl #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 4530 TESTINST3("eor.w r1, r2, r3, lsl #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 4531 TESTINST3("eor.w r1, r2, r3, lsl #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 4532 TESTINST3("eor.w r1, r2, r3, lsr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 4533 TESTINST3("eor.w r1, r2, r3, lsr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 4534 TESTINST3("eor.w r1, r2, r3, lsr #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 4535 TESTINST3("eor.w r1, r2, r3, lsr #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 4536 TESTINST3("eor.w r1, r2, r3, asr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 4537 TESTINST3("eor.w r1, r2, r3, asr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 4538 TESTINST3("eor.w r1, r2, r3, asr #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 4539 TESTINST3("eor.w r1, r2, r3, asr #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 4540 TESTINST3("eors.w r1, r2, r3, lsl #0 ", 0, 0, r1, r2, r3, cv); 4541 TESTINST3("eors.w r1, r2, r3, lsl #1 ", 0, 0, r1, r2, r3, cv); 4542 TESTINST3("eors.w r1, r2, r3, lsl #15", 0, 0, r1, r2, r3, cv); 4543 TESTINST3("eors.w r1, r2, r3, lsl #31", 0, 0, r1, r2, r3, cv); 4544 TESTINST3("eors.w r1, r2, r3, lsr #0 ", 0, 0, r1, r2, r3, cv); 4545 TESTINST3("eors.w r1, r2, r3, lsr #1 ", 0, 0, r1, r2, r3, cv); 4546 TESTINST3("eors.w r1, r2, r3, lsr #15", 0, 0, r1, r2, r3, cv); 4547 TESTINST3("eors.w r1, r2, r3, lsr #31", 0, 0, r1, r2, r3, cv); 4548 TESTINST3("eors.w r1, r2, r3, asr #0 ", 0, 0, r1, r2, r3, cv); 4549 TESTINST3("eors.w r1, r2, r3, asr #1 ", 0, 0, r1, r2, r3, cv); 4550 TESTINST3("eors.w r1, r2, r3, asr #15", 0, 0, r1, r2, r3, cv); 4551 TESTINST3("eors.w r1, r2, r3, asr #31", 0, 0, r1, r2, r3, cv); 4552 TESTINST3("eor.w r1, r2, r3, lsl #0 ", 0, 0, r1, r2, r3, cv); 4553 TESTINST3("eor.w r1, r2, r3, lsl #1 ", 0, 0, r1, r2, r3, cv); 4554 TESTINST3("eor.w r1, r2, r3, lsl #15", 0, 0, r1, r2, r3, cv); 4555 TESTINST3("eor.w r1, r2, r3, lsl #31", 0, 0, r1, r2, r3, cv); 4556 TESTINST3("eor.w r1, r2, r3, lsr #0 ", 0, 0, r1, r2, r3, cv); 4557 TESTINST3("eor.w r1, r2, r3, lsr #1 ", 0, 0, r1, r2, r3, cv); 4558 TESTINST3("eor.w r1, r2, r3, lsr #15", 0, 0, r1, r2, r3, cv); 4559 TESTINST3("eor.w r1, r2, r3, lsr #31", 0, 0, r1, r2, r3, cv); 4560 TESTINST3("eor.w r1, r2, r3, asr #0 ", 0, 0, r1, r2, r3, cv); 4561 TESTINST3("eor.w r1, r2, r3, asr #1 ", 0, 0, r1, r2, r3, cv); 4562 TESTINST3("eor.w r1, r2, r3, asr #15", 0, 0, r1, r2, r3, cv); 4563 TESTINST3("eor.w r1, r2, r3, asr #31", 0, 0, r1, r2, r3, cv); 4564 TESTINST3("eors.w r1, r2, r3, lsl #0 ", 1, 0, r1, r2, r3, cv); 4565 TESTINST3("eors.w r1, r2, r3, lsl #1 ", 1, 0, r1, r2, r3, cv); 4566 TESTINST3("eors.w r1, r2, r3, lsl #15", 1, 0, r1, r2, r3, cv); 4567 TESTINST3("eors.w r1, r2, r3, lsl #31", 1, 0, r1, r2, r3, cv); 4568 TESTINST3("eors.w r1, r2, r3, lsr #0 ", 1, 0, r1, r2, r3, cv); 4569 TESTINST3("eors.w r1, r2, r3, lsr #1 ", 1, 0, r1, r2, r3, cv); 4570 TESTINST3("eors.w r1, r2, r3, lsr #15", 1, 0, r1, r2, r3, cv); 4571 TESTINST3("eors.w r1, r2, r3, lsr #31", 1, 0, r1, r2, r3, cv); 4572 TESTINST3("eors.w r1, r2, r3, asr #0 ", 1, 0, r1, r2, r3, cv); 4573 TESTINST3("eors.w r1, r2, r3, asr #1 ", 1, 0, r1, r2, r3, cv); 4574 TESTINST3("eors.w r1, r2, r3, asr #15", 1, 0, r1, r2, r3, cv); 4575 TESTINST3("eors.w r1, r2, r3, asr #31", 1, 0, r1, r2, r3, cv); 4576 TESTINST3("eor.w r1, r2, r3, lsl #0 ", 1, 0, r1, r2, r3, cv); 4577 TESTINST3("eor.w r1, r2, r3, lsl #1 ", 1, 0, r1, r2, r3, cv); 4578 TESTINST3("eor.w r1, r2, r3, lsl #15", 1, 0, r1, r2, r3, cv); 4579 TESTINST3("eor.w r1, r2, r3, lsl #31", 1, 0, r1, r2, r3, cv); 4580 TESTINST3("eor.w r1, r2, r3, lsr #0 ", 1, 0, r1, r2, r3, cv); 4581 TESTINST3("eor.w r1, r2, r3, lsr #1 ", 1, 0, r1, r2, r3, cv); 4582 TESTINST3("eor.w r1, r2, r3, lsr #15", 1, 0, r1, r2, r3, cv); 4583 TESTINST3("eor.w r1, r2, r3, lsr #31", 1, 0, r1, r2, r3, cv); 4584 TESTINST3("eor.w r1, r2, r3, asr #0 ", 1, 0, r1, r2, r3, cv); 4585 TESTINST3("eor.w r1, r2, r3, asr #1 ", 1, 0, r1, r2, r3, cv); 4586 TESTINST3("eor.w r1, r2, r3, asr #15", 1, 0, r1, r2, r3, cv); 4587 TESTINST3("eor.w r1, r2, r3, asr #31", 1, 0, r1, r2, r3, cv); 4588 TESTINST3("eors.w r1, r2, r3, lsl #0 ", 0, 1, r1, r2, r3, cv); 4589 TESTINST3("eors.w r1, r2, r3, lsl #1 ", 0, 1, r1, r2, r3, cv); 4590 TESTINST3("eors.w r1, r2, r3, lsl #15", 0, 1, r1, r2, r3, cv); 4591 TESTINST3("eors.w r1, r2, r3, lsl #31", 0, 1, r1, r2, r3, cv); 4592 TESTINST3("eors.w r1, r2, r3, lsr #0 ", 0, 1, r1, r2, r3, cv); 4593 TESTINST3("eors.w r1, r2, r3, lsr #1 ", 0, 1, r1, r2, r3, cv); 4594 TESTINST3("eors.w r1, r2, r3, lsr #15", 0, 1, r1, r2, r3, cv); 4595 TESTINST3("eors.w r1, r2, r3, lsr #31", 0, 1, r1, r2, r3, cv); 4596 TESTINST3("eors.w r1, r2, r3, asr #0 ", 0, 1, r1, r2, r3, cv); 4597 TESTINST3("eors.w r1, r2, r3, asr #1 ", 0, 1, r1, r2, r3, cv); 4598 TESTINST3("eors.w r1, r2, r3, asr #15", 0, 1, r1, r2, r3, cv); 4599 TESTINST3("eors.w r1, r2, r3, asr #31", 0, 1, r1, r2, r3, cv); 4600 TESTINST3("eor.w r1, r2, r3, lsl #0 ", 0, 1, r1, r2, r3, cv); 4601 TESTINST3("eor.w r1, r2, r3, lsl #1 ", 0, 1, r1, r2, r3, cv); 4602 TESTINST3("eor.w r1, r2, r3, lsl #15", 0, 1, r1, r2, r3, cv); 4603 TESTINST3("eor.w r1, r2, r3, lsl #31", 0, 1, r1, r2, r3, cv); 4604 TESTINST3("eor.w r1, r2, r3, lsr #0 ", 0, 1, r1, r2, r3, cv); 4605 TESTINST3("eor.w r1, r2, r3, lsr #1 ", 0, 1, r1, r2, r3, cv); 4606 TESTINST3("eor.w r1, r2, r3, lsr #15", 0, 1, r1, r2, r3, cv); 4607 TESTINST3("eor.w r1, r2, r3, lsr #31", 0, 1, r1, r2, r3, cv); 4608 TESTINST3("eor.w r1, r2, r3, asr #0 ", 0, 1, r1, r2, r3, cv); 4609 TESTINST3("eor.w r1, r2, r3, asr #1 ", 0, 1, r1, r2, r3, cv); 4610 TESTINST3("eor.w r1, r2, r3, asr #15", 0, 1, r1, r2, r3, cv); 4611 TESTINST3("eor.w r1, r2, r3, asr #31", 0, 1, r1, r2, r3, cv); 4612 TESTINST3("eors.w r1, r2, r3, lsl #0 ", -1, 0, r1, r2, r3, cv); 4613 TESTINST3("eors.w r1, r2, r3, lsl #1 ", -1, 0, r1, r2, r3, cv); 4614 TESTINST3("eors.w r1, r2, r3, lsl #15", -1, 0, r1, r2, r3, cv); 4615 TESTINST3("eors.w r1, r2, r3, lsl #31", -1, 0, r1, r2, r3, cv); 4616 TESTINST3("eors.w r1, r2, r3, lsr #0 ", -1, 0, r1, r2, r3, cv); 4617 TESTINST3("eors.w r1, r2, r3, lsr #1 ", -1, 0, r1, r2, r3, cv); 4618 TESTINST3("eors.w r1, r2, r3, lsr #15", -1, 0, r1, r2, r3, cv); 4619 TESTINST3("eors.w r1, r2, r3, lsr #31", -1, 0, r1, r2, r3, cv); 4620 TESTINST3("eors.w r1, r2, r3, asr #0 ", -1, 0, r1, r2, r3, cv); 4621 TESTINST3("eors.w r1, r2, r3, asr #1 ", -1, 0, r1, r2, r3, cv); 4622 TESTINST3("eors.w r1, r2, r3, asr #15", -1, 0, r1, r2, r3, cv); 4623 TESTINST3("eors.w r1, r2, r3, asr #31", -1, 0, r1, r2, r3, cv); 4624 TESTINST3("eor.w r1, r2, r3, lsl #0 ", -1, 0, r1, r2, r3, cv); 4625 TESTINST3("eor.w r1, r2, r3, lsl #1 ", -1, 0, r1, r2, r3, cv); 4626 TESTINST3("eor.w r1, r2, r3, lsl #15", -1, 0, r1, r2, r3, cv); 4627 TESTINST3("eor.w r1, r2, r3, lsl #31", -1, 0, r1, r2, r3, cv); 4628 TESTINST3("eor.w r1, r2, r3, lsr #0 ", -1, 0, r1, r2, r3, cv); 4629 TESTINST3("eor.w r1, r2, r3, lsr #1 ", -1, 0, r1, r2, r3, cv); 4630 TESTINST3("eor.w r1, r2, r3, lsr #15", -1, 0, r1, r2, r3, cv); 4631 TESTINST3("eor.w r1, r2, r3, lsr #31", -1, 0, r1, r2, r3, cv); 4632 TESTINST3("eor.w r1, r2, r3, asr #0 ", -1, 0, r1, r2, r3, cv); 4633 TESTINST3("eor.w r1, r2, r3, asr #1 ", -1, 0, r1, r2, r3, cv); 4634 TESTINST3("eor.w r1, r2, r3, asr #15", -1, 0, r1, r2, r3, cv); 4635 TESTINST3("eor.w r1, r2, r3, asr #31", -1, 0, r1, r2, r3, cv); 4636 TESTINST3("eors.w r1, r2, r3, lsl #0 ", 0, -1, r1, r2, r3, cv); 4637 TESTINST3("eors.w r1, r2, r3, lsl #1 ", 0, -1, r1, r2, r3, cv); 4638 TESTINST3("eors.w r1, r2, r3, lsl #15", 0, -1, r1, r2, r3, cv); 4639 TESTINST3("eors.w r1, r2, r3, lsl #31", 0, -1, r1, r2, r3, cv); 4640 TESTINST3("eors.w r1, r2, r3, lsr #0 ", 0, -1, r1, r2, r3, cv); 4641 TESTINST3("eors.w r1, r2, r3, lsr #1 ", 0, -1, r1, r2, r3, cv); 4642 TESTINST3("eors.w r1, r2, r3, lsr #15", 0, -1, r1, r2, r3, cv); 4643 TESTINST3("eors.w r1, r2, r3, lsr #31", 0, -1, r1, r2, r3, cv); 4644 TESTINST3("eors.w r1, r2, r3, asr #0 ", 0, -1, r1, r2, r3, cv); 4645 TESTINST3("eors.w r1, r2, r3, asr #1 ", 0, -1, r1, r2, r3, cv); 4646 TESTINST3("eors.w r1, r2, r3, asr #15", 0, -1, r1, r2, r3, cv); 4647 TESTINST3("eors.w r1, r2, r3, asr #31", 0, -1, r1, r2, r3, cv); 4648 TESTINST3("eor.w r1, r2, r3, lsl #0 ", 0, -1, r1, r2, r3, cv); 4649 TESTINST3("eor.w r1, r2, r3, lsl #1 ", 0, -1, r1, r2, r3, cv); 4650 TESTINST3("eor.w r1, r2, r3, lsl #15", 0, -1, r1, r2, r3, cv); 4651 TESTINST3("eor.w r1, r2, r3, lsl #31", 0, -1, r1, r2, r3, cv); 4652 TESTINST3("eor.w r1, r2, r3, lsr #0 ", 0, -1, r1, r2, r3, cv); 4653 TESTINST3("eor.w r1, r2, r3, lsr #1 ", 0, -1, r1, r2, r3, cv); 4654 TESTINST3("eor.w r1, r2, r3, lsr #15", 0, -1, r1, r2, r3, cv); 4655 TESTINST3("eor.w r1, r2, r3, lsr #31", 0, -1, r1, r2, r3, cv); 4656 TESTINST3("eor.w r1, r2, r3, asr #0 ", 0, -1, r1, r2, r3, cv); 4657 TESTINST3("eor.w r1, r2, r3, asr #1 ", 0, -1, r1, r2, r3, cv); 4658 TESTINST3("eor.w r1, r2, r3, asr #15", 0, -1, r1, r2, r3, cv); 4659 TESTINST3("eor.w r1, r2, r3, asr #31", 0, -1, r1, r2, r3, cv); 4660 TESTINST3("eors.w r1, r2, r3, lsl #0 ", 0, 0x80000000, r1, r2, r3, cv); 4661 TESTINST3("eors.w r1, r2, r3, lsl #1 ", 0, 0x80000000, r1, r2, r3, cv); 4662 TESTINST3("eors.w r1, r2, r3, lsl #15", 0, 0x80000000, r1, r2, r3, cv); 4663 TESTINST3("eors.w r1, r2, r3, lsl #31", 0, 0x80000000, r1, r2, r3, cv); 4664 TESTINST3("eors.w r1, r2, r3, lsr #0 ", 0, 0x80000000, r1, r2, r3, cv); 4665 TESTINST3("eors.w r1, r2, r3, lsr #1 ", 0, 0x80000000, r1, r2, r3, cv); 4666 TESTINST3("eors.w r1, r2, r3, lsr #15", 0, 0x80000000, r1, r2, r3, cv); 4667 TESTINST3("eors.w r1, r2, r3, lsr #31", 0, 0x80000000, r1, r2, r3, cv); 4668 TESTINST3("eors.w r1, r2, r3, asr #0 ", 0, 0x80000000, r1, r2, r3, cv); 4669 TESTINST3("eors.w r1, r2, r3, asr #1 ", 0, 0x80000000, r1, r2, r3, cv); 4670 TESTINST3("eors.w r1, r2, r3, asr #15", 0, 0x80000000, r1, r2, r3, cv); 4671 TESTINST3("eors.w r1, r2, r3, asr #31", 0, 0x80000000, r1, r2, r3, cv); 4672 TESTINST3("eor.w r1, r2, r3, lsl #0 ", 0, 0x80000000, r1, r2, r3, cv); 4673 TESTINST3("eor.w r1, r2, r3, lsl #1 ", 0, 0x80000000, r1, r2, r3, cv); 4674 TESTINST3("eor.w r1, r2, r3, lsl #15", 0, 0x80000000, r1, r2, r3, cv); 4675 TESTINST3("eor.w r1, r2, r3, lsl #31", 0, 0x80000000, r1, r2, r3, cv); 4676 TESTINST3("eor.w r1, r2, r3, lsr #0 ", 0, 0x80000000, r1, r2, r3, cv); 4677 TESTINST3("eor.w r1, r2, r3, lsr #1 ", 0, 0x80000000, r1, r2, r3, cv); 4678 TESTINST3("eor.w r1, r2, r3, lsr #15", 0, 0x80000000, r1, r2, r3, cv); 4679 TESTINST3("eor.w r1, r2, r3, lsr #31", 0, 0x80000000, r1, r2, r3, cv); 4680 TESTINST3("eor.w r1, r2, r3, asr #0 ", 0, 0x80000000, r1, r2, r3, cv); 4681 TESTINST3("eor.w r1, r2, r3, asr #1 ", 0, 0x80000000, r1, r2, r3, cv); 4682 TESTINST3("eor.w r1, r2, r3, asr #15", 0, 0x80000000, r1, r2, r3, cv); 4683 TESTINST3("eor.w r1, r2, r3, asr #31", 0, 0x80000000, r1, r2, r3, cv); 4684 TESTINST3("eors.w r1, r2, r3, lsl #0 ", 0x80000000, 0, r1, r2, r3, cv); 4685 TESTINST3("eors.w r1, r2, r3, lsl #1 ", 0x80000000, 0, r1, r2, r3, cv); 4686 TESTINST3("eors.w r1, r2, r3, lsl #15", 0x80000000, 0, r1, r2, r3, cv); 4687 TESTINST3("eors.w r1, r2, r3, lsl #31", 0x80000000, 0, r1, r2, r3, cv); 4688 TESTINST3("eors.w r1, r2, r3, lsr #0 ", 0x80000000, 0, r1, r2, r3, cv); 4689 TESTINST3("eors.w r1, r2, r3, lsr #1 ", 0x80000000, 0, r1, r2, r3, cv); 4690 TESTINST3("eors.w r1, r2, r3, lsr #15", 0x80000000, 0, r1, r2, r3, cv); 4691 TESTINST3("eors.w r1, r2, r3, lsr #31", 0x80000000, 0, r1, r2, r3, cv); 4692 TESTINST3("eors.w r1, r2, r3, asr #0 ", 0x80000000, 0, r1, r2, r3, cv); 4693 TESTINST3("eors.w r1, r2, r3, asr #1 ", 0x80000000, 0, r1, r2, r3, cv); 4694 TESTINST3("eors.w r1, r2, r3, asr #15", 0x80000000, 0, r1, r2, r3, cv); 4695 TESTINST3("eors.w r1, r2, r3, asr #31", 0x80000000, 0, r1, r2, r3, cv); 4696 TESTINST3("eor.w r1, r2, r3, lsl #0 ", 0x80000000, 0, r1, r2, r3, cv); 4697 TESTINST3("eor.w r1, r2, r3, lsl #1 ", 0x80000000, 0, r1, r2, r3, cv); 4698 TESTINST3("eor.w r1, r2, r3, lsl #15", 0x80000000, 0, r1, r2, r3, cv); 4699 TESTINST3("eor.w r1, r2, r3, lsl #31", 0x80000000, 0, r1, r2, r3, cv); 4700 TESTINST3("eor.w r1, r2, r3, lsr #0 ", 0x80000000, 0, r1, r2, r3, cv); 4701 TESTINST3("eor.w r1, r2, r3, lsr #1 ", 0x80000000, 0, r1, r2, r3, cv); 4702 TESTINST3("eor.w r1, r2, r3, lsr #15", 0x80000000, 0, r1, r2, r3, cv); 4703 TESTINST3("eor.w r1, r2, r3, lsr #31", 0x80000000, 0, r1, r2, r3, cv); 4704 TESTINST3("eor.w r1, r2, r3, asr #0 ", 0x80000000, 0, r1, r2, r3, cv); 4705 TESTINST3("eor.w r1, r2, r3, asr #1 ", 0x80000000, 0, r1, r2, r3, cv); 4706 TESTINST3("eor.w r1, r2, r3, asr #15", 0x80000000, 0, r1, r2, r3, cv); 4707 TESTINST3("eor.w r1, r2, r3, asr #31", 0x80000000, 0, r1, r2, r3, cv); 4708 TESTINST3("eors.w r1, r2, r3, lsl #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 4709 TESTINST3("eors.w r1, r2, r3, lsl #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 4710 TESTINST3("eors.w r1, r2, r3, lsl #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 4711 TESTINST3("eors.w r1, r2, r3, lsl #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 4712 TESTINST3("eors.w r1, r2, r3, lsr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 4713 TESTINST3("eors.w r1, r2, r3, lsr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 4714 TESTINST3("eors.w r1, r2, r3, lsr #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 4715 TESTINST3("eors.w r1, r2, r3, lsr #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 4716 TESTINST3("eors.w r1, r2, r3, asr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 4717 TESTINST3("eors.w r1, r2, r3, asr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 4718 TESTINST3("eors.w r1, r2, r3, asr #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 4719 TESTINST3("eors.w r1, r2, r3, asr #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 4720 TESTINST3("eor.w r1, r2, r3, lsl #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 4721 TESTINST3("eor.w r1, r2, r3, lsl #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 4722 TESTINST3("eor.w r1, r2, r3, lsl #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 4723 TESTINST3("eor.w r1, r2, r3, lsl #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 4724 TESTINST3("eor.w r1, r2, r3, lsr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 4725 TESTINST3("eor.w r1, r2, r3, lsr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 4726 TESTINST3("eor.w r1, r2, r3, lsr #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 4727 TESTINST3("eor.w r1, r2, r3, lsr #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 4728 TESTINST3("eor.w r1, r2, r3, asr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 4729 TESTINST3("eor.w r1, r2, r3, asr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 4730 TESTINST3("eor.w r1, r2, r3, asr #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 4731 TESTINST3("eor.w r1, r2, r3, asr #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 4732 TESTINST3("eors.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 4733 TESTINST3("eors.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 4734 TESTINST3("eors.w r1, r2, r3, lsl #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 4735 TESTINST3("eors.w r1, r2, r3, lsl #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 4736 TESTINST3("eors.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 4737 TESTINST3("eors.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 4738 TESTINST3("eors.w r1, r2, r3, lsr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 4739 TESTINST3("eors.w r1, r2, r3, lsr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 4740 TESTINST3("eors.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 4741 TESTINST3("eors.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 4742 TESTINST3("eors.w r1, r2, r3, asr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 4743 TESTINST3("eors.w r1, r2, r3, asr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 4744 TESTINST3("eor.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 4745 TESTINST3("eor.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 4746 TESTINST3("eor.w r1, r2, r3, lsl #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 4747 TESTINST3("eor.w r1, r2, r3, lsl #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 4748 TESTINST3("eor.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 4749 TESTINST3("eor.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 4750 TESTINST3("eor.w r1, r2, r3, lsr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 4751 TESTINST3("eor.w r1, r2, r3, lsr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 4752 TESTINST3("eor.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 4753 TESTINST3("eor.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 4754 TESTINST3("eor.w r1, r2, r3, asr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 4755 TESTINST3("eor.w r1, r2, r3, asr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 4756 TESTINST3("eors.w r1, r2, r3, lsl #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 4757 TESTINST3("eors.w r1, r2, r3, lsl #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 4758 TESTINST3("eors.w r1, r2, r3, lsl #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 4759 TESTINST3("eors.w r1, r2, r3, lsl #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 4760 TESTINST3("eors.w r1, r2, r3, lsr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 4761 TESTINST3("eors.w r1, r2, r3, lsr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 4762 TESTINST3("eors.w r1, r2, r3, lsr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 4763 TESTINST3("eors.w r1, r2, r3, lsr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 4764 TESTINST3("eors.w r1, r2, r3, asr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 4765 TESTINST3("eors.w r1, r2, r3, asr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 4766 TESTINST3("eors.w r1, r2, r3, asr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 4767 TESTINST3("eors.w r1, r2, r3, asr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 4768 TESTINST3("eor.w r1, r2, r3, lsl #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 4769 TESTINST3("eor.w r1, r2, r3, lsl #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 4770 TESTINST3("eor.w r1, r2, r3, lsl #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 4771 TESTINST3("eor.w r1, r2, r3, lsl #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 4772 TESTINST3("eor.w r1, r2, r3, lsr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 4773 TESTINST3("eor.w r1, r2, r3, lsr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 4774 TESTINST3("eor.w r1, r2, r3, lsr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 4775 TESTINST3("eor.w r1, r2, r3, lsr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 4776 TESTINST3("eor.w r1, r2, r3, asr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 4777 TESTINST3("eor.w r1, r2, r3, asr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 4778 TESTINST3("eor.w r1, r2, r3, asr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 4779 TESTINST3("eor.w r1, r2, r3, asr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 4780 TESTINST3("eors.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 4781 TESTINST3("eors.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 4782 TESTINST3("eors.w r1, r2, r3, lsl #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 4783 TESTINST3("eors.w r1, r2, r3, lsl #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 4784 TESTINST3("eors.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 4785 TESTINST3("eors.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 4786 TESTINST3("eors.w r1, r2, r3, lsr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 4787 TESTINST3("eors.w r1, r2, r3, lsr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 4788 TESTINST3("eors.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 4789 TESTINST3("eors.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 4790 TESTINST3("eors.w r1, r2, r3, asr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 4791 TESTINST3("eors.w r1, r2, r3, asr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 4792 TESTINST3("eor.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 4793 TESTINST3("eor.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 4794 TESTINST3("eor.w r1, r2, r3, lsl #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 4795 TESTINST3("eor.w r1, r2, r3, lsl #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 4796 TESTINST3("eor.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 4797 TESTINST3("eor.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 4798 TESTINST3("eor.w r1, r2, r3, lsr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 4799 TESTINST3("eor.w r1, r2, r3, lsr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 4800 TESTINST3("eor.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 4801 TESTINST3("eor.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 4802 TESTINST3("eor.w r1, r2, r3, asr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 4803 TESTINST3("eor.w r1, r2, r3, asr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 4804 TESTCARRYEND 4805 4806 printf("BIC{S}.W Rd, Rn, Rm, {shift}\n"); 4807 TESTCARRY 4808 TESTINST3("bics.w r1, r2, r3, lsl #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 4809 TESTINST3("bics.w r1, r2, r3, lsl #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 4810 TESTINST3("bics.w r1, r2, r3, lsl #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 4811 TESTINST3("bics.w r1, r2, r3, lsl #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 4812 TESTINST3("bics.w r1, r2, r3, lsr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 4813 TESTINST3("bics.w r1, r2, r3, lsr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 4814 TESTINST3("bics.w r1, r2, r3, lsr #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 4815 TESTINST3("bics.w r1, r2, r3, lsr #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 4816 TESTINST3("bics.w r1, r2, r3, asr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 4817 TESTINST3("bics.w r1, r2, r3, asr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 4818 TESTINST3("bics.w r1, r2, r3, asr #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 4819 TESTINST3("bics.w r1, r2, r3, asr #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 4820 TESTINST3("bic.w r1, r2, r3, lsl #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 4821 TESTINST3("bic.w r1, r2, r3, lsl #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 4822 TESTINST3("bic.w r1, r2, r3, lsl #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 4823 TESTINST3("bic.w r1, r2, r3, lsl #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 4824 TESTINST3("bic.w r1, r2, r3, lsr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 4825 TESTINST3("bic.w r1, r2, r3, lsr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 4826 TESTINST3("bic.w r1, r2, r3, lsr #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 4827 TESTINST3("bic.w r1, r2, r3, lsr #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 4828 TESTINST3("bic.w r1, r2, r3, asr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 4829 TESTINST3("bic.w r1, r2, r3, asr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 4830 TESTINST3("bic.w r1, r2, r3, asr #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 4831 TESTINST3("bic.w r1, r2, r3, asr #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 4832 TESTINST3("bics.w r1, r2, r3, lsl #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 4833 TESTINST3("bics.w r1, r2, r3, lsl #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 4834 TESTINST3("bics.w r1, r2, r3, lsl #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 4835 TESTINST3("bics.w r1, r2, r3, lsl #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 4836 TESTINST3("bics.w r1, r2, r3, lsr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 4837 TESTINST3("bics.w r1, r2, r3, lsr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 4838 TESTINST3("bics.w r1, r2, r3, lsr #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 4839 TESTINST3("bics.w r1, r2, r3, lsr #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 4840 TESTINST3("bics.w r1, r2, r3, asr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 4841 TESTINST3("bics.w r1, r2, r3, asr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 4842 TESTINST3("bics.w r1, r2, r3, asr #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 4843 TESTINST3("bics.w r1, r2, r3, asr #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 4844 TESTINST3("bic.w r1, r2, r3, lsl #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 4845 TESTINST3("bic.w r1, r2, r3, lsl #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 4846 TESTINST3("bic.w r1, r2, r3, lsl #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 4847 TESTINST3("bic.w r1, r2, r3, lsl #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 4848 TESTINST3("bic.w r1, r2, r3, lsr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 4849 TESTINST3("bic.w r1, r2, r3, lsr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 4850 TESTINST3("bic.w r1, r2, r3, lsr #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 4851 TESTINST3("bic.w r1, r2, r3, lsr #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 4852 TESTINST3("bic.w r1, r2, r3, asr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 4853 TESTINST3("bic.w r1, r2, r3, asr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 4854 TESTINST3("bic.w r1, r2, r3, asr #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 4855 TESTINST3("bic.w r1, r2, r3, asr #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 4856 TESTINST3("bics.w r1, r2, r3, lsl #0 ", 0, 0, r1, r2, r3, cv); 4857 TESTINST3("bics.w r1, r2, r3, lsl #1 ", 0, 0, r1, r2, r3, cv); 4858 TESTINST3("bics.w r1, r2, r3, lsl #15", 0, 0, r1, r2, r3, cv); 4859 TESTINST3("bics.w r1, r2, r3, lsl #31", 0, 0, r1, r2, r3, cv); 4860 TESTINST3("bics.w r1, r2, r3, lsr #0 ", 0, 0, r1, r2, r3, cv); 4861 TESTINST3("bics.w r1, r2, r3, lsr #1 ", 0, 0, r1, r2, r3, cv); 4862 TESTINST3("bics.w r1, r2, r3, lsr #15", 0, 0, r1, r2, r3, cv); 4863 TESTINST3("bics.w r1, r2, r3, lsr #31", 0, 0, r1, r2, r3, cv); 4864 TESTINST3("bics.w r1, r2, r3, asr #0 ", 0, 0, r1, r2, r3, cv); 4865 TESTINST3("bics.w r1, r2, r3, asr #1 ", 0, 0, r1, r2, r3, cv); 4866 TESTINST3("bics.w r1, r2, r3, asr #15", 0, 0, r1, r2, r3, cv); 4867 TESTINST3("bics.w r1, r2, r3, asr #31", 0, 0, r1, r2, r3, cv); 4868 TESTINST3("bic.w r1, r2, r3, lsl #0 ", 0, 0, r1, r2, r3, cv); 4869 TESTINST3("bic.w r1, r2, r3, lsl #1 ", 0, 0, r1, r2, r3, cv); 4870 TESTINST3("bic.w r1, r2, r3, lsl #15", 0, 0, r1, r2, r3, cv); 4871 TESTINST3("bic.w r1, r2, r3, lsl #31", 0, 0, r1, r2, r3, cv); 4872 TESTINST3("bic.w r1, r2, r3, lsr #0 ", 0, 0, r1, r2, r3, cv); 4873 TESTINST3("bic.w r1, r2, r3, lsr #1 ", 0, 0, r1, r2, r3, cv); 4874 TESTINST3("bic.w r1, r2, r3, lsr #15", 0, 0, r1, r2, r3, cv); 4875 TESTINST3("bic.w r1, r2, r3, lsr #31", 0, 0, r1, r2, r3, cv); 4876 TESTINST3("bic.w r1, r2, r3, asr #0 ", 0, 0, r1, r2, r3, cv); 4877 TESTINST3("bic.w r1, r2, r3, asr #1 ", 0, 0, r1, r2, r3, cv); 4878 TESTINST3("bic.w r1, r2, r3, asr #15", 0, 0, r1, r2, r3, cv); 4879 TESTINST3("bic.w r1, r2, r3, asr #31", 0, 0, r1, r2, r3, cv); 4880 TESTINST3("bics.w r1, r2, r3, lsl #0 ", 1, 0, r1, r2, r3, cv); 4881 TESTINST3("bics.w r1, r2, r3, lsl #1 ", 1, 0, r1, r2, r3, cv); 4882 TESTINST3("bics.w r1, r2, r3, lsl #15", 1, 0, r1, r2, r3, cv); 4883 TESTINST3("bics.w r1, r2, r3, lsl #31", 1, 0, r1, r2, r3, cv); 4884 TESTINST3("bics.w r1, r2, r3, lsr #0 ", 1, 0, r1, r2, r3, cv); 4885 TESTINST3("bics.w r1, r2, r3, lsr #1 ", 1, 0, r1, r2, r3, cv); 4886 TESTINST3("bics.w r1, r2, r3, lsr #15", 1, 0, r1, r2, r3, cv); 4887 TESTINST3("bics.w r1, r2, r3, lsr #31", 1, 0, r1, r2, r3, cv); 4888 TESTINST3("bics.w r1, r2, r3, asr #0 ", 1, 0, r1, r2, r3, cv); 4889 TESTINST3("bics.w r1, r2, r3, asr #1 ", 1, 0, r1, r2, r3, cv); 4890 TESTINST3("bics.w r1, r2, r3, asr #15", 1, 0, r1, r2, r3, cv); 4891 TESTINST3("bics.w r1, r2, r3, asr #31", 1, 0, r1, r2, r3, cv); 4892 TESTINST3("bic.w r1, r2, r3, lsl #0 ", 1, 0, r1, r2, r3, cv); 4893 TESTINST3("bic.w r1, r2, r3, lsl #1 ", 1, 0, r1, r2, r3, cv); 4894 TESTINST3("bic.w r1, r2, r3, lsl #15", 1, 0, r1, r2, r3, cv); 4895 TESTINST3("bic.w r1, r2, r3, lsl #31", 1, 0, r1, r2, r3, cv); 4896 TESTINST3("bic.w r1, r2, r3, lsr #0 ", 1, 0, r1, r2, r3, cv); 4897 TESTINST3("bic.w r1, r2, r3, lsr #1 ", 1, 0, r1, r2, r3, cv); 4898 TESTINST3("bic.w r1, r2, r3, lsr #15", 1, 0, r1, r2, r3, cv); 4899 TESTINST3("bic.w r1, r2, r3, lsr #31", 1, 0, r1, r2, r3, cv); 4900 TESTINST3("bic.w r1, r2, r3, asr #0 ", 1, 0, r1, r2, r3, cv); 4901 TESTINST3("bic.w r1, r2, r3, asr #1 ", 1, 0, r1, r2, r3, cv); 4902 TESTINST3("bic.w r1, r2, r3, asr #15", 1, 0, r1, r2, r3, cv); 4903 TESTINST3("bic.w r1, r2, r3, asr #31", 1, 0, r1, r2, r3, cv); 4904 TESTINST3("bics.w r1, r2, r3, lsl #0 ", 0, 1, r1, r2, r3, cv); 4905 TESTINST3("bics.w r1, r2, r3, lsl #1 ", 0, 1, r1, r2, r3, cv); 4906 TESTINST3("bics.w r1, r2, r3, lsl #15", 0, 1, r1, r2, r3, cv); 4907 TESTINST3("bics.w r1, r2, r3, lsl #31", 0, 1, r1, r2, r3, cv); 4908 TESTINST3("bics.w r1, r2, r3, lsr #0 ", 0, 1, r1, r2, r3, cv); 4909 TESTINST3("bics.w r1, r2, r3, lsr #1 ", 0, 1, r1, r2, r3, cv); 4910 TESTINST3("bics.w r1, r2, r3, lsr #15", 0, 1, r1, r2, r3, cv); 4911 TESTINST3("bics.w r1, r2, r3, lsr #31", 0, 1, r1, r2, r3, cv); 4912 TESTINST3("bics.w r1, r2, r3, asr #0 ", 0, 1, r1, r2, r3, cv); 4913 TESTINST3("bics.w r1, r2, r3, asr #1 ", 0, 1, r1, r2, r3, cv); 4914 TESTINST3("bics.w r1, r2, r3, asr #15", 0, 1, r1, r2, r3, cv); 4915 TESTINST3("bics.w r1, r2, r3, asr #31", 0, 1, r1, r2, r3, cv); 4916 TESTINST3("bic.w r1, r2, r3, lsl #0 ", 0, 1, r1, r2, r3, cv); 4917 TESTINST3("bic.w r1, r2, r3, lsl #1 ", 0, 1, r1, r2, r3, cv); 4918 TESTINST3("bic.w r1, r2, r3, lsl #15", 0, 1, r1, r2, r3, cv); 4919 TESTINST3("bic.w r1, r2, r3, lsl #31", 0, 1, r1, r2, r3, cv); 4920 TESTINST3("bic.w r1, r2, r3, lsr #0 ", 0, 1, r1, r2, r3, cv); 4921 TESTINST3("bic.w r1, r2, r3, lsr #1 ", 0, 1, r1, r2, r3, cv); 4922 TESTINST3("bic.w r1, r2, r3, lsr #15", 0, 1, r1, r2, r3, cv); 4923 TESTINST3("bic.w r1, r2, r3, lsr #31", 0, 1, r1, r2, r3, cv); 4924 TESTINST3("bic.w r1, r2, r3, asr #0 ", 0, 1, r1, r2, r3, cv); 4925 TESTINST3("bic.w r1, r2, r3, asr #1 ", 0, 1, r1, r2, r3, cv); 4926 TESTINST3("bic.w r1, r2, r3, asr #15", 0, 1, r1, r2, r3, cv); 4927 TESTINST3("bic.w r1, r2, r3, asr #31", 0, 1, r1, r2, r3, cv); 4928 TESTINST3("bics.w r1, r2, r3, lsl #0 ", -1, 0, r1, r2, r3, cv); 4929 TESTINST3("bics.w r1, r2, r3, lsl #1 ", -1, 0, r1, r2, r3, cv); 4930 TESTINST3("bics.w r1, r2, r3, lsl #15", -1, 0, r1, r2, r3, cv); 4931 TESTINST3("bics.w r1, r2, r3, lsl #31", -1, 0, r1, r2, r3, cv); 4932 TESTINST3("bics.w r1, r2, r3, lsr #0 ", -1, 0, r1, r2, r3, cv); 4933 TESTINST3("bics.w r1, r2, r3, lsr #1 ", -1, 0, r1, r2, r3, cv); 4934 TESTINST3("bics.w r1, r2, r3, lsr #15", -1, 0, r1, r2, r3, cv); 4935 TESTINST3("bics.w r1, r2, r3, lsr #31", -1, 0, r1, r2, r3, cv); 4936 TESTINST3("bics.w r1, r2, r3, asr #0 ", -1, 0, r1, r2, r3, cv); 4937 TESTINST3("bics.w r1, r2, r3, asr #1 ", -1, 0, r1, r2, r3, cv); 4938 TESTINST3("bics.w r1, r2, r3, asr #15", -1, 0, r1, r2, r3, cv); 4939 TESTINST3("bics.w r1, r2, r3, asr #31", -1, 0, r1, r2, r3, cv); 4940 TESTINST3("bic.w r1, r2, r3, lsl #0 ", -1, 0, r1, r2, r3, cv); 4941 TESTINST3("bic.w r1, r2, r3, lsl #1 ", -1, 0, r1, r2, r3, cv); 4942 TESTINST3("bic.w r1, r2, r3, lsl #15", -1, 0, r1, r2, r3, cv); 4943 TESTINST3("bic.w r1, r2, r3, lsl #31", -1, 0, r1, r2, r3, cv); 4944 TESTINST3("bic.w r1, r2, r3, lsr #0 ", -1, 0, r1, r2, r3, cv); 4945 TESTINST3("bic.w r1, r2, r3, lsr #1 ", -1, 0, r1, r2, r3, cv); 4946 TESTINST3("bic.w r1, r2, r3, lsr #15", -1, 0, r1, r2, r3, cv); 4947 TESTINST3("bic.w r1, r2, r3, lsr #31", -1, 0, r1, r2, r3, cv); 4948 TESTINST3("bic.w r1, r2, r3, asr #0 ", -1, 0, r1, r2, r3, cv); 4949 TESTINST3("bic.w r1, r2, r3, asr #1 ", -1, 0, r1, r2, r3, cv); 4950 TESTINST3("bic.w r1, r2, r3, asr #15", -1, 0, r1, r2, r3, cv); 4951 TESTINST3("bic.w r1, r2, r3, asr #31", -1, 0, r1, r2, r3, cv); 4952 TESTINST3("bics.w r1, r2, r3, lsl #0 ", 0, -1, r1, r2, r3, cv); 4953 TESTINST3("bics.w r1, r2, r3, lsl #1 ", 0, -1, r1, r2, r3, cv); 4954 TESTINST3("bics.w r1, r2, r3, lsl #15", 0, -1, r1, r2, r3, cv); 4955 TESTINST3("bics.w r1, r2, r3, lsl #31", 0, -1, r1, r2, r3, cv); 4956 TESTINST3("bics.w r1, r2, r3, lsr #0 ", 0, -1, r1, r2, r3, cv); 4957 TESTINST3("bics.w r1, r2, r3, lsr #1 ", 0, -1, r1, r2, r3, cv); 4958 TESTINST3("bics.w r1, r2, r3, lsr #15", 0, -1, r1, r2, r3, cv); 4959 TESTINST3("bics.w r1, r2, r3, lsr #31", 0, -1, r1, r2, r3, cv); 4960 TESTINST3("bics.w r1, r2, r3, asr #0 ", 0, -1, r1, r2, r3, cv); 4961 TESTINST3("bics.w r1, r2, r3, asr #1 ", 0, -1, r1, r2, r3, cv); 4962 TESTINST3("bics.w r1, r2, r3, asr #15", 0, -1, r1, r2, r3, cv); 4963 TESTINST3("bics.w r1, r2, r3, asr #31", 0, -1, r1, r2, r3, cv); 4964 TESTINST3("bic.w r1, r2, r3, lsl #0 ", 0, -1, r1, r2, r3, cv); 4965 TESTINST3("bic.w r1, r2, r3, lsl #1 ", 0, -1, r1, r2, r3, cv); 4966 TESTINST3("bic.w r1, r2, r3, lsl #15", 0, -1, r1, r2, r3, cv); 4967 TESTINST3("bic.w r1, r2, r3, lsl #31", 0, -1, r1, r2, r3, cv); 4968 TESTINST3("bic.w r1, r2, r3, lsr #0 ", 0, -1, r1, r2, r3, cv); 4969 TESTINST3("bic.w r1, r2, r3, lsr #1 ", 0, -1, r1, r2, r3, cv); 4970 TESTINST3("bic.w r1, r2, r3, lsr #15", 0, -1, r1, r2, r3, cv); 4971 TESTINST3("bic.w r1, r2, r3, lsr #31", 0, -1, r1, r2, r3, cv); 4972 TESTINST3("bic.w r1, r2, r3, asr #0 ", 0, -1, r1, r2, r3, cv); 4973 TESTINST3("bic.w r1, r2, r3, asr #1 ", 0, -1, r1, r2, r3, cv); 4974 TESTINST3("bic.w r1, r2, r3, asr #15", 0, -1, r1, r2, r3, cv); 4975 TESTINST3("bic.w r1, r2, r3, asr #31", 0, -1, r1, r2, r3, cv); 4976 TESTINST3("bics.w r1, r2, r3, lsl #0 ", 0, 0x80000000, r1, r2, r3, cv); 4977 TESTINST3("bics.w r1, r2, r3, lsl #1 ", 0, 0x80000000, r1, r2, r3, cv); 4978 TESTINST3("bics.w r1, r2, r3, lsl #15", 0, 0x80000000, r1, r2, r3, cv); 4979 TESTINST3("bics.w r1, r2, r3, lsl #31", 0, 0x80000000, r1, r2, r3, cv); 4980 TESTINST3("bics.w r1, r2, r3, lsr #0 ", 0, 0x80000000, r1, r2, r3, cv); 4981 TESTINST3("bics.w r1, r2, r3, lsr #1 ", 0, 0x80000000, r1, r2, r3, cv); 4982 TESTINST3("bics.w r1, r2, r3, lsr #15", 0, 0x80000000, r1, r2, r3, cv); 4983 TESTINST3("bics.w r1, r2, r3, lsr #31", 0, 0x80000000, r1, r2, r3, cv); 4984 TESTINST3("bics.w r1, r2, r3, asr #0 ", 0, 0x80000000, r1, r2, r3, cv); 4985 TESTINST3("bics.w r1, r2, r3, asr #1 ", 0, 0x80000000, r1, r2, r3, cv); 4986 TESTINST3("bics.w r1, r2, r3, asr #15", 0, 0x80000000, r1, r2, r3, cv); 4987 TESTINST3("bics.w r1, r2, r3, asr #31", 0, 0x80000000, r1, r2, r3, cv); 4988 TESTINST3("bic.w r1, r2, r3, lsl #0 ", 0, 0x80000000, r1, r2, r3, cv); 4989 TESTINST3("bic.w r1, r2, r3, lsl #1 ", 0, 0x80000000, r1, r2, r3, cv); 4990 TESTINST3("bic.w r1, r2, r3, lsl #15", 0, 0x80000000, r1, r2, r3, cv); 4991 TESTINST3("bic.w r1, r2, r3, lsl #31", 0, 0x80000000, r1, r2, r3, cv); 4992 TESTINST3("bic.w r1, r2, r3, lsr #0 ", 0, 0x80000000, r1, r2, r3, cv); 4993 TESTINST3("bic.w r1, r2, r3, lsr #1 ", 0, 0x80000000, r1, r2, r3, cv); 4994 TESTINST3("bic.w r1, r2, r3, lsr #15", 0, 0x80000000, r1, r2, r3, cv); 4995 TESTINST3("bic.w r1, r2, r3, lsr #31", 0, 0x80000000, r1, r2, r3, cv); 4996 TESTINST3("bic.w r1, r2, r3, asr #0 ", 0, 0x80000000, r1, r2, r3, cv); 4997 TESTINST3("bic.w r1, r2, r3, asr #1 ", 0, 0x80000000, r1, r2, r3, cv); 4998 TESTINST3("bic.w r1, r2, r3, asr #15", 0, 0x80000000, r1, r2, r3, cv); 4999 TESTINST3("bic.w r1, r2, r3, asr #31", 0, 0x80000000, r1, r2, r3, cv); 5000 TESTINST3("bics.w r1, r2, r3, lsl #0 ", 0x80000000, 0, r1, r2, r3, cv); 5001 TESTINST3("bics.w r1, r2, r3, lsl #1 ", 0x80000000, 0, r1, r2, r3, cv); 5002 TESTINST3("bics.w r1, r2, r3, lsl #15", 0x80000000, 0, r1, r2, r3, cv); 5003 TESTINST3("bics.w r1, r2, r3, lsl #31", 0x80000000, 0, r1, r2, r3, cv); 5004 TESTINST3("bics.w r1, r2, r3, lsr #0 ", 0x80000000, 0, r1, r2, r3, cv); 5005 TESTINST3("bics.w r1, r2, r3, lsr #1 ", 0x80000000, 0, r1, r2, r3, cv); 5006 TESTINST3("bics.w r1, r2, r3, lsr #15", 0x80000000, 0, r1, r2, r3, cv); 5007 TESTINST3("bics.w r1, r2, r3, lsr #31", 0x80000000, 0, r1, r2, r3, cv); 5008 TESTINST3("bics.w r1, r2, r3, asr #0 ", 0x80000000, 0, r1, r2, r3, cv); 5009 TESTINST3("bics.w r1, r2, r3, asr #1 ", 0x80000000, 0, r1, r2, r3, cv); 5010 TESTINST3("bics.w r1, r2, r3, asr #15", 0x80000000, 0, r1, r2, r3, cv); 5011 TESTINST3("bics.w r1, r2, r3, asr #31", 0x80000000, 0, r1, r2, r3, cv); 5012 TESTINST3("bic.w r1, r2, r3, lsl #0 ", 0x80000000, 0, r1, r2, r3, cv); 5013 TESTINST3("bic.w r1, r2, r3, lsl #1 ", 0x80000000, 0, r1, r2, r3, cv); 5014 TESTINST3("bic.w r1, r2, r3, lsl #15", 0x80000000, 0, r1, r2, r3, cv); 5015 TESTINST3("bic.w r1, r2, r3, lsl #31", 0x80000000, 0, r1, r2, r3, cv); 5016 TESTINST3("bic.w r1, r2, r3, lsr #0 ", 0x80000000, 0, r1, r2, r3, cv); 5017 TESTINST3("bic.w r1, r2, r3, lsr #1 ", 0x80000000, 0, r1, r2, r3, cv); 5018 TESTINST3("bic.w r1, r2, r3, lsr #15", 0x80000000, 0, r1, r2, r3, cv); 5019 TESTINST3("bic.w r1, r2, r3, lsr #31", 0x80000000, 0, r1, r2, r3, cv); 5020 TESTINST3("bic.w r1, r2, r3, asr #0 ", 0x80000000, 0, r1, r2, r3, cv); 5021 TESTINST3("bic.w r1, r2, r3, asr #1 ", 0x80000000, 0, r1, r2, r3, cv); 5022 TESTINST3("bic.w r1, r2, r3, asr #15", 0x80000000, 0, r1, r2, r3, cv); 5023 TESTINST3("bic.w r1, r2, r3, asr #31", 0x80000000, 0, r1, r2, r3, cv); 5024 TESTINST3("bics.w r1, r2, r3, lsl #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 5025 TESTINST3("bics.w r1, r2, r3, lsl #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 5026 TESTINST3("bics.w r1, r2, r3, lsl #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 5027 TESTINST3("bics.w r1, r2, r3, lsl #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 5028 TESTINST3("bics.w r1, r2, r3, lsr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 5029 TESTINST3("bics.w r1, r2, r3, lsr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 5030 TESTINST3("bics.w r1, r2, r3, lsr #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 5031 TESTINST3("bics.w r1, r2, r3, lsr #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 5032 TESTINST3("bics.w r1, r2, r3, asr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 5033 TESTINST3("bics.w r1, r2, r3, asr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 5034 TESTINST3("bics.w r1, r2, r3, asr #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 5035 TESTINST3("bics.w r1, r2, r3, asr #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 5036 TESTINST3("bic.w r1, r2, r3, lsl #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 5037 TESTINST3("bic.w r1, r2, r3, lsl #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 5038 TESTINST3("bic.w r1, r2, r3, lsl #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 5039 TESTINST3("bic.w r1, r2, r3, lsl #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 5040 TESTINST3("bic.w r1, r2, r3, lsr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 5041 TESTINST3("bic.w r1, r2, r3, lsr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 5042 TESTINST3("bic.w r1, r2, r3, lsr #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 5043 TESTINST3("bic.w r1, r2, r3, lsr #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 5044 TESTINST3("bic.w r1, r2, r3, asr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 5045 TESTINST3("bic.w r1, r2, r3, asr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 5046 TESTINST3("bic.w r1, r2, r3, asr #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 5047 TESTINST3("bic.w r1, r2, r3, asr #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 5048 TESTINST3("bics.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 5049 TESTINST3("bics.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 5050 TESTINST3("bics.w r1, r2, r3, lsl #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 5051 TESTINST3("bics.w r1, r2, r3, lsl #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 5052 TESTINST3("bics.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 5053 TESTINST3("bics.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 5054 TESTINST3("bics.w r1, r2, r3, lsr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 5055 TESTINST3("bics.w r1, r2, r3, lsr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 5056 TESTINST3("bics.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 5057 TESTINST3("bics.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 5058 TESTINST3("bics.w r1, r2, r3, asr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 5059 TESTINST3("bics.w r1, r2, r3, asr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 5060 TESTINST3("bic.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 5061 TESTINST3("bic.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 5062 TESTINST3("bic.w r1, r2, r3, lsl #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 5063 TESTINST3("bic.w r1, r2, r3, lsl #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 5064 TESTINST3("bic.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 5065 TESTINST3("bic.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 5066 TESTINST3("bic.w r1, r2, r3, lsr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 5067 TESTINST3("bic.w r1, r2, r3, lsr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 5068 TESTINST3("bic.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 5069 TESTINST3("bic.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 5070 TESTINST3("bic.w r1, r2, r3, asr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 5071 TESTINST3("bic.w r1, r2, r3, asr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 5072 TESTINST3("bics.w r1, r2, r3, lsl #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 5073 TESTINST3("bics.w r1, r2, r3, lsl #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 5074 TESTINST3("bics.w r1, r2, r3, lsl #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 5075 TESTINST3("bics.w r1, r2, r3, lsl #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 5076 TESTINST3("bics.w r1, r2, r3, lsr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 5077 TESTINST3("bics.w r1, r2, r3, lsr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 5078 TESTINST3("bics.w r1, r2, r3, lsr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 5079 TESTINST3("bics.w r1, r2, r3, lsr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 5080 TESTINST3("bics.w r1, r2, r3, asr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 5081 TESTINST3("bics.w r1, r2, r3, asr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 5082 TESTINST3("bics.w r1, r2, r3, asr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 5083 TESTINST3("bics.w r1, r2, r3, asr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 5084 TESTINST3("bic.w r1, r2, r3, lsl #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 5085 TESTINST3("bic.w r1, r2, r3, lsl #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 5086 TESTINST3("bic.w r1, r2, r3, lsl #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 5087 TESTINST3("bic.w r1, r2, r3, lsl #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 5088 TESTINST3("bic.w r1, r2, r3, lsr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 5089 TESTINST3("bic.w r1, r2, r3, lsr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 5090 TESTINST3("bic.w r1, r2, r3, lsr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 5091 TESTINST3("bic.w r1, r2, r3, lsr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 5092 TESTINST3("bic.w r1, r2, r3, asr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 5093 TESTINST3("bic.w r1, r2, r3, asr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 5094 TESTINST3("bic.w r1, r2, r3, asr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 5095 TESTINST3("bic.w r1, r2, r3, asr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 5096 TESTINST3("bics.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 5097 TESTINST3("bics.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 5098 TESTINST3("bics.w r1, r2, r3, lsl #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 5099 TESTINST3("bics.w r1, r2, r3, lsl #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 5100 TESTINST3("bics.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 5101 TESTINST3("bics.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 5102 TESTINST3("bics.w r1, r2, r3, lsr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 5103 TESTINST3("bics.w r1, r2, r3, lsr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 5104 TESTINST3("bics.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 5105 TESTINST3("bics.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 5106 TESTINST3("bics.w r1, r2, r3, asr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 5107 TESTINST3("bics.w r1, r2, r3, asr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 5108 TESTINST3("bic.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 5109 TESTINST3("bic.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 5110 TESTINST3("bic.w r1, r2, r3, lsl #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 5111 TESTINST3("bic.w r1, r2, r3, lsl #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 5112 TESTINST3("bic.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 5113 TESTINST3("bic.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 5114 TESTINST3("bic.w r1, r2, r3, lsr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 5115 TESTINST3("bic.w r1, r2, r3, lsr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 5116 TESTINST3("bic.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 5117 TESTINST3("bic.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 5118 TESTINST3("bic.w r1, r2, r3, asr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 5119 TESTINST3("bic.w r1, r2, r3, asr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 5120 TESTCARRYEND 5121 5122 printf("ORN{S}.W Rd, Rn, Rm, {shift}\n"); 5123 TESTCARRY 5124 TESTINST3("orns.w r1, r2, r3, lsl #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 5125 TESTINST3("orns.w r1, r2, r3, lsl #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 5126 TESTINST3("orns.w r1, r2, r3, lsl #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 5127 TESTINST3("orns.w r1, r2, r3, lsl #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 5128 TESTINST3("orns.w r1, r2, r3, lsr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 5129 TESTINST3("orns.w r1, r2, r3, lsr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 5130 TESTINST3("orns.w r1, r2, r3, lsr #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 5131 TESTINST3("orns.w r1, r2, r3, lsr #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 5132 TESTINST3("orns.w r1, r2, r3, asr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 5133 TESTINST3("orns.w r1, r2, r3, asr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 5134 TESTINST3("orns.w r1, r2, r3, asr #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 5135 TESTINST3("orns.w r1, r2, r3, asr #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 5136 TESTINST3("orn.w r1, r2, r3, lsl #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 5137 TESTINST3("orn.w r1, r2, r3, lsl #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 5138 TESTINST3("orn.w r1, r2, r3, lsl #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 5139 TESTINST3("orn.w r1, r2, r3, lsl #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 5140 TESTINST3("orn.w r1, r2, r3, lsr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 5141 TESTINST3("orn.w r1, r2, r3, lsr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 5142 TESTINST3("orn.w r1, r2, r3, lsr #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 5143 TESTINST3("orn.w r1, r2, r3, lsr #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 5144 TESTINST3("orn.w r1, r2, r3, asr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 5145 TESTINST3("orn.w r1, r2, r3, asr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 5146 TESTINST3("orn.w r1, r2, r3, asr #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 5147 TESTINST3("orn.w r1, r2, r3, asr #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 5148 TESTINST3("orns.w r1, r2, r3, lsl #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 5149 TESTINST3("orns.w r1, r2, r3, lsl #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 5150 TESTINST3("orns.w r1, r2, r3, lsl #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 5151 TESTINST3("orns.w r1, r2, r3, lsl #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 5152 TESTINST3("orns.w r1, r2, r3, lsr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 5153 TESTINST3("orns.w r1, r2, r3, lsr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 5154 TESTINST3("orns.w r1, r2, r3, lsr #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 5155 TESTINST3("orns.w r1, r2, r3, lsr #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 5156 TESTINST3("orns.w r1, r2, r3, asr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 5157 TESTINST3("orns.w r1, r2, r3, asr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 5158 TESTINST3("orns.w r1, r2, r3, asr #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 5159 TESTINST3("orns.w r1, r2, r3, asr #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 5160 TESTINST3("orn.w r1, r2, r3, lsl #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 5161 TESTINST3("orn.w r1, r2, r3, lsl #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 5162 TESTINST3("orn.w r1, r2, r3, lsl #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 5163 TESTINST3("orn.w r1, r2, r3, lsl #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 5164 TESTINST3("orn.w r1, r2, r3, lsr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 5165 TESTINST3("orn.w r1, r2, r3, lsr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 5166 TESTINST3("orn.w r1, r2, r3, lsr #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 5167 TESTINST3("orn.w r1, r2, r3, lsr #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 5168 TESTINST3("orn.w r1, r2, r3, asr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 5169 TESTINST3("orn.w r1, r2, r3, asr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 5170 TESTINST3("orn.w r1, r2, r3, asr #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 5171 TESTINST3("orn.w r1, r2, r3, asr #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 5172 TESTINST3("orns.w r1, r2, r3, lsl #0 ", 0, 0, r1, r2, r3, cv); 5173 TESTINST3("orns.w r1, r2, r3, lsl #1 ", 0, 0, r1, r2, r3, cv); 5174 TESTINST3("orns.w r1, r2, r3, lsl #15", 0, 0, r1, r2, r3, cv); 5175 TESTINST3("orns.w r1, r2, r3, lsl #31", 0, 0, r1, r2, r3, cv); 5176 TESTINST3("orns.w r1, r2, r3, lsr #0 ", 0, 0, r1, r2, r3, cv); 5177 TESTINST3("orns.w r1, r2, r3, lsr #1 ", 0, 0, r1, r2, r3, cv); 5178 TESTINST3("orns.w r1, r2, r3, lsr #15", 0, 0, r1, r2, r3, cv); 5179 TESTINST3("orns.w r1, r2, r3, lsr #31", 0, 0, r1, r2, r3, cv); 5180 TESTINST3("orns.w r1, r2, r3, asr #0 ", 0, 0, r1, r2, r3, cv); 5181 TESTINST3("orns.w r1, r2, r3, asr #1 ", 0, 0, r1, r2, r3, cv); 5182 TESTINST3("orns.w r1, r2, r3, asr #15", 0, 0, r1, r2, r3, cv); 5183 TESTINST3("orns.w r1, r2, r3, asr #31", 0, 0, r1, r2, r3, cv); 5184 TESTINST3("orn.w r1, r2, r3, lsl #0 ", 0, 0, r1, r2, r3, cv); 5185 TESTINST3("orn.w r1, r2, r3, lsl #1 ", 0, 0, r1, r2, r3, cv); 5186 TESTINST3("orn.w r1, r2, r3, lsl #15", 0, 0, r1, r2, r3, cv); 5187 TESTINST3("orn.w r1, r2, r3, lsl #31", 0, 0, r1, r2, r3, cv); 5188 TESTINST3("orn.w r1, r2, r3, lsr #0 ", 0, 0, r1, r2, r3, cv); 5189 TESTINST3("orn.w r1, r2, r3, lsr #1 ", 0, 0, r1, r2, r3, cv); 5190 TESTINST3("orn.w r1, r2, r3, lsr #15", 0, 0, r1, r2, r3, cv); 5191 TESTINST3("orn.w r1, r2, r3, lsr #31", 0, 0, r1, r2, r3, cv); 5192 TESTINST3("orn.w r1, r2, r3, asr #0 ", 0, 0, r1, r2, r3, cv); 5193 TESTINST3("orn.w r1, r2, r3, asr #1 ", 0, 0, r1, r2, r3, cv); 5194 TESTINST3("orn.w r1, r2, r3, asr #15", 0, 0, r1, r2, r3, cv); 5195 TESTINST3("orn.w r1, r2, r3, asr #31", 0, 0, r1, r2, r3, cv); 5196 TESTINST3("orns.w r1, r2, r3, lsl #0 ", 1, 0, r1, r2, r3, cv); 5197 TESTINST3("orns.w r1, r2, r3, lsl #1 ", 1, 0, r1, r2, r3, cv); 5198 TESTINST3("orns.w r1, r2, r3, lsl #15", 1, 0, r1, r2, r3, cv); 5199 TESTINST3("orns.w r1, r2, r3, lsl #31", 1, 0, r1, r2, r3, cv); 5200 TESTINST3("orns.w r1, r2, r3, lsr #0 ", 1, 0, r1, r2, r3, cv); 5201 TESTINST3("orns.w r1, r2, r3, lsr #1 ", 1, 0, r1, r2, r3, cv); 5202 TESTINST3("orns.w r1, r2, r3, lsr #15", 1, 0, r1, r2, r3, cv); 5203 TESTINST3("orns.w r1, r2, r3, lsr #31", 1, 0, r1, r2, r3, cv); 5204 TESTINST3("orns.w r1, r2, r3, asr #0 ", 1, 0, r1, r2, r3, cv); 5205 TESTINST3("orns.w r1, r2, r3, asr #1 ", 1, 0, r1, r2, r3, cv); 5206 TESTINST3("orns.w r1, r2, r3, asr #15", 1, 0, r1, r2, r3, cv); 5207 TESTINST3("orns.w r1, r2, r3, asr #31", 1, 0, r1, r2, r3, cv); 5208 TESTINST3("orn.w r1, r2, r3, lsl #0 ", 1, 0, r1, r2, r3, cv); 5209 TESTINST3("orn.w r1, r2, r3, lsl #1 ", 1, 0, r1, r2, r3, cv); 5210 TESTINST3("orn.w r1, r2, r3, lsl #15", 1, 0, r1, r2, r3, cv); 5211 TESTINST3("orn.w r1, r2, r3, lsl #31", 1, 0, r1, r2, r3, cv); 5212 TESTINST3("orn.w r1, r2, r3, lsr #0 ", 1, 0, r1, r2, r3, cv); 5213 TESTINST3("orn.w r1, r2, r3, lsr #1 ", 1, 0, r1, r2, r3, cv); 5214 TESTINST3("orn.w r1, r2, r3, lsr #15", 1, 0, r1, r2, r3, cv); 5215 TESTINST3("orn.w r1, r2, r3, lsr #31", 1, 0, r1, r2, r3, cv); 5216 TESTINST3("orn.w r1, r2, r3, asr #0 ", 1, 0, r1, r2, r3, cv); 5217 TESTINST3("orn.w r1, r2, r3, asr #1 ", 1, 0, r1, r2, r3, cv); 5218 TESTINST3("orn.w r1, r2, r3, asr #15", 1, 0, r1, r2, r3, cv); 5219 TESTINST3("orn.w r1, r2, r3, asr #31", 1, 0, r1, r2, r3, cv); 5220 TESTINST3("orns.w r1, r2, r3, lsl #0 ", 0, 1, r1, r2, r3, cv); 5221 TESTINST3("orns.w r1, r2, r3, lsl #1 ", 0, 1, r1, r2, r3, cv); 5222 TESTINST3("orns.w r1, r2, r3, lsl #15", 0, 1, r1, r2, r3, cv); 5223 TESTINST3("orns.w r1, r2, r3, lsl #31", 0, 1, r1, r2, r3, cv); 5224 TESTINST3("orns.w r1, r2, r3, lsr #0 ", 0, 1, r1, r2, r3, cv); 5225 TESTINST3("orns.w r1, r2, r3, lsr #1 ", 0, 1, r1, r2, r3, cv); 5226 TESTINST3("orns.w r1, r2, r3, lsr #15", 0, 1, r1, r2, r3, cv); 5227 TESTINST3("orns.w r1, r2, r3, lsr #31", 0, 1, r1, r2, r3, cv); 5228 TESTINST3("orns.w r1, r2, r3, asr #0 ", 0, 1, r1, r2, r3, cv); 5229 TESTINST3("orns.w r1, r2, r3, asr #1 ", 0, 1, r1, r2, r3, cv); 5230 TESTINST3("orns.w r1, r2, r3, asr #15", 0, 1, r1, r2, r3, cv); 5231 TESTINST3("orns.w r1, r2, r3, asr #31", 0, 1, r1, r2, r3, cv); 5232 TESTINST3("orn.w r1, r2, r3, lsl #0 ", 0, 1, r1, r2, r3, cv); 5233 TESTINST3("orn.w r1, r2, r3, lsl #1 ", 0, 1, r1, r2, r3, cv); 5234 TESTINST3("orn.w r1, r2, r3, lsl #15", 0, 1, r1, r2, r3, cv); 5235 TESTINST3("orn.w r1, r2, r3, lsl #31", 0, 1, r1, r2, r3, cv); 5236 TESTINST3("orn.w r1, r2, r3, lsr #0 ", 0, 1, r1, r2, r3, cv); 5237 TESTINST3("orn.w r1, r2, r3, lsr #1 ", 0, 1, r1, r2, r3, cv); 5238 TESTINST3("orn.w r1, r2, r3, lsr #15", 0, 1, r1, r2, r3, cv); 5239 TESTINST3("orn.w r1, r2, r3, lsr #31", 0, 1, r1, r2, r3, cv); 5240 TESTINST3("orn.w r1, r2, r3, asr #0 ", 0, 1, r1, r2, r3, cv); 5241 TESTINST3("orn.w r1, r2, r3, asr #1 ", 0, 1, r1, r2, r3, cv); 5242 TESTINST3("orn.w r1, r2, r3, asr #15", 0, 1, r1, r2, r3, cv); 5243 TESTINST3("orn.w r1, r2, r3, asr #31", 0, 1, r1, r2, r3, cv); 5244 TESTINST3("orns.w r1, r2, r3, lsl #0 ", -1, 0, r1, r2, r3, cv); 5245 TESTINST3("orns.w r1, r2, r3, lsl #1 ", -1, 0, r1, r2, r3, cv); 5246 TESTINST3("orns.w r1, r2, r3, lsl #15", -1, 0, r1, r2, r3, cv); 5247 TESTINST3("orns.w r1, r2, r3, lsl #31", -1, 0, r1, r2, r3, cv); 5248 TESTINST3("orns.w r1, r2, r3, lsr #0 ", -1, 0, r1, r2, r3, cv); 5249 TESTINST3("orns.w r1, r2, r3, lsr #1 ", -1, 0, r1, r2, r3, cv); 5250 TESTINST3("orns.w r1, r2, r3, lsr #15", -1, 0, r1, r2, r3, cv); 5251 TESTINST3("orns.w r1, r2, r3, lsr #31", -1, 0, r1, r2, r3, cv); 5252 TESTINST3("orns.w r1, r2, r3, asr #0 ", -1, 0, r1, r2, r3, cv); 5253 TESTINST3("orns.w r1, r2, r3, asr #1 ", -1, 0, r1, r2, r3, cv); 5254 TESTINST3("orns.w r1, r2, r3, asr #15", -1, 0, r1, r2, r3, cv); 5255 TESTINST3("orns.w r1, r2, r3, asr #31", -1, 0, r1, r2, r3, cv); 5256 TESTINST3("orn.w r1, r2, r3, lsl #0 ", -1, 0, r1, r2, r3, cv); 5257 TESTINST3("orn.w r1, r2, r3, lsl #1 ", -1, 0, r1, r2, r3, cv); 5258 TESTINST3("orn.w r1, r2, r3, lsl #15", -1, 0, r1, r2, r3, cv); 5259 TESTINST3("orn.w r1, r2, r3, lsl #31", -1, 0, r1, r2, r3, cv); 5260 TESTINST3("orn.w r1, r2, r3, lsr #0 ", -1, 0, r1, r2, r3, cv); 5261 TESTINST3("orn.w r1, r2, r3, lsr #1 ", -1, 0, r1, r2, r3, cv); 5262 TESTINST3("orn.w r1, r2, r3, lsr #15", -1, 0, r1, r2, r3, cv); 5263 TESTINST3("orn.w r1, r2, r3, lsr #31", -1, 0, r1, r2, r3, cv); 5264 TESTINST3("orn.w r1, r2, r3, asr #0 ", -1, 0, r1, r2, r3, cv); 5265 TESTINST3("orn.w r1, r2, r3, asr #1 ", -1, 0, r1, r2, r3, cv); 5266 TESTINST3("orn.w r1, r2, r3, asr #15", -1, 0, r1, r2, r3, cv); 5267 TESTINST3("orn.w r1, r2, r3, asr #31", -1, 0, r1, r2, r3, cv); 5268 TESTINST3("orns.w r1, r2, r3, lsl #0 ", 0, -1, r1, r2, r3, cv); 5269 TESTINST3("orns.w r1, r2, r3, lsl #1 ", 0, -1, r1, r2, r3, cv); 5270 TESTINST3("orns.w r1, r2, r3, lsl #15", 0, -1, r1, r2, r3, cv); 5271 TESTINST3("orns.w r1, r2, r3, lsl #31", 0, -1, r1, r2, r3, cv); 5272 TESTINST3("orns.w r1, r2, r3, lsr #0 ", 0, -1, r1, r2, r3, cv); 5273 TESTINST3("orns.w r1, r2, r3, lsr #1 ", 0, -1, r1, r2, r3, cv); 5274 TESTINST3("orns.w r1, r2, r3, lsr #15", 0, -1, r1, r2, r3, cv); 5275 TESTINST3("orns.w r1, r2, r3, lsr #31", 0, -1, r1, r2, r3, cv); 5276 TESTINST3("orns.w r1, r2, r3, asr #0 ", 0, -1, r1, r2, r3, cv); 5277 TESTINST3("orns.w r1, r2, r3, asr #1 ", 0, -1, r1, r2, r3, cv); 5278 TESTINST3("orns.w r1, r2, r3, asr #15", 0, -1, r1, r2, r3, cv); 5279 TESTINST3("orns.w r1, r2, r3, asr #31", 0, -1, r1, r2, r3, cv); 5280 TESTINST3("orn.w r1, r2, r3, lsl #0 ", 0, -1, r1, r2, r3, cv); 5281 TESTINST3("orn.w r1, r2, r3, lsl #1 ", 0, -1, r1, r2, r3, cv); 5282 TESTINST3("orn.w r1, r2, r3, lsl #15", 0, -1, r1, r2, r3, cv); 5283 TESTINST3("orn.w r1, r2, r3, lsl #31", 0, -1, r1, r2, r3, cv); 5284 TESTINST3("orn.w r1, r2, r3, lsr #0 ", 0, -1, r1, r2, r3, cv); 5285 TESTINST3("orn.w r1, r2, r3, lsr #1 ", 0, -1, r1, r2, r3, cv); 5286 TESTINST3("orn.w r1, r2, r3, lsr #15", 0, -1, r1, r2, r3, cv); 5287 TESTINST3("orn.w r1, r2, r3, lsr #31", 0, -1, r1, r2, r3, cv); 5288 TESTINST3("orn.w r1, r2, r3, asr #0 ", 0, -1, r1, r2, r3, cv); 5289 TESTINST3("orn.w r1, r2, r3, asr #1 ", 0, -1, r1, r2, r3, cv); 5290 TESTINST3("orn.w r1, r2, r3, asr #15", 0, -1, r1, r2, r3, cv); 5291 TESTINST3("orn.w r1, r2, r3, asr #31", 0, -1, r1, r2, r3, cv); 5292 TESTINST3("orns.w r1, r2, r3, lsl #0 ", 0, 0x80000000, r1, r2, r3, cv); 5293 TESTINST3("orns.w r1, r2, r3, lsl #1 ", 0, 0x80000000, r1, r2, r3, cv); 5294 TESTINST3("orns.w r1, r2, r3, lsl #15", 0, 0x80000000, r1, r2, r3, cv); 5295 TESTINST3("orns.w r1, r2, r3, lsl #31", 0, 0x80000000, r1, r2, r3, cv); 5296 TESTINST3("orns.w r1, r2, r3, lsr #0 ", 0, 0x80000000, r1, r2, r3, cv); 5297 TESTINST3("orns.w r1, r2, r3, lsr #1 ", 0, 0x80000000, r1, r2, r3, cv); 5298 TESTINST3("orns.w r1, r2, r3, lsr #15", 0, 0x80000000, r1, r2, r3, cv); 5299 TESTINST3("orns.w r1, r2, r3, lsr #31", 0, 0x80000000, r1, r2, r3, cv); 5300 TESTINST3("orns.w r1, r2, r3, asr #0 ", 0, 0x80000000, r1, r2, r3, cv); 5301 TESTINST3("orns.w r1, r2, r3, asr #1 ", 0, 0x80000000, r1, r2, r3, cv); 5302 TESTINST3("orns.w r1, r2, r3, asr #15", 0, 0x80000000, r1, r2, r3, cv); 5303 TESTINST3("orns.w r1, r2, r3, asr #31", 0, 0x80000000, r1, r2, r3, cv); 5304 TESTINST3("orn.w r1, r2, r3, lsl #0 ", 0, 0x80000000, r1, r2, r3, cv); 5305 TESTINST3("orn.w r1, r2, r3, lsl #1 ", 0, 0x80000000, r1, r2, r3, cv); 5306 TESTINST3("orn.w r1, r2, r3, lsl #15", 0, 0x80000000, r1, r2, r3, cv); 5307 TESTINST3("orn.w r1, r2, r3, lsl #31", 0, 0x80000000, r1, r2, r3, cv); 5308 TESTINST3("orn.w r1, r2, r3, lsr #0 ", 0, 0x80000000, r1, r2, r3, cv); 5309 TESTINST3("orn.w r1, r2, r3, lsr #1 ", 0, 0x80000000, r1, r2, r3, cv); 5310 TESTINST3("orn.w r1, r2, r3, lsr #15", 0, 0x80000000, r1, r2, r3, cv); 5311 TESTINST3("orn.w r1, r2, r3, lsr #31", 0, 0x80000000, r1, r2, r3, cv); 5312 TESTINST3("orn.w r1, r2, r3, asr #0 ", 0, 0x80000000, r1, r2, r3, cv); 5313 TESTINST3("orn.w r1, r2, r3, asr #1 ", 0, 0x80000000, r1, r2, r3, cv); 5314 TESTINST3("orn.w r1, r2, r3, asr #15", 0, 0x80000000, r1, r2, r3, cv); 5315 TESTINST3("orn.w r1, r2, r3, asr #31", 0, 0x80000000, r1, r2, r3, cv); 5316 TESTINST3("orns.w r1, r2, r3, lsl #0 ", 0x80000000, 0, r1, r2, r3, cv); 5317 TESTINST3("orns.w r1, r2, r3, lsl #1 ", 0x80000000, 0, r1, r2, r3, cv); 5318 TESTINST3("orns.w r1, r2, r3, lsl #15", 0x80000000, 0, r1, r2, r3, cv); 5319 TESTINST3("orns.w r1, r2, r3, lsl #31", 0x80000000, 0, r1, r2, r3, cv); 5320 TESTINST3("orns.w r1, r2, r3, lsr #0 ", 0x80000000, 0, r1, r2, r3, cv); 5321 TESTINST3("orns.w r1, r2, r3, lsr #1 ", 0x80000000, 0, r1, r2, r3, cv); 5322 TESTINST3("orns.w r1, r2, r3, lsr #15", 0x80000000, 0, r1, r2, r3, cv); 5323 TESTINST3("orns.w r1, r2, r3, lsr #31", 0x80000000, 0, r1, r2, r3, cv); 5324 TESTINST3("orns.w r1, r2, r3, asr #0 ", 0x80000000, 0, r1, r2, r3, cv); 5325 TESTINST3("orns.w r1, r2, r3, asr #1 ", 0x80000000, 0, r1, r2, r3, cv); 5326 TESTINST3("orns.w r1, r2, r3, asr #15", 0x80000000, 0, r1, r2, r3, cv); 5327 TESTINST3("orns.w r1, r2, r3, asr #31", 0x80000000, 0, r1, r2, r3, cv); 5328 TESTINST3("orn.w r1, r2, r3, lsl #0 ", 0x80000000, 0, r1, r2, r3, cv); 5329 TESTINST3("orn.w r1, r2, r3, lsl #1 ", 0x80000000, 0, r1, r2, r3, cv); 5330 TESTINST3("orn.w r1, r2, r3, lsl #15", 0x80000000, 0, r1, r2, r3, cv); 5331 TESTINST3("orn.w r1, r2, r3, lsl #31", 0x80000000, 0, r1, r2, r3, cv); 5332 TESTINST3("orn.w r1, r2, r3, lsr #0 ", 0x80000000, 0, r1, r2, r3, cv); 5333 TESTINST3("orn.w r1, r2, r3, lsr #1 ", 0x80000000, 0, r1, r2, r3, cv); 5334 TESTINST3("orn.w r1, r2, r3, lsr #15", 0x80000000, 0, r1, r2, r3, cv); 5335 TESTINST3("orn.w r1, r2, r3, lsr #31", 0x80000000, 0, r1, r2, r3, cv); 5336 TESTINST3("orn.w r1, r2, r3, asr #0 ", 0x80000000, 0, r1, r2, r3, cv); 5337 TESTINST3("orn.w r1, r2, r3, asr #1 ", 0x80000000, 0, r1, r2, r3, cv); 5338 TESTINST3("orn.w r1, r2, r3, asr #15", 0x80000000, 0, r1, r2, r3, cv); 5339 TESTINST3("orn.w r1, r2, r3, asr #31", 0x80000000, 0, r1, r2, r3, cv); 5340 TESTINST3("orns.w r1, r2, r3, lsl #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 5341 TESTINST3("orns.w r1, r2, r3, lsl #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 5342 TESTINST3("orns.w r1, r2, r3, lsl #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 5343 TESTINST3("orns.w r1, r2, r3, lsl #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 5344 TESTINST3("orns.w r1, r2, r3, lsr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 5345 TESTINST3("orns.w r1, r2, r3, lsr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 5346 TESTINST3("orns.w r1, r2, r3, lsr #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 5347 TESTINST3("orns.w r1, r2, r3, lsr #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 5348 TESTINST3("orns.w r1, r2, r3, asr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 5349 TESTINST3("orns.w r1, r2, r3, asr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 5350 TESTINST3("orns.w r1, r2, r3, asr #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 5351 TESTINST3("orns.w r1, r2, r3, asr #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 5352 TESTINST3("orn.w r1, r2, r3, lsl #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 5353 TESTINST3("orn.w r1, r2, r3, lsl #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 5354 TESTINST3("orn.w r1, r2, r3, lsl #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 5355 TESTINST3("orn.w r1, r2, r3, lsl #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 5356 TESTINST3("orn.w r1, r2, r3, lsr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 5357 TESTINST3("orn.w r1, r2, r3, lsr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 5358 TESTINST3("orn.w r1, r2, r3, lsr #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 5359 TESTINST3("orn.w r1, r2, r3, lsr #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 5360 TESTINST3("orn.w r1, r2, r3, asr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 5361 TESTINST3("orn.w r1, r2, r3, asr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 5362 TESTINST3("orn.w r1, r2, r3, asr #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 5363 TESTINST3("orn.w r1, r2, r3, asr #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 5364 TESTINST3("orns.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 5365 TESTINST3("orns.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 5366 TESTINST3("orns.w r1, r2, r3, lsl #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 5367 TESTINST3("orns.w r1, r2, r3, lsl #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 5368 TESTINST3("orns.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 5369 TESTINST3("orns.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 5370 TESTINST3("orns.w r1, r2, r3, lsr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 5371 TESTINST3("orns.w r1, r2, r3, lsr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 5372 TESTINST3("orns.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 5373 TESTINST3("orns.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 5374 TESTINST3("orns.w r1, r2, r3, asr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 5375 TESTINST3("orns.w r1, r2, r3, asr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 5376 TESTINST3("orn.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 5377 TESTINST3("orn.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 5378 TESTINST3("orn.w r1, r2, r3, lsl #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 5379 TESTINST3("orn.w r1, r2, r3, lsl #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 5380 TESTINST3("orn.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 5381 TESTINST3("orn.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 5382 TESTINST3("orn.w r1, r2, r3, lsr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 5383 TESTINST3("orn.w r1, r2, r3, lsr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 5384 TESTINST3("orn.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 5385 TESTINST3("orn.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 5386 TESTINST3("orn.w r1, r2, r3, asr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 5387 TESTINST3("orn.w r1, r2, r3, asr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 5388 TESTINST3("orns.w r1, r2, r3, lsl #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 5389 TESTINST3("orns.w r1, r2, r3, lsl #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 5390 TESTINST3("orns.w r1, r2, r3, lsl #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 5391 TESTINST3("orns.w r1, r2, r3, lsl #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 5392 TESTINST3("orns.w r1, r2, r3, lsr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 5393 TESTINST3("orns.w r1, r2, r3, lsr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 5394 TESTINST3("orns.w r1, r2, r3, lsr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 5395 TESTINST3("orns.w r1, r2, r3, lsr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 5396 TESTINST3("orns.w r1, r2, r3, asr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 5397 TESTINST3("orns.w r1, r2, r3, asr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 5398 TESTINST3("orns.w r1, r2, r3, asr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 5399 TESTINST3("orns.w r1, r2, r3, asr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 5400 TESTINST3("orn.w r1, r2, r3, lsl #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 5401 TESTINST3("orn.w r1, r2, r3, lsl #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 5402 TESTINST3("orn.w r1, r2, r3, lsl #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 5403 TESTINST3("orn.w r1, r2, r3, lsl #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 5404 TESTINST3("orn.w r1, r2, r3, lsr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 5405 TESTINST3("orn.w r1, r2, r3, lsr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 5406 TESTINST3("orn.w r1, r2, r3, lsr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 5407 TESTINST3("orn.w r1, r2, r3, lsr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 5408 TESTINST3("orn.w r1, r2, r3, asr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 5409 TESTINST3("orn.w r1, r2, r3, asr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 5410 TESTINST3("orn.w r1, r2, r3, asr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 5411 TESTINST3("orn.w r1, r2, r3, asr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 5412 TESTINST3("orns.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 5413 TESTINST3("orns.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 5414 TESTINST3("orns.w r1, r2, r3, lsl #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 5415 TESTINST3("orns.w r1, r2, r3, lsl #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 5416 TESTINST3("orns.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 5417 TESTINST3("orns.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 5418 TESTINST3("orns.w r1, r2, r3, lsr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 5419 TESTINST3("orns.w r1, r2, r3, lsr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 5420 TESTINST3("orns.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 5421 TESTINST3("orns.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 5422 TESTINST3("orns.w r1, r2, r3, asr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 5423 TESTINST3("orns.w r1, r2, r3, asr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 5424 TESTINST3("orn.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 5425 TESTINST3("orn.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 5426 TESTINST3("orn.w r1, r2, r3, lsl #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 5427 TESTINST3("orn.w r1, r2, r3, lsl #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 5428 TESTINST3("orn.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 5429 TESTINST3("orn.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 5430 TESTINST3("orn.w r1, r2, r3, lsr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 5431 TESTINST3("orn.w r1, r2, r3, lsr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 5432 TESTINST3("orn.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 5433 TESTINST3("orn.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 5434 TESTINST3("orn.w r1, r2, r3, asr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 5435 TESTINST3("orn.w r1, r2, r3, asr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 5436 TESTCARRYEND 5437 5438 printf("(T?) LSL{S}.W Rd, Rn, Rm\n"); 5439 TESTCARRY 5440 TESTINST3("lsls.w r1, r2, r3", 0x31415927, 0x00000000, r1, r2, r3, cv); 5441 TESTINST3("lsls.w r1, r2, r3", 0x31415927, 0x00000001, r1, r2, r3, cv); 5442 TESTINST3("lsls.w r1, r2, r3", 0x31415927, 0x00000002, r1, r2, r3, cv); 5443 TESTINST3("lsls.w r1, r2, r3", 0x31415927, 0x0000000F, r1, r2, r3, cv); 5444 TESTINST3("lsls.w r1, r2, r3", 0x31415927, 0x00000010, r1, r2, r3, cv); 5445 TESTINST3("lsls.w r1, r2, r3", 0x31415927, 0x0000001F, r1, r2, r3, cv); 5446 TESTINST3("lsls.w r1, r2, r3", 0x31415927, 0x00000020, r1, r2, r3, cv); 5447 TESTINST3("lsls.w r1, r2, r3", 0x31415927, 0x00000021, r1, r2, r3, cv); 5448 TESTINST3("lsl.w r1, r2, r3", 0x31415927, 0x00000000, r1, r2, r3, cv); 5449 TESTINST3("lsl.w r1, r2, r3", 0x31415927, 0x00000001, r1, r2, r3, cv); 5450 TESTINST3("lsl.w r1, r2, r3", 0x31415927, 0x00000002, r1, r2, r3, cv); 5451 TESTINST3("lsl.w r1, r2, r3", 0x31415927, 0x0000000F, r1, r2, r3, cv); 5452 TESTINST3("lsl.w r1, r2, r3", 0x31415927, 0x00000010, r1, r2, r3, cv); 5453 TESTINST3("lsl.w r1, r2, r3", 0x31415927, 0x0000001F, r1, r2, r3, cv); 5454 TESTINST3("lsl.w r1, r2, r3", 0x31415927, 0x00000020, r1, r2, r3, cv); 5455 TESTINST3("lsl.w r1, r2, r3", 0x31415927, 0x00000021, r1, r2, r3, cv); 5456 TESTCARRYEND 5457 5458 printf("(T?) LSR{S}.W Rd, Rn, Rm\n"); 5459 TESTCARRY 5460 TESTINST3("lsrs.w r1, r2, r3", 0x31415927, 0x00000000, r1, r2, r3, cv); 5461 TESTINST3("lsrs.w r1, r2, r3", 0x31415927, 0x00000001, r1, r2, r3, cv); 5462 TESTINST3("lsrs.w r1, r2, r3", 0x31415927, 0x00000002, r1, r2, r3, cv); 5463 TESTINST3("lsrs.w r1, r2, r3", 0x31415927, 0x0000000F, r1, r2, r3, cv); 5464 TESTINST3("lsrs.w r1, r2, r3", 0x31415927, 0x00000010, r1, r2, r3, cv); 5465 TESTINST3("lsrs.w r1, r2, r3", 0x31415927, 0x0000001F, r1, r2, r3, cv); 5466 TESTINST3("lsrs.w r1, r2, r3", 0x31415927, 0x00000020, r1, r2, r3, cv); 5467 TESTINST3("lsrs.w r1, r2, r3", 0x31415927, 0x00000021, r1, r2, r3, cv); 5468 TESTINST3("lsr.w r1, r2, r3", 0x31415927, 0x00000000, r1, r2, r3, cv); 5469 TESTINST3("lsr.w r1, r2, r3", 0x31415927, 0x00000001, r1, r2, r3, cv); 5470 TESTINST3("lsr.w r1, r2, r3", 0x31415927, 0x00000002, r1, r2, r3, cv); 5471 TESTINST3("lsr.w r1, r2, r3", 0x31415927, 0x0000000F, r1, r2, r3, cv); 5472 TESTINST3("lsr.w r1, r2, r3", 0x31415927, 0x00000010, r1, r2, r3, cv); 5473 TESTINST3("lsr.w r1, r2, r3", 0x31415927, 0x0000001F, r1, r2, r3, cv); 5474 TESTINST3("lsr.w r1, r2, r3", 0x31415927, 0x00000020, r1, r2, r3, cv); 5475 TESTINST3("lsr.w r1, r2, r3", 0x31415927, 0x00000021, r1, r2, r3, cv); 5476 TESTCARRYEND 5477 5478 printf("(T?) ASR{S}.W Rd, Rn, Rm\n"); 5479 TESTCARRY 5480 TESTINST3("asrs.w r1, r2, r3", 0x31415927, 0x00000000, r1, r2, r3, cv); 5481 TESTINST3("asrs.w r1, r2, r3", 0x91415927, 0x00000001, r1, r2, r3, cv); 5482 TESTINST3("asrs.w r1, r2, r3", 0x31415927, 0x00000002, r1, r2, r3, cv); 5483 TESTINST3("asrs.w r1, r2, r3", 0x91415927, 0x0000000F, r1, r2, r3, cv); 5484 TESTINST3("asrs.w r1, r2, r3", 0x31415927, 0x00000010, r1, r2, r3, cv); 5485 TESTINST3("asrs.w r1, r2, r3", 0x91415927, 0x0000001F, r1, r2, r3, cv); 5486 TESTINST3("asrs.w r1, r2, r3", 0x31415927, 0x00000020, r1, r2, r3, cv); 5487 TESTINST3("asrs.w r1, r2, r3", 0x91415927, 0x00000021, r1, r2, r3, cv); 5488 TESTINST3("asr.w r1, r2, r3", 0x31415927, 0x00000000, r1, r2, r3, cv); 5489 TESTINST3("asr.w r1, r2, r3", 0x91415927, 0x00000001, r1, r2, r3, cv); 5490 TESTINST3("asr.w r1, r2, r3", 0x31415927, 0x00000002, r1, r2, r3, cv); 5491 TESTINST3("asr.w r1, r2, r3", 0x91415927, 0x0000000F, r1, r2, r3, cv); 5492 TESTINST3("asr.w r1, r2, r3", 0x31415927, 0x00000010, r1, r2, r3, cv); 5493 TESTINST3("asr.w r1, r2, r3", 0x91415927, 0x0000001F, r1, r2, r3, cv); 5494 TESTINST3("asr.w r1, r2, r3", 0x31415927, 0x00000020, r1, r2, r3, cv); 5495 TESTINST3("asr.w r1, r2, r3", 0x91415927, 0x00000021, r1, r2, r3, cv); 5496 TESTCARRYEND 5497 5498 printf("(T?) ROR{S}.W Rd, Rn, Rm\n"); 5499 TESTCARRY 5500 TESTINST3("rors.w r1, r2, r3", 0x31415927, 0x00000000, r1, r2, r3, cv); 5501 TESTINST3("rors.w r1, r2, r3", 0x31415927, 0x00000001, r1, r2, r3, cv); 5502 TESTINST3("rors.w r1, r2, r3", 0x31415927, 0x00000002, r1, r2, r3, cv); 5503 TESTINST3("rors.w r1, r2, r3", 0x31415927, 0x0000000F, r1, r2, r3, cv); 5504 TESTINST3("rors.w r1, r2, r3", 0x31415927, 0x00000010, r1, r2, r3, cv); 5505 TESTINST3("rors.w r1, r2, r3", 0x31415927, 0x0000001F, r1, r2, r3, cv); 5506 TESTINST3("rors.w r1, r2, r3", 0x31415927, 0x00000020, r1, r2, r3, cv); 5507 TESTINST3("rors.w r1, r2, r3", 0x31415927, 0x00000021, r1, r2, r3, cv); 5508 TESTINST3("ror.w r1, r2, r3", 0x31415927, 0x00000000, r1, r2, r3, cv); 5509 TESTINST3("ror.w r1, r2, r3", 0x31415927, 0x00000001, r1, r2, r3, cv); 5510 TESTINST3("ror.w r1, r2, r3", 0x31415927, 0x00000002, r1, r2, r3, cv); 5511 TESTINST3("ror.w r1, r2, r3", 0x31415927, 0x0000000F, r1, r2, r3, cv); 5512 TESTINST3("ror.w r1, r2, r3", 0x31415927, 0x00000010, r1, r2, r3, cv); 5513 TESTINST3("ror.w r1, r2, r3", 0x31415927, 0x0000001F, r1, r2, r3, cv); 5514 TESTINST3("ror.w r1, r2, r3", 0x31415927, 0x00000020, r1, r2, r3, cv); 5515 TESTINST3("ror.w r1, r2, r3", 0x31415927, 0x00000021, r1, r2, r3, cv); 5516 TESTCARRYEND 5517 5518 printf("MVN{S}.W Rd, Rn, shift, and MOV{S}.W ditto\n"); 5519 TESTCARRY 5520 TESTINST2("lsls.w r1, r2, #0 ", 0x7fffffff, r1, r2, cv); 5521 TESTINST2("lsls.w r1, r2, #1 ", 0x7fffffff, r1, r2, cv); 5522 TESTINST2("lsls.w r1, r2, #15", 0x7fffffff, r1, r2, cv); 5523 TESTINST2("lsls.w r1, r2, #31", 0x7fffffff, r1, r2, cv); 5524 TESTINST2("lsrs.w r1, r2, #0 ", 0x7fffffff, r1, r2, cv); 5525 TESTINST2("lsrs.w r1, r2, #1 ", 0x7fffffff, r1, r2, cv); 5526 TESTINST2("lsrs.w r1, r2, #15", 0x7fffffff, r1, r2, cv); 5527 TESTINST2("lsrs.w r1, r2, #31", 0x7fffffff, r1, r2, cv); 5528 TESTINST2("asrs.w r1, r2, #0 ", 0x7fffffff, r1, r2, cv); 5529 TESTINST2("asrs.w r1, r2, #1 ", 0x7fffffff, r1, r2, cv); 5530 TESTINST2("asrs.w r1, r2, #15", 0x7fffffff, r1, r2, cv); 5531 TESTINST2("asrs.w r1, r2, #31", 0x7fffffff, r1, r2, cv); 5532 TESTINST2("rors.w r1, r2, #0 ", 0x7fffffff, r1, r2, cv); 5533 TESTINST2("rors.w r1, r2, #1 ", 0x7fffffff, r1, r2, cv); 5534 TESTINST2("rors.w r1, r2, #15", 0x7fffffff, r1, r2, cv); 5535 TESTINST2("rors.w r1, r2, #31", 0x7fffffff, r1, r2, cv); 5536 TESTINST2("lsl.w r1, r2, #0 ", 0x7fffffff, r1, r2, cv); 5537 TESTINST2("lsl.w r1, r2, #1 ", 0x7fffffff, r1, r2, cv); 5538 TESTINST2("lsl.w r1, r2, #15", 0x7fffffff, r1, r2, cv); 5539 TESTINST2("lsl.w r1, r2, #31", 0x7fffffff, r1, r2, cv); 5540 TESTINST2("lsr.w r1, r2, #0 ", 0x7fffffff, r1, r2, cv); 5541 TESTINST2("lsr.w r1, r2, #1 ", 0x7fffffff, r1, r2, cv); 5542 TESTINST2("lsr.w r1, r2, #15", 0x7fffffff, r1, r2, cv); 5543 TESTINST2("lsr.w r1, r2, #31", 0x7fffffff, r1, r2, cv); 5544 TESTINST2("asr.w r1, r2, #0 ", 0x7fffffff, r1, r2, cv); 5545 TESTINST2("asr.w r1, r2, #1 ", 0x7fffffff, r1, r2, cv); 5546 TESTINST2("asr.w r1, r2, #15", 0x7fffffff, r1, r2, cv); 5547 TESTINST2("asr.w r1, r2, #31", 0x7fffffff, r1, r2, cv); 5548 TESTINST2("ror.w r1, r2, #0 ", 0x7fffffff, r1, r2, cv); 5549 TESTINST2("ror.w r1, r2, #1 ", 0x7fffffff, r1, r2, cv); 5550 TESTINST2("ror.w r1, r2, #15", 0x7fffffff, r1, r2, cv); 5551 TESTINST2("ror.w r1, r2, #31", 0x7fffffff, r1, r2, cv); 5552 TESTINST2("mvns.w r1, r2, lsl #0 ", 0x7fffffff, r1, r2, cv); 5553 TESTINST2("mvns.w r1, r2, lsl #1 ", 0x7fffffff, r1, r2, cv); 5554 TESTINST2("mvns.w r1, r2, lsl #15", 0x7fffffff, r1, r2, cv); 5555 TESTINST2("mvns.w r1, r2, lsl #31", 0x7fffffff, r1, r2, cv); 5556 TESTINST2("mvns.w r1, r2, lsr #0 ", 0x7fffffff, r1, r2, cv); 5557 TESTINST2("mvns.w r1, r2, lsr #1 ", 0x7fffffff, r1, r2, cv); 5558 TESTINST2("mvns.w r1, r2, lsr #15", 0x7fffffff, r1, r2, cv); 5559 TESTINST2("mvns.w r1, r2, lsr #31", 0x7fffffff, r1, r2, cv); 5560 TESTINST2("mvns.w r1, r2, asr #0 ", 0x7fffffff, r1, r2, cv); 5561 TESTINST2("mvns.w r1, r2, asr #1 ", 0x7fffffff, r1, r2, cv); 5562 TESTINST2("mvns.w r1, r2, asr #15", 0x7fffffff, r1, r2, cv); 5563 TESTINST2("mvns.w r1, r2, asr #31", 0x7fffffff, r1, r2, cv); 5564 TESTINST2("mvns.w r1, r2, ror #0 ", 0x7fffffff, r1, r2, cv); 5565 TESTINST2("mvns.w r1, r2, ror #1 ", 0x7fffffff, r1, r2, cv); 5566 TESTINST2("mvns.w r1, r2, ror #15", 0x7fffffff, r1, r2, cv); 5567 TESTINST2("mvns.w r1, r2, ror #31", 0x7fffffff, r1, r2, cv); 5568 TESTINST2("mvn.w r1, r2, lsl #0 ", 0x7fffffff, r1, r2, cv); 5569 TESTINST2("mvn.w r1, r2, lsl #1 ", 0x7fffffff, r1, r2, cv); 5570 TESTINST2("mvn.w r1, r2, lsl #15", 0x7fffffff, r1, r2, cv); 5571 TESTINST2("mvn.w r1, r2, lsl #31", 0x7fffffff, r1, r2, cv); 5572 TESTINST2("mvn.w r1, r2, lsr #0 ", 0x7fffffff, r1, r2, cv); 5573 TESTINST2("mvn.w r1, r2, lsr #1 ", 0x7fffffff, r1, r2, cv); 5574 TESTINST2("mvn.w r1, r2, lsr #15", 0x7fffffff, r1, r2, cv); 5575 TESTINST2("mvn.w r1, r2, lsr #31", 0x7fffffff, r1, r2, cv); 5576 TESTINST2("mvn.w r1, r2, asr #0 ", 0x7fffffff, r1, r2, cv); 5577 TESTINST2("mvn.w r1, r2, asr #1 ", 0x7fffffff, r1, r2, cv); 5578 TESTINST2("mvn.w r1, r2, asr #15", 0x7fffffff, r1, r2, cv); 5579 TESTINST2("mvn.w r1, r2, asr #31", 0x7fffffff, r1, r2, cv); 5580 TESTINST2("mvn.w r1, r2, ror #0 ", 0x7fffffff, r1, r2, cv); 5581 TESTINST2("mvn.w r1, r2, ror #1 ", 0x7fffffff, r1, r2, cv); 5582 TESTINST2("mvn.w r1, r2, ror #15", 0x7fffffff, r1, r2, cv); 5583 TESTINST2("mvn.w r1, r2, ror #31", 0x7fffffff, r1, r2, cv); 5584 TESTINST2("lsls.w r1, r2, #0 ", 0x00000000, r1, r2, cv); 5585 TESTINST2("lsls.w r1, r2, #1 ", 0x00000000, r1, r2, cv); 5586 TESTINST2("lsls.w r1, r2, #15", 0x00000000, r1, r2, cv); 5587 TESTINST2("lsls.w r1, r2, #31", 0x00000000, r1, r2, cv); 5588 TESTINST2("lsrs.w r1, r2, #0 ", 0x00000000, r1, r2, cv); 5589 TESTINST2("lsrs.w r1, r2, #1 ", 0x00000000, r1, r2, cv); 5590 TESTINST2("lsrs.w r1, r2, #15", 0x00000000, r1, r2, cv); 5591 TESTINST2("lsrs.w r1, r2, #31", 0x00000000, r1, r2, cv); 5592 TESTINST2("asrs.w r1, r2, #0 ", 0x00000000, r1, r2, cv); 5593 TESTINST2("asrs.w r1, r2, #1 ", 0x00000000, r1, r2, cv); 5594 TESTINST2("asrs.w r1, r2, #15", 0x00000000, r1, r2, cv); 5595 TESTINST2("asrs.w r1, r2, #31", 0x00000000, r1, r2, cv); 5596 TESTINST2("rors.w r1, r2, #0 ", 0x00000000, r1, r2, cv); 5597 TESTINST2("rors.w r1, r2, #1 ", 0x00000000, r1, r2, cv); 5598 TESTINST2("rors.w r1, r2, #15", 0x00000000, r1, r2, cv); 5599 TESTINST2("rors.w r1, r2, #31", 0x00000000, r1, r2, cv); 5600 TESTINST2("lsl.w r1, r2, #0 ", 0x00000000, r1, r2, cv); 5601 TESTINST2("lsl.w r1, r2, #1 ", 0x00000000, r1, r2, cv); 5602 TESTINST2("lsl.w r1, r2, #15", 0x00000000, r1, r2, cv); 5603 TESTINST2("lsl.w r1, r2, #31", 0x00000000, r1, r2, cv); 5604 TESTINST2("lsr.w r1, r2, #0 ", 0x00000000, r1, r2, cv); 5605 TESTINST2("lsr.w r1, r2, #1 ", 0x00000000, r1, r2, cv); 5606 TESTINST2("lsr.w r1, r2, #15", 0x00000000, r1, r2, cv); 5607 TESTINST2("lsr.w r1, r2, #31", 0x00000000, r1, r2, cv); 5608 TESTINST2("asr.w r1, r2, #0 ", 0x00000000, r1, r2, cv); 5609 TESTINST2("asr.w r1, r2, #1 ", 0x00000000, r1, r2, cv); 5610 TESTINST2("asr.w r1, r2, #15", 0x00000000, r1, r2, cv); 5611 TESTINST2("asr.w r1, r2, #31", 0x00000000, r1, r2, cv); 5612 TESTINST2("ror.w r1, r2, #0 ", 0x00000000, r1, r2, cv); 5613 TESTINST2("ror.w r1, r2, #1 ", 0x00000000, r1, r2, cv); 5614 TESTINST2("ror.w r1, r2, #15", 0x00000000, r1, r2, cv); 5615 TESTINST2("ror.w r1, r2, #31", 0x00000000, r1, r2, cv); 5616 TESTINST2("mvns.w r1, r2, lsl #0 ", 0x00000000, r1, r2, cv); 5617 TESTINST2("mvns.w r1, r2, lsl #1 ", 0x00000000, r1, r2, cv); 5618 TESTINST2("mvns.w r1, r2, lsl #15", 0x00000000, r1, r2, cv); 5619 TESTINST2("mvns.w r1, r2, lsl #31", 0x00000000, r1, r2, cv); 5620 TESTINST2("mvns.w r1, r2, lsr #0 ", 0x00000000, r1, r2, cv); 5621 TESTINST2("mvns.w r1, r2, lsr #1 ", 0x00000000, r1, r2, cv); 5622 TESTINST2("mvns.w r1, r2, lsr #15", 0x00000000, r1, r2, cv); 5623 TESTINST2("mvns.w r1, r2, lsr #31", 0x00000000, r1, r2, cv); 5624 TESTINST2("mvns.w r1, r2, asr #0 ", 0x00000000, r1, r2, cv); 5625 TESTINST2("mvns.w r1, r2, asr #1 ", 0x00000000, r1, r2, cv); 5626 TESTINST2("mvns.w r1, r2, asr #15", 0x00000000, r1, r2, cv); 5627 TESTINST2("mvns.w r1, r2, asr #31", 0x00000000, r1, r2, cv); 5628 TESTINST2("mvns.w r1, r2, ror #0 ", 0x00000000, r1, r2, cv); 5629 TESTINST2("mvns.w r1, r2, ror #1 ", 0x00000000, r1, r2, cv); 5630 TESTINST2("mvns.w r1, r2, ror #15", 0x00000000, r1, r2, cv); 5631 TESTINST2("mvns.w r1, r2, ror #31", 0x00000000, r1, r2, cv); 5632 TESTINST2("mvn.w r1, r2, lsl #0 ", 0x00000000, r1, r2, cv); 5633 TESTINST2("mvn.w r1, r2, lsl #1 ", 0x00000000, r1, r2, cv); 5634 TESTINST2("mvn.w r1, r2, lsl #15", 0x00000000, r1, r2, cv); 5635 TESTINST2("mvn.w r1, r2, lsl #31", 0x00000000, r1, r2, cv); 5636 TESTINST2("mvn.w r1, r2, lsr #0 ", 0x00000000, r1, r2, cv); 5637 TESTINST2("mvn.w r1, r2, lsr #1 ", 0x00000000, r1, r2, cv); 5638 TESTINST2("mvn.w r1, r2, lsr #15", 0x00000000, r1, r2, cv); 5639 TESTINST2("mvn.w r1, r2, lsr #31", 0x00000000, r1, r2, cv); 5640 TESTINST2("mvn.w r1, r2, asr #0 ", 0x00000000, r1, r2, cv); 5641 TESTINST2("mvn.w r1, r2, asr #1 ", 0x00000000, r1, r2, cv); 5642 TESTINST2("mvn.w r1, r2, asr #15", 0x00000000, r1, r2, cv); 5643 TESTINST2("mvn.w r1, r2, asr #31", 0x00000000, r1, r2, cv); 5644 TESTINST2("mvn.w r1, r2, ror #0 ", 0x00000000, r1, r2, cv); 5645 TESTINST2("mvn.w r1, r2, ror #1 ", 0x00000000, r1, r2, cv); 5646 TESTINST2("mvn.w r1, r2, ror #15", 0x00000000, r1, r2, cv); 5647 TESTINST2("mvn.w r1, r2, ror #31", 0x00000000, r1, r2, cv); 5648 TESTINST2("lsls.w r1, r2, #0 ", 0x00000001, r1, r2, cv); 5649 TESTINST2("lsls.w r1, r2, #1 ", 0x00000001, r1, r2, cv); 5650 TESTINST2("lsls.w r1, r2, #15", 0x00000001, r1, r2, cv); 5651 TESTINST2("lsls.w r1, r2, #31", 0x00000001, r1, r2, cv); 5652 TESTINST2("lsrs.w r1, r2, #0 ", 0x00000001, r1, r2, cv); 5653 TESTINST2("lsrs.w r1, r2, #1 ", 0x00000001, r1, r2, cv); 5654 TESTINST2("lsrs.w r1, r2, #15", 0x00000001, r1, r2, cv); 5655 TESTINST2("lsrs.w r1, r2, #31", 0x00000001, r1, r2, cv); 5656 TESTINST2("asrs.w r1, r2, #0 ", 0x00000001, r1, r2, cv); 5657 TESTINST2("asrs.w r1, r2, #1 ", 0x00000001, r1, r2, cv); 5658 TESTINST2("asrs.w r1, r2, #15", 0x00000001, r1, r2, cv); 5659 TESTINST2("asrs.w r1, r2, #31", 0x00000001, r1, r2, cv); 5660 TESTINST2("rors.w r1, r2, #0 ", 0x00000001, r1, r2, cv); 5661 TESTINST2("rors.w r1, r2, #1 ", 0x00000001, r1, r2, cv); 5662 TESTINST2("rors.w r1, r2, #15", 0x00000001, r1, r2, cv); 5663 TESTINST2("rors.w r1, r2, #31", 0x00000001, r1, r2, cv); 5664 TESTINST2("lsl.w r1, r2, #0 ", 0x00000001, r1, r2, cv); 5665 TESTINST2("lsl.w r1, r2, #1 ", 0x00000001, r1, r2, cv); 5666 TESTINST2("lsl.w r1, r2, #15", 0x00000001, r1, r2, cv); 5667 TESTINST2("lsl.w r1, r2, #31", 0x00000001, r1, r2, cv); 5668 TESTINST2("lsr.w r1, r2, #0 ", 0x00000001, r1, r2, cv); 5669 TESTINST2("lsr.w r1, r2, #1 ", 0x00000001, r1, r2, cv); 5670 TESTINST2("lsr.w r1, r2, #15", 0x00000001, r1, r2, cv); 5671 TESTINST2("lsr.w r1, r2, #31", 0x00000001, r1, r2, cv); 5672 TESTINST2("asr.w r1, r2, #0 ", 0x00000001, r1, r2, cv); 5673 TESTINST2("asr.w r1, r2, #1 ", 0x00000001, r1, r2, cv); 5674 TESTINST2("asr.w r1, r2, #15", 0x00000001, r1, r2, cv); 5675 TESTINST2("asr.w r1, r2, #31", 0x00000001, r1, r2, cv); 5676 TESTINST2("ror.w r1, r2, #0 ", 0x00000001, r1, r2, cv); 5677 TESTINST2("ror.w r1, r2, #1 ", 0x00000001, r1, r2, cv); 5678 TESTINST2("ror.w r1, r2, #15", 0x00000001, r1, r2, cv); 5679 TESTINST2("ror.w r1, r2, #31", 0x00000001, r1, r2, cv); 5680 TESTINST2("mvns.w r1, r2, lsl #0 ", 0x00000001, r1, r2, cv); 5681 TESTINST2("mvns.w r1, r2, lsl #1 ", 0x00000001, r1, r2, cv); 5682 TESTINST2("mvns.w r1, r2, lsl #15", 0x00000001, r1, r2, cv); 5683 TESTINST2("mvns.w r1, r2, lsl #31", 0x00000001, r1, r2, cv); 5684 TESTINST2("mvns.w r1, r2, lsr #0 ", 0x00000001, r1, r2, cv); 5685 TESTINST2("mvns.w r1, r2, lsr #1 ", 0x00000001, r1, r2, cv); 5686 TESTINST2("mvns.w r1, r2, lsr #15", 0x00000001, r1, r2, cv); 5687 TESTINST2("mvns.w r1, r2, lsr #31", 0x00000001, r1, r2, cv); 5688 TESTINST2("mvns.w r1, r2, asr #0 ", 0x00000001, r1, r2, cv); 5689 TESTINST2("mvns.w r1, r2, asr #1 ", 0x00000001, r1, r2, cv); 5690 TESTINST2("mvns.w r1, r2, asr #15", 0x00000001, r1, r2, cv); 5691 TESTINST2("mvns.w r1, r2, asr #31", 0x00000001, r1, r2, cv); 5692 TESTINST2("mvns.w r1, r2, ror #0 ", 0x00000001, r1, r2, cv); 5693 TESTINST2("mvns.w r1, r2, ror #1 ", 0x00000001, r1, r2, cv); 5694 TESTINST2("mvns.w r1, r2, ror #15", 0x00000001, r1, r2, cv); 5695 TESTINST2("mvns.w r1, r2, ror #31", 0x00000001, r1, r2, cv); 5696 TESTINST2("mvn.w r1, r2, lsl #0 ", 0x00000001, r1, r2, cv); 5697 TESTINST2("mvn.w r1, r2, lsl #1 ", 0x00000001, r1, r2, cv); 5698 TESTINST2("mvn.w r1, r2, lsl #15", 0x00000001, r1, r2, cv); 5699 TESTINST2("mvn.w r1, r2, lsl #31", 0x00000001, r1, r2, cv); 5700 TESTINST2("mvn.w r1, r2, lsr #0 ", 0x00000001, r1, r2, cv); 5701 TESTINST2("mvn.w r1, r2, lsr #1 ", 0x00000001, r1, r2, cv); 5702 TESTINST2("mvn.w r1, r2, lsr #15", 0x00000001, r1, r2, cv); 5703 TESTINST2("mvn.w r1, r2, lsr #31", 0x00000001, r1, r2, cv); 5704 TESTINST2("mvn.w r1, r2, asr #0 ", 0x00000001, r1, r2, cv); 5705 TESTINST2("mvn.w r1, r2, asr #1 ", 0x00000001, r1, r2, cv); 5706 TESTINST2("mvn.w r1, r2, asr #15", 0x00000001, r1, r2, cv); 5707 TESTINST2("mvn.w r1, r2, asr #31", 0x00000001, r1, r2, cv); 5708 TESTINST2("mvn.w r1, r2, ror #0 ", 0x00000001, r1, r2, cv); 5709 TESTINST2("mvn.w r1, r2, ror #1 ", 0x00000001, r1, r2, cv); 5710 TESTINST2("mvn.w r1, r2, ror #15", 0x00000001, r1, r2, cv); 5711 TESTINST2("mvn.w r1, r2, ror #31", 0x00000001, r1, r2, cv); 5712 TESTINST2("lsls.w r1, r2, #0 ", 0x9218abcd, r1, r2, cv); 5713 TESTINST2("lsls.w r1, r2, #1 ", 0x9218abcd, r1, r2, cv); 5714 TESTINST2("lsls.w r1, r2, #15", 0x9218abcd, r1, r2, cv); 5715 TESTINST2("lsls.w r1, r2, #31", 0x9218abcd, r1, r2, cv); 5716 TESTINST2("lsrs.w r1, r2, #0 ", 0x9218abcd, r1, r2, cv); 5717 TESTINST2("lsrs.w r1, r2, #1 ", 0x9218abcd, r1, r2, cv); 5718 TESTINST2("lsrs.w r1, r2, #15", 0x9218abcd, r1, r2, cv); 5719 TESTINST2("lsrs.w r1, r2, #31", 0x9218abcd, r1, r2, cv); 5720 TESTINST2("asrs.w r1, r2, #0 ", 0x9218abcd, r1, r2, cv); 5721 TESTINST2("asrs.w r1, r2, #1 ", 0x9218abcd, r1, r2, cv); 5722 TESTINST2("asrs.w r1, r2, #15", 0x9218abcd, r1, r2, cv); 5723 TESTINST2("asrs.w r1, r2, #31", 0x9218abcd, r1, r2, cv); 5724 TESTINST2("rors.w r1, r2, #0 ", 0x9218abcd, r1, r2, cv); 5725 TESTINST2("rors.w r1, r2, #1 ", 0x9218abcd, r1, r2, cv); 5726 TESTINST2("rors.w r1, r2, #15", 0x9218abcd, r1, r2, cv); 5727 TESTINST2("rors.w r1, r2, #31", 0x9218abcd, r1, r2, cv); 5728 TESTINST2("lsl.w r1, r2, #0 ", 0x9218abcd, r1, r2, cv); 5729 TESTINST2("lsl.w r1, r2, #1 ", 0x9218abcd, r1, r2, cv); 5730 TESTINST2("lsl.w r1, r2, #15", 0x9218abcd, r1, r2, cv); 5731 TESTINST2("lsl.w r1, r2, #31", 0x9218abcd, r1, r2, cv); 5732 TESTINST2("lsr.w r1, r2, #0 ", 0x9218abcd, r1, r2, cv); 5733 TESTINST2("lsr.w r1, r2, #1 ", 0x9218abcd, r1, r2, cv); 5734 TESTINST2("lsr.w r1, r2, #15", 0x9218abcd, r1, r2, cv); 5735 TESTINST2("lsr.w r1, r2, #31", 0x9218abcd, r1, r2, cv); 5736 TESTINST2("asr.w r1, r2, #0 ", 0x9218abcd, r1, r2, cv); 5737 TESTINST2("asr.w r1, r2, #1 ", 0x9218abcd, r1, r2, cv); 5738 TESTINST2("asr.w r1, r2, #15", 0x9218abcd, r1, r2, cv); 5739 TESTINST2("asr.w r1, r2, #31", 0x9218abcd, r1, r2, cv); 5740 TESTINST2("ror.w r1, r2, #0 ", 0x9218abcd, r1, r2, cv); 5741 TESTINST2("ror.w r1, r2, #1 ", 0x9218abcd, r1, r2, cv); 5742 TESTINST2("ror.w r1, r2, #15", 0x9218abcd, r1, r2, cv); 5743 TESTINST2("ror.w r1, r2, #31", 0x9218abcd, r1, r2, cv); 5744 TESTINST2("mvns.w r1, r2, lsl #0 ", 0x9218abcd, r1, r2, cv); 5745 TESTINST2("mvns.w r1, r2, lsl #1 ", 0x9218abcd, r1, r2, cv); 5746 TESTINST2("mvns.w r1, r2, lsl #15", 0x9218abcd, r1, r2, cv); 5747 TESTINST2("mvns.w r1, r2, lsl #31", 0x9218abcd, r1, r2, cv); 5748 TESTINST2("mvns.w r1, r2, lsr #0 ", 0x9218abcd, r1, r2, cv); 5749 TESTINST2("mvns.w r1, r2, lsr #1 ", 0x9218abcd, r1, r2, cv); 5750 TESTINST2("mvns.w r1, r2, lsr #15", 0x9218abcd, r1, r2, cv); 5751 TESTINST2("mvns.w r1, r2, lsr #31", 0x9218abcd, r1, r2, cv); 5752 TESTINST2("mvns.w r1, r2, asr #0 ", 0x9218abcd, r1, r2, cv); 5753 TESTINST2("mvns.w r1, r2, asr #1 ", 0x9218abcd, r1, r2, cv); 5754 TESTINST2("mvns.w r1, r2, asr #15", 0x9218abcd, r1, r2, cv); 5755 TESTINST2("mvns.w r1, r2, asr #31", 0x9218abcd, r1, r2, cv); 5756 TESTINST2("mvns.w r1, r2, ror #0 ", 0x9218abcd, r1, r2, cv); 5757 TESTINST2("mvns.w r1, r2, ror #1 ", 0x9218abcd, r1, r2, cv); 5758 TESTINST2("mvns.w r1, r2, ror #15", 0x9218abcd, r1, r2, cv); 5759 TESTINST2("mvns.w r1, r2, ror #31", 0x9218abcd, r1, r2, cv); 5760 TESTINST2("mvn.w r1, r2, lsl #0 ", 0x9218abcd, r1, r2, cv); 5761 TESTINST2("mvn.w r1, r2, lsl #1 ", 0x9218abcd, r1, r2, cv); 5762 TESTINST2("mvn.w r1, r2, lsl #15", 0x9218abcd, r1, r2, cv); 5763 TESTINST2("mvn.w r1, r2, lsl #31", 0x9218abcd, r1, r2, cv); 5764 TESTINST2("mvn.w r1, r2, lsr #0 ", 0x9218abcd, r1, r2, cv); 5765 TESTINST2("mvn.w r1, r2, lsr #1 ", 0x9218abcd, r1, r2, cv); 5766 TESTINST2("mvn.w r1, r2, lsr #15", 0x9218abcd, r1, r2, cv); 5767 TESTINST2("mvn.w r1, r2, lsr #31", 0x9218abcd, r1, r2, cv); 5768 TESTINST2("mvn.w r1, r2, asr #0 ", 0x9218abcd, r1, r2, cv); 5769 TESTINST2("mvn.w r1, r2, asr #1 ", 0x9218abcd, r1, r2, cv); 5770 TESTINST2("mvn.w r1, r2, asr #15", 0x9218abcd, r1, r2, cv); 5771 TESTINST2("mvn.w r1, r2, asr #31", 0x9218abcd, r1, r2, cv); 5772 TESTINST2("mvn.w r1, r2, ror #0 ", 0x9218abcd, r1, r2, cv); 5773 TESTINST2("mvn.w r1, r2, ror #1 ", 0x9218abcd, r1, r2, cv); 5774 TESTINST2("mvn.w r1, r2, ror #15", 0x9218abcd, r1, r2, cv); 5775 TESTINST2("mvn.w r1, r2, ror #31", 0x9218abcd, r1, r2, cv); 5776 TESTINST2("lsls.w r1, r2, #0 ", 0xffffffff, r1, r2, cv); 5777 TESTINST2("lsls.w r1, r2, #1 ", 0xffffffff, r1, r2, cv); 5778 TESTINST2("lsls.w r1, r2, #15", 0xffffffff, r1, r2, cv); 5779 TESTINST2("lsls.w r1, r2, #31", 0xffffffff, r1, r2, cv); 5780 TESTINST2("lsrs.w r1, r2, #0 ", 0xffffffff, r1, r2, cv); 5781 TESTINST2("lsrs.w r1, r2, #1 ", 0xffffffff, r1, r2, cv); 5782 TESTINST2("lsrs.w r1, r2, #15", 0xffffffff, r1, r2, cv); 5783 TESTINST2("lsrs.w r1, r2, #31", 0xffffffff, r1, r2, cv); 5784 TESTINST2("asrs.w r1, r2, #0 ", 0xffffffff, r1, r2, cv); 5785 TESTINST2("asrs.w r1, r2, #1 ", 0xffffffff, r1, r2, cv); 5786 TESTINST2("asrs.w r1, r2, #15", 0xffffffff, r1, r2, cv); 5787 TESTINST2("asrs.w r1, r2, #31", 0xffffffff, r1, r2, cv); 5788 TESTINST2("rors.w r1, r2, #0 ", 0xffffffff, r1, r2, cv); 5789 TESTINST2("rors.w r1, r2, #1 ", 0xffffffff, r1, r2, cv); 5790 TESTINST2("rors.w r1, r2, #15", 0xffffffff, r1, r2, cv); 5791 TESTINST2("rors.w r1, r2, #31", 0xffffffff, r1, r2, cv); 5792 TESTINST2("lsl.w r1, r2, #0 ", 0xffffffff, r1, r2, cv); 5793 TESTINST2("lsl.w r1, r2, #1 ", 0xffffffff, r1, r2, cv); 5794 TESTINST2("lsl.w r1, r2, #15", 0xffffffff, r1, r2, cv); 5795 TESTINST2("lsl.w r1, r2, #31", 0xffffffff, r1, r2, cv); 5796 TESTINST2("lsr.w r1, r2, #0 ", 0xffffffff, r1, r2, cv); 5797 TESTINST2("lsr.w r1, r2, #1 ", 0xffffffff, r1, r2, cv); 5798 TESTINST2("lsr.w r1, r2, #15", 0xffffffff, r1, r2, cv); 5799 TESTINST2("lsr.w r1, r2, #31", 0xffffffff, r1, r2, cv); 5800 TESTINST2("asr.w r1, r2, #0 ", 0xffffffff, r1, r2, cv); 5801 TESTINST2("asr.w r1, r2, #1 ", 0xffffffff, r1, r2, cv); 5802 TESTINST2("asr.w r1, r2, #15", 0xffffffff, r1, r2, cv); 5803 TESTINST2("asr.w r1, r2, #31", 0xffffffff, r1, r2, cv); 5804 TESTINST2("ror.w r1, r2, #0 ", 0xffffffff, r1, r2, cv); 5805 TESTINST2("ror.w r1, r2, #1 ", 0xffffffff, r1, r2, cv); 5806 TESTINST2("ror.w r1, r2, #15", 0xffffffff, r1, r2, cv); 5807 TESTINST2("ror.w r1, r2, #31", 0xffffffff, r1, r2, cv); 5808 TESTINST2("mvns.w r1, r2, lsl #0 ", 0xffffffff, r1, r2, cv); 5809 TESTINST2("mvns.w r1, r2, lsl #1 ", 0xffffffff, r1, r2, cv); 5810 TESTINST2("mvns.w r1, r2, lsl #15", 0xffffffff, r1, r2, cv); 5811 TESTINST2("mvns.w r1, r2, lsl #31", 0xffffffff, r1, r2, cv); 5812 TESTINST2("mvns.w r1, r2, lsr #0 ", 0xffffffff, r1, r2, cv); 5813 TESTINST2("mvns.w r1, r2, lsr #1 ", 0xffffffff, r1, r2, cv); 5814 TESTINST2("mvns.w r1, r2, lsr #15", 0xffffffff, r1, r2, cv); 5815 TESTINST2("mvns.w r1, r2, lsr #31", 0xffffffff, r1, r2, cv); 5816 TESTINST2("mvns.w r1, r2, asr #0 ", 0xffffffff, r1, r2, cv); 5817 TESTINST2("mvns.w r1, r2, asr #1 ", 0xffffffff, r1, r2, cv); 5818 TESTINST2("mvns.w r1, r2, asr #15", 0xffffffff, r1, r2, cv); 5819 TESTINST2("mvns.w r1, r2, asr #31", 0xffffffff, r1, r2, cv); 5820 TESTINST2("mvns.w r1, r2, ror #0 ", 0xffffffff, r1, r2, cv); 5821 TESTINST2("mvns.w r1, r2, ror #1 ", 0xffffffff, r1, r2, cv); 5822 TESTINST2("mvns.w r1, r2, ror #15", 0xffffffff, r1, r2, cv); 5823 TESTINST2("mvns.w r1, r2, ror #31", 0xffffffff, r1, r2, cv); 5824 TESTINST2("mvn.w r1, r2, lsl #0 ", 0xffffffff, r1, r2, cv); 5825 TESTINST2("mvn.w r1, r2, lsl #1 ", 0xffffffff, r1, r2, cv); 5826 TESTINST2("mvn.w r1, r2, lsl #15", 0xffffffff, r1, r2, cv); 5827 TESTINST2("mvn.w r1, r2, lsl #31", 0xffffffff, r1, r2, cv); 5828 TESTINST2("mvn.w r1, r2, lsr #0 ", 0xffffffff, r1, r2, cv); 5829 TESTINST2("mvn.w r1, r2, lsr #1 ", 0xffffffff, r1, r2, cv); 5830 TESTINST2("mvn.w r1, r2, lsr #15", 0xffffffff, r1, r2, cv); 5831 TESTINST2("mvn.w r1, r2, lsr #31", 0xffffffff, r1, r2, cv); 5832 TESTINST2("mvn.w r1, r2, asr #0 ", 0xffffffff, r1, r2, cv); 5833 TESTINST2("mvn.w r1, r2, asr #1 ", 0xffffffff, r1, r2, cv); 5834 TESTINST2("mvn.w r1, r2, asr #15", 0xffffffff, r1, r2, cv); 5835 TESTINST2("mvn.w r1, r2, asr #31", 0xffffffff, r1, r2, cv); 5836 TESTINST2("mvn.w r1, r2, ror #0 ", 0xffffffff, r1, r2, cv); 5837 TESTINST2("mvn.w r1, r2, ror #1 ", 0xffffffff, r1, r2, cv); 5838 TESTINST2("mvn.w r1, r2, ror #15", 0xffffffff, r1, r2, cv); 5839 TESTINST2("mvn.w r1, r2, ror #31", 0xffffffff, r1, r2, cv); 5840 TESTCARRYEND 5841 5842 printf("(T?) TST.W Rn, Rm, {shift}\n"); 5843 TESTCARRY 5844 TESTINST2x("tst.w r1, r2, lsl #1", 0x11223344, 0x99887766, r1, r2, cv); 5845 TESTINST2x("tst.w r1, r2, lsr #1", 0x11223344, 0x99887766, r1, r2, cv); 5846 TESTINST2x("tst.w r1, r2, asr #1", 0x11223344, 0x99887766, r1, r2, cv); 5847 TESTINST2x("tst.w r1, r2, ror #1", 0x11223344, 0x99887766, r1, r2, cv); 5848 TESTINST2x("tst.w r1, r2, lsl #1", 0x11223344, 0x00000000, r1, r2, cv); 5849 TESTINST2x("tst.w r1, r2, lsr #1", 0x11223344, 0x00000000, r1, r2, cv); 5850 TESTINST2x("tst.w r1, r2, asr #1", 0x11223344, 0x00000000, r1, r2, cv); 5851 TESTINST2x("tst.w r1, r2, ror #1", 0x11223344, 0x00000000, r1, r2, cv); 5852 TESTINST2x("tst.w r1, r2, lsl #1", 0x91223344, 0x40000000, r1, r2, cv); 5853 TESTINST2x("tst.w r1, r2, lsr #1", 0x91223344, 0x40000000, r1, r2, cv); 5854 TESTINST2x("tst.w r1, r2, asr #1", 0x91223344, 0x80000000, r1, r2, cv); 5855 TESTINST2x("tst.w r1, r2, ror #1", 0x91223344, 0x00000001, r1, r2, cv); 5856 TESTCARRYEND 5857 5858 printf("(T?) TEQ.W Rn, Rm, {shift}\n"); 5859 TESTCARRY 5860 TESTINST2x("teq.w r1, r2, lsl #1", 0x11223344, 0x99887766, r1, r2, cv); 5861 TESTINST2x("teq.w r1, r2, lsr #1", 0x11223344, 0x99887766, r1, r2, cv); 5862 TESTINST2x("teq.w r1, r2, asr #1", 0x11223344, 0x99887766, r1, r2, cv); 5863 TESTINST2x("teq.w r1, r2, ror #1", 0x11223344, 0x99887766, r1, r2, cv); 5864 TESTINST2x("teq.w r1, r2, lsl #1", 0x11223344, 0x00000000, r1, r2, cv); 5865 TESTINST2x("teq.w r1, r2, lsr #1", 0x11223344, 0x00000000, r1, r2, cv); 5866 TESTINST2x("teq.w r1, r2, asr #1", 0x11223344, 0x00000000, r1, r2, cv); 5867 TESTINST2x("teq.w r1, r2, ror #1", 0x11223344, 0x00000000, r1, r2, cv); 5868 TESTINST2x("teq.w r1, r2, lsl #1", 0x91223344, 0x40000000, r1, r2, cv); 5869 TESTINST2x("teq.w r1, r2, lsr #1", 0x91223344, 0x40000000, r1, r2, cv); 5870 TESTINST2x("teq.w r1, r2, asr #1", 0x91223344, 0x80000000, r1, r2, cv); 5871 TESTINST2x("teq.w r1, r2, ror #1", 0x91223344, 0x00000001, r1, r2, cv); 5872 TESTCARRYEND 5873 5874 printf("(T?) CMP.W Rn, Rm, {shift}\n"); 5875 TESTCARRY 5876 TESTINST2x("cmp.w r1, r2, lsl #1", 0x11223344, 0x99887766, r1, r2, cv); 5877 TESTINST2x("cmp.w r1, r2, lsr #1", 0x11223344, 0x99887766, r1, r2, cv); 5878 TESTINST2x("cmp.w r1, r2, asr #1", 0x11223344, 0x99887766, r1, r2, cv); 5879 TESTINST2x("cmp.w r1, r2, ror #1", 0x11223344, 0x99887766, r1, r2, cv); 5880 TESTINST2x("cmp.w r1, r2, lsl #1", 0x11223344, 0x00000000, r1, r2, cv); 5881 TESTINST2x("cmp.w r1, r2, lsr #1", 0x11223344, 0x00000000, r1, r2, cv); 5882 TESTINST2x("cmp.w r1, r2, asr #1", 0x11223344, 0x00000000, r1, r2, cv); 5883 TESTINST2x("cmp.w r1, r2, ror #1", 0x11223344, 0x00000000, r1, r2, cv); 5884 TESTINST2x("cmp.w r1, r2, lsl #1", 0x91223344, 0x40000000, r1, r2, cv); 5885 TESTINST2x("cmp.w r1, r2, lsr #1", 0x91223344, 0x40000000, r1, r2, cv); 5886 TESTINST2x("cmp.w r1, r2, asr #1", 0x91223344, 0x80000000, r1, r2, cv); 5887 TESTINST2x("cmp.w r1, r2, ror #1", 0x91223344, 0x00000001, r1, r2, cv); 5888 TESTINST2x("cmp.w r1, r2, lsr #2", 0x15555555, 0x55555555, r1, r2, cv); 5889 TESTINST2x("cmp.w r1, r2, ror #1", 0x55555555, 0xaaaaaaaa, r1, r2, cv); 5890 TESTCARRYEND 5891 5892 printf("(T?) CMN.W Rn, Rm, {shift}\n"); 5893 TESTCARRY 5894 TESTINST2x("cmn.w r1, r2, lsl #1", 0x11223344, 0x99887766, r1, r2, cv); 5895 TESTINST2x("cmn.w r1, r2, lsr #1", 0x11223344, 0x99887766, r1, r2, cv); 5896 TESTINST2x("cmn.w r1, r2, asr #1", 0x11223344, 0x99887766, r1, r2, cv); 5897 TESTINST2x("cmn.w r1, r2, ror #1", 0x11223344, 0x99887766, r1, r2, cv); 5898 TESTINST2x("cmn.w r1, r2, lsl #1", 0x11223344, 0x00000000, r1, r2, cv); 5899 TESTINST2x("cmn.w r1, r2, lsr #1", 0x11223344, 0x00000000, r1, r2, cv); 5900 TESTINST2x("cmn.w r1, r2, asr #1", 0x11223344, 0x00000000, r1, r2, cv); 5901 TESTINST2x("cmn.w r1, r2, ror #1", 0x11223344, 0x00000000, r1, r2, cv); 5902 TESTINST2x("cmn.w r1, r2, lsl #1", 0x91223344, 0x40000000, r1, r2, cv); 5903 TESTINST2x("cmn.w r1, r2, lsr #1", 0x91223344, 0x40000000, r1, r2, cv); 5904 TESTINST2x("cmn.w r1, r2, asr #1", 0x91223344, 0x80000000, r1, r2, cv); 5905 TESTINST2x("cmn.w r1, r2, ror #1", 0x91223344, 0x00000001, r1, r2, cv); 5906 TESTINST2x("cmn.w r1, r2, lsr #2", 0x15555555, 0x55555555, r1, r2, cv); 5907 TESTINST2x("cmn.w r1, r2, ror #1", 0x55555555, 0xaaaaaaaa, r1, r2, cv); 5908 TESTCARRYEND 5909 5910 printf("(T2) MOV{S}.W Rd, #constT\n"); 5911 TESTCARRY 5912 TESTINST1("movs.w r9, 0x00000000", r9, cv); 5913 TESTINST1("movs.w r9, 0x000000FF", r9, cv); 5914 TESTINST1("movs.w r9, 0x0000007F", r9, cv); 5915 TESTINST1("movs.w r9, 0x00FF00FF", r9, cv); 5916 TESTINST1("movs.w r9, 0x007F007F", r9, cv); 5917 TESTINST1("movs.w r9, 0x43434343", r9, cv); 5918 TESTINST1("movs.w r9, 0x93939393", r9, cv); 5919 TESTINST1("movs.w r9, 0x93000000", r9, cv); 5920 TESTINST1("movs.w r9, 0x43000000", r9, cv); 5921 TESTINST1("movs.w r9, 0x09300000", r9, cv); 5922 TESTINST1("movs.w r9, 0x04300000", r9, cv); 5923 TESTINST1("movs.w r9, 0x00930000", r9, cv); 5924 TESTINST1("movs.w r9, 0x00430000", r9, cv); 5925 TESTINST1("movs.w r9, 0x00000930", r9, cv); 5926 TESTINST1("movs.w r9, 0x00000430", r9, cv); 5927 TESTINST1("movs.w r9, 0x00000093", r9, cv); 5928 TESTINST1("movs.w r9, 0x00000043", r9, cv); 5929 TESTINST1("mov.w r9, 0x00000000", r9, cv); 5930 TESTINST1("mov.w r9, 0x000000FF", r9, cv); 5931 TESTINST1("mov.w r9, 0x0000007F", r9, cv); 5932 TESTINST1("mov.w r9, 0x00FF00FF", r9, cv); 5933 TESTINST1("mov.w r9, 0x007F007F", r9, cv); 5934 TESTINST1("mov.w r9, 0x43434343", r9, cv); 5935 TESTINST1("mov.w r9, 0x93939393", r9, cv); 5936 TESTINST1("mov.w r9, 0x93000000", r9, cv); 5937 TESTINST1("mov.w r9, 0x43000000", r9, cv); 5938 TESTINST1("mov.w r9, 0x09300000", r9, cv); 5939 TESTINST1("mov.w r9, 0x04300000", r9, cv); 5940 TESTINST1("mov.w r9, 0x00930000", r9, cv); 5941 TESTINST1("mov.w r9, 0x00430000", r9, cv); 5942 TESTINST1("mov.w r9, 0x00000930", r9, cv); 5943 TESTINST1("mov.w r9, 0x00000430", r9, cv); 5944 TESTINST1("mov.w r9, 0x00000093", r9, cv); 5945 TESTINST1("mov.w r9, 0x00000043", r9, cv); 5946 TESTCARRYEND 5947 5948 printf("(T2) MVN{S}.W Rd, #constT\n"); 5949 TESTCARRY 5950 TESTINST1("mvns.w r9, 0x00000000", r9, cv); 5951 TESTINST1("mvns.w r9, 0x000000FF", r9, cv); 5952 TESTINST1("mvns.w r9, 0x0000007F", r9, cv); 5953 TESTINST1("mvns.w r9, 0x00FF00FF", r9, cv); 5954 TESTINST1("mvns.w r9, 0x007F007F", r9, cv); 5955 TESTINST1("mvns.w r9, 0x43434343", r9, cv); 5956 TESTINST1("mvns.w r9, 0x93939393", r9, cv); 5957 TESTINST1("mvns.w r9, 0x93000000", r9, cv); 5958 TESTINST1("mvns.w r9, 0x43000000", r9, cv); 5959 TESTINST1("mvns.w r9, 0x09300000", r9, cv); 5960 TESTINST1("mvns.w r9, 0x04300000", r9, cv); 5961 TESTINST1("mvns.w r9, 0x00930000", r9, cv); 5962 TESTINST1("mvns.w r9, 0x00430000", r9, cv); 5963 TESTINST1("mvns.w r9, 0x00000930", r9, cv); 5964 TESTINST1("mvns.w r9, 0x00000430", r9, cv); 5965 TESTINST1("mvns.w r9, 0x00000093", r9, cv); 5966 TESTINST1("mvns.w r9, 0x00000043", r9, cv); 5967 TESTINST1("mvn.w r9, 0x00000000", r9, cv); 5968 TESTINST1("mvn.w r9, 0x000000FF", r9, cv); 5969 TESTINST1("mvn.w r9, 0x0000007F", r9, cv); 5970 TESTINST1("mvn.w r9, 0x00FF00FF", r9, cv); 5971 TESTINST1("mvn.w r9, 0x007F007F", r9, cv); 5972 TESTINST1("mvn.w r9, 0x43434343", r9, cv); 5973 TESTINST1("mvn.w r9, 0x93939393", r9, cv); 5974 TESTINST1("mvn.w r9, 0x93000000", r9, cv); 5975 TESTINST1("mvn.w r9, 0x43000000", r9, cv); 5976 TESTINST1("mvn.w r9, 0x09300000", r9, cv); 5977 TESTINST1("mvn.w r9, 0x04300000", r9, cv); 5978 TESTINST1("mvn.w r9, 0x00930000", r9, cv); 5979 TESTINST1("mvn.w r9, 0x00430000", r9, cv); 5980 TESTINST1("mvn.w r9, 0x00000930", r9, cv); 5981 TESTINST1("mvn.w r9, 0x00000430", r9, cv); 5982 TESTINST1("mvn.w r9, 0x00000093", r9, cv); 5983 TESTINST1("mvn.w r9, 0x00000043", r9, cv); 5984 TESTCARRYEND 5985 5986 printf("(T1) RBIT Rd, Rm\n"); 5987 TESTINST2("rbit r0, r1", 0x00000000, r0, r1, 0); 5988 TESTINST2("rbit r0, r1", 0xFFFFFFFF, r0, r1, 0); 5989 TESTINST2("rbit r0, r1", 0x80000000, r0, r1, 0); 5990 TESTINST2("rbit r0, r1", 0x00000001, r0, r1, 0); 5991 TESTINST2("rbit r0, r1", 0x31415927, r0, r1, 0); 5992 TESTINST2("rbit r0, r1", 0x14141562, r0, r1, 0); 5993 TESTINST2("rbit r0, r1", 0xabe8391f, r0, r1, 0); 5994 TESTINST2("rbit r0, r1", 0x9028aa80, r0, r1, 0); 5995 TESTINST2("rbit r0, r1", 0xead1fc6d, r0, r1, 0); 5996 TESTINST2("rbit r0, r1", 0x35c98c55, r0, r1, 0); 5997 TESTINST2("rbit r0, r1", 0x534af1eb, r0, r1, 0); 5998 TESTINST2("rbit r0, r1", 0x45511b08, r0, r1, 0); 5999 TESTINST2("rbit r0, r1", 0x90077f71, r0, r1, 0); 6000 TESTINST2("rbit r0, r1", 0xde8ca84b, r0, r1, 0); 6001 TESTINST2("rbit r0, r1", 0xe37a0dda, r0, r1, 0); 6002 TESTINST2("rbit r0, r1", 0xe5b83d4b, r0, r1, 0); 6003 TESTINST2("rbit r0, r1", 0xbb6d14ec, r0, r1, 0); 6004 TESTINST2("rbit r0, r1", 0x68983cc9, r0, r1, 0); 6005 6006 printf("(T1) REV Rd, Rm ------------\n"); 6007 TESTINST2("rev r0, r1", 0x00000000, r0, r1, 0); 6008 TESTINST2("rev r0, r1", 0xFFFFFFFF, r0, r1, 0); 6009 TESTINST2("rev r0, r1", 0x80000000, r0, r1, 0); 6010 TESTINST2("rev r0, r1", 0x00000001, r0, r1, 0); 6011 TESTINST2("rev r0, r1", 0x31415927, r0, r1, 0); 6012 TESTINST2("rev r0, r1", 0x14141562, r0, r1, 0); 6013 TESTINST2("rev r0, r1", 0xabe8391f, r0, r1, 0); 6014 TESTINST2("rev r0, r1", 0x9028aa80, r0, r1, 0); 6015 TESTINST2("rev r0, r1", 0xead1fc6d, r0, r1, 0); 6016 TESTINST2("rev r0, r1", 0x35c98c55, r0, r1, 0); 6017 TESTINST2("rev r0, r1", 0x534af1eb, r0, r1, 0); 6018 TESTINST2("rev r0, r1", 0x45511b08, r0, r1, 0); 6019 TESTINST2("rev r0, r1", 0x90077f71, r0, r1, 0); 6020 TESTINST2("rev r0, r1", 0xde8ca84b, r0, r1, 0); 6021 TESTINST2("rev r0, r1", 0xe37a0dda, r0, r1, 0); 6022 TESTINST2("rev r0, r1", 0xe5b83d4b, r0, r1, 0); 6023 TESTINST2("rev r0, r1", 0xbb6d14ec, r0, r1, 0); 6024 TESTINST2("rev r0, r1", 0x68983cc9, r0, r1, 0); 6025 6026 printf("(T2) REV Rd, Rm ------------\n"); 6027 TESTINST2("rev r8, r9", 0x00000000, r8, r9, 0); 6028 TESTINST2("rev r8, r9", 0xFFFFFFFF, r8, r9, 0); 6029 TESTINST2("rev r8, r9", 0x80000000, r8, r9, 0); 6030 TESTINST2("rev r8, r9", 0x00000001, r8, r9, 0); 6031 TESTINST2("rev r8, r9", 0x31415927, r8, r9, 0); 6032 TESTINST2("rev r8, r9", 0x14141562, r8, r9, 0); 6033 TESTINST2("rev r8, r9", 0xabe8391f, r8, r9, 0); 6034 TESTINST2("rev r8, r9", 0x9028aa80, r8, r9, 0); 6035 TESTINST2("rev r8, r9", 0xead1fc6d, r8, r9, 0); 6036 TESTINST2("rev r8, r9", 0x35c98c55, r8, r9, 0); 6037 TESTINST2("rev r8, r9", 0x534af1eb, r8, r9, 0); 6038 TESTINST2("rev r8, r9", 0x45511b08, r8, r9, 0); 6039 TESTINST2("rev r8, r9", 0x90077f71, r8, r9, 0); 6040 TESTINST2("rev r8, r9", 0xde8ca84b, r8, r9, 0); 6041 TESTINST2("rev r8, r9", 0xe37a0dda, r8, r9, 0); 6042 TESTINST2("rev r8, r9", 0xe5b83d4b, r8, r9, 0); 6043 TESTINST2("rev r8, r9", 0xbb6d14ec, r8, r9, 0); 6044 TESTINST2("rev r8, r9", 0x68983cc9, r8, r9, 0); 6045 6046 printf("(T1) REV16 Rd, Rm ------------\n"); 6047 TESTINST2("rev16 r0, r1", 0x00000000, r0, r1, 0); 6048 TESTINST2("rev16 r0, r1", 0xFFFFFFFF, r0, r1, 0); 6049 TESTINST2("rev16 r0, r1", 0x80000000, r0, r1, 0); 6050 TESTINST2("rev16 r0, r1", 0x00000001, r0, r1, 0); 6051 TESTINST2("rev16 r0, r1", 0x31415927, r0, r1, 0); 6052 TESTINST2("rev16 r0, r1", 0x14141562, r0, r1, 0); 6053 TESTINST2("rev16 r0, r1", 0xabe8391f, r0, r1, 0); 6054 TESTINST2("rev16 r0, r1", 0x9028aa80, r0, r1, 0); 6055 TESTINST2("rev16 r0, r1", 0xead1fc6d, r0, r1, 0); 6056 TESTINST2("rev16 r0, r1", 0x35c98c55, r0, r1, 0); 6057 TESTINST2("rev16 r0, r1", 0x534af1eb, r0, r1, 0); 6058 TESTINST2("rev16 r0, r1", 0x45511b08, r0, r1, 0); 6059 TESTINST2("rev16 r0, r1", 0x90077f71, r0, r1, 0); 6060 TESTINST2("rev16 r0, r1", 0xde8ca84b, r0, r1, 0); 6061 TESTINST2("rev16 r0, r1", 0xe37a0dda, r0, r1, 0); 6062 TESTINST2("rev16 r0, r1", 0xe5b83d4b, r0, r1, 0); 6063 TESTINST2("rev16 r0, r1", 0xbb6d14ec, r0, r1, 0); 6064 TESTINST2("rev16 r0, r1", 0x68983cc9, r0, r1, 0); 6065 6066 printf("(T2) REV16 Rd, Rm ------------\n"); 6067 TESTINST2("rev16 r8, r9", 0x00000000, r8, r9, 0); 6068 TESTINST2("rev16 r8, r9", 0xFFFFFFFF, r8, r9, 0); 6069 TESTINST2("rev16 r8, r9", 0x80000000, r8, r9, 0); 6070 TESTINST2("rev16 r8, r9", 0x00000001, r8, r9, 0); 6071 TESTINST2("rev16 r8, r9", 0x31415927, r8, r9, 0); 6072 TESTINST2("rev16 r8, r9", 0x14141562, r8, r9, 0); 6073 TESTINST2("rev16 r8, r9", 0xabe8391f, r8, r9, 0); 6074 TESTINST2("rev16 r8, r9", 0x9028aa80, r8, r9, 0); 6075 TESTINST2("rev16 r8, r9", 0xead1fc6d, r8, r9, 0); 6076 TESTINST2("rev16 r8, r9", 0x35c98c55, r8, r9, 0); 6077 TESTINST2("rev16 r8, r9", 0x534af1eb, r8, r9, 0); 6078 TESTINST2("rev16 r8, r9", 0x45511b08, r8, r9, 0); 6079 TESTINST2("rev16 r8, r9", 0x90077f71, r8, r9, 0); 6080 TESTINST2("rev16 r8, r9", 0xde8ca84b, r8, r9, 0); 6081 TESTINST2("rev16 r8, r9", 0xe37a0dda, r8, r9, 0); 6082 TESTINST2("rev16 r8, r9", 0xe5b83d4b, r8, r9, 0); 6083 TESTINST2("rev16 r8, r9", 0xbb6d14ec, r8, r9, 0); 6084 TESTINST2("rev16 r8, r9", 0x68983cc9, r8, r9, 0); 6085 6086 printf("(T1) REVSH Rd, Rm ------------\n"); 6087 TESTINST2("revsh r0, r1", 0x00000000, r0, r1, 0); 6088 TESTINST2("revsh r0, r1", 0xFFFFFFFF, r0, r1, 0); 6089 TESTINST2("revsh r0, r1", 0x80000000, r0, r1, 0); 6090 TESTINST2("revsh r0, r1", 0x00000001, r0, r1, 0); 6091 TESTINST2("revsh r0, r1", 0x31415927, r0, r1, 0); 6092 TESTINST2("revsh r0, r1", 0x14141562, r0, r1, 0); 6093 TESTINST2("revsh r0, r1", 0xabe8391f, r0, r1, 0); 6094 TESTINST2("revsh r0, r1", 0x9028aa80, r0, r1, 0); 6095 TESTINST2("revsh r0, r1", 0xead1fc6d, r0, r1, 0); 6096 TESTINST2("revsh r0, r1", 0x35c98c55, r0, r1, 0); 6097 TESTINST2("revsh r0, r1", 0x534af1eb, r0, r1, 0); 6098 TESTINST2("revsh r0, r1", 0x45511b08, r0, r1, 0); 6099 TESTINST2("revsh r0, r1", 0x90077f71, r0, r1, 0); 6100 TESTINST2("revsh r0, r1", 0xde8ca84b, r0, r1, 0); 6101 TESTINST2("revsh r0, r1", 0xe37a0dda, r0, r1, 0); 6102 TESTINST2("revsh r0, r1", 0xe5b83d4b, r0, r1, 0); 6103 TESTINST2("revsh r0, r1", 0xbb6d14ec, r0, r1, 0); 6104 TESTINST2("revsh r0, r1", 0x68983cc9, r0, r1, 0); 6105 6106 printf("(T2) REVSH Rd, Rm ------------\n"); 6107 TESTINST2("revsh r8, r9", 0x00000000, r8, r9, 0); 6108 TESTINST2("revsh r8, r9", 0xFFFFFFFF, r8, r9, 0); 6109 TESTINST2("revsh r8, r9", 0x80000000, r8, r9, 0); 6110 TESTINST2("revsh r8, r9", 0x00000001, r8, r9, 0); 6111 TESTINST2("revsh r8, r9", 0x31415927, r8, r9, 0); 6112 TESTINST2("revsh r8, r9", 0x14141562, r8, r9, 0); 6113 TESTINST2("revsh r8, r9", 0xabe8391f, r8, r9, 0); 6114 TESTINST2("revsh r8, r9", 0x9028aa80, r8, r9, 0); 6115 TESTINST2("revsh r8, r9", 0xead1fc6d, r8, r9, 0); 6116 TESTINST2("revsh r8, r9", 0x35c98c55, r8, r9, 0); 6117 TESTINST2("revsh r8, r9", 0x534af1eb, r8, r9, 0); 6118 TESTINST2("revsh r8, r9", 0x45511b08, r8, r9, 0); 6119 TESTINST2("revsh r8, r9", 0x90077f71, r8, r9, 0); 6120 TESTINST2("revsh r8, r9", 0xde8ca84b, r8, r9, 0); 6121 TESTINST2("revsh r8, r9", 0xe37a0dda, r8, r9, 0); 6122 TESTINST2("revsh r8, r9", 0xe5b83d4b, r8, r9, 0); 6123 TESTINST2("revsh r8, r9", 0xbb6d14ec, r8, r9, 0); 6124 TESTINST2("revsh r8, r9", 0x68983cc9, r8, r9, 0); 6125 6126 printf("------------ NOP (begin) ------------\n"); 6127 printf("nop\n"); 6128 __asm__ __volatile__("nop" ::: "memory","cc"); 6129 printf("nop.w\n"); 6130 __asm__ __volatile__("nop.w" ::: "memory","cc"); 6131 printf("------------ NOP (end) ------------\n"); 6132 6133 // plus whatever stuff we can throw in from the old ARM test program 6134 old_main(); 6135 6136 printf("------------ SMMUL ------------\n"); 6137 TESTINST3("smmul r0, r1, r2", 0, 0, r0, r1, r2, 0); 6138 TESTINST3("smmul r0, r1, r2", 0xffffffff, 0, r0, r1, r2, 0); 6139 TESTINST3("smmul r0, r1, r2", 0, 0xffffffff, r0, r1, r2, 0); 6140 TESTINST3("smmul r0, r1, r2", 0xffffffff, 0xffffffff, r0, r1, r2, 0); 6141 TESTINST3("smmul r0, r1, r2", 0x7fffffff, 0x7fffffff, r0, r1, r2, 0); 6142 TESTINST3("smmul r0, r1, r2", 0x0000ffff, 0x0000ffff, r0, r1, r2, 0); 6143 TESTINST3("smmul r0, r1, r2", 0xe444dc25, 0xd5eef620, r0, r1, r2, 0); 6144 TESTINST3("smmul r0, r1, r2", 0x06ea9b2a, 0xa2108661, r0, r1, r2, 0); 6145 TESTINST3("smmul r0, r1, r2", 0x448f3a5f, 0x17aecf57, r0, r1, r2, 0); 6146 TESTINST3("smmul r0, r1, r2", 0x4b0c2337, 0xffa63d6c, r0, r1, r2, 0); 6147 TESTINST3("smmul r0, r1, r2", 0xf91d5f56, 0x088bc0f9, r0, r1, r2, 0); 6148 6149 TESTINST3("smmulr r0, r1, r2", 0, 0, r0, r1, r2, 0); 6150 TESTINST3("smmulr r0, r1, r2", 0xffffffff, 0, r0, r1, r2, 0); 6151 TESTINST3("smmulr r0, r1, r2", 0, 0xffffffff, r0, r1, r2, 0); 6152 TESTINST3("smmulr r0, r1, r2", 0xffffffff, 0xffffffff, r0, r1, r2, 0); 6153 TESTINST3("smmulr r0, r1, r2", 0x7fffffff, 0x7fffffff, r0, r1, r2, 0); 6154 TESTINST3("smmulr r0, r1, r2", 0x0000ffff, 0x0000ffff, r0, r1, r2, 0); 6155 TESTINST3("smmulr r0, r1, r2", 0xe444dc25, 0xd5eef620, r0, r1, r2, 0); 6156 TESTINST3("smmulr r0, r1, r2", 0x06ea9b2a, 0xa2108661, r0, r1, r2, 0); 6157 TESTINST3("smmulr r0, r1, r2", 0x448f3a5f, 0x17aecf57, r0, r1, r2, 0); 6158 TESTINST3("smmulr r0, r1, r2", 0x4b0c2337, 0xffa63d6c, r0, r1, r2, 0); 6159 TESTINST3("smmulr r0, r1, r2", 0xf91d5f56, 0x088bc0f9, r0, r1, r2, 0); 6160 6161 printf("------------ UMAAL ------------\n"); 6162 TESTINST4_2OUT("umaal r0, r1, r2, r3", 0, 0, 0, 0, r0, r1, r2, r3, 0); 6163 TESTINST4_2OUT("umaal r0, r1, r2, r3", 0, 1, 0, 0, r0, r1, r2, r3, 0); 6164 TESTINST4_2OUT("umaal r0, r1, r2, r3", 1, 1, 0, 0, r0, r1, r2, r3, 0); 6165 TESTINST4_2OUT("umaal r0, r1, r2, r3", 0, 0xffffffff, 1, 1, r0, r1, r2, r3, 0); 6166 TESTINST4_2OUT("umaal r0, r1, r2, r3", 0, 0, 0, 1, r0, r1, r2, r3, 0); 6167 TESTINST4_2OUT("umaal r0, r1, r2, r3", 0, 0, 1, 0, r0, r1, r2, r3, 0); 6168 TESTINST4_2OUT("umaal r0, r1, r2, r3", 0, 0, 1, 1, r0, r1, r2, r3, 0); 6169 TESTINST4_2OUT("umaal r0, r1, r2, r3", 0, 0, 0xffff, 0xffff, r0, r1, r2, r3, 0); 6170 TESTINST4_2OUT("umaal r0, r1, r2, r3", 0, 0, 0xffffffff, 0xffffffff, r0, r1, r2, r3, 0); 6171 6172 TESTINST4_2OUT("umaal r0, r1, r2, r3", 0x27182846, 0x31415927, 0x14141356, 0x1773250A, 6173 r0, r1, r2, r3, 0); 6174 TESTINST4_2OUT("umaal r0, r1, r2, r3", 0x01415927, 0x74141356, 0x5773250A, 0xA7182846, 6175 r0, r1, r2, r3, 1); 6176 6177 printf("----------------- SMMLA{R} ----------------- \n"); 6178 TESTINST4("smmla r0, r1, r2, r3", 6179 0x80008000, 0x80008000, 0x00000000, r0, r1, r2, r3, 0); 6180 TESTINST4("smmla r0, r1, r2, r3", 6181 0x7fff7fff, 0x00000000, 0x00000000, r0, r1, r2, r3, 0); 6182 TESTINST4("smmla r0, r1, r2, r3", 6183 0x7fff7fff, 0x00010001, 0x00000001, r0, r1, r2, r3, 0); 6184 TESTINST4("smmla r0, r1, r2, r3", 6185 0x80008000, 0xffffffff, 0x0000001f, r0, r1, r2, r3, 0); 6186 TESTINST4("smmla r0, r1, r2, r3", 6187 0x00640064, 0x00030003, 0x00000020, r0, r1, r2, r3, 0); 6188 TESTINST4("smmla r0, r1, r2, r3", 6189 0xffffffff, 0xfffc0001, 0x000000ff, r0, r1, r2, r3, 0); 6190 TESTINST4("smmla r0, r1, r2, r3", 6191 0xfff70fff, 0x00030003, 0x00000100, r0, r1, r2, r3, 0); 6192 TESTINST4("smmla r0, r1, r2, r3", 6193 0xb8035b5b, 0xce0ce1ed, 0x5f986e68, r0, r1, r2, r3, 0); 6194 TESTINST4("smmla r0, r1, r2, r3", 6195 0x35232047, 0x146275d8, 0xaae3433f, r0, r1, r2, r3, 0); 6196 TESTINST4("smmla r0, r1, r2, r3", 6197 0xe7aa57b4, 0x1584bd74, 0x2c07a5b4, r0, r1, r2, r3, 0); 6198 TESTINST4("smmla r0, r1, r2, r3", 6199 0x32fa0095, 0x36f26261, 0x89d2ef86, r0, r1, r2, r3, 0); 6200 TESTINST4("smmla r0, r1, r2, r3", 6201 0x8ed8287c, 0x02c90120, 0xd4b64d54, r0, r1, r2, r3, 0); 6202 TESTINST4("smmla r0, r1, r2, r3", 6203 0xc53aaba9, 0x29300837, 0x0b02c58a, r0, r1, r2, r3, 0); 6204 TESTINST4("smmla r0, r1, r2, r3", 6205 0x216158cb, 0x57a50a01, 0xb0d20777, r0, r1, r2, r3, 0); 6206 TESTINST4("smmla r0, r1, r2, r3", 6207 0x3e2e1bd7, 0x3cd6cd94, 0x7e376198, r0, r1, r2, r3, 0); 6208 TESTINST4("smmla r0, r1, r2, r3", 6209 0xd5fe2dc4, 0xdd914bf7, 0xd5dc5407, r0, r1, r2, r3, 0); 6210 TESTINST4("smmla r0, r1, r2, r3", 6211 0xf87b961e, 0x1d66879f, 0xf2b64835, r0, r1, r2, r3, 0); 6212 TESTINST4("smmla r0, r1, r2, r3", 6213 0xd65db979, 0xc61b323b, 0xae930a1a, r0, r1, r2, r3, 0); 6214 TESTINST4("smmla r0, r1, r2, r3", 6215 0x5ef1f1a8, 0xbf73f0a5, 0x2fb714c9, r0, r1, r2, r3, 0); 6216 TESTINST4("smmla r0, r1, r2, r3", 6217 0x1ffe53d9, 0x815bb75b, 0xa3268abe, r0, r1, r2, r3, 0); 6218 TESTINST4("smmla r0, r1, r2, r3", 6219 0xed2cbf78, 0xc6ffabb6, 0xef9e9fd9, r0, r1, r2, r3, 0); 6220 TESTINST4("smmla r0, r1, r2, r3", 6221 0xeaa652c7, 0x137741f4, 0x3dba1164, r0, r1, r2, r3, 0); 6222 TESTINST4("smmla r0, r1, r2, r3", 6223 0x3ada0280, 0x71fbde8b, 0xdba5bd25, r0, r1, r2, r3, 0); 6224 TESTINST4("smmla r0, r1, r2, r3", 6225 0xda4ba05b, 0x90f9833d, 0x884c0ad8, r0, r1, r2, r3, 0); 6226 TESTINST4("smmla r0, r1, r2, r3", 6227 0xc00b821a, 0x7fa1d5a6, 0x9a4ff1b8, r0, r1, r2, r3, 0); 6228 TESTINST4("smmla r0, r1, r2, r3", 6229 0xe1bb8606, 0x58293969, 0x81616d13, r0, r1, r2, r3, 0); 6230 TESTINST4("smmla r0, r1, r2, r3", 6231 0x51f31d95, 0xa3cfd624, 0x6077fb1f, r0, r1, r2, r3, 0); 6232 TESTINST4("smmla r0, r1, r2, r3", 6233 0x0849a0c2, 0x0872f25a, 0x40b094e2, r0, r1, r2, r3, 0); 6234 TESTINST4("smmla r0, r1, r2, r3", 6235 0x17913309, 0xf1e03d7e, 0x91edc21d, r0, r1, r2, r3, 0); 6236 TESTINST4("smmla r0, r1, r2, r3", 6237 0x5388b5cd, 0x86582032, 0x6034078d, r0, r1, r2, r3, 0); 6238 TESTINST4("smmla r0, r1, r2, r3", 6239 0x181c436b, 0x5de41558, 0xccfa1c7e, r0, r1, r2, r3, 0); 6240 TESTINST4("smmla r0, r1, r2, r3", 6241 0x23ba1b46, 0x4437983c, 0x48d06549, r0, r1, r2, r3, 0); 6242 TESTINST4("smmla r0, r1, r2, r3", 6243 0xa9085781, 0xc6b4ac58, 0xb2aead21, r0, r1, r2, r3, 0); 6244 TESTINST4("smmla r0, r1, r2, r3", 6245 0xc2bdf597, 0xdde1e6a4, 0x852e3a72, r0, r1, r2, r3, 0); 6246 TESTINST4("smmla r0, r1, r2, r3", 6247 0x157b0dea, 0xf0d5ff94, 0xe7b87e39, r0, r1, r2, r3, 0); 6248 TESTINST4("smmla r0, r1, r2, r3", 6249 0x3edad6b6, 0x82aceb7a, 0x0557c6fc, r0, r1, r2, r3, 0); 6250 TESTINST4("smmla r0, r1, r2, r3", 6251 0x6cc9bfa8, 0x7f808c15, 0x81874a02, r0, r1, r2, r3, 0); 6252 TESTINST4("smmla r0, r1, r2, r3", 6253 0x6b1422c7, 0x33921b00, 0x3ccad3f7, r0, r1, r2, r3, 0); 6254 TESTINST4("smmla r0, r1, r2, r3", 6255 0xd7ce1909, 0x3e435701, 0x85fbf196, r0, r1, r2, r3, 0); 6256 TESTINST4("smmla r0, r1, r2, r3", 6257 0xb4e16b6e, 0x6e13680a, 0x89436f88, r0, r1, r2, r3, 0); 6258 TESTINST4("smmla r0, r1, r2, r3", 6259 0x44858efc, 0x9002bc30, 0x390d2c2f, r0, r1, r2, r3, 0); 6260 TESTINST4("smmla r0, r1, r2, r3", 6261 0xbea121ab, 0x953ff6ec, 0x80657c40, r0, r1, r2, r3, 0); 6262 TESTINST4("smmla r0, r1, r2, r3", 6263 0x6ffed89f, 0x3e8c49b7, 0x11bd07d1, r0, r1, r2, r3, 0); 6264 TESTINST4("smmla r0, r1, r2, r3", 6265 0x7795635d, 0x5e6e32dd, 0xe4999bf2, r0, r1, r2, r3, 0); 6266 TESTINST4("smmla r0, r1, r2, r3", 6267 0xec0c2f30, 0x5736ed46, 0x231348c0, r0, r1, r2, r3, 0); 6268 TESTINST4("smmla r0, r1, r2, r3", 6269 0x4f9ddd1b, 0x95bca5d8, 0x5765b203, r0, r1, r2, r3, 0); 6270 TESTINST4("smmla r0, r1, r2, r3", 6271 0xc1553709, 0x0112b30a, 0x69ec0212, r0, r1, r2, r3, 0); 6272 TESTINST4("smmla r0, r1, r2, r3", 6273 0x74bd0223, 0x03fa9bb5, 0x899d9192, r0, r1, r2, r3, 0); 6274 TESTINST4("smmla r0, r1, r2, r3", 6275 0xf52e9fbf, 0xb4c510a7, 0x7fcbe5a9, r0, r1, r2, r3, 0); 6276 TESTINST4("smmla r0, r1, r2, r3", 6277 0x64a365ef, 0x2dd01366, 0xf7b0b13e, r0, r1, r2, r3, 0); 6278 TESTINST4("smmla r0, r1, r2, r3", 6279 0x5e4b1cbf, 0x44de5ca9, 0x464a21cc, r0, r1, r2, r3, 0); 6280 TESTINST4("smmla r0, r1, r2, r3", 6281 0x299da970, 0xe8108f1b, 0xf5818cfb, r0, r1, r2, r3, 0); 6282 TESTINST4("smmla r0, r1, r2, r3", 6283 0xcd90d604, 0xaa5e9444, 0x8217b7df, r0, r1, r2, r3, 0); 6284 TESTINST4("smmla r0, r1, r2, r3", 6285 0xe60743c3, 0x7acb4de3, 0x73c29060, r0, r1, r2, r3, 0); 6286 TESTINST4("smmla r0, r1, r2, r3", 6287 0x868e7c7d, 0x5f77532e, 0x1d133d3d, r0, r1, r2, r3, 0); 6288 TESTINST4("smmla r0, r1, r2, r3", 6289 0x4e5e0760, 0x8f6d3264, 0x21ba2fb3, r0, r1, r2, r3, 0); 6290 TESTINST4("smmla r0, r1, r2, r3", 6291 0xde99ac2f, 0x0be36f70, 0xeda5110c, r0, r1, r2, r3, 0); 6292 TESTINST4("smmla r0, r1, r2, r3", 6293 0xc57243b7, 0xcf1e4487, 0xf20fb90f, r0, r1, r2, r3, 0); 6294 6295 TESTINST4("smmlar r0, r1, r2, r3", 6296 0x80008000, 0x80008000, 0x00000000, r0, r1, r2, r3, 0); 6297 TESTINST4("smmlar r0, r1, r2, r3", 6298 0x7fff7fff, 0x00000000, 0x00000000, r0, r1, r2, r3, 0); 6299 TESTINST4("smmlar r0, r1, r2, r3", 6300 0x7fff7fff, 0x00010001, 0x00000001, r0, r1, r2, r3, 0); 6301 TESTINST4("smmlar r0, r1, r2, r3", 6302 0x80008000, 0xffffffff, 0x0000001f, r0, r1, r2, r3, 0); 6303 TESTINST4("smmlar r0, r1, r2, r3", 6304 0x00640064, 0x00030003, 0x00000020, r0, r1, r2, r3, 0); 6305 TESTINST4("smmlar r0, r1, r2, r3", 6306 0xffffffff, 0xfffc0001, 0x000000ff, r0, r1, r2, r3, 0); 6307 TESTINST4("smmlar r0, r1, r2, r3", 6308 0xfff70fff, 0x00030003, 0x00000100, r0, r1, r2, r3, 0); 6309 TESTINST4("smmlar r0, r1, r2, r3", 6310 0xb8035b5b, 0xce0ce1ed, 0x5f986e68, r0, r1, r2, r3, 0); 6311 TESTINST4("smmlar r0, r1, r2, r3", 6312 0x35232047, 0x146275d8, 0xaae3433f, r0, r1, r2, r3, 0); 6313 TESTINST4("smmlar r0, r1, r2, r3", 6314 0xe7aa57b4, 0x1584bd74, 0x2c07a5b4, r0, r1, r2, r3, 0); 6315 TESTINST4("smmlar r0, r1, r2, r3", 6316 0x32fa0095, 0x36f26261, 0x89d2ef86, r0, r1, r2, r3, 0); 6317 TESTINST4("smmlar r0, r1, r2, r3", 6318 0x8ed8287c, 0x02c90120, 0xd4b64d54, r0, r1, r2, r3, 0); 6319 TESTINST4("smmlar r0, r1, r2, r3", 6320 0xc53aaba9, 0x29300837, 0x0b02c58a, r0, r1, r2, r3, 0); 6321 TESTINST4("smmlar r0, r1, r2, r3", 6322 0x216158cb, 0x57a50a01, 0xb0d20777, r0, r1, r2, r3, 0); 6323 TESTINST4("smmlar r0, r1, r2, r3", 6324 0x3e2e1bd7, 0x3cd6cd94, 0x7e376198, r0, r1, r2, r3, 0); 6325 TESTINST4("smmlar r0, r1, r2, r3", 6326 0xd5fe2dc4, 0xdd914bf7, 0xd5dc5407, r0, r1, r2, r3, 0); 6327 TESTINST4("smmlar r0, r1, r2, r3", 6328 0xf87b961e, 0x1d66879f, 0xf2b64835, r0, r1, r2, r3, 0); 6329 TESTINST4("smmlar r0, r1, r2, r3", 6330 0xd65db979, 0xc61b323b, 0xae930a1a, r0, r1, r2, r3, 0); 6331 TESTINST4("smmlar r0, r1, r2, r3", 6332 0x5ef1f1a8, 0xbf73f0a5, 0x2fb714c9, r0, r1, r2, r3, 0); 6333 TESTINST4("smmlar r0, r1, r2, r3", 6334 0x1ffe53d9, 0x815bb75b, 0xa3268abe, r0, r1, r2, r3, 0); 6335 TESTINST4("smmlar r0, r1, r2, r3", 6336 0xed2cbf78, 0xc6ffabb6, 0xef9e9fd9, r0, r1, r2, r3, 0); 6337 TESTINST4("smmlar r0, r1, r2, r3", 6338 0xeaa652c7, 0x137741f4, 0x3dba1164, r0, r1, r2, r3, 0); 6339 TESTINST4("smmlar r0, r1, r2, r3", 6340 0x3ada0280, 0x71fbde8b, 0xdba5bd25, r0, r1, r2, r3, 0); 6341 TESTINST4("smmlar r0, r1, r2, r3", 6342 0xda4ba05b, 0x90f9833d, 0x884c0ad8, r0, r1, r2, r3, 0); 6343 TESTINST4("smmlar r0, r1, r2, r3", 6344 0xc00b821a, 0x7fa1d5a6, 0x9a4ff1b8, r0, r1, r2, r3, 0); 6345 TESTINST4("smmlar r0, r1, r2, r3", 6346 0xe1bb8606, 0x58293969, 0x81616d13, r0, r1, r2, r3, 0); 6347 TESTINST4("smmlar r0, r1, r2, r3", 6348 0x51f31d95, 0xa3cfd624, 0x6077fb1f, r0, r1, r2, r3, 0); 6349 TESTINST4("smmlar r0, r1, r2, r3", 6350 0x0849a0c2, 0x0872f25a, 0x40b094e2, r0, r1, r2, r3, 0); 6351 TESTINST4("smmlar r0, r1, r2, r3", 6352 0x17913309, 0xf1e03d7e, 0x91edc21d, r0, r1, r2, r3, 0); 6353 TESTINST4("smmlar r0, r1, r2, r3", 6354 0x5388b5cd, 0x86582032, 0x6034078d, r0, r1, r2, r3, 0); 6355 TESTINST4("smmlar r0, r1, r2, r3", 6356 0x181c436b, 0x5de41558, 0xccfa1c7e, r0, r1, r2, r3, 0); 6357 TESTINST4("smmlar r0, r1, r2, r3", 6358 0x23ba1b46, 0x4437983c, 0x48d06549, r0, r1, r2, r3, 0); 6359 TESTINST4("smmlar r0, r1, r2, r3", 6360 0xa9085781, 0xc6b4ac58, 0xb2aead21, r0, r1, r2, r3, 0); 6361 TESTINST4("smmlar r0, r1, r2, r3", 6362 0xc2bdf597, 0xdde1e6a4, 0x852e3a72, r0, r1, r2, r3, 0); 6363 TESTINST4("smmlar r0, r1, r2, r3", 6364 0x157b0dea, 0xf0d5ff94, 0xe7b87e39, r0, r1, r2, r3, 0); 6365 TESTINST4("smmlar r0, r1, r2, r3", 6366 0x3edad6b6, 0x82aceb7a, 0x0557c6fc, r0, r1, r2, r3, 0); 6367 TESTINST4("smmlar r0, r1, r2, r3", 6368 0x6cc9bfa8, 0x7f808c15, 0x81874a02, r0, r1, r2, r3, 0); 6369 TESTINST4("smmlar r0, r1, r2, r3", 6370 0x6b1422c7, 0x33921b00, 0x3ccad3f7, r0, r1, r2, r3, 0); 6371 TESTINST4("smmlar r0, r1, r2, r3", 6372 0xd7ce1909, 0x3e435701, 0x85fbf196, r0, r1, r2, r3, 0); 6373 TESTINST4("smmlar r0, r1, r2, r3", 6374 0xb4e16b6e, 0x6e13680a, 0x89436f88, r0, r1, r2, r3, 0); 6375 TESTINST4("smmlar r0, r1, r2, r3", 6376 0x44858efc, 0x9002bc30, 0x390d2c2f, r0, r1, r2, r3, 0); 6377 TESTINST4("smmlar r0, r1, r2, r3", 6378 0xbea121ab, 0x953ff6ec, 0x80657c40, r0, r1, r2, r3, 0); 6379 TESTINST4("smmlar r0, r1, r2, r3", 6380 0x6ffed89f, 0x3e8c49b7, 0x11bd07d1, r0, r1, r2, r3, 0); 6381 TESTINST4("smmlar r0, r1, r2, r3", 6382 0x7795635d, 0x5e6e32dd, 0xe4999bf2, r0, r1, r2, r3, 0); 6383 TESTINST4("smmlar r0, r1, r2, r3", 6384 0xec0c2f30, 0x5736ed46, 0x231348c0, r0, r1, r2, r3, 0); 6385 TESTINST4("smmlar r0, r1, r2, r3", 6386 0x4f9ddd1b, 0x95bca5d8, 0x5765b203, r0, r1, r2, r3, 0); 6387 TESTINST4("smmlar r0, r1, r2, r3", 6388 0xc1553709, 0x0112b30a, 0x69ec0212, r0, r1, r2, r3, 0); 6389 TESTINST4("smmlar r0, r1, r2, r3", 6390 0x74bd0223, 0x03fa9bb5, 0x899d9192, r0, r1, r2, r3, 0); 6391 TESTINST4("smmlar r0, r1, r2, r3", 6392 0xf52e9fbf, 0xb4c510a7, 0x7fcbe5a9, r0, r1, r2, r3, 0); 6393 TESTINST4("smmlar r0, r1, r2, r3", 6394 0x64a365ef, 0x2dd01366, 0xf7b0b13e, r0, r1, r2, r3, 0); 6395 TESTINST4("smmlar r0, r1, r2, r3", 6396 0x5e4b1cbf, 0x44de5ca9, 0x464a21cc, r0, r1, r2, r3, 0); 6397 TESTINST4("smmlar r0, r1, r2, r3", 6398 0x299da970, 0xe8108f1b, 0xf5818cfb, r0, r1, r2, r3, 0); 6399 TESTINST4("smmlar r0, r1, r2, r3", 6400 0xcd90d604, 0xaa5e9444, 0x8217b7df, r0, r1, r2, r3, 0); 6401 TESTINST4("smmlar r0, r1, r2, r3", 6402 0xe60743c3, 0x7acb4de3, 0x73c29060, r0, r1, r2, r3, 0); 6403 TESTINST4("smmlar r0, r1, r2, r3", 6404 0x868e7c7d, 0x5f77532e, 0x1d133d3d, r0, r1, r2, r3, 0); 6405 TESTINST4("smmlar r0, r1, r2, r3", 6406 0x4e5e0760, 0x8f6d3264, 0x21ba2fb3, r0, r1, r2, r3, 0); 6407 TESTINST4("smmlar r0, r1, r2, r3", 6408 0xde99ac2f, 0x0be36f70, 0xeda5110c, r0, r1, r2, r3, 0); 6409 TESTINST4("smmlar r0, r1, r2, r3", 6410 0xc57243b7, 0xcf1e4487, 0xf20fb90f, r0, r1, r2, r3, 0); 6411 6412 printf("----------------- SMMLS{R} ----------------- \n"); 6413 TESTINST4("smmls r0, r1, r2, r3", 6414 0x80008000, 0x80008000, 0x00000000, r0, r1, r2, r3, 0); 6415 TESTINST4("smmls r0, r1, r2, r3", 6416 0x7fff7fff, 0x00000000, 0x00000000, r0, r1, r2, r3, 0); 6417 TESTINST4("smmls r0, r1, r2, r3", 6418 0x7fff7fff, 0x00010001, 0x00000001, r0, r1, r2, r3, 0); 6419 TESTINST4("smmls r0, r1, r2, r3", 6420 0x80008000, 0xffffffff, 0x0000001f, r0, r1, r2, r3, 0); 6421 TESTINST4("smmls r0, r1, r2, r3", 6422 0x00640064, 0x00030003, 0x00000020, r0, r1, r2, r3, 0); 6423 TESTINST4("smmls r0, r1, r2, r3", 6424 0xffffffff, 0xfffc0001, 0x000000ff, r0, r1, r2, r3, 0); 6425 TESTINST4("smmls r0, r1, r2, r3", 6426 0xfff70fff, 0x00030003, 0x00000100, r0, r1, r2, r3, 0); 6427 TESTINST4("smmls r0, r1, r2, r3", 6428 0xb8035b5b, 0xce0ce1ed, 0x5f986e68, r0, r1, r2, r3, 0); 6429 TESTINST4("smmls r0, r1, r2, r3", 6430 0x35232047, 0x146275d8, 0xaae3433f, r0, r1, r2, r3, 0); 6431 TESTINST4("smmls r0, r1, r2, r3", 6432 0xe7aa57b4, 0x1584bd74, 0x2c07a5b4, r0, r1, r2, r3, 0); 6433 TESTINST4("smmls r0, r1, r2, r3", 6434 0x32fa0095, 0x36f26261, 0x89d2ef86, r0, r1, r2, r3, 0); 6435 TESTINST4("smmls r0, r1, r2, r3", 6436 0x8ed8287c, 0x02c90120, 0xd4b64d54, r0, r1, r2, r3, 0); 6437 TESTINST4("smmls r0, r1, r2, r3", 6438 0xc53aaba9, 0x29300837, 0x0b02c58a, r0, r1, r2, r3, 0); 6439 TESTINST4("smmls r0, r1, r2, r3", 6440 0x216158cb, 0x57a50a01, 0xb0d20777, r0, r1, r2, r3, 0); 6441 TESTINST4("smmls r0, r1, r2, r3", 6442 0x3e2e1bd7, 0x3cd6cd94, 0x7e376198, r0, r1, r2, r3, 0); 6443 TESTINST4("smmls r0, r1, r2, r3", 6444 0xd5fe2dc4, 0xdd914bf7, 0xd5dc5407, r0, r1, r2, r3, 0); 6445 TESTINST4("smmls r0, r1, r2, r3", 6446 0xf87b961e, 0x1d66879f, 0xf2b64835, r0, r1, r2, r3, 0); 6447 TESTINST4("smmls r0, r1, r2, r3", 6448 0xd65db979, 0xc61b323b, 0xae930a1a, r0, r1, r2, r3, 0); 6449 TESTINST4("smmls r0, r1, r2, r3", 6450 0x5ef1f1a8, 0xbf73f0a5, 0x2fb714c9, r0, r1, r2, r3, 0); 6451 TESTINST4("smmls r0, r1, r2, r3", 6452 0x1ffe53d9, 0x815bb75b, 0xa3268abe, r0, r1, r2, r3, 0); 6453 TESTINST4("smmls r0, r1, r2, r3", 6454 0xed2cbf78, 0xc6ffabb6, 0xef9e9fd9, r0, r1, r2, r3, 0); 6455 TESTINST4("smmls r0, r1, r2, r3", 6456 0xeaa652c7, 0x137741f4, 0x3dba1164, r0, r1, r2, r3, 0); 6457 TESTINST4("smmls r0, r1, r2, r3", 6458 0x3ada0280, 0x71fbde8b, 0xdba5bd25, r0, r1, r2, r3, 0); 6459 TESTINST4("smmls r0, r1, r2, r3", 6460 0xda4ba05b, 0x90f9833d, 0x884c0ad8, r0, r1, r2, r3, 0); 6461 TESTINST4("smmls r0, r1, r2, r3", 6462 0xc00b821a, 0x7fa1d5a6, 0x9a4ff1b8, r0, r1, r2, r3, 0); 6463 TESTINST4("smmls r0, r1, r2, r3", 6464 0xe1bb8606, 0x58293969, 0x81616d13, r0, r1, r2, r3, 0); 6465 TESTINST4("smmls r0, r1, r2, r3", 6466 0x51f31d95, 0xa3cfd624, 0x6077fb1f, r0, r1, r2, r3, 0); 6467 TESTINST4("smmls r0, r1, r2, r3", 6468 0x0849a0c2, 0x0872f25a, 0x40b094e2, r0, r1, r2, r3, 0); 6469 TESTINST4("smmls r0, r1, r2, r3", 6470 0x17913309, 0xf1e03d7e, 0x91edc21d, r0, r1, r2, r3, 0); 6471 TESTINST4("smmls r0, r1, r2, r3", 6472 0x5388b5cd, 0x86582032, 0x6034078d, r0, r1, r2, r3, 0); 6473 TESTINST4("smmls r0, r1, r2, r3", 6474 0x181c436b, 0x5de41558, 0xccfa1c7e, r0, r1, r2, r3, 0); 6475 TESTINST4("smmls r0, r1, r2, r3", 6476 0x23ba1b46, 0x4437983c, 0x48d06549, r0, r1, r2, r3, 0); 6477 TESTINST4("smmls r0, r1, r2, r3", 6478 0xa9085781, 0xc6b4ac58, 0xb2aead21, r0, r1, r2, r3, 0); 6479 TESTINST4("smmls r0, r1, r2, r3", 6480 0xc2bdf597, 0xdde1e6a4, 0x852e3a72, r0, r1, r2, r3, 0); 6481 TESTINST4("smmls r0, r1, r2, r3", 6482 0x157b0dea, 0xf0d5ff94, 0xe7b87e39, r0, r1, r2, r3, 0); 6483 TESTINST4("smmls r0, r1, r2, r3", 6484 0x3edad6b6, 0x82aceb7a, 0x0557c6fc, r0, r1, r2, r3, 0); 6485 TESTINST4("smmls r0, r1, r2, r3", 6486 0x6cc9bfa8, 0x7f808c15, 0x81874a02, r0, r1, r2, r3, 0); 6487 TESTINST4("smmls r0, r1, r2, r3", 6488 0x6b1422c7, 0x33921b00, 0x3ccad3f7, r0, r1, r2, r3, 0); 6489 TESTINST4("smmls r0, r1, r2, r3", 6490 0xd7ce1909, 0x3e435701, 0x85fbf196, r0, r1, r2, r3, 0); 6491 TESTINST4("smmls r0, r1, r2, r3", 6492 0xb4e16b6e, 0x6e13680a, 0x89436f88, r0, r1, r2, r3, 0); 6493 TESTINST4("smmls r0, r1, r2, r3", 6494 0x44858efc, 0x9002bc30, 0x390d2c2f, r0, r1, r2, r3, 0); 6495 TESTINST4("smmls r0, r1, r2, r3", 6496 0xbea121ab, 0x953ff6ec, 0x80657c40, r0, r1, r2, r3, 0); 6497 TESTINST4("smmls r0, r1, r2, r3", 6498 0x6ffed89f, 0x3e8c49b7, 0x11bd07d1, r0, r1, r2, r3, 0); 6499 TESTINST4("smmls r0, r1, r2, r3", 6500 0x7795635d, 0x5e6e32dd, 0xe4999bf2, r0, r1, r2, r3, 0); 6501 TESTINST4("smmls r0, r1, r2, r3", 6502 0xec0c2f30, 0x5736ed46, 0x231348c0, r0, r1, r2, r3, 0); 6503 TESTINST4("smmls r0, r1, r2, r3", 6504 0x4f9ddd1b, 0x95bca5d8, 0x5765b203, r0, r1, r2, r3, 0); 6505 TESTINST4("smmls r0, r1, r2, r3", 6506 0xc1553709, 0x0112b30a, 0x69ec0212, r0, r1, r2, r3, 0); 6507 TESTINST4("smmls r0, r1, r2, r3", 6508 0x74bd0223, 0x03fa9bb5, 0x899d9192, r0, r1, r2, r3, 0); 6509 TESTINST4("smmls r0, r1, r2, r3", 6510 0xf52e9fbf, 0xb4c510a7, 0x7fcbe5a9, r0, r1, r2, r3, 0); 6511 TESTINST4("smmls r0, r1, r2, r3", 6512 0x64a365ef, 0x2dd01366, 0xf7b0b13e, r0, r1, r2, r3, 0); 6513 TESTINST4("smmls r0, r1, r2, r3", 6514 0x5e4b1cbf, 0x44de5ca9, 0x464a21cc, r0, r1, r2, r3, 0); 6515 TESTINST4("smmls r0, r1, r2, r3", 6516 0x299da970, 0xe8108f1b, 0xf5818cfb, r0, r1, r2, r3, 0); 6517 TESTINST4("smmls r0, r1, r2, r3", 6518 0xcd90d604, 0xaa5e9444, 0x8217b7df, r0, r1, r2, r3, 0); 6519 TESTINST4("smmls r0, r1, r2, r3", 6520 0xe60743c3, 0x7acb4de3, 0x73c29060, r0, r1, r2, r3, 0); 6521 TESTINST4("smmls r0, r1, r2, r3", 6522 0x868e7c7d, 0x5f77532e, 0x1d133d3d, r0, r1, r2, r3, 0); 6523 TESTINST4("smmls r0, r1, r2, r3", 6524 0x4e5e0760, 0x8f6d3264, 0x21ba2fb3, r0, r1, r2, r3, 0); 6525 TESTINST4("smmls r0, r1, r2, r3", 6526 0xde99ac2f, 0x0be36f70, 0xeda5110c, r0, r1, r2, r3, 0); 6527 TESTINST4("smmls r0, r1, r2, r3", 6528 0xc57243b7, 0xcf1e4487, 0xf20fb90f, r0, r1, r2, r3, 0); 6529 6530 TESTINST4("smmlsr r0, r1, r2, r3", 6531 0x80008000, 0x80008000, 0x00000000, r0, r1, r2, r3, 0); 6532 TESTINST4("smmlsr r0, r1, r2, r3", 6533 0x7fff7fff, 0x00000000, 0x00000000, r0, r1, r2, r3, 0); 6534 TESTINST4("smmlsr r0, r1, r2, r3", 6535 0x7fff7fff, 0x00010001, 0x00000001, r0, r1, r2, r3, 0); 6536 TESTINST4("smmlsr r0, r1, r2, r3", 6537 0x80008000, 0xffffffff, 0x0000001f, r0, r1, r2, r3, 0); 6538 TESTINST4("smmlsr r0, r1, r2, r3", 6539 0x00640064, 0x00030003, 0x00000020, r0, r1, r2, r3, 0); 6540 TESTINST4("smmlsr r0, r1, r2, r3", 6541 0xffffffff, 0xfffc0001, 0x000000ff, r0, r1, r2, r3, 0); 6542 TESTINST4("smmlsr r0, r1, r2, r3", 6543 0xfff70fff, 0x00030003, 0x00000100, r0, r1, r2, r3, 0); 6544 TESTINST4("smmlsr r0, r1, r2, r3", 6545 0xb8035b5b, 0xce0ce1ed, 0x5f986e68, r0, r1, r2, r3, 0); 6546 TESTINST4("smmlsr r0, r1, r2, r3", 6547 0x35232047, 0x146275d8, 0xaae3433f, r0, r1, r2, r3, 0); 6548 TESTINST4("smmlsr r0, r1, r2, r3", 6549 0xe7aa57b4, 0x1584bd74, 0x2c07a5b4, r0, r1, r2, r3, 0); 6550 TESTINST4("smmlsr r0, r1, r2, r3", 6551 0x32fa0095, 0x36f26261, 0x89d2ef86, r0, r1, r2, r3, 0); 6552 TESTINST4("smmlsr r0, r1, r2, r3", 6553 0x8ed8287c, 0x02c90120, 0xd4b64d54, r0, r1, r2, r3, 0); 6554 TESTINST4("smmlsr r0, r1, r2, r3", 6555 0xc53aaba9, 0x29300837, 0x0b02c58a, r0, r1, r2, r3, 0); 6556 TESTINST4("smmlsr r0, r1, r2, r3", 6557 0x216158cb, 0x57a50a01, 0xb0d20777, r0, r1, r2, r3, 0); 6558 TESTINST4("smmlsr r0, r1, r2, r3", 6559 0x3e2e1bd7, 0x3cd6cd94, 0x7e376198, r0, r1, r2, r3, 0); 6560 TESTINST4("smmlsr r0, r1, r2, r3", 6561 0xd5fe2dc4, 0xdd914bf7, 0xd5dc5407, r0, r1, r2, r3, 0); 6562 TESTINST4("smmlsr r0, r1, r2, r3", 6563 0xf87b961e, 0x1d66879f, 0xf2b64835, r0, r1, r2, r3, 0); 6564 TESTINST4("smmlsr r0, r1, r2, r3", 6565 0xd65db979, 0xc61b323b, 0xae930a1a, r0, r1, r2, r3, 0); 6566 TESTINST4("smmlsr r0, r1, r2, r3", 6567 0x5ef1f1a8, 0xbf73f0a5, 0x2fb714c9, r0, r1, r2, r3, 0); 6568 TESTINST4("smmlsr r0, r1, r2, r3", 6569 0x1ffe53d9, 0x815bb75b, 0xa3268abe, r0, r1, r2, r3, 0); 6570 TESTINST4("smmlsr r0, r1, r2, r3", 6571 0xed2cbf78, 0xc6ffabb6, 0xef9e9fd9, r0, r1, r2, r3, 0); 6572 TESTINST4("smmlsr r0, r1, r2, r3", 6573 0xeaa652c7, 0x137741f4, 0x3dba1164, r0, r1, r2, r3, 0); 6574 TESTINST4("smmlsr r0, r1, r2, r3", 6575 0x3ada0280, 0x71fbde8b, 0xdba5bd25, r0, r1, r2, r3, 0); 6576 TESTINST4("smmlsr r0, r1, r2, r3", 6577 0xda4ba05b, 0x90f9833d, 0x884c0ad8, r0, r1, r2, r3, 0); 6578 TESTINST4("smmlsr r0, r1, r2, r3", 6579 0xc00b821a, 0x7fa1d5a6, 0x9a4ff1b8, r0, r1, r2, r3, 0); 6580 TESTINST4("smmlsr r0, r1, r2, r3", 6581 0xe1bb8606, 0x58293969, 0x81616d13, r0, r1, r2, r3, 0); 6582 TESTINST4("smmlsr r0, r1, r2, r3", 6583 0x51f31d95, 0xa3cfd624, 0x6077fb1f, r0, r1, r2, r3, 0); 6584 TESTINST4("smmlsr r0, r1, r2, r3", 6585 0x0849a0c2, 0x0872f25a, 0x40b094e2, r0, r1, r2, r3, 0); 6586 TESTINST4("smmlsr r0, r1, r2, r3", 6587 0x17913309, 0xf1e03d7e, 0x91edc21d, r0, r1, r2, r3, 0); 6588 TESTINST4("smmlsr r0, r1, r2, r3", 6589 0x5388b5cd, 0x86582032, 0x6034078d, r0, r1, r2, r3, 0); 6590 TESTINST4("smmlsr r0, r1, r2, r3", 6591 0x181c436b, 0x5de41558, 0xccfa1c7e, r0, r1, r2, r3, 0); 6592 TESTINST4("smmlsr r0, r1, r2, r3", 6593 0x23ba1b46, 0x4437983c, 0x48d06549, r0, r1, r2, r3, 0); 6594 TESTINST4("smmlsr r0, r1, r2, r3", 6595 0xa9085781, 0xc6b4ac58, 0xb2aead21, r0, r1, r2, r3, 0); 6596 TESTINST4("smmlsr r0, r1, r2, r3", 6597 0xc2bdf597, 0xdde1e6a4, 0x852e3a72, r0, r1, r2, r3, 0); 6598 TESTINST4("smmlsr r0, r1, r2, r3", 6599 0x157b0dea, 0xf0d5ff94, 0xe7b87e39, r0, r1, r2, r3, 0); 6600 TESTINST4("smmlsr r0, r1, r2, r3", 6601 0x3edad6b6, 0x82aceb7a, 0x0557c6fc, r0, r1, r2, r3, 0); 6602 TESTINST4("smmlsr r0, r1, r2, r3", 6603 0x6cc9bfa8, 0x7f808c15, 0x81874a02, r0, r1, r2, r3, 0); 6604 TESTINST4("smmlsr r0, r1, r2, r3", 6605 0x6b1422c7, 0x33921b00, 0x3ccad3f7, r0, r1, r2, r3, 0); 6606 TESTINST4("smmlsr r0, r1, r2, r3", 6607 0xd7ce1909, 0x3e435701, 0x85fbf196, r0, r1, r2, r3, 0); 6608 TESTINST4("smmlsr r0, r1, r2, r3", 6609 0xb4e16b6e, 0x6e13680a, 0x89436f88, r0, r1, r2, r3, 0); 6610 TESTINST4("smmlsr r0, r1, r2, r3", 6611 0x44858efc, 0x9002bc30, 0x390d2c2f, r0, r1, r2, r3, 0); 6612 TESTINST4("smmlsr r0, r1, r2, r3", 6613 0xbea121ab, 0x953ff6ec, 0x80657c40, r0, r1, r2, r3, 0); 6614 TESTINST4("smmlsr r0, r1, r2, r3", 6615 0x6ffed89f, 0x3e8c49b7, 0x11bd07d1, r0, r1, r2, r3, 0); 6616 TESTINST4("smmlsr r0, r1, r2, r3", 6617 0x7795635d, 0x5e6e32dd, 0xe4999bf2, r0, r1, r2, r3, 0); 6618 TESTINST4("smmlsr r0, r1, r2, r3", 6619 0xec0c2f30, 0x5736ed46, 0x231348c0, r0, r1, r2, r3, 0); 6620 TESTINST4("smmlsr r0, r1, r2, r3", 6621 0x4f9ddd1b, 0x95bca5d8, 0x5765b203, r0, r1, r2, r3, 0); 6622 TESTINST4("smmlsr r0, r1, r2, r3", 6623 0xc1553709, 0x0112b30a, 0x69ec0212, r0, r1, r2, r3, 0); 6624 TESTINST4("smmlsr r0, r1, r2, r3", 6625 0x74bd0223, 0x03fa9bb5, 0x899d9192, r0, r1, r2, r3, 0); 6626 TESTINST4("smmlsr r0, r1, r2, r3", 6627 0xf52e9fbf, 0xb4c510a7, 0x7fcbe5a9, r0, r1, r2, r3, 0); 6628 TESTINST4("smmlsr r0, r1, r2, r3", 6629 0x64a365ef, 0x2dd01366, 0xf7b0b13e, r0, r1, r2, r3, 0); 6630 TESTINST4("smmlsr r0, r1, r2, r3", 6631 0x5e4b1cbf, 0x44de5ca9, 0x464a21cc, r0, r1, r2, r3, 0); 6632 TESTINST4("smmlsr r0, r1, r2, r3", 6633 0x299da970, 0xe8108f1b, 0xf5818cfb, r0, r1, r2, r3, 0); 6634 TESTINST4("smmlsr r0, r1, r2, r3", 6635 0xcd90d604, 0xaa5e9444, 0x8217b7df, r0, r1, r2, r3, 0); 6636 TESTINST4("smmlsr r0, r1, r2, r3", 6637 0xe60743c3, 0x7acb4de3, 0x73c29060, r0, r1, r2, r3, 0); 6638 TESTINST4("smmlsr r0, r1, r2, r3", 6639 0x868e7c7d, 0x5f77532e, 0x1d133d3d, r0, r1, r2, r3, 0); 6640 TESTINST4("smmlsr r0, r1, r2, r3", 6641 0x4e5e0760, 0x8f6d3264, 0x21ba2fb3, r0, r1, r2, r3, 0); 6642 TESTINST4("smmlsr r0, r1, r2, r3", 6643 0xde99ac2f, 0x0be36f70, 0xeda5110c, r0, r1, r2, r3, 0); 6644 TESTINST4("smmlsr r0, r1, r2, r3", 6645 0xc57243b7, 0xcf1e4487, 0xf20fb90f, r0, r1, r2, r3, 0); 6646 6647 return 0; 6648} 6649