v6intThumb.c revision b32f58018498ea2225959b0ba11c18f0c433deef
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(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/* helpers */ 222#define NOCARRY { int cv = 0; { 223#define TESTCARRY { int cv = 0; for (cv = 0; cv < 4; cv++) { 224#define TESTCARRYEND }} 225 226//////////////////////////////////////////////////////////// 227//////////////////////////////////////////////////////////// 228/////////////////////////////////////////////////////////// 229/////////////////////////////////////////////////////////// 230 231static int old_main(void) 232{ 233 234 printf("MOV\n"); 235 TESTINST2("mov r0, r1", 1, r0, r1, 0); 236 TESTINST2("cpy r0, r1", 1, r0, r1, 0); 237 TESTINST2("mov r0, #0", 0, r0, r1, 0); 238 TESTINST2("mov r0, #1", 0, r0, r1, 0); 239 TESTCARRY 240 TESTINST2("movs r0, r1", 1, r0, r1, cv); 241 TESTINST2("movs r0, r1", 0, r0, r1, cv); 242 TESTINST2("movs r0, r1", 0x80000000, r0, r1, cv); 243 TESTINST2("movs r0, #0", 0, r0, r1, cv); 244 TESTINST2("movs r0, #1", 0, r0, r1, cv); 245 TESTCARRYEND 246 247 printf("MVN\n"); 248 TESTINST2("mvn r0, r1", 1, r0, r1, 0); 249 TESTCARRY 250 TESTINST2("mvns r0, r1", 1, r0, r1, cv); 251 TESTINST2("mvns r0, r1", 0, r0, r1, cv); 252 TESTINST2("mvns r0, r1", 0x80000000, r0, r1, cv); 253 TESTCARRYEND 254 255 printf("ADD\n"); 256 TESTINST3("adds r0, r1, r2", 0, 0, r0, r1, r2, 0); 257 TESTINST3("adds r0, r1, r2", 0, 1, r0, r1, r2, 0); 258 TESTINST3("adds r0, r1, r2", 1, 0, r0, r1, r2, 0); 259 TESTINST3("adds r0, r1, r2", 1, 1, r0, r1, r2, 0); 260 TESTINST3("adds r0, r1, r2", 0, -1, r0, r1, r2, 0); 261 TESTINST3("adds r0, r1, r2", 1, -1, r0, r1, r2, 0); 262 TESTINST3("adds r0, r1, r2", 0x7fffffff, 1, r0, r1, r2, 0); 263 TESTINST3("adds r0, r1, r2", 0x80000000, -1, r0, r1, r2, 0); 264 TESTINST3("adds r0, r1, r2", 0x80000000, 0, r0, r1, r2, 0); 265 266 printf("ADC\n"); 267 TESTINST3("adcs r0, r1, r2", 0, 0, r0, r1, r2, 0); 268 TESTINST3("adcs r0, r1, r2", 0, 0, r0, r1, r2, 1); 269 270 printf("LSL\n"); 271 TESTINST3("lsl r0, r1, r2", 0xffffffff, 0, r0, r1, r2, 0); 272 TESTINST3("lsl r0, r1, r2", 0xffffffff, 1, r0, r1, r2, 0); 273 TESTINST3("lsl r0, r1, r2", 0xffffffff, 2, r0, r1, r2, 0); 274 TESTINST3("lsl r0, r1, r2", 0xffffffff, 31, r0, r1, r2, 0); 275 TESTINST3("lsl r0, r1, r2", 0xffffffff, 32, r0, r1, r2, 0); 276 TESTINST3("lsl r0, r1, r2", 0xffffffff, 33, r0, r1, r2, 0); 277 TESTINST3("lsl r0, r1, r2", 0xffffffff, 63, r0, r1, r2, 0); 278 TESTINST3("lsl r0, r1, r2", 0xffffffff, 64, r0, r1, r2, 0); 279 TESTINST3("lsl r0, r1, r2", 0xffffffff, 255, r0, r1, r2, 0); 280 TESTINST3("lsl r0, r1, r2", 0xffffffff, 256, r0, r1, r2, 0); 281 282 TESTINST3("lsl r0, r1, r2", 0x1, 0, r0, r1, r2, 0); 283 TESTINST3("lsl r0, r1, r2", 0x1, 1, r0, r1, r2, 0); 284 TESTINST3("lsl r0, r1, r2", 0x1, 31, r0, r1, r2, 0); 285 TESTINST3("lsl r0, r1, r2", 0x2, 31, r0, r1, r2, 0); 286 287 printf("LSLS\n"); 288 TESTCARRY 289 TESTINST3("lsls r0, r1, r2", 0xffffffff, 0, r0, r1, r2, cv); 290 TESTINST3("lsls r0, r1, r2", 0xffffffff, 1, r0, r1, r2, cv); 291 TESTINST3("lsls r0, r1, r2", 0xffffffff, 2, r0, r1, r2, cv); 292 TESTINST3("lsls r0, r1, r2", 0xffffffff, 31, r0, r1, r2, cv); 293 TESTINST3("lsls r0, r1, r2", 0xffffffff, 32, r0, r1, r2, cv); 294 TESTINST3("lsls r0, r1, r2", 0xffffffff, 33, r0, r1, r2, cv); 295 TESTINST3("lsls r0, r1, r2", 0xffffffff, 63, r0, r1, r2, cv); 296 TESTINST3("lsls r0, r1, r2", 0xffffffff, 64, r0, r1, r2, cv); 297 TESTINST3("lsls r0, r1, r2", 0xffffffff, 255, r0, r1, r2, cv); 298 TESTINST3("lsls r0, r1, r2", 0xffffffff, 256, r0, r1, r2, cv); 299 TESTINST3("lsls r0, r1, r2", 0x1, 0, r0, r1, r2, cv); 300 TESTINST3("lsls r0, r1, r2", 0x1, 1, r0, r1, r2, cv); 301 TESTINST3("lsls r0, r1, r2", 0x1, 31, r0, r1, r2, cv); 302 TESTINST3("lsls r0, r1, r2", 0x2, 31, r0, r1, r2, cv); 303 TESTCARRYEND 304 305 printf("LSL immediate\n"); 306 TESTCARRY 307 TESTINST2("lsl r0, r1, #0", 0xffffffff, r0, r1, cv); 308 TESTINST2("lsl r0, r1, #1", 0xffffffff, r0, r1, cv); 309 TESTINST2("lsl r0, r1, #31", 0xffffffff, r0, r1, cv); 310 TESTINST2("lsl r0, r1, #0", 0x1, r0, r1, cv); 311 TESTINST2("lsl r0, r1, #1", 0x1, r0, r1, cv); 312 TESTINST2("lsl r0, r1, #31", 0x1, r0, r1, cv); 313 TESTINST2("lsl r0, r1, #31", 0x2, r0, r1, cv); 314 TESTCARRYEND 315 316 printf("LSLS immediate\n"); 317 TESTCARRY 318 TESTINST2("lsls r0, r1, #0", 0xffffffff, r0, r1, cv); 319 TESTINST2("lsls r0, r1, #1", 0xffffffff, r0, r1, cv); 320 TESTINST2("lsls r0, r1, #31", 0xffffffff, r0, r1, cv); 321 TESTINST2("lsls r0, r1, #0", 0x1, r0, r1, cv); 322 TESTINST2("lsls r0, r1, #1", 0x1, r0, r1, cv); 323 TESTINST2("lsls r0, r1, #31", 0x1, r0, r1, cv); 324 TESTINST2("lsls r0, r1, #31", 0x2, r0, r1, cv); 325 TESTCARRYEND 326 327 printf("LSR\n"); 328 TESTINST3("lsr r0, r1, r2", 0xffffffff, 0, r0, r1, r2, 0); 329 TESTINST3("lsr r0, r1, r2", 0xffffffff, 1, r0, r1, r2, 0); 330 TESTINST3("lsr r0, r1, r2", 0xffffffff, 2, r0, r1, r2, 0); 331 TESTINST3("lsr r0, r1, r2", 0xffffffff, 31, r0, r1, r2, 0); 332 TESTINST3("lsr r0, r1, r2", 0xffffffff, 32, r0, r1, r2, 0); 333 TESTINST3("lsr r0, r1, r2", 0xffffffff, 33, r0, r1, r2, 0); 334 TESTINST3("lsr r0, r1, r2", 0xffffffff, 63, r0, r1, r2, 0); 335 TESTINST3("lsr r0, r1, r2", 0xffffffff, 64, r0, r1, r2, 0); 336 TESTINST3("lsr r0, r1, r2", 0xffffffff, 255, r0, r1, r2, 0); 337 TESTINST3("lsr r0, r1, r2", 0xffffffff, 256, r0, r1, r2, 0); 338 339 printf("LSRS\n"); 340 TESTCARRY 341 TESTINST3("lsrs r0, r1, r2", 0xffffffff, 0, r0, r1, r2, cv); 342 TESTINST3("lsrs r0, r1, r2", 0xffffffff, 1, r0, r1, r2, cv); 343 TESTINST3("lsrs r0, r1, r2", 0xffffffff, 2, r0, r1, r2, cv); 344 TESTINST3("lsrs r0, r1, r2", 0xffffffff, 31, r0, r1, r2, cv); 345 TESTINST3("lsrs r0, r1, r2", 0xffffffff, 32, r0, r1, r2, cv); 346 TESTINST3("lsrs r0, r1, r2", 0xffffffff, 33, r0, r1, r2, cv); 347 TESTINST3("lsrs r0, r1, r2", 0xffffffff, 63, r0, r1, r2, cv); 348 TESTINST3("lsrs r0, r1, r2", 0xffffffff, 64, r0, r1, r2, cv); 349 TESTINST3("lsrs r0, r1, r2", 0xffffffff, 255, r0, r1, r2, cv); 350 TESTCARRYEND 351 352 printf("LSR immediate\n"); 353 TESTINST2("lsr r0, r1, #0", 0xffffffff, r0, r1, 0); 354 TESTINST2("lsr r0, r1, #1", 0xffffffff, r0, r1, 0); 355 TESTINST2("lsr r0, r1, #31", 0xffffffff, r0, r1, 0); 356 TESTINST2("lsr r0, r1, #32", 0xffffffff, r0, r1, 0); 357 TESTINST2("lsr r0, r1, #16", 0x00010000, r0, r1, 0); 358 TESTINST2("lsr r0, r1, #17", 0x00010000, r0, r1, 0); 359 TESTINST2("lsr r0, r1, #18", 0x00010000, r0, r1, 0); 360 361 printf("LSRS immediate\n"); 362 TESTCARRY 363 TESTINST2("lsrs r0, r1, #0", 0xffffffff, r0, r1, cv); 364 TESTINST2("lsrs r0, r1, #1", 0xffffffff, r0, r1, cv); 365 TESTINST2("lsrs r0, r1, #31", 0xffffffff, r0, r1, cv); 366 TESTINST2("lsrs r0, r1, #32", 0xffffffff, r0, r1, cv); 367 TESTINST2("lsrs r0, r1, #16", 0x00010000, r0, r1, cv); 368 TESTINST2("lsrs r0, r1, #17", 0x00010000, r0, r1, cv); 369 TESTINST2("lsrs r0, r1, #18", 0x00010000, r0, r1, cv); 370 TESTCARRYEND 371 372 printf("ASR\n"); 373 TESTCARRY 374 TESTINST3("asr r0, r1, r2", 0xffffffff, 0, r0, r1, r2, cv); 375 TESTINST3("asr r0, r1, r2", 0xffffffff, 1, r0, r1, r2, cv); 376 TESTINST3("asr r0, r1, r2", 0xffffffff, 2, r0, r1, r2, cv); 377 TESTINST3("asr r0, r1, r2", 0xffffffff, 31, r0, r1, r2, cv); 378 TESTINST3("asr r0, r1, r2", 0xffffffff, 32, r0, r1, r2, cv); 379 TESTINST3("asr r0, r1, r2", 0xffffffff, 33, r0, r1, r2, cv); 380 TESTINST3("asr r0, r1, r2", 0xffffffff, 63, r0, r1, r2, cv); 381 TESTINST3("asr r0, r1, r2", 0xffffffff, 64, r0, r1, r2, cv); 382 TESTINST3("asr r0, r1, r2", 0xffffffff, 255, r0, r1, r2, cv); 383 TESTINST3("asr r0, r1, r2", 0xffffffff, 256, r0, r1, r2, cv); 384 TESTINST3("asr r0, r1, r2", 0x7fffffff, 0, r0, r1, r2, cv); 385 TESTINST3("asr r0, r1, r2", 0x7fffffff, 1, r0, r1, r2, cv); 386 TESTINST3("asr r0, r1, r2", 0x7fffffff, 2, r0, r1, r2, cv); 387 TESTINST3("asr r0, r1, r2", 0x7fffffff, 31, r0, r1, r2, cv); 388 TESTINST3("asr r0, r1, r2", 0x7fffffff, 32, r0, r1, r2, cv); 389 TESTINST3("asr r0, r1, r2", 0x7fffffff, 33, r0, r1, r2, cv); 390 TESTINST3("asr r0, r1, r2", 0x7fffffff, 63, r0, r1, r2, cv); 391 TESTINST3("asr r0, r1, r2", 0x7fffffff, 64, r0, r1, r2, cv); 392 TESTINST3("asr r0, r1, r2", 0x7fffffff, 255, r0, r1, r2, cv); 393 TESTINST3("asr r0, r1, r2", 0x7fffffff, 256, r0, r1, r2, cv); 394 TESTCARRYEND 395 396 printf("ASRS\n"); 397 TESTCARRY 398 TESTINST3("asrs r0, r1, r2", 0xffffffff, 0, r0, r1, r2, cv); 399 TESTINST3("asrs r0, r1, r2", 0xffffffff, 1, r0, r1, r2, cv); 400 TESTINST3("asrs r0, r1, r2", 0xffffffff, 2, r0, r1, r2, cv); 401 TESTINST3("asrs r0, r1, r2", 0xffffffff, 31, r0, r1, r2, cv); 402 TESTINST3("asrs r0, r1, r2", 0xffffffff, 32, r0, r1, r2, cv); 403 TESTINST3("asrs r0, r1, r2", 0xffffffff, 33, r0, r1, r2, cv); 404 TESTINST3("asrs r0, r1, r2", 0xffffffff, 63, r0, r1, r2, cv); 405 TESTINST3("asrs r0, r1, r2", 0xffffffff, 64, r0, r1, r2, cv); 406 TESTINST3("asrs r0, r1, r2", 0xffffffff, 255, r0, r1, r2, cv); 407 TESTINST3("asrs r0, r1, r2", 0xffffffff, 256, r0, r1, r2, cv); 408 TESTINST3("asrs r0, r1, r2", 0x7fffffff, 0, r0, r1, r2, cv); 409 TESTINST3("asrs r0, r1, r2", 0x7fffffff, 1, r0, r1, r2, cv); 410 TESTINST3("asrs r0, r1, r2", 0x7fffffff, 2, r0, r1, r2, cv); 411 TESTINST3("asrs r0, r1, r2", 0x7fffffff, 31, r0, r1, r2, cv); 412 TESTINST3("asrs r0, r1, r2", 0x7fffffff, 32, r0, r1, r2, cv); 413 TESTINST3("asrs r0, r1, r2", 0x7fffffff, 33, r0, r1, r2, cv); 414 TESTINST3("asrs r0, r1, r2", 0x7fffffff, 63, r0, r1, r2, cv); 415 TESTINST3("asrs r0, r1, r2", 0x7fffffff, 64, r0, r1, r2, cv); 416 TESTINST3("asrs r0, r1, r2", 0x7fffffff, 255, r0, r1, r2, cv); 417 TESTINST3("asrs r0, r1, r2", 0x7fffffff, 256, r0, r1, r2, cv); 418 TESTCARRYEND 419 420 TESTCARRY 421 TESTINST3("asrs r0, r1, r2", 0x8, 0, r0, r1, r2, cv); 422 TESTINST3("asrs r0, r1, r2", 0x8, 1, r0, r1, r2, cv); 423 TESTINST3("asrs r0, r1, r2", 0x8, 2, r0, r1, r2, cv); 424 TESTINST3("asrs r0, r1, r2", 0x8, 3, r0, r1, r2, cv); 425 TESTINST3("asrs r0, r1, r2", 0x8, 4, r0, r1, r2, cv); 426 TESTINST3("asrs r0, r1, r2", 0x8, 5, r0, r1, r2, cv); 427 TESTCARRYEND 428 429 TESTINST3("asrs r0, r1, r2", 0x80000001, 1, r0, r1, r2, 0); 430 TESTINST3("asrs r0, r1, r2", 0x80000001, 2, r0, r1, r2, 0); 431 432 printf("ASR immediate\n"); 433 TESTINST2("asr r0, r1, #0", 0xffffffff, r0, r1, 0); 434 TESTINST2("asr r0, r1, #1", 0xffffffff, r0, r1, 0); 435 TESTINST2("asr r0, r1, #31", 0xffffffff, r0, r1, 0); 436 TESTINST2("asr r0, r1, #32", 0xffffffff, r0, r1, 0); 437 TESTINST2("asr r0, r1, #0", 0x7fffffff, r0, r1, 0); 438 TESTINST2("asr r0, r1, #1", 0x7fffffff, r0, r1, 0); 439 TESTINST2("asr r0, r1, #31", 0x7fffffff, r0, r1, 0); 440 TESTINST2("asr r0, r1, #32", 0x7fffffff, r0, r1, 0); 441 TESTINST2("asr r0, r1, #16", 0x00010000, r0, r1, 0); 442 TESTINST2("asr r0, r1, #17", 0x00010000, r0, r1, 0); 443 TESTINST2("asr r0, r1, #18", 0x00010000, r0, r1, 0); 444 445 printf("ASRS immediate\n"); 446 TESTCARRY 447 TESTINST2("asrs r0, r1, #0", 0xffffffff, r0, r1, cv); 448 TESTINST2("asrs r0, r1, #1", 0xffffffff, r0, r1, cv); 449 TESTINST2("asrs r0, r1, #31", 0xffffffff, r0, r1, cv); 450 TESTINST2("asrs r0, r1, #32", 0xffffffff, r0, r1, cv); 451 TESTINST2("asrs r0, r1, #0", 0x7fffffff, r0, r1, cv); 452 TESTINST2("asrs r0, r1, #1", 0x7fffffff, r0, r1, cv); 453 TESTINST2("asrs r0, r1, #31", 0x7fffffff, r0, r1, cv); 454 TESTINST2("asrs r0, r1, #32", 0x7fffffff, r0, r1, cv); 455 TESTINST2("asrs r0, r1, #16", 0x00010000, r0, r1, cv); 456 TESTINST2("asrs r0, r1, #17", 0x00010000, r0, r1, cv); 457 TESTINST2("asrs r0, r1, #18", 0x00010000, r0, r1, cv); 458 TESTCARRYEND 459 460#if 0 461 printf("ROR\n"); 462 TESTCARRY 463 TESTINST3("ror r0, r1, r2", 0x00088000, 0, r0, r1, r2, cv); 464 TESTINST3("ror r0, r1, r2", 0x80088000, 1, r0, r1, r2, cv); 465 TESTINST3("ror r0, r1, r2", 0x00088000, 1, r0, r1, r2, cv); 466 TESTINST3("ror r0, r1, r2", 0x00088000, 2, r0, r1, r2, cv); 467 TESTINST3("ror r0, r1, r2", 0x00088000, 31, r0, r1, r2, cv); 468 TESTINST3("ror r0, r1, r2", 0x00088000, 32, r0, r1, r2, cv); 469 TESTINST3("ror r0, r1, r2", 0x00088000, 33, r0, r1, r2, cv); 470 TESTINST3("ror r0, r1, r2", 0x00088000, 63, r0, r1, r2, cv); 471 TESTINST3("ror r0, r1, r2", 0x00088000, 64, r0, r1, r2, cv); 472 TESTINST3("ror r0, r1, r2", 0x00088000, 255, r0, r1, r2, cv); 473 TESTINST3("ror r0, r1, r2", 0x00088000, 256, r0, r1, r2, cv); 474 TESTINST3("ror r0, r1, r2", 0x80088000, 256, r0, r1, r2, cv); 475 TESTINST3("ror r0, r1, r2", 0x00088000, 257, r0, r1, r2, cv); 476 TESTCARRYEND 477 478 printf("RORS\n"); 479 TESTCARRY 480 TESTINST3("rors r0, r1, r2", 0x00088000, 0, r0, r1, r2, cv); 481 TESTINST3("rors r0, r1, r2", 0x80088000, 0, r0, r1, r2, cv); 482 TESTINST3("rors r0, r1, r2", 0x00088000, 1, r0, r1, r2, cv); 483 TESTINST3("rors r0, r1, r2", 0x00088000, 2, r0, r1, r2, cv); 484 TESTINST3("rors r0, r1, r2", 0x00088000, 31, r0, r1, r2, cv); 485 TESTINST3("rors r0, r1, r2", 0x00088000, 32, r0, r1, r2, cv); 486 TESTINST3("rors r0, r1, r2", 0x00088000, 33, r0, r1, r2, cv); 487 TESTINST3("rors r0, r1, r2", 0x00088000, 63, r0, r1, r2, cv); 488 TESTINST3("rors r0, r1, r2", 0x00088000, 64, r0, r1, r2, cv); 489 TESTINST3("rors r0, r1, r2", 0x00088000, 255, r0, r1, r2, cv); 490 TESTINST3("rors r0, r1, r2", 0x00088000, 256, r0, r1, r2, cv); 491 TESTINST3("rors r0, r1, r2", 0x80088000, 256, r0, r1, r2, cv); 492 TESTINST3("rors r0, r1, r2", 0x00088000, 257, r0, r1, r2, cv); 493 TESTCARRYEND 494 495 printf("ROR immediate\n"); 496 TESTCARRY 497 TESTINST2("ror r0, r1, #0", 0x00088000, r0, r1, cv); 498 TESTINST2("ror r0, r1, #1", 0x00088000, r0, r1, cv); 499 TESTINST2("ror r0, r1, #31", 0x00088000, r0, r1, cv); 500 TESTINST2("ror r0, r1, #16", 0x00010000, r0, r1, cv); 501 TESTINST2("ror r0, r1, #17", 0x00010000, r0, r1, cv); 502 TESTINST2("ror r0, r1, #18", 0x00010000, r0, r1, cv); 503 TESTCARRYEND 504 505 printf("RORS immediate\n"); 506 TESTCARRY 507 TESTINST2("rors r0, r1, #0", 0x00088000, r0, r1, cv); 508 TESTINST2("rors r0, r1, #1", 0x00088000, r0, r1, cv); 509 TESTINST2("rors r0, r1, #31", 0x00088000, r0, r1, cv); 510 TESTINST2("rors r0, r1, #16", 0x00010000, r0, r1, cv); 511 TESTINST2("rors r0, r1, #17", 0x00010000, r0, r1, cv); 512 TESTINST2("rors r0, r1, #18", 0x00010000, r0, r1, cv); 513 TESTCARRYEND 514#endif 515#if 0 516 printf("shift with barrel shifter\n"); 517 TESTCARRY 518 TESTINST4("add r0, r1, r2, lsl r3", 0, 0xffffffff, 0, r0, r1, r2, r3, cv); 519 TESTINST4("add r0, r1, r2, lsl r3", 0, 0xffffffff, 1, r0, r1, r2, r3, cv); 520 TESTINST4("add r0, r1, r2, lsl r3", 0, 0xffffffff, 31, r0, r1, r2, r3, cv); 521 TESTINST4("add r0, r1, r2, lsl r3", 0, 0xffffffff, 32, r0, r1, r2, r3, cv); 522 TESTINST4("add r0, r1, r2, lsl r3", 0, 0xffffffff, 255, r0, r1, r2, r3, cv); 523 TESTINST4("add r0, r1, r2, lsl r3", 0, 0xffffffff, 256, r0, r1, r2, r3, cv); 524 TESTINST4("add r0, r1, r2, lsr r3", 0, 0xffffffff, 0, r0, r1, r2, r3, cv); 525 TESTINST4("add r0, r1, r2, lsr r3", 0, 0xffffffff, 1, r0, r1, r2, r3, cv); 526 TESTINST4("add r0, r1, r2, lsr r3", 0, 0xffffffff, 31, r0, r1, r2, r3, cv); 527 TESTINST4("add r0, r1, r2, lsr r3", 0, 0xffffffff, 32, r0, r1, r2, r3, cv); 528 TESTINST4("add r0, r1, r2, lsr r3", 0, 0xffffffff, 255, r0, r1, r2, r3, cv); 529 TESTINST4("add r0, r1, r2, lsr r3", 0, 0xffffffff, 256, r0, r1, r2, r3, cv); 530 TESTINST4("add r0, r1, r2, asr r3", 0, 0x7fffffff, 0, r0, r1, r2, r3, cv); 531 TESTINST4("add r0, r1, r2, asr r3", 0, 0x7fffffff, 1, r0, r1, r2, r3, cv); 532 TESTINST4("add r0, r1, r2, asr r3", 0, 0x7fffffff, 31, r0, r1, r2, r3, cv); 533 TESTINST4("add r0, r1, r2, asr r3", 0, 0x7fffffff, 32, r0, r1, r2, r3, cv); 534 TESTINST4("add r0, r1, r2, asr r3", 0, 0x7fffffff, 255, r0, r1, r2, r3, cv); 535 TESTINST4("add r0, r1, r2, asr r3", 0, 0x7fffffff, 256, r0, r1, r2, r3, cv); 536 TESTINST4("add r0, r1, r2, lsr r3", 0, 0xffffffff, 256, r0, r1, r2, r3, cv); 537 TESTCARRYEND 538 539 TESTCARRY 540 TESTINST4("add r0, r1, r2, asr r3", 0, 0x8, 0, r0, r1, r2, r3, cv); 541 TESTINST4("add r0, r1, r2, asr r3", 0, 0x8, 1, r0, r1, r2, r3, cv); 542 TESTINST4("add r0, r1, r2, asr r3", 0, 0x8, 2, r0, r1, r2, r3, cv); 543 TESTINST4("add r0, r1, r2, asr r3", 0, 0x8, 3, r0, r1, r2, r3, cv); 544 TESTINST4("add r0, r1, r2, asr r3", 0, 0x8, 4, r0, r1, r2, r3, cv); 545 TESTINST4("add r0, r1, r2, asr r3", 0, 0x8, 5, r0, r1, r2, r3, cv); 546 TESTCARRYEND 547 548 TESTCARRY 549 TESTINST4("add r0, r1, r2, ror r3", 0, 0x00088000, 0, r0, r1, r2, r3, cv); 550 TESTINST4("add r0, r1, r2, ror r3", 0, 0x80088000, 0, r0, r1, r2, r3, cv); 551 TESTINST4("add r0, r1, r2, ror r3", 0, 0x00088000, 1, r0, r1, r2, r3, cv); 552 TESTINST4("add r0, r1, r2, ror r3", 0, 0x00088000, 31, r0, r1, r2, r3, cv); 553 TESTINST4("add r0, r1, r2, ror r3", 0, 0x00088000, 32, r0, r1, r2, r3, cv); 554 TESTINST4("add r0, r1, r2, ror r3", 0, 0x00088000, 255, r0, r1, r2, r3, cv); 555 TESTINST4("add r0, r1, r2, ror r3", 0, 0x00088000, 256, r0, r1, r2, r3, cv); 556 TESTINST4("add r0, r1, r2, ror r3", 0, 0x80088000, 256, r0, r1, r2, r3, cv); 557 TESTINST4("add r0, r1, r2, ror r3", 0, 0x00088000, 257, r0, r1, r2, r3, cv); 558 TESTCARRYEND 559#endif 560#if 0 561 TESTCARRY 562 TESTINST4("adds r0, r1, r2, lsl r3", 0, 0xffffffff, 0, r0, r1, r2, r3, cv); 563 TESTINST4("adds r0, r1, r2, lsl r3", 0, 0xffffffff, 1, r0, r1, r2, r3, cv); 564 TESTINST4("adds r0, r1, r2, lsl r3", 0, 0xffffffff, 31, r0, r1, r2, r3, cv); 565 TESTINST4("adds r0, r1, r2, lsl r3", 0, 0xffffffff, 32, r0, r1, r2, r3, cv); 566 TESTINST4("adds r0, r1, r2, lsl r3", 0, 0xffffffff, 255, r0, r1, r2, r3, cv); 567 TESTINST4("adds r0, r1, r2, lsl r3", 0, 0xffffffff, 256, r0, r1, r2, r3, cv); 568 TESTINST4("adds r0, r1, r2, lsr r3", 0, 0xffffffff, 0, r0, r1, r2, r3, cv); 569 TESTINST4("adds r0, r1, r2, lsr r3", 0, 0xffffffff, 1, r0, r1, r2, r3, cv); 570 TESTINST4("adds r0, r1, r2, lsr r3", 0, 0xffffffff, 31, r0, r1, r2, r3, cv); 571 TESTINST4("adds r0, r1, r2, lsr r3", 0, 0xffffffff, 32, r0, r1, r2, r3, cv); 572 TESTINST4("adds r0, r1, r2, lsr r3", 0, 0xffffffff, 255, r0, r1, r2, r3, cv); 573 TESTINST4("adds r0, r1, r2, lsr r3", 0, 0xffffffff, 256, r0, r1, r2, r3, cv); 574 575 TESTINST4("adds r0, r1, r2, ror r3", 0, 0x00088000, 0, r0, r1, r2, r3, cv); 576 TESTINST4("adds r0, r1, r2, ror r3", 0, 0x80088000, 0, r0, r1, r2, r3, cv); 577 TESTINST4("adds r0, r1, r2, ror r3", 0, 0x00088000, 1, r0, r1, r2, r3, cv); 578 TESTINST4("adds r0, r1, r2, ror r3", 0, 0x00088000, 31, r0, r1, r2, r3, cv); 579 TESTINST4("adds r0, r1, r2, ror r3", 0, 0x00088000, 32, r0, r1, r2, r3, cv); 580 TESTINST4("adds r0, r1, r2, ror r3", 0, 0x00088000, 255, r0, r1, r2, r3, cv); 581 TESTINST4("adds r0, r1, r2, ror r3", 0, 0x00088000, 256, r0, r1, r2, r3, cv); 582 TESTINST4("adds r0, r1, r2, ror r3", 0, 0x80088000, 256, r0, r1, r2, r3, cv); 583 TESTINST4("adds r0, r1, r2, ror r3", 0, 0x00088000, 257, r0, r1, r2, r3, cv); 584 TESTCARRYEND 585#endif 586 587#if 0 588 TESTCARRY 589 TESTINST4("adcs r0, r1, r2, lsl r3", 0, 0xffffffff, 0, r0, r1, r2, r3, cv); 590 TESTINST4("adcs r0, r1, r2, lsr r3", 0, 0xffffffff, 0, r0, r1, r2, r3, cv); 591 TESTINST4("adcs r0, r1, r2, lsl r3", 0, 0xffffffff, 1, r0, r1, r2, r3, cv); 592 TESTINST4("adcs r0, r1, r2, lsr r3", 0, 0xffffffff, 1, r0, r1, r2, r3, cv); 593 TESTCARRYEND 594#endif 595 596 printf("MUL\n"); 597 TESTINST3("mul r0, r1, r2", 0, 0, r0, r1, r2, 0); 598 TESTINST3("mul r0, r1, r2", 0xffffffff, 0, r0, r1, r2, 0); 599 TESTINST3("mul r0, r1, r2", 0, 0xffffffff, r0, r1, r2, 0); 600 TESTINST3("mul r0, r1, r2", 0xffffffff, 0xffffffff, r0, r1, r2, 0); 601 TESTINST3("mul r0, r1, r2", 0x7fffffff, 0x7fffffff, r0, r1, r2, 0); 602 TESTINST3("mul r0, r1, r2", 0x0000ffff, 0x0000ffff, r0, r1, r2, 0); 603 604#if 0 605 printf("MULS\n"); 606 TESTINST3("muls r0, r1, r2", 0, 0, r0, r1, r2, 0); 607 TESTINST3("muls r0, r1, r2", 0xffffffff, 0, r0, r1, r2, 0); 608 TESTINST3("muls r0, r1, r2", 0, 0xffffffff, r0, r1, r2, 0); 609 TESTINST3("muls r0, r1, r2", 0xffffffff, 0xffffffff, r0, r1, r2, 0); 610 TESTINST3("muls r0, r1, r2", 0x7fffffff, 0x7fffffff, r0, r1, r2, 0); 611 TESTINST3("muls r0, r1, r2", 0x0000ffff, 0x0000ffff, r0, r1, r2, 0); 612#endif 613 614 printf("MLA\n"); 615 TESTINST4("mla r0, r1, r2, r3", 0, 0, 1, r0, r1, r2, r3, 0); 616 TESTINST4("mla r0, r1, r2, r3", 0xffffffff, 0, 1, r0, r1, r2, r3, 0); 617 TESTINST4("mla r0, r1, r2, r3", 0, 0xffffffff, 1, r0, r1, r2, r3, 0); 618 TESTINST4("mla r0, r1, r2, r3", 0xffffffff, 0xffffffff, 1, r0, r1, r2, r3, 0); 619 TESTINST4("mla r0, r1, r2, r3", 0x7fffffff, 0x7fffffff, 1, r0, r1, r2, r3, 0); 620 TESTINST4("mla r0, r1, r2, r3", 0x0000ffff, 0x0000ffff, 1, r0, r1, r2, r3, 0); 621 622#if 0 623 printf("MLAS\n"); 624 TESTINST4("mlas r0, r1, r2, r3", 0, 0, 1, r0, r1, r2, r3, 0); 625 TESTINST4("mlas r0, r1, r2, r3", 0xffffffff, 0, 1, r0, r1, r2, r3, 0); 626 TESTINST4("mlas r0, r1, r2, r3", 0, 0xffffffff, 1, r0, r1, r2, r3, 0); 627 TESTINST4("mlas r0, r1, r2, r3", 0xffffffff, 0xffffffff, 1, r0, r1, r2, r3, 0); 628 TESTINST4("mlas r0, r1, r2, r3", 0x7fffffff, 0x7fffffff, 1, r0, r1, r2, r3, 0); 629 TESTINST4("mlas r0, r1, r2, r3", 0x0000ffff, 0x0000ffff, 1, r0, r1, r2, r3, 0); 630#endif 631 632 printf("MLS\n"); 633 TESTINST4("mls r0, r1, r2, r3", 0, 0, 1, r0, r1, r2, r3, 0); 634 TESTINST4("mls r0, r1, r2, r3", 0xffffffff, 0, 1, r0, r1, r2, r3, 0); 635 TESTINST4("mls r0, r1, r2, r3", 0, 0xffffffff, 1, r0, r1, r2, r3, 0); 636 TESTINST4("mls r0, r1, r2, r3", 0xffffffff, 0xffffffff, 1, r0, r1, r2, r3, 0); 637 TESTINST4("mls r0, r1, r2, r3", 0x7fffffff, 0x7fffffff, 1, r0, r1, r2, r3, 0); 638 TESTINST4("mls r0, r1, r2, r3", 0x0000ffff, 0x0000ffff, 1, r0, r1, r2, r3, 0); 639 640 printf("UMULL\n"); 641 TESTINST4_2OUT("umull r0, r1, r2, r3", 0, 0, 0, 0, r0, r1, r2, r3, 0); 642 TESTINST4_2OUT("umull r0, r1, r2, r3", 0, 0, 0, 1, r0, r1, r2, r3, 0); 643 TESTINST4_2OUT("umull r0, r1, r2, r3", 0, 0, 1, 0, r0, r1, r2, r3, 0); 644 TESTINST4_2OUT("umull r0, r1, r2, r3", 0, 0, 1, 1, r0, r1, r2, r3, 0); 645 TESTINST4_2OUT("umull r0, r1, r2, r3", 0, 0, 0xffff, 0xffff, r0, r1, r2, r3, 0); 646 TESTINST4_2OUT("umull r0, r1, r2, r3", 0, 0, 0xffffffff, 0xffffffff, r0, r1, r2, r3, 0); 647#if 0 648 TESTINST4_2OUT("umulls r0, r1, r2, r3", 0, 0, 0, 0, r0, r1, r2, r3, 0); 649 TESTINST4_2OUT("umulls r0, r1, r2, r3", 0, 0, 0, 1, r0, r1, r2, r3, 0); 650 TESTINST4_2OUT("umulls r0, r1, r2, r3", 0, 0, 1, 0, r0, r1, r2, r3, 0); 651 TESTINST4_2OUT("umulls r0, r1, r2, r3", 0, 0, 1, 1, r0, r1, r2, r3, 0); 652 TESTINST4_2OUT("umulls r0, r1, r2, r3", 0, 0, 0xffff, 0xffff, r0, r1, r2, r3, 0); 653 TESTINST4_2OUT("umulls r0, r1, r2, r3", 0, 0, 0xffffffff, 0xffffffff, r0, r1, r2, r3, 0); 654#endif 655 printf("SMULL\n"); 656 TESTINST4_2OUT("smull r0, r1, r2, r3", 0, 0, 0, 0, r0, r1, r2, r3, 0); 657 TESTINST4_2OUT("smull r0, r1, r2, r3", 0, 0, 0, 1, r0, r1, r2, r3, 0); 658 TESTINST4_2OUT("smull r0, r1, r2, r3", 0, 0, 1, 0, r0, r1, r2, r3, 0); 659 TESTINST4_2OUT("smull r0, r1, r2, r3", 0, 0, 1, 1, r0, r1, r2, r3, 0); 660 TESTINST4_2OUT("smull r0, r1, r2, r3", 0, 0, 0xffff, 0xffff, r0, r1, r2, r3, 0); 661 TESTINST4_2OUT("smull r0, r1, r2, r3", 0, 0, 0xffffffff, 0xffffffff, r0, r1, r2, r3, 0); 662#if 0 663 TESTINST4_2OUT("smulls r0, r1, r2, r3", 0, 0, 0, 0, r0, r1, r2, r3, 0); 664 TESTINST4_2OUT("smulls r0, r1, r2, r3", 0, 0, 0, 1, r0, r1, r2, r3, 0); 665 TESTINST4_2OUT("smulls r0, r1, r2, r3", 0, 0, 1, 0, r0, r1, r2, r3, 0); 666 TESTINST4_2OUT("smulls r0, r1, r2, r3", 0, 0, 1, 1, r0, r1, r2, r3, 0); 667 TESTINST4_2OUT("smulls r0, r1, r2, r3", 0, 0, 0xffff, 0xffff, r0, r1, r2, r3, 0); 668 TESTINST4_2OUT("smulls r0, r1, r2, r3", 0, 0, 0xffffffff, 0xffffffff, r0, r1, r2, r3, 0); 669#endif 670 671#if 0 672 printf("UMLAL\n"); 673 TESTINST4_2OUT("umlal r0, r1, r2, r3", 0, 0, 0, 0, r0, r1, r2, r3, 0); 674 TESTINST4_2OUT("umlal r0, r1, r2, r3", 0, 1, 0, 0, r0, r1, r2, r3, 0); 675 TESTINST4_2OUT("umlal r0, r1, r2, r3", 1, 1, 0, 0, r0, r1, r2, r3, 0); 676 TESTINST4_2OUT("umlal r0, r1, r2, r3", 0, 0xffffffff, 1, 1, r0, r1, r2, r3, 0); 677 TESTINST4_2OUT("umlal r0, r1, r2, r3", 0, 0, 0, 1, r0, r1, r2, r3, 0); 678 TESTINST4_2OUT("umlal r0, r1, r2, r3", 0, 0, 1, 0, r0, r1, r2, r3, 0); 679 TESTINST4_2OUT("umlal r0, r1, r2, r3", 0, 0, 1, 1, r0, r1, r2, r3, 0); 680 TESTINST4_2OUT("umlal r0, r1, r2, r3", 0, 0, 0xffff, 0xffff, r0, r1, r2, r3, 0); 681 TESTINST4_2OUT("umlal r0, r1, r2, r3", 0, 0, 0xffffffff, 0xffffffff, r0, r1, r2, r3, 0); 682#endif 683#if 0 684 TESTINST4_2OUT("umlals r0, r1, r2, r3", 0, 0, 0, 0, r0, r1, r2, r3, 0); 685 TESTINST4_2OUT("umlals r0, r1, r2, r3", 0, 1, 0, 0, r0, r1, r2, r3, 0); 686 TESTINST4_2OUT("umlals r0, r1, r2, r3", 1, 1, 0, 0, r0, r1, r2, r3, 0); 687 TESTINST4_2OUT("umlals r0, r1, r2, r3", 0, 0xffffffff, 1, 1, r0, r1, r2, r3, 0); 688 TESTINST4_2OUT("umlals r0, r1, r2, r3", 0, 0, 0, 1, r0, r1, r2, r3, 0); 689 TESTINST4_2OUT("umlals r0, r1, r2, r3", 0, 0, 1, 0, r0, r1, r2, r3, 0); 690 TESTINST4_2OUT("umlals r0, r1, r2, r3", 0, 0, 1, 1, r0, r1, r2, r3, 0); 691 TESTINST4_2OUT("umlals r0, r1, r2, r3", 0, 0, 0xffff, 0xffff, r0, r1, r2, r3, 0); 692 TESTINST4_2OUT("umlals r0, r1, r2, r3", 0, 0, 0xffffffff, 0xffffffff, r0, r1, r2, r3, 0); 693#endif 694#if 0 695 printf("SMLAL\n"); 696 TESTINST4_2OUT("smlal r0, r1, r2, r3", 0, 0, 0, 0, r0, r1, r2, r3, 0); 697 TESTINST4_2OUT("smlal r0, r1, r2, r3", 0, 1, 0, 0, r0, r1, r2, r3, 0); 698 TESTINST4_2OUT("smlal r0, r1, r2, r3", 1, 1, 0, 0, r0, r1, r2, r3, 0); 699 TESTINST4_2OUT("smlal r0, r1, r2, r3", 0, 0xffffffff, 1, 1, r0, r1, r2, r3, 0); 700 TESTINST4_2OUT("smlal r0, r1, r2, r3", 0, 0, 0, 1, r0, r1, r2, r3, 0); 701 TESTINST4_2OUT("smlal r0, r1, r2, r3", 0, 0, 1, 0, r0, r1, r2, r3, 0); 702 TESTINST4_2OUT("smlal r0, r1, r2, r3", 0, 0, 1, 1, r0, r1, r2, r3, 0); 703 TESTINST4_2OUT("smlal r0, r1, r2, r3", 0, 0, 0xffff, 0xffff, r0, r1, r2, r3, 0); 704 TESTINST4_2OUT("smlal r0, r1, r2, r3", 0, 0, 0xffffffff, 0xffffffff, r0, r1, r2, r3, 0); 705#endif 706#if 0 707 TESTINST4_2OUT("smlals r0, r1, r2, r3", 0, 0, 0, 0, r0, r1, r2, r3, 0); 708 TESTINST4_2OUT("smlals r0, r1, r2, r3", 0, 1, 0, 0, r0, r1, r2, r3, 0); 709 TESTINST4_2OUT("smlals r0, r1, r2, r3", 1, 1, 0, 0, r0, r1, r2, r3, 0); 710 TESTINST4_2OUT("smlals r0, r1, r2, r3", 0, 0xffffffff, 1, 1, r0, r1, r2, r3, 0); 711 TESTINST4_2OUT("smlals r0, r1, r2, r3", 0, 0, 0, 1, r0, r1, r2, r3, 0); 712 TESTINST4_2OUT("smlals r0, r1, r2, r3", 0, 0, 1, 0, r0, r1, r2, r3, 0); 713 TESTINST4_2OUT("smlals r0, r1, r2, r3", 0, 0, 1, 1, r0, r1, r2, r3, 0); 714 TESTINST4_2OUT("smlals r0, r1, r2, r3", 0, 0, 0xffff, 0xffff, r0, r1, r2, r3, 0); 715 TESTINST4_2OUT("smlals r0, r1, r2, r3", 0, 0, 0xffffffff, 0xffffffff, r0, r1, r2, r3, 0); 716#endif 717 printf("CLZ\n"); 718 TESTCARRY 719 TESTINST2("clz r0, r1", 0, r0, r1, cv); 720 TESTINST2("clz r0, r1", 1, r0, r1, cv); 721 TESTINST2("clz r0, r1", 0x10, r0, r1, cv); 722 TESTINST2("clz r0, r1", 0xffffffff, r0, r1, cv); 723 TESTCARRYEND 724 725 printf("extend instructions\n"); 726 TESTINST2("uxtb r0, r1", 0, r0, r1, 0); 727 TESTINST2("uxtb r0, r1", 1, r0, r1, 0); 728 TESTINST2("uxtb r0, r1", 0xff, r0, r1, 0); 729 TESTINST2("uxtb r0, r1", 0xffffffff, r0, r1, 0); 730 TESTINST2("sxtb r0, r1", 0, r0, r1, 0); 731 TESTINST2("sxtb r0, r1", 1, r0, r1, 0); 732 TESTINST2("sxtb r0, r1", 0xff, r0, r1, 0); 733 TESTINST2("sxtb r0, r1", 0xffffffff, r0, r1, 0); 734 735 TESTINST2("uxth r0, r1", 0, r0, r1, 0); 736 TESTINST2("uxth r0, r1", 1, r0, r1, 0); 737 TESTINST2("uxth r0, r1", 0xffff, r0, r1, 0); 738 TESTINST2("uxth r0, r1", 0xffffffff, r0, r1, 0); 739 TESTINST2("sxth r0, r1", 0, r0, r1, 0); 740 TESTINST2("sxth r0, r1", 1, r0, r1, 0); 741 TESTINST2("sxth r0, r1", 0x7fff, r0, r1, 0); 742 TESTINST2("sxth r0, r1", 0xffff, r0, r1, 0); 743 TESTINST2("sxth r0, r1", 0x10ffff, r0, r1, 0); 744 TESTINST2("sxth r0, r1", 0x107fff, r0, r1, 0); 745 TESTINST2("sxth r0, r1", 0xffffffff, r0, r1, 0); 746 747 TESTINST2("uxtb r0, r1, ror #0", 0x000000ff, r0, r1, 0); 748 TESTINST2("uxtb r0, r1, ror #8", 0x000000ff, r0, r1, 0); 749 TESTINST2("uxtb r0, r1, ror #8", 0x0000ff00, r0, r1, 0); 750 TESTINST2("uxtb r0, r1, ror #16", 0x00ff0000, r0, r1, 0); 751 TESTINST2("uxtb r0, r1, ror #24", 0xff000000, r0, r1, 0); 752#if 0 753 TESTINST2("uxtb16 r0, r1", 0xffffffff, r0, r1, 0); 754 TESTINST2("uxtb16 r0, r1, ror #16", 0x0000ffff, r0, r1, 0); 755 TESTINST2("sxtb16 r0, r1", 0xffffffff, r0, r1, 0); 756 TESTINST2("sxtb16 r0, r1", 0x00ff00ff, r0, r1, 0); 757 TESTINST2("sxtb16 r0, r1", 0x007f007f, r0, r1, 0); 758#endif 759 printf("------------ BFI ------------\n"); 760 761 /* bfi rDst, rSrc, #lsb-in-dst, #number-of-bits-to-copy */ 762 TESTINST2("bfi r0, r1, #0, #11", 0xAAAAAAAA, r0, r1, 0); 763 TESTINST2("bfi r0, r1, #1, #11", 0xAAAAAAAA, r0, r1, 0); 764 TESTINST2("bfi r0, r1, #2, #11", 0xAAAAAAAA, r0, r1, 0); 765 766 TESTINST2("bfi r0, r1, #19, #11", 0xFFFFFFFF, r0, r1, 0); 767 TESTINST2("bfi r0, r1, #20, #11", 0xFFFFFFFF, r0, r1, 0); 768 TESTINST2("bfi r0, r1, #21, #11", 0xFFFFFFFF, r0, r1, 0); 769 770 TESTINST2("bfi r0, r1, #0, #32", 0xFFFFFFFF, r0, r1, 0); 771 TESTINST2("bfi r0, r1, #1, #31", 0xFFFFFFFF, r0, r1, 0); 772 773 TESTINST2("bfi r0, r1, #29, #3", 0xFFFFFFFF, r0, r1, 0); 774 TESTINST2("bfi r0, r1, #30, #2", 0xFFFFFFFF, r0, r1, 0); 775 TESTINST2("bfi r0, r1, #31, #1", 0xFFFFFFFF, r0, r1, 0); 776 777 printf("------------ BFC ------------\n"); 778 779 /* bfi rDst, #lsb-in-dst, #number-of-bits-to-copy */ 780 TESTINST2("bfc r0, #0, #11", 0xAAAAAAAA, r0, r1, 0); 781 TESTINST2("bfc r0, #1, #11", 0xAAAAAAAA, r0, r1, 0); 782 TESTINST2("bfc r0, #2, #11", 0xAAAAAAAA, r0, r1, 0); 783 784 TESTINST2("bfc r0, #19, #11", 0xFFFFFFFF, r0, r1, 0); 785 TESTINST2("bfc r0, #20, #11", 0xFFFFFFFF, r0, r1, 0); 786 TESTINST2("bfc r0, #21, #11", 0xFFFFFFFF, r0, r1, 0); 787 788 TESTINST2("bfc r0, #0, #32", 0xFFFFFFFF, r0, r1, 0); 789 TESTINST2("bfc r0, #1, #31", 0xFFFFFFFF, r0, r1, 0); 790 791 TESTINST2("bfc r0, #29, #3", 0xFFFFFFFF, r0, r1, 0); 792 TESTINST2("bfc r0, #30, #2", 0xFFFFFFFF, r0, r1, 0); 793 TESTINST2("bfc r0, #31, #1", 0xFFFFFFFF, r0, r1, 0); 794 795 printf("------------ SBFX ------------\n"); 796 797 /* sbfx rDst, rSrc, #lsb, #width */ 798 TESTINST2("sbfx r0, r1, #0, #1", 0x00000000, r0, r1, 0); 799 TESTINST2("sbfx r0, r1, #0, #1", 0x00000001, r0, r1, 0); 800 TESTINST2("sbfx r0, r1, #1, #1", 0x00000000, r0, r1, 0); 801 TESTINST2("sbfx r0, r1, #1, #1", 0x00000001, r0, r1, 0); 802 TESTINST2("sbfx r0, r1, #1, #1", 0x00000002, r0, r1, 0); 803 TESTINST2("sbfx r0, r1, #1, #1", 0x00000003, r0, r1, 0); 804 805 TESTINST2("sbfx r0, r1, #0, #2", 0x00000000, r0, r1, 0); 806 TESTINST2("sbfx r0, r1, #0, #2", 0x00000001, r0, r1, 0); 807 TESTINST2("sbfx r0, r1, #1, #2", 0x00000000, r0, r1, 0); 808 TESTINST2("sbfx r0, r1, #1, #2", 0x00000001, r0, r1, 0); 809 TESTINST2("sbfx r0, r1, #1, #2", 0x00000002, r0, r1, 0); 810 TESTINST2("sbfx r0, r1, #1, #2", 0x00000003, r0, r1, 0); 811 812 TESTINST2("sbfx r0, r1, #0, #11", 0xAAAAAAAA, r0, r1, 0); 813 TESTINST2("sbfx r0, r1, #1, #11", 0xAAAAAAAA, r0, r1, 0); 814 TESTINST2("sbfx r0, r1, #2, #11", 0xAAAAAAAA, r0, r1, 0); 815 816 TESTINST2("sbfx r0, r1, #2, #11", 0xAAAAAAAA, r0, r1, 0); 817 818 TESTINST2("sbfx r0, r1, #31, #1", 0xAAAAAAAA, r0, r1, 0); 819 TESTINST2("sbfx r0, r1, #30, #2", 0xAAAAAAAA, r0, r1, 0); 820 821 printf("------------ UBFX ------------\n"); 822 823 /* ubfx rDst, rSrc, #lsb, #width */ 824 TESTINST2("ubfx r0, r1, #0, #1", 0x00000000, r0, r1, 0); 825 TESTINST2("ubfx r0, r1, #0, #1", 0x00000001, r0, r1, 0); 826 TESTINST2("ubfx r0, r1, #1, #1", 0x00000000, r0, r1, 0); 827 TESTINST2("ubfx r0, r1, #1, #1", 0x00000001, r0, r1, 0); 828 TESTINST2("ubfx r0, r1, #1, #1", 0x00000002, r0, r1, 0); 829 TESTINST2("ubfx r0, r1, #1, #1", 0x00000003, r0, r1, 0); 830 831 TESTINST2("ubfx r0, r1, #0, #2", 0x00000000, r0, r1, 0); 832 TESTINST2("ubfx r0, r1, #0, #2", 0x00000001, r0, r1, 0); 833 TESTINST2("ubfx r0, r1, #1, #2", 0x00000000, r0, r1, 0); 834 TESTINST2("ubfx r0, r1, #1, #2", 0x00000001, r0, r1, 0); 835 TESTINST2("ubfx r0, r1, #1, #2", 0x00000002, r0, r1, 0); 836 TESTINST2("ubfx r0, r1, #1, #2", 0x00000003, r0, r1, 0); 837 838 TESTINST2("ubfx r0, r1, #0, #11", 0xAAAAAAAA, r0, r1, 0); 839 TESTINST2("ubfx r0, r1, #1, #11", 0xAAAAAAAA, r0, r1, 0); 840 TESTINST2("ubfx r0, r1, #2, #11", 0xAAAAAAAA, r0, r1, 0); 841 842 TESTINST2("ubfx r0, r1, #2, #11", 0xAAAAAAAA, r0, r1, 0); 843 844 TESTINST2("ubfx r0, r1, #31, #1", 0xAAAAAAAA, r0, r1, 0); 845 TESTINST2("ubfx r0, r1, #30, #2", 0xAAAAAAAA, r0, r1, 0); 846 847 printf("------------ SMULL{B,T}{B,T} ------------\n"); 848 /* SMULxx rD, rN, rM */ 849 850 TESTINST3("smulbb r0, r1, r2", 0x00030000, 0x00040000, r0, r1, r2, 0); 851 TESTINST3("smulbb r0, r1, r2", 0x00030001, 0x00040002, r0, r1, r2, 0); 852 TESTINST3("smulbb r0, r1, r2", 0x00038001, 0x00047fff, r0, r1, r2, 0); 853 TESTINST3("smulbb r0, r1, r2", 0x00037fff, 0x00047fff, r0, r1, r2, 0); 854 TESTINST3("smulbb r0, r1, r2", 0x0003ffff, 0x0004ffff, r0, r1, r2, 0); 855 856 printf("------------ SXTAB ------------\n"); 857 TESTINST3("sxtab r0, r1, r2, ROR #24", 0x31415927, 0x27182819, 858 r0, r1, r2, 0); 859 TESTINST3("sxtab r0, r1, r2, ROR #16", 0x31415927, 0x27182819, 860 r0, r1, r2, 0); 861 TESTINST3("sxtab r0, r1, r2, ROR #8", 0x31415927, 0x27182819, 862 r0, r1, r2, 0); 863 TESTINST3("sxtab r0, r1, r2, ROR #0", 0x31415927, 0x27182819, 864 r0, r1, r2, 0); 865 866 TESTINST3("sxtab r0, r1, r2, ROR #24", 0x31415927, 0x27182899, 867 r0, r1, r2, 0); 868 TESTINST3("sxtab r0, r1, r2, ROR #16", 0x31415927, 0x27182899, 869 r0, r1, r2, 0); 870 TESTINST3("sxtab r0, r1, r2, ROR #8", 0x31415927, 0x27182899, 871 r0, r1, r2, 0); 872 TESTINST3("sxtab r0, r1, r2, ROR #0", 0x31415927, 0x27182899, 873 r0, r1, r2, 0); 874#if 0 875 printf("------------ SXTAB16 ------------\n"); 876 TESTINST3("sxtab16 r0, r1, r2, ROR #24", 0x31415927, 0x27182819, 877 r0, r1, r2, 0); 878 TESTINST3("sxtab16 r0, r1, r2, ROR #16", 0x31415927, 0x27182819, 879 r0, r1, r2, 0); 880 TESTINST3("sxtab16 r0, r1, r2, ROR #8", 0x31415927, 0x27182819, 881 r0, r1, r2, 0); 882 TESTINST3("sxtab16 r0, r1, r2, ROR #0", 0x31415927, 0x27182819, 883 r0, r1, r2, 0); 884 885 TESTINST3("sxtab16 r0, r1, r2, ROR #24", 0x31415927, 0x27182899, 886 r0, r1, r2, 0); 887 TESTINST3("sxtab16 r0, r1, r2, ROR #16", 0x31415927, 0x27182899, 888 r0, r1, r2, 0); 889 TESTINST3("sxtab16 r0, r1, r2, ROR #8", 0x31415927, 0x27182899, 890 r0, r1, r2, 0); 891 TESTINST3("sxtab16 r0, r1, r2, ROR #0", 0x31415927, 0x27182899, 892 r0, r1, r2, 0); 893#endif 894 printf("------------ UXTAB ------------\n"); 895 TESTINST3("uxtab r0, r1, r2, ROR #24", 0x31415927, 0x27182819, 896 r0, r1, r2, 0); 897 TESTINST3("uxtab r0, r1, r2, ROR #16", 0x31415927, 0x27182819, 898 r0, r1, r2, 0); 899 TESTINST3("uxtab r0, r1, r2, ROR #8", 0x31415927, 0x27182819, 900 r0, r1, r2, 0); 901 TESTINST3("uxtab r0, r1, r2, ROR #0", 0x31415927, 0x27182819, 902 r0, r1, r2, 0); 903 904 TESTINST3("uxtab r0, r1, r2, ROR #24", 0x31415927, 0x27182899, 905 r0, r1, r2, 0); 906 TESTINST3("uxtab r0, r1, r2, ROR #16", 0x31415927, 0x27182899, 907 r0, r1, r2, 0); 908 TESTINST3("uxtab r0, r1, r2, ROR #8", 0x31415927, 0x27182899, 909 r0, r1, r2, 0); 910 TESTINST3("uxtab r0, r1, r2, ROR #0", 0x31415927, 0x27182899, 911 r0, r1, r2, 0); 912#if 0 913 printf("------------ UXTAB16 ------------\n"); 914 TESTINST3("uxtab16 r0, r1, r2, ROR #24", 0x31415927, 0x27182819, 915 r0, r1, r2, 0); 916 TESTINST3("uxtab16 r0, r1, r2, ROR #16", 0x31415927, 0x27182819, 917 r0, r1, r2, 0); 918 TESTINST3("uxtab16 r0, r1, r2, ROR #8", 0x31415927, 0x27182819, 919 r0, r1, r2, 0); 920 TESTINST3("uxtab16 r0, r1, r2, ROR #0", 0x31415927, 0x27182819, 921 r0, r1, r2, 0); 922 923 TESTINST3("uxtab16 r0, r1, r2, ROR #24", 0x31415927, 0x27182899, 924 r0, r1, r2, 0); 925 TESTINST3("uxtab16 r0, r1, r2, ROR #16", 0x31415927, 0x27182899, 926 r0, r1, r2, 0); 927 TESTINST3("uxtab16 r0, r1, r2, ROR #8", 0x31415927, 0x27182899, 928 r0, r1, r2, 0); 929 TESTINST3("uxtab16 r0, r1, r2, ROR #0", 0x31415927, 0x27182899, 930 r0, r1, r2, 0); 931#endif 932 printf("------------ SXTAH ------------\n"); 933 TESTINST3("sxtah r0, r1, r2, ROR #24", 0x31415927, 0x27182819, 934 r0, r1, r2, 0); 935 TESTINST3("sxtah r0, r1, r2, ROR #16", 0x31415927, 0x27182819, 936 r0, r1, r2, 0); 937 TESTINST3("sxtah r0, r1, r2, ROR #8 ", 0x31415927, 0x27182819, 938 r0, r1, r2, 0); 939 TESTINST3("sxtah r0, r1, r2, ROR #0 ", 0x31415927, 0x27182819, 940 r0, r1, r2, 0); 941 942 TESTINST3("sxtah r0, r1, r2, ROR #24", 0x31415927, 0x27189819, 943 r0, r1, r2, 0); 944 TESTINST3("sxtah r0, r1, r2, ROR #16", 0x31415927, 0x27189819, 945 r0, r1, r2, 0); 946 TESTINST3("sxtah r0, r1, r2, ROR #8 ", 0x31415927, 0x27189819, 947 r0, r1, r2, 0); 948 TESTINST3("sxtah r0, r1, r2, ROR #0 ", 0x31415927, 0x27189819, 949 r0, r1, r2, 0); 950 951 printf("------------ UXTAH ------------\n"); 952 TESTINST3("uxtah r0, r1, r2, ROR #24", 0x31415927, 0x27182819, 953 r0, r1, r2, 0); 954 TESTINST3("uxtah r0, r1, r2, ROR #16", 0x31415927, 0x27182819, 955 r0, r1, r2, 0); 956 TESTINST3("uxtah r0, r1, r2, ROR #8 ", 0x31415927, 0x27182819, 957 r0, r1, r2, 0); 958 TESTINST3("uxtah r0, r1, r2, ROR #0 ", 0x31415927, 0x27182819, 959 r0, r1, r2, 0); 960 961 TESTINST3("uxtah r0, r1, r2, ROR #24", 0x31415927, 0x27189819, 962 r0, r1, r2, 0); 963 TESTINST3("uxtah r0, r1, r2, ROR #16", 0x31415927, 0x27189819, 964 r0, r1, r2, 0); 965 TESTINST3("uxtah r0, r1, r2, ROR #8 ", 0x31415927, 0x27189819, 966 r0, r1, r2, 0); 967 TESTINST3("uxtah r0, r1, r2, ROR #0 ", 0x31415927, 0x27189819, 968 r0, r1, r2, 0); 969#if 0 970 printf("------------ PLD/PLDW (begin) ------------\n"); 971 /* These don't have any effect on the architected state, so, 972 uh, there's no result values to check. Just _do_ some of 973 them and check Valgrind's instruction decoder eats them up 974 without complaining. */ 975 { int alocal; 976 printf("pld reg +/- imm12 cases\n"); 977 __asm__ __volatile__( "pld [%0, #128]" : :/*in*/"r"(&alocal) ); 978 __asm__ __volatile__( "pld [%0, #-128]" : :/*in*/"r"(&alocal) ); 979 __asm__ __volatile__( "pld [r15, #-128]" : :/*in*/"r"(&alocal) ); 980 981 // apparently pldw is v7 only 982 //__asm__ __volatile__( "pldw [%0, #128]" : :/*in*/"r"(&alocal) ); 983 //__asm__ __volatile__( "pldw [%0, #-128]" : :/*in*/"r"(&alocal) ); 984 //__asm__ __volatile__( "pldw [r15, #128]" : :/*in*/"r"(&alocal) ); 985 986 printf("pld reg +/- shifted reg cases\n"); 987 __asm__ __volatile__( "pld [%0, %1]" : : /*in*/"r"(&alocal), "r"(0) ); 988 __asm__ __volatile__( "pld [%0, %1, LSL #1]" : : /*in*/"r"(&alocal), "r"(0) ); 989#if 0 990 __asm__ __volatile__( "pld [%0, %1, LSR #1]" : : /*in*/"r"(&alocal), "r"(0) ); 991 __asm__ __volatile__( "pld [%0, %1, ASR #1]" : : /*in*/"r"(&alocal), "r"(0) ); 992 __asm__ __volatile__( "pld [%0, %1, ROR #1]" : : /*in*/"r"(&alocal), "r"(0) ); 993 __asm__ __volatile__( "pld [%0, %1, RRX]" : : /*in*/"r"(&alocal), "r"(0) ); 994#endif 995 } 996 printf("------------ PLD/PLDW (done) ------------\n"); 997#endif 998 999 return 0; 1000} 1001 1002 1003//////////////////////////////////////////////////////////// 1004//////////////////////////////////////////////////////////// 1005/////////////////////////////////////////////////////////// 1006/////////////////////////////////////////////////////////// 1007 1008 1009int main ( void ) 1010{ 1011 // 16 bit instructions 1012 1013 printf("CMP-16 0x10a\n"); 1014 TESTCARRY 1015 TESTINST3("cmp r3, r6", 0, 0, r6/*fake*/, r3, r6, 0); 1016 TESTINST3("cmp r3, r6", 1, 0, r6/*fake*/, r3, r6, 0); 1017 TESTINST3("cmp r3, r6", 0, 1, r6/*fake*/, r3, r6, 0); 1018 TESTINST3("cmp r3, r6", -1, 0, r6/*fake*/, r3, r6, 0); 1019 TESTINST3("cmp r3, r6", 0, -1, r6/*fake*/, r3, r6, 0); 1020 TESTINST3("cmp r3, r6", 0, 0x80000000, r6/*fake*/, r3, r6, 0); 1021 TESTINST3("cmp r3, r6", 0x80000000, 0, r6/*fake*/, r3, r6, 0); 1022 TESTCARRYEND 1023 1024 printf("CMN-16 0x10a\n"); 1025 TESTCARRY 1026 TESTINST3("cmn r3, r6", 0, 0, r6/*fake*/, r3, r6, 0); 1027 TESTINST3("cmn r3, r6", 1, 0, r6/*fake*/, r3, r6, 0); 1028 TESTINST3("cmn r3, r6", 0, 1, r6/*fake*/, r3, r6, 0); 1029 TESTINST3("cmn r3, r6", -1, 0, r6/*fake*/, r3, r6, 0); 1030 TESTINST3("cmn r3, r6", 0, -1, r6/*fake*/, r3, r6, 0); 1031 TESTINST3("cmn r3, r6", 0, 0x80000000, r6/*fake*/, r3, r6, 0); 1032 TESTINST3("cmn r3, r6", 0x80000000, 0, r6/*fake*/, r3, r6, 0); 1033 TESTCARRYEND 1034 1035 printf("TST-16 0x108\n"); 1036 TESTCARRY 1037 TESTINST3("tst r3, r6", 0, 0, r6/*fake*/, r3, r6, cv); 1038 TESTINST3("tst r3, r6", 1, 0, r6/*fake*/, r3, r6, cv); 1039 TESTINST3("tst r3, r6", 0, 1, r6/*fake*/, r3, r6, cv); 1040 TESTINST3("tst r3, r6", 1, 1, r6/*fake*/, r3, r6, cv); 1041 TESTINST3("tst r3, r6", -1, 0, r6/*fake*/, r3, r6, cv); 1042 TESTINST3("tst r3, r6", 0, -1, r6/*fake*/, r3, r6, cv); 1043 TESTINST3("tst r3, r6", -1, -1, r6/*fake*/, r3, r6, cv); 1044 TESTCARRYEND 1045 1046 printf("NEGS-16 0x109\n"); 1047 TESTINST2("negs r0, r1", 1, r0, r1, 0); 1048 TESTCARRY 1049 TESTINST2("negs r0, r1", 1, r0, r1, cv); 1050 TESTINST2("negs r0, r1", 0, r0, r1, cv); 1051 TESTINST2("negs r0, r1", 0x80000000, r0, r1, cv); 1052 TESTINST2("negs r0, r1", 0x80000001, r0, r1, cv); 1053 TESTINST2("negs r0, r1", 0xFFFFFFFF, r0, r1, cv); 1054 TESTINST2("negs r0, r1", 0x7FFFFFFF, r0, r1, cv); 1055 TESTCARRYEND 1056 1057 printf("MVNS-16 0x10F\n"); 1058 TESTINST2("mvns r0, r1", 1, r0, r1, 0); 1059 TESTCARRY 1060 TESTINST2("mvns r0, r1", 1, r0, r1, cv); 1061 TESTINST2("mvns r0, r1", 0, r0, r1, cv); 1062 TESTINST2("mvns r0, r1", 0x80000000, r0, r1, cv); 1063 TESTINST2("mvns r0, r1", 0x80000001, r0, r1, cv); 1064 TESTINST2("mvns r0, r1", 0xFFFFFFFF, r0, r1, cv); 1065 TESTINST2("mvns r0, r1", 0x7FFFFFFF, r0, r1, cv); 1066 TESTCARRYEND 1067 1068 printf("ORRS-16 0x10C\n"); 1069 TESTCARRY 1070 TESTINST2x("orrs r1, r2", 0x31415927, 0x27181728, r1, r2, cv); 1071 TESTINST2x("orrs r1, r2", 0x00000000, 0x00000000, r1, r2, cv); 1072 TESTINST2x("orrs r1, r2", 0x00000001, 0x00000000, r1, r2, cv); 1073 TESTINST2x("orrs r1, r2", 0x00000000, 0x00000001, r1, r2, cv); 1074 TESTINST2x("orrs r1, r2", 0x80000000, 0x00000000, r1, r2, cv); 1075 TESTINST2x("orrs r1, r2", 0x00000000, 0x80000000, r1, r2, cv); 1076 TESTINST2x("orrs r1, r2", 0x80000000, 0x80000000, r1, r2, cv); 1077 TESTCARRYEND 1078 1079 printf("ANDS-16 0x100\n"); 1080 TESTCARRY 1081 TESTINST2x("ands r1, r2", 0x31415927, 0x27181728, r1, r2, cv); 1082 TESTINST2x("ands r1, r2", 0x00000000, 0x00000000, r1, r2, cv); 1083 TESTINST2x("ands r1, r2", 0x00000001, 0x00000000, r1, r2, cv); 1084 TESTINST2x("ands r1, r2", 0x00000000, 0x00000001, r1, r2, cv); 1085 TESTINST2x("ands r1, r2", 0x80000000, 0x00000000, r1, r2, cv); 1086 TESTINST2x("ands r1, r2", 0x00000000, 0x80000000, r1, r2, cv); 1087 TESTINST2x("ands r1, r2", 0x80000000, 0x80000000, r1, r2, cv); 1088 TESTCARRYEND 1089 1090 printf("EORS-16 0x101\n"); 1091 TESTCARRY 1092 TESTINST2x("eors r1, r2", 0x31415927, 0x27181728, r1, r2, cv); 1093 TESTINST2x("eors r1, r2", 0x00000000, 0x00000000, r1, r2, cv); 1094 TESTINST2x("eors r1, r2", 0x00000001, 0x00000000, r1, r2, cv); 1095 TESTINST2x("eors r1, r2", 0x00000000, 0x00000001, r1, r2, cv); 1096 TESTINST2x("eors r1, r2", 0x80000000, 0x00000000, r1, r2, cv); 1097 TESTINST2x("eors r1, r2", 0x00000000, 0x80000000, r1, r2, cv); 1098 TESTINST2x("eors r1, r2", 0x80000000, 0x80000000, r1, r2, cv); 1099 TESTCARRYEND 1100 1101 printf("MULS-16 0x10d\n"); 1102 TESTCARRY 1103 TESTINST2x("muls r1, r2", 0x31415927, 0x27181728, r1, r2, cv); 1104 TESTINST2x("muls r1, r2", 0x00000000, 0x00000000, r1, r2, cv); 1105 TESTINST2x("muls r1, r2", 0x00000001, 0x00000000, r1, r2, cv); 1106 TESTINST2x("muls r1, r2", 0x00000000, 0x00000001, r1, r2, cv); 1107 TESTINST2x("muls r1, r2", 0x80000000, 0x00000000, r1, r2, cv); 1108 TESTINST2x("muls r1, r2", 0x00000000, 0x80000000, r1, r2, cv); 1109 TESTINST2x("muls r1, r2", 0x80000000, 0x80000000, r1, r2, cv); 1110 TESTCARRYEND 1111 1112 printf("BICS-16 0x10E\n"); 1113 TESTCARRY 1114 TESTINST2x("bics r1, r2", 0x31415927, 0x27181728, r1, r2, cv); 1115 TESTINST2x("bics r1, r2", 0x00000000, 0x00000000, r1, r2, cv); 1116 TESTINST2x("bics r1, r2", 0x00000001, 0x00000000, r1, r2, cv); 1117 TESTINST2x("bics r1, r2", 0x00000000, 0x00000001, r1, r2, cv); 1118 TESTINST2x("bics r1, r2", 0x80000000, 0x00000000, r1, r2, cv); 1119 TESTINST2x("bics r1, r2", 0x00000000, 0x80000000, r1, r2, cv); 1120 TESTINST2x("bics r1, r2", 0x80000000, 0x80000000, r1, r2, cv); 1121 TESTCARRYEND 1122 1123 printf("ADCS-16 0x105\n"); 1124 TESTCARRY 1125 TESTINST2x("adcs r1, r2", 0x31415927, 0x27181728, r1, r2, cv); 1126 TESTINST2x("adcs r1, r2", 0x00000000, 0x00000000, r1, r2, cv); 1127 TESTINST2x("adcs r1, r2", 0x00000001, 0x00000000, r1, r2, cv); 1128 TESTINST2x("adcs r1, r2", 0x00000000, 0x00000001, r1, r2, cv); 1129 TESTINST2x("adcs r1, r2", 0x80000000, 0x00000000, r1, r2, cv); 1130 TESTINST2x("adcs r1, r2", 0x00000000, 0x80000000, r1, r2, cv); 1131 TESTINST2x("adcs r1, r2", 0x80000000, 0x80000000, r1, r2, cv); 1132 TESTCARRYEND 1133 1134 printf("SBCS-16 0x100\n"); 1135 TESTCARRY 1136 TESTINST2x("sbcs r1, r2", 0x31415927, 0x27181728, r1, r2, cv); 1137 TESTINST2x("sbcs r1, r2", 0x00000000, 0x00000000, r1, r2, cv); 1138 TESTINST2x("sbcs r1, r2", 0x00000001, 0x00000000, r1, r2, cv); 1139 TESTINST2x("sbcs r1, r2", 0x00000000, 0x00000001, r1, r2, cv); 1140 TESTINST2x("sbcs r1, r2", 0x80000000, 0x00000000, r1, r2, cv); 1141 TESTINST2x("sbcs r1, r2", 0x00000000, 0x80000000, r1, r2, cv); 1142 TESTINST2x("sbcs r1, r2", 0x80000000, 0x80000000, r1, r2, cv); 1143 TESTCARRYEND 1144 1145 printf("UXTB-16 0x2CB\n"); 1146 TESTCARRY 1147 TESTINST2("uxtb r1, r2", 0x31415927, r1, r2, cv); 1148 TESTINST2("uxtb r1, r2", 0x31415997, r1, r2, cv); 1149 TESTCARRYEND 1150 1151 printf("SXTB-16 0x2C9\n"); 1152 TESTCARRY 1153 TESTINST2("sxtb r1, r2", 0x31415927, r1, r2, cv); 1154 TESTINST2("sxtb r1, r2", 0x31415997, r1, r2, cv); 1155 TESTCARRYEND 1156 1157 printf("UXTH-16 0x2CA\n"); 1158 TESTCARRY 1159 TESTINST2("uxth r1, r2", 0x31415927, r1, r2, cv); 1160 TESTINST2("uxth r1, r2", 0x31419597, r1, r2, cv); 1161 TESTCARRYEND 1162 1163 printf("SXTH-16 0x2C8\n"); 1164 TESTCARRY 1165 TESTINST2("sxth r1, r2", 0x31415927, r1, r2, cv); 1166 TESTINST2("sxth r1, r2", 0x31419597, r1, r2, cv); 1167 TESTCARRYEND 1168 1169 printf("LSLS-16 0x102\n"); 1170 TESTCARRY 1171 TESTINST2x("lsls r1, r2", 0x31415927, 0x00000000, r1, r2, cv); 1172 TESTINST2x("lsls r1, r2", 0x31415927, 0x00000001, r1, r2, cv); 1173 TESTINST2x("lsls r1, r2", 0x31415927, 0x00000002, r1, r2, cv); 1174 TESTINST2x("lsls r1, r2", 0x31415927, 0x0000000F, r1, r2, cv); 1175 TESTINST2x("lsls r1, r2", 0x31415927, 0x00000010, r1, r2, cv); 1176 TESTINST2x("lsls r1, r2", 0x31415927, 0x0000001F, r1, r2, cv); 1177 TESTINST2x("lsls r1, r2", 0x31415927, 0x00000020, r1, r2, cv); 1178 TESTINST2x("lsls r1, r2", 0x31415927, 0x00000021, r1, r2, cv); 1179 TESTCARRYEND 1180 1181 printf("LSRS-16 0x103\n"); 1182 TESTCARRY 1183 TESTINST2x("lsrs r1, r2", 0x31415927, 0x00000000, r1, r2, cv); 1184 TESTINST2x("lsrs r1, r2", 0x31415927, 0x00000001, r1, r2, cv); 1185 TESTINST2x("lsrs r1, r2", 0x31415927, 0x00000002, r1, r2, cv); 1186 TESTINST2x("lsrs r1, r2", 0x31415927, 0x0000000F, r1, r2, cv); 1187 TESTINST2x("lsrs r1, r2", 0x31415927, 0x00000010, r1, r2, cv); 1188 TESTINST2x("lsrs r1, r2", 0x31415927, 0x0000001F, r1, r2, cv); 1189 TESTINST2x("lsrs r1, r2", 0x31415927, 0x00000020, r1, r2, cv); 1190 TESTINST2x("lsrs r1, r2", 0x31415927, 0x00000021, r1, r2, cv); 1191 TESTCARRYEND 1192 1193 printf("ASRS-16 0x104\n"); 1194 TESTCARRY 1195 TESTINST2x("asrs r1, r2", 0x31415927, 0x00000000, r1, r2, cv); 1196 TESTINST2x("asrs r1, r2", 0x91415927, 0x00000001, r1, r2, cv); 1197 TESTINST2x("asrs r1, r2", 0x31415927, 0x00000002, r1, r2, cv); 1198 TESTINST2x("asrs r1, r2", 0x91415927, 0x0000000F, r1, r2, cv); 1199 TESTINST2x("asrs r1, r2", 0x31415927, 0x00000010, r1, r2, cv); 1200 TESTINST2x("asrs r1, r2", 0x91415927, 0x0000001F, r1, r2, cv); 1201 TESTINST2x("asrs r1, r2", 0x31415927, 0x00000020, r1, r2, cv); 1202 TESTINST2x("asrs r1, r2", 0x91415927, 0x00000021, r1, r2, cv); 1203 TESTCARRYEND 1204 1205 printf("RORS-16 0x107\n"); 1206 TESTCARRY 1207 TESTINST2x("rors r1, r2", 0x31415927, 0x00000000, r1, r2, cv); 1208 TESTINST2x("rors r1, r2", 0x31415927, 0x00000001, r1, r2, cv); 1209 TESTINST2x("rors r1, r2", 0x31415927, 0x00000002, r1, r2, cv); 1210 TESTINST2x("rors r1, r2", 0x31415927, 0x0000000F, r1, r2, cv); 1211 TESTINST2x("rors r1, r2", 0x31415927, 0x00000010, r1, r2, cv); 1212 TESTINST2x("rors r1, r2", 0x31415927, 0x0000001F, r1, r2, cv); 1213 TESTINST2x("rors r1, r2", 0x31415927, 0x00000020, r1, r2, cv); 1214 TESTINST2x("rors r1, r2", 0x31415927, 0x00000021, r1, r2, cv); 1215 TESTCARRYEND 1216 1217 printf("ADD(HI)-16\n"); 1218 TESTCARRY 1219 TESTINST2x("add r5, r12", 0x31415927, 0x12345678, r5, r12, cv); 1220 TESTINST2x("add r4, r9 ", 0x31415927, 0x12345678, r4, r9, cv); 1221 TESTCARRYEND 1222 1223 printf("CMP(HI)-16 0x10a\n"); 1224 TESTCARRY 1225 TESTINST3("cmp r5, r12", 0, 0, r12/*fake*/, r5, r12, 0); 1226 TESTINST3("cmp r5, r12", 1, 0, r12/*fake*/, r5, r12, 0); 1227 TESTINST3("cmp r5, r12", 0, 1, r12/*fake*/, r5, r12, 0); 1228 TESTINST3("cmp r5, r12", -1, 0, r12/*fake*/, r5, r12, 0); 1229 TESTINST3("cmp r5, r12", 0, -1, r12/*fake*/, r5, r12, 0); 1230 TESTINST3("cmp r5, r12", 0, 0x80000000, r12/*fake*/, r5, r12, 0); 1231 TESTINST3("cmp r5, r12", 0x80000000, 0, r12/*fake*/, r5, r12, 0); 1232 TESTCARRYEND 1233 1234 printf("MOV(HI)-16\n"); 1235 TESTCARRY 1236 TESTINST2x("mov r5, r12", 0x31415927, 0x12345678, r5, r12, cv); 1237 TESTINST2x("mov r4, r9 ", 0x31415927, 0x12345678, r4, r9, cv); 1238 TESTCARRYEND 1239 1240 printf("ADDS-16 Rd, Rn, #imm3\n"); 1241 TESTCARRY 1242 TESTINST2x("adds r1, r2, #1", 0x31415927, 0x27181728, r1, r2, cv); 1243 TESTINST2x("adds r1, r2, #7", 0x31415927, 0x97181728, r1, r2, cv); 1244 TESTCARRYEND 1245 1246 printf("ADDS-16 Rd, Rn, Rm\n"); 1247 TESTCARRY 1248 TESTINST3("adds r1, r2, r3", 0x31415927, 0x27181728, r1, r2, r3, cv); 1249 TESTINST3("adds r1, r2, r3", 0x31415927, 0x97181728, r1, r2, r3, cv); 1250 TESTINST3("adds r1, r2, r3", 0, 0, r1, r2, r3, cv); 1251 TESTINST3("adds r1, r2, r3", 1, 0, r1, r2, r3, cv); 1252 TESTINST3("adds r1, r2, r3", 0, 1, r1, r2, r3, cv); 1253 TESTINST3("adds r1, r2, r3", -1, 0, r1, r2, r3, cv); 1254 TESTINST3("adds r1, r2, r3", 0, -1, r1, r2, r3, cv); 1255 TESTINST3("adds r1, r2, r3", 0, 0x80000000, r1, r2, r3, cv); 1256 TESTINST3("adds r1, r2, r3", 0x80000000, 0, r1, r2, r3, cv); 1257 TESTINST3("adds r1, r2, r3", 0x80000000, 0x80000000, r1, r2, r3, cv); 1258 TESTINST3("adds r1, r2, r3", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 1259 TESTINST3("adds r1, r2, r3", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 1260 TESTINST3("adds r1, r2, r3", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 1261 TESTCARRYEND 1262 1263 printf("SUBS-16 Rd, Rn, Rm\n"); 1264 TESTCARRY 1265 TESTINST3("subs r1, r2, r3", 0x31415927, 0x27181728, r1, r2, r3, cv); 1266 TESTINST3("subs r1, r2, r3", 0x31415927, 0x97181728, r1, r2, r3, cv); 1267 TESTINST3("subs r1, r2, r3", 0, 0, r1, r2, r3, cv); 1268 TESTINST3("subs r1, r2, r3", 1, 0, r1, r2, r3, cv); 1269 TESTINST3("subs r1, r2, r3", 0, 1, r1, r2, r3, cv); 1270 TESTINST3("subs r1, r2, r3", -1, 0, r1, r2, r3, cv); 1271 TESTINST3("subs r1, r2, r3", 0, -1, r1, r2, r3, cv); 1272 TESTINST3("subs r1, r2, r3", 0, 0x80000000, r1, r2, r3, cv); 1273 TESTINST3("subs r1, r2, r3", 0x80000000, 0, r1, r2, r3, cv); 1274 TESTINST3("subs r1, r2, r3", 0x80000000, 0x80000000, r1, r2, r3, cv); 1275 TESTINST3("subs r1, r2, r3", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 1276 TESTINST3("subs r1, r2, r3", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 1277 TESTINST3("subs r1, r2, r3", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 1278 TESTCARRYEND 1279 1280 printf("ADDS-16 Rn, #uimm8\n"); 1281 TESTCARRY 1282 TESTINST1x("adds r1, #0 ", 0x31415927, r1, cv); 1283 TESTINST1x("adds r1, #255", 0x31415927, r1, cv); 1284 TESTINST1x("adds r1, #0 ", 0x91415927, r1, cv); 1285 TESTINST1x("adds r1, #255", 0x91415927, r1, cv); 1286 TESTCARRYEND 1287 1288 printf("SUBS-16 Rn, #uimm8\n"); 1289 TESTCARRY 1290 TESTINST1x("subs r1, #0 ", 0x31415927, r1, cv); 1291 TESTINST1x("subs r1, #255", 0x31415927, r1, cv); 1292 TESTINST1x("subs r1, #0 ", 0x91415927, r1, cv); 1293 TESTINST1x("subs r1, #255", 0x91415927, r1, cv); 1294 TESTCARRYEND 1295 1296 printf("CMP-16 Rn, #uimm8\n"); 1297 TESTCARRY 1298 TESTINST1x("cmp r1, #0x80 ", 0x00000080, r1, cv); 1299 TESTINST1x("cmp r1, #0x7f ", 0x00000080, r1, cv); 1300 TESTINST1x("cmp r1, #0x81 ", 0x00000080, r1, cv); 1301 TESTINST1x("cmp r1, #0x80 ", 0xffffff80, r1, cv); 1302 TESTINST1x("cmp r1, #0x7f ", 0xffffff80, r1, cv); 1303 TESTINST1x("cmp r1, #0x81 ", 0xffffff80, r1, cv); 1304 TESTINST1x("cmp r1, #0x01 ", 0x80000000, r1, cv); 1305 TESTCARRYEND 1306 1307 printf("MOVS-16 Rn, #uimm8\n"); 1308 TESTCARRY 1309 TESTINST1x("movs r1, #0 ", 0x31415927, r1, cv); 1310 TESTINST1x("movs r1, #0x7f", 0x31415927, r1, cv); 1311 TESTINST1x("movs r1, #0x80", 0x31415927, r1, cv); 1312 TESTINST1x("movs r1, #0x81", 0x31415927, r1, cv); 1313 TESTINST1x("movs r1, #0xff", 0x31415927, r1, cv); 1314 TESTCARRYEND 1315 1316 printf("LSLS-16 Rd, Rm, imm5\n"); 1317 TESTCARRY 1318 TESTINST2("lsls r1, r2, #0 ", 0x31415927, r1, r2, cv); 1319 TESTINST2("lsls r1, r2, #1 ", 0x31415927, r1, r2, cv); 1320 TESTINST2("lsls r1, r2, #2 ", 0x31415927, r1, r2, cv); 1321 TESTINST2("lsls r1, r2, #0xF ", 0x31415927, r1, r2, cv); 1322 TESTINST2("lsls r1, r2, #0x10", 0x31415927, r1, r2, cv); 1323 TESTINST2("lsls r1, r2, #0x1F", 0x31415927, r1, r2, cv); 1324 TESTCARRYEND 1325 1326 printf("LSRS-16 Rd, Rm, imm5\n"); 1327 TESTCARRY 1328 TESTINST2("lsrs r1, r2, #0 ", 0x31415927, r1, r2, cv); 1329 TESTINST2("lsrs r1, r2, #1 ", 0x31415927, r1, r2, cv); 1330 TESTINST2("lsrs r1, r2, #2 ", 0x31415927, r1, r2, cv); 1331 TESTINST2("lsrs r1, r2, #0xF ", 0x31415927, r1, r2, cv); 1332 TESTINST2("lsrs r1, r2, #0x10", 0x31415927, r1, r2, cv); 1333 TESTINST2("lsrs r1, r2, #0x1F", 0x31415927, r1, r2, cv); 1334 TESTCARRYEND 1335 1336 printf("ASRS-16 Rd, Rm, imm5\n"); 1337 TESTCARRY 1338 TESTINST2("asrs r1, r2, #0 ", 0x31415927, r1, r2, cv); 1339 TESTINST2("asrs r1, r2, #1 ", 0x91415927, r1, r2, cv); 1340 TESTINST2("asrs r1, r2, #2 ", 0x31415927, r1, r2, cv); 1341 TESTINST2("asrs r1, r2, #0xF ", 0x91415927, r1, r2, cv); 1342 TESTINST2("asrs r1, r2, #0x10", 0x31415927, r1, r2, cv); 1343 TESTINST2("asrs r1, r2, #0x1F", 0x91415927, r1, r2, cv); 1344 TESTCARRYEND 1345 1346 // 32 bit instructions 1347 1348 printf("(T3) ADD{S}.W Rd, Rn, #constT [allegedly]\n"); 1349 TESTCARRY 1350 TESTINST2("adds.w r1, r2, #0xffffffff", 0x31415927, r1, r2, cv); 1351 TESTINST2("adds.w r1, r2, #0xee00ee00", 0x31415927, r1, r2, cv); 1352 TESTINST2("adds.w r1, r2, #255 ", 0, r1, r2, cv); 1353 TESTINST2("adds.w r1, r2, #0 ", 1, r1, r2, cv); 1354 TESTINST2("adds.w r1, r2, #1 ", 0, r1, r2, cv); 1355 TESTINST2("adds.w r1, r2, #0 ", -1, r1, r2, cv); 1356 TESTINST2("adds.w r1, r2, #-1 ", 0, r1, r2, cv); 1357 TESTINST2("adds.w r1, r2, #0x80000000", 0, r1, r2, cv); 1358 TESTINST2("adds.w r1, r2, #0 ", 0x80000000, r1, r2, cv); 1359 TESTINST2("adds.w r1, r2, #0x80000000", 0x80000000, r1, r2, cv); 1360 TESTINST2("adds.w r1, r2, #0x80000000", 0x7fffffff, r1, r2, cv); 1361 TESTINST2("adds.w r1, r2, #0xff000000", 0x80000000, r1, r2, cv); 1362 TESTINST2("adds.w r1, r2, #0x0dd00000", 0x7fffffff, r1, r2, cv); 1363 TESTINST2("add.w r1, r2, #0xffffffff", 0x31415927, r1, r2, cv); 1364 TESTINST2("add.w r1, r2, #0xee00ee00", 0x31415927, r1, r2, cv); 1365 TESTINST2("add.w r1, r2, #255 ", 0, r1, r2, cv); 1366 TESTINST2("add.w r1, r2, #0 ", 1, r1, r2, cv); 1367 TESTINST2("add.w r1, r2, #1 ", 0, r1, r2, cv); 1368 TESTINST2("add.w r1, r2, #0 ", -1, r1, r2, cv); 1369 TESTINST2("add.w r1, r2, #-1 ", 0, r1, r2, cv); 1370 TESTINST2("add.w r1, r2, #0x80000000", 0, r1, r2, cv); 1371 TESTINST2("add.w r1, r2, #0 ", 0x80000000, r1, r2, cv); 1372 TESTINST2("add.w r1, r2, #0x80000000", 0x80000000, r1, r2, cv); 1373 TESTINST2("add.w r1, r2, #0x80000000", 0x7fffffff, r1, r2, cv); 1374 TESTINST2("add.w r1, r2, #0xff000000", 0x80000000, r1, r2, cv); 1375 TESTINST2("add.w r1, r2, #0x0dd00000", 0x7fffffff, r1, r2, cv); 1376 TESTCARRYEND 1377 1378 printf("(T4) ADDW Rd, Rn, #uimm12\n"); 1379 TESTCARRY 1380 TESTINST2("addw r1, r2, #0x000", 0x31415927, r1, r2, cv); 1381 TESTINST2("addw r1, r2, #0x000", 0x91415927, r1, r2, cv); 1382 TESTINST2("addw r1, r2, #0xABC", 0x31415927, r1, r2, cv); 1383 TESTINST2("addw r1, r2, #0xABC", 0x91415927, r1, r2, cv); 1384 TESTINST2("addw r1, r2, #0xFFF", 0x31415927, r1, r2, cv); 1385 TESTINST2("addw r1, r2, #0xFFF", 0x91415927, r1, r2, cv); 1386 TESTCARRYEND 1387 1388 printf("(T3) CMP.W Rn, #constT [allegedly]\n"); 1389 TESTCARRY 1390 TESTINST1x("cmp.w r1, #0xffffffff", 0x31415927, r1, cv); 1391 TESTINST1x("cmp.w r1, #0xee00ee00", 0x31415927, r1, cv); 1392 TESTINST1x("cmp.w r1, #255 ", 0, r1, cv); 1393 TESTINST1x("cmp.w r1, #0 ", 1, r1, cv); 1394 TESTINST1x("cmp.w r1, #1 ", 0, r1, cv); 1395 TESTINST1x("cmp.w r1, #0 ", -1, r1, cv); 1396 TESTINST1x("cmp.w r1, #-1 ", 0, r1, cv); 1397 TESTINST1x("cmp.w r1, #0x80000000", 0, r1, cv); 1398 TESTINST1x("cmp.w r1, #0 ", 0x80000000, r1, cv); 1399 TESTINST1x("cmp.w r1, #0x80000000", 0x80000000, r1, cv); 1400 TESTINST1x("cmp.w r1, #0x80000000", 0x7fffffff, r1, cv); 1401 TESTINST1x("cmp.w r1, #0xff000000", 0x80000000, r1, cv); 1402 TESTINST1x("cmp.w r1, #0x0dd00000", 0x7fffffff, r1, cv); 1403 TESTCARRYEND 1404 1405 printf("(T3) CMN.W Rn, #constT [allegedly]\n"); 1406 TESTCARRY 1407 TESTINST1x("cmn.w r1, #0xffffffff", 0x31415927, r1, cv); 1408 TESTINST1x("cmn.w r1, #0xee00ee00", 0x31415927, r1, cv); 1409 TESTINST1x("cmn.w r1, #255 ", 0, r1, cv); 1410 TESTINST1x("cmn.w r1, #0 ", 1, r1, cv); 1411 TESTINST1x("cmn.w r1, #1 ", 0, r1, cv); 1412 TESTINST1x("cmn.w r1, #0 ", -1, r1, cv); 1413 TESTINST1x("cmn.w r1, #-1 ", 0, r1, cv); 1414 TESTINST1x("cmn.w r1, #0x80000000", 0, r1, cv); 1415 TESTINST1x("cmn.w r1, #0 ", 0x80000000, r1, cv); 1416 TESTINST1x("cmn.w r1, #0x80000000", 0x80000000, r1, cv); 1417 TESTINST1x("cmn.w r1, #0x80000000", 0x7fffffff, r1, cv); 1418 TESTINST1x("cmn.w r1, #0xff000000", 0x80000000, r1, cv); 1419 TESTINST1x("cmn.w r1, #0x0dd00000", 0x7fffffff, r1, cv); 1420 TESTCARRYEND 1421 1422 printf("(T3) TST.W Rn, #constT [allegedly]\n"); 1423 TESTCARRY 1424 TESTINST1x("tst.w r1, #0xffffffff", 0x31415927, r1, cv); 1425 TESTINST1x("tst.w r1, #0xee00ee00", 0x31415927, r1, cv); 1426 TESTINST1x("tst.w r1, #255 ", 0, r1, cv); 1427 TESTINST1x("tst.w r1, #0 ", 1, r1, cv); 1428 TESTINST1x("tst.w r1, #1 ", 0, r1, cv); 1429 TESTINST1x("tst.w r1, #0 ", -1, r1, cv); 1430 TESTINST1x("tst.w r1, #-1 ", 0, r1, cv); 1431 TESTINST1x("tst.w r1, #0x80000000", 0, r1, cv); 1432 TESTINST1x("tst.w r1, #0 ", 0x80000000, r1, cv); 1433 TESTINST1x("tst.w r1, #0x80000000", 0x80000000, r1, cv); 1434 TESTINST1x("tst.w r1, #0x80000000", 0x7fffffff, r1, cv); 1435 TESTINST1x("tst.w r1, #0xff000000", 0x80000000, r1, cv); 1436 TESTINST1x("tst.w r1, #0x0dd00000", 0x7fffffff, r1, cv); 1437 TESTCARRYEND 1438 1439 printf("(T3) TEQ.W Rn, #constT [allegedly]\n"); 1440 TESTCARRY 1441 TESTINST1x("teq.w r1, #0xffffffff", 0x31415927, r1, cv); 1442 TESTINST1x("teq.w r1, #0xee00ee00", 0x31415927, r1, cv); 1443 TESTINST1x("teq.w r1, #255 ", 0, r1, cv); 1444 TESTINST1x("teq.w r1, #0 ", 1, r1, cv); 1445 TESTINST1x("teq.w r1, #1 ", 0, r1, cv); 1446 TESTINST1x("teq.w r1, #0 ", -1, r1, cv); 1447 TESTINST1x("teq.w r1, #-1 ", 0, r1, cv); 1448 TESTINST1x("teq.w r1, #0x80000000", 0, r1, cv); 1449 TESTINST1x("teq.w r1, #0 ", 0x80000000, r1, cv); 1450 TESTINST1x("teq.w r1, #0x80000000", 0x80000000, r1, cv); 1451 TESTINST1x("teq.w r1, #0x80000000", 0x7fffffff, r1, cv); 1452 TESTINST1x("teq.w r1, #0xff000000", 0x80000000, r1, cv); 1453 TESTINST1x("teq.w r1, #0x0dd00000", 0x7fffffff, r1, cv); 1454 TESTCARRYEND 1455 1456 printf("(T3) SUB{S}.W Rd, Rn, #constT [allegedly]\n"); 1457 TESTCARRY 1458 TESTINST2("subs.w r1, r2, #0xffffffff", 0x31415927, r1, r2, cv); 1459 TESTINST2("subs.w r1, r2, #0xee00ee00", 0x31415927, r1, r2, cv); 1460 TESTINST2("subs.w r1, r2, #255 ", 0, r1, r2, cv); 1461 TESTINST2("subs.w r1, r2, #0 ", 1, r1, r2, cv); 1462 TESTINST2("subs.w r1, r2, #1 ", 0, r1, r2, cv); 1463 TESTINST2("subs.w r1, r2, #0 ", -1, r1, r2, cv); 1464 TESTINST2("subs.w r1, r2, #-1 ", 0, r1, r2, cv); 1465 TESTINST2("subs.w r1, r2, #0x80000000", 0, r1, r2, cv); 1466 TESTINST2("subs.w r1, r2, #0 ", 0x80000000, r1, r2, cv); 1467 TESTINST2("subs.w r1, r2, #0x80000000", 0x80000000, r1, r2, cv); 1468 TESTINST2("subs.w r1, r2, #0x80000000", 0x7fffffff, r1, r2, cv); 1469 TESTINST2("subs.w r1, r2, #0xff000000", 0x80000000, r1, r2, cv); 1470 TESTINST2("subs.w r1, r2, #0x0dd00000", 0x7fffffff, r1, r2, cv); 1471 TESTINST2("sub.w r1, r2, #0xffffffff", 0x31415927, r1, r2, cv); 1472 TESTINST2("sub.w r1, r2, #0xee00ee00", 0x31415927, r1, r2, cv); 1473 TESTINST2("sub.w r1, r2, #255 ", 0, r1, r2, cv); 1474 TESTINST2("sub.w r1, r2, #0 ", 1, r1, r2, cv); 1475 TESTINST2("sub.w r1, r2, #1 ", 0, r1, r2, cv); 1476 TESTINST2("sub.w r1, r2, #0 ", -1, r1, r2, cv); 1477 TESTINST2("sub.w r1, r2, #-1 ", 0, r1, r2, cv); 1478 TESTINST2("sub.w r1, r2, #0x80000000", 0, r1, r2, cv); 1479 TESTINST2("sub.w r1, r2, #0 ", 0x80000000, r1, r2, cv); 1480 TESTINST2("sub.w r1, r2, #0x80000000", 0x80000000, r1, r2, cv); 1481 TESTINST2("sub.w r1, r2, #0x80000000", 0x7fffffff, r1, r2, cv); 1482 TESTINST2("sub.w r1, r2, #0xff000000", 0x80000000, r1, r2, cv); 1483 TESTINST2("sub.w r1, r2, #0x0dd00000", 0x7fffffff, r1, r2, cv); 1484 TESTCARRYEND 1485 1486 printf("(T4) SUBW Rd, Rn, #uimm12\n"); 1487 TESTCARRY 1488 TESTINST2("subw r1, r2, #0x000", 0x31415927, r1, r2, cv); 1489 TESTINST2("subw r1, r2, #0x000", 0x91415927, r1, r2, cv); 1490 TESTINST2("subw r1, r2, #0xABC", 0x31415927, r1, r2, cv); 1491 TESTINST2("subw r1, r2, #0xABC", 0x91415927, r1, r2, cv); 1492 TESTINST2("subw r1, r2, #0xFFF", 0x31415927, r1, r2, cv); 1493 TESTINST2("subw r1, r2, #0xFFF", 0x91415927, r1, r2, cv); 1494 TESTCARRYEND 1495 1496 printf("(T3) RSB{S}.W Rd, Rn, #constT [allegedly]\n"); 1497 TESTCARRY 1498 TESTINST2("rsbs.w r1, r2, #0xffffffff", 0x31415927, r1, r2, cv); 1499 TESTINST2("rsbs.w r1, r2, #0xee00ee00", 0x31415927, r1, r2, cv); 1500 TESTINST2("rsbs.w r1, r2, #255 ", 0, r1, r2, cv); 1501 TESTINST2("rsbs.w r1, r2, #0 ", 1, r1, r2, cv); 1502 TESTINST2("rsbs.w r1, r2, #1 ", 0, r1, r2, cv); 1503 TESTINST2("rsbs.w r1, r2, #0 ", -1, r1, r2, cv); 1504 TESTINST2("rsbs.w r1, r2, #-1 ", 0, r1, r2, cv); 1505 TESTINST2("rsbs.w r1, r2, #0x80000000", 0, r1, r2, cv); 1506 TESTINST2("rsbs.w r1, r2, #0 ", 0x80000000, r1, r2, cv); 1507 TESTINST2("rsbs.w r1, r2, #0x80000000", 0x80000000, r1, r2, cv); 1508 TESTINST2("rsbs.w r1, r2, #0x80000000", 0x7fffffff, r1, r2, cv); 1509 TESTINST2("rsbs.w r1, r2, #0xff000000", 0x80000000, r1, r2, cv); 1510 TESTINST2("rsbs.w r1, r2, #0x0dd00000", 0x7fffffff, r1, r2, cv); 1511 TESTINST2("rsb.w r1, r2, #0xffffffff", 0x31415927, r1, r2, cv); 1512 TESTINST2("rsb.w r1, r2, #0xee00ee00", 0x31415927, r1, r2, cv); 1513 TESTINST2("rsb.w r1, r2, #255 ", 0, r1, r2, cv); 1514 TESTINST2("rsb.w r1, r2, #0 ", 1, r1, r2, cv); 1515 TESTINST2("rsb.w r1, r2, #1 ", 0, r1, r2, cv); 1516 TESTINST2("rsb.w r1, r2, #0 ", -1, r1, r2, cv); 1517 TESTINST2("rsb.w r1, r2, #-1 ", 0, r1, r2, cv); 1518 TESTINST2("rsb.w r1, r2, #0x80000000", 0, r1, r2, cv); 1519 TESTINST2("rsb.w r1, r2, #0 ", 0x80000000, r1, r2, cv); 1520 TESTINST2("rsb.w r1, r2, #0x80000000", 0x80000000, r1, r2, cv); 1521 TESTINST2("rsb.w r1, r2, #0x80000000", 0x7fffffff, r1, r2, cv); 1522 TESTINST2("rsb.w r1, r2, #0xff000000", 0x80000000, r1, r2, cv); 1523 TESTINST2("rsb.w r1, r2, #0x0dd00000", 0x7fffffff, r1, r2, cv); 1524 TESTCARRYEND 1525 1526 printf("(T3) ADC{S}.W Rd, Rn, #constT [allegedly]\n"); 1527 TESTCARRY 1528 TESTINST2("adcs.w r1, r2, #0xffffffff", 0x31415927, r1, r2, cv); 1529 TESTINST2("adcs.w r1, r2, #0xee00ee00", 0x31415927, r1, r2, cv); 1530 TESTINST2("adcs.w r1, r2, #255 ", 0, r1, r2, cv); 1531 TESTINST2("adcs.w r1, r2, #0 ", 1, r1, r2, cv); 1532 TESTINST2("adcs.w r1, r2, #1 ", 0, r1, r2, cv); 1533 TESTINST2("adcs.w r1, r2, #0 ", -1, r1, r2, cv); 1534 TESTINST2("adcs.w r1, r2, #-1 ", 0, r1, r2, cv); 1535 TESTINST2("adcs.w r1, r2, #0x80000000", 0, r1, r2, cv); 1536 TESTINST2("adcs.w r1, r2, #0 ", 0x80000000, r1, r2, cv); 1537 TESTINST2("adcs.w r1, r2, #0x80000000", 0x80000000, r1, r2, cv); 1538 TESTINST2("adcs.w r1, r2, #0x80000000", 0x7fffffff, r1, r2, cv); 1539 TESTINST2("adcs.w r1, r2, #0xff000000", 0x80000000, r1, r2, cv); 1540 TESTINST2("adcs.w r1, r2, #0x0dd00000", 0x7fffffff, r1, r2, cv); 1541 TESTINST2("adc.w r1, r2, #0xffffffff", 0x31415927, r1, r2, cv); 1542 TESTINST2("adc.w r1, r2, #0xee00ee00", 0x31415927, r1, r2, cv); 1543 TESTINST2("adc.w r1, r2, #255 ", 0, r1, r2, cv); 1544 TESTINST2("adc.w r1, r2, #0 ", 1, r1, r2, cv); 1545 TESTINST2("adc.w r1, r2, #1 ", 0, r1, r2, cv); 1546 TESTINST2("adc.w r1, r2, #0 ", -1, r1, r2, cv); 1547 TESTINST2("adc.w r1, r2, #-1 ", 0, r1, r2, cv); 1548 TESTINST2("adc.w r1, r2, #0x80000000", 0, r1, r2, cv); 1549 TESTINST2("adc.w r1, r2, #0 ", 0x80000000, r1, r2, cv); 1550 TESTINST2("adc.w r1, r2, #0x80000000", 0x80000000, r1, r2, cv); 1551 TESTINST2("adc.w r1, r2, #0x80000000", 0x7fffffff, r1, r2, cv); 1552 TESTINST2("adc.w r1, r2, #0xff000000", 0x80000000, r1, r2, cv); 1553 TESTINST2("adc.w r1, r2, #0x0dd00000", 0x7fffffff, r1, r2, cv); 1554 TESTCARRYEND 1555 1556 printf("(T3) SBC{S}.W Rd, Rn, #constT [allegedly]\n"); 1557 TESTCARRY 1558 TESTINST2("sbcs.w r1, r2, #0xffffffff", 0x31415927, r1, r2, cv); 1559 TESTINST2("sbcs.w r1, r2, #0xee00ee00", 0x31415927, r1, r2, cv); 1560 TESTINST2("sbcs.w r1, r2, #255 ", 0, r1, r2, cv); 1561 TESTINST2("sbcs.w r1, r2, #0 ", 1, r1, r2, cv); 1562 TESTINST2("sbcs.w r1, r2, #1 ", 0, r1, r2, cv); 1563 TESTINST2("sbcs.w r1, r2, #0 ", -1, r1, r2, cv); 1564 TESTINST2("sbcs.w r1, r2, #-1 ", 0, r1, r2, cv); 1565 TESTINST2("sbcs.w r1, r2, #0x80000000", 0, r1, r2, cv); 1566 TESTINST2("sbcs.w r1, r2, #0 ", 0x80000000, r1, r2, cv); 1567 TESTINST2("sbcs.w r1, r2, #0x80000000", 0x80000000, r1, r2, cv); 1568 TESTINST2("sbcs.w r1, r2, #0x80000000", 0x7fffffff, r1, r2, cv); 1569 TESTINST2("sbcs.w r1, r2, #0xff000000", 0x80000000, r1, r2, cv); 1570 TESTINST2("sbcs.w r1, r2, #0x0dd00000", 0x7fffffff, r1, r2, cv); 1571 TESTINST2("sbc.w r1, r2, #0xffffffff", 0x31415927, r1, r2, cv); 1572 TESTINST2("sbc.w r1, r2, #0xee00ee00", 0x31415927, r1, r2, cv); 1573 TESTINST2("sbc.w r1, r2, #255 ", 0, r1, r2, cv); 1574 TESTINST2("sbc.w r1, r2, #0 ", 1, r1, r2, cv); 1575 TESTINST2("sbc.w r1, r2, #1 ", 0, r1, r2, cv); 1576 TESTINST2("sbc.w r1, r2, #0 ", -1, r1, r2, cv); 1577 TESTINST2("sbc.w r1, r2, #-1 ", 0, r1, r2, cv); 1578 TESTINST2("sbc.w r1, r2, #0x80000000", 0, r1, r2, cv); 1579 TESTINST2("sbc.w r1, r2, #0 ", 0x80000000, r1, r2, cv); 1580 TESTINST2("sbc.w r1, r2, #0x80000000", 0x80000000, r1, r2, cv); 1581 TESTINST2("sbc.w r1, r2, #0x80000000", 0x7fffffff, r1, r2, cv); 1582 TESTINST2("sbc.w r1, r2, #0xff000000", 0x80000000, r1, r2, cv); 1583 TESTINST2("sbc.w r1, r2, #0x0dd00000", 0x7fffffff, r1, r2, cv); 1584 TESTCARRYEND 1585 1586 printf("(T3) AND{S}.W Rd, Rn, #constT [allegedly]\n"); 1587 TESTCARRY 1588 TESTINST2("ands.w r1, r2, #0xffffffff", 0x31415927, r1, r2, cv); 1589 TESTINST2("ands.w r1, r2, #0xee00ee00", 0x31415927, r1, r2, cv); 1590 TESTINST2("ands.w r1, r2, #255 ", 0, r1, r2, cv); 1591 TESTINST2("ands.w r1, r2, #0 ", 1, r1, r2, cv); 1592 TESTINST2("ands.w r1, r2, #1 ", 0, r1, r2, cv); 1593 TESTINST2("ands.w r1, r2, #0 ", -1, r1, r2, cv); 1594 TESTINST2("ands.w r1, r2, #-1 ", 0, r1, r2, cv); 1595 TESTINST2("ands.w r1, r2, #0x80000000", 0, r1, r2, cv); 1596 TESTINST2("ands.w r1, r2, #0 ", 0x80000000, r1, r2, cv); 1597 TESTINST2("ands.w r1, r2, #0x80000000", 0x80000000, r1, r2, cv); 1598 TESTINST2("ands.w r1, r2, #0x80000000", 0x7fffffff, r1, r2, cv); 1599 TESTINST2("ands.w r1, r2, #0xff000000", 0x80000000, r1, r2, cv); 1600 TESTINST2("ands.w r1, r2, #0x0dd00000", 0x7fffffff, r1, r2, cv); 1601 TESTINST2("and.w r1, r2, #0xffffffff", 0x31415927, r1, r2, cv); 1602 TESTINST2("and.w r1, r2, #0xee00ee00", 0x31415927, r1, r2, cv); 1603 TESTINST2("and.w r1, r2, #255 ", 0, r1, r2, cv); 1604 TESTINST2("and.w r1, r2, #0 ", 1, r1, r2, cv); 1605 TESTINST2("and.w r1, r2, #1 ", 0, r1, r2, cv); 1606 TESTINST2("and.w r1, r2, #0 ", -1, r1, r2, cv); 1607 TESTINST2("and.w r1, r2, #-1 ", 0, r1, r2, cv); 1608 TESTINST2("and.w r1, r2, #0x80000000", 0, r1, r2, cv); 1609 TESTINST2("and.w r1, r2, #0 ", 0x80000000, r1, r2, cv); 1610 TESTINST2("and.w r1, r2, #0x80000000", 0x80000000, r1, r2, cv); 1611 TESTINST2("and.w r1, r2, #0x80000000", 0x7fffffff, r1, r2, cv); 1612 TESTINST2("and.w r1, r2, #0xff000000", 0x80000000, r1, r2, cv); 1613 TESTINST2("and.w r1, r2, #0x0dd00000", 0x7fffffff, r1, r2, cv); 1614 TESTCARRYEND 1615 1616 printf("(T3) ORR{S}.W Rd, Rn, #constT [allegedly]\n"); 1617 TESTCARRY 1618 TESTINST2("orrs.w r1, r2, #0xffffffff", 0x31415927, r1, r2, cv); 1619 TESTINST2("orrs.w r1, r2, #0xee00ee00", 0x31415927, r1, r2, cv); 1620 TESTINST2("orrs.w r1, r2, #255 ", 0, r1, r2, cv); 1621 TESTINST2("orrs.w r1, r2, #0 ", 1, r1, r2, cv); 1622 TESTINST2("orrs.w r1, r2, #1 ", 0, r1, r2, cv); 1623 TESTINST2("orrs.w r1, r2, #0 ", -1, r1, r2, cv); 1624 TESTINST2("orrs.w r1, r2, #-1 ", 0, r1, r2, cv); 1625 TESTINST2("orrs.w r1, r2, #0x80000000", 0, r1, r2, cv); 1626 TESTINST2("orrs.w r1, r2, #0 ", 0x80000000, r1, r2, cv); 1627 TESTINST2("orrs.w r1, r2, #0x80000000", 0x80000000, r1, r2, cv); 1628 TESTINST2("orrs.w r1, r2, #0x80000000", 0x7fffffff, r1, r2, cv); 1629 TESTINST2("orrs.w r1, r2, #0xff000000", 0x80000000, r1, r2, cv); 1630 TESTINST2("orrs.w r1, r2, #0x0dd00000", 0x7fffffff, r1, r2, cv); 1631 TESTINST2("orr.w r1, r2, #0xffffffff", 0x31415927, r1, r2, cv); 1632 TESTINST2("orr.w r1, r2, #0xee00ee00", 0x31415927, r1, r2, cv); 1633 TESTINST2("orr.w r1, r2, #255 ", 0, r1, r2, cv); 1634 TESTINST2("orr.w r1, r2, #0 ", 1, r1, r2, cv); 1635 TESTINST2("orr.w r1, r2, #1 ", 0, r1, r2, cv); 1636 TESTINST2("orr.w r1, r2, #0 ", -1, r1, r2, cv); 1637 TESTINST2("orr.w r1, r2, #-1 ", 0, r1, r2, cv); 1638 TESTINST2("orr.w r1, r2, #0x80000000", 0, r1, r2, cv); 1639 TESTINST2("orr.w r1, r2, #0 ", 0x80000000, r1, r2, cv); 1640 TESTINST2("orr.w r1, r2, #0x80000000", 0x80000000, r1, r2, cv); 1641 TESTINST2("orr.w r1, r2, #0x80000000", 0x7fffffff, r1, r2, cv); 1642 TESTINST2("orr.w r1, r2, #0xff000000", 0x80000000, r1, r2, cv); 1643 TESTINST2("orr.w r1, r2, #0x0dd00000", 0x7fffffff, r1, r2, cv); 1644 TESTCARRYEND 1645 1646 printf("(T3) EOR{S}.W Rd, Rn, #constT [allegedly]\n"); 1647 TESTCARRY 1648 TESTINST2("eors.w r1, r2, #0xffffffff", 0x31415927, r1, r2, cv); 1649 TESTINST2("eors.w r1, r2, #0xee00ee00", 0x31415927, r1, r2, cv); 1650 TESTINST2("eors.w r1, r2, #255 ", 0, r1, r2, cv); 1651 TESTINST2("eors.w r1, r2, #0 ", 1, r1, r2, cv); 1652 TESTINST2("eors.w r1, r2, #1 ", 0, r1, r2, cv); 1653 TESTINST2("eors.w r1, r2, #0 ", -1, r1, r2, cv); 1654 TESTINST2("eors.w r1, r2, #-1 ", 0, r1, r2, cv); 1655 TESTINST2("eors.w r1, r2, #0x80000000", 0, r1, r2, cv); 1656 TESTINST2("eors.w r1, r2, #0 ", 0x80000000, r1, r2, cv); 1657 TESTINST2("eors.w r1, r2, #0x80000000", 0x80000000, r1, r2, cv); 1658 TESTINST2("eors.w r1, r2, #0x80000000", 0x7fffffff, r1, r2, cv); 1659 TESTINST2("eors.w r1, r2, #0xff000000", 0x80000000, r1, r2, cv); 1660 TESTINST2("eors.w r1, r2, #0x0dd00000", 0x7fffffff, r1, r2, cv); 1661 TESTINST2("eor.w r1, r2, #0xffffffff", 0x31415927, r1, r2, cv); 1662 TESTINST2("eor.w r1, r2, #0xee00ee00", 0x31415927, r1, r2, cv); 1663 TESTINST2("eor.w r1, r2, #255 ", 0, r1, r2, cv); 1664 TESTINST2("eor.w r1, r2, #0 ", 1, r1, r2, cv); 1665 TESTINST2("eor.w r1, r2, #1 ", 0, r1, r2, cv); 1666 TESTINST2("eor.w r1, r2, #0 ", -1, r1, r2, cv); 1667 TESTINST2("eor.w r1, r2, #-1 ", 0, r1, r2, cv); 1668 TESTINST2("eor.w r1, r2, #0x80000000", 0, r1, r2, cv); 1669 TESTINST2("eor.w r1, r2, #0 ", 0x80000000, r1, r2, cv); 1670 TESTINST2("eor.w r1, r2, #0x80000000", 0x80000000, r1, r2, cv); 1671 TESTINST2("eor.w r1, r2, #0x80000000", 0x7fffffff, r1, r2, cv); 1672 TESTINST2("eor.w r1, r2, #0xff000000", 0x80000000, r1, r2, cv); 1673 TESTINST2("eor.w r1, r2, #0x0dd00000", 0x7fffffff, r1, r2, cv); 1674 TESTCARRYEND 1675 1676 printf("(T3) BIC{S}.W Rd, Rn, #constT [allegedly]\n"); 1677 TESTCARRY 1678 TESTINST2("bics.w r1, r2, #0xffffffff", 0x31415927, r1, r2, cv); 1679 TESTINST2("bics.w r1, r2, #0xee00ee00", 0x31415927, r1, r2, cv); 1680 TESTINST2("bics.w r1, r2, #255 ", 0, r1, r2, cv); 1681 TESTINST2("bics.w r1, r2, #0 ", 1, r1, r2, cv); 1682 TESTINST2("bics.w r1, r2, #1 ", 0, r1, r2, cv); 1683 TESTINST2("bics.w r1, r2, #0 ", -1, r1, r2, cv); 1684 TESTINST2("bics.w r1, r2, #-1 ", 0, r1, r2, cv); 1685 TESTINST2("bics.w r1, r2, #0x80000000", 0, r1, r2, cv); 1686 TESTINST2("bics.w r1, r2, #0 ", 0x80000000, r1, r2, cv); 1687 TESTINST2("bics.w r1, r2, #0x80000000", 0x80000000, r1, r2, cv); 1688 TESTINST2("bics.w r1, r2, #0x80000000", 0x7fffffff, r1, r2, cv); 1689 TESTINST2("bics.w r1, r2, #0xff000000", 0x80000000, r1, r2, cv); 1690 TESTINST2("bics.w r1, r2, #0x0dd00000", 0x7fffffff, r1, r2, cv); 1691 TESTINST2("bic.w r1, r2, #0xffffffff", 0x31415927, r1, r2, cv); 1692 TESTINST2("bic.w r1, r2, #0xee00ee00", 0x31415927, r1, r2, cv); 1693 TESTINST2("bic.w r1, r2, #255 ", 0, r1, r2, cv); 1694 TESTINST2("bic.w r1, r2, #0 ", 1, r1, r2, cv); 1695 TESTINST2("bic.w r1, r2, #1 ", 0, r1, r2, cv); 1696 TESTINST2("bic.w r1, r2, #0 ", -1, r1, r2, cv); 1697 TESTINST2("bic.w r1, r2, #-1 ", 0, r1, r2, cv); 1698 TESTINST2("bic.w r1, r2, #0x80000000", 0, r1, r2, cv); 1699 TESTINST2("bic.w r1, r2, #0 ", 0x80000000, r1, r2, cv); 1700 TESTINST2("bic.w r1, r2, #0x80000000", 0x80000000, r1, r2, cv); 1701 TESTINST2("bic.w r1, r2, #0x80000000", 0x7fffffff, r1, r2, cv); 1702 TESTINST2("bic.w r1, r2, #0xff000000", 0x80000000, r1, r2, cv); 1703 TESTINST2("bic.w r1, r2, #0x0dd00000", 0x7fffffff, r1, r2, cv); 1704 TESTCARRYEND 1705 1706 printf("(T3) ORN{S}.W Rd, Rn, #constT [allegedly]\n"); 1707 TESTCARRY 1708 TESTINST2("orns.w r1, r2, #0xffffffff", 0x31415927, r1, r2, cv); 1709 TESTINST2("orns.w r1, r2, #0xee00ee00", 0x31415927, r1, r2, cv); 1710 TESTINST2("orns.w r1, r2, #255 ", 0, r1, r2, cv); 1711 TESTINST2("orns.w r1, r2, #0 ", 1, r1, r2, cv); 1712 TESTINST2("orns.w r1, r2, #1 ", 0, r1, r2, cv); 1713 TESTINST2("orns.w r1, r2, #0 ", -1, r1, r2, cv); 1714 TESTINST2("orns.w r1, r2, #-1 ", 0, r1, r2, cv); 1715 TESTINST2("orns.w r1, r2, #0x80000000", 0, r1, r2, cv); 1716 TESTINST2("orns.w r1, r2, #0 ", 0x80000000, r1, r2, cv); 1717 TESTINST2("orns.w r1, r2, #0x80000000", 0x80000000, r1, r2, cv); 1718 TESTINST2("orns.w r1, r2, #0x80000000", 0x7fffffff, r1, r2, cv); 1719 TESTINST2("orns.w r1, r2, #0xff000000", 0x80000000, r1, r2, cv); 1720 TESTINST2("orns.w r1, r2, #0x0dd00000", 0x7fffffff, r1, r2, cv); 1721 TESTINST2("orn.w r1, r2, #0xffffffff", 0x31415927, r1, r2, cv); 1722 TESTINST2("orn.w r1, r2, #0xee00ee00", 0x31415927, r1, r2, cv); 1723 TESTINST2("orn.w r1, r2, #255 ", 0, r1, r2, cv); 1724 TESTINST2("orn.w r1, r2, #0 ", 1, r1, r2, cv); 1725 TESTINST2("orn.w r1, r2, #1 ", 0, r1, r2, cv); 1726 TESTINST2("orn.w r1, r2, #0 ", -1, r1, r2, cv); 1727 TESTINST2("orn.w r1, r2, #-1 ", 0, r1, r2, cv); 1728 TESTINST2("orn.w r1, r2, #0x80000000", 0, r1, r2, cv); 1729 TESTINST2("orn.w r1, r2, #0 ", 0x80000000, r1, r2, cv); 1730 TESTINST2("orn.w r1, r2, #0x80000000", 0x80000000, r1, r2, cv); 1731 TESTINST2("orn.w r1, r2, #0x80000000", 0x7fffffff, r1, r2, cv); 1732 TESTINST2("orn.w r1, r2, #0xff000000", 0x80000000, r1, r2, cv); 1733 TESTINST2("orn.w r1, r2, #0x0dd00000", 0x7fffffff, r1, r2, cv); 1734 TESTCARRYEND 1735 1736 printf("ADD{S}.W Rd, Rn, Rm, {shift}\n"); 1737 TESTCARRY 1738 TESTINST3("adds.w r1, r2, r3, lsl #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 1739 TESTINST3("adds.w r1, r2, r3, lsl #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 1740 TESTINST3("adds.w r1, r2, r3, lsl #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 1741 TESTINST3("adds.w r1, r2, r3, lsl #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 1742 TESTINST3("adds.w r1, r2, r3, lsr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 1743 TESTINST3("adds.w r1, r2, r3, lsr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 1744 TESTINST3("adds.w r1, r2, r3, lsr #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 1745 TESTINST3("adds.w r1, r2, r3, lsr #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 1746 TESTINST3("adds.w r1, r2, r3, asr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 1747 TESTINST3("adds.w r1, r2, r3, asr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 1748 TESTINST3("adds.w r1, r2, r3, asr #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 1749 TESTINST3("adds.w r1, r2, r3, asr #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 1750 TESTINST3("add.w r1, r2, r3, lsl #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 1751 TESTINST3("add.w r1, r2, r3, lsl #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 1752 TESTINST3("add.w r1, r2, r3, lsl #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 1753 TESTINST3("add.w r1, r2, r3, lsl #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 1754 TESTINST3("add.w r1, r2, r3, lsr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 1755 TESTINST3("add.w r1, r2, r3, lsr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 1756 TESTINST3("add.w r1, r2, r3, lsr #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 1757 TESTINST3("add.w r1, r2, r3, lsr #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 1758 TESTINST3("add.w r1, r2, r3, asr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 1759 TESTINST3("add.w r1, r2, r3, asr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 1760 TESTINST3("add.w r1, r2, r3, asr #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 1761 TESTINST3("add.w r1, r2, r3, asr #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 1762 TESTINST3("adds.w r1, r2, r3, lsl #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 1763 TESTINST3("adds.w r1, r2, r3, lsl #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 1764 TESTINST3("adds.w r1, r2, r3, lsl #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 1765 TESTINST3("adds.w r1, r2, r3, lsl #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 1766 TESTINST3("adds.w r1, r2, r3, lsr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 1767 TESTINST3("adds.w r1, r2, r3, lsr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 1768 TESTINST3("adds.w r1, r2, r3, lsr #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 1769 TESTINST3("adds.w r1, r2, r3, lsr #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 1770 TESTINST3("adds.w r1, r2, r3, asr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 1771 TESTINST3("adds.w r1, r2, r3, asr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 1772 TESTINST3("adds.w r1, r2, r3, asr #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 1773 TESTINST3("adds.w r1, r2, r3, asr #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 1774 TESTINST3("add.w r1, r2, r3, lsl #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 1775 TESTINST3("add.w r1, r2, r3, lsl #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 1776 TESTINST3("add.w r1, r2, r3, lsl #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 1777 TESTINST3("add.w r1, r2, r3, lsl #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 1778 TESTINST3("add.w r1, r2, r3, lsr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 1779 TESTINST3("add.w r1, r2, r3, lsr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 1780 TESTINST3("add.w r1, r2, r3, lsr #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 1781 TESTINST3("add.w r1, r2, r3, lsr #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 1782 TESTINST3("add.w r1, r2, r3, asr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 1783 TESTINST3("add.w r1, r2, r3, asr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 1784 TESTINST3("add.w r1, r2, r3, asr #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 1785 TESTINST3("add.w r1, r2, r3, asr #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 1786 TESTINST3("adds.w r1, r2, r3, lsl #0 ", 0, 0, r1, r2, r3, cv); 1787 TESTINST3("adds.w r1, r2, r3, lsl #1 ", 0, 0, r1, r2, r3, cv); 1788 TESTINST3("adds.w r1, r2, r3, lsl #15", 0, 0, r1, r2, r3, cv); 1789 TESTINST3("adds.w r1, r2, r3, lsl #31", 0, 0, r1, r2, r3, cv); 1790 TESTINST3("adds.w r1, r2, r3, lsr #0 ", 0, 0, r1, r2, r3, cv); 1791 TESTINST3("adds.w r1, r2, r3, lsr #1 ", 0, 0, r1, r2, r3, cv); 1792 TESTINST3("adds.w r1, r2, r3, lsr #15", 0, 0, r1, r2, r3, cv); 1793 TESTINST3("adds.w r1, r2, r3, lsr #31", 0, 0, r1, r2, r3, cv); 1794 TESTINST3("adds.w r1, r2, r3, asr #0 ", 0, 0, r1, r2, r3, cv); 1795 TESTINST3("adds.w r1, r2, r3, asr #1 ", 0, 0, r1, r2, r3, cv); 1796 TESTINST3("adds.w r1, r2, r3, asr #15", 0, 0, r1, r2, r3, cv); 1797 TESTINST3("adds.w r1, r2, r3, asr #31", 0, 0, r1, r2, r3, cv); 1798 TESTINST3("add.w r1, r2, r3, lsl #0 ", 0, 0, r1, r2, r3, cv); 1799 TESTINST3("add.w r1, r2, r3, lsl #1 ", 0, 0, r1, r2, r3, cv); 1800 TESTINST3("add.w r1, r2, r3, lsl #15", 0, 0, r1, r2, r3, cv); 1801 TESTINST3("add.w r1, r2, r3, lsl #31", 0, 0, r1, r2, r3, cv); 1802 TESTINST3("add.w r1, r2, r3, lsr #0 ", 0, 0, r1, r2, r3, cv); 1803 TESTINST3("add.w r1, r2, r3, lsr #1 ", 0, 0, r1, r2, r3, cv); 1804 TESTINST3("add.w r1, r2, r3, lsr #15", 0, 0, r1, r2, r3, cv); 1805 TESTINST3("add.w r1, r2, r3, lsr #31", 0, 0, r1, r2, r3, cv); 1806 TESTINST3("add.w r1, r2, r3, asr #0 ", 0, 0, r1, r2, r3, cv); 1807 TESTINST3("add.w r1, r2, r3, asr #1 ", 0, 0, r1, r2, r3, cv); 1808 TESTINST3("add.w r1, r2, r3, asr #15", 0, 0, r1, r2, r3, cv); 1809 TESTINST3("add.w r1, r2, r3, asr #31", 0, 0, r1, r2, r3, cv); 1810 TESTINST3("adds.w r1, r2, r3, lsl #0 ", 1, 0, r1, r2, r3, cv); 1811 TESTINST3("adds.w r1, r2, r3, lsl #1 ", 1, 0, r1, r2, r3, cv); 1812 TESTINST3("adds.w r1, r2, r3, lsl #15", 1, 0, r1, r2, r3, cv); 1813 TESTINST3("adds.w r1, r2, r3, lsl #31", 1, 0, r1, r2, r3, cv); 1814 TESTINST3("adds.w r1, r2, r3, lsr #0 ", 1, 0, r1, r2, r3, cv); 1815 TESTINST3("adds.w r1, r2, r3, lsr #1 ", 1, 0, r1, r2, r3, cv); 1816 TESTINST3("adds.w r1, r2, r3, lsr #15", 1, 0, r1, r2, r3, cv); 1817 TESTINST3("adds.w r1, r2, r3, lsr #31", 1, 0, r1, r2, r3, cv); 1818 TESTINST3("adds.w r1, r2, r3, asr #0 ", 1, 0, r1, r2, r3, cv); 1819 TESTINST3("adds.w r1, r2, r3, asr #1 ", 1, 0, r1, r2, r3, cv); 1820 TESTINST3("adds.w r1, r2, r3, asr #15", 1, 0, r1, r2, r3, cv); 1821 TESTINST3("adds.w r1, r2, r3, asr #31", 1, 0, r1, r2, r3, cv); 1822 TESTINST3("add.w r1, r2, r3, lsl #0 ", 1, 0, r1, r2, r3, cv); 1823 TESTINST3("add.w r1, r2, r3, lsl #1 ", 1, 0, r1, r2, r3, cv); 1824 TESTINST3("add.w r1, r2, r3, lsl #15", 1, 0, r1, r2, r3, cv); 1825 TESTINST3("add.w r1, r2, r3, lsl #31", 1, 0, r1, r2, r3, cv); 1826 TESTINST3("add.w r1, r2, r3, lsr #0 ", 1, 0, r1, r2, r3, cv); 1827 TESTINST3("add.w r1, r2, r3, lsr #1 ", 1, 0, r1, r2, r3, cv); 1828 TESTINST3("add.w r1, r2, r3, lsr #15", 1, 0, r1, r2, r3, cv); 1829 TESTINST3("add.w r1, r2, r3, lsr #31", 1, 0, r1, r2, r3, cv); 1830 TESTINST3("add.w r1, r2, r3, asr #0 ", 1, 0, r1, r2, r3, cv); 1831 TESTINST3("add.w r1, r2, r3, asr #1 ", 1, 0, r1, r2, r3, cv); 1832 TESTINST3("add.w r1, r2, r3, asr #15", 1, 0, r1, r2, r3, cv); 1833 TESTINST3("add.w r1, r2, r3, asr #31", 1, 0, r1, r2, r3, cv); 1834 TESTINST3("adds.w r1, r2, r3, lsl #0 ", 0, 1, r1, r2, r3, cv); 1835 TESTINST3("adds.w r1, r2, r3, lsl #1 ", 0, 1, r1, r2, r3, cv); 1836 TESTINST3("adds.w r1, r2, r3, lsl #15", 0, 1, r1, r2, r3, cv); 1837 TESTINST3("adds.w r1, r2, r3, lsl #31", 0, 1, r1, r2, r3, cv); 1838 TESTINST3("adds.w r1, r2, r3, lsr #0 ", 0, 1, r1, r2, r3, cv); 1839 TESTINST3("adds.w r1, r2, r3, lsr #1 ", 0, 1, r1, r2, r3, cv); 1840 TESTINST3("adds.w r1, r2, r3, lsr #15", 0, 1, r1, r2, r3, cv); 1841 TESTINST3("adds.w r1, r2, r3, lsr #31", 0, 1, r1, r2, r3, cv); 1842 TESTINST3("adds.w r1, r2, r3, asr #0 ", 0, 1, r1, r2, r3, cv); 1843 TESTINST3("adds.w r1, r2, r3, asr #1 ", 0, 1, r1, r2, r3, cv); 1844 TESTINST3("adds.w r1, r2, r3, asr #15", 0, 1, r1, r2, r3, cv); 1845 TESTINST3("adds.w r1, r2, r3, asr #31", 0, 1, r1, r2, r3, cv); 1846 TESTINST3("add.w r1, r2, r3, lsl #0 ", 0, 1, r1, r2, r3, cv); 1847 TESTINST3("add.w r1, r2, r3, lsl #1 ", 0, 1, r1, r2, r3, cv); 1848 TESTINST3("add.w r1, r2, r3, lsl #15", 0, 1, r1, r2, r3, cv); 1849 TESTINST3("add.w r1, r2, r3, lsl #31", 0, 1, r1, r2, r3, cv); 1850 TESTINST3("add.w r1, r2, r3, lsr #0 ", 0, 1, r1, r2, r3, cv); 1851 TESTINST3("add.w r1, r2, r3, lsr #1 ", 0, 1, r1, r2, r3, cv); 1852 TESTINST3("add.w r1, r2, r3, lsr #15", 0, 1, r1, r2, r3, cv); 1853 TESTINST3("add.w r1, r2, r3, lsr #31", 0, 1, r1, r2, r3, cv); 1854 TESTINST3("add.w r1, r2, r3, asr #0 ", 0, 1, r1, r2, r3, cv); 1855 TESTINST3("add.w r1, r2, r3, asr #1 ", 0, 1, r1, r2, r3, cv); 1856 TESTINST3("add.w r1, r2, r3, asr #15", 0, 1, r1, r2, r3, cv); 1857 TESTINST3("add.w r1, r2, r3, asr #31", 0, 1, r1, r2, r3, cv); 1858 TESTINST3("adds.w r1, r2, r3, lsl #0 ", -1, 0, r1, r2, r3, cv); 1859 TESTINST3("adds.w r1, r2, r3, lsl #1 ", -1, 0, r1, r2, r3, cv); 1860 TESTINST3("adds.w r1, r2, r3, lsl #15", -1, 0, r1, r2, r3, cv); 1861 TESTINST3("adds.w r1, r2, r3, lsl #31", -1, 0, r1, r2, r3, cv); 1862 TESTINST3("adds.w r1, r2, r3, lsr #0 ", -1, 0, r1, r2, r3, cv); 1863 TESTINST3("adds.w r1, r2, r3, lsr #1 ", -1, 0, r1, r2, r3, cv); 1864 TESTINST3("adds.w r1, r2, r3, lsr #15", -1, 0, r1, r2, r3, cv); 1865 TESTINST3("adds.w r1, r2, r3, lsr #31", -1, 0, r1, r2, r3, cv); 1866 TESTINST3("adds.w r1, r2, r3, asr #0 ", -1, 0, r1, r2, r3, cv); 1867 TESTINST3("adds.w r1, r2, r3, asr #1 ", -1, 0, r1, r2, r3, cv); 1868 TESTINST3("adds.w r1, r2, r3, asr #15", -1, 0, r1, r2, r3, cv); 1869 TESTINST3("adds.w r1, r2, r3, asr #31", -1, 0, r1, r2, r3, cv); 1870 TESTINST3("add.w r1, r2, r3, lsl #0 ", -1, 0, r1, r2, r3, cv); 1871 TESTINST3("add.w r1, r2, r3, lsl #1 ", -1, 0, r1, r2, r3, cv); 1872 TESTINST3("add.w r1, r2, r3, lsl #15", -1, 0, r1, r2, r3, cv); 1873 TESTINST3("add.w r1, r2, r3, lsl #31", -1, 0, r1, r2, r3, cv); 1874 TESTINST3("add.w r1, r2, r3, lsr #0 ", -1, 0, r1, r2, r3, cv); 1875 TESTINST3("add.w r1, r2, r3, lsr #1 ", -1, 0, r1, r2, r3, cv); 1876 TESTINST3("add.w r1, r2, r3, lsr #15", -1, 0, r1, r2, r3, cv); 1877 TESTINST3("add.w r1, r2, r3, lsr #31", -1, 0, r1, r2, r3, cv); 1878 TESTINST3("add.w r1, r2, r3, asr #0 ", -1, 0, r1, r2, r3, cv); 1879 TESTINST3("add.w r1, r2, r3, asr #1 ", -1, 0, r1, r2, r3, cv); 1880 TESTINST3("add.w r1, r2, r3, asr #15", -1, 0, r1, r2, r3, cv); 1881 TESTINST3("add.w r1, r2, r3, asr #31", -1, 0, r1, r2, r3, cv); 1882 TESTINST3("adds.w r1, r2, r3, lsl #0 ", 0, -1, r1, r2, r3, cv); 1883 TESTINST3("adds.w r1, r2, r3, lsl #1 ", 0, -1, r1, r2, r3, cv); 1884 TESTINST3("adds.w r1, r2, r3, lsl #15", 0, -1, r1, r2, r3, cv); 1885 TESTINST3("adds.w r1, r2, r3, lsl #31", 0, -1, r1, r2, r3, cv); 1886 TESTINST3("adds.w r1, r2, r3, lsr #0 ", 0, -1, r1, r2, r3, cv); 1887 TESTINST3("adds.w r1, r2, r3, lsr #1 ", 0, -1, r1, r2, r3, cv); 1888 TESTINST3("adds.w r1, r2, r3, lsr #15", 0, -1, r1, r2, r3, cv); 1889 TESTINST3("adds.w r1, r2, r3, lsr #31", 0, -1, r1, r2, r3, cv); 1890 TESTINST3("adds.w r1, r2, r3, asr #0 ", 0, -1, r1, r2, r3, cv); 1891 TESTINST3("adds.w r1, r2, r3, asr #1 ", 0, -1, r1, r2, r3, cv); 1892 TESTINST3("adds.w r1, r2, r3, asr #15", 0, -1, r1, r2, r3, cv); 1893 TESTINST3("adds.w r1, r2, r3, asr #31", 0, -1, r1, r2, r3, cv); 1894 TESTINST3("add.w r1, r2, r3, lsl #0 ", 0, -1, r1, r2, r3, cv); 1895 TESTINST3("add.w r1, r2, r3, lsl #1 ", 0, -1, r1, r2, r3, cv); 1896 TESTINST3("add.w r1, r2, r3, lsl #15", 0, -1, r1, r2, r3, cv); 1897 TESTINST3("add.w r1, r2, r3, lsl #31", 0, -1, r1, r2, r3, cv); 1898 TESTINST3("add.w r1, r2, r3, lsr #0 ", 0, -1, r1, r2, r3, cv); 1899 TESTINST3("add.w r1, r2, r3, lsr #1 ", 0, -1, r1, r2, r3, cv); 1900 TESTINST3("add.w r1, r2, r3, lsr #15", 0, -1, r1, r2, r3, cv); 1901 TESTINST3("add.w r1, r2, r3, lsr #31", 0, -1, r1, r2, r3, cv); 1902 TESTINST3("add.w r1, r2, r3, asr #0 ", 0, -1, r1, r2, r3, cv); 1903 TESTINST3("add.w r1, r2, r3, asr #1 ", 0, -1, r1, r2, r3, cv); 1904 TESTINST3("add.w r1, r2, r3, asr #15", 0, -1, r1, r2, r3, cv); 1905 TESTINST3("add.w r1, r2, r3, asr #31", 0, -1, r1, r2, r3, cv); 1906 TESTINST3("adds.w r1, r2, r3, lsl #0 ", 0, 0x80000000, r1, r2, r3, cv); 1907 TESTINST3("adds.w r1, r2, r3, lsl #1 ", 0, 0x80000000, r1, r2, r3, cv); 1908 TESTINST3("adds.w r1, r2, r3, lsl #15", 0, 0x80000000, r1, r2, r3, cv); 1909 TESTINST3("adds.w r1, r2, r3, lsl #31", 0, 0x80000000, r1, r2, r3, cv); 1910 TESTINST3("adds.w r1, r2, r3, lsr #0 ", 0, 0x80000000, r1, r2, r3, cv); 1911 TESTINST3("adds.w r1, r2, r3, lsr #1 ", 0, 0x80000000, r1, r2, r3, cv); 1912 TESTINST3("adds.w r1, r2, r3, lsr #15", 0, 0x80000000, r1, r2, r3, cv); 1913 TESTINST3("adds.w r1, r2, r3, lsr #31", 0, 0x80000000, r1, r2, r3, cv); 1914 TESTINST3("adds.w r1, r2, r3, asr #0 ", 0, 0x80000000, r1, r2, r3, cv); 1915 TESTINST3("adds.w r1, r2, r3, asr #1 ", 0, 0x80000000, r1, r2, r3, cv); 1916 TESTINST3("adds.w r1, r2, r3, asr #15", 0, 0x80000000, r1, r2, r3, cv); 1917 TESTINST3("adds.w r1, r2, r3, asr #31", 0, 0x80000000, r1, r2, r3, cv); 1918 TESTINST3("add.w r1, r2, r3, lsl #0 ", 0, 0x80000000, r1, r2, r3, cv); 1919 TESTINST3("add.w r1, r2, r3, lsl #1 ", 0, 0x80000000, r1, r2, r3, cv); 1920 TESTINST3("add.w r1, r2, r3, lsl #15", 0, 0x80000000, r1, r2, r3, cv); 1921 TESTINST3("add.w r1, r2, r3, lsl #31", 0, 0x80000000, r1, r2, r3, cv); 1922 TESTINST3("add.w r1, r2, r3, lsr #0 ", 0, 0x80000000, r1, r2, r3, cv); 1923 TESTINST3("add.w r1, r2, r3, lsr #1 ", 0, 0x80000000, r1, r2, r3, cv); 1924 TESTINST3("add.w r1, r2, r3, lsr #15", 0, 0x80000000, r1, r2, r3, cv); 1925 TESTINST3("add.w r1, r2, r3, lsr #31", 0, 0x80000000, r1, r2, r3, cv); 1926 TESTINST3("add.w r1, r2, r3, asr #0 ", 0, 0x80000000, r1, r2, r3, cv); 1927 TESTINST3("add.w r1, r2, r3, asr #1 ", 0, 0x80000000, r1, r2, r3, cv); 1928 TESTINST3("add.w r1, r2, r3, asr #15", 0, 0x80000000, r1, r2, r3, cv); 1929 TESTINST3("add.w r1, r2, r3, asr #31", 0, 0x80000000, r1, r2, r3, cv); 1930 TESTINST3("adds.w r1, r2, r3, lsl #0 ", 0x80000000, 0, r1, r2, r3, cv); 1931 TESTINST3("adds.w r1, r2, r3, lsl #1 ", 0x80000000, 0, r1, r2, r3, cv); 1932 TESTINST3("adds.w r1, r2, r3, lsl #15", 0x80000000, 0, r1, r2, r3, cv); 1933 TESTINST3("adds.w r1, r2, r3, lsl #31", 0x80000000, 0, r1, r2, r3, cv); 1934 TESTINST3("adds.w r1, r2, r3, lsr #0 ", 0x80000000, 0, r1, r2, r3, cv); 1935 TESTINST3("adds.w r1, r2, r3, lsr #1 ", 0x80000000, 0, r1, r2, r3, cv); 1936 TESTINST3("adds.w r1, r2, r3, lsr #15", 0x80000000, 0, r1, r2, r3, cv); 1937 TESTINST3("adds.w r1, r2, r3, lsr #31", 0x80000000, 0, r1, r2, r3, cv); 1938 TESTINST3("adds.w r1, r2, r3, asr #0 ", 0x80000000, 0, r1, r2, r3, cv); 1939 TESTINST3("adds.w r1, r2, r3, asr #1 ", 0x80000000, 0, r1, r2, r3, cv); 1940 TESTINST3("adds.w r1, r2, r3, asr #15", 0x80000000, 0, r1, r2, r3, cv); 1941 TESTINST3("adds.w r1, r2, r3, asr #31", 0x80000000, 0, r1, r2, r3, cv); 1942 TESTINST3("add.w r1, r2, r3, lsl #0 ", 0x80000000, 0, r1, r2, r3, cv); 1943 TESTINST3("add.w r1, r2, r3, lsl #1 ", 0x80000000, 0, r1, r2, r3, cv); 1944 TESTINST3("add.w r1, r2, r3, lsl #15", 0x80000000, 0, r1, r2, r3, cv); 1945 TESTINST3("add.w r1, r2, r3, lsl #31", 0x80000000, 0, r1, r2, r3, cv); 1946 TESTINST3("add.w r1, r2, r3, lsr #0 ", 0x80000000, 0, r1, r2, r3, cv); 1947 TESTINST3("add.w r1, r2, r3, lsr #1 ", 0x80000000, 0, r1, r2, r3, cv); 1948 TESTINST3("add.w r1, r2, r3, lsr #15", 0x80000000, 0, r1, r2, r3, cv); 1949 TESTINST3("add.w r1, r2, r3, lsr #31", 0x80000000, 0, r1, r2, r3, cv); 1950 TESTINST3("add.w r1, r2, r3, asr #0 ", 0x80000000, 0, r1, r2, r3, cv); 1951 TESTINST3("add.w r1, r2, r3, asr #1 ", 0x80000000, 0, r1, r2, r3, cv); 1952 TESTINST3("add.w r1, r2, r3, asr #15", 0x80000000, 0, r1, r2, r3, cv); 1953 TESTINST3("add.w r1, r2, r3, asr #31", 0x80000000, 0, r1, r2, r3, cv); 1954 TESTINST3("adds.w r1, r2, r3, lsl #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 1955 TESTINST3("adds.w r1, r2, r3, lsl #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 1956 TESTINST3("adds.w r1, r2, r3, lsl #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 1957 TESTINST3("adds.w r1, r2, r3, lsl #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 1958 TESTINST3("adds.w r1, r2, r3, lsr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 1959 TESTINST3("adds.w r1, r2, r3, lsr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 1960 TESTINST3("adds.w r1, r2, r3, lsr #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 1961 TESTINST3("adds.w r1, r2, r3, lsr #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 1962 TESTINST3("adds.w r1, r2, r3, asr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 1963 TESTINST3("adds.w r1, r2, r3, asr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 1964 TESTINST3("adds.w r1, r2, r3, asr #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 1965 TESTINST3("adds.w r1, r2, r3, asr #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 1966 TESTINST3("add.w r1, r2, r3, lsl #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 1967 TESTINST3("add.w r1, r2, r3, lsl #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 1968 TESTINST3("add.w r1, r2, r3, lsl #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 1969 TESTINST3("add.w r1, r2, r3, lsl #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 1970 TESTINST3("add.w r1, r2, r3, lsr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 1971 TESTINST3("add.w r1, r2, r3, lsr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 1972 TESTINST3("add.w r1, r2, r3, lsr #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 1973 TESTINST3("add.w r1, r2, r3, lsr #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 1974 TESTINST3("add.w r1, r2, r3, asr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 1975 TESTINST3("add.w r1, r2, r3, asr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 1976 TESTINST3("add.w r1, r2, r3, asr #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 1977 TESTINST3("add.w r1, r2, r3, asr #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 1978 TESTINST3("adds.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 1979 TESTINST3("adds.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 1980 TESTINST3("adds.w r1, r2, r3, lsl #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 1981 TESTINST3("adds.w r1, r2, r3, lsl #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 1982 TESTINST3("adds.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 1983 TESTINST3("adds.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 1984 TESTINST3("adds.w r1, r2, r3, lsr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 1985 TESTINST3("adds.w r1, r2, r3, lsr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 1986 TESTINST3("adds.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 1987 TESTINST3("adds.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 1988 TESTINST3("adds.w r1, r2, r3, asr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 1989 TESTINST3("adds.w r1, r2, r3, asr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 1990 TESTINST3("add.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 1991 TESTINST3("add.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 1992 TESTINST3("add.w r1, r2, r3, lsl #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 1993 TESTINST3("add.w r1, r2, r3, lsl #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 1994 TESTINST3("add.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 1995 TESTINST3("add.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 1996 TESTINST3("add.w r1, r2, r3, lsr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 1997 TESTINST3("add.w r1, r2, r3, lsr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 1998 TESTINST3("add.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 1999 TESTINST3("add.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2000 TESTINST3("add.w r1, r2, r3, asr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2001 TESTINST3("add.w r1, r2, r3, asr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2002 TESTINST3("adds.w r1, r2, r3, lsl #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2003 TESTINST3("adds.w r1, r2, r3, lsl #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2004 TESTINST3("adds.w r1, r2, r3, lsl #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2005 TESTINST3("adds.w r1, r2, r3, lsl #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2006 TESTINST3("adds.w r1, r2, r3, lsr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2007 TESTINST3("adds.w r1, r2, r3, lsr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2008 TESTINST3("adds.w r1, r2, r3, lsr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2009 TESTINST3("adds.w r1, r2, r3, lsr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2010 TESTINST3("adds.w r1, r2, r3, asr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2011 TESTINST3("adds.w r1, r2, r3, asr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2012 TESTINST3("adds.w r1, r2, r3, asr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2013 TESTINST3("adds.w r1, r2, r3, asr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2014 TESTINST3("add.w r1, r2, r3, lsl #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2015 TESTINST3("add.w r1, r2, r3, lsl #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2016 TESTINST3("add.w r1, r2, r3, lsl #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2017 TESTINST3("add.w r1, r2, r3, lsl #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2018 TESTINST3("add.w r1, r2, r3, lsr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2019 TESTINST3("add.w r1, r2, r3, lsr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2020 TESTINST3("add.w r1, r2, r3, lsr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2021 TESTINST3("add.w r1, r2, r3, lsr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2022 TESTINST3("add.w r1, r2, r3, asr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2023 TESTINST3("add.w r1, r2, r3, asr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2024 TESTINST3("add.w r1, r2, r3, asr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2025 TESTINST3("add.w r1, r2, r3, asr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2026 TESTINST3("adds.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2027 TESTINST3("adds.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2028 TESTINST3("adds.w r1, r2, r3, lsl #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2029 TESTINST3("adds.w r1, r2, r3, lsl #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2030 TESTINST3("adds.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2031 TESTINST3("adds.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2032 TESTINST3("adds.w r1, r2, r3, lsr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2033 TESTINST3("adds.w r1, r2, r3, lsr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2034 TESTINST3("adds.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2035 TESTINST3("adds.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2036 TESTINST3("adds.w r1, r2, r3, asr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2037 TESTINST3("adds.w r1, r2, r3, asr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2038 TESTINST3("add.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2039 TESTINST3("add.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2040 TESTINST3("add.w r1, r2, r3, lsl #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2041 TESTINST3("add.w r1, r2, r3, lsl #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2042 TESTINST3("add.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2043 TESTINST3("add.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2044 TESTINST3("add.w r1, r2, r3, lsr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2045 TESTINST3("add.w r1, r2, r3, lsr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2046 TESTINST3("add.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2047 TESTINST3("add.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2048 TESTINST3("add.w r1, r2, r3, asr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2049 TESTINST3("add.w r1, r2, r3, asr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2050 TESTCARRYEND 2051 2052 printf("SUBB{S}.W Rd, Rn, Rm, {shift}\n"); 2053 TESTCARRY 2054 TESTINST3("subs.w r1, r2, r3, lsl #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 2055 TESTINST3("subs.w r1, r2, r3, lsl #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 2056 TESTINST3("subs.w r1, r2, r3, lsl #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 2057 TESTINST3("subs.w r1, r2, r3, lsl #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 2058 TESTINST3("subs.w r1, r2, r3, lsr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 2059 TESTINST3("subs.w r1, r2, r3, lsr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 2060 TESTINST3("subs.w r1, r2, r3, lsr #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 2061 TESTINST3("subs.w r1, r2, r3, lsr #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 2062 TESTINST3("subs.w r1, r2, r3, asr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 2063 TESTINST3("subs.w r1, r2, r3, asr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 2064 TESTINST3("subs.w r1, r2, r3, asr #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 2065 TESTINST3("subs.w r1, r2, r3, asr #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 2066 TESTINST3("sub.w r1, r2, r3, lsl #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 2067 TESTINST3("sub.w r1, r2, r3, lsl #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 2068 TESTINST3("sub.w r1, r2, r3, lsl #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 2069 TESTINST3("sub.w r1, r2, r3, lsl #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 2070 TESTINST3("sub.w r1, r2, r3, lsr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 2071 TESTINST3("sub.w r1, r2, r3, lsr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 2072 TESTINST3("sub.w r1, r2, r3, lsr #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 2073 TESTINST3("sub.w r1, r2, r3, lsr #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 2074 TESTINST3("sub.w r1, r2, r3, asr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 2075 TESTINST3("sub.w r1, r2, r3, asr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 2076 TESTINST3("sub.w r1, r2, r3, asr #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 2077 TESTINST3("sub.w r1, r2, r3, asr #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 2078 TESTINST3("subs.w r1, r2, r3, lsl #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 2079 TESTINST3("subs.w r1, r2, r3, lsl #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 2080 TESTINST3("subs.w r1, r2, r3, lsl #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 2081 TESTINST3("subs.w r1, r2, r3, lsl #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 2082 TESTINST3("subs.w r1, r2, r3, lsr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 2083 TESTINST3("subs.w r1, r2, r3, lsr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 2084 TESTINST3("subs.w r1, r2, r3, lsr #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 2085 TESTINST3("subs.w r1, r2, r3, lsr #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 2086 TESTINST3("subs.w r1, r2, r3, asr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 2087 TESTINST3("subs.w r1, r2, r3, asr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 2088 TESTINST3("subs.w r1, r2, r3, asr #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 2089 TESTINST3("subs.w r1, r2, r3, asr #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 2090 TESTINST3("sub.w r1, r2, r3, lsl #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 2091 TESTINST3("sub.w r1, r2, r3, lsl #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 2092 TESTINST3("sub.w r1, r2, r3, lsl #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 2093 TESTINST3("sub.w r1, r2, r3, lsl #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 2094 TESTINST3("sub.w r1, r2, r3, lsr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 2095 TESTINST3("sub.w r1, r2, r3, lsr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 2096 TESTINST3("sub.w r1, r2, r3, lsr #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 2097 TESTINST3("sub.w r1, r2, r3, lsr #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 2098 TESTINST3("sub.w r1, r2, r3, asr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 2099 TESTINST3("sub.w r1, r2, r3, asr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 2100 TESTINST3("sub.w r1, r2, r3, asr #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 2101 TESTINST3("sub.w r1, r2, r3, asr #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 2102 TESTINST3("subs.w r1, r2, r3, lsl #0 ", 0, 0, r1, r2, r3, cv); 2103 TESTINST3("subs.w r1, r2, r3, lsl #1 ", 0, 0, r1, r2, r3, cv); 2104 TESTINST3("subs.w r1, r2, r3, lsl #15", 0, 0, r1, r2, r3, cv); 2105 TESTINST3("subs.w r1, r2, r3, lsl #31", 0, 0, r1, r2, r3, cv); 2106 TESTINST3("subs.w r1, r2, r3, lsr #0 ", 0, 0, r1, r2, r3, cv); 2107 TESTINST3("subs.w r1, r2, r3, lsr #1 ", 0, 0, r1, r2, r3, cv); 2108 TESTINST3("subs.w r1, r2, r3, lsr #15", 0, 0, r1, r2, r3, cv); 2109 TESTINST3("subs.w r1, r2, r3, lsr #31", 0, 0, r1, r2, r3, cv); 2110 TESTINST3("subs.w r1, r2, r3, asr #0 ", 0, 0, r1, r2, r3, cv); 2111 TESTINST3("subs.w r1, r2, r3, asr #1 ", 0, 0, r1, r2, r3, cv); 2112 TESTINST3("subs.w r1, r2, r3, asr #15", 0, 0, r1, r2, r3, cv); 2113 TESTINST3("subs.w r1, r2, r3, asr #31", 0, 0, r1, r2, r3, cv); 2114 TESTINST3("sub.w r1, r2, r3, lsl #0 ", 0, 0, r1, r2, r3, cv); 2115 TESTINST3("sub.w r1, r2, r3, lsl #1 ", 0, 0, r1, r2, r3, cv); 2116 TESTINST3("sub.w r1, r2, r3, lsl #15", 0, 0, r1, r2, r3, cv); 2117 TESTINST3("sub.w r1, r2, r3, lsl #31", 0, 0, r1, r2, r3, cv); 2118 TESTINST3("sub.w r1, r2, r3, lsr #0 ", 0, 0, r1, r2, r3, cv); 2119 TESTINST3("sub.w r1, r2, r3, lsr #1 ", 0, 0, r1, r2, r3, cv); 2120 TESTINST3("sub.w r1, r2, r3, lsr #15", 0, 0, r1, r2, r3, cv); 2121 TESTINST3("sub.w r1, r2, r3, lsr #31", 0, 0, r1, r2, r3, cv); 2122 TESTINST3("sub.w r1, r2, r3, asr #0 ", 0, 0, r1, r2, r3, cv); 2123 TESTINST3("sub.w r1, r2, r3, asr #1 ", 0, 0, r1, r2, r3, cv); 2124 TESTINST3("sub.w r1, r2, r3, asr #15", 0, 0, r1, r2, r3, cv); 2125 TESTINST3("sub.w r1, r2, r3, asr #31", 0, 0, r1, r2, r3, cv); 2126 TESTINST3("subs.w r1, r2, r3, lsl #0 ", 1, 0, r1, r2, r3, cv); 2127 TESTINST3("subs.w r1, r2, r3, lsl #1 ", 1, 0, r1, r2, r3, cv); 2128 TESTINST3("subs.w r1, r2, r3, lsl #15", 1, 0, r1, r2, r3, cv); 2129 TESTINST3("subs.w r1, r2, r3, lsl #31", 1, 0, r1, r2, r3, cv); 2130 TESTINST3("subs.w r1, r2, r3, lsr #0 ", 1, 0, r1, r2, r3, cv); 2131 TESTINST3("subs.w r1, r2, r3, lsr #1 ", 1, 0, r1, r2, r3, cv); 2132 TESTINST3("subs.w r1, r2, r3, lsr #15", 1, 0, r1, r2, r3, cv); 2133 TESTINST3("subs.w r1, r2, r3, lsr #31", 1, 0, r1, r2, r3, cv); 2134 TESTINST3("subs.w r1, r2, r3, asr #0 ", 1, 0, r1, r2, r3, cv); 2135 TESTINST3("subs.w r1, r2, r3, asr #1 ", 1, 0, r1, r2, r3, cv); 2136 TESTINST3("subs.w r1, r2, r3, asr #15", 1, 0, r1, r2, r3, cv); 2137 TESTINST3("subs.w r1, r2, r3, asr #31", 1, 0, r1, r2, r3, cv); 2138 TESTINST3("sub.w r1, r2, r3, lsl #0 ", 1, 0, r1, r2, r3, cv); 2139 TESTINST3("sub.w r1, r2, r3, lsl #1 ", 1, 0, r1, r2, r3, cv); 2140 TESTINST3("sub.w r1, r2, r3, lsl #15", 1, 0, r1, r2, r3, cv); 2141 TESTINST3("sub.w r1, r2, r3, lsl #31", 1, 0, r1, r2, r3, cv); 2142 TESTINST3("sub.w r1, r2, r3, lsr #0 ", 1, 0, r1, r2, r3, cv); 2143 TESTINST3("sub.w r1, r2, r3, lsr #1 ", 1, 0, r1, r2, r3, cv); 2144 TESTINST3("sub.w r1, r2, r3, lsr #15", 1, 0, r1, r2, r3, cv); 2145 TESTINST3("sub.w r1, r2, r3, lsr #31", 1, 0, r1, r2, r3, cv); 2146 TESTINST3("sub.w r1, r2, r3, asr #0 ", 1, 0, r1, r2, r3, cv); 2147 TESTINST3("sub.w r1, r2, r3, asr #1 ", 1, 0, r1, r2, r3, cv); 2148 TESTINST3("sub.w r1, r2, r3, asr #15", 1, 0, r1, r2, r3, cv); 2149 TESTINST3("sub.w r1, r2, r3, asr #31", 1, 0, r1, r2, r3, cv); 2150 TESTINST3("subs.w r1, r2, r3, lsl #0 ", 0, 1, r1, r2, r3, cv); 2151 TESTINST3("subs.w r1, r2, r3, lsl #1 ", 0, 1, r1, r2, r3, cv); 2152 TESTINST3("subs.w r1, r2, r3, lsl #15", 0, 1, r1, r2, r3, cv); 2153 TESTINST3("subs.w r1, r2, r3, lsl #31", 0, 1, r1, r2, r3, cv); 2154 TESTINST3("subs.w r1, r2, r3, lsr #0 ", 0, 1, r1, r2, r3, cv); 2155 TESTINST3("subs.w r1, r2, r3, lsr #1 ", 0, 1, r1, r2, r3, cv); 2156 TESTINST3("subs.w r1, r2, r3, lsr #15", 0, 1, r1, r2, r3, cv); 2157 TESTINST3("subs.w r1, r2, r3, lsr #31", 0, 1, r1, r2, r3, cv); 2158 TESTINST3("subs.w r1, r2, r3, asr #0 ", 0, 1, r1, r2, r3, cv); 2159 TESTINST3("subs.w r1, r2, r3, asr #1 ", 0, 1, r1, r2, r3, cv); 2160 TESTINST3("subs.w r1, r2, r3, asr #15", 0, 1, r1, r2, r3, cv); 2161 TESTINST3("subs.w r1, r2, r3, asr #31", 0, 1, r1, r2, r3, cv); 2162 TESTINST3("sub.w r1, r2, r3, lsl #0 ", 0, 1, r1, r2, r3, cv); 2163 TESTINST3("sub.w r1, r2, r3, lsl #1 ", 0, 1, r1, r2, r3, cv); 2164 TESTINST3("sub.w r1, r2, r3, lsl #15", 0, 1, r1, r2, r3, cv); 2165 TESTINST3("sub.w r1, r2, r3, lsl #31", 0, 1, r1, r2, r3, cv); 2166 TESTINST3("sub.w r1, r2, r3, lsr #0 ", 0, 1, r1, r2, r3, cv); 2167 TESTINST3("sub.w r1, r2, r3, lsr #1 ", 0, 1, r1, r2, r3, cv); 2168 TESTINST3("sub.w r1, r2, r3, lsr #15", 0, 1, r1, r2, r3, cv); 2169 TESTINST3("sub.w r1, r2, r3, lsr #31", 0, 1, r1, r2, r3, cv); 2170 TESTINST3("sub.w r1, r2, r3, asr #0 ", 0, 1, r1, r2, r3, cv); 2171 TESTINST3("sub.w r1, r2, r3, asr #1 ", 0, 1, r1, r2, r3, cv); 2172 TESTINST3("sub.w r1, r2, r3, asr #15", 0, 1, r1, r2, r3, cv); 2173 TESTINST3("sub.w r1, r2, r3, asr #31", 0, 1, r1, r2, r3, cv); 2174 TESTINST3("subs.w r1, r2, r3, lsl #0 ", -1, 0, r1, r2, r3, cv); 2175 TESTINST3("subs.w r1, r2, r3, lsl #1 ", -1, 0, r1, r2, r3, cv); 2176 TESTINST3("subs.w r1, r2, r3, lsl #15", -1, 0, r1, r2, r3, cv); 2177 TESTINST3("subs.w r1, r2, r3, lsl #31", -1, 0, r1, r2, r3, cv); 2178 TESTINST3("subs.w r1, r2, r3, lsr #0 ", -1, 0, r1, r2, r3, cv); 2179 TESTINST3("subs.w r1, r2, r3, lsr #1 ", -1, 0, r1, r2, r3, cv); 2180 TESTINST3("subs.w r1, r2, r3, lsr #15", -1, 0, r1, r2, r3, cv); 2181 TESTINST3("subs.w r1, r2, r3, lsr #31", -1, 0, r1, r2, r3, cv); 2182 TESTINST3("subs.w r1, r2, r3, asr #0 ", -1, 0, r1, r2, r3, cv); 2183 TESTINST3("subs.w r1, r2, r3, asr #1 ", -1, 0, r1, r2, r3, cv); 2184 TESTINST3("subs.w r1, r2, r3, asr #15", -1, 0, r1, r2, r3, cv); 2185 TESTINST3("subs.w r1, r2, r3, asr #31", -1, 0, r1, r2, r3, cv); 2186 TESTINST3("sub.w r1, r2, r3, lsl #0 ", -1, 0, r1, r2, r3, cv); 2187 TESTINST3("sub.w r1, r2, r3, lsl #1 ", -1, 0, r1, r2, r3, cv); 2188 TESTINST3("sub.w r1, r2, r3, lsl #15", -1, 0, r1, r2, r3, cv); 2189 TESTINST3("sub.w r1, r2, r3, lsl #31", -1, 0, r1, r2, r3, cv); 2190 TESTINST3("sub.w r1, r2, r3, lsr #0 ", -1, 0, r1, r2, r3, cv); 2191 TESTINST3("sub.w r1, r2, r3, lsr #1 ", -1, 0, r1, r2, r3, cv); 2192 TESTINST3("sub.w r1, r2, r3, lsr #15", -1, 0, r1, r2, r3, cv); 2193 TESTINST3("sub.w r1, r2, r3, lsr #31", -1, 0, r1, r2, r3, cv); 2194 TESTINST3("sub.w r1, r2, r3, asr #0 ", -1, 0, r1, r2, r3, cv); 2195 TESTINST3("sub.w r1, r2, r3, asr #1 ", -1, 0, r1, r2, r3, cv); 2196 TESTINST3("sub.w r1, r2, r3, asr #15", -1, 0, r1, r2, r3, cv); 2197 TESTINST3("sub.w r1, r2, r3, asr #31", -1, 0, r1, r2, r3, cv); 2198 TESTINST3("subs.w r1, r2, r3, lsl #0 ", 0, -1, r1, r2, r3, cv); 2199 TESTINST3("subs.w r1, r2, r3, lsl #1 ", 0, -1, r1, r2, r3, cv); 2200 TESTINST3("subs.w r1, r2, r3, lsl #15", 0, -1, r1, r2, r3, cv); 2201 TESTINST3("subs.w r1, r2, r3, lsl #31", 0, -1, r1, r2, r3, cv); 2202 TESTINST3("subs.w r1, r2, r3, lsr #0 ", 0, -1, r1, r2, r3, cv); 2203 TESTINST3("subs.w r1, r2, r3, lsr #1 ", 0, -1, r1, r2, r3, cv); 2204 TESTINST3("subs.w r1, r2, r3, lsr #15", 0, -1, r1, r2, r3, cv); 2205 TESTINST3("subs.w r1, r2, r3, lsr #31", 0, -1, r1, r2, r3, cv); 2206 TESTINST3("subs.w r1, r2, r3, asr #0 ", 0, -1, r1, r2, r3, cv); 2207 TESTINST3("subs.w r1, r2, r3, asr #1 ", 0, -1, r1, r2, r3, cv); 2208 TESTINST3("subs.w r1, r2, r3, asr #15", 0, -1, r1, r2, r3, cv); 2209 TESTINST3("subs.w r1, r2, r3, asr #31", 0, -1, r1, r2, r3, cv); 2210 TESTINST3("sub.w r1, r2, r3, lsl #0 ", 0, -1, r1, r2, r3, cv); 2211 TESTINST3("sub.w r1, r2, r3, lsl #1 ", 0, -1, r1, r2, r3, cv); 2212 TESTINST3("sub.w r1, r2, r3, lsl #15", 0, -1, r1, r2, r3, cv); 2213 TESTINST3("sub.w r1, r2, r3, lsl #31", 0, -1, r1, r2, r3, cv); 2214 TESTINST3("sub.w r1, r2, r3, lsr #0 ", 0, -1, r1, r2, r3, cv); 2215 TESTINST3("sub.w r1, r2, r3, lsr #1 ", 0, -1, r1, r2, r3, cv); 2216 TESTINST3("sub.w r1, r2, r3, lsr #15", 0, -1, r1, r2, r3, cv); 2217 TESTINST3("sub.w r1, r2, r3, lsr #31", 0, -1, r1, r2, r3, cv); 2218 TESTINST3("sub.w r1, r2, r3, asr #0 ", 0, -1, r1, r2, r3, cv); 2219 TESTINST3("sub.w r1, r2, r3, asr #1 ", 0, -1, r1, r2, r3, cv); 2220 TESTINST3("sub.w r1, r2, r3, asr #15", 0, -1, r1, r2, r3, cv); 2221 TESTINST3("sub.w r1, r2, r3, asr #31", 0, -1, r1, r2, r3, cv); 2222 TESTINST3("subs.w r1, r2, r3, lsl #0 ", 0, 0x80000000, r1, r2, r3, cv); 2223 TESTINST3("subs.w r1, r2, r3, lsl #1 ", 0, 0x80000000, r1, r2, r3, cv); 2224 TESTINST3("subs.w r1, r2, r3, lsl #15", 0, 0x80000000, r1, r2, r3, cv); 2225 TESTINST3("subs.w r1, r2, r3, lsl #31", 0, 0x80000000, r1, r2, r3, cv); 2226 TESTINST3("subs.w r1, r2, r3, lsr #0 ", 0, 0x80000000, r1, r2, r3, cv); 2227 TESTINST3("subs.w r1, r2, r3, lsr #1 ", 0, 0x80000000, r1, r2, r3, cv); 2228 TESTINST3("subs.w r1, r2, r3, lsr #15", 0, 0x80000000, r1, r2, r3, cv); 2229 TESTINST3("subs.w r1, r2, r3, lsr #31", 0, 0x80000000, r1, r2, r3, cv); 2230 TESTINST3("subs.w r1, r2, r3, asr #0 ", 0, 0x80000000, r1, r2, r3, cv); 2231 TESTINST3("subs.w r1, r2, r3, asr #1 ", 0, 0x80000000, r1, r2, r3, cv); 2232 TESTINST3("subs.w r1, r2, r3, asr #15", 0, 0x80000000, r1, r2, r3, cv); 2233 TESTINST3("subs.w r1, r2, r3, asr #31", 0, 0x80000000, r1, r2, r3, cv); 2234 TESTINST3("sub.w r1, r2, r3, lsl #0 ", 0, 0x80000000, r1, r2, r3, cv); 2235 TESTINST3("sub.w r1, r2, r3, lsl #1 ", 0, 0x80000000, r1, r2, r3, cv); 2236 TESTINST3("sub.w r1, r2, r3, lsl #15", 0, 0x80000000, r1, r2, r3, cv); 2237 TESTINST3("sub.w r1, r2, r3, lsl #31", 0, 0x80000000, r1, r2, r3, cv); 2238 TESTINST3("sub.w r1, r2, r3, lsr #0 ", 0, 0x80000000, r1, r2, r3, cv); 2239 TESTINST3("sub.w r1, r2, r3, lsr #1 ", 0, 0x80000000, r1, r2, r3, cv); 2240 TESTINST3("sub.w r1, r2, r3, lsr #15", 0, 0x80000000, r1, r2, r3, cv); 2241 TESTINST3("sub.w r1, r2, r3, lsr #31", 0, 0x80000000, r1, r2, r3, cv); 2242 TESTINST3("sub.w r1, r2, r3, asr #0 ", 0, 0x80000000, r1, r2, r3, cv); 2243 TESTINST3("sub.w r1, r2, r3, asr #1 ", 0, 0x80000000, r1, r2, r3, cv); 2244 TESTINST3("sub.w r1, r2, r3, asr #15", 0, 0x80000000, r1, r2, r3, cv); 2245 TESTINST3("sub.w r1, r2, r3, asr #31", 0, 0x80000000, r1, r2, r3, cv); 2246 TESTINST3("subs.w r1, r2, r3, lsl #0 ", 0x80000000, 0, r1, r2, r3, cv); 2247 TESTINST3("subs.w r1, r2, r3, lsl #1 ", 0x80000000, 0, r1, r2, r3, cv); 2248 TESTINST3("subs.w r1, r2, r3, lsl #15", 0x80000000, 0, r1, r2, r3, cv); 2249 TESTINST3("subs.w r1, r2, r3, lsl #31", 0x80000000, 0, r1, r2, r3, cv); 2250 TESTINST3("subs.w r1, r2, r3, lsr #0 ", 0x80000000, 0, r1, r2, r3, cv); 2251 TESTINST3("subs.w r1, r2, r3, lsr #1 ", 0x80000000, 0, r1, r2, r3, cv); 2252 TESTINST3("subs.w r1, r2, r3, lsr #15", 0x80000000, 0, r1, r2, r3, cv); 2253 TESTINST3("subs.w r1, r2, r3, lsr #31", 0x80000000, 0, r1, r2, r3, cv); 2254 TESTINST3("subs.w r1, r2, r3, asr #0 ", 0x80000000, 0, r1, r2, r3, cv); 2255 TESTINST3("subs.w r1, r2, r3, asr #1 ", 0x80000000, 0, r1, r2, r3, cv); 2256 TESTINST3("subs.w r1, r2, r3, asr #15", 0x80000000, 0, r1, r2, r3, cv); 2257 TESTINST3("subs.w r1, r2, r3, asr #31", 0x80000000, 0, r1, r2, r3, cv); 2258 TESTINST3("sub.w r1, r2, r3, lsl #0 ", 0x80000000, 0, r1, r2, r3, cv); 2259 TESTINST3("sub.w r1, r2, r3, lsl #1 ", 0x80000000, 0, r1, r2, r3, cv); 2260 TESTINST3("sub.w r1, r2, r3, lsl #15", 0x80000000, 0, r1, r2, r3, cv); 2261 TESTINST3("sub.w r1, r2, r3, lsl #31", 0x80000000, 0, r1, r2, r3, cv); 2262 TESTINST3("sub.w r1, r2, r3, lsr #0 ", 0x80000000, 0, r1, r2, r3, cv); 2263 TESTINST3("sub.w r1, r2, r3, lsr #1 ", 0x80000000, 0, r1, r2, r3, cv); 2264 TESTINST3("sub.w r1, r2, r3, lsr #15", 0x80000000, 0, r1, r2, r3, cv); 2265 TESTINST3("sub.w r1, r2, r3, lsr #31", 0x80000000, 0, r1, r2, r3, cv); 2266 TESTINST3("sub.w r1, r2, r3, asr #0 ", 0x80000000, 0, r1, r2, r3, cv); 2267 TESTINST3("sub.w r1, r2, r3, asr #1 ", 0x80000000, 0, r1, r2, r3, cv); 2268 TESTINST3("sub.w r1, r2, r3, asr #15", 0x80000000, 0, r1, r2, r3, cv); 2269 TESTINST3("sub.w r1, r2, r3, asr #31", 0x80000000, 0, r1, r2, r3, cv); 2270 TESTINST3("subs.w r1, r2, r3, lsl #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 2271 TESTINST3("subs.w r1, r2, r3, lsl #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 2272 TESTINST3("subs.w r1, r2, r3, lsl #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 2273 TESTINST3("subs.w r1, r2, r3, lsl #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 2274 TESTINST3("subs.w r1, r2, r3, lsr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 2275 TESTINST3("subs.w r1, r2, r3, lsr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 2276 TESTINST3("subs.w r1, r2, r3, lsr #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 2277 TESTINST3("subs.w r1, r2, r3, lsr #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 2278 TESTINST3("subs.w r1, r2, r3, asr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 2279 TESTINST3("subs.w r1, r2, r3, asr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 2280 TESTINST3("subs.w r1, r2, r3, asr #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 2281 TESTINST3("subs.w r1, r2, r3, asr #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 2282 TESTINST3("sub.w r1, r2, r3, lsl #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 2283 TESTINST3("sub.w r1, r2, r3, lsl #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 2284 TESTINST3("sub.w r1, r2, r3, lsl #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 2285 TESTINST3("sub.w r1, r2, r3, lsl #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 2286 TESTINST3("sub.w r1, r2, r3, lsr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 2287 TESTINST3("sub.w r1, r2, r3, lsr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 2288 TESTINST3("sub.w r1, r2, r3, lsr #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 2289 TESTINST3("sub.w r1, r2, r3, lsr #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 2290 TESTINST3("sub.w r1, r2, r3, asr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 2291 TESTINST3("sub.w r1, r2, r3, asr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 2292 TESTINST3("sub.w r1, r2, r3, asr #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 2293 TESTINST3("sub.w r1, r2, r3, asr #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 2294 TESTINST3("subs.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2295 TESTINST3("subs.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2296 TESTINST3("subs.w r1, r2, r3, lsl #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2297 TESTINST3("subs.w r1, r2, r3, lsl #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2298 TESTINST3("subs.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2299 TESTINST3("subs.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2300 TESTINST3("subs.w r1, r2, r3, lsr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2301 TESTINST3("subs.w r1, r2, r3, lsr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2302 TESTINST3("subs.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2303 TESTINST3("subs.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2304 TESTINST3("subs.w r1, r2, r3, asr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2305 TESTINST3("subs.w r1, r2, r3, asr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2306 TESTINST3("sub.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2307 TESTINST3("sub.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2308 TESTINST3("sub.w r1, r2, r3, lsl #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2309 TESTINST3("sub.w r1, r2, r3, lsl #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2310 TESTINST3("sub.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2311 TESTINST3("sub.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2312 TESTINST3("sub.w r1, r2, r3, lsr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2313 TESTINST3("sub.w r1, r2, r3, lsr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2314 TESTINST3("sub.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2315 TESTINST3("sub.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2316 TESTINST3("sub.w r1, r2, r3, asr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2317 TESTINST3("sub.w r1, r2, r3, asr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2318 TESTINST3("subs.w r1, r2, r3, lsl #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2319 TESTINST3("subs.w r1, r2, r3, lsl #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2320 TESTINST3("subs.w r1, r2, r3, lsl #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2321 TESTINST3("subs.w r1, r2, r3, lsl #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2322 TESTINST3("subs.w r1, r2, r3, lsr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2323 TESTINST3("subs.w r1, r2, r3, lsr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2324 TESTINST3("subs.w r1, r2, r3, lsr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2325 TESTINST3("subs.w r1, r2, r3, lsr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2326 TESTINST3("subs.w r1, r2, r3, asr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2327 TESTINST3("subs.w r1, r2, r3, asr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2328 TESTINST3("subs.w r1, r2, r3, asr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2329 TESTINST3("subs.w r1, r2, r3, asr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2330 TESTINST3("sub.w r1, r2, r3, lsl #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2331 TESTINST3("sub.w r1, r2, r3, lsl #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2332 TESTINST3("sub.w r1, r2, r3, lsl #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2333 TESTINST3("sub.w r1, r2, r3, lsl #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2334 TESTINST3("sub.w r1, r2, r3, lsr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2335 TESTINST3("sub.w r1, r2, r3, lsr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2336 TESTINST3("sub.w r1, r2, r3, lsr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2337 TESTINST3("sub.w r1, r2, r3, lsr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2338 TESTINST3("sub.w r1, r2, r3, asr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2339 TESTINST3("sub.w r1, r2, r3, asr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2340 TESTINST3("sub.w r1, r2, r3, asr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2341 TESTINST3("sub.w r1, r2, r3, asr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2342 TESTINST3("subs.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2343 TESTINST3("subs.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2344 TESTINST3("subs.w r1, r2, r3, lsl #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2345 TESTINST3("subs.w r1, r2, r3, lsl #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2346 TESTINST3("subs.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2347 TESTINST3("subs.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2348 TESTINST3("subs.w r1, r2, r3, lsr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2349 TESTINST3("subs.w r1, r2, r3, lsr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2350 TESTINST3("subs.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2351 TESTINST3("subs.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2352 TESTINST3("subs.w r1, r2, r3, asr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2353 TESTINST3("subs.w r1, r2, r3, asr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2354 TESTINST3("sub.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2355 TESTINST3("sub.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2356 TESTINST3("sub.w r1, r2, r3, lsl #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2357 TESTINST3("sub.w r1, r2, r3, lsl #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2358 TESTINST3("sub.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2359 TESTINST3("sub.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2360 TESTINST3("sub.w r1, r2, r3, lsr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2361 TESTINST3("sub.w r1, r2, r3, lsr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2362 TESTINST3("sub.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2363 TESTINST3("sub.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2364 TESTINST3("sub.w r1, r2, r3, asr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2365 TESTINST3("sub.w r1, r2, r3, asr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2366 TESTCARRYEND 2367 2368 printf("RSB{S}.W Rd, Rn, Rm, {shift}\n"); 2369 TESTCARRY 2370 TESTINST3("rsbs.w r1, r2, r3, lsl #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 2371 TESTINST3("rsbs.w r1, r2, r3, lsl #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 2372 TESTINST3("rsbs.w r1, r2, r3, lsl #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 2373 TESTINST3("rsbs.w r1, r2, r3, lsl #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 2374 TESTINST3("rsbs.w r1, r2, r3, lsr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 2375 TESTINST3("rsbs.w r1, r2, r3, lsr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 2376 TESTINST3("rsbs.w r1, r2, r3, lsr #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 2377 TESTINST3("rsbs.w r1, r2, r3, lsr #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 2378 TESTINST3("rsbs.w r1, r2, r3, asr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 2379 TESTINST3("rsbs.w r1, r2, r3, asr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 2380 TESTINST3("rsbs.w r1, r2, r3, asr #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 2381 TESTINST3("rsbs.w r1, r2, r3, asr #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 2382 TESTINST3("rsb.w r1, r2, r3, lsl #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 2383 TESTINST3("rsb.w r1, r2, r3, lsl #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 2384 TESTINST3("rsb.w r1, r2, r3, lsl #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 2385 TESTINST3("rsb.w r1, r2, r3, lsl #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 2386 TESTINST3("rsb.w r1, r2, r3, lsr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 2387 TESTINST3("rsb.w r1, r2, r3, lsr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 2388 TESTINST3("rsb.w r1, r2, r3, lsr #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 2389 TESTINST3("rsb.w r1, r2, r3, lsr #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 2390 TESTINST3("rsb.w r1, r2, r3, asr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 2391 TESTINST3("rsb.w r1, r2, r3, asr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 2392 TESTINST3("rsb.w r1, r2, r3, asr #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 2393 TESTINST3("rsb.w r1, r2, r3, asr #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 2394 TESTINST3("rsbs.w r1, r2, r3, lsl #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 2395 TESTINST3("rsbs.w r1, r2, r3, lsl #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 2396 TESTINST3("rsbs.w r1, r2, r3, lsl #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 2397 TESTINST3("rsbs.w r1, r2, r3, lsl #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 2398 TESTINST3("rsbs.w r1, r2, r3, lsr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 2399 TESTINST3("rsbs.w r1, r2, r3, lsr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 2400 TESTINST3("rsbs.w r1, r2, r3, lsr #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 2401 TESTINST3("rsbs.w r1, r2, r3, lsr #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 2402 TESTINST3("rsbs.w r1, r2, r3, asr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 2403 TESTINST3("rsbs.w r1, r2, r3, asr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 2404 TESTINST3("rsbs.w r1, r2, r3, asr #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 2405 TESTINST3("rsbs.w r1, r2, r3, asr #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 2406 TESTINST3("rsb.w r1, r2, r3, lsl #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 2407 TESTINST3("rsb.w r1, r2, r3, lsl #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 2408 TESTINST3("rsb.w r1, r2, r3, lsl #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 2409 TESTINST3("rsb.w r1, r2, r3, lsl #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 2410 TESTINST3("rsb.w r1, r2, r3, lsr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 2411 TESTINST3("rsb.w r1, r2, r3, lsr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 2412 TESTINST3("rsb.w r1, r2, r3, lsr #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 2413 TESTINST3("rsb.w r1, r2, r3, lsr #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 2414 TESTINST3("rsb.w r1, r2, r3, asr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 2415 TESTINST3("rsb.w r1, r2, r3, asr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 2416 TESTINST3("rsb.w r1, r2, r3, asr #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 2417 TESTINST3("rsb.w r1, r2, r3, asr #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 2418 TESTINST3("rsbs.w r1, r2, r3, lsl #0 ", 0, 0, r1, r2, r3, cv); 2419 TESTINST3("rsbs.w r1, r2, r3, lsl #1 ", 0, 0, r1, r2, r3, cv); 2420 TESTINST3("rsbs.w r1, r2, r3, lsl #15", 0, 0, r1, r2, r3, cv); 2421 TESTINST3("rsbs.w r1, r2, r3, lsl #31", 0, 0, r1, r2, r3, cv); 2422 TESTINST3("rsbs.w r1, r2, r3, lsr #0 ", 0, 0, r1, r2, r3, cv); 2423 TESTINST3("rsbs.w r1, r2, r3, lsr #1 ", 0, 0, r1, r2, r3, cv); 2424 TESTINST3("rsbs.w r1, r2, r3, lsr #15", 0, 0, r1, r2, r3, cv); 2425 TESTINST3("rsbs.w r1, r2, r3, lsr #31", 0, 0, r1, r2, r3, cv); 2426 TESTINST3("rsbs.w r1, r2, r3, asr #0 ", 0, 0, r1, r2, r3, cv); 2427 TESTINST3("rsbs.w r1, r2, r3, asr #1 ", 0, 0, r1, r2, r3, cv); 2428 TESTINST3("rsbs.w r1, r2, r3, asr #15", 0, 0, r1, r2, r3, cv); 2429 TESTINST3("rsbs.w r1, r2, r3, asr #31", 0, 0, r1, r2, r3, cv); 2430 TESTINST3("rsb.w r1, r2, r3, lsl #0 ", 0, 0, r1, r2, r3, cv); 2431 TESTINST3("rsb.w r1, r2, r3, lsl #1 ", 0, 0, r1, r2, r3, cv); 2432 TESTINST3("rsb.w r1, r2, r3, lsl #15", 0, 0, r1, r2, r3, cv); 2433 TESTINST3("rsb.w r1, r2, r3, lsl #31", 0, 0, r1, r2, r3, cv); 2434 TESTINST3("rsb.w r1, r2, r3, lsr #0 ", 0, 0, r1, r2, r3, cv); 2435 TESTINST3("rsb.w r1, r2, r3, lsr #1 ", 0, 0, r1, r2, r3, cv); 2436 TESTINST3("rsb.w r1, r2, r3, lsr #15", 0, 0, r1, r2, r3, cv); 2437 TESTINST3("rsb.w r1, r2, r3, lsr #31", 0, 0, r1, r2, r3, cv); 2438 TESTINST3("rsb.w r1, r2, r3, asr #0 ", 0, 0, r1, r2, r3, cv); 2439 TESTINST3("rsb.w r1, r2, r3, asr #1 ", 0, 0, r1, r2, r3, cv); 2440 TESTINST3("rsb.w r1, r2, r3, asr #15", 0, 0, r1, r2, r3, cv); 2441 TESTINST3("rsb.w r1, r2, r3, asr #31", 0, 0, r1, r2, r3, cv); 2442 TESTINST3("rsbs.w r1, r2, r3, lsl #0 ", 1, 0, r1, r2, r3, cv); 2443 TESTINST3("rsbs.w r1, r2, r3, lsl #1 ", 1, 0, r1, r2, r3, cv); 2444 TESTINST3("rsbs.w r1, r2, r3, lsl #15", 1, 0, r1, r2, r3, cv); 2445 TESTINST3("rsbs.w r1, r2, r3, lsl #31", 1, 0, r1, r2, r3, cv); 2446 TESTINST3("rsbs.w r1, r2, r3, lsr #0 ", 1, 0, r1, r2, r3, cv); 2447 TESTINST3("rsbs.w r1, r2, r3, lsr #1 ", 1, 0, r1, r2, r3, cv); 2448 TESTINST3("rsbs.w r1, r2, r3, lsr #15", 1, 0, r1, r2, r3, cv); 2449 TESTINST3("rsbs.w r1, r2, r3, lsr #31", 1, 0, r1, r2, r3, cv); 2450 TESTINST3("rsbs.w r1, r2, r3, asr #0 ", 1, 0, r1, r2, r3, cv); 2451 TESTINST3("rsbs.w r1, r2, r3, asr #1 ", 1, 0, r1, r2, r3, cv); 2452 TESTINST3("rsbs.w r1, r2, r3, asr #15", 1, 0, r1, r2, r3, cv); 2453 TESTINST3("rsbs.w r1, r2, r3, asr #31", 1, 0, r1, r2, r3, cv); 2454 TESTINST3("rsb.w r1, r2, r3, lsl #0 ", 1, 0, r1, r2, r3, cv); 2455 TESTINST3("rsb.w r1, r2, r3, lsl #1 ", 1, 0, r1, r2, r3, cv); 2456 TESTINST3("rsb.w r1, r2, r3, lsl #15", 1, 0, r1, r2, r3, cv); 2457 TESTINST3("rsb.w r1, r2, r3, lsl #31", 1, 0, r1, r2, r3, cv); 2458 TESTINST3("rsb.w r1, r2, r3, lsr #0 ", 1, 0, r1, r2, r3, cv); 2459 TESTINST3("rsb.w r1, r2, r3, lsr #1 ", 1, 0, r1, r2, r3, cv); 2460 TESTINST3("rsb.w r1, r2, r3, lsr #15", 1, 0, r1, r2, r3, cv); 2461 TESTINST3("rsb.w r1, r2, r3, lsr #31", 1, 0, r1, r2, r3, cv); 2462 TESTINST3("rsb.w r1, r2, r3, asr #0 ", 1, 0, r1, r2, r3, cv); 2463 TESTINST3("rsb.w r1, r2, r3, asr #1 ", 1, 0, r1, r2, r3, cv); 2464 TESTINST3("rsb.w r1, r2, r3, asr #15", 1, 0, r1, r2, r3, cv); 2465 TESTINST3("rsb.w r1, r2, r3, asr #31", 1, 0, r1, r2, r3, cv); 2466 TESTINST3("rsbs.w r1, r2, r3, lsl #0 ", 0, 1, r1, r2, r3, cv); 2467 TESTINST3("rsbs.w r1, r2, r3, lsl #1 ", 0, 1, r1, r2, r3, cv); 2468 TESTINST3("rsbs.w r1, r2, r3, lsl #15", 0, 1, r1, r2, r3, cv); 2469 TESTINST3("rsbs.w r1, r2, r3, lsl #31", 0, 1, r1, r2, r3, cv); 2470 TESTINST3("rsbs.w r1, r2, r3, lsr #0 ", 0, 1, r1, r2, r3, cv); 2471 TESTINST3("rsbs.w r1, r2, r3, lsr #1 ", 0, 1, r1, r2, r3, cv); 2472 TESTINST3("rsbs.w r1, r2, r3, lsr #15", 0, 1, r1, r2, r3, cv); 2473 TESTINST3("rsbs.w r1, r2, r3, lsr #31", 0, 1, r1, r2, r3, cv); 2474 TESTINST3("rsbs.w r1, r2, r3, asr #0 ", 0, 1, r1, r2, r3, cv); 2475 TESTINST3("rsbs.w r1, r2, r3, asr #1 ", 0, 1, r1, r2, r3, cv); 2476 TESTINST3("rsbs.w r1, r2, r3, asr #15", 0, 1, r1, r2, r3, cv); 2477 TESTINST3("rsbs.w r1, r2, r3, asr #31", 0, 1, r1, r2, r3, cv); 2478 TESTINST3("rsb.w r1, r2, r3, lsl #0 ", 0, 1, r1, r2, r3, cv); 2479 TESTINST3("rsb.w r1, r2, r3, lsl #1 ", 0, 1, r1, r2, r3, cv); 2480 TESTINST3("rsb.w r1, r2, r3, lsl #15", 0, 1, r1, r2, r3, cv); 2481 TESTINST3("rsb.w r1, r2, r3, lsl #31", 0, 1, r1, r2, r3, cv); 2482 TESTINST3("rsb.w r1, r2, r3, lsr #0 ", 0, 1, r1, r2, r3, cv); 2483 TESTINST3("rsb.w r1, r2, r3, lsr #1 ", 0, 1, r1, r2, r3, cv); 2484 TESTINST3("rsb.w r1, r2, r3, lsr #15", 0, 1, r1, r2, r3, cv); 2485 TESTINST3("rsb.w r1, r2, r3, lsr #31", 0, 1, r1, r2, r3, cv); 2486 TESTINST3("rsb.w r1, r2, r3, asr #0 ", 0, 1, r1, r2, r3, cv); 2487 TESTINST3("rsb.w r1, r2, r3, asr #1 ", 0, 1, r1, r2, r3, cv); 2488 TESTINST3("rsb.w r1, r2, r3, asr #15", 0, 1, r1, r2, r3, cv); 2489 TESTINST3("rsb.w r1, r2, r3, asr #31", 0, 1, r1, r2, r3, cv); 2490 TESTINST3("rsbs.w r1, r2, r3, lsl #0 ", -1, 0, r1, r2, r3, cv); 2491 TESTINST3("rsbs.w r1, r2, r3, lsl #1 ", -1, 0, r1, r2, r3, cv); 2492 TESTINST3("rsbs.w r1, r2, r3, lsl #15", -1, 0, r1, r2, r3, cv); 2493 TESTINST3("rsbs.w r1, r2, r3, lsl #31", -1, 0, r1, r2, r3, cv); 2494 TESTINST3("rsbs.w r1, r2, r3, lsr #0 ", -1, 0, r1, r2, r3, cv); 2495 TESTINST3("rsbs.w r1, r2, r3, lsr #1 ", -1, 0, r1, r2, r3, cv); 2496 TESTINST3("rsbs.w r1, r2, r3, lsr #15", -1, 0, r1, r2, r3, cv); 2497 TESTINST3("rsbs.w r1, r2, r3, lsr #31", -1, 0, r1, r2, r3, cv); 2498 TESTINST3("rsbs.w r1, r2, r3, asr #0 ", -1, 0, r1, r2, r3, cv); 2499 TESTINST3("rsbs.w r1, r2, r3, asr #1 ", -1, 0, r1, r2, r3, cv); 2500 TESTINST3("rsbs.w r1, r2, r3, asr #15", -1, 0, r1, r2, r3, cv); 2501 TESTINST3("rsbs.w r1, r2, r3, asr #31", -1, 0, r1, r2, r3, cv); 2502 TESTINST3("rsb.w r1, r2, r3, lsl #0 ", -1, 0, r1, r2, r3, cv); 2503 TESTINST3("rsb.w r1, r2, r3, lsl #1 ", -1, 0, r1, r2, r3, cv); 2504 TESTINST3("rsb.w r1, r2, r3, lsl #15", -1, 0, r1, r2, r3, cv); 2505 TESTINST3("rsb.w r1, r2, r3, lsl #31", -1, 0, r1, r2, r3, cv); 2506 TESTINST3("rsb.w r1, r2, r3, lsr #0 ", -1, 0, r1, r2, r3, cv); 2507 TESTINST3("rsb.w r1, r2, r3, lsr #1 ", -1, 0, r1, r2, r3, cv); 2508 TESTINST3("rsb.w r1, r2, r3, lsr #15", -1, 0, r1, r2, r3, cv); 2509 TESTINST3("rsb.w r1, r2, r3, lsr #31", -1, 0, r1, r2, r3, cv); 2510 TESTINST3("rsb.w r1, r2, r3, asr #0 ", -1, 0, r1, r2, r3, cv); 2511 TESTINST3("rsb.w r1, r2, r3, asr #1 ", -1, 0, r1, r2, r3, cv); 2512 TESTINST3("rsb.w r1, r2, r3, asr #15", -1, 0, r1, r2, r3, cv); 2513 TESTINST3("rsb.w r1, r2, r3, asr #31", -1, 0, r1, r2, r3, cv); 2514 TESTINST3("rsbs.w r1, r2, r3, lsl #0 ", 0, -1, r1, r2, r3, cv); 2515 TESTINST3("rsbs.w r1, r2, r3, lsl #1 ", 0, -1, r1, r2, r3, cv); 2516 TESTINST3("rsbs.w r1, r2, r3, lsl #15", 0, -1, r1, r2, r3, cv); 2517 TESTINST3("rsbs.w r1, r2, r3, lsl #31", 0, -1, r1, r2, r3, cv); 2518 TESTINST3("rsbs.w r1, r2, r3, lsr #0 ", 0, -1, r1, r2, r3, cv); 2519 TESTINST3("rsbs.w r1, r2, r3, lsr #1 ", 0, -1, r1, r2, r3, cv); 2520 TESTINST3("rsbs.w r1, r2, r3, lsr #15", 0, -1, r1, r2, r3, cv); 2521 TESTINST3("rsbs.w r1, r2, r3, lsr #31", 0, -1, r1, r2, r3, cv); 2522 TESTINST3("rsbs.w r1, r2, r3, asr #0 ", 0, -1, r1, r2, r3, cv); 2523 TESTINST3("rsbs.w r1, r2, r3, asr #1 ", 0, -1, r1, r2, r3, cv); 2524 TESTINST3("rsbs.w r1, r2, r3, asr #15", 0, -1, r1, r2, r3, cv); 2525 TESTINST3("rsbs.w r1, r2, r3, asr #31", 0, -1, r1, r2, r3, cv); 2526 TESTINST3("rsb.w r1, r2, r3, lsl #0 ", 0, -1, r1, r2, r3, cv); 2527 TESTINST3("rsb.w r1, r2, r3, lsl #1 ", 0, -1, r1, r2, r3, cv); 2528 TESTINST3("rsb.w r1, r2, r3, lsl #15", 0, -1, r1, r2, r3, cv); 2529 TESTINST3("rsb.w r1, r2, r3, lsl #31", 0, -1, r1, r2, r3, cv); 2530 TESTINST3("rsb.w r1, r2, r3, lsr #0 ", 0, -1, r1, r2, r3, cv); 2531 TESTINST3("rsb.w r1, r2, r3, lsr #1 ", 0, -1, r1, r2, r3, cv); 2532 TESTINST3("rsb.w r1, r2, r3, lsr #15", 0, -1, r1, r2, r3, cv); 2533 TESTINST3("rsb.w r1, r2, r3, lsr #31", 0, -1, r1, r2, r3, cv); 2534 TESTINST3("rsb.w r1, r2, r3, asr #0 ", 0, -1, r1, r2, r3, cv); 2535 TESTINST3("rsb.w r1, r2, r3, asr #1 ", 0, -1, r1, r2, r3, cv); 2536 TESTINST3("rsb.w r1, r2, r3, asr #15", 0, -1, r1, r2, r3, cv); 2537 TESTINST3("rsb.w r1, r2, r3, asr #31", 0, -1, r1, r2, r3, cv); 2538 TESTINST3("rsbs.w r1, r2, r3, lsl #0 ", 0, 0x80000000, r1, r2, r3, cv); 2539 TESTINST3("rsbs.w r1, r2, r3, lsl #1 ", 0, 0x80000000, r1, r2, r3, cv); 2540 TESTINST3("rsbs.w r1, r2, r3, lsl #15", 0, 0x80000000, r1, r2, r3, cv); 2541 TESTINST3("rsbs.w r1, r2, r3, lsl #31", 0, 0x80000000, r1, r2, r3, cv); 2542 TESTINST3("rsbs.w r1, r2, r3, lsr #0 ", 0, 0x80000000, r1, r2, r3, cv); 2543 TESTINST3("rsbs.w r1, r2, r3, lsr #1 ", 0, 0x80000000, r1, r2, r3, cv); 2544 TESTINST3("rsbs.w r1, r2, r3, lsr #15", 0, 0x80000000, r1, r2, r3, cv); 2545 TESTINST3("rsbs.w r1, r2, r3, lsr #31", 0, 0x80000000, r1, r2, r3, cv); 2546 TESTINST3("rsbs.w r1, r2, r3, asr #0 ", 0, 0x80000000, r1, r2, r3, cv); 2547 TESTINST3("rsbs.w r1, r2, r3, asr #1 ", 0, 0x80000000, r1, r2, r3, cv); 2548 TESTINST3("rsbs.w r1, r2, r3, asr #15", 0, 0x80000000, r1, r2, r3, cv); 2549 TESTINST3("rsbs.w r1, r2, r3, asr #31", 0, 0x80000000, r1, r2, r3, cv); 2550 TESTINST3("rsb.w r1, r2, r3, lsl #0 ", 0, 0x80000000, r1, r2, r3, cv); 2551 TESTINST3("rsb.w r1, r2, r3, lsl #1 ", 0, 0x80000000, r1, r2, r3, cv); 2552 TESTINST3("rsb.w r1, r2, r3, lsl #15", 0, 0x80000000, r1, r2, r3, cv); 2553 TESTINST3("rsb.w r1, r2, r3, lsl #31", 0, 0x80000000, r1, r2, r3, cv); 2554 TESTINST3("rsb.w r1, r2, r3, lsr #0 ", 0, 0x80000000, r1, r2, r3, cv); 2555 TESTINST3("rsb.w r1, r2, r3, lsr #1 ", 0, 0x80000000, r1, r2, r3, cv); 2556 TESTINST3("rsb.w r1, r2, r3, lsr #15", 0, 0x80000000, r1, r2, r3, cv); 2557 TESTINST3("rsb.w r1, r2, r3, lsr #31", 0, 0x80000000, r1, r2, r3, cv); 2558 TESTINST3("rsb.w r1, r2, r3, asr #0 ", 0, 0x80000000, r1, r2, r3, cv); 2559 TESTINST3("rsb.w r1, r2, r3, asr #1 ", 0, 0x80000000, r1, r2, r3, cv); 2560 TESTINST3("rsb.w r1, r2, r3, asr #15", 0, 0x80000000, r1, r2, r3, cv); 2561 TESTINST3("rsb.w r1, r2, r3, asr #31", 0, 0x80000000, r1, r2, r3, cv); 2562 TESTINST3("rsbs.w r1, r2, r3, lsl #0 ", 0x80000000, 0, r1, r2, r3, cv); 2563 TESTINST3("rsbs.w r1, r2, r3, lsl #1 ", 0x80000000, 0, r1, r2, r3, cv); 2564 TESTINST3("rsbs.w r1, r2, r3, lsl #15", 0x80000000, 0, r1, r2, r3, cv); 2565 TESTINST3("rsbs.w r1, r2, r3, lsl #31", 0x80000000, 0, r1, r2, r3, cv); 2566 TESTINST3("rsbs.w r1, r2, r3, lsr #0 ", 0x80000000, 0, r1, r2, r3, cv); 2567 TESTINST3("rsbs.w r1, r2, r3, lsr #1 ", 0x80000000, 0, r1, r2, r3, cv); 2568 TESTINST3("rsbs.w r1, r2, r3, lsr #15", 0x80000000, 0, r1, r2, r3, cv); 2569 TESTINST3("rsbs.w r1, r2, r3, lsr #31", 0x80000000, 0, r1, r2, r3, cv); 2570 TESTINST3("rsbs.w r1, r2, r3, asr #0 ", 0x80000000, 0, r1, r2, r3, cv); 2571 TESTINST3("rsbs.w r1, r2, r3, asr #1 ", 0x80000000, 0, r1, r2, r3, cv); 2572 TESTINST3("rsbs.w r1, r2, r3, asr #15", 0x80000000, 0, r1, r2, r3, cv); 2573 TESTINST3("rsbs.w r1, r2, r3, asr #31", 0x80000000, 0, r1, r2, r3, cv); 2574 TESTINST3("rsb.w r1, r2, r3, lsl #0 ", 0x80000000, 0, r1, r2, r3, cv); 2575 TESTINST3("rsb.w r1, r2, r3, lsl #1 ", 0x80000000, 0, r1, r2, r3, cv); 2576 TESTINST3("rsb.w r1, r2, r3, lsl #15", 0x80000000, 0, r1, r2, r3, cv); 2577 TESTINST3("rsb.w r1, r2, r3, lsl #31", 0x80000000, 0, r1, r2, r3, cv); 2578 TESTINST3("rsb.w r1, r2, r3, lsr #0 ", 0x80000000, 0, r1, r2, r3, cv); 2579 TESTINST3("rsb.w r1, r2, r3, lsr #1 ", 0x80000000, 0, r1, r2, r3, cv); 2580 TESTINST3("rsb.w r1, r2, r3, lsr #15", 0x80000000, 0, r1, r2, r3, cv); 2581 TESTINST3("rsb.w r1, r2, r3, lsr #31", 0x80000000, 0, r1, r2, r3, cv); 2582 TESTINST3("rsb.w r1, r2, r3, asr #0 ", 0x80000000, 0, r1, r2, r3, cv); 2583 TESTINST3("rsb.w r1, r2, r3, asr #1 ", 0x80000000, 0, r1, r2, r3, cv); 2584 TESTINST3("rsb.w r1, r2, r3, asr #15", 0x80000000, 0, r1, r2, r3, cv); 2585 TESTINST3("rsb.w r1, r2, r3, asr #31", 0x80000000, 0, r1, r2, r3, cv); 2586 TESTINST3("rsbs.w r1, r2, r3, lsl #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 2587 TESTINST3("rsbs.w r1, r2, r3, lsl #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 2588 TESTINST3("rsbs.w r1, r2, r3, lsl #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 2589 TESTINST3("rsbs.w r1, r2, r3, lsl #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 2590 TESTINST3("rsbs.w r1, r2, r3, lsr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 2591 TESTINST3("rsbs.w r1, r2, r3, lsr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 2592 TESTINST3("rsbs.w r1, r2, r3, lsr #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 2593 TESTINST3("rsbs.w r1, r2, r3, lsr #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 2594 TESTINST3("rsbs.w r1, r2, r3, asr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 2595 TESTINST3("rsbs.w r1, r2, r3, asr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 2596 TESTINST3("rsbs.w r1, r2, r3, asr #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 2597 TESTINST3("rsbs.w r1, r2, r3, asr #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 2598 TESTINST3("rsb.w r1, r2, r3, lsl #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 2599 TESTINST3("rsb.w r1, r2, r3, lsl #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 2600 TESTINST3("rsb.w r1, r2, r3, lsl #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 2601 TESTINST3("rsb.w r1, r2, r3, lsl #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 2602 TESTINST3("rsb.w r1, r2, r3, lsr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 2603 TESTINST3("rsb.w r1, r2, r3, lsr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 2604 TESTINST3("rsb.w r1, r2, r3, lsr #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 2605 TESTINST3("rsb.w r1, r2, r3, lsr #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 2606 TESTINST3("rsb.w r1, r2, r3, asr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 2607 TESTINST3("rsb.w r1, r2, r3, asr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 2608 TESTINST3("rsb.w r1, r2, r3, asr #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 2609 TESTINST3("rsb.w r1, r2, r3, asr #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 2610 TESTINST3("rsbs.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2611 TESTINST3("rsbs.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2612 TESTINST3("rsbs.w r1, r2, r3, lsl #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2613 TESTINST3("rsbs.w r1, r2, r3, lsl #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2614 TESTINST3("rsbs.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2615 TESTINST3("rsbs.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2616 TESTINST3("rsbs.w r1, r2, r3, lsr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2617 TESTINST3("rsbs.w r1, r2, r3, lsr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2618 TESTINST3("rsbs.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2619 TESTINST3("rsbs.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2620 TESTINST3("rsbs.w r1, r2, r3, asr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2621 TESTINST3("rsbs.w r1, r2, r3, asr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2622 TESTINST3("rsb.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2623 TESTINST3("rsb.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2624 TESTINST3("rsb.w r1, r2, r3, lsl #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2625 TESTINST3("rsb.w r1, r2, r3, lsl #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2626 TESTINST3("rsb.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2627 TESTINST3("rsb.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2628 TESTINST3("rsb.w r1, r2, r3, lsr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2629 TESTINST3("rsb.w r1, r2, r3, lsr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2630 TESTINST3("rsb.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2631 TESTINST3("rsb.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2632 TESTINST3("rsb.w r1, r2, r3, asr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2633 TESTINST3("rsb.w r1, r2, r3, asr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2634 TESTINST3("rsbs.w r1, r2, r3, lsl #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2635 TESTINST3("rsbs.w r1, r2, r3, lsl #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2636 TESTINST3("rsbs.w r1, r2, r3, lsl #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2637 TESTINST3("rsbs.w r1, r2, r3, lsl #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2638 TESTINST3("rsbs.w r1, r2, r3, lsr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2639 TESTINST3("rsbs.w r1, r2, r3, lsr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2640 TESTINST3("rsbs.w r1, r2, r3, lsr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2641 TESTINST3("rsbs.w r1, r2, r3, lsr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2642 TESTINST3("rsbs.w r1, r2, r3, asr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2643 TESTINST3("rsbs.w r1, r2, r3, asr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2644 TESTINST3("rsbs.w r1, r2, r3, asr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2645 TESTINST3("rsbs.w r1, r2, r3, asr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2646 TESTINST3("rsb.w r1, r2, r3, lsl #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2647 TESTINST3("rsb.w r1, r2, r3, lsl #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2648 TESTINST3("rsb.w r1, r2, r3, lsl #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2649 TESTINST3("rsb.w r1, r2, r3, lsl #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2650 TESTINST3("rsb.w r1, r2, r3, lsr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2651 TESTINST3("rsb.w r1, r2, r3, lsr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2652 TESTINST3("rsb.w r1, r2, r3, lsr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2653 TESTINST3("rsb.w r1, r2, r3, lsr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2654 TESTINST3("rsb.w r1, r2, r3, asr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2655 TESTINST3("rsb.w r1, r2, r3, asr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2656 TESTINST3("rsb.w r1, r2, r3, asr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2657 TESTINST3("rsb.w r1, r2, r3, asr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2658 TESTINST3("rsbs.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2659 TESTINST3("rsbs.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2660 TESTINST3("rsbs.w r1, r2, r3, lsl #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2661 TESTINST3("rsbs.w r1, r2, r3, lsl #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2662 TESTINST3("rsbs.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2663 TESTINST3("rsbs.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2664 TESTINST3("rsbs.w r1, r2, r3, lsr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2665 TESTINST3("rsbs.w r1, r2, r3, lsr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2666 TESTINST3("rsbs.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2667 TESTINST3("rsbs.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2668 TESTINST3("rsbs.w r1, r2, r3, asr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2669 TESTINST3("rsbs.w r1, r2, r3, asr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2670 TESTINST3("rsb.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2671 TESTINST3("rsb.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2672 TESTINST3("rsb.w r1, r2, r3, lsl #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2673 TESTINST3("rsb.w r1, r2, r3, lsl #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2674 TESTINST3("rsb.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2675 TESTINST3("rsb.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2676 TESTINST3("rsb.w r1, r2, r3, lsr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2677 TESTINST3("rsb.w r1, r2, r3, lsr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2678 TESTINST3("rsb.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2679 TESTINST3("rsb.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2680 TESTINST3("rsb.w r1, r2, r3, asr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2681 TESTINST3("rsb.w r1, r2, r3, asr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2682 TESTCARRYEND 2683 2684 printf("ADC{S}.W Rd, Rn, Rm, {shift}\n"); 2685 TESTCARRY 2686 TESTINST3("adcs.w r1, r2, r3, lsl #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 2687 TESTINST3("adcs.w r1, r2, r3, lsl #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 2688 TESTINST3("adcs.w r1, r2, r3, lsl #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 2689 TESTINST3("adcs.w r1, r2, r3, lsl #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 2690 TESTINST3("adcs.w r1, r2, r3, lsr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 2691 TESTINST3("adcs.w r1, r2, r3, lsr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 2692 TESTINST3("adcs.w r1, r2, r3, lsr #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 2693 TESTINST3("adcs.w r1, r2, r3, lsr #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 2694 TESTINST3("adcs.w r1, r2, r3, asr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 2695 TESTINST3("adcs.w r1, r2, r3, asr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 2696 TESTINST3("adcs.w r1, r2, r3, asr #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 2697 TESTINST3("adcs.w r1, r2, r3, asr #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 2698 TESTINST3("adc.w r1, r2, r3, lsl #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 2699 TESTINST3("adc.w r1, r2, r3, lsl #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 2700 TESTINST3("adc.w r1, r2, r3, lsl #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 2701 TESTINST3("adc.w r1, r2, r3, lsl #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 2702 TESTINST3("adc.w r1, r2, r3, lsr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 2703 TESTINST3("adc.w r1, r2, r3, lsr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 2704 TESTINST3("adc.w r1, r2, r3, lsr #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 2705 TESTINST3("adc.w r1, r2, r3, lsr #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 2706 TESTINST3("adc.w r1, r2, r3, asr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 2707 TESTINST3("adc.w r1, r2, r3, asr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 2708 TESTINST3("adc.w r1, r2, r3, asr #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 2709 TESTINST3("adc.w r1, r2, r3, asr #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 2710 TESTINST3("adcs.w r1, r2, r3, lsl #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 2711 TESTINST3("adcs.w r1, r2, r3, lsl #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 2712 TESTINST3("adcs.w r1, r2, r3, lsl #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 2713 TESTINST3("adcs.w r1, r2, r3, lsl #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 2714 TESTINST3("adcs.w r1, r2, r3, lsr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 2715 TESTINST3("adcs.w r1, r2, r3, lsr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 2716 TESTINST3("adcs.w r1, r2, r3, lsr #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 2717 TESTINST3("adcs.w r1, r2, r3, lsr #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 2718 TESTINST3("adcs.w r1, r2, r3, asr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 2719 TESTINST3("adcs.w r1, r2, r3, asr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 2720 TESTINST3("adcs.w r1, r2, r3, asr #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 2721 TESTINST3("adcs.w r1, r2, r3, asr #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 2722 TESTINST3("adc.w r1, r2, r3, lsl #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 2723 TESTINST3("adc.w r1, r2, r3, lsl #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 2724 TESTINST3("adc.w r1, r2, r3, lsl #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 2725 TESTINST3("adc.w r1, r2, r3, lsl #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 2726 TESTINST3("adc.w r1, r2, r3, lsr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 2727 TESTINST3("adc.w r1, r2, r3, lsr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 2728 TESTINST3("adc.w r1, r2, r3, lsr #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 2729 TESTINST3("adc.w r1, r2, r3, lsr #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 2730 TESTINST3("adc.w r1, r2, r3, asr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 2731 TESTINST3("adc.w r1, r2, r3, asr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 2732 TESTINST3("adc.w r1, r2, r3, asr #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 2733 TESTINST3("adc.w r1, r2, r3, asr #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 2734 TESTINST3("adcs.w r1, r2, r3, lsl #0 ", 0, 0, r1, r2, r3, cv); 2735 TESTINST3("adcs.w r1, r2, r3, lsl #1 ", 0, 0, r1, r2, r3, cv); 2736 TESTINST3("adcs.w r1, r2, r3, lsl #15", 0, 0, r1, r2, r3, cv); 2737 TESTINST3("adcs.w r1, r2, r3, lsl #31", 0, 0, r1, r2, r3, cv); 2738 TESTINST3("adcs.w r1, r2, r3, lsr #0 ", 0, 0, r1, r2, r3, cv); 2739 TESTINST3("adcs.w r1, r2, r3, lsr #1 ", 0, 0, r1, r2, r3, cv); 2740 TESTINST3("adcs.w r1, r2, r3, lsr #15", 0, 0, r1, r2, r3, cv); 2741 TESTINST3("adcs.w r1, r2, r3, lsr #31", 0, 0, r1, r2, r3, cv); 2742 TESTINST3("adcs.w r1, r2, r3, asr #0 ", 0, 0, r1, r2, r3, cv); 2743 TESTINST3("adcs.w r1, r2, r3, asr #1 ", 0, 0, r1, r2, r3, cv); 2744 TESTINST3("adcs.w r1, r2, r3, asr #15", 0, 0, r1, r2, r3, cv); 2745 TESTINST3("adcs.w r1, r2, r3, asr #31", 0, 0, r1, r2, r3, cv); 2746 TESTINST3("adc.w r1, r2, r3, lsl #0 ", 0, 0, r1, r2, r3, cv); 2747 TESTINST3("adc.w r1, r2, r3, lsl #1 ", 0, 0, r1, r2, r3, cv); 2748 TESTINST3("adc.w r1, r2, r3, lsl #15", 0, 0, r1, r2, r3, cv); 2749 TESTINST3("adc.w r1, r2, r3, lsl #31", 0, 0, r1, r2, r3, cv); 2750 TESTINST3("adc.w r1, r2, r3, lsr #0 ", 0, 0, r1, r2, r3, cv); 2751 TESTINST3("adc.w r1, r2, r3, lsr #1 ", 0, 0, r1, r2, r3, cv); 2752 TESTINST3("adc.w r1, r2, r3, lsr #15", 0, 0, r1, r2, r3, cv); 2753 TESTINST3("adc.w r1, r2, r3, lsr #31", 0, 0, r1, r2, r3, cv); 2754 TESTINST3("adc.w r1, r2, r3, asr #0 ", 0, 0, r1, r2, r3, cv); 2755 TESTINST3("adc.w r1, r2, r3, asr #1 ", 0, 0, r1, r2, r3, cv); 2756 TESTINST3("adc.w r1, r2, r3, asr #15", 0, 0, r1, r2, r3, cv); 2757 TESTINST3("adc.w r1, r2, r3, asr #31", 0, 0, r1, r2, r3, cv); 2758 TESTINST3("adcs.w r1, r2, r3, lsl #0 ", 1, 0, r1, r2, r3, cv); 2759 TESTINST3("adcs.w r1, r2, r3, lsl #1 ", 1, 0, r1, r2, r3, cv); 2760 TESTINST3("adcs.w r1, r2, r3, lsl #15", 1, 0, r1, r2, r3, cv); 2761 TESTINST3("adcs.w r1, r2, r3, lsl #31", 1, 0, r1, r2, r3, cv); 2762 TESTINST3("adcs.w r1, r2, r3, lsr #0 ", 1, 0, r1, r2, r3, cv); 2763 TESTINST3("adcs.w r1, r2, r3, lsr #1 ", 1, 0, r1, r2, r3, cv); 2764 TESTINST3("adcs.w r1, r2, r3, lsr #15", 1, 0, r1, r2, r3, cv); 2765 TESTINST3("adcs.w r1, r2, r3, lsr #31", 1, 0, r1, r2, r3, cv); 2766 TESTINST3("adcs.w r1, r2, r3, asr #0 ", 1, 0, r1, r2, r3, cv); 2767 TESTINST3("adcs.w r1, r2, r3, asr #1 ", 1, 0, r1, r2, r3, cv); 2768 TESTINST3("adcs.w r1, r2, r3, asr #15", 1, 0, r1, r2, r3, cv); 2769 TESTINST3("adcs.w r1, r2, r3, asr #31", 1, 0, r1, r2, r3, cv); 2770 TESTINST3("adc.w r1, r2, r3, lsl #0 ", 1, 0, r1, r2, r3, cv); 2771 TESTINST3("adc.w r1, r2, r3, lsl #1 ", 1, 0, r1, r2, r3, cv); 2772 TESTINST3("adc.w r1, r2, r3, lsl #15", 1, 0, r1, r2, r3, cv); 2773 TESTINST3("adc.w r1, r2, r3, lsl #31", 1, 0, r1, r2, r3, cv); 2774 TESTINST3("adc.w r1, r2, r3, lsr #0 ", 1, 0, r1, r2, r3, cv); 2775 TESTINST3("adc.w r1, r2, r3, lsr #1 ", 1, 0, r1, r2, r3, cv); 2776 TESTINST3("adc.w r1, r2, r3, lsr #15", 1, 0, r1, r2, r3, cv); 2777 TESTINST3("adc.w r1, r2, r3, lsr #31", 1, 0, r1, r2, r3, cv); 2778 TESTINST3("adc.w r1, r2, r3, asr #0 ", 1, 0, r1, r2, r3, cv); 2779 TESTINST3("adc.w r1, r2, r3, asr #1 ", 1, 0, r1, r2, r3, cv); 2780 TESTINST3("adc.w r1, r2, r3, asr #15", 1, 0, r1, r2, r3, cv); 2781 TESTINST3("adc.w r1, r2, r3, asr #31", 1, 0, r1, r2, r3, cv); 2782 TESTINST3("adcs.w r1, r2, r3, lsl #0 ", 0, 1, r1, r2, r3, cv); 2783 TESTINST3("adcs.w r1, r2, r3, lsl #1 ", 0, 1, r1, r2, r3, cv); 2784 TESTINST3("adcs.w r1, r2, r3, lsl #15", 0, 1, r1, r2, r3, cv); 2785 TESTINST3("adcs.w r1, r2, r3, lsl #31", 0, 1, r1, r2, r3, cv); 2786 TESTINST3("adcs.w r1, r2, r3, lsr #0 ", 0, 1, r1, r2, r3, cv); 2787 TESTINST3("adcs.w r1, r2, r3, lsr #1 ", 0, 1, r1, r2, r3, cv); 2788 TESTINST3("adcs.w r1, r2, r3, lsr #15", 0, 1, r1, r2, r3, cv); 2789 TESTINST3("adcs.w r1, r2, r3, lsr #31", 0, 1, r1, r2, r3, cv); 2790 TESTINST3("adcs.w r1, r2, r3, asr #0 ", 0, 1, r1, r2, r3, cv); 2791 TESTINST3("adcs.w r1, r2, r3, asr #1 ", 0, 1, r1, r2, r3, cv); 2792 TESTINST3("adcs.w r1, r2, r3, asr #15", 0, 1, r1, r2, r3, cv); 2793 TESTINST3("adcs.w r1, r2, r3, asr #31", 0, 1, r1, r2, r3, cv); 2794 TESTINST3("adc.w r1, r2, r3, lsl #0 ", 0, 1, r1, r2, r3, cv); 2795 TESTINST3("adc.w r1, r2, r3, lsl #1 ", 0, 1, r1, r2, r3, cv); 2796 TESTINST3("adc.w r1, r2, r3, lsl #15", 0, 1, r1, r2, r3, cv); 2797 TESTINST3("adc.w r1, r2, r3, lsl #31", 0, 1, r1, r2, r3, cv); 2798 TESTINST3("adc.w r1, r2, r3, lsr #0 ", 0, 1, r1, r2, r3, cv); 2799 TESTINST3("adc.w r1, r2, r3, lsr #1 ", 0, 1, r1, r2, r3, cv); 2800 TESTINST3("adc.w r1, r2, r3, lsr #15", 0, 1, r1, r2, r3, cv); 2801 TESTINST3("adc.w r1, r2, r3, lsr #31", 0, 1, r1, r2, r3, cv); 2802 TESTINST3("adc.w r1, r2, r3, asr #0 ", 0, 1, r1, r2, r3, cv); 2803 TESTINST3("adc.w r1, r2, r3, asr #1 ", 0, 1, r1, r2, r3, cv); 2804 TESTINST3("adc.w r1, r2, r3, asr #15", 0, 1, r1, r2, r3, cv); 2805 TESTINST3("adc.w r1, r2, r3, asr #31", 0, 1, r1, r2, r3, cv); 2806 TESTINST3("adcs.w r1, r2, r3, lsl #0 ", -1, 0, r1, r2, r3, cv); 2807 TESTINST3("adcs.w r1, r2, r3, lsl #1 ", -1, 0, r1, r2, r3, cv); 2808 TESTINST3("adcs.w r1, r2, r3, lsl #15", -1, 0, r1, r2, r3, cv); 2809 TESTINST3("adcs.w r1, r2, r3, lsl #31", -1, 0, r1, r2, r3, cv); 2810 TESTINST3("adcs.w r1, r2, r3, lsr #0 ", -1, 0, r1, r2, r3, cv); 2811 TESTINST3("adcs.w r1, r2, r3, lsr #1 ", -1, 0, r1, r2, r3, cv); 2812 TESTINST3("adcs.w r1, r2, r3, lsr #15", -1, 0, r1, r2, r3, cv); 2813 TESTINST3("adcs.w r1, r2, r3, lsr #31", -1, 0, r1, r2, r3, cv); 2814 TESTINST3("adcs.w r1, r2, r3, asr #0 ", -1, 0, r1, r2, r3, cv); 2815 TESTINST3("adcs.w r1, r2, r3, asr #1 ", -1, 0, r1, r2, r3, cv); 2816 TESTINST3("adcs.w r1, r2, r3, asr #15", -1, 0, r1, r2, r3, cv); 2817 TESTINST3("adcs.w r1, r2, r3, asr #31", -1, 0, r1, r2, r3, cv); 2818 TESTINST3("adc.w r1, r2, r3, lsl #0 ", -1, 0, r1, r2, r3, cv); 2819 TESTINST3("adc.w r1, r2, r3, lsl #1 ", -1, 0, r1, r2, r3, cv); 2820 TESTINST3("adc.w r1, r2, r3, lsl #15", -1, 0, r1, r2, r3, cv); 2821 TESTINST3("adc.w r1, r2, r3, lsl #31", -1, 0, r1, r2, r3, cv); 2822 TESTINST3("adc.w r1, r2, r3, lsr #0 ", -1, 0, r1, r2, r3, cv); 2823 TESTINST3("adc.w r1, r2, r3, lsr #1 ", -1, 0, r1, r2, r3, cv); 2824 TESTINST3("adc.w r1, r2, r3, lsr #15", -1, 0, r1, r2, r3, cv); 2825 TESTINST3("adc.w r1, r2, r3, lsr #31", -1, 0, r1, r2, r3, cv); 2826 TESTINST3("adc.w r1, r2, r3, asr #0 ", -1, 0, r1, r2, r3, cv); 2827 TESTINST3("adc.w r1, r2, r3, asr #1 ", -1, 0, r1, r2, r3, cv); 2828 TESTINST3("adc.w r1, r2, r3, asr #15", -1, 0, r1, r2, r3, cv); 2829 TESTINST3("adc.w r1, r2, r3, asr #31", -1, 0, r1, r2, r3, cv); 2830 TESTINST3("adcs.w r1, r2, r3, lsl #0 ", 0, -1, r1, r2, r3, cv); 2831 TESTINST3("adcs.w r1, r2, r3, lsl #1 ", 0, -1, r1, r2, r3, cv); 2832 TESTINST3("adcs.w r1, r2, r3, lsl #15", 0, -1, r1, r2, r3, cv); 2833 TESTINST3("adcs.w r1, r2, r3, lsl #31", 0, -1, r1, r2, r3, cv); 2834 TESTINST3("adcs.w r1, r2, r3, lsr #0 ", 0, -1, r1, r2, r3, cv); 2835 TESTINST3("adcs.w r1, r2, r3, lsr #1 ", 0, -1, r1, r2, r3, cv); 2836 TESTINST3("adcs.w r1, r2, r3, lsr #15", 0, -1, r1, r2, r3, cv); 2837 TESTINST3("adcs.w r1, r2, r3, lsr #31", 0, -1, r1, r2, r3, cv); 2838 TESTINST3("adcs.w r1, r2, r3, asr #0 ", 0, -1, r1, r2, r3, cv); 2839 TESTINST3("adcs.w r1, r2, r3, asr #1 ", 0, -1, r1, r2, r3, cv); 2840 TESTINST3("adcs.w r1, r2, r3, asr #15", 0, -1, r1, r2, r3, cv); 2841 TESTINST3("adcs.w r1, r2, r3, asr #31", 0, -1, r1, r2, r3, cv); 2842 TESTINST3("adc.w r1, r2, r3, lsl #0 ", 0, -1, r1, r2, r3, cv); 2843 TESTINST3("adc.w r1, r2, r3, lsl #1 ", 0, -1, r1, r2, r3, cv); 2844 TESTINST3("adc.w r1, r2, r3, lsl #15", 0, -1, r1, r2, r3, cv); 2845 TESTINST3("adc.w r1, r2, r3, lsl #31", 0, -1, r1, r2, r3, cv); 2846 TESTINST3("adc.w r1, r2, r3, lsr #0 ", 0, -1, r1, r2, r3, cv); 2847 TESTINST3("adc.w r1, r2, r3, lsr #1 ", 0, -1, r1, r2, r3, cv); 2848 TESTINST3("adc.w r1, r2, r3, lsr #15", 0, -1, r1, r2, r3, cv); 2849 TESTINST3("adc.w r1, r2, r3, lsr #31", 0, -1, r1, r2, r3, cv); 2850 TESTINST3("adc.w r1, r2, r3, asr #0 ", 0, -1, r1, r2, r3, cv); 2851 TESTINST3("adc.w r1, r2, r3, asr #1 ", 0, -1, r1, r2, r3, cv); 2852 TESTINST3("adc.w r1, r2, r3, asr #15", 0, -1, r1, r2, r3, cv); 2853 TESTINST3("adc.w r1, r2, r3, asr #31", 0, -1, r1, r2, r3, cv); 2854 TESTINST3("adcs.w r1, r2, r3, lsl #0 ", 0, 0x80000000, r1, r2, r3, cv); 2855 TESTINST3("adcs.w r1, r2, r3, lsl #1 ", 0, 0x80000000, r1, r2, r3, cv); 2856 TESTINST3("adcs.w r1, r2, r3, lsl #15", 0, 0x80000000, r1, r2, r3, cv); 2857 TESTINST3("adcs.w r1, r2, r3, lsl #31", 0, 0x80000000, r1, r2, r3, cv); 2858 TESTINST3("adcs.w r1, r2, r3, lsr #0 ", 0, 0x80000000, r1, r2, r3, cv); 2859 TESTINST3("adcs.w r1, r2, r3, lsr #1 ", 0, 0x80000000, r1, r2, r3, cv); 2860 TESTINST3("adcs.w r1, r2, r3, lsr #15", 0, 0x80000000, r1, r2, r3, cv); 2861 TESTINST3("adcs.w r1, r2, r3, lsr #31", 0, 0x80000000, r1, r2, r3, cv); 2862 TESTINST3("adcs.w r1, r2, r3, asr #0 ", 0, 0x80000000, r1, r2, r3, cv); 2863 TESTINST3("adcs.w r1, r2, r3, asr #1 ", 0, 0x80000000, r1, r2, r3, cv); 2864 TESTINST3("adcs.w r1, r2, r3, asr #15", 0, 0x80000000, r1, r2, r3, cv); 2865 TESTINST3("adcs.w r1, r2, r3, asr #31", 0, 0x80000000, r1, r2, r3, cv); 2866 TESTINST3("adc.w r1, r2, r3, lsl #0 ", 0, 0x80000000, r1, r2, r3, cv); 2867 TESTINST3("adc.w r1, r2, r3, lsl #1 ", 0, 0x80000000, r1, r2, r3, cv); 2868 TESTINST3("adc.w r1, r2, r3, lsl #15", 0, 0x80000000, r1, r2, r3, cv); 2869 TESTINST3("adc.w r1, r2, r3, lsl #31", 0, 0x80000000, r1, r2, r3, cv); 2870 TESTINST3("adc.w r1, r2, r3, lsr #0 ", 0, 0x80000000, r1, r2, r3, cv); 2871 TESTINST3("adc.w r1, r2, r3, lsr #1 ", 0, 0x80000000, r1, r2, r3, cv); 2872 TESTINST3("adc.w r1, r2, r3, lsr #15", 0, 0x80000000, r1, r2, r3, cv); 2873 TESTINST3("adc.w r1, r2, r3, lsr #31", 0, 0x80000000, r1, r2, r3, cv); 2874 TESTINST3("adc.w r1, r2, r3, asr #0 ", 0, 0x80000000, r1, r2, r3, cv); 2875 TESTINST3("adc.w r1, r2, r3, asr #1 ", 0, 0x80000000, r1, r2, r3, cv); 2876 TESTINST3("adc.w r1, r2, r3, asr #15", 0, 0x80000000, r1, r2, r3, cv); 2877 TESTINST3("adc.w r1, r2, r3, asr #31", 0, 0x80000000, r1, r2, r3, cv); 2878 TESTINST3("adcs.w r1, r2, r3, lsl #0 ", 0x80000000, 0, r1, r2, r3, cv); 2879 TESTINST3("adcs.w r1, r2, r3, lsl #1 ", 0x80000000, 0, r1, r2, r3, cv); 2880 TESTINST3("adcs.w r1, r2, r3, lsl #15", 0x80000000, 0, r1, r2, r3, cv); 2881 TESTINST3("adcs.w r1, r2, r3, lsl #31", 0x80000000, 0, r1, r2, r3, cv); 2882 TESTINST3("adcs.w r1, r2, r3, lsr #0 ", 0x80000000, 0, r1, r2, r3, cv); 2883 TESTINST3("adcs.w r1, r2, r3, lsr #1 ", 0x80000000, 0, r1, r2, r3, cv); 2884 TESTINST3("adcs.w r1, r2, r3, lsr #15", 0x80000000, 0, r1, r2, r3, cv); 2885 TESTINST3("adcs.w r1, r2, r3, lsr #31", 0x80000000, 0, r1, r2, r3, cv); 2886 TESTINST3("adcs.w r1, r2, r3, asr #0 ", 0x80000000, 0, r1, r2, r3, cv); 2887 TESTINST3("adcs.w r1, r2, r3, asr #1 ", 0x80000000, 0, r1, r2, r3, cv); 2888 TESTINST3("adcs.w r1, r2, r3, asr #15", 0x80000000, 0, r1, r2, r3, cv); 2889 TESTINST3("adcs.w r1, r2, r3, asr #31", 0x80000000, 0, r1, r2, r3, cv); 2890 TESTINST3("adc.w r1, r2, r3, lsl #0 ", 0x80000000, 0, r1, r2, r3, cv); 2891 TESTINST3("adc.w r1, r2, r3, lsl #1 ", 0x80000000, 0, r1, r2, r3, cv); 2892 TESTINST3("adc.w r1, r2, r3, lsl #15", 0x80000000, 0, r1, r2, r3, cv); 2893 TESTINST3("adc.w r1, r2, r3, lsl #31", 0x80000000, 0, r1, r2, r3, cv); 2894 TESTINST3("adc.w r1, r2, r3, lsr #0 ", 0x80000000, 0, r1, r2, r3, cv); 2895 TESTINST3("adc.w r1, r2, r3, lsr #1 ", 0x80000000, 0, r1, r2, r3, cv); 2896 TESTINST3("adc.w r1, r2, r3, lsr #15", 0x80000000, 0, r1, r2, r3, cv); 2897 TESTINST3("adc.w r1, r2, r3, lsr #31", 0x80000000, 0, r1, r2, r3, cv); 2898 TESTINST3("adc.w r1, r2, r3, asr #0 ", 0x80000000, 0, r1, r2, r3, cv); 2899 TESTINST3("adc.w r1, r2, r3, asr #1 ", 0x80000000, 0, r1, r2, r3, cv); 2900 TESTINST3("adc.w r1, r2, r3, asr #15", 0x80000000, 0, r1, r2, r3, cv); 2901 TESTINST3("adc.w r1, r2, r3, asr #31", 0x80000000, 0, r1, r2, r3, cv); 2902 TESTINST3("adcs.w r1, r2, r3, lsl #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 2903 TESTINST3("adcs.w r1, r2, r3, lsl #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 2904 TESTINST3("adcs.w r1, r2, r3, lsl #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 2905 TESTINST3("adcs.w r1, r2, r3, lsl #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 2906 TESTINST3("adcs.w r1, r2, r3, lsr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 2907 TESTINST3("adcs.w r1, r2, r3, lsr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 2908 TESTINST3("adcs.w r1, r2, r3, lsr #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 2909 TESTINST3("adcs.w r1, r2, r3, lsr #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 2910 TESTINST3("adcs.w r1, r2, r3, asr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 2911 TESTINST3("adcs.w r1, r2, r3, asr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 2912 TESTINST3("adcs.w r1, r2, r3, asr #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 2913 TESTINST3("adcs.w r1, r2, r3, asr #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 2914 TESTINST3("adc.w r1, r2, r3, lsl #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 2915 TESTINST3("adc.w r1, r2, r3, lsl #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 2916 TESTINST3("adc.w r1, r2, r3, lsl #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 2917 TESTINST3("adc.w r1, r2, r3, lsl #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 2918 TESTINST3("adc.w r1, r2, r3, lsr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 2919 TESTINST3("adc.w r1, r2, r3, lsr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 2920 TESTINST3("adc.w r1, r2, r3, lsr #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 2921 TESTINST3("adc.w r1, r2, r3, lsr #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 2922 TESTINST3("adc.w r1, r2, r3, asr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 2923 TESTINST3("adc.w r1, r2, r3, asr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 2924 TESTINST3("adc.w r1, r2, r3, asr #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 2925 TESTINST3("adc.w r1, r2, r3, asr #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 2926 TESTINST3("adcs.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2927 TESTINST3("adcs.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2928 TESTINST3("adcs.w r1, r2, r3, lsl #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2929 TESTINST3("adcs.w r1, r2, r3, lsl #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2930 TESTINST3("adcs.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2931 TESTINST3("adcs.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2932 TESTINST3("adcs.w r1, r2, r3, lsr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2933 TESTINST3("adcs.w r1, r2, r3, lsr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2934 TESTINST3("adcs.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2935 TESTINST3("adcs.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2936 TESTINST3("adcs.w r1, r2, r3, asr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2937 TESTINST3("adcs.w r1, r2, r3, asr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2938 TESTINST3("adc.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2939 TESTINST3("adc.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2940 TESTINST3("adc.w r1, r2, r3, lsl #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2941 TESTINST3("adc.w r1, r2, r3, lsl #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2942 TESTINST3("adc.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2943 TESTINST3("adc.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2944 TESTINST3("adc.w r1, r2, r3, lsr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2945 TESTINST3("adc.w r1, r2, r3, lsr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2946 TESTINST3("adc.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2947 TESTINST3("adc.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2948 TESTINST3("adc.w r1, r2, r3, asr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2949 TESTINST3("adc.w r1, r2, r3, asr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 2950 TESTINST3("adcs.w r1, r2, r3, lsl #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2951 TESTINST3("adcs.w r1, r2, r3, lsl #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2952 TESTINST3("adcs.w r1, r2, r3, lsl #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2953 TESTINST3("adcs.w r1, r2, r3, lsl #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2954 TESTINST3("adcs.w r1, r2, r3, lsr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2955 TESTINST3("adcs.w r1, r2, r3, lsr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2956 TESTINST3("adcs.w r1, r2, r3, lsr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2957 TESTINST3("adcs.w r1, r2, r3, lsr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2958 TESTINST3("adcs.w r1, r2, r3, asr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2959 TESTINST3("adcs.w r1, r2, r3, asr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2960 TESTINST3("adcs.w r1, r2, r3, asr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2961 TESTINST3("adcs.w r1, r2, r3, asr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2962 TESTINST3("adc.w r1, r2, r3, lsl #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2963 TESTINST3("adc.w r1, r2, r3, lsl #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2964 TESTINST3("adc.w r1, r2, r3, lsl #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2965 TESTINST3("adc.w r1, r2, r3, lsl #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2966 TESTINST3("adc.w r1, r2, r3, lsr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2967 TESTINST3("adc.w r1, r2, r3, lsr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2968 TESTINST3("adc.w r1, r2, r3, lsr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2969 TESTINST3("adc.w r1, r2, r3, lsr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2970 TESTINST3("adc.w r1, r2, r3, asr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2971 TESTINST3("adc.w r1, r2, r3, asr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2972 TESTINST3("adc.w r1, r2, r3, asr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2973 TESTINST3("adc.w r1, r2, r3, asr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 2974 TESTINST3("adcs.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2975 TESTINST3("adcs.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2976 TESTINST3("adcs.w r1, r2, r3, lsl #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2977 TESTINST3("adcs.w r1, r2, r3, lsl #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2978 TESTINST3("adcs.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2979 TESTINST3("adcs.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2980 TESTINST3("adcs.w r1, r2, r3, lsr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2981 TESTINST3("adcs.w r1, r2, r3, lsr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2982 TESTINST3("adcs.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2983 TESTINST3("adcs.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2984 TESTINST3("adcs.w r1, r2, r3, asr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2985 TESTINST3("adcs.w r1, r2, r3, asr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2986 TESTINST3("adc.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2987 TESTINST3("adc.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2988 TESTINST3("adc.w r1, r2, r3, lsl #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2989 TESTINST3("adc.w r1, r2, r3, lsl #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2990 TESTINST3("adc.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2991 TESTINST3("adc.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2992 TESTINST3("adc.w r1, r2, r3, lsr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2993 TESTINST3("adc.w r1, r2, r3, lsr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2994 TESTINST3("adc.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2995 TESTINST3("adc.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2996 TESTINST3("adc.w r1, r2, r3, asr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2997 TESTINST3("adc.w r1, r2, r3, asr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 2998 TESTCARRYEND 2999 3000 printf("SBC{S}.W Rd, Rn, Rm, {shift}\n"); 3001 TESTCARRY 3002 TESTINST3("sbcs.w r1, r2, r3, lsl #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 3003 TESTINST3("sbcs.w r1, r2, r3, lsl #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 3004 TESTINST3("sbcs.w r1, r2, r3, lsl #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 3005 TESTINST3("sbcs.w r1, r2, r3, lsl #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 3006 TESTINST3("sbcs.w r1, r2, r3, lsr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 3007 TESTINST3("sbcs.w r1, r2, r3, lsr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 3008 TESTINST3("sbcs.w r1, r2, r3, lsr #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 3009 TESTINST3("sbcs.w r1, r2, r3, lsr #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 3010 TESTINST3("sbcs.w r1, r2, r3, asr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 3011 TESTINST3("sbcs.w r1, r2, r3, asr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 3012 TESTINST3("sbcs.w r1, r2, r3, asr #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 3013 TESTINST3("sbcs.w r1, r2, r3, asr #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 3014 TESTINST3("sbc.w r1, r2, r3, lsl #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 3015 TESTINST3("sbc.w r1, r2, r3, lsl #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 3016 TESTINST3("sbc.w r1, r2, r3, lsl #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 3017 TESTINST3("sbc.w r1, r2, r3, lsl #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 3018 TESTINST3("sbc.w r1, r2, r3, lsr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 3019 TESTINST3("sbc.w r1, r2, r3, lsr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 3020 TESTINST3("sbc.w r1, r2, r3, lsr #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 3021 TESTINST3("sbc.w r1, r2, r3, lsr #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 3022 TESTINST3("sbc.w r1, r2, r3, asr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 3023 TESTINST3("sbc.w r1, r2, r3, asr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 3024 TESTINST3("sbc.w r1, r2, r3, asr #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 3025 TESTINST3("sbc.w r1, r2, r3, asr #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 3026 TESTINST3("sbcs.w r1, r2, r3, lsl #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 3027 TESTINST3("sbcs.w r1, r2, r3, lsl #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 3028 TESTINST3("sbcs.w r1, r2, r3, lsl #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 3029 TESTINST3("sbcs.w r1, r2, r3, lsl #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 3030 TESTINST3("sbcs.w r1, r2, r3, lsr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 3031 TESTINST3("sbcs.w r1, r2, r3, lsr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 3032 TESTINST3("sbcs.w r1, r2, r3, lsr #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 3033 TESTINST3("sbcs.w r1, r2, r3, lsr #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 3034 TESTINST3("sbcs.w r1, r2, r3, asr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 3035 TESTINST3("sbcs.w r1, r2, r3, asr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 3036 TESTINST3("sbcs.w r1, r2, r3, asr #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 3037 TESTINST3("sbcs.w r1, r2, r3, asr #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 3038 TESTINST3("sbc.w r1, r2, r3, lsl #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 3039 TESTINST3("sbc.w r1, r2, r3, lsl #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 3040 TESTINST3("sbc.w r1, r2, r3, lsl #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 3041 TESTINST3("sbc.w r1, r2, r3, lsl #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 3042 TESTINST3("sbc.w r1, r2, r3, lsr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 3043 TESTINST3("sbc.w r1, r2, r3, lsr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 3044 TESTINST3("sbc.w r1, r2, r3, lsr #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 3045 TESTINST3("sbc.w r1, r2, r3, lsr #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 3046 TESTINST3("sbc.w r1, r2, r3, asr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 3047 TESTINST3("sbc.w r1, r2, r3, asr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 3048 TESTINST3("sbc.w r1, r2, r3, asr #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 3049 TESTINST3("sbc.w r1, r2, r3, asr #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 3050 TESTINST3("sbcs.w r1, r2, r3, lsl #0 ", 0, 0, r1, r2, r3, cv); 3051 TESTINST3("sbcs.w r1, r2, r3, lsl #1 ", 0, 0, r1, r2, r3, cv); 3052 TESTINST3("sbcs.w r1, r2, r3, lsl #15", 0, 0, r1, r2, r3, cv); 3053 TESTINST3("sbcs.w r1, r2, r3, lsl #31", 0, 0, r1, r2, r3, cv); 3054 TESTINST3("sbcs.w r1, r2, r3, lsr #0 ", 0, 0, r1, r2, r3, cv); 3055 TESTINST3("sbcs.w r1, r2, r3, lsr #1 ", 0, 0, r1, r2, r3, cv); 3056 TESTINST3("sbcs.w r1, r2, r3, lsr #15", 0, 0, r1, r2, r3, cv); 3057 TESTINST3("sbcs.w r1, r2, r3, lsr #31", 0, 0, r1, r2, r3, cv); 3058 TESTINST3("sbcs.w r1, r2, r3, asr #0 ", 0, 0, r1, r2, r3, cv); 3059 TESTINST3("sbcs.w r1, r2, r3, asr #1 ", 0, 0, r1, r2, r3, cv); 3060 TESTINST3("sbcs.w r1, r2, r3, asr #15", 0, 0, r1, r2, r3, cv); 3061 TESTINST3("sbcs.w r1, r2, r3, asr #31", 0, 0, r1, r2, r3, cv); 3062 TESTINST3("sbc.w r1, r2, r3, lsl #0 ", 0, 0, r1, r2, r3, cv); 3063 TESTINST3("sbc.w r1, r2, r3, lsl #1 ", 0, 0, r1, r2, r3, cv); 3064 TESTINST3("sbc.w r1, r2, r3, lsl #15", 0, 0, r1, r2, r3, cv); 3065 TESTINST3("sbc.w r1, r2, r3, lsl #31", 0, 0, r1, r2, r3, cv); 3066 TESTINST3("sbc.w r1, r2, r3, lsr #0 ", 0, 0, r1, r2, r3, cv); 3067 TESTINST3("sbc.w r1, r2, r3, lsr #1 ", 0, 0, r1, r2, r3, cv); 3068 TESTINST3("sbc.w r1, r2, r3, lsr #15", 0, 0, r1, r2, r3, cv); 3069 TESTINST3("sbc.w r1, r2, r3, lsr #31", 0, 0, r1, r2, r3, cv); 3070 TESTINST3("sbc.w r1, r2, r3, asr #0 ", 0, 0, r1, r2, r3, cv); 3071 TESTINST3("sbc.w r1, r2, r3, asr #1 ", 0, 0, r1, r2, r3, cv); 3072 TESTINST3("sbc.w r1, r2, r3, asr #15", 0, 0, r1, r2, r3, cv); 3073 TESTINST3("sbc.w r1, r2, r3, asr #31", 0, 0, r1, r2, r3, cv); 3074 TESTINST3("sbcs.w r1, r2, r3, lsl #0 ", 1, 0, r1, r2, r3, cv); 3075 TESTINST3("sbcs.w r1, r2, r3, lsl #1 ", 1, 0, r1, r2, r3, cv); 3076 TESTINST3("sbcs.w r1, r2, r3, lsl #15", 1, 0, r1, r2, r3, cv); 3077 TESTINST3("sbcs.w r1, r2, r3, lsl #31", 1, 0, r1, r2, r3, cv); 3078 TESTINST3("sbcs.w r1, r2, r3, lsr #0 ", 1, 0, r1, r2, r3, cv); 3079 TESTINST3("sbcs.w r1, r2, r3, lsr #1 ", 1, 0, r1, r2, r3, cv); 3080 TESTINST3("sbcs.w r1, r2, r3, lsr #15", 1, 0, r1, r2, r3, cv); 3081 TESTINST3("sbcs.w r1, r2, r3, lsr #31", 1, 0, r1, r2, r3, cv); 3082 TESTINST3("sbcs.w r1, r2, r3, asr #0 ", 1, 0, r1, r2, r3, cv); 3083 TESTINST3("sbcs.w r1, r2, r3, asr #1 ", 1, 0, r1, r2, r3, cv); 3084 TESTINST3("sbcs.w r1, r2, r3, asr #15", 1, 0, r1, r2, r3, cv); 3085 TESTINST3("sbcs.w r1, r2, r3, asr #31", 1, 0, r1, r2, r3, cv); 3086 TESTINST3("sbc.w r1, r2, r3, lsl #0 ", 1, 0, r1, r2, r3, cv); 3087 TESTINST3("sbc.w r1, r2, r3, lsl #1 ", 1, 0, r1, r2, r3, cv); 3088 TESTINST3("sbc.w r1, r2, r3, lsl #15", 1, 0, r1, r2, r3, cv); 3089 TESTINST3("sbc.w r1, r2, r3, lsl #31", 1, 0, r1, r2, r3, cv); 3090 TESTINST3("sbc.w r1, r2, r3, lsr #0 ", 1, 0, r1, r2, r3, cv); 3091 TESTINST3("sbc.w r1, r2, r3, lsr #1 ", 1, 0, r1, r2, r3, cv); 3092 TESTINST3("sbc.w r1, r2, r3, lsr #15", 1, 0, r1, r2, r3, cv); 3093 TESTINST3("sbc.w r1, r2, r3, lsr #31", 1, 0, r1, r2, r3, cv); 3094 TESTINST3("sbc.w r1, r2, r3, asr #0 ", 1, 0, r1, r2, r3, cv); 3095 TESTINST3("sbc.w r1, r2, r3, asr #1 ", 1, 0, r1, r2, r3, cv); 3096 TESTINST3("sbc.w r1, r2, r3, asr #15", 1, 0, r1, r2, r3, cv); 3097 TESTINST3("sbc.w r1, r2, r3, asr #31", 1, 0, r1, r2, r3, cv); 3098 TESTINST3("sbcs.w r1, r2, r3, lsl #0 ", 0, 1, r1, r2, r3, cv); 3099 TESTINST3("sbcs.w r1, r2, r3, lsl #1 ", 0, 1, r1, r2, r3, cv); 3100 TESTINST3("sbcs.w r1, r2, r3, lsl #15", 0, 1, r1, r2, r3, cv); 3101 TESTINST3("sbcs.w r1, r2, r3, lsl #31", 0, 1, r1, r2, r3, cv); 3102 TESTINST3("sbcs.w r1, r2, r3, lsr #0 ", 0, 1, r1, r2, r3, cv); 3103 TESTINST3("sbcs.w r1, r2, r3, lsr #1 ", 0, 1, r1, r2, r3, cv); 3104 TESTINST3("sbcs.w r1, r2, r3, lsr #15", 0, 1, r1, r2, r3, cv); 3105 TESTINST3("sbcs.w r1, r2, r3, lsr #31", 0, 1, r1, r2, r3, cv); 3106 TESTINST3("sbcs.w r1, r2, r3, asr #0 ", 0, 1, r1, r2, r3, cv); 3107 TESTINST3("sbcs.w r1, r2, r3, asr #1 ", 0, 1, r1, r2, r3, cv); 3108 TESTINST3("sbcs.w r1, r2, r3, asr #15", 0, 1, r1, r2, r3, cv); 3109 TESTINST3("sbcs.w r1, r2, r3, asr #31", 0, 1, r1, r2, r3, cv); 3110 TESTINST3("sbc.w r1, r2, r3, lsl #0 ", 0, 1, r1, r2, r3, cv); 3111 TESTINST3("sbc.w r1, r2, r3, lsl #1 ", 0, 1, r1, r2, r3, cv); 3112 TESTINST3("sbc.w r1, r2, r3, lsl #15", 0, 1, r1, r2, r3, cv); 3113 TESTINST3("sbc.w r1, r2, r3, lsl #31", 0, 1, r1, r2, r3, cv); 3114 TESTINST3("sbc.w r1, r2, r3, lsr #0 ", 0, 1, r1, r2, r3, cv); 3115 TESTINST3("sbc.w r1, r2, r3, lsr #1 ", 0, 1, r1, r2, r3, cv); 3116 TESTINST3("sbc.w r1, r2, r3, lsr #15", 0, 1, r1, r2, r3, cv); 3117 TESTINST3("sbc.w r1, r2, r3, lsr #31", 0, 1, r1, r2, r3, cv); 3118 TESTINST3("sbc.w r1, r2, r3, asr #0 ", 0, 1, r1, r2, r3, cv); 3119 TESTINST3("sbc.w r1, r2, r3, asr #1 ", 0, 1, r1, r2, r3, cv); 3120 TESTINST3("sbc.w r1, r2, r3, asr #15", 0, 1, r1, r2, r3, cv); 3121 TESTINST3("sbc.w r1, r2, r3, asr #31", 0, 1, r1, r2, r3, cv); 3122 TESTINST3("sbcs.w r1, r2, r3, lsl #0 ", -1, 0, r1, r2, r3, cv); 3123 TESTINST3("sbcs.w r1, r2, r3, lsl #1 ", -1, 0, r1, r2, r3, cv); 3124 TESTINST3("sbcs.w r1, r2, r3, lsl #15", -1, 0, r1, r2, r3, cv); 3125 TESTINST3("sbcs.w r1, r2, r3, lsl #31", -1, 0, r1, r2, r3, cv); 3126 TESTINST3("sbcs.w r1, r2, r3, lsr #0 ", -1, 0, r1, r2, r3, cv); 3127 TESTINST3("sbcs.w r1, r2, r3, lsr #1 ", -1, 0, r1, r2, r3, cv); 3128 TESTINST3("sbcs.w r1, r2, r3, lsr #15", -1, 0, r1, r2, r3, cv); 3129 TESTINST3("sbcs.w r1, r2, r3, lsr #31", -1, 0, r1, r2, r3, cv); 3130 TESTINST3("sbcs.w r1, r2, r3, asr #0 ", -1, 0, r1, r2, r3, cv); 3131 TESTINST3("sbcs.w r1, r2, r3, asr #1 ", -1, 0, r1, r2, r3, cv); 3132 TESTINST3("sbcs.w r1, r2, r3, asr #15", -1, 0, r1, r2, r3, cv); 3133 TESTINST3("sbcs.w r1, r2, r3, asr #31", -1, 0, r1, r2, r3, cv); 3134 TESTINST3("sbc.w r1, r2, r3, lsl #0 ", -1, 0, r1, r2, r3, cv); 3135 TESTINST3("sbc.w r1, r2, r3, lsl #1 ", -1, 0, r1, r2, r3, cv); 3136 TESTINST3("sbc.w r1, r2, r3, lsl #15", -1, 0, r1, r2, r3, cv); 3137 TESTINST3("sbc.w r1, r2, r3, lsl #31", -1, 0, r1, r2, r3, cv); 3138 TESTINST3("sbc.w r1, r2, r3, lsr #0 ", -1, 0, r1, r2, r3, cv); 3139 TESTINST3("sbc.w r1, r2, r3, lsr #1 ", -1, 0, r1, r2, r3, cv); 3140 TESTINST3("sbc.w r1, r2, r3, lsr #15", -1, 0, r1, r2, r3, cv); 3141 TESTINST3("sbc.w r1, r2, r3, lsr #31", -1, 0, r1, r2, r3, cv); 3142 TESTINST3("sbc.w r1, r2, r3, asr #0 ", -1, 0, r1, r2, r3, cv); 3143 TESTINST3("sbc.w r1, r2, r3, asr #1 ", -1, 0, r1, r2, r3, cv); 3144 TESTINST3("sbc.w r1, r2, r3, asr #15", -1, 0, r1, r2, r3, cv); 3145 TESTINST3("sbc.w r1, r2, r3, asr #31", -1, 0, r1, r2, r3, cv); 3146 TESTINST3("sbcs.w r1, r2, r3, lsl #0 ", 0, -1, r1, r2, r3, cv); 3147 TESTINST3("sbcs.w r1, r2, r3, lsl #1 ", 0, -1, r1, r2, r3, cv); 3148 TESTINST3("sbcs.w r1, r2, r3, lsl #15", 0, -1, r1, r2, r3, cv); 3149 TESTINST3("sbcs.w r1, r2, r3, lsl #31", 0, -1, r1, r2, r3, cv); 3150 TESTINST3("sbcs.w r1, r2, r3, lsr #0 ", 0, -1, r1, r2, r3, cv); 3151 TESTINST3("sbcs.w r1, r2, r3, lsr #1 ", 0, -1, r1, r2, r3, cv); 3152 TESTINST3("sbcs.w r1, r2, r3, lsr #15", 0, -1, r1, r2, r3, cv); 3153 TESTINST3("sbcs.w r1, r2, r3, lsr #31", 0, -1, r1, r2, r3, cv); 3154 TESTINST3("sbcs.w r1, r2, r3, asr #0 ", 0, -1, r1, r2, r3, cv); 3155 TESTINST3("sbcs.w r1, r2, r3, asr #1 ", 0, -1, r1, r2, r3, cv); 3156 TESTINST3("sbcs.w r1, r2, r3, asr #15", 0, -1, r1, r2, r3, cv); 3157 TESTINST3("sbcs.w r1, r2, r3, asr #31", 0, -1, r1, r2, r3, cv); 3158 TESTINST3("sbc.w r1, r2, r3, lsl #0 ", 0, -1, r1, r2, r3, cv); 3159 TESTINST3("sbc.w r1, r2, r3, lsl #1 ", 0, -1, r1, r2, r3, cv); 3160 TESTINST3("sbc.w r1, r2, r3, lsl #15", 0, -1, r1, r2, r3, cv); 3161 TESTINST3("sbc.w r1, r2, r3, lsl #31", 0, -1, r1, r2, r3, cv); 3162 TESTINST3("sbc.w r1, r2, r3, lsr #0 ", 0, -1, r1, r2, r3, cv); 3163 TESTINST3("sbc.w r1, r2, r3, lsr #1 ", 0, -1, r1, r2, r3, cv); 3164 TESTINST3("sbc.w r1, r2, r3, lsr #15", 0, -1, r1, r2, r3, cv); 3165 TESTINST3("sbc.w r1, r2, r3, lsr #31", 0, -1, r1, r2, r3, cv); 3166 TESTINST3("sbc.w r1, r2, r3, asr #0 ", 0, -1, r1, r2, r3, cv); 3167 TESTINST3("sbc.w r1, r2, r3, asr #1 ", 0, -1, r1, r2, r3, cv); 3168 TESTINST3("sbc.w r1, r2, r3, asr #15", 0, -1, r1, r2, r3, cv); 3169 TESTINST3("sbc.w r1, r2, r3, asr #31", 0, -1, r1, r2, r3, cv); 3170 TESTINST3("sbcs.w r1, r2, r3, lsl #0 ", 0, 0x80000000, r1, r2, r3, cv); 3171 TESTINST3("sbcs.w r1, r2, r3, lsl #1 ", 0, 0x80000000, r1, r2, r3, cv); 3172 TESTINST3("sbcs.w r1, r2, r3, lsl #15", 0, 0x80000000, r1, r2, r3, cv); 3173 TESTINST3("sbcs.w r1, r2, r3, lsl #31", 0, 0x80000000, r1, r2, r3, cv); 3174 TESTINST3("sbcs.w r1, r2, r3, lsr #0 ", 0, 0x80000000, r1, r2, r3, cv); 3175 TESTINST3("sbcs.w r1, r2, r3, lsr #1 ", 0, 0x80000000, r1, r2, r3, cv); 3176 TESTINST3("sbcs.w r1, r2, r3, lsr #15", 0, 0x80000000, r1, r2, r3, cv); 3177 TESTINST3("sbcs.w r1, r2, r3, lsr #31", 0, 0x80000000, r1, r2, r3, cv); 3178 TESTINST3("sbcs.w r1, r2, r3, asr #0 ", 0, 0x80000000, r1, r2, r3, cv); 3179 TESTINST3("sbcs.w r1, r2, r3, asr #1 ", 0, 0x80000000, r1, r2, r3, cv); 3180 TESTINST3("sbcs.w r1, r2, r3, asr #15", 0, 0x80000000, r1, r2, r3, cv); 3181 TESTINST3("sbcs.w r1, r2, r3, asr #31", 0, 0x80000000, r1, r2, r3, cv); 3182 TESTINST3("sbc.w r1, r2, r3, lsl #0 ", 0, 0x80000000, r1, r2, r3, cv); 3183 TESTINST3("sbc.w r1, r2, r3, lsl #1 ", 0, 0x80000000, r1, r2, r3, cv); 3184 TESTINST3("sbc.w r1, r2, r3, lsl #15", 0, 0x80000000, r1, r2, r3, cv); 3185 TESTINST3("sbc.w r1, r2, r3, lsl #31", 0, 0x80000000, r1, r2, r3, cv); 3186 TESTINST3("sbc.w r1, r2, r3, lsr #0 ", 0, 0x80000000, r1, r2, r3, cv); 3187 TESTINST3("sbc.w r1, r2, r3, lsr #1 ", 0, 0x80000000, r1, r2, r3, cv); 3188 TESTINST3("sbc.w r1, r2, r3, lsr #15", 0, 0x80000000, r1, r2, r3, cv); 3189 TESTINST3("sbc.w r1, r2, r3, lsr #31", 0, 0x80000000, r1, r2, r3, cv); 3190 TESTINST3("sbc.w r1, r2, r3, asr #0 ", 0, 0x80000000, r1, r2, r3, cv); 3191 TESTINST3("sbc.w r1, r2, r3, asr #1 ", 0, 0x80000000, r1, r2, r3, cv); 3192 TESTINST3("sbc.w r1, r2, r3, asr #15", 0, 0x80000000, r1, r2, r3, cv); 3193 TESTINST3("sbc.w r1, r2, r3, asr #31", 0, 0x80000000, r1, r2, r3, cv); 3194 TESTINST3("sbcs.w r1, r2, r3, lsl #0 ", 0x80000000, 0, r1, r2, r3, cv); 3195 TESTINST3("sbcs.w r1, r2, r3, lsl #1 ", 0x80000000, 0, r1, r2, r3, cv); 3196 TESTINST3("sbcs.w r1, r2, r3, lsl #15", 0x80000000, 0, r1, r2, r3, cv); 3197 TESTINST3("sbcs.w r1, r2, r3, lsl #31", 0x80000000, 0, r1, r2, r3, cv); 3198 TESTINST3("sbcs.w r1, r2, r3, lsr #0 ", 0x80000000, 0, r1, r2, r3, cv); 3199 TESTINST3("sbcs.w r1, r2, r3, lsr #1 ", 0x80000000, 0, r1, r2, r3, cv); 3200 TESTINST3("sbcs.w r1, r2, r3, lsr #15", 0x80000000, 0, r1, r2, r3, cv); 3201 TESTINST3("sbcs.w r1, r2, r3, lsr #31", 0x80000000, 0, r1, r2, r3, cv); 3202 TESTINST3("sbcs.w r1, r2, r3, asr #0 ", 0x80000000, 0, r1, r2, r3, cv); 3203 TESTINST3("sbcs.w r1, r2, r3, asr #1 ", 0x80000000, 0, r1, r2, r3, cv); 3204 TESTINST3("sbcs.w r1, r2, r3, asr #15", 0x80000000, 0, r1, r2, r3, cv); 3205 TESTINST3("sbcs.w r1, r2, r3, asr #31", 0x80000000, 0, r1, r2, r3, cv); 3206 TESTINST3("sbc.w r1, r2, r3, lsl #0 ", 0x80000000, 0, r1, r2, r3, cv); 3207 TESTINST3("sbc.w r1, r2, r3, lsl #1 ", 0x80000000, 0, r1, r2, r3, cv); 3208 TESTINST3("sbc.w r1, r2, r3, lsl #15", 0x80000000, 0, r1, r2, r3, cv); 3209 TESTINST3("sbc.w r1, r2, r3, lsl #31", 0x80000000, 0, r1, r2, r3, cv); 3210 TESTINST3("sbc.w r1, r2, r3, lsr #0 ", 0x80000000, 0, r1, r2, r3, cv); 3211 TESTINST3("sbc.w r1, r2, r3, lsr #1 ", 0x80000000, 0, r1, r2, r3, cv); 3212 TESTINST3("sbc.w r1, r2, r3, lsr #15", 0x80000000, 0, r1, r2, r3, cv); 3213 TESTINST3("sbc.w r1, r2, r3, lsr #31", 0x80000000, 0, r1, r2, r3, cv); 3214 TESTINST3("sbc.w r1, r2, r3, asr #0 ", 0x80000000, 0, r1, r2, r3, cv); 3215 TESTINST3("sbc.w r1, r2, r3, asr #1 ", 0x80000000, 0, r1, r2, r3, cv); 3216 TESTINST3("sbc.w r1, r2, r3, asr #15", 0x80000000, 0, r1, r2, r3, cv); 3217 TESTINST3("sbc.w r1, r2, r3, asr #31", 0x80000000, 0, r1, r2, r3, cv); 3218 TESTINST3("sbcs.w r1, r2, r3, lsl #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 3219 TESTINST3("sbcs.w r1, r2, r3, lsl #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 3220 TESTINST3("sbcs.w r1, r2, r3, lsl #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 3221 TESTINST3("sbcs.w r1, r2, r3, lsl #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 3222 TESTINST3("sbcs.w r1, r2, r3, lsr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 3223 TESTINST3("sbcs.w r1, r2, r3, lsr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 3224 TESTINST3("sbcs.w r1, r2, r3, lsr #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 3225 TESTINST3("sbcs.w r1, r2, r3, lsr #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 3226 TESTINST3("sbcs.w r1, r2, r3, asr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 3227 TESTINST3("sbcs.w r1, r2, r3, asr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 3228 TESTINST3("sbcs.w r1, r2, r3, asr #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 3229 TESTINST3("sbcs.w r1, r2, r3, asr #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 3230 TESTINST3("sbc.w r1, r2, r3, lsl #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 3231 TESTINST3("sbc.w r1, r2, r3, lsl #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 3232 TESTINST3("sbc.w r1, r2, r3, lsl #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 3233 TESTINST3("sbc.w r1, r2, r3, lsl #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 3234 TESTINST3("sbc.w r1, r2, r3, lsr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 3235 TESTINST3("sbc.w r1, r2, r3, lsr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 3236 TESTINST3("sbc.w r1, r2, r3, lsr #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 3237 TESTINST3("sbc.w r1, r2, r3, lsr #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 3238 TESTINST3("sbc.w r1, r2, r3, asr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 3239 TESTINST3("sbc.w r1, r2, r3, asr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 3240 TESTINST3("sbc.w r1, r2, r3, asr #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 3241 TESTINST3("sbc.w r1, r2, r3, asr #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 3242 TESTINST3("sbcs.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 3243 TESTINST3("sbcs.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 3244 TESTINST3("sbcs.w r1, r2, r3, lsl #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 3245 TESTINST3("sbcs.w r1, r2, r3, lsl #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 3246 TESTINST3("sbcs.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 3247 TESTINST3("sbcs.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 3248 TESTINST3("sbcs.w r1, r2, r3, lsr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 3249 TESTINST3("sbcs.w r1, r2, r3, lsr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 3250 TESTINST3("sbcs.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 3251 TESTINST3("sbcs.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 3252 TESTINST3("sbcs.w r1, r2, r3, asr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 3253 TESTINST3("sbcs.w r1, r2, r3, asr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 3254 TESTINST3("sbc.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 3255 TESTINST3("sbc.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 3256 TESTINST3("sbc.w r1, r2, r3, lsl #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 3257 TESTINST3("sbc.w r1, r2, r3, lsl #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 3258 TESTINST3("sbc.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 3259 TESTINST3("sbc.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 3260 TESTINST3("sbc.w r1, r2, r3, lsr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 3261 TESTINST3("sbc.w r1, r2, r3, lsr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 3262 TESTINST3("sbc.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 3263 TESTINST3("sbc.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 3264 TESTINST3("sbc.w r1, r2, r3, asr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 3265 TESTINST3("sbc.w r1, r2, r3, asr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 3266 TESTINST3("sbcs.w r1, r2, r3, lsl #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 3267 TESTINST3("sbcs.w r1, r2, r3, lsl #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 3268 TESTINST3("sbcs.w r1, r2, r3, lsl #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 3269 TESTINST3("sbcs.w r1, r2, r3, lsl #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 3270 TESTINST3("sbcs.w r1, r2, r3, lsr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 3271 TESTINST3("sbcs.w r1, r2, r3, lsr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 3272 TESTINST3("sbcs.w r1, r2, r3, lsr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 3273 TESTINST3("sbcs.w r1, r2, r3, lsr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 3274 TESTINST3("sbcs.w r1, r2, r3, asr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 3275 TESTINST3("sbcs.w r1, r2, r3, asr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 3276 TESTINST3("sbcs.w r1, r2, r3, asr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 3277 TESTINST3("sbcs.w r1, r2, r3, asr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 3278 TESTINST3("sbc.w r1, r2, r3, lsl #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 3279 TESTINST3("sbc.w r1, r2, r3, lsl #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 3280 TESTINST3("sbc.w r1, r2, r3, lsl #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 3281 TESTINST3("sbc.w r1, r2, r3, lsl #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 3282 TESTINST3("sbc.w r1, r2, r3, lsr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 3283 TESTINST3("sbc.w r1, r2, r3, lsr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 3284 TESTINST3("sbc.w r1, r2, r3, lsr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 3285 TESTINST3("sbc.w r1, r2, r3, lsr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 3286 TESTINST3("sbc.w r1, r2, r3, asr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 3287 TESTINST3("sbc.w r1, r2, r3, asr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 3288 TESTINST3("sbc.w r1, r2, r3, asr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 3289 TESTINST3("sbc.w r1, r2, r3, asr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 3290 TESTINST3("sbcs.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 3291 TESTINST3("sbcs.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 3292 TESTINST3("sbcs.w r1, r2, r3, lsl #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 3293 TESTINST3("sbcs.w r1, r2, r3, lsl #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 3294 TESTINST3("sbcs.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 3295 TESTINST3("sbcs.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 3296 TESTINST3("sbcs.w r1, r2, r3, lsr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 3297 TESTINST3("sbcs.w r1, r2, r3, lsr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 3298 TESTINST3("sbcs.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 3299 TESTINST3("sbcs.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 3300 TESTINST3("sbcs.w r1, r2, r3, asr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 3301 TESTINST3("sbcs.w r1, r2, r3, asr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 3302 TESTINST3("sbc.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 3303 TESTINST3("sbc.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 3304 TESTINST3("sbc.w r1, r2, r3, lsl #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 3305 TESTINST3("sbc.w r1, r2, r3, lsl #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 3306 TESTINST3("sbc.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 3307 TESTINST3("sbc.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 3308 TESTINST3("sbc.w r1, r2, r3, lsr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 3309 TESTINST3("sbc.w r1, r2, r3, lsr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 3310 TESTINST3("sbc.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 3311 TESTINST3("sbc.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 3312 TESTINST3("sbc.w r1, r2, r3, asr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 3313 TESTINST3("sbc.w r1, r2, r3, asr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 3314 TESTCARRYEND 3315 3316#if 0 3317 printf("XXX{S}.W Rd, Rn, Rm, {shift}\n"); 3318 TESTCARRY 3319 TESTINST3("xxxs.w r1, r2, r3, lsl #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 3320 TESTINST3("xxxs.w r1, r2, r3, lsl #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 3321 TESTINST3("xxxs.w r1, r2, r3, lsl #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 3322 TESTINST3("xxxs.w r1, r2, r3, lsl #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 3323 TESTINST3("xxxs.w r1, r2, r3, lsr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 3324 TESTINST3("xxxs.w r1, r2, r3, lsr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 3325 TESTINST3("xxxs.w r1, r2, r3, lsr #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 3326 TESTINST3("xxxs.w r1, r2, r3, lsr #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 3327 TESTINST3("xxxs.w r1, r2, r3, asr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 3328 TESTINST3("xxxs.w r1, r2, r3, asr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 3329 TESTINST3("xxxs.w r1, r2, r3, asr #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 3330 TESTINST3("xxxs.w r1, r2, r3, asr #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 3331 TESTINST3("xxx.w r1, r2, r3, lsl #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 3332 TESTINST3("xxx.w r1, r2, r3, lsl #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 3333 TESTINST3("xxx.w r1, r2, r3, lsl #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 3334 TESTINST3("xxx.w r1, r2, r3, lsl #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 3335 TESTINST3("xxx.w r1, r2, r3, lsr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 3336 TESTINST3("xxx.w r1, r2, r3, lsr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 3337 TESTINST3("xxx.w r1, r2, r3, lsr #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 3338 TESTINST3("xxx.w r1, r2, r3, lsr #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 3339 TESTINST3("xxx.w r1, r2, r3, asr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 3340 TESTINST3("xxx.w r1, r2, r3, asr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 3341 TESTINST3("xxx.w r1, r2, r3, asr #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 3342 TESTINST3("xxx.w r1, r2, r3, asr #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 3343 TESTINST3("xxxs.w r1, r2, r3, lsl #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 3344 TESTINST3("xxxs.w r1, r2, r3, lsl #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 3345 TESTINST3("xxxs.w r1, r2, r3, lsl #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 3346 TESTINST3("xxxs.w r1, r2, r3, lsl #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 3347 TESTINST3("xxxs.w r1, r2, r3, lsr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 3348 TESTINST3("xxxs.w r1, r2, r3, lsr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 3349 TESTINST3("xxxs.w r1, r2, r3, lsr #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 3350 TESTINST3("xxxs.w r1, r2, r3, lsr #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 3351 TESTINST3("xxxs.w r1, r2, r3, asr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 3352 TESTINST3("xxxs.w r1, r2, r3, asr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 3353 TESTINST3("xxxs.w r1, r2, r3, asr #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 3354 TESTINST3("xxxs.w r1, r2, r3, asr #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 3355 TESTINST3("xxx.w r1, r2, r3, lsl #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 3356 TESTINST3("xxx.w r1, r2, r3, lsl #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 3357 TESTINST3("xxx.w r1, r2, r3, lsl #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 3358 TESTINST3("xxx.w r1, r2, r3, lsl #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 3359 TESTINST3("xxx.w r1, r2, r3, lsr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 3360 TESTINST3("xxx.w r1, r2, r3, lsr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 3361 TESTINST3("xxx.w r1, r2, r3, lsr #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 3362 TESTINST3("xxx.w r1, r2, r3, lsr #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 3363 TESTINST3("xxx.w r1, r2, r3, asr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 3364 TESTINST3("xxx.w r1, r2, r3, asr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 3365 TESTINST3("xxx.w r1, r2, r3, asr #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 3366 TESTINST3("xxx.w r1, r2, r3, asr #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 3367 TESTINST3("xxxs.w r1, r2, r3, lsl #0 ", 0, 0, r1, r2, r3, cv); 3368 TESTINST3("xxxs.w r1, r2, r3, lsl #1 ", 0, 0, r1, r2, r3, cv); 3369 TESTINST3("xxxs.w r1, r2, r3, lsl #15", 0, 0, r1, r2, r3, cv); 3370 TESTINST3("xxxs.w r1, r2, r3, lsl #31", 0, 0, r1, r2, r3, cv); 3371 TESTINST3("xxxs.w r1, r2, r3, lsr #0 ", 0, 0, r1, r2, r3, cv); 3372 TESTINST3("xxxs.w r1, r2, r3, lsr #1 ", 0, 0, r1, r2, r3, cv); 3373 TESTINST3("xxxs.w r1, r2, r3, lsr #15", 0, 0, r1, r2, r3, cv); 3374 TESTINST3("xxxs.w r1, r2, r3, lsr #31", 0, 0, r1, r2, r3, cv); 3375 TESTINST3("xxxs.w r1, r2, r3, asr #0 ", 0, 0, r1, r2, r3, cv); 3376 TESTINST3("xxxs.w r1, r2, r3, asr #1 ", 0, 0, r1, r2, r3, cv); 3377 TESTINST3("xxxs.w r1, r2, r3, asr #15", 0, 0, r1, r2, r3, cv); 3378 TESTINST3("xxxs.w r1, r2, r3, asr #31", 0, 0, r1, r2, r3, cv); 3379 TESTINST3("xxx.w r1, r2, r3, lsl #0 ", 0, 0, r1, r2, r3, cv); 3380 TESTINST3("xxx.w r1, r2, r3, lsl #1 ", 0, 0, r1, r2, r3, cv); 3381 TESTINST3("xxx.w r1, r2, r3, lsl #15", 0, 0, r1, r2, r3, cv); 3382 TESTINST3("xxx.w r1, r2, r3, lsl #31", 0, 0, r1, r2, r3, cv); 3383 TESTINST3("xxx.w r1, r2, r3, lsr #0 ", 0, 0, r1, r2, r3, cv); 3384 TESTINST3("xxx.w r1, r2, r3, lsr #1 ", 0, 0, r1, r2, r3, cv); 3385 TESTINST3("xxx.w r1, r2, r3, lsr #15", 0, 0, r1, r2, r3, cv); 3386 TESTINST3("xxx.w r1, r2, r3, lsr #31", 0, 0, r1, r2, r3, cv); 3387 TESTINST3("xxx.w r1, r2, r3, asr #0 ", 0, 0, r1, r2, r3, cv); 3388 TESTINST3("xxx.w r1, r2, r3, asr #1 ", 0, 0, r1, r2, r3, cv); 3389 TESTINST3("xxx.w r1, r2, r3, asr #15", 0, 0, r1, r2, r3, cv); 3390 TESTINST3("xxx.w r1, r2, r3, asr #31", 0, 0, r1, r2, r3, cv); 3391 TESTINST3("xxxs.w r1, r2, r3, lsl #0 ", 1, 0, r1, r2, r3, cv); 3392 TESTINST3("xxxs.w r1, r2, r3, lsl #1 ", 1, 0, r1, r2, r3, cv); 3393 TESTINST3("xxxs.w r1, r2, r3, lsl #15", 1, 0, r1, r2, r3, cv); 3394 TESTINST3("xxxs.w r1, r2, r3, lsl #31", 1, 0, r1, r2, r3, cv); 3395 TESTINST3("xxxs.w r1, r2, r3, lsr #0 ", 1, 0, r1, r2, r3, cv); 3396 TESTINST3("xxxs.w r1, r2, r3, lsr #1 ", 1, 0, r1, r2, r3, cv); 3397 TESTINST3("xxxs.w r1, r2, r3, lsr #15", 1, 0, r1, r2, r3, cv); 3398 TESTINST3("xxxs.w r1, r2, r3, lsr #31", 1, 0, r1, r2, r3, cv); 3399 TESTINST3("xxxs.w r1, r2, r3, asr #0 ", 1, 0, r1, r2, r3, cv); 3400 TESTINST3("xxxs.w r1, r2, r3, asr #1 ", 1, 0, r1, r2, r3, cv); 3401 TESTINST3("xxxs.w r1, r2, r3, asr #15", 1, 0, r1, r2, r3, cv); 3402 TESTINST3("xxxs.w r1, r2, r3, asr #31", 1, 0, r1, r2, r3, cv); 3403 TESTINST3("xxx.w r1, r2, r3, lsl #0 ", 1, 0, r1, r2, r3, cv); 3404 TESTINST3("xxx.w r1, r2, r3, lsl #1 ", 1, 0, r1, r2, r3, cv); 3405 TESTINST3("xxx.w r1, r2, r3, lsl #15", 1, 0, r1, r2, r3, cv); 3406 TESTINST3("xxx.w r1, r2, r3, lsl #31", 1, 0, r1, r2, r3, cv); 3407 TESTINST3("xxx.w r1, r2, r3, lsr #0 ", 1, 0, r1, r2, r3, cv); 3408 TESTINST3("xxx.w r1, r2, r3, lsr #1 ", 1, 0, r1, r2, r3, cv); 3409 TESTINST3("xxx.w r1, r2, r3, lsr #15", 1, 0, r1, r2, r3, cv); 3410 TESTINST3("xxx.w r1, r2, r3, lsr #31", 1, 0, r1, r2, r3, cv); 3411 TESTINST3("xxx.w r1, r2, r3, asr #0 ", 1, 0, r1, r2, r3, cv); 3412 TESTINST3("xxx.w r1, r2, r3, asr #1 ", 1, 0, r1, r2, r3, cv); 3413 TESTINST3("xxx.w r1, r2, r3, asr #15", 1, 0, r1, r2, r3, cv); 3414 TESTINST3("xxx.w r1, r2, r3, asr #31", 1, 0, r1, r2, r3, cv); 3415 TESTINST3("xxxs.w r1, r2, r3, lsl #0 ", 0, 1, r1, r2, r3, cv); 3416 TESTINST3("xxxs.w r1, r2, r3, lsl #1 ", 0, 1, r1, r2, r3, cv); 3417 TESTINST3("xxxs.w r1, r2, r3, lsl #15", 0, 1, r1, r2, r3, cv); 3418 TESTINST3("xxxs.w r1, r2, r3, lsl #31", 0, 1, r1, r2, r3, cv); 3419 TESTINST3("xxxs.w r1, r2, r3, lsr #0 ", 0, 1, r1, r2, r3, cv); 3420 TESTINST3("xxxs.w r1, r2, r3, lsr #1 ", 0, 1, r1, r2, r3, cv); 3421 TESTINST3("xxxs.w r1, r2, r3, lsr #15", 0, 1, r1, r2, r3, cv); 3422 TESTINST3("xxxs.w r1, r2, r3, lsr #31", 0, 1, r1, r2, r3, cv); 3423 TESTINST3("xxxs.w r1, r2, r3, asr #0 ", 0, 1, r1, r2, r3, cv); 3424 TESTINST3("xxxs.w r1, r2, r3, asr #1 ", 0, 1, r1, r2, r3, cv); 3425 TESTINST3("xxxs.w r1, r2, r3, asr #15", 0, 1, r1, r2, r3, cv); 3426 TESTINST3("xxxs.w r1, r2, r3, asr #31", 0, 1, r1, r2, r3, cv); 3427 TESTINST3("xxx.w r1, r2, r3, lsl #0 ", 0, 1, r1, r2, r3, cv); 3428 TESTINST3("xxx.w r1, r2, r3, lsl #1 ", 0, 1, r1, r2, r3, cv); 3429 TESTINST3("xxx.w r1, r2, r3, lsl #15", 0, 1, r1, r2, r3, cv); 3430 TESTINST3("xxx.w r1, r2, r3, lsl #31", 0, 1, r1, r2, r3, cv); 3431 TESTINST3("xxx.w r1, r2, r3, lsr #0 ", 0, 1, r1, r2, r3, cv); 3432 TESTINST3("xxx.w r1, r2, r3, lsr #1 ", 0, 1, r1, r2, r3, cv); 3433 TESTINST3("xxx.w r1, r2, r3, lsr #15", 0, 1, r1, r2, r3, cv); 3434 TESTINST3("xxx.w r1, r2, r3, lsr #31", 0, 1, r1, r2, r3, cv); 3435 TESTINST3("xxx.w r1, r2, r3, asr #0 ", 0, 1, r1, r2, r3, cv); 3436 TESTINST3("xxx.w r1, r2, r3, asr #1 ", 0, 1, r1, r2, r3, cv); 3437 TESTINST3("xxx.w r1, r2, r3, asr #15", 0, 1, r1, r2, r3, cv); 3438 TESTINST3("xxx.w r1, r2, r3, asr #31", 0, 1, r1, r2, r3, cv); 3439 TESTINST3("xxxs.w r1, r2, r3, lsl #0 ", -1, 0, r1, r2, r3, cv); 3440 TESTINST3("xxxs.w r1, r2, r3, lsl #1 ", -1, 0, r1, r2, r3, cv); 3441 TESTINST3("xxxs.w r1, r2, r3, lsl #15", -1, 0, r1, r2, r3, cv); 3442 TESTINST3("xxxs.w r1, r2, r3, lsl #31", -1, 0, r1, r2, r3, cv); 3443 TESTINST3("xxxs.w r1, r2, r3, lsr #0 ", -1, 0, r1, r2, r3, cv); 3444 TESTINST3("xxxs.w r1, r2, r3, lsr #1 ", -1, 0, r1, r2, r3, cv); 3445 TESTINST3("xxxs.w r1, r2, r3, lsr #15", -1, 0, r1, r2, r3, cv); 3446 TESTINST3("xxxs.w r1, r2, r3, lsr #31", -1, 0, r1, r2, r3, cv); 3447 TESTINST3("xxxs.w r1, r2, r3, asr #0 ", -1, 0, r1, r2, r3, cv); 3448 TESTINST3("xxxs.w r1, r2, r3, asr #1 ", -1, 0, r1, r2, r3, cv); 3449 TESTINST3("xxxs.w r1, r2, r3, asr #15", -1, 0, r1, r2, r3, cv); 3450 TESTINST3("xxxs.w r1, r2, r3, asr #31", -1, 0, r1, r2, r3, cv); 3451 TESTINST3("xxx.w r1, r2, r3, lsl #0 ", -1, 0, r1, r2, r3, cv); 3452 TESTINST3("xxx.w r1, r2, r3, lsl #1 ", -1, 0, r1, r2, r3, cv); 3453 TESTINST3("xxx.w r1, r2, r3, lsl #15", -1, 0, r1, r2, r3, cv); 3454 TESTINST3("xxx.w r1, r2, r3, lsl #31", -1, 0, r1, r2, r3, cv); 3455 TESTINST3("xxx.w r1, r2, r3, lsr #0 ", -1, 0, r1, r2, r3, cv); 3456 TESTINST3("xxx.w r1, r2, r3, lsr #1 ", -1, 0, r1, r2, r3, cv); 3457 TESTINST3("xxx.w r1, r2, r3, lsr #15", -1, 0, r1, r2, r3, cv); 3458 TESTINST3("xxx.w r1, r2, r3, lsr #31", -1, 0, r1, r2, r3, cv); 3459 TESTINST3("xxx.w r1, r2, r3, asr #0 ", -1, 0, r1, r2, r3, cv); 3460 TESTINST3("xxx.w r1, r2, r3, asr #1 ", -1, 0, r1, r2, r3, cv); 3461 TESTINST3("xxx.w r1, r2, r3, asr #15", -1, 0, r1, r2, r3, cv); 3462 TESTINST3("xxx.w r1, r2, r3, asr #31", -1, 0, r1, r2, r3, cv); 3463 TESTINST3("xxxs.w r1, r2, r3, lsl #0 ", 0, -1, r1, r2, r3, cv); 3464 TESTINST3("xxxs.w r1, r2, r3, lsl #1 ", 0, -1, r1, r2, r3, cv); 3465 TESTINST3("xxxs.w r1, r2, r3, lsl #15", 0, -1, r1, r2, r3, cv); 3466 TESTINST3("xxxs.w r1, r2, r3, lsl #31", 0, -1, r1, r2, r3, cv); 3467 TESTINST3("xxxs.w r1, r2, r3, lsr #0 ", 0, -1, r1, r2, r3, cv); 3468 TESTINST3("xxxs.w r1, r2, r3, lsr #1 ", 0, -1, r1, r2, r3, cv); 3469 TESTINST3("xxxs.w r1, r2, r3, lsr #15", 0, -1, r1, r2, r3, cv); 3470 TESTINST3("xxxs.w r1, r2, r3, lsr #31", 0, -1, r1, r2, r3, cv); 3471 TESTINST3("xxxs.w r1, r2, r3, asr #0 ", 0, -1, r1, r2, r3, cv); 3472 TESTINST3("xxxs.w r1, r2, r3, asr #1 ", 0, -1, r1, r2, r3, cv); 3473 TESTINST3("xxxs.w r1, r2, r3, asr #15", 0, -1, r1, r2, r3, cv); 3474 TESTINST3("xxxs.w r1, r2, r3, asr #31", 0, -1, r1, r2, r3, cv); 3475 TESTINST3("xxx.w r1, r2, r3, lsl #0 ", 0, -1, r1, r2, r3, cv); 3476 TESTINST3("xxx.w r1, r2, r3, lsl #1 ", 0, -1, r1, r2, r3, cv); 3477 TESTINST3("xxx.w r1, r2, r3, lsl #15", 0, -1, r1, r2, r3, cv); 3478 TESTINST3("xxx.w r1, r2, r3, lsl #31", 0, -1, r1, r2, r3, cv); 3479 TESTINST3("xxx.w r1, r2, r3, lsr #0 ", 0, -1, r1, r2, r3, cv); 3480 TESTINST3("xxx.w r1, r2, r3, lsr #1 ", 0, -1, r1, r2, r3, cv); 3481 TESTINST3("xxx.w r1, r2, r3, lsr #15", 0, -1, r1, r2, r3, cv); 3482 TESTINST3("xxx.w r1, r2, r3, lsr #31", 0, -1, r1, r2, r3, cv); 3483 TESTINST3("xxx.w r1, r2, r3, asr #0 ", 0, -1, r1, r2, r3, cv); 3484 TESTINST3("xxx.w r1, r2, r3, asr #1 ", 0, -1, r1, r2, r3, cv); 3485 TESTINST3("xxx.w r1, r2, r3, asr #15", 0, -1, r1, r2, r3, cv); 3486 TESTINST3("xxx.w r1, r2, r3, asr #31", 0, -1, r1, r2, r3, cv); 3487 TESTINST3("xxxs.w r1, r2, r3, lsl #0 ", 0, 0x80000000, r1, r2, r3, cv); 3488 TESTINST3("xxxs.w r1, r2, r3, lsl #1 ", 0, 0x80000000, r1, r2, r3, cv); 3489 TESTINST3("xxxs.w r1, r2, r3, lsl #15", 0, 0x80000000, r1, r2, r3, cv); 3490 TESTINST3("xxxs.w r1, r2, r3, lsl #31", 0, 0x80000000, r1, r2, r3, cv); 3491 TESTINST3("xxxs.w r1, r2, r3, lsr #0 ", 0, 0x80000000, r1, r2, r3, cv); 3492 TESTINST3("xxxs.w r1, r2, r3, lsr #1 ", 0, 0x80000000, r1, r2, r3, cv); 3493 TESTINST3("xxxs.w r1, r2, r3, lsr #15", 0, 0x80000000, r1, r2, r3, cv); 3494 TESTINST3("xxxs.w r1, r2, r3, lsr #31", 0, 0x80000000, r1, r2, r3, cv); 3495 TESTINST3("xxxs.w r1, r2, r3, asr #0 ", 0, 0x80000000, r1, r2, r3, cv); 3496 TESTINST3("xxxs.w r1, r2, r3, asr #1 ", 0, 0x80000000, r1, r2, r3, cv); 3497 TESTINST3("xxxs.w r1, r2, r3, asr #15", 0, 0x80000000, r1, r2, r3, cv); 3498 TESTINST3("xxxs.w r1, r2, r3, asr #31", 0, 0x80000000, r1, r2, r3, cv); 3499 TESTINST3("xxx.w r1, r2, r3, lsl #0 ", 0, 0x80000000, r1, r2, r3, cv); 3500 TESTINST3("xxx.w r1, r2, r3, lsl #1 ", 0, 0x80000000, r1, r2, r3, cv); 3501 TESTINST3("xxx.w r1, r2, r3, lsl #15", 0, 0x80000000, r1, r2, r3, cv); 3502 TESTINST3("xxx.w r1, r2, r3, lsl #31", 0, 0x80000000, r1, r2, r3, cv); 3503 TESTINST3("xxx.w r1, r2, r3, lsr #0 ", 0, 0x80000000, r1, r2, r3, cv); 3504 TESTINST3("xxx.w r1, r2, r3, lsr #1 ", 0, 0x80000000, r1, r2, r3, cv); 3505 TESTINST3("xxx.w r1, r2, r3, lsr #15", 0, 0x80000000, r1, r2, r3, cv); 3506 TESTINST3("xxx.w r1, r2, r3, lsr #31", 0, 0x80000000, r1, r2, r3, cv); 3507 TESTINST3("xxx.w r1, r2, r3, asr #0 ", 0, 0x80000000, r1, r2, r3, cv); 3508 TESTINST3("xxx.w r1, r2, r3, asr #1 ", 0, 0x80000000, r1, r2, r3, cv); 3509 TESTINST3("xxx.w r1, r2, r3, asr #15", 0, 0x80000000, r1, r2, r3, cv); 3510 TESTINST3("xxx.w r1, r2, r3, asr #31", 0, 0x80000000, r1, r2, r3, cv); 3511 TESTINST3("xxxs.w r1, r2, r3, lsl #0 ", 0x80000000, 0, r1, r2, r3, cv); 3512 TESTINST3("xxxs.w r1, r2, r3, lsl #1 ", 0x80000000, 0, r1, r2, r3, cv); 3513 TESTINST3("xxxs.w r1, r2, r3, lsl #15", 0x80000000, 0, r1, r2, r3, cv); 3514 TESTINST3("xxxs.w r1, r2, r3, lsl #31", 0x80000000, 0, r1, r2, r3, cv); 3515 TESTINST3("xxxs.w r1, r2, r3, lsr #0 ", 0x80000000, 0, r1, r2, r3, cv); 3516 TESTINST3("xxxs.w r1, r2, r3, lsr #1 ", 0x80000000, 0, r1, r2, r3, cv); 3517 TESTINST3("xxxs.w r1, r2, r3, lsr #15", 0x80000000, 0, r1, r2, r3, cv); 3518 TESTINST3("xxxs.w r1, r2, r3, lsr #31", 0x80000000, 0, r1, r2, r3, cv); 3519 TESTINST3("xxxs.w r1, r2, r3, asr #0 ", 0x80000000, 0, r1, r2, r3, cv); 3520 TESTINST3("xxxs.w r1, r2, r3, asr #1 ", 0x80000000, 0, r1, r2, r3, cv); 3521 TESTINST3("xxxs.w r1, r2, r3, asr #15", 0x80000000, 0, r1, r2, r3, cv); 3522 TESTINST3("xxxs.w r1, r2, r3, asr #31", 0x80000000, 0, r1, r2, r3, cv); 3523 TESTINST3("xxx.w r1, r2, r3, lsl #0 ", 0x80000000, 0, r1, r2, r3, cv); 3524 TESTINST3("xxx.w r1, r2, r3, lsl #1 ", 0x80000000, 0, r1, r2, r3, cv); 3525 TESTINST3("xxx.w r1, r2, r3, lsl #15", 0x80000000, 0, r1, r2, r3, cv); 3526 TESTINST3("xxx.w r1, r2, r3, lsl #31", 0x80000000, 0, r1, r2, r3, cv); 3527 TESTINST3("xxx.w r1, r2, r3, lsr #0 ", 0x80000000, 0, r1, r2, r3, cv); 3528 TESTINST3("xxx.w r1, r2, r3, lsr #1 ", 0x80000000, 0, r1, r2, r3, cv); 3529 TESTINST3("xxx.w r1, r2, r3, lsr #15", 0x80000000, 0, r1, r2, r3, cv); 3530 TESTINST3("xxx.w r1, r2, r3, lsr #31", 0x80000000, 0, r1, r2, r3, cv); 3531 TESTINST3("xxx.w r1, r2, r3, asr #0 ", 0x80000000, 0, r1, r2, r3, cv); 3532 TESTINST3("xxx.w r1, r2, r3, asr #1 ", 0x80000000, 0, r1, r2, r3, cv); 3533 TESTINST3("xxx.w r1, r2, r3, asr #15", 0x80000000, 0, r1, r2, r3, cv); 3534 TESTINST3("xxx.w r1, r2, r3, asr #31", 0x80000000, 0, r1, r2, r3, cv); 3535 TESTINST3("xxxs.w r1, r2, r3, lsl #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 3536 TESTINST3("xxxs.w r1, r2, r3, lsl #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 3537 TESTINST3("xxxs.w r1, r2, r3, lsl #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 3538 TESTINST3("xxxs.w r1, r2, r3, lsl #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 3539 TESTINST3("xxxs.w r1, r2, r3, lsr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 3540 TESTINST3("xxxs.w r1, r2, r3, lsr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 3541 TESTINST3("xxxs.w r1, r2, r3, lsr #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 3542 TESTINST3("xxxs.w r1, r2, r3, lsr #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 3543 TESTINST3("xxxs.w r1, r2, r3, asr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 3544 TESTINST3("xxxs.w r1, r2, r3, asr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 3545 TESTINST3("xxxs.w r1, r2, r3, asr #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 3546 TESTINST3("xxxs.w r1, r2, r3, asr #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 3547 TESTINST3("xxx.w r1, r2, r3, lsl #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 3548 TESTINST3("xxx.w r1, r2, r3, lsl #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 3549 TESTINST3("xxx.w r1, r2, r3, lsl #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 3550 TESTINST3("xxx.w r1, r2, r3, lsl #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 3551 TESTINST3("xxx.w r1, r2, r3, lsr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 3552 TESTINST3("xxx.w r1, r2, r3, lsr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 3553 TESTINST3("xxx.w r1, r2, r3, lsr #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 3554 TESTINST3("xxx.w r1, r2, r3, lsr #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 3555 TESTINST3("xxx.w r1, r2, r3, asr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 3556 TESTINST3("xxx.w r1, r2, r3, asr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 3557 TESTINST3("xxx.w r1, r2, r3, asr #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 3558 TESTINST3("xxx.w r1, r2, r3, asr #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 3559 TESTINST3("xxxs.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 3560 TESTINST3("xxxs.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 3561 TESTINST3("xxxs.w r1, r2, r3, lsl #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 3562 TESTINST3("xxxs.w r1, r2, r3, lsl #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 3563 TESTINST3("xxxs.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 3564 TESTINST3("xxxs.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 3565 TESTINST3("xxxs.w r1, r2, r3, lsr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 3566 TESTINST3("xxxs.w r1, r2, r3, lsr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 3567 TESTINST3("xxxs.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 3568 TESTINST3("xxxs.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 3569 TESTINST3("xxxs.w r1, r2, r3, asr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 3570 TESTINST3("xxxs.w r1, r2, r3, asr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 3571 TESTINST3("xxx.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 3572 TESTINST3("xxx.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 3573 TESTINST3("xxx.w r1, r2, r3, lsl #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 3574 TESTINST3("xxx.w r1, r2, r3, lsl #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 3575 TESTINST3("xxx.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 3576 TESTINST3("xxx.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 3577 TESTINST3("xxx.w r1, r2, r3, lsr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 3578 TESTINST3("xxx.w r1, r2, r3, lsr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 3579 TESTINST3("xxx.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 3580 TESTINST3("xxx.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 3581 TESTINST3("xxx.w r1, r2, r3, asr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 3582 TESTINST3("xxx.w r1, r2, r3, asr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 3583 TESTINST3("xxxs.w r1, r2, r3, lsl #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 3584 TESTINST3("xxxs.w r1, r2, r3, lsl #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 3585 TESTINST3("xxxs.w r1, r2, r3, lsl #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 3586 TESTINST3("xxxs.w r1, r2, r3, lsl #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 3587 TESTINST3("xxxs.w r1, r2, r3, lsr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 3588 TESTINST3("xxxs.w r1, r2, r3, lsr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 3589 TESTINST3("xxxs.w r1, r2, r3, lsr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 3590 TESTINST3("xxxs.w r1, r2, r3, lsr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 3591 TESTINST3("xxxs.w r1, r2, r3, asr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 3592 TESTINST3("xxxs.w r1, r2, r3, asr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 3593 TESTINST3("xxxs.w r1, r2, r3, asr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 3594 TESTINST3("xxxs.w r1, r2, r3, asr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 3595 TESTINST3("xxx.w r1, r2, r3, lsl #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 3596 TESTINST3("xxx.w r1, r2, r3, lsl #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 3597 TESTINST3("xxx.w r1, r2, r3, lsl #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 3598 TESTINST3("xxx.w r1, r2, r3, lsl #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 3599 TESTINST3("xxx.w r1, r2, r3, lsr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 3600 TESTINST3("xxx.w r1, r2, r3, lsr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 3601 TESTINST3("xxx.w r1, r2, r3, lsr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 3602 TESTINST3("xxx.w r1, r2, r3, lsr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 3603 TESTINST3("xxx.w r1, r2, r3, asr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 3604 TESTINST3("xxx.w r1, r2, r3, asr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 3605 TESTINST3("xxx.w r1, r2, r3, asr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 3606 TESTINST3("xxx.w r1, r2, r3, asr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 3607 TESTINST3("xxxs.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 3608 TESTINST3("xxxs.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 3609 TESTINST3("xxxs.w r1, r2, r3, lsl #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 3610 TESTINST3("xxxs.w r1, r2, r3, lsl #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 3611 TESTINST3("xxxs.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 3612 TESTINST3("xxxs.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 3613 TESTINST3("xxxs.w r1, r2, r3, lsr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 3614 TESTINST3("xxxs.w r1, r2, r3, lsr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 3615 TESTINST3("xxxs.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 3616 TESTINST3("xxxs.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 3617 TESTINST3("xxxs.w r1, r2, r3, asr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 3618 TESTINST3("xxxs.w r1, r2, r3, asr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 3619 TESTINST3("xxx.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 3620 TESTINST3("xxx.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 3621 TESTINST3("xxx.w r1, r2, r3, lsl #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 3622 TESTINST3("xxx.w r1, r2, r3, lsl #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 3623 TESTINST3("xxx.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 3624 TESTINST3("xxx.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 3625 TESTINST3("xxx.w r1, r2, r3, lsr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 3626 TESTINST3("xxx.w r1, r2, r3, lsr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 3627 TESTINST3("xxx.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 3628 TESTINST3("xxx.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 3629 TESTINST3("xxx.w r1, r2, r3, asr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 3630 TESTINST3("xxx.w r1, r2, r3, asr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 3631 TESTCARRYEND 3632#endif 3633 3634 printf("AND{S}.W Rd, Rn, Rm, {shift}\n"); 3635 TESTCARRY 3636 TESTINST3("ands.w r1, r2, r3, lsl #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 3637 TESTINST3("ands.w r1, r2, r3, lsl #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 3638 TESTINST3("ands.w r1, r2, r3, lsl #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 3639 TESTINST3("ands.w r1, r2, r3, lsl #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 3640 TESTINST3("ands.w r1, r2, r3, lsr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 3641 TESTINST3("ands.w r1, r2, r3, lsr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 3642 TESTINST3("ands.w r1, r2, r3, lsr #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 3643 TESTINST3("ands.w r1, r2, r3, lsr #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 3644 TESTINST3("ands.w r1, r2, r3, asr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 3645 TESTINST3("ands.w r1, r2, r3, asr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 3646 TESTINST3("ands.w r1, r2, r3, asr #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 3647 TESTINST3("ands.w r1, r2, r3, asr #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 3648 TESTINST3("and.w r1, r2, r3, lsl #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 3649 TESTINST3("and.w r1, r2, r3, lsl #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 3650 TESTINST3("and.w r1, r2, r3, lsl #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 3651 TESTINST3("and.w r1, r2, r3, lsl #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 3652 TESTINST3("and.w r1, r2, r3, lsr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 3653 TESTINST3("and.w r1, r2, r3, lsr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 3654 TESTINST3("and.w r1, r2, r3, lsr #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 3655 TESTINST3("and.w r1, r2, r3, lsr #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 3656 TESTINST3("and.w r1, r2, r3, asr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 3657 TESTINST3("and.w r1, r2, r3, asr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 3658 TESTINST3("and.w r1, r2, r3, asr #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 3659 TESTINST3("and.w r1, r2, r3, asr #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 3660 TESTINST3("ands.w r1, r2, r3, lsl #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 3661 TESTINST3("ands.w r1, r2, r3, lsl #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 3662 TESTINST3("ands.w r1, r2, r3, lsl #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 3663 TESTINST3("ands.w r1, r2, r3, lsl #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 3664 TESTINST3("ands.w r1, r2, r3, lsr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 3665 TESTINST3("ands.w r1, r2, r3, lsr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 3666 TESTINST3("ands.w r1, r2, r3, lsr #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 3667 TESTINST3("ands.w r1, r2, r3, lsr #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 3668 TESTINST3("ands.w r1, r2, r3, asr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 3669 TESTINST3("ands.w r1, r2, r3, asr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 3670 TESTINST3("ands.w r1, r2, r3, asr #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 3671 TESTINST3("ands.w r1, r2, r3, asr #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 3672 TESTINST3("and.w r1, r2, r3, lsl #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 3673 TESTINST3("and.w r1, r2, r3, lsl #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 3674 TESTINST3("and.w r1, r2, r3, lsl #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 3675 TESTINST3("and.w r1, r2, r3, lsl #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 3676 TESTINST3("and.w r1, r2, r3, lsr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 3677 TESTINST3("and.w r1, r2, r3, lsr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 3678 TESTINST3("and.w r1, r2, r3, lsr #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 3679 TESTINST3("and.w r1, r2, r3, lsr #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 3680 TESTINST3("and.w r1, r2, r3, asr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 3681 TESTINST3("and.w r1, r2, r3, asr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 3682 TESTINST3("and.w r1, r2, r3, asr #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 3683 TESTINST3("and.w r1, r2, r3, asr #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 3684 TESTINST3("ands.w r1, r2, r3, lsl #0 ", 0, 0, r1, r2, r3, cv); 3685 TESTINST3("ands.w r1, r2, r3, lsl #1 ", 0, 0, r1, r2, r3, cv); 3686 TESTINST3("ands.w r1, r2, r3, lsl #15", 0, 0, r1, r2, r3, cv); 3687 TESTINST3("ands.w r1, r2, r3, lsl #31", 0, 0, r1, r2, r3, cv); 3688 TESTINST3("ands.w r1, r2, r3, lsr #0 ", 0, 0, r1, r2, r3, cv); 3689 TESTINST3("ands.w r1, r2, r3, lsr #1 ", 0, 0, r1, r2, r3, cv); 3690 TESTINST3("ands.w r1, r2, r3, lsr #15", 0, 0, r1, r2, r3, cv); 3691 TESTINST3("ands.w r1, r2, r3, lsr #31", 0, 0, r1, r2, r3, cv); 3692 TESTINST3("ands.w r1, r2, r3, asr #0 ", 0, 0, r1, r2, r3, cv); 3693 TESTINST3("ands.w r1, r2, r3, asr #1 ", 0, 0, r1, r2, r3, cv); 3694 TESTINST3("ands.w r1, r2, r3, asr #15", 0, 0, r1, r2, r3, cv); 3695 TESTINST3("ands.w r1, r2, r3, asr #31", 0, 0, r1, r2, r3, cv); 3696 TESTINST3("and.w r1, r2, r3, lsl #0 ", 0, 0, r1, r2, r3, cv); 3697 TESTINST3("and.w r1, r2, r3, lsl #1 ", 0, 0, r1, r2, r3, cv); 3698 TESTINST3("and.w r1, r2, r3, lsl #15", 0, 0, r1, r2, r3, cv); 3699 TESTINST3("and.w r1, r2, r3, lsl #31", 0, 0, r1, r2, r3, cv); 3700 TESTINST3("and.w r1, r2, r3, lsr #0 ", 0, 0, r1, r2, r3, cv); 3701 TESTINST3("and.w r1, r2, r3, lsr #1 ", 0, 0, r1, r2, r3, cv); 3702 TESTINST3("and.w r1, r2, r3, lsr #15", 0, 0, r1, r2, r3, cv); 3703 TESTINST3("and.w r1, r2, r3, lsr #31", 0, 0, r1, r2, r3, cv); 3704 TESTINST3("and.w r1, r2, r3, asr #0 ", 0, 0, r1, r2, r3, cv); 3705 TESTINST3("and.w r1, r2, r3, asr #1 ", 0, 0, r1, r2, r3, cv); 3706 TESTINST3("and.w r1, r2, r3, asr #15", 0, 0, r1, r2, r3, cv); 3707 TESTINST3("and.w r1, r2, r3, asr #31", 0, 0, r1, r2, r3, cv); 3708 TESTINST3("ands.w r1, r2, r3, lsl #0 ", 1, 0, r1, r2, r3, cv); 3709 TESTINST3("ands.w r1, r2, r3, lsl #1 ", 1, 0, r1, r2, r3, cv); 3710 TESTINST3("ands.w r1, r2, r3, lsl #15", 1, 0, r1, r2, r3, cv); 3711 TESTINST3("ands.w r1, r2, r3, lsl #31", 1, 0, r1, r2, r3, cv); 3712 TESTINST3("ands.w r1, r2, r3, lsr #0 ", 1, 0, r1, r2, r3, cv); 3713 TESTINST3("ands.w r1, r2, r3, lsr #1 ", 1, 0, r1, r2, r3, cv); 3714 TESTINST3("ands.w r1, r2, r3, lsr #15", 1, 0, r1, r2, r3, cv); 3715 TESTINST3("ands.w r1, r2, r3, lsr #31", 1, 0, r1, r2, r3, cv); 3716 TESTINST3("ands.w r1, r2, r3, asr #0 ", 1, 0, r1, r2, r3, cv); 3717 TESTINST3("ands.w r1, r2, r3, asr #1 ", 1, 0, r1, r2, r3, cv); 3718 TESTINST3("ands.w r1, r2, r3, asr #15", 1, 0, r1, r2, r3, cv); 3719 TESTINST3("ands.w r1, r2, r3, asr #31", 1, 0, r1, r2, r3, cv); 3720 TESTINST3("and.w r1, r2, r3, lsl #0 ", 1, 0, r1, r2, r3, cv); 3721 TESTINST3("and.w r1, r2, r3, lsl #1 ", 1, 0, r1, r2, r3, cv); 3722 TESTINST3("and.w r1, r2, r3, lsl #15", 1, 0, r1, r2, r3, cv); 3723 TESTINST3("and.w r1, r2, r3, lsl #31", 1, 0, r1, r2, r3, cv); 3724 TESTINST3("and.w r1, r2, r3, lsr #0 ", 1, 0, r1, r2, r3, cv); 3725 TESTINST3("and.w r1, r2, r3, lsr #1 ", 1, 0, r1, r2, r3, cv); 3726 TESTINST3("and.w r1, r2, r3, lsr #15", 1, 0, r1, r2, r3, cv); 3727 TESTINST3("and.w r1, r2, r3, lsr #31", 1, 0, r1, r2, r3, cv); 3728 TESTINST3("and.w r1, r2, r3, asr #0 ", 1, 0, r1, r2, r3, cv); 3729 TESTINST3("and.w r1, r2, r3, asr #1 ", 1, 0, r1, r2, r3, cv); 3730 TESTINST3("and.w r1, r2, r3, asr #15", 1, 0, r1, r2, r3, cv); 3731 TESTINST3("and.w r1, r2, r3, asr #31", 1, 0, r1, r2, r3, cv); 3732 TESTINST3("ands.w r1, r2, r3, lsl #0 ", 0, 1, r1, r2, r3, cv); 3733 TESTINST3("ands.w r1, r2, r3, lsl #1 ", 0, 1, r1, r2, r3, cv); 3734 TESTINST3("ands.w r1, r2, r3, lsl #15", 0, 1, r1, r2, r3, cv); 3735 TESTINST3("ands.w r1, r2, r3, lsl #31", 0, 1, r1, r2, r3, cv); 3736 TESTINST3("ands.w r1, r2, r3, lsr #0 ", 0, 1, r1, r2, r3, cv); 3737 TESTINST3("ands.w r1, r2, r3, lsr #1 ", 0, 1, r1, r2, r3, cv); 3738 TESTINST3("ands.w r1, r2, r3, lsr #15", 0, 1, r1, r2, r3, cv); 3739 TESTINST3("ands.w r1, r2, r3, lsr #31", 0, 1, r1, r2, r3, cv); 3740 TESTINST3("ands.w r1, r2, r3, asr #0 ", 0, 1, r1, r2, r3, cv); 3741 TESTINST3("ands.w r1, r2, r3, asr #1 ", 0, 1, r1, r2, r3, cv); 3742 TESTINST3("ands.w r1, r2, r3, asr #15", 0, 1, r1, r2, r3, cv); 3743 TESTINST3("ands.w r1, r2, r3, asr #31", 0, 1, r1, r2, r3, cv); 3744 TESTINST3("and.w r1, r2, r3, lsl #0 ", 0, 1, r1, r2, r3, cv); 3745 TESTINST3("and.w r1, r2, r3, lsl #1 ", 0, 1, r1, r2, r3, cv); 3746 TESTINST3("and.w r1, r2, r3, lsl #15", 0, 1, r1, r2, r3, cv); 3747 TESTINST3("and.w r1, r2, r3, lsl #31", 0, 1, r1, r2, r3, cv); 3748 TESTINST3("and.w r1, r2, r3, lsr #0 ", 0, 1, r1, r2, r3, cv); 3749 TESTINST3("and.w r1, r2, r3, lsr #1 ", 0, 1, r1, r2, r3, cv); 3750 TESTINST3("and.w r1, r2, r3, lsr #15", 0, 1, r1, r2, r3, cv); 3751 TESTINST3("and.w r1, r2, r3, lsr #31", 0, 1, r1, r2, r3, cv); 3752 TESTINST3("and.w r1, r2, r3, asr #0 ", 0, 1, r1, r2, r3, cv); 3753 TESTINST3("and.w r1, r2, r3, asr #1 ", 0, 1, r1, r2, r3, cv); 3754 TESTINST3("and.w r1, r2, r3, asr #15", 0, 1, r1, r2, r3, cv); 3755 TESTINST3("and.w r1, r2, r3, asr #31", 0, 1, r1, r2, r3, cv); 3756 TESTINST3("ands.w r1, r2, r3, lsl #0 ", -1, 0, r1, r2, r3, cv); 3757 TESTINST3("ands.w r1, r2, r3, lsl #1 ", -1, 0, r1, r2, r3, cv); 3758 TESTINST3("ands.w r1, r2, r3, lsl #15", -1, 0, r1, r2, r3, cv); 3759 TESTINST3("ands.w r1, r2, r3, lsl #31", -1, 0, r1, r2, r3, cv); 3760 TESTINST3("ands.w r1, r2, r3, lsr #0 ", -1, 0, r1, r2, r3, cv); 3761 TESTINST3("ands.w r1, r2, r3, lsr #1 ", -1, 0, r1, r2, r3, cv); 3762 TESTINST3("ands.w r1, r2, r3, lsr #15", -1, 0, r1, r2, r3, cv); 3763 TESTINST3("ands.w r1, r2, r3, lsr #31", -1, 0, r1, r2, r3, cv); 3764 TESTINST3("ands.w r1, r2, r3, asr #0 ", -1, 0, r1, r2, r3, cv); 3765 TESTINST3("ands.w r1, r2, r3, asr #1 ", -1, 0, r1, r2, r3, cv); 3766 TESTINST3("ands.w r1, r2, r3, asr #15", -1, 0, r1, r2, r3, cv); 3767 TESTINST3("ands.w r1, r2, r3, asr #31", -1, 0, r1, r2, r3, cv); 3768 TESTINST3("and.w r1, r2, r3, lsl #0 ", -1, 0, r1, r2, r3, cv); 3769 TESTINST3("and.w r1, r2, r3, lsl #1 ", -1, 0, r1, r2, r3, cv); 3770 TESTINST3("and.w r1, r2, r3, lsl #15", -1, 0, r1, r2, r3, cv); 3771 TESTINST3("and.w r1, r2, r3, lsl #31", -1, 0, r1, r2, r3, cv); 3772 TESTINST3("and.w r1, r2, r3, lsr #0 ", -1, 0, r1, r2, r3, cv); 3773 TESTINST3("and.w r1, r2, r3, lsr #1 ", -1, 0, r1, r2, r3, cv); 3774 TESTINST3("and.w r1, r2, r3, lsr #15", -1, 0, r1, r2, r3, cv); 3775 TESTINST3("and.w r1, r2, r3, lsr #31", -1, 0, r1, r2, r3, cv); 3776 TESTINST3("and.w r1, r2, r3, asr #0 ", -1, 0, r1, r2, r3, cv); 3777 TESTINST3("and.w r1, r2, r3, asr #1 ", -1, 0, r1, r2, r3, cv); 3778 TESTINST3("and.w r1, r2, r3, asr #15", -1, 0, r1, r2, r3, cv); 3779 TESTINST3("and.w r1, r2, r3, asr #31", -1, 0, r1, r2, r3, cv); 3780 TESTINST3("ands.w r1, r2, r3, lsl #0 ", 0, -1, r1, r2, r3, cv); 3781 TESTINST3("ands.w r1, r2, r3, lsl #1 ", 0, -1, r1, r2, r3, cv); 3782 TESTINST3("ands.w r1, r2, r3, lsl #15", 0, -1, r1, r2, r3, cv); 3783 TESTINST3("ands.w r1, r2, r3, lsl #31", 0, -1, r1, r2, r3, cv); 3784 TESTINST3("ands.w r1, r2, r3, lsr #0 ", 0, -1, r1, r2, r3, cv); 3785 TESTINST3("ands.w r1, r2, r3, lsr #1 ", 0, -1, r1, r2, r3, cv); 3786 TESTINST3("ands.w r1, r2, r3, lsr #15", 0, -1, r1, r2, r3, cv); 3787 TESTINST3("ands.w r1, r2, r3, lsr #31", 0, -1, r1, r2, r3, cv); 3788 TESTINST3("ands.w r1, r2, r3, asr #0 ", 0, -1, r1, r2, r3, cv); 3789 TESTINST3("ands.w r1, r2, r3, asr #1 ", 0, -1, r1, r2, r3, cv); 3790 TESTINST3("ands.w r1, r2, r3, asr #15", 0, -1, r1, r2, r3, cv); 3791 TESTINST3("ands.w r1, r2, r3, asr #31", 0, -1, r1, r2, r3, cv); 3792 TESTINST3("and.w r1, r2, r3, lsl #0 ", 0, -1, r1, r2, r3, cv); 3793 TESTINST3("and.w r1, r2, r3, lsl #1 ", 0, -1, r1, r2, r3, cv); 3794 TESTINST3("and.w r1, r2, r3, lsl #15", 0, -1, r1, r2, r3, cv); 3795 TESTINST3("and.w r1, r2, r3, lsl #31", 0, -1, r1, r2, r3, cv); 3796 TESTINST3("and.w r1, r2, r3, lsr #0 ", 0, -1, r1, r2, r3, cv); 3797 TESTINST3("and.w r1, r2, r3, lsr #1 ", 0, -1, r1, r2, r3, cv); 3798 TESTINST3("and.w r1, r2, r3, lsr #15", 0, -1, r1, r2, r3, cv); 3799 TESTINST3("and.w r1, r2, r3, lsr #31", 0, -1, r1, r2, r3, cv); 3800 TESTINST3("and.w r1, r2, r3, asr #0 ", 0, -1, r1, r2, r3, cv); 3801 TESTINST3("and.w r1, r2, r3, asr #1 ", 0, -1, r1, r2, r3, cv); 3802 TESTINST3("and.w r1, r2, r3, asr #15", 0, -1, r1, r2, r3, cv); 3803 TESTINST3("and.w r1, r2, r3, asr #31", 0, -1, r1, r2, r3, cv); 3804 TESTINST3("ands.w r1, r2, r3, lsl #0 ", 0, 0x80000000, r1, r2, r3, cv); 3805 TESTINST3("ands.w r1, r2, r3, lsl #1 ", 0, 0x80000000, r1, r2, r3, cv); 3806 TESTINST3("ands.w r1, r2, r3, lsl #15", 0, 0x80000000, r1, r2, r3, cv); 3807 TESTINST3("ands.w r1, r2, r3, lsl #31", 0, 0x80000000, r1, r2, r3, cv); 3808 TESTINST3("ands.w r1, r2, r3, lsr #0 ", 0, 0x80000000, r1, r2, r3, cv); 3809 TESTINST3("ands.w r1, r2, r3, lsr #1 ", 0, 0x80000000, r1, r2, r3, cv); 3810 TESTINST3("ands.w r1, r2, r3, lsr #15", 0, 0x80000000, r1, r2, r3, cv); 3811 TESTINST3("ands.w r1, r2, r3, lsr #31", 0, 0x80000000, r1, r2, r3, cv); 3812 TESTINST3("ands.w r1, r2, r3, asr #0 ", 0, 0x80000000, r1, r2, r3, cv); 3813 TESTINST3("ands.w r1, r2, r3, asr #1 ", 0, 0x80000000, r1, r2, r3, cv); 3814 TESTINST3("ands.w r1, r2, r3, asr #15", 0, 0x80000000, r1, r2, r3, cv); 3815 TESTINST3("ands.w r1, r2, r3, asr #31", 0, 0x80000000, r1, r2, r3, cv); 3816 TESTINST3("and.w r1, r2, r3, lsl #0 ", 0, 0x80000000, r1, r2, r3, cv); 3817 TESTINST3("and.w r1, r2, r3, lsl #1 ", 0, 0x80000000, r1, r2, r3, cv); 3818 TESTINST3("and.w r1, r2, r3, lsl #15", 0, 0x80000000, r1, r2, r3, cv); 3819 TESTINST3("and.w r1, r2, r3, lsl #31", 0, 0x80000000, r1, r2, r3, cv); 3820 TESTINST3("and.w r1, r2, r3, lsr #0 ", 0, 0x80000000, r1, r2, r3, cv); 3821 TESTINST3("and.w r1, r2, r3, lsr #1 ", 0, 0x80000000, r1, r2, r3, cv); 3822 TESTINST3("and.w r1, r2, r3, lsr #15", 0, 0x80000000, r1, r2, r3, cv); 3823 TESTINST3("and.w r1, r2, r3, lsr #31", 0, 0x80000000, r1, r2, r3, cv); 3824 TESTINST3("and.w r1, r2, r3, asr #0 ", 0, 0x80000000, r1, r2, r3, cv); 3825 TESTINST3("and.w r1, r2, r3, asr #1 ", 0, 0x80000000, r1, r2, r3, cv); 3826 TESTINST3("and.w r1, r2, r3, asr #15", 0, 0x80000000, r1, r2, r3, cv); 3827 TESTINST3("and.w r1, r2, r3, asr #31", 0, 0x80000000, r1, r2, r3, cv); 3828 TESTINST3("ands.w r1, r2, r3, lsl #0 ", 0x80000000, 0, r1, r2, r3, cv); 3829 TESTINST3("ands.w r1, r2, r3, lsl #1 ", 0x80000000, 0, r1, r2, r3, cv); 3830 TESTINST3("ands.w r1, r2, r3, lsl #15", 0x80000000, 0, r1, r2, r3, cv); 3831 TESTINST3("ands.w r1, r2, r3, lsl #31", 0x80000000, 0, r1, r2, r3, cv); 3832 TESTINST3("ands.w r1, r2, r3, lsr #0 ", 0x80000000, 0, r1, r2, r3, cv); 3833 TESTINST3("ands.w r1, r2, r3, lsr #1 ", 0x80000000, 0, r1, r2, r3, cv); 3834 TESTINST3("ands.w r1, r2, r3, lsr #15", 0x80000000, 0, r1, r2, r3, cv); 3835 TESTINST3("ands.w r1, r2, r3, lsr #31", 0x80000000, 0, r1, r2, r3, cv); 3836 TESTINST3("ands.w r1, r2, r3, asr #0 ", 0x80000000, 0, r1, r2, r3, cv); 3837 TESTINST3("ands.w r1, r2, r3, asr #1 ", 0x80000000, 0, r1, r2, r3, cv); 3838 TESTINST3("ands.w r1, r2, r3, asr #15", 0x80000000, 0, r1, r2, r3, cv); 3839 TESTINST3("ands.w r1, r2, r3, asr #31", 0x80000000, 0, r1, r2, r3, cv); 3840 TESTINST3("and.w r1, r2, r3, lsl #0 ", 0x80000000, 0, r1, r2, r3, cv); 3841 TESTINST3("and.w r1, r2, r3, lsl #1 ", 0x80000000, 0, r1, r2, r3, cv); 3842 TESTINST3("and.w r1, r2, r3, lsl #15", 0x80000000, 0, r1, r2, r3, cv); 3843 TESTINST3("and.w r1, r2, r3, lsl #31", 0x80000000, 0, r1, r2, r3, cv); 3844 TESTINST3("and.w r1, r2, r3, lsr #0 ", 0x80000000, 0, r1, r2, r3, cv); 3845 TESTINST3("and.w r1, r2, r3, lsr #1 ", 0x80000000, 0, r1, r2, r3, cv); 3846 TESTINST3("and.w r1, r2, r3, lsr #15", 0x80000000, 0, r1, r2, r3, cv); 3847 TESTINST3("and.w r1, r2, r3, lsr #31", 0x80000000, 0, r1, r2, r3, cv); 3848 TESTINST3("and.w r1, r2, r3, asr #0 ", 0x80000000, 0, r1, r2, r3, cv); 3849 TESTINST3("and.w r1, r2, r3, asr #1 ", 0x80000000, 0, r1, r2, r3, cv); 3850 TESTINST3("and.w r1, r2, r3, asr #15", 0x80000000, 0, r1, r2, r3, cv); 3851 TESTINST3("and.w r1, r2, r3, asr #31", 0x80000000, 0, r1, r2, r3, cv); 3852 TESTINST3("ands.w r1, r2, r3, lsl #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 3853 TESTINST3("ands.w r1, r2, r3, lsl #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 3854 TESTINST3("ands.w r1, r2, r3, lsl #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 3855 TESTINST3("ands.w r1, r2, r3, lsl #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 3856 TESTINST3("ands.w r1, r2, r3, lsr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 3857 TESTINST3("ands.w r1, r2, r3, lsr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 3858 TESTINST3("ands.w r1, r2, r3, lsr #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 3859 TESTINST3("ands.w r1, r2, r3, lsr #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 3860 TESTINST3("ands.w r1, r2, r3, asr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 3861 TESTINST3("ands.w r1, r2, r3, asr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 3862 TESTINST3("ands.w r1, r2, r3, asr #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 3863 TESTINST3("ands.w r1, r2, r3, asr #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 3864 TESTINST3("and.w r1, r2, r3, lsl #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 3865 TESTINST3("and.w r1, r2, r3, lsl #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 3866 TESTINST3("and.w r1, r2, r3, lsl #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 3867 TESTINST3("and.w r1, r2, r3, lsl #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 3868 TESTINST3("and.w r1, r2, r3, lsr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 3869 TESTINST3("and.w r1, r2, r3, lsr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 3870 TESTINST3("and.w r1, r2, r3, lsr #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 3871 TESTINST3("and.w r1, r2, r3, lsr #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 3872 TESTINST3("and.w r1, r2, r3, asr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 3873 TESTINST3("and.w r1, r2, r3, asr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 3874 TESTINST3("and.w r1, r2, r3, asr #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 3875 TESTINST3("and.w r1, r2, r3, asr #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 3876 TESTINST3("ands.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 3877 TESTINST3("ands.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 3878 TESTINST3("ands.w r1, r2, r3, lsl #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 3879 TESTINST3("ands.w r1, r2, r3, lsl #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 3880 TESTINST3("ands.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 3881 TESTINST3("ands.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 3882 TESTINST3("ands.w r1, r2, r3, lsr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 3883 TESTINST3("ands.w r1, r2, r3, lsr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 3884 TESTINST3("ands.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 3885 TESTINST3("ands.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 3886 TESTINST3("ands.w r1, r2, r3, asr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 3887 TESTINST3("ands.w r1, r2, r3, asr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 3888 TESTINST3("and.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 3889 TESTINST3("and.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 3890 TESTINST3("and.w r1, r2, r3, lsl #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 3891 TESTINST3("and.w r1, r2, r3, lsl #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 3892 TESTINST3("and.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 3893 TESTINST3("and.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 3894 TESTINST3("and.w r1, r2, r3, lsr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 3895 TESTINST3("and.w r1, r2, r3, lsr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 3896 TESTINST3("and.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 3897 TESTINST3("and.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 3898 TESTINST3("and.w r1, r2, r3, asr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 3899 TESTINST3("and.w r1, r2, r3, asr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 3900 TESTINST3("ands.w r1, r2, r3, lsl #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 3901 TESTINST3("ands.w r1, r2, r3, lsl #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 3902 TESTINST3("ands.w r1, r2, r3, lsl #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 3903 TESTINST3("ands.w r1, r2, r3, lsl #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 3904 TESTINST3("ands.w r1, r2, r3, lsr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 3905 TESTINST3("ands.w r1, r2, r3, lsr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 3906 TESTINST3("ands.w r1, r2, r3, lsr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 3907 TESTINST3("ands.w r1, r2, r3, lsr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 3908 TESTINST3("ands.w r1, r2, r3, asr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 3909 TESTINST3("ands.w r1, r2, r3, asr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 3910 TESTINST3("ands.w r1, r2, r3, asr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 3911 TESTINST3("ands.w r1, r2, r3, asr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 3912 TESTINST3("and.w r1, r2, r3, lsl #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 3913 TESTINST3("and.w r1, r2, r3, lsl #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 3914 TESTINST3("and.w r1, r2, r3, lsl #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 3915 TESTINST3("and.w r1, r2, r3, lsl #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 3916 TESTINST3("and.w r1, r2, r3, lsr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 3917 TESTINST3("and.w r1, r2, r3, lsr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 3918 TESTINST3("and.w r1, r2, r3, lsr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 3919 TESTINST3("and.w r1, r2, r3, lsr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 3920 TESTINST3("and.w r1, r2, r3, asr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 3921 TESTINST3("and.w r1, r2, r3, asr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 3922 TESTINST3("and.w r1, r2, r3, asr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 3923 TESTINST3("and.w r1, r2, r3, asr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 3924 TESTINST3("ands.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 3925 TESTINST3("ands.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 3926 TESTINST3("ands.w r1, r2, r3, lsl #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 3927 TESTINST3("ands.w r1, r2, r3, lsl #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 3928 TESTINST3("ands.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 3929 TESTINST3("ands.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 3930 TESTINST3("ands.w r1, r2, r3, lsr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 3931 TESTINST3("ands.w r1, r2, r3, lsr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 3932 TESTINST3("ands.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 3933 TESTINST3("ands.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 3934 TESTINST3("ands.w r1, r2, r3, asr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 3935 TESTINST3("ands.w r1, r2, r3, asr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 3936 TESTINST3("and.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 3937 TESTINST3("and.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 3938 TESTINST3("and.w r1, r2, r3, lsl #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 3939 TESTINST3("and.w r1, r2, r3, lsl #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 3940 TESTINST3("and.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 3941 TESTINST3("and.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 3942 TESTINST3("and.w r1, r2, r3, lsr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 3943 TESTINST3("and.w r1, r2, r3, lsr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 3944 TESTINST3("and.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 3945 TESTINST3("and.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 3946 TESTINST3("and.w r1, r2, r3, asr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 3947 TESTINST3("and.w r1, r2, r3, asr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 3948 TESTCARRYEND 3949 3950 printf("ORR{S}.W Rd, Rn, Rm, {shift}\n"); 3951 TESTCARRY 3952 TESTINST3("orrs.w r1, r2, r3, lsl #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 3953 TESTINST3("orrs.w r1, r2, r3, lsl #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 3954 TESTINST3("orrs.w r1, r2, r3, lsl #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 3955 TESTINST3("orrs.w r1, r2, r3, lsl #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 3956 TESTINST3("orrs.w r1, r2, r3, lsr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 3957 TESTINST3("orrs.w r1, r2, r3, lsr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 3958 TESTINST3("orrs.w r1, r2, r3, lsr #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 3959 TESTINST3("orrs.w r1, r2, r3, lsr #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 3960 TESTINST3("orrs.w r1, r2, r3, asr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 3961 TESTINST3("orrs.w r1, r2, r3, asr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 3962 TESTINST3("orrs.w r1, r2, r3, asr #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 3963 TESTINST3("orrs.w r1, r2, r3, asr #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 3964 TESTINST3("orr.w r1, r2, r3, lsl #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 3965 TESTINST3("orr.w r1, r2, r3, lsl #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 3966 TESTINST3("orr.w r1, r2, r3, lsl #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 3967 TESTINST3("orr.w r1, r2, r3, lsl #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 3968 TESTINST3("orr.w r1, r2, r3, lsr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 3969 TESTINST3("orr.w r1, r2, r3, lsr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 3970 TESTINST3("orr.w r1, r2, r3, lsr #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 3971 TESTINST3("orr.w r1, r2, r3, lsr #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 3972 TESTINST3("orr.w r1, r2, r3, asr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 3973 TESTINST3("orr.w r1, r2, r3, asr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 3974 TESTINST3("orr.w r1, r2, r3, asr #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 3975 TESTINST3("orr.w r1, r2, r3, asr #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 3976 TESTINST3("orrs.w r1, r2, r3, lsl #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 3977 TESTINST3("orrs.w r1, r2, r3, lsl #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 3978 TESTINST3("orrs.w r1, r2, r3, lsl #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 3979 TESTINST3("orrs.w r1, r2, r3, lsl #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 3980 TESTINST3("orrs.w r1, r2, r3, lsr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 3981 TESTINST3("orrs.w r1, r2, r3, lsr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 3982 TESTINST3("orrs.w r1, r2, r3, lsr #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 3983 TESTINST3("orrs.w r1, r2, r3, lsr #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 3984 TESTINST3("orrs.w r1, r2, r3, asr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 3985 TESTINST3("orrs.w r1, r2, r3, asr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 3986 TESTINST3("orrs.w r1, r2, r3, asr #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 3987 TESTINST3("orrs.w r1, r2, r3, asr #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 3988 TESTINST3("orr.w r1, r2, r3, lsl #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 3989 TESTINST3("orr.w r1, r2, r3, lsl #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 3990 TESTINST3("orr.w r1, r2, r3, lsl #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 3991 TESTINST3("orr.w r1, r2, r3, lsl #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 3992 TESTINST3("orr.w r1, r2, r3, lsr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 3993 TESTINST3("orr.w r1, r2, r3, lsr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 3994 TESTINST3("orr.w r1, r2, r3, lsr #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 3995 TESTINST3("orr.w r1, r2, r3, lsr #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 3996 TESTINST3("orr.w r1, r2, r3, asr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 3997 TESTINST3("orr.w r1, r2, r3, asr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 3998 TESTINST3("orr.w r1, r2, r3, asr #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 3999 TESTINST3("orr.w r1, r2, r3, asr #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 4000 TESTINST3("orrs.w r1, r2, r3, lsl #0 ", 0, 0, r1, r2, r3, cv); 4001 TESTINST3("orrs.w r1, r2, r3, lsl #1 ", 0, 0, r1, r2, r3, cv); 4002 TESTINST3("orrs.w r1, r2, r3, lsl #15", 0, 0, r1, r2, r3, cv); 4003 TESTINST3("orrs.w r1, r2, r3, lsl #31", 0, 0, r1, r2, r3, cv); 4004 TESTINST3("orrs.w r1, r2, r3, lsr #0 ", 0, 0, r1, r2, r3, cv); 4005 TESTINST3("orrs.w r1, r2, r3, lsr #1 ", 0, 0, r1, r2, r3, cv); 4006 TESTINST3("orrs.w r1, r2, r3, lsr #15", 0, 0, r1, r2, r3, cv); 4007 TESTINST3("orrs.w r1, r2, r3, lsr #31", 0, 0, r1, r2, r3, cv); 4008 TESTINST3("orrs.w r1, r2, r3, asr #0 ", 0, 0, r1, r2, r3, cv); 4009 TESTINST3("orrs.w r1, r2, r3, asr #1 ", 0, 0, r1, r2, r3, cv); 4010 TESTINST3("orrs.w r1, r2, r3, asr #15", 0, 0, r1, r2, r3, cv); 4011 TESTINST3("orrs.w r1, r2, r3, asr #31", 0, 0, r1, r2, r3, cv); 4012 TESTINST3("orr.w r1, r2, r3, lsl #0 ", 0, 0, r1, r2, r3, cv); 4013 TESTINST3("orr.w r1, r2, r3, lsl #1 ", 0, 0, r1, r2, r3, cv); 4014 TESTINST3("orr.w r1, r2, r3, lsl #15", 0, 0, r1, r2, r3, cv); 4015 TESTINST3("orr.w r1, r2, r3, lsl #31", 0, 0, r1, r2, r3, cv); 4016 TESTINST3("orr.w r1, r2, r3, lsr #0 ", 0, 0, r1, r2, r3, cv); 4017 TESTINST3("orr.w r1, r2, r3, lsr #1 ", 0, 0, r1, r2, r3, cv); 4018 TESTINST3("orr.w r1, r2, r3, lsr #15", 0, 0, r1, r2, r3, cv); 4019 TESTINST3("orr.w r1, r2, r3, lsr #31", 0, 0, r1, r2, r3, cv); 4020 TESTINST3("orr.w r1, r2, r3, asr #0 ", 0, 0, r1, r2, r3, cv); 4021 TESTINST3("orr.w r1, r2, r3, asr #1 ", 0, 0, r1, r2, r3, cv); 4022 TESTINST3("orr.w r1, r2, r3, asr #15", 0, 0, r1, r2, r3, cv); 4023 TESTINST3("orr.w r1, r2, r3, asr #31", 0, 0, r1, r2, r3, cv); 4024 TESTINST3("orrs.w r1, r2, r3, lsl #0 ", 1, 0, r1, r2, r3, cv); 4025 TESTINST3("orrs.w r1, r2, r3, lsl #1 ", 1, 0, r1, r2, r3, cv); 4026 TESTINST3("orrs.w r1, r2, r3, lsl #15", 1, 0, r1, r2, r3, cv); 4027 TESTINST3("orrs.w r1, r2, r3, lsl #31", 1, 0, r1, r2, r3, cv); 4028 TESTINST3("orrs.w r1, r2, r3, lsr #0 ", 1, 0, r1, r2, r3, cv); 4029 TESTINST3("orrs.w r1, r2, r3, lsr #1 ", 1, 0, r1, r2, r3, cv); 4030 TESTINST3("orrs.w r1, r2, r3, lsr #15", 1, 0, r1, r2, r3, cv); 4031 TESTINST3("orrs.w r1, r2, r3, lsr #31", 1, 0, r1, r2, r3, cv); 4032 TESTINST3("orrs.w r1, r2, r3, asr #0 ", 1, 0, r1, r2, r3, cv); 4033 TESTINST3("orrs.w r1, r2, r3, asr #1 ", 1, 0, r1, r2, r3, cv); 4034 TESTINST3("orrs.w r1, r2, r3, asr #15", 1, 0, r1, r2, r3, cv); 4035 TESTINST3("orrs.w r1, r2, r3, asr #31", 1, 0, r1, r2, r3, cv); 4036 TESTINST3("orr.w r1, r2, r3, lsl #0 ", 1, 0, r1, r2, r3, cv); 4037 TESTINST3("orr.w r1, r2, r3, lsl #1 ", 1, 0, r1, r2, r3, cv); 4038 TESTINST3("orr.w r1, r2, r3, lsl #15", 1, 0, r1, r2, r3, cv); 4039 TESTINST3("orr.w r1, r2, r3, lsl #31", 1, 0, r1, r2, r3, cv); 4040 TESTINST3("orr.w r1, r2, r3, lsr #0 ", 1, 0, r1, r2, r3, cv); 4041 TESTINST3("orr.w r1, r2, r3, lsr #1 ", 1, 0, r1, r2, r3, cv); 4042 TESTINST3("orr.w r1, r2, r3, lsr #15", 1, 0, r1, r2, r3, cv); 4043 TESTINST3("orr.w r1, r2, r3, lsr #31", 1, 0, r1, r2, r3, cv); 4044 TESTINST3("orr.w r1, r2, r3, asr #0 ", 1, 0, r1, r2, r3, cv); 4045 TESTINST3("orr.w r1, r2, r3, asr #1 ", 1, 0, r1, r2, r3, cv); 4046 TESTINST3("orr.w r1, r2, r3, asr #15", 1, 0, r1, r2, r3, cv); 4047 TESTINST3("orr.w r1, r2, r3, asr #31", 1, 0, r1, r2, r3, cv); 4048 TESTINST3("orrs.w r1, r2, r3, lsl #0 ", 0, 1, r1, r2, r3, cv); 4049 TESTINST3("orrs.w r1, r2, r3, lsl #1 ", 0, 1, r1, r2, r3, cv); 4050 TESTINST3("orrs.w r1, r2, r3, lsl #15", 0, 1, r1, r2, r3, cv); 4051 TESTINST3("orrs.w r1, r2, r3, lsl #31", 0, 1, r1, r2, r3, cv); 4052 TESTINST3("orrs.w r1, r2, r3, lsr #0 ", 0, 1, r1, r2, r3, cv); 4053 TESTINST3("orrs.w r1, r2, r3, lsr #1 ", 0, 1, r1, r2, r3, cv); 4054 TESTINST3("orrs.w r1, r2, r3, lsr #15", 0, 1, r1, r2, r3, cv); 4055 TESTINST3("orrs.w r1, r2, r3, lsr #31", 0, 1, r1, r2, r3, cv); 4056 TESTINST3("orrs.w r1, r2, r3, asr #0 ", 0, 1, r1, r2, r3, cv); 4057 TESTINST3("orrs.w r1, r2, r3, asr #1 ", 0, 1, r1, r2, r3, cv); 4058 TESTINST3("orrs.w r1, r2, r3, asr #15", 0, 1, r1, r2, r3, cv); 4059 TESTINST3("orrs.w r1, r2, r3, asr #31", 0, 1, r1, r2, r3, cv); 4060 TESTINST3("orr.w r1, r2, r3, lsl #0 ", 0, 1, r1, r2, r3, cv); 4061 TESTINST3("orr.w r1, r2, r3, lsl #1 ", 0, 1, r1, r2, r3, cv); 4062 TESTINST3("orr.w r1, r2, r3, lsl #15", 0, 1, r1, r2, r3, cv); 4063 TESTINST3("orr.w r1, r2, r3, lsl #31", 0, 1, r1, r2, r3, cv); 4064 TESTINST3("orr.w r1, r2, r3, lsr #0 ", 0, 1, r1, r2, r3, cv); 4065 TESTINST3("orr.w r1, r2, r3, lsr #1 ", 0, 1, r1, r2, r3, cv); 4066 TESTINST3("orr.w r1, r2, r3, lsr #15", 0, 1, r1, r2, r3, cv); 4067 TESTINST3("orr.w r1, r2, r3, lsr #31", 0, 1, r1, r2, r3, cv); 4068 TESTINST3("orr.w r1, r2, r3, asr #0 ", 0, 1, r1, r2, r3, cv); 4069 TESTINST3("orr.w r1, r2, r3, asr #1 ", 0, 1, r1, r2, r3, cv); 4070 TESTINST3("orr.w r1, r2, r3, asr #15", 0, 1, r1, r2, r3, cv); 4071 TESTINST3("orr.w r1, r2, r3, asr #31", 0, 1, r1, r2, r3, cv); 4072 TESTINST3("orrs.w r1, r2, r3, lsl #0 ", -1, 0, r1, r2, r3, cv); 4073 TESTINST3("orrs.w r1, r2, r3, lsl #1 ", -1, 0, r1, r2, r3, cv); 4074 TESTINST3("orrs.w r1, r2, r3, lsl #15", -1, 0, r1, r2, r3, cv); 4075 TESTINST3("orrs.w r1, r2, r3, lsl #31", -1, 0, r1, r2, r3, cv); 4076 TESTINST3("orrs.w r1, r2, r3, lsr #0 ", -1, 0, r1, r2, r3, cv); 4077 TESTINST3("orrs.w r1, r2, r3, lsr #1 ", -1, 0, r1, r2, r3, cv); 4078 TESTINST3("orrs.w r1, r2, r3, lsr #15", -1, 0, r1, r2, r3, cv); 4079 TESTINST3("orrs.w r1, r2, r3, lsr #31", -1, 0, r1, r2, r3, cv); 4080 TESTINST3("orrs.w r1, r2, r3, asr #0 ", -1, 0, r1, r2, r3, cv); 4081 TESTINST3("orrs.w r1, r2, r3, asr #1 ", -1, 0, r1, r2, r3, cv); 4082 TESTINST3("orrs.w r1, r2, r3, asr #15", -1, 0, r1, r2, r3, cv); 4083 TESTINST3("orrs.w r1, r2, r3, asr #31", -1, 0, r1, r2, r3, cv); 4084 TESTINST3("orr.w r1, r2, r3, lsl #0 ", -1, 0, r1, r2, r3, cv); 4085 TESTINST3("orr.w r1, r2, r3, lsl #1 ", -1, 0, r1, r2, r3, cv); 4086 TESTINST3("orr.w r1, r2, r3, lsl #15", -1, 0, r1, r2, r3, cv); 4087 TESTINST3("orr.w r1, r2, r3, lsl #31", -1, 0, r1, r2, r3, cv); 4088 TESTINST3("orr.w r1, r2, r3, lsr #0 ", -1, 0, r1, r2, r3, cv); 4089 TESTINST3("orr.w r1, r2, r3, lsr #1 ", -1, 0, r1, r2, r3, cv); 4090 TESTINST3("orr.w r1, r2, r3, lsr #15", -1, 0, r1, r2, r3, cv); 4091 TESTINST3("orr.w r1, r2, r3, lsr #31", -1, 0, r1, r2, r3, cv); 4092 TESTINST3("orr.w r1, r2, r3, asr #0 ", -1, 0, r1, r2, r3, cv); 4093 TESTINST3("orr.w r1, r2, r3, asr #1 ", -1, 0, r1, r2, r3, cv); 4094 TESTINST3("orr.w r1, r2, r3, asr #15", -1, 0, r1, r2, r3, cv); 4095 TESTINST3("orr.w r1, r2, r3, asr #31", -1, 0, r1, r2, r3, cv); 4096 TESTINST3("orrs.w r1, r2, r3, lsl #0 ", 0, -1, r1, r2, r3, cv); 4097 TESTINST3("orrs.w r1, r2, r3, lsl #1 ", 0, -1, r1, r2, r3, cv); 4098 TESTINST3("orrs.w r1, r2, r3, lsl #15", 0, -1, r1, r2, r3, cv); 4099 TESTINST3("orrs.w r1, r2, r3, lsl #31", 0, -1, r1, r2, r3, cv); 4100 TESTINST3("orrs.w r1, r2, r3, lsr #0 ", 0, -1, r1, r2, r3, cv); 4101 TESTINST3("orrs.w r1, r2, r3, lsr #1 ", 0, -1, r1, r2, r3, cv); 4102 TESTINST3("orrs.w r1, r2, r3, lsr #15", 0, -1, r1, r2, r3, cv); 4103 TESTINST3("orrs.w r1, r2, r3, lsr #31", 0, -1, r1, r2, r3, cv); 4104 TESTINST3("orrs.w r1, r2, r3, asr #0 ", 0, -1, r1, r2, r3, cv); 4105 TESTINST3("orrs.w r1, r2, r3, asr #1 ", 0, -1, r1, r2, r3, cv); 4106 TESTINST3("orrs.w r1, r2, r3, asr #15", 0, -1, r1, r2, r3, cv); 4107 TESTINST3("orrs.w r1, r2, r3, asr #31", 0, -1, r1, r2, r3, cv); 4108 TESTINST3("orr.w r1, r2, r3, lsl #0 ", 0, -1, r1, r2, r3, cv); 4109 TESTINST3("orr.w r1, r2, r3, lsl #1 ", 0, -1, r1, r2, r3, cv); 4110 TESTINST3("orr.w r1, r2, r3, lsl #15", 0, -1, r1, r2, r3, cv); 4111 TESTINST3("orr.w r1, r2, r3, lsl #31", 0, -1, r1, r2, r3, cv); 4112 TESTINST3("orr.w r1, r2, r3, lsr #0 ", 0, -1, r1, r2, r3, cv); 4113 TESTINST3("orr.w r1, r2, r3, lsr #1 ", 0, -1, r1, r2, r3, cv); 4114 TESTINST3("orr.w r1, r2, r3, lsr #15", 0, -1, r1, r2, r3, cv); 4115 TESTINST3("orr.w r1, r2, r3, lsr #31", 0, -1, r1, r2, r3, cv); 4116 TESTINST3("orr.w r1, r2, r3, asr #0 ", 0, -1, r1, r2, r3, cv); 4117 TESTINST3("orr.w r1, r2, r3, asr #1 ", 0, -1, r1, r2, r3, cv); 4118 TESTINST3("orr.w r1, r2, r3, asr #15", 0, -1, r1, r2, r3, cv); 4119 TESTINST3("orr.w r1, r2, r3, asr #31", 0, -1, r1, r2, r3, cv); 4120 TESTINST3("orrs.w r1, r2, r3, lsl #0 ", 0, 0x80000000, r1, r2, r3, cv); 4121 TESTINST3("orrs.w r1, r2, r3, lsl #1 ", 0, 0x80000000, r1, r2, r3, cv); 4122 TESTINST3("orrs.w r1, r2, r3, lsl #15", 0, 0x80000000, r1, r2, r3, cv); 4123 TESTINST3("orrs.w r1, r2, r3, lsl #31", 0, 0x80000000, r1, r2, r3, cv); 4124 TESTINST3("orrs.w r1, r2, r3, lsr #0 ", 0, 0x80000000, r1, r2, r3, cv); 4125 TESTINST3("orrs.w r1, r2, r3, lsr #1 ", 0, 0x80000000, r1, r2, r3, cv); 4126 TESTINST3("orrs.w r1, r2, r3, lsr #15", 0, 0x80000000, r1, r2, r3, cv); 4127 TESTINST3("orrs.w r1, r2, r3, lsr #31", 0, 0x80000000, r1, r2, r3, cv); 4128 TESTINST3("orrs.w r1, r2, r3, asr #0 ", 0, 0x80000000, r1, r2, r3, cv); 4129 TESTINST3("orrs.w r1, r2, r3, asr #1 ", 0, 0x80000000, r1, r2, r3, cv); 4130 TESTINST3("orrs.w r1, r2, r3, asr #15", 0, 0x80000000, r1, r2, r3, cv); 4131 TESTINST3("orrs.w r1, r2, r3, asr #31", 0, 0x80000000, r1, r2, r3, cv); 4132 TESTINST3("orr.w r1, r2, r3, lsl #0 ", 0, 0x80000000, r1, r2, r3, cv); 4133 TESTINST3("orr.w r1, r2, r3, lsl #1 ", 0, 0x80000000, r1, r2, r3, cv); 4134 TESTINST3("orr.w r1, r2, r3, lsl #15", 0, 0x80000000, r1, r2, r3, cv); 4135 TESTINST3("orr.w r1, r2, r3, lsl #31", 0, 0x80000000, r1, r2, r3, cv); 4136 TESTINST3("orr.w r1, r2, r3, lsr #0 ", 0, 0x80000000, r1, r2, r3, cv); 4137 TESTINST3("orr.w r1, r2, r3, lsr #1 ", 0, 0x80000000, r1, r2, r3, cv); 4138 TESTINST3("orr.w r1, r2, r3, lsr #15", 0, 0x80000000, r1, r2, r3, cv); 4139 TESTINST3("orr.w r1, r2, r3, lsr #31", 0, 0x80000000, r1, r2, r3, cv); 4140 TESTINST3("orr.w r1, r2, r3, asr #0 ", 0, 0x80000000, r1, r2, r3, cv); 4141 TESTINST3("orr.w r1, r2, r3, asr #1 ", 0, 0x80000000, r1, r2, r3, cv); 4142 TESTINST3("orr.w r1, r2, r3, asr #15", 0, 0x80000000, r1, r2, r3, cv); 4143 TESTINST3("orr.w r1, r2, r3, asr #31", 0, 0x80000000, r1, r2, r3, cv); 4144 TESTINST3("orrs.w r1, r2, r3, lsl #0 ", 0x80000000, 0, r1, r2, r3, cv); 4145 TESTINST3("orrs.w r1, r2, r3, lsl #1 ", 0x80000000, 0, r1, r2, r3, cv); 4146 TESTINST3("orrs.w r1, r2, r3, lsl #15", 0x80000000, 0, r1, r2, r3, cv); 4147 TESTINST3("orrs.w r1, r2, r3, lsl #31", 0x80000000, 0, r1, r2, r3, cv); 4148 TESTINST3("orrs.w r1, r2, r3, lsr #0 ", 0x80000000, 0, r1, r2, r3, cv); 4149 TESTINST3("orrs.w r1, r2, r3, lsr #1 ", 0x80000000, 0, r1, r2, r3, cv); 4150 TESTINST3("orrs.w r1, r2, r3, lsr #15", 0x80000000, 0, r1, r2, r3, cv); 4151 TESTINST3("orrs.w r1, r2, r3, lsr #31", 0x80000000, 0, r1, r2, r3, cv); 4152 TESTINST3("orrs.w r1, r2, r3, asr #0 ", 0x80000000, 0, r1, r2, r3, cv); 4153 TESTINST3("orrs.w r1, r2, r3, asr #1 ", 0x80000000, 0, r1, r2, r3, cv); 4154 TESTINST3("orrs.w r1, r2, r3, asr #15", 0x80000000, 0, r1, r2, r3, cv); 4155 TESTINST3("orrs.w r1, r2, r3, asr #31", 0x80000000, 0, r1, r2, r3, cv); 4156 TESTINST3("orr.w r1, r2, r3, lsl #0 ", 0x80000000, 0, r1, r2, r3, cv); 4157 TESTINST3("orr.w r1, r2, r3, lsl #1 ", 0x80000000, 0, r1, r2, r3, cv); 4158 TESTINST3("orr.w r1, r2, r3, lsl #15", 0x80000000, 0, r1, r2, r3, cv); 4159 TESTINST3("orr.w r1, r2, r3, lsl #31", 0x80000000, 0, r1, r2, r3, cv); 4160 TESTINST3("orr.w r1, r2, r3, lsr #0 ", 0x80000000, 0, r1, r2, r3, cv); 4161 TESTINST3("orr.w r1, r2, r3, lsr #1 ", 0x80000000, 0, r1, r2, r3, cv); 4162 TESTINST3("orr.w r1, r2, r3, lsr #15", 0x80000000, 0, r1, r2, r3, cv); 4163 TESTINST3("orr.w r1, r2, r3, lsr #31", 0x80000000, 0, r1, r2, r3, cv); 4164 TESTINST3("orr.w r1, r2, r3, asr #0 ", 0x80000000, 0, r1, r2, r3, cv); 4165 TESTINST3("orr.w r1, r2, r3, asr #1 ", 0x80000000, 0, r1, r2, r3, cv); 4166 TESTINST3("orr.w r1, r2, r3, asr #15", 0x80000000, 0, r1, r2, r3, cv); 4167 TESTINST3("orr.w r1, r2, r3, asr #31", 0x80000000, 0, r1, r2, r3, cv); 4168 TESTINST3("orrs.w r1, r2, r3, lsl #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 4169 TESTINST3("orrs.w r1, r2, r3, lsl #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 4170 TESTINST3("orrs.w r1, r2, r3, lsl #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 4171 TESTINST3("orrs.w r1, r2, r3, lsl #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 4172 TESTINST3("orrs.w r1, r2, r3, lsr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 4173 TESTINST3("orrs.w r1, r2, r3, lsr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 4174 TESTINST3("orrs.w r1, r2, r3, lsr #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 4175 TESTINST3("orrs.w r1, r2, r3, lsr #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 4176 TESTINST3("orrs.w r1, r2, r3, asr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 4177 TESTINST3("orrs.w r1, r2, r3, asr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 4178 TESTINST3("orrs.w r1, r2, r3, asr #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 4179 TESTINST3("orrs.w r1, r2, r3, asr #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 4180 TESTINST3("orr.w r1, r2, r3, lsl #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 4181 TESTINST3("orr.w r1, r2, r3, lsl #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 4182 TESTINST3("orr.w r1, r2, r3, lsl #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 4183 TESTINST3("orr.w r1, r2, r3, lsl #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 4184 TESTINST3("orr.w r1, r2, r3, lsr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 4185 TESTINST3("orr.w r1, r2, r3, lsr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 4186 TESTINST3("orr.w r1, r2, r3, lsr #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 4187 TESTINST3("orr.w r1, r2, r3, lsr #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 4188 TESTINST3("orr.w r1, r2, r3, asr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 4189 TESTINST3("orr.w r1, r2, r3, asr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 4190 TESTINST3("orr.w r1, r2, r3, asr #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 4191 TESTINST3("orr.w r1, r2, r3, asr #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 4192 TESTINST3("orrs.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 4193 TESTINST3("orrs.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 4194 TESTINST3("orrs.w r1, r2, r3, lsl #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 4195 TESTINST3("orrs.w r1, r2, r3, lsl #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 4196 TESTINST3("orrs.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 4197 TESTINST3("orrs.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 4198 TESTINST3("orrs.w r1, r2, r3, lsr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 4199 TESTINST3("orrs.w r1, r2, r3, lsr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 4200 TESTINST3("orrs.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 4201 TESTINST3("orrs.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 4202 TESTINST3("orrs.w r1, r2, r3, asr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 4203 TESTINST3("orrs.w r1, r2, r3, asr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 4204 TESTINST3("orr.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 4205 TESTINST3("orr.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 4206 TESTINST3("orr.w r1, r2, r3, lsl #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 4207 TESTINST3("orr.w r1, r2, r3, lsl #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 4208 TESTINST3("orr.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 4209 TESTINST3("orr.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 4210 TESTINST3("orr.w r1, r2, r3, lsr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 4211 TESTINST3("orr.w r1, r2, r3, lsr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 4212 TESTINST3("orr.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 4213 TESTINST3("orr.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 4214 TESTINST3("orr.w r1, r2, r3, asr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 4215 TESTINST3("orr.w r1, r2, r3, asr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 4216 TESTINST3("orrs.w r1, r2, r3, lsl #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 4217 TESTINST3("orrs.w r1, r2, r3, lsl #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 4218 TESTINST3("orrs.w r1, r2, r3, lsl #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 4219 TESTINST3("orrs.w r1, r2, r3, lsl #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 4220 TESTINST3("orrs.w r1, r2, r3, lsr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 4221 TESTINST3("orrs.w r1, r2, r3, lsr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 4222 TESTINST3("orrs.w r1, r2, r3, lsr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 4223 TESTINST3("orrs.w r1, r2, r3, lsr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 4224 TESTINST3("orrs.w r1, r2, r3, asr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 4225 TESTINST3("orrs.w r1, r2, r3, asr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 4226 TESTINST3("orrs.w r1, r2, r3, asr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 4227 TESTINST3("orrs.w r1, r2, r3, asr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 4228 TESTINST3("orr.w r1, r2, r3, lsl #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 4229 TESTINST3("orr.w r1, r2, r3, lsl #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 4230 TESTINST3("orr.w r1, r2, r3, lsl #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 4231 TESTINST3("orr.w r1, r2, r3, lsl #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 4232 TESTINST3("orr.w r1, r2, r3, lsr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 4233 TESTINST3("orr.w r1, r2, r3, lsr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 4234 TESTINST3("orr.w r1, r2, r3, lsr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 4235 TESTINST3("orr.w r1, r2, r3, lsr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 4236 TESTINST3("orr.w r1, r2, r3, asr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 4237 TESTINST3("orr.w r1, r2, r3, asr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 4238 TESTINST3("orr.w r1, r2, r3, asr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 4239 TESTINST3("orr.w r1, r2, r3, asr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 4240 TESTINST3("orrs.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 4241 TESTINST3("orrs.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 4242 TESTINST3("orrs.w r1, r2, r3, lsl #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 4243 TESTINST3("orrs.w r1, r2, r3, lsl #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 4244 TESTINST3("orrs.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 4245 TESTINST3("orrs.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 4246 TESTINST3("orrs.w r1, r2, r3, lsr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 4247 TESTINST3("orrs.w r1, r2, r3, lsr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 4248 TESTINST3("orrs.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 4249 TESTINST3("orrs.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 4250 TESTINST3("orrs.w r1, r2, r3, asr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 4251 TESTINST3("orrs.w r1, r2, r3, asr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 4252 TESTINST3("orr.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 4253 TESTINST3("orr.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 4254 TESTINST3("orr.w r1, r2, r3, lsl #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 4255 TESTINST3("orr.w r1, r2, r3, lsl #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 4256 TESTINST3("orr.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 4257 TESTINST3("orr.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 4258 TESTINST3("orr.w r1, r2, r3, lsr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 4259 TESTINST3("orr.w r1, r2, r3, lsr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 4260 TESTINST3("orr.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 4261 TESTINST3("orr.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 4262 TESTINST3("orr.w r1, r2, r3, asr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 4263 TESTINST3("orr.w r1, r2, r3, asr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 4264 TESTCARRYEND 4265 4266 printf("EOR{S}.W Rd, Rn, Rm, {shift}\n"); 4267 TESTCARRY 4268 TESTINST3("eors.w r1, r2, r3, lsl #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 4269 TESTINST3("eors.w r1, r2, r3, lsl #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 4270 TESTINST3("eors.w r1, r2, r3, lsl #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 4271 TESTINST3("eors.w r1, r2, r3, lsl #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 4272 TESTINST3("eors.w r1, r2, r3, lsr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 4273 TESTINST3("eors.w r1, r2, r3, lsr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 4274 TESTINST3("eors.w r1, r2, r3, lsr #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 4275 TESTINST3("eors.w r1, r2, r3, lsr #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 4276 TESTINST3("eors.w r1, r2, r3, asr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 4277 TESTINST3("eors.w r1, r2, r3, asr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 4278 TESTINST3("eors.w r1, r2, r3, asr #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 4279 TESTINST3("eors.w r1, r2, r3, asr #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 4280 TESTINST3("eor.w r1, r2, r3, lsl #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 4281 TESTINST3("eor.w r1, r2, r3, lsl #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 4282 TESTINST3("eor.w r1, r2, r3, lsl #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 4283 TESTINST3("eor.w r1, r2, r3, lsl #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 4284 TESTINST3("eor.w r1, r2, r3, lsr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 4285 TESTINST3("eor.w r1, r2, r3, lsr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 4286 TESTINST3("eor.w r1, r2, r3, lsr #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 4287 TESTINST3("eor.w r1, r2, r3, lsr #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 4288 TESTINST3("eor.w r1, r2, r3, asr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 4289 TESTINST3("eor.w r1, r2, r3, asr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 4290 TESTINST3("eor.w r1, r2, r3, asr #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 4291 TESTINST3("eor.w r1, r2, r3, asr #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 4292 TESTINST3("eors.w r1, r2, r3, lsl #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 4293 TESTINST3("eors.w r1, r2, r3, lsl #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 4294 TESTINST3("eors.w r1, r2, r3, lsl #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 4295 TESTINST3("eors.w r1, r2, r3, lsl #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 4296 TESTINST3("eors.w r1, r2, r3, lsr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 4297 TESTINST3("eors.w r1, r2, r3, lsr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 4298 TESTINST3("eors.w r1, r2, r3, lsr #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 4299 TESTINST3("eors.w r1, r2, r3, lsr #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 4300 TESTINST3("eors.w r1, r2, r3, asr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 4301 TESTINST3("eors.w r1, r2, r3, asr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 4302 TESTINST3("eors.w r1, r2, r3, asr #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 4303 TESTINST3("eors.w r1, r2, r3, asr #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 4304 TESTINST3("eor.w r1, r2, r3, lsl #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 4305 TESTINST3("eor.w r1, r2, r3, lsl #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 4306 TESTINST3("eor.w r1, r2, r3, lsl #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 4307 TESTINST3("eor.w r1, r2, r3, lsl #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 4308 TESTINST3("eor.w r1, r2, r3, lsr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 4309 TESTINST3("eor.w r1, r2, r3, lsr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 4310 TESTINST3("eor.w r1, r2, r3, lsr #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 4311 TESTINST3("eor.w r1, r2, r3, lsr #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 4312 TESTINST3("eor.w r1, r2, r3, asr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 4313 TESTINST3("eor.w r1, r2, r3, asr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 4314 TESTINST3("eor.w r1, r2, r3, asr #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 4315 TESTINST3("eor.w r1, r2, r3, asr #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 4316 TESTINST3("eors.w r1, r2, r3, lsl #0 ", 0, 0, r1, r2, r3, cv); 4317 TESTINST3("eors.w r1, r2, r3, lsl #1 ", 0, 0, r1, r2, r3, cv); 4318 TESTINST3("eors.w r1, r2, r3, lsl #15", 0, 0, r1, r2, r3, cv); 4319 TESTINST3("eors.w r1, r2, r3, lsl #31", 0, 0, r1, r2, r3, cv); 4320 TESTINST3("eors.w r1, r2, r3, lsr #0 ", 0, 0, r1, r2, r3, cv); 4321 TESTINST3("eors.w r1, r2, r3, lsr #1 ", 0, 0, r1, r2, r3, cv); 4322 TESTINST3("eors.w r1, r2, r3, lsr #15", 0, 0, r1, r2, r3, cv); 4323 TESTINST3("eors.w r1, r2, r3, lsr #31", 0, 0, r1, r2, r3, cv); 4324 TESTINST3("eors.w r1, r2, r3, asr #0 ", 0, 0, r1, r2, r3, cv); 4325 TESTINST3("eors.w r1, r2, r3, asr #1 ", 0, 0, r1, r2, r3, cv); 4326 TESTINST3("eors.w r1, r2, r3, asr #15", 0, 0, r1, r2, r3, cv); 4327 TESTINST3("eors.w r1, r2, r3, asr #31", 0, 0, r1, r2, r3, cv); 4328 TESTINST3("eor.w r1, r2, r3, lsl #0 ", 0, 0, r1, r2, r3, cv); 4329 TESTINST3("eor.w r1, r2, r3, lsl #1 ", 0, 0, r1, r2, r3, cv); 4330 TESTINST3("eor.w r1, r2, r3, lsl #15", 0, 0, r1, r2, r3, cv); 4331 TESTINST3("eor.w r1, r2, r3, lsl #31", 0, 0, r1, r2, r3, cv); 4332 TESTINST3("eor.w r1, r2, r3, lsr #0 ", 0, 0, r1, r2, r3, cv); 4333 TESTINST3("eor.w r1, r2, r3, lsr #1 ", 0, 0, r1, r2, r3, cv); 4334 TESTINST3("eor.w r1, r2, r3, lsr #15", 0, 0, r1, r2, r3, cv); 4335 TESTINST3("eor.w r1, r2, r3, lsr #31", 0, 0, r1, r2, r3, cv); 4336 TESTINST3("eor.w r1, r2, r3, asr #0 ", 0, 0, r1, r2, r3, cv); 4337 TESTINST3("eor.w r1, r2, r3, asr #1 ", 0, 0, r1, r2, r3, cv); 4338 TESTINST3("eor.w r1, r2, r3, asr #15", 0, 0, r1, r2, r3, cv); 4339 TESTINST3("eor.w r1, r2, r3, asr #31", 0, 0, r1, r2, r3, cv); 4340 TESTINST3("eors.w r1, r2, r3, lsl #0 ", 1, 0, r1, r2, r3, cv); 4341 TESTINST3("eors.w r1, r2, r3, lsl #1 ", 1, 0, r1, r2, r3, cv); 4342 TESTINST3("eors.w r1, r2, r3, lsl #15", 1, 0, r1, r2, r3, cv); 4343 TESTINST3("eors.w r1, r2, r3, lsl #31", 1, 0, r1, r2, r3, cv); 4344 TESTINST3("eors.w r1, r2, r3, lsr #0 ", 1, 0, r1, r2, r3, cv); 4345 TESTINST3("eors.w r1, r2, r3, lsr #1 ", 1, 0, r1, r2, r3, cv); 4346 TESTINST3("eors.w r1, r2, r3, lsr #15", 1, 0, r1, r2, r3, cv); 4347 TESTINST3("eors.w r1, r2, r3, lsr #31", 1, 0, r1, r2, r3, cv); 4348 TESTINST3("eors.w r1, r2, r3, asr #0 ", 1, 0, r1, r2, r3, cv); 4349 TESTINST3("eors.w r1, r2, r3, asr #1 ", 1, 0, r1, r2, r3, cv); 4350 TESTINST3("eors.w r1, r2, r3, asr #15", 1, 0, r1, r2, r3, cv); 4351 TESTINST3("eors.w r1, r2, r3, asr #31", 1, 0, r1, r2, r3, cv); 4352 TESTINST3("eor.w r1, r2, r3, lsl #0 ", 1, 0, r1, r2, r3, cv); 4353 TESTINST3("eor.w r1, r2, r3, lsl #1 ", 1, 0, r1, r2, r3, cv); 4354 TESTINST3("eor.w r1, r2, r3, lsl #15", 1, 0, r1, r2, r3, cv); 4355 TESTINST3("eor.w r1, r2, r3, lsl #31", 1, 0, r1, r2, r3, cv); 4356 TESTINST3("eor.w r1, r2, r3, lsr #0 ", 1, 0, r1, r2, r3, cv); 4357 TESTINST3("eor.w r1, r2, r3, lsr #1 ", 1, 0, r1, r2, r3, cv); 4358 TESTINST3("eor.w r1, r2, r3, lsr #15", 1, 0, r1, r2, r3, cv); 4359 TESTINST3("eor.w r1, r2, r3, lsr #31", 1, 0, r1, r2, r3, cv); 4360 TESTINST3("eor.w r1, r2, r3, asr #0 ", 1, 0, r1, r2, r3, cv); 4361 TESTINST3("eor.w r1, r2, r3, asr #1 ", 1, 0, r1, r2, r3, cv); 4362 TESTINST3("eor.w r1, r2, r3, asr #15", 1, 0, r1, r2, r3, cv); 4363 TESTINST3("eor.w r1, r2, r3, asr #31", 1, 0, r1, r2, r3, cv); 4364 TESTINST3("eors.w r1, r2, r3, lsl #0 ", 0, 1, r1, r2, r3, cv); 4365 TESTINST3("eors.w r1, r2, r3, lsl #1 ", 0, 1, r1, r2, r3, cv); 4366 TESTINST3("eors.w r1, r2, r3, lsl #15", 0, 1, r1, r2, r3, cv); 4367 TESTINST3("eors.w r1, r2, r3, lsl #31", 0, 1, r1, r2, r3, cv); 4368 TESTINST3("eors.w r1, r2, r3, lsr #0 ", 0, 1, r1, r2, r3, cv); 4369 TESTINST3("eors.w r1, r2, r3, lsr #1 ", 0, 1, r1, r2, r3, cv); 4370 TESTINST3("eors.w r1, r2, r3, lsr #15", 0, 1, r1, r2, r3, cv); 4371 TESTINST3("eors.w r1, r2, r3, lsr #31", 0, 1, r1, r2, r3, cv); 4372 TESTINST3("eors.w r1, r2, r3, asr #0 ", 0, 1, r1, r2, r3, cv); 4373 TESTINST3("eors.w r1, r2, r3, asr #1 ", 0, 1, r1, r2, r3, cv); 4374 TESTINST3("eors.w r1, r2, r3, asr #15", 0, 1, r1, r2, r3, cv); 4375 TESTINST3("eors.w r1, r2, r3, asr #31", 0, 1, r1, r2, r3, cv); 4376 TESTINST3("eor.w r1, r2, r3, lsl #0 ", 0, 1, r1, r2, r3, cv); 4377 TESTINST3("eor.w r1, r2, r3, lsl #1 ", 0, 1, r1, r2, r3, cv); 4378 TESTINST3("eor.w r1, r2, r3, lsl #15", 0, 1, r1, r2, r3, cv); 4379 TESTINST3("eor.w r1, r2, r3, lsl #31", 0, 1, r1, r2, r3, cv); 4380 TESTINST3("eor.w r1, r2, r3, lsr #0 ", 0, 1, r1, r2, r3, cv); 4381 TESTINST3("eor.w r1, r2, r3, lsr #1 ", 0, 1, r1, r2, r3, cv); 4382 TESTINST3("eor.w r1, r2, r3, lsr #15", 0, 1, r1, r2, r3, cv); 4383 TESTINST3("eor.w r1, r2, r3, lsr #31", 0, 1, r1, r2, r3, cv); 4384 TESTINST3("eor.w r1, r2, r3, asr #0 ", 0, 1, r1, r2, r3, cv); 4385 TESTINST3("eor.w r1, r2, r3, asr #1 ", 0, 1, r1, r2, r3, cv); 4386 TESTINST3("eor.w r1, r2, r3, asr #15", 0, 1, r1, r2, r3, cv); 4387 TESTINST3("eor.w r1, r2, r3, asr #31", 0, 1, r1, r2, r3, cv); 4388 TESTINST3("eors.w r1, r2, r3, lsl #0 ", -1, 0, r1, r2, r3, cv); 4389 TESTINST3("eors.w r1, r2, r3, lsl #1 ", -1, 0, r1, r2, r3, cv); 4390 TESTINST3("eors.w r1, r2, r3, lsl #15", -1, 0, r1, r2, r3, cv); 4391 TESTINST3("eors.w r1, r2, r3, lsl #31", -1, 0, r1, r2, r3, cv); 4392 TESTINST3("eors.w r1, r2, r3, lsr #0 ", -1, 0, r1, r2, r3, cv); 4393 TESTINST3("eors.w r1, r2, r3, lsr #1 ", -1, 0, r1, r2, r3, cv); 4394 TESTINST3("eors.w r1, r2, r3, lsr #15", -1, 0, r1, r2, r3, cv); 4395 TESTINST3("eors.w r1, r2, r3, lsr #31", -1, 0, r1, r2, r3, cv); 4396 TESTINST3("eors.w r1, r2, r3, asr #0 ", -1, 0, r1, r2, r3, cv); 4397 TESTINST3("eors.w r1, r2, r3, asr #1 ", -1, 0, r1, r2, r3, cv); 4398 TESTINST3("eors.w r1, r2, r3, asr #15", -1, 0, r1, r2, r3, cv); 4399 TESTINST3("eors.w r1, r2, r3, asr #31", -1, 0, r1, r2, r3, cv); 4400 TESTINST3("eor.w r1, r2, r3, lsl #0 ", -1, 0, r1, r2, r3, cv); 4401 TESTINST3("eor.w r1, r2, r3, lsl #1 ", -1, 0, r1, r2, r3, cv); 4402 TESTINST3("eor.w r1, r2, r3, lsl #15", -1, 0, r1, r2, r3, cv); 4403 TESTINST3("eor.w r1, r2, r3, lsl #31", -1, 0, r1, r2, r3, cv); 4404 TESTINST3("eor.w r1, r2, r3, lsr #0 ", -1, 0, r1, r2, r3, cv); 4405 TESTINST3("eor.w r1, r2, r3, lsr #1 ", -1, 0, r1, r2, r3, cv); 4406 TESTINST3("eor.w r1, r2, r3, lsr #15", -1, 0, r1, r2, r3, cv); 4407 TESTINST3("eor.w r1, r2, r3, lsr #31", -1, 0, r1, r2, r3, cv); 4408 TESTINST3("eor.w r1, r2, r3, asr #0 ", -1, 0, r1, r2, r3, cv); 4409 TESTINST3("eor.w r1, r2, r3, asr #1 ", -1, 0, r1, r2, r3, cv); 4410 TESTINST3("eor.w r1, r2, r3, asr #15", -1, 0, r1, r2, r3, cv); 4411 TESTINST3("eor.w r1, r2, r3, asr #31", -1, 0, r1, r2, r3, cv); 4412 TESTINST3("eors.w r1, r2, r3, lsl #0 ", 0, -1, r1, r2, r3, cv); 4413 TESTINST3("eors.w r1, r2, r3, lsl #1 ", 0, -1, r1, r2, r3, cv); 4414 TESTINST3("eors.w r1, r2, r3, lsl #15", 0, -1, r1, r2, r3, cv); 4415 TESTINST3("eors.w r1, r2, r3, lsl #31", 0, -1, r1, r2, r3, cv); 4416 TESTINST3("eors.w r1, r2, r3, lsr #0 ", 0, -1, r1, r2, r3, cv); 4417 TESTINST3("eors.w r1, r2, r3, lsr #1 ", 0, -1, r1, r2, r3, cv); 4418 TESTINST3("eors.w r1, r2, r3, lsr #15", 0, -1, r1, r2, r3, cv); 4419 TESTINST3("eors.w r1, r2, r3, lsr #31", 0, -1, r1, r2, r3, cv); 4420 TESTINST3("eors.w r1, r2, r3, asr #0 ", 0, -1, r1, r2, r3, cv); 4421 TESTINST3("eors.w r1, r2, r3, asr #1 ", 0, -1, r1, r2, r3, cv); 4422 TESTINST3("eors.w r1, r2, r3, asr #15", 0, -1, r1, r2, r3, cv); 4423 TESTINST3("eors.w r1, r2, r3, asr #31", 0, -1, r1, r2, r3, cv); 4424 TESTINST3("eor.w r1, r2, r3, lsl #0 ", 0, -1, r1, r2, r3, cv); 4425 TESTINST3("eor.w r1, r2, r3, lsl #1 ", 0, -1, r1, r2, r3, cv); 4426 TESTINST3("eor.w r1, r2, r3, lsl #15", 0, -1, r1, r2, r3, cv); 4427 TESTINST3("eor.w r1, r2, r3, lsl #31", 0, -1, r1, r2, r3, cv); 4428 TESTINST3("eor.w r1, r2, r3, lsr #0 ", 0, -1, r1, r2, r3, cv); 4429 TESTINST3("eor.w r1, r2, r3, lsr #1 ", 0, -1, r1, r2, r3, cv); 4430 TESTINST3("eor.w r1, r2, r3, lsr #15", 0, -1, r1, r2, r3, cv); 4431 TESTINST3("eor.w r1, r2, r3, lsr #31", 0, -1, r1, r2, r3, cv); 4432 TESTINST3("eor.w r1, r2, r3, asr #0 ", 0, -1, r1, r2, r3, cv); 4433 TESTINST3("eor.w r1, r2, r3, asr #1 ", 0, -1, r1, r2, r3, cv); 4434 TESTINST3("eor.w r1, r2, r3, asr #15", 0, -1, r1, r2, r3, cv); 4435 TESTINST3("eor.w r1, r2, r3, asr #31", 0, -1, r1, r2, r3, cv); 4436 TESTINST3("eors.w r1, r2, r3, lsl #0 ", 0, 0x80000000, r1, r2, r3, cv); 4437 TESTINST3("eors.w r1, r2, r3, lsl #1 ", 0, 0x80000000, r1, r2, r3, cv); 4438 TESTINST3("eors.w r1, r2, r3, lsl #15", 0, 0x80000000, r1, r2, r3, cv); 4439 TESTINST3("eors.w r1, r2, r3, lsl #31", 0, 0x80000000, r1, r2, r3, cv); 4440 TESTINST3("eors.w r1, r2, r3, lsr #0 ", 0, 0x80000000, r1, r2, r3, cv); 4441 TESTINST3("eors.w r1, r2, r3, lsr #1 ", 0, 0x80000000, r1, r2, r3, cv); 4442 TESTINST3("eors.w r1, r2, r3, lsr #15", 0, 0x80000000, r1, r2, r3, cv); 4443 TESTINST3("eors.w r1, r2, r3, lsr #31", 0, 0x80000000, r1, r2, r3, cv); 4444 TESTINST3("eors.w r1, r2, r3, asr #0 ", 0, 0x80000000, r1, r2, r3, cv); 4445 TESTINST3("eors.w r1, r2, r3, asr #1 ", 0, 0x80000000, r1, r2, r3, cv); 4446 TESTINST3("eors.w r1, r2, r3, asr #15", 0, 0x80000000, r1, r2, r3, cv); 4447 TESTINST3("eors.w r1, r2, r3, asr #31", 0, 0x80000000, r1, r2, r3, cv); 4448 TESTINST3("eor.w r1, r2, r3, lsl #0 ", 0, 0x80000000, r1, r2, r3, cv); 4449 TESTINST3("eor.w r1, r2, r3, lsl #1 ", 0, 0x80000000, r1, r2, r3, cv); 4450 TESTINST3("eor.w r1, r2, r3, lsl #15", 0, 0x80000000, r1, r2, r3, cv); 4451 TESTINST3("eor.w r1, r2, r3, lsl #31", 0, 0x80000000, r1, r2, r3, cv); 4452 TESTINST3("eor.w r1, r2, r3, lsr #0 ", 0, 0x80000000, r1, r2, r3, cv); 4453 TESTINST3("eor.w r1, r2, r3, lsr #1 ", 0, 0x80000000, r1, r2, r3, cv); 4454 TESTINST3("eor.w r1, r2, r3, lsr #15", 0, 0x80000000, r1, r2, r3, cv); 4455 TESTINST3("eor.w r1, r2, r3, lsr #31", 0, 0x80000000, r1, r2, r3, cv); 4456 TESTINST3("eor.w r1, r2, r3, asr #0 ", 0, 0x80000000, r1, r2, r3, cv); 4457 TESTINST3("eor.w r1, r2, r3, asr #1 ", 0, 0x80000000, r1, r2, r3, cv); 4458 TESTINST3("eor.w r1, r2, r3, asr #15", 0, 0x80000000, r1, r2, r3, cv); 4459 TESTINST3("eor.w r1, r2, r3, asr #31", 0, 0x80000000, r1, r2, r3, cv); 4460 TESTINST3("eors.w r1, r2, r3, lsl #0 ", 0x80000000, 0, r1, r2, r3, cv); 4461 TESTINST3("eors.w r1, r2, r3, lsl #1 ", 0x80000000, 0, r1, r2, r3, cv); 4462 TESTINST3("eors.w r1, r2, r3, lsl #15", 0x80000000, 0, r1, r2, r3, cv); 4463 TESTINST3("eors.w r1, r2, r3, lsl #31", 0x80000000, 0, r1, r2, r3, cv); 4464 TESTINST3("eors.w r1, r2, r3, lsr #0 ", 0x80000000, 0, r1, r2, r3, cv); 4465 TESTINST3("eors.w r1, r2, r3, lsr #1 ", 0x80000000, 0, r1, r2, r3, cv); 4466 TESTINST3("eors.w r1, r2, r3, lsr #15", 0x80000000, 0, r1, r2, r3, cv); 4467 TESTINST3("eors.w r1, r2, r3, lsr #31", 0x80000000, 0, r1, r2, r3, cv); 4468 TESTINST3("eors.w r1, r2, r3, asr #0 ", 0x80000000, 0, r1, r2, r3, cv); 4469 TESTINST3("eors.w r1, r2, r3, asr #1 ", 0x80000000, 0, r1, r2, r3, cv); 4470 TESTINST3("eors.w r1, r2, r3, asr #15", 0x80000000, 0, r1, r2, r3, cv); 4471 TESTINST3("eors.w r1, r2, r3, asr #31", 0x80000000, 0, r1, r2, r3, cv); 4472 TESTINST3("eor.w r1, r2, r3, lsl #0 ", 0x80000000, 0, r1, r2, r3, cv); 4473 TESTINST3("eor.w r1, r2, r3, lsl #1 ", 0x80000000, 0, r1, r2, r3, cv); 4474 TESTINST3("eor.w r1, r2, r3, lsl #15", 0x80000000, 0, r1, r2, r3, cv); 4475 TESTINST3("eor.w r1, r2, r3, lsl #31", 0x80000000, 0, r1, r2, r3, cv); 4476 TESTINST3("eor.w r1, r2, r3, lsr #0 ", 0x80000000, 0, r1, r2, r3, cv); 4477 TESTINST3("eor.w r1, r2, r3, lsr #1 ", 0x80000000, 0, r1, r2, r3, cv); 4478 TESTINST3("eor.w r1, r2, r3, lsr #15", 0x80000000, 0, r1, r2, r3, cv); 4479 TESTINST3("eor.w r1, r2, r3, lsr #31", 0x80000000, 0, r1, r2, r3, cv); 4480 TESTINST3("eor.w r1, r2, r3, asr #0 ", 0x80000000, 0, r1, r2, r3, cv); 4481 TESTINST3("eor.w r1, r2, r3, asr #1 ", 0x80000000, 0, r1, r2, r3, cv); 4482 TESTINST3("eor.w r1, r2, r3, asr #15", 0x80000000, 0, r1, r2, r3, cv); 4483 TESTINST3("eor.w r1, r2, r3, asr #31", 0x80000000, 0, r1, r2, r3, cv); 4484 TESTINST3("eors.w r1, r2, r3, lsl #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 4485 TESTINST3("eors.w r1, r2, r3, lsl #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 4486 TESTINST3("eors.w r1, r2, r3, lsl #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 4487 TESTINST3("eors.w r1, r2, r3, lsl #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 4488 TESTINST3("eors.w r1, r2, r3, lsr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 4489 TESTINST3("eors.w r1, r2, r3, lsr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 4490 TESTINST3("eors.w r1, r2, r3, lsr #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 4491 TESTINST3("eors.w r1, r2, r3, lsr #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 4492 TESTINST3("eors.w r1, r2, r3, asr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 4493 TESTINST3("eors.w r1, r2, r3, asr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 4494 TESTINST3("eors.w r1, r2, r3, asr #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 4495 TESTINST3("eors.w r1, r2, r3, asr #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 4496 TESTINST3("eor.w r1, r2, r3, lsl #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 4497 TESTINST3("eor.w r1, r2, r3, lsl #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 4498 TESTINST3("eor.w r1, r2, r3, lsl #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 4499 TESTINST3("eor.w r1, r2, r3, lsl #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 4500 TESTINST3("eor.w r1, r2, r3, lsr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 4501 TESTINST3("eor.w r1, r2, r3, lsr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 4502 TESTINST3("eor.w r1, r2, r3, lsr #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 4503 TESTINST3("eor.w r1, r2, r3, lsr #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 4504 TESTINST3("eor.w r1, r2, r3, asr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 4505 TESTINST3("eor.w r1, r2, r3, asr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 4506 TESTINST3("eor.w r1, r2, r3, asr #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 4507 TESTINST3("eor.w r1, r2, r3, asr #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 4508 TESTINST3("eors.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 4509 TESTINST3("eors.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 4510 TESTINST3("eors.w r1, r2, r3, lsl #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 4511 TESTINST3("eors.w r1, r2, r3, lsl #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 4512 TESTINST3("eors.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 4513 TESTINST3("eors.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 4514 TESTINST3("eors.w r1, r2, r3, lsr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 4515 TESTINST3("eors.w r1, r2, r3, lsr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 4516 TESTINST3("eors.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 4517 TESTINST3("eors.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 4518 TESTINST3("eors.w r1, r2, r3, asr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 4519 TESTINST3("eors.w r1, r2, r3, asr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 4520 TESTINST3("eor.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 4521 TESTINST3("eor.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 4522 TESTINST3("eor.w r1, r2, r3, lsl #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 4523 TESTINST3("eor.w r1, r2, r3, lsl #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 4524 TESTINST3("eor.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 4525 TESTINST3("eor.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 4526 TESTINST3("eor.w r1, r2, r3, lsr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 4527 TESTINST3("eor.w r1, r2, r3, lsr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 4528 TESTINST3("eor.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 4529 TESTINST3("eor.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 4530 TESTINST3("eor.w r1, r2, r3, asr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 4531 TESTINST3("eor.w r1, r2, r3, asr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 4532 TESTINST3("eors.w r1, r2, r3, lsl #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 4533 TESTINST3("eors.w r1, r2, r3, lsl #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 4534 TESTINST3("eors.w r1, r2, r3, lsl #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 4535 TESTINST3("eors.w r1, r2, r3, lsl #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 4536 TESTINST3("eors.w r1, r2, r3, lsr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 4537 TESTINST3("eors.w r1, r2, r3, lsr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 4538 TESTINST3("eors.w r1, r2, r3, lsr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 4539 TESTINST3("eors.w r1, r2, r3, lsr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 4540 TESTINST3("eors.w r1, r2, r3, asr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 4541 TESTINST3("eors.w r1, r2, r3, asr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 4542 TESTINST3("eors.w r1, r2, r3, asr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 4543 TESTINST3("eors.w r1, r2, r3, asr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 4544 TESTINST3("eor.w r1, r2, r3, lsl #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 4545 TESTINST3("eor.w r1, r2, r3, lsl #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 4546 TESTINST3("eor.w r1, r2, r3, lsl #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 4547 TESTINST3("eor.w r1, r2, r3, lsl #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 4548 TESTINST3("eor.w r1, r2, r3, lsr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 4549 TESTINST3("eor.w r1, r2, r3, lsr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 4550 TESTINST3("eor.w r1, r2, r3, lsr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 4551 TESTINST3("eor.w r1, r2, r3, lsr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 4552 TESTINST3("eor.w r1, r2, r3, asr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 4553 TESTINST3("eor.w r1, r2, r3, asr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 4554 TESTINST3("eor.w r1, r2, r3, asr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 4555 TESTINST3("eor.w r1, r2, r3, asr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 4556 TESTINST3("eors.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 4557 TESTINST3("eors.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 4558 TESTINST3("eors.w r1, r2, r3, lsl #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 4559 TESTINST3("eors.w r1, r2, r3, lsl #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 4560 TESTINST3("eors.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 4561 TESTINST3("eors.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 4562 TESTINST3("eors.w r1, r2, r3, lsr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 4563 TESTINST3("eors.w r1, r2, r3, lsr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 4564 TESTINST3("eors.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 4565 TESTINST3("eors.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 4566 TESTINST3("eors.w r1, r2, r3, asr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 4567 TESTINST3("eors.w r1, r2, r3, asr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 4568 TESTINST3("eor.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 4569 TESTINST3("eor.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 4570 TESTINST3("eor.w r1, r2, r3, lsl #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 4571 TESTINST3("eor.w r1, r2, r3, lsl #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 4572 TESTINST3("eor.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 4573 TESTINST3("eor.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 4574 TESTINST3("eor.w r1, r2, r3, lsr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 4575 TESTINST3("eor.w r1, r2, r3, lsr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 4576 TESTINST3("eor.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 4577 TESTINST3("eor.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 4578 TESTINST3("eor.w r1, r2, r3, asr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 4579 TESTINST3("eor.w r1, r2, r3, asr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 4580 TESTCARRYEND 4581 4582 printf("BIC{S}.W Rd, Rn, Rm, {shift}\n"); 4583 TESTCARRY 4584 TESTINST3("bics.w r1, r2, r3, lsl #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 4585 TESTINST3("bics.w r1, r2, r3, lsl #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 4586 TESTINST3("bics.w r1, r2, r3, lsl #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 4587 TESTINST3("bics.w r1, r2, r3, lsl #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 4588 TESTINST3("bics.w r1, r2, r3, lsr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 4589 TESTINST3("bics.w r1, r2, r3, lsr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 4590 TESTINST3("bics.w r1, r2, r3, lsr #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 4591 TESTINST3("bics.w r1, r2, r3, lsr #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 4592 TESTINST3("bics.w r1, r2, r3, asr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 4593 TESTINST3("bics.w r1, r2, r3, asr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 4594 TESTINST3("bics.w r1, r2, r3, asr #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 4595 TESTINST3("bics.w r1, r2, r3, asr #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 4596 TESTINST3("bic.w r1, r2, r3, lsl #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 4597 TESTINST3("bic.w r1, r2, r3, lsl #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 4598 TESTINST3("bic.w r1, r2, r3, lsl #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 4599 TESTINST3("bic.w r1, r2, r3, lsl #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 4600 TESTINST3("bic.w r1, r2, r3, lsr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 4601 TESTINST3("bic.w r1, r2, r3, lsr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 4602 TESTINST3("bic.w r1, r2, r3, lsr #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 4603 TESTINST3("bic.w r1, r2, r3, lsr #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 4604 TESTINST3("bic.w r1, r2, r3, asr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 4605 TESTINST3("bic.w r1, r2, r3, asr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 4606 TESTINST3("bic.w r1, r2, r3, asr #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 4607 TESTINST3("bic.w r1, r2, r3, asr #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 4608 TESTINST3("bics.w r1, r2, r3, lsl #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 4609 TESTINST3("bics.w r1, r2, r3, lsl #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 4610 TESTINST3("bics.w r1, r2, r3, lsl #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 4611 TESTINST3("bics.w r1, r2, r3, lsl #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 4612 TESTINST3("bics.w r1, r2, r3, lsr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 4613 TESTINST3("bics.w r1, r2, r3, lsr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 4614 TESTINST3("bics.w r1, r2, r3, lsr #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 4615 TESTINST3("bics.w r1, r2, r3, lsr #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 4616 TESTINST3("bics.w r1, r2, r3, asr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 4617 TESTINST3("bics.w r1, r2, r3, asr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 4618 TESTINST3("bics.w r1, r2, r3, asr #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 4619 TESTINST3("bics.w r1, r2, r3, asr #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 4620 TESTINST3("bic.w r1, r2, r3, lsl #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 4621 TESTINST3("bic.w r1, r2, r3, lsl #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 4622 TESTINST3("bic.w r1, r2, r3, lsl #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 4623 TESTINST3("bic.w r1, r2, r3, lsl #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 4624 TESTINST3("bic.w r1, r2, r3, lsr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 4625 TESTINST3("bic.w r1, r2, r3, lsr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 4626 TESTINST3("bic.w r1, r2, r3, lsr #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 4627 TESTINST3("bic.w r1, r2, r3, lsr #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 4628 TESTINST3("bic.w r1, r2, r3, asr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 4629 TESTINST3("bic.w r1, r2, r3, asr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 4630 TESTINST3("bic.w r1, r2, r3, asr #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 4631 TESTINST3("bic.w r1, r2, r3, asr #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 4632 TESTINST3("bics.w r1, r2, r3, lsl #0 ", 0, 0, r1, r2, r3, cv); 4633 TESTINST3("bics.w r1, r2, r3, lsl #1 ", 0, 0, r1, r2, r3, cv); 4634 TESTINST3("bics.w r1, r2, r3, lsl #15", 0, 0, r1, r2, r3, cv); 4635 TESTINST3("bics.w r1, r2, r3, lsl #31", 0, 0, r1, r2, r3, cv); 4636 TESTINST3("bics.w r1, r2, r3, lsr #0 ", 0, 0, r1, r2, r3, cv); 4637 TESTINST3("bics.w r1, r2, r3, lsr #1 ", 0, 0, r1, r2, r3, cv); 4638 TESTINST3("bics.w r1, r2, r3, lsr #15", 0, 0, r1, r2, r3, cv); 4639 TESTINST3("bics.w r1, r2, r3, lsr #31", 0, 0, r1, r2, r3, cv); 4640 TESTINST3("bics.w r1, r2, r3, asr #0 ", 0, 0, r1, r2, r3, cv); 4641 TESTINST3("bics.w r1, r2, r3, asr #1 ", 0, 0, r1, r2, r3, cv); 4642 TESTINST3("bics.w r1, r2, r3, asr #15", 0, 0, r1, r2, r3, cv); 4643 TESTINST3("bics.w r1, r2, r3, asr #31", 0, 0, r1, r2, r3, cv); 4644 TESTINST3("bic.w r1, r2, r3, lsl #0 ", 0, 0, r1, r2, r3, cv); 4645 TESTINST3("bic.w r1, r2, r3, lsl #1 ", 0, 0, r1, r2, r3, cv); 4646 TESTINST3("bic.w r1, r2, r3, lsl #15", 0, 0, r1, r2, r3, cv); 4647 TESTINST3("bic.w r1, r2, r3, lsl #31", 0, 0, r1, r2, r3, cv); 4648 TESTINST3("bic.w r1, r2, r3, lsr #0 ", 0, 0, r1, r2, r3, cv); 4649 TESTINST3("bic.w r1, r2, r3, lsr #1 ", 0, 0, r1, r2, r3, cv); 4650 TESTINST3("bic.w r1, r2, r3, lsr #15", 0, 0, r1, r2, r3, cv); 4651 TESTINST3("bic.w r1, r2, r3, lsr #31", 0, 0, r1, r2, r3, cv); 4652 TESTINST3("bic.w r1, r2, r3, asr #0 ", 0, 0, r1, r2, r3, cv); 4653 TESTINST3("bic.w r1, r2, r3, asr #1 ", 0, 0, r1, r2, r3, cv); 4654 TESTINST3("bic.w r1, r2, r3, asr #15", 0, 0, r1, r2, r3, cv); 4655 TESTINST3("bic.w r1, r2, r3, asr #31", 0, 0, r1, r2, r3, cv); 4656 TESTINST3("bics.w r1, r2, r3, lsl #0 ", 1, 0, r1, r2, r3, cv); 4657 TESTINST3("bics.w r1, r2, r3, lsl #1 ", 1, 0, r1, r2, r3, cv); 4658 TESTINST3("bics.w r1, r2, r3, lsl #15", 1, 0, r1, r2, r3, cv); 4659 TESTINST3("bics.w r1, r2, r3, lsl #31", 1, 0, r1, r2, r3, cv); 4660 TESTINST3("bics.w r1, r2, r3, lsr #0 ", 1, 0, r1, r2, r3, cv); 4661 TESTINST3("bics.w r1, r2, r3, lsr #1 ", 1, 0, r1, r2, r3, cv); 4662 TESTINST3("bics.w r1, r2, r3, lsr #15", 1, 0, r1, r2, r3, cv); 4663 TESTINST3("bics.w r1, r2, r3, lsr #31", 1, 0, r1, r2, r3, cv); 4664 TESTINST3("bics.w r1, r2, r3, asr #0 ", 1, 0, r1, r2, r3, cv); 4665 TESTINST3("bics.w r1, r2, r3, asr #1 ", 1, 0, r1, r2, r3, cv); 4666 TESTINST3("bics.w r1, r2, r3, asr #15", 1, 0, r1, r2, r3, cv); 4667 TESTINST3("bics.w r1, r2, r3, asr #31", 1, 0, r1, r2, r3, cv); 4668 TESTINST3("bic.w r1, r2, r3, lsl #0 ", 1, 0, r1, r2, r3, cv); 4669 TESTINST3("bic.w r1, r2, r3, lsl #1 ", 1, 0, r1, r2, r3, cv); 4670 TESTINST3("bic.w r1, r2, r3, lsl #15", 1, 0, r1, r2, r3, cv); 4671 TESTINST3("bic.w r1, r2, r3, lsl #31", 1, 0, r1, r2, r3, cv); 4672 TESTINST3("bic.w r1, r2, r3, lsr #0 ", 1, 0, r1, r2, r3, cv); 4673 TESTINST3("bic.w r1, r2, r3, lsr #1 ", 1, 0, r1, r2, r3, cv); 4674 TESTINST3("bic.w r1, r2, r3, lsr #15", 1, 0, r1, r2, r3, cv); 4675 TESTINST3("bic.w r1, r2, r3, lsr #31", 1, 0, r1, r2, r3, cv); 4676 TESTINST3("bic.w r1, r2, r3, asr #0 ", 1, 0, r1, r2, r3, cv); 4677 TESTINST3("bic.w r1, r2, r3, asr #1 ", 1, 0, r1, r2, r3, cv); 4678 TESTINST3("bic.w r1, r2, r3, asr #15", 1, 0, r1, r2, r3, cv); 4679 TESTINST3("bic.w r1, r2, r3, asr #31", 1, 0, r1, r2, r3, cv); 4680 TESTINST3("bics.w r1, r2, r3, lsl #0 ", 0, 1, r1, r2, r3, cv); 4681 TESTINST3("bics.w r1, r2, r3, lsl #1 ", 0, 1, r1, r2, r3, cv); 4682 TESTINST3("bics.w r1, r2, r3, lsl #15", 0, 1, r1, r2, r3, cv); 4683 TESTINST3("bics.w r1, r2, r3, lsl #31", 0, 1, r1, r2, r3, cv); 4684 TESTINST3("bics.w r1, r2, r3, lsr #0 ", 0, 1, r1, r2, r3, cv); 4685 TESTINST3("bics.w r1, r2, r3, lsr #1 ", 0, 1, r1, r2, r3, cv); 4686 TESTINST3("bics.w r1, r2, r3, lsr #15", 0, 1, r1, r2, r3, cv); 4687 TESTINST3("bics.w r1, r2, r3, lsr #31", 0, 1, r1, r2, r3, cv); 4688 TESTINST3("bics.w r1, r2, r3, asr #0 ", 0, 1, r1, r2, r3, cv); 4689 TESTINST3("bics.w r1, r2, r3, asr #1 ", 0, 1, r1, r2, r3, cv); 4690 TESTINST3("bics.w r1, r2, r3, asr #15", 0, 1, r1, r2, r3, cv); 4691 TESTINST3("bics.w r1, r2, r3, asr #31", 0, 1, r1, r2, r3, cv); 4692 TESTINST3("bic.w r1, r2, r3, lsl #0 ", 0, 1, r1, r2, r3, cv); 4693 TESTINST3("bic.w r1, r2, r3, lsl #1 ", 0, 1, r1, r2, r3, cv); 4694 TESTINST3("bic.w r1, r2, r3, lsl #15", 0, 1, r1, r2, r3, cv); 4695 TESTINST3("bic.w r1, r2, r3, lsl #31", 0, 1, r1, r2, r3, cv); 4696 TESTINST3("bic.w r1, r2, r3, lsr #0 ", 0, 1, r1, r2, r3, cv); 4697 TESTINST3("bic.w r1, r2, r3, lsr #1 ", 0, 1, r1, r2, r3, cv); 4698 TESTINST3("bic.w r1, r2, r3, lsr #15", 0, 1, r1, r2, r3, cv); 4699 TESTINST3("bic.w r1, r2, r3, lsr #31", 0, 1, r1, r2, r3, cv); 4700 TESTINST3("bic.w r1, r2, r3, asr #0 ", 0, 1, r1, r2, r3, cv); 4701 TESTINST3("bic.w r1, r2, r3, asr #1 ", 0, 1, r1, r2, r3, cv); 4702 TESTINST3("bic.w r1, r2, r3, asr #15", 0, 1, r1, r2, r3, cv); 4703 TESTINST3("bic.w r1, r2, r3, asr #31", 0, 1, r1, r2, r3, cv); 4704 TESTINST3("bics.w r1, r2, r3, lsl #0 ", -1, 0, r1, r2, r3, cv); 4705 TESTINST3("bics.w r1, r2, r3, lsl #1 ", -1, 0, r1, r2, r3, cv); 4706 TESTINST3("bics.w r1, r2, r3, lsl #15", -1, 0, r1, r2, r3, cv); 4707 TESTINST3("bics.w r1, r2, r3, lsl #31", -1, 0, r1, r2, r3, cv); 4708 TESTINST3("bics.w r1, r2, r3, lsr #0 ", -1, 0, r1, r2, r3, cv); 4709 TESTINST3("bics.w r1, r2, r3, lsr #1 ", -1, 0, r1, r2, r3, cv); 4710 TESTINST3("bics.w r1, r2, r3, lsr #15", -1, 0, r1, r2, r3, cv); 4711 TESTINST3("bics.w r1, r2, r3, lsr #31", -1, 0, r1, r2, r3, cv); 4712 TESTINST3("bics.w r1, r2, r3, asr #0 ", -1, 0, r1, r2, r3, cv); 4713 TESTINST3("bics.w r1, r2, r3, asr #1 ", -1, 0, r1, r2, r3, cv); 4714 TESTINST3("bics.w r1, r2, r3, asr #15", -1, 0, r1, r2, r3, cv); 4715 TESTINST3("bics.w r1, r2, r3, asr #31", -1, 0, r1, r2, r3, cv); 4716 TESTINST3("bic.w r1, r2, r3, lsl #0 ", -1, 0, r1, r2, r3, cv); 4717 TESTINST3("bic.w r1, r2, r3, lsl #1 ", -1, 0, r1, r2, r3, cv); 4718 TESTINST3("bic.w r1, r2, r3, lsl #15", -1, 0, r1, r2, r3, cv); 4719 TESTINST3("bic.w r1, r2, r3, lsl #31", -1, 0, r1, r2, r3, cv); 4720 TESTINST3("bic.w r1, r2, r3, lsr #0 ", -1, 0, r1, r2, r3, cv); 4721 TESTINST3("bic.w r1, r2, r3, lsr #1 ", -1, 0, r1, r2, r3, cv); 4722 TESTINST3("bic.w r1, r2, r3, lsr #15", -1, 0, r1, r2, r3, cv); 4723 TESTINST3("bic.w r1, r2, r3, lsr #31", -1, 0, r1, r2, r3, cv); 4724 TESTINST3("bic.w r1, r2, r3, asr #0 ", -1, 0, r1, r2, r3, cv); 4725 TESTINST3("bic.w r1, r2, r3, asr #1 ", -1, 0, r1, r2, r3, cv); 4726 TESTINST3("bic.w r1, r2, r3, asr #15", -1, 0, r1, r2, r3, cv); 4727 TESTINST3("bic.w r1, r2, r3, asr #31", -1, 0, r1, r2, r3, cv); 4728 TESTINST3("bics.w r1, r2, r3, lsl #0 ", 0, -1, r1, r2, r3, cv); 4729 TESTINST3("bics.w r1, r2, r3, lsl #1 ", 0, -1, r1, r2, r3, cv); 4730 TESTINST3("bics.w r1, r2, r3, lsl #15", 0, -1, r1, r2, r3, cv); 4731 TESTINST3("bics.w r1, r2, r3, lsl #31", 0, -1, r1, r2, r3, cv); 4732 TESTINST3("bics.w r1, r2, r3, lsr #0 ", 0, -1, r1, r2, r3, cv); 4733 TESTINST3("bics.w r1, r2, r3, lsr #1 ", 0, -1, r1, r2, r3, cv); 4734 TESTINST3("bics.w r1, r2, r3, lsr #15", 0, -1, r1, r2, r3, cv); 4735 TESTINST3("bics.w r1, r2, r3, lsr #31", 0, -1, r1, r2, r3, cv); 4736 TESTINST3("bics.w r1, r2, r3, asr #0 ", 0, -1, r1, r2, r3, cv); 4737 TESTINST3("bics.w r1, r2, r3, asr #1 ", 0, -1, r1, r2, r3, cv); 4738 TESTINST3("bics.w r1, r2, r3, asr #15", 0, -1, r1, r2, r3, cv); 4739 TESTINST3("bics.w r1, r2, r3, asr #31", 0, -1, r1, r2, r3, cv); 4740 TESTINST3("bic.w r1, r2, r3, lsl #0 ", 0, -1, r1, r2, r3, cv); 4741 TESTINST3("bic.w r1, r2, r3, lsl #1 ", 0, -1, r1, r2, r3, cv); 4742 TESTINST3("bic.w r1, r2, r3, lsl #15", 0, -1, r1, r2, r3, cv); 4743 TESTINST3("bic.w r1, r2, r3, lsl #31", 0, -1, r1, r2, r3, cv); 4744 TESTINST3("bic.w r1, r2, r3, lsr #0 ", 0, -1, r1, r2, r3, cv); 4745 TESTINST3("bic.w r1, r2, r3, lsr #1 ", 0, -1, r1, r2, r3, cv); 4746 TESTINST3("bic.w r1, r2, r3, lsr #15", 0, -1, r1, r2, r3, cv); 4747 TESTINST3("bic.w r1, r2, r3, lsr #31", 0, -1, r1, r2, r3, cv); 4748 TESTINST3("bic.w r1, r2, r3, asr #0 ", 0, -1, r1, r2, r3, cv); 4749 TESTINST3("bic.w r1, r2, r3, asr #1 ", 0, -1, r1, r2, r3, cv); 4750 TESTINST3("bic.w r1, r2, r3, asr #15", 0, -1, r1, r2, r3, cv); 4751 TESTINST3("bic.w r1, r2, r3, asr #31", 0, -1, r1, r2, r3, cv); 4752 TESTINST3("bics.w r1, r2, r3, lsl #0 ", 0, 0x80000000, r1, r2, r3, cv); 4753 TESTINST3("bics.w r1, r2, r3, lsl #1 ", 0, 0x80000000, r1, r2, r3, cv); 4754 TESTINST3("bics.w r1, r2, r3, lsl #15", 0, 0x80000000, r1, r2, r3, cv); 4755 TESTINST3("bics.w r1, r2, r3, lsl #31", 0, 0x80000000, r1, r2, r3, cv); 4756 TESTINST3("bics.w r1, r2, r3, lsr #0 ", 0, 0x80000000, r1, r2, r3, cv); 4757 TESTINST3("bics.w r1, r2, r3, lsr #1 ", 0, 0x80000000, r1, r2, r3, cv); 4758 TESTINST3("bics.w r1, r2, r3, lsr #15", 0, 0x80000000, r1, r2, r3, cv); 4759 TESTINST3("bics.w r1, r2, r3, lsr #31", 0, 0x80000000, r1, r2, r3, cv); 4760 TESTINST3("bics.w r1, r2, r3, asr #0 ", 0, 0x80000000, r1, r2, r3, cv); 4761 TESTINST3("bics.w r1, r2, r3, asr #1 ", 0, 0x80000000, r1, r2, r3, cv); 4762 TESTINST3("bics.w r1, r2, r3, asr #15", 0, 0x80000000, r1, r2, r3, cv); 4763 TESTINST3("bics.w r1, r2, r3, asr #31", 0, 0x80000000, r1, r2, r3, cv); 4764 TESTINST3("bic.w r1, r2, r3, lsl #0 ", 0, 0x80000000, r1, r2, r3, cv); 4765 TESTINST3("bic.w r1, r2, r3, lsl #1 ", 0, 0x80000000, r1, r2, r3, cv); 4766 TESTINST3("bic.w r1, r2, r3, lsl #15", 0, 0x80000000, r1, r2, r3, cv); 4767 TESTINST3("bic.w r1, r2, r3, lsl #31", 0, 0x80000000, r1, r2, r3, cv); 4768 TESTINST3("bic.w r1, r2, r3, lsr #0 ", 0, 0x80000000, r1, r2, r3, cv); 4769 TESTINST3("bic.w r1, r2, r3, lsr #1 ", 0, 0x80000000, r1, r2, r3, cv); 4770 TESTINST3("bic.w r1, r2, r3, lsr #15", 0, 0x80000000, r1, r2, r3, cv); 4771 TESTINST3("bic.w r1, r2, r3, lsr #31", 0, 0x80000000, r1, r2, r3, cv); 4772 TESTINST3("bic.w r1, r2, r3, asr #0 ", 0, 0x80000000, r1, r2, r3, cv); 4773 TESTINST3("bic.w r1, r2, r3, asr #1 ", 0, 0x80000000, r1, r2, r3, cv); 4774 TESTINST3("bic.w r1, r2, r3, asr #15", 0, 0x80000000, r1, r2, r3, cv); 4775 TESTINST3("bic.w r1, r2, r3, asr #31", 0, 0x80000000, r1, r2, r3, cv); 4776 TESTINST3("bics.w r1, r2, r3, lsl #0 ", 0x80000000, 0, r1, r2, r3, cv); 4777 TESTINST3("bics.w r1, r2, r3, lsl #1 ", 0x80000000, 0, r1, r2, r3, cv); 4778 TESTINST3("bics.w r1, r2, r3, lsl #15", 0x80000000, 0, r1, r2, r3, cv); 4779 TESTINST3("bics.w r1, r2, r3, lsl #31", 0x80000000, 0, r1, r2, r3, cv); 4780 TESTINST3("bics.w r1, r2, r3, lsr #0 ", 0x80000000, 0, r1, r2, r3, cv); 4781 TESTINST3("bics.w r1, r2, r3, lsr #1 ", 0x80000000, 0, r1, r2, r3, cv); 4782 TESTINST3("bics.w r1, r2, r3, lsr #15", 0x80000000, 0, r1, r2, r3, cv); 4783 TESTINST3("bics.w r1, r2, r3, lsr #31", 0x80000000, 0, r1, r2, r3, cv); 4784 TESTINST3("bics.w r1, r2, r3, asr #0 ", 0x80000000, 0, r1, r2, r3, cv); 4785 TESTINST3("bics.w r1, r2, r3, asr #1 ", 0x80000000, 0, r1, r2, r3, cv); 4786 TESTINST3("bics.w r1, r2, r3, asr #15", 0x80000000, 0, r1, r2, r3, cv); 4787 TESTINST3("bics.w r1, r2, r3, asr #31", 0x80000000, 0, r1, r2, r3, cv); 4788 TESTINST3("bic.w r1, r2, r3, lsl #0 ", 0x80000000, 0, r1, r2, r3, cv); 4789 TESTINST3("bic.w r1, r2, r3, lsl #1 ", 0x80000000, 0, r1, r2, r3, cv); 4790 TESTINST3("bic.w r1, r2, r3, lsl #15", 0x80000000, 0, r1, r2, r3, cv); 4791 TESTINST3("bic.w r1, r2, r3, lsl #31", 0x80000000, 0, r1, r2, r3, cv); 4792 TESTINST3("bic.w r1, r2, r3, lsr #0 ", 0x80000000, 0, r1, r2, r3, cv); 4793 TESTINST3("bic.w r1, r2, r3, lsr #1 ", 0x80000000, 0, r1, r2, r3, cv); 4794 TESTINST3("bic.w r1, r2, r3, lsr #15", 0x80000000, 0, r1, r2, r3, cv); 4795 TESTINST3("bic.w r1, r2, r3, lsr #31", 0x80000000, 0, r1, r2, r3, cv); 4796 TESTINST3("bic.w r1, r2, r3, asr #0 ", 0x80000000, 0, r1, r2, r3, cv); 4797 TESTINST3("bic.w r1, r2, r3, asr #1 ", 0x80000000, 0, r1, r2, r3, cv); 4798 TESTINST3("bic.w r1, r2, r3, asr #15", 0x80000000, 0, r1, r2, r3, cv); 4799 TESTINST3("bic.w r1, r2, r3, asr #31", 0x80000000, 0, r1, r2, r3, cv); 4800 TESTINST3("bics.w r1, r2, r3, lsl #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 4801 TESTINST3("bics.w r1, r2, r3, lsl #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 4802 TESTINST3("bics.w r1, r2, r3, lsl #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 4803 TESTINST3("bics.w r1, r2, r3, lsl #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 4804 TESTINST3("bics.w r1, r2, r3, lsr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 4805 TESTINST3("bics.w r1, r2, r3, lsr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 4806 TESTINST3("bics.w r1, r2, r3, lsr #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 4807 TESTINST3("bics.w r1, r2, r3, lsr #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 4808 TESTINST3("bics.w r1, r2, r3, asr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 4809 TESTINST3("bics.w r1, r2, r3, asr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 4810 TESTINST3("bics.w r1, r2, r3, asr #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 4811 TESTINST3("bics.w r1, r2, r3, asr #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 4812 TESTINST3("bic.w r1, r2, r3, lsl #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 4813 TESTINST3("bic.w r1, r2, r3, lsl #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 4814 TESTINST3("bic.w r1, r2, r3, lsl #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 4815 TESTINST3("bic.w r1, r2, r3, lsl #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 4816 TESTINST3("bic.w r1, r2, r3, lsr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 4817 TESTINST3("bic.w r1, r2, r3, lsr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 4818 TESTINST3("bic.w r1, r2, r3, lsr #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 4819 TESTINST3("bic.w r1, r2, r3, lsr #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 4820 TESTINST3("bic.w r1, r2, r3, asr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 4821 TESTINST3("bic.w r1, r2, r3, asr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 4822 TESTINST3("bic.w r1, r2, r3, asr #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 4823 TESTINST3("bic.w r1, r2, r3, asr #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 4824 TESTINST3("bics.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 4825 TESTINST3("bics.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 4826 TESTINST3("bics.w r1, r2, r3, lsl #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 4827 TESTINST3("bics.w r1, r2, r3, lsl #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 4828 TESTINST3("bics.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 4829 TESTINST3("bics.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 4830 TESTINST3("bics.w r1, r2, r3, lsr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 4831 TESTINST3("bics.w r1, r2, r3, lsr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 4832 TESTINST3("bics.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 4833 TESTINST3("bics.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 4834 TESTINST3("bics.w r1, r2, r3, asr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 4835 TESTINST3("bics.w r1, r2, r3, asr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 4836 TESTINST3("bic.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 4837 TESTINST3("bic.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 4838 TESTINST3("bic.w r1, r2, r3, lsl #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 4839 TESTINST3("bic.w r1, r2, r3, lsl #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 4840 TESTINST3("bic.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 4841 TESTINST3("bic.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 4842 TESTINST3("bic.w r1, r2, r3, lsr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 4843 TESTINST3("bic.w r1, r2, r3, lsr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 4844 TESTINST3("bic.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 4845 TESTINST3("bic.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 4846 TESTINST3("bic.w r1, r2, r3, asr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 4847 TESTINST3("bic.w r1, r2, r3, asr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 4848 TESTINST3("bics.w r1, r2, r3, lsl #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 4849 TESTINST3("bics.w r1, r2, r3, lsl #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 4850 TESTINST3("bics.w r1, r2, r3, lsl #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 4851 TESTINST3("bics.w r1, r2, r3, lsl #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 4852 TESTINST3("bics.w r1, r2, r3, lsr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 4853 TESTINST3("bics.w r1, r2, r3, lsr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 4854 TESTINST3("bics.w r1, r2, r3, lsr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 4855 TESTINST3("bics.w r1, r2, r3, lsr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 4856 TESTINST3("bics.w r1, r2, r3, asr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 4857 TESTINST3("bics.w r1, r2, r3, asr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 4858 TESTINST3("bics.w r1, r2, r3, asr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 4859 TESTINST3("bics.w r1, r2, r3, asr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 4860 TESTINST3("bic.w r1, r2, r3, lsl #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 4861 TESTINST3("bic.w r1, r2, r3, lsl #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 4862 TESTINST3("bic.w r1, r2, r3, lsl #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 4863 TESTINST3("bic.w r1, r2, r3, lsl #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 4864 TESTINST3("bic.w r1, r2, r3, lsr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 4865 TESTINST3("bic.w r1, r2, r3, lsr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 4866 TESTINST3("bic.w r1, r2, r3, lsr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 4867 TESTINST3("bic.w r1, r2, r3, lsr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 4868 TESTINST3("bic.w r1, r2, r3, asr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 4869 TESTINST3("bic.w r1, r2, r3, asr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 4870 TESTINST3("bic.w r1, r2, r3, asr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 4871 TESTINST3("bic.w r1, r2, r3, asr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 4872 TESTINST3("bics.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 4873 TESTINST3("bics.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 4874 TESTINST3("bics.w r1, r2, r3, lsl #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 4875 TESTINST3("bics.w r1, r2, r3, lsl #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 4876 TESTINST3("bics.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 4877 TESTINST3("bics.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 4878 TESTINST3("bics.w r1, r2, r3, lsr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 4879 TESTINST3("bics.w r1, r2, r3, lsr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 4880 TESTINST3("bics.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 4881 TESTINST3("bics.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 4882 TESTINST3("bics.w r1, r2, r3, asr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 4883 TESTINST3("bics.w r1, r2, r3, asr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 4884 TESTINST3("bic.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 4885 TESTINST3("bic.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 4886 TESTINST3("bic.w r1, r2, r3, lsl #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 4887 TESTINST3("bic.w r1, r2, r3, lsl #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 4888 TESTINST3("bic.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 4889 TESTINST3("bic.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 4890 TESTINST3("bic.w r1, r2, r3, lsr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 4891 TESTINST3("bic.w r1, r2, r3, lsr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 4892 TESTINST3("bic.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 4893 TESTINST3("bic.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 4894 TESTINST3("bic.w r1, r2, r3, asr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 4895 TESTINST3("bic.w r1, r2, r3, asr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 4896 TESTCARRYEND 4897 4898 printf("ORN{S}.W Rd, Rn, Rm, {shift}\n"); 4899 TESTCARRY 4900 TESTINST3("orns.w r1, r2, r3, lsl #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 4901 TESTINST3("orns.w r1, r2, r3, lsl #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 4902 TESTINST3("orns.w r1, r2, r3, lsl #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 4903 TESTINST3("orns.w r1, r2, r3, lsl #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 4904 TESTINST3("orns.w r1, r2, r3, lsr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 4905 TESTINST3("orns.w r1, r2, r3, lsr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 4906 TESTINST3("orns.w r1, r2, r3, lsr #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 4907 TESTINST3("orns.w r1, r2, r3, lsr #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 4908 TESTINST3("orns.w r1, r2, r3, asr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 4909 TESTINST3("orns.w r1, r2, r3, asr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 4910 TESTINST3("orns.w r1, r2, r3, asr #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 4911 TESTINST3("orns.w r1, r2, r3, asr #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 4912 TESTINST3("orn.w r1, r2, r3, lsl #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 4913 TESTINST3("orn.w r1, r2, r3, lsl #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 4914 TESTINST3("orn.w r1, r2, r3, lsl #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 4915 TESTINST3("orn.w r1, r2, r3, lsl #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 4916 TESTINST3("orn.w r1, r2, r3, lsr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 4917 TESTINST3("orn.w r1, r2, r3, lsr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 4918 TESTINST3("orn.w r1, r2, r3, lsr #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 4919 TESTINST3("orn.w r1, r2, r3, lsr #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 4920 TESTINST3("orn.w r1, r2, r3, asr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 4921 TESTINST3("orn.w r1, r2, r3, asr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 4922 TESTINST3("orn.w r1, r2, r3, asr #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 4923 TESTINST3("orn.w r1, r2, r3, asr #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 4924 TESTINST3("orns.w r1, r2, r3, lsl #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 4925 TESTINST3("orns.w r1, r2, r3, lsl #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 4926 TESTINST3("orns.w r1, r2, r3, lsl #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 4927 TESTINST3("orns.w r1, r2, r3, lsl #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 4928 TESTINST3("orns.w r1, r2, r3, lsr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 4929 TESTINST3("orns.w r1, r2, r3, lsr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 4930 TESTINST3("orns.w r1, r2, r3, lsr #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 4931 TESTINST3("orns.w r1, r2, r3, lsr #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 4932 TESTINST3("orns.w r1, r2, r3, asr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 4933 TESTINST3("orns.w r1, r2, r3, asr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 4934 TESTINST3("orns.w r1, r2, r3, asr #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 4935 TESTINST3("orns.w r1, r2, r3, asr #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 4936 TESTINST3("orn.w r1, r2, r3, lsl #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 4937 TESTINST3("orn.w r1, r2, r3, lsl #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 4938 TESTINST3("orn.w r1, r2, r3, lsl #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 4939 TESTINST3("orn.w r1, r2, r3, lsl #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 4940 TESTINST3("orn.w r1, r2, r3, lsr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 4941 TESTINST3("orn.w r1, r2, r3, lsr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 4942 TESTINST3("orn.w r1, r2, r3, lsr #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 4943 TESTINST3("orn.w r1, r2, r3, lsr #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 4944 TESTINST3("orn.w r1, r2, r3, asr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 4945 TESTINST3("orn.w r1, r2, r3, asr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 4946 TESTINST3("orn.w r1, r2, r3, asr #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 4947 TESTINST3("orn.w r1, r2, r3, asr #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 4948 TESTINST3("orns.w r1, r2, r3, lsl #0 ", 0, 0, r1, r2, r3, cv); 4949 TESTINST3("orns.w r1, r2, r3, lsl #1 ", 0, 0, r1, r2, r3, cv); 4950 TESTINST3("orns.w r1, r2, r3, lsl #15", 0, 0, r1, r2, r3, cv); 4951 TESTINST3("orns.w r1, r2, r3, lsl #31", 0, 0, r1, r2, r3, cv); 4952 TESTINST3("orns.w r1, r2, r3, lsr #0 ", 0, 0, r1, r2, r3, cv); 4953 TESTINST3("orns.w r1, r2, r3, lsr #1 ", 0, 0, r1, r2, r3, cv); 4954 TESTINST3("orns.w r1, r2, r3, lsr #15", 0, 0, r1, r2, r3, cv); 4955 TESTINST3("orns.w r1, r2, r3, lsr #31", 0, 0, r1, r2, r3, cv); 4956 TESTINST3("orns.w r1, r2, r3, asr #0 ", 0, 0, r1, r2, r3, cv); 4957 TESTINST3("orns.w r1, r2, r3, asr #1 ", 0, 0, r1, r2, r3, cv); 4958 TESTINST3("orns.w r1, r2, r3, asr #15", 0, 0, r1, r2, r3, cv); 4959 TESTINST3("orns.w r1, r2, r3, asr #31", 0, 0, r1, r2, r3, cv); 4960 TESTINST3("orn.w r1, r2, r3, lsl #0 ", 0, 0, r1, r2, r3, cv); 4961 TESTINST3("orn.w r1, r2, r3, lsl #1 ", 0, 0, r1, r2, r3, cv); 4962 TESTINST3("orn.w r1, r2, r3, lsl #15", 0, 0, r1, r2, r3, cv); 4963 TESTINST3("orn.w r1, r2, r3, lsl #31", 0, 0, r1, r2, r3, cv); 4964 TESTINST3("orn.w r1, r2, r3, lsr #0 ", 0, 0, r1, r2, r3, cv); 4965 TESTINST3("orn.w r1, r2, r3, lsr #1 ", 0, 0, r1, r2, r3, cv); 4966 TESTINST3("orn.w r1, r2, r3, lsr #15", 0, 0, r1, r2, r3, cv); 4967 TESTINST3("orn.w r1, r2, r3, lsr #31", 0, 0, r1, r2, r3, cv); 4968 TESTINST3("orn.w r1, r2, r3, asr #0 ", 0, 0, r1, r2, r3, cv); 4969 TESTINST3("orn.w r1, r2, r3, asr #1 ", 0, 0, r1, r2, r3, cv); 4970 TESTINST3("orn.w r1, r2, r3, asr #15", 0, 0, r1, r2, r3, cv); 4971 TESTINST3("orn.w r1, r2, r3, asr #31", 0, 0, r1, r2, r3, cv); 4972 TESTINST3("orns.w r1, r2, r3, lsl #0 ", 1, 0, r1, r2, r3, cv); 4973 TESTINST3("orns.w r1, r2, r3, lsl #1 ", 1, 0, r1, r2, r3, cv); 4974 TESTINST3("orns.w r1, r2, r3, lsl #15", 1, 0, r1, r2, r3, cv); 4975 TESTINST3("orns.w r1, r2, r3, lsl #31", 1, 0, r1, r2, r3, cv); 4976 TESTINST3("orns.w r1, r2, r3, lsr #0 ", 1, 0, r1, r2, r3, cv); 4977 TESTINST3("orns.w r1, r2, r3, lsr #1 ", 1, 0, r1, r2, r3, cv); 4978 TESTINST3("orns.w r1, r2, r3, lsr #15", 1, 0, r1, r2, r3, cv); 4979 TESTINST3("orns.w r1, r2, r3, lsr #31", 1, 0, r1, r2, r3, cv); 4980 TESTINST3("orns.w r1, r2, r3, asr #0 ", 1, 0, r1, r2, r3, cv); 4981 TESTINST3("orns.w r1, r2, r3, asr #1 ", 1, 0, r1, r2, r3, cv); 4982 TESTINST3("orns.w r1, r2, r3, asr #15", 1, 0, r1, r2, r3, cv); 4983 TESTINST3("orns.w r1, r2, r3, asr #31", 1, 0, r1, r2, r3, cv); 4984 TESTINST3("orn.w r1, r2, r3, lsl #0 ", 1, 0, r1, r2, r3, cv); 4985 TESTINST3("orn.w r1, r2, r3, lsl #1 ", 1, 0, r1, r2, r3, cv); 4986 TESTINST3("orn.w r1, r2, r3, lsl #15", 1, 0, r1, r2, r3, cv); 4987 TESTINST3("orn.w r1, r2, r3, lsl #31", 1, 0, r1, r2, r3, cv); 4988 TESTINST3("orn.w r1, r2, r3, lsr #0 ", 1, 0, r1, r2, r3, cv); 4989 TESTINST3("orn.w r1, r2, r3, lsr #1 ", 1, 0, r1, r2, r3, cv); 4990 TESTINST3("orn.w r1, r2, r3, lsr #15", 1, 0, r1, r2, r3, cv); 4991 TESTINST3("orn.w r1, r2, r3, lsr #31", 1, 0, r1, r2, r3, cv); 4992 TESTINST3("orn.w r1, r2, r3, asr #0 ", 1, 0, r1, r2, r3, cv); 4993 TESTINST3("orn.w r1, r2, r3, asr #1 ", 1, 0, r1, r2, r3, cv); 4994 TESTINST3("orn.w r1, r2, r3, asr #15", 1, 0, r1, r2, r3, cv); 4995 TESTINST3("orn.w r1, r2, r3, asr #31", 1, 0, r1, r2, r3, cv); 4996 TESTINST3("orns.w r1, r2, r3, lsl #0 ", 0, 1, r1, r2, r3, cv); 4997 TESTINST3("orns.w r1, r2, r3, lsl #1 ", 0, 1, r1, r2, r3, cv); 4998 TESTINST3("orns.w r1, r2, r3, lsl #15", 0, 1, r1, r2, r3, cv); 4999 TESTINST3("orns.w r1, r2, r3, lsl #31", 0, 1, r1, r2, r3, cv); 5000 TESTINST3("orns.w r1, r2, r3, lsr #0 ", 0, 1, r1, r2, r3, cv); 5001 TESTINST3("orns.w r1, r2, r3, lsr #1 ", 0, 1, r1, r2, r3, cv); 5002 TESTINST3("orns.w r1, r2, r3, lsr #15", 0, 1, r1, r2, r3, cv); 5003 TESTINST3("orns.w r1, r2, r3, lsr #31", 0, 1, r1, r2, r3, cv); 5004 TESTINST3("orns.w r1, r2, r3, asr #0 ", 0, 1, r1, r2, r3, cv); 5005 TESTINST3("orns.w r1, r2, r3, asr #1 ", 0, 1, r1, r2, r3, cv); 5006 TESTINST3("orns.w r1, r2, r3, asr #15", 0, 1, r1, r2, r3, cv); 5007 TESTINST3("orns.w r1, r2, r3, asr #31", 0, 1, r1, r2, r3, cv); 5008 TESTINST3("orn.w r1, r2, r3, lsl #0 ", 0, 1, r1, r2, r3, cv); 5009 TESTINST3("orn.w r1, r2, r3, lsl #1 ", 0, 1, r1, r2, r3, cv); 5010 TESTINST3("orn.w r1, r2, r3, lsl #15", 0, 1, r1, r2, r3, cv); 5011 TESTINST3("orn.w r1, r2, r3, lsl #31", 0, 1, r1, r2, r3, cv); 5012 TESTINST3("orn.w r1, r2, r3, lsr #0 ", 0, 1, r1, r2, r3, cv); 5013 TESTINST3("orn.w r1, r2, r3, lsr #1 ", 0, 1, r1, r2, r3, cv); 5014 TESTINST3("orn.w r1, r2, r3, lsr #15", 0, 1, r1, r2, r3, cv); 5015 TESTINST3("orn.w r1, r2, r3, lsr #31", 0, 1, r1, r2, r3, cv); 5016 TESTINST3("orn.w r1, r2, r3, asr #0 ", 0, 1, r1, r2, r3, cv); 5017 TESTINST3("orn.w r1, r2, r3, asr #1 ", 0, 1, r1, r2, r3, cv); 5018 TESTINST3("orn.w r1, r2, r3, asr #15", 0, 1, r1, r2, r3, cv); 5019 TESTINST3("orn.w r1, r2, r3, asr #31", 0, 1, r1, r2, r3, cv); 5020 TESTINST3("orns.w r1, r2, r3, lsl #0 ", -1, 0, r1, r2, r3, cv); 5021 TESTINST3("orns.w r1, r2, r3, lsl #1 ", -1, 0, r1, r2, r3, cv); 5022 TESTINST3("orns.w r1, r2, r3, lsl #15", -1, 0, r1, r2, r3, cv); 5023 TESTINST3("orns.w r1, r2, r3, lsl #31", -1, 0, r1, r2, r3, cv); 5024 TESTINST3("orns.w r1, r2, r3, lsr #0 ", -1, 0, r1, r2, r3, cv); 5025 TESTINST3("orns.w r1, r2, r3, lsr #1 ", -1, 0, r1, r2, r3, cv); 5026 TESTINST3("orns.w r1, r2, r3, lsr #15", -1, 0, r1, r2, r3, cv); 5027 TESTINST3("orns.w r1, r2, r3, lsr #31", -1, 0, r1, r2, r3, cv); 5028 TESTINST3("orns.w r1, r2, r3, asr #0 ", -1, 0, r1, r2, r3, cv); 5029 TESTINST3("orns.w r1, r2, r3, asr #1 ", -1, 0, r1, r2, r3, cv); 5030 TESTINST3("orns.w r1, r2, r3, asr #15", -1, 0, r1, r2, r3, cv); 5031 TESTINST3("orns.w r1, r2, r3, asr #31", -1, 0, r1, r2, r3, cv); 5032 TESTINST3("orn.w r1, r2, r3, lsl #0 ", -1, 0, r1, r2, r3, cv); 5033 TESTINST3("orn.w r1, r2, r3, lsl #1 ", -1, 0, r1, r2, r3, cv); 5034 TESTINST3("orn.w r1, r2, r3, lsl #15", -1, 0, r1, r2, r3, cv); 5035 TESTINST3("orn.w r1, r2, r3, lsl #31", -1, 0, r1, r2, r3, cv); 5036 TESTINST3("orn.w r1, r2, r3, lsr #0 ", -1, 0, r1, r2, r3, cv); 5037 TESTINST3("orn.w r1, r2, r3, lsr #1 ", -1, 0, r1, r2, r3, cv); 5038 TESTINST3("orn.w r1, r2, r3, lsr #15", -1, 0, r1, r2, r3, cv); 5039 TESTINST3("orn.w r1, r2, r3, lsr #31", -1, 0, r1, r2, r3, cv); 5040 TESTINST3("orn.w r1, r2, r3, asr #0 ", -1, 0, r1, r2, r3, cv); 5041 TESTINST3("orn.w r1, r2, r3, asr #1 ", -1, 0, r1, r2, r3, cv); 5042 TESTINST3("orn.w r1, r2, r3, asr #15", -1, 0, r1, r2, r3, cv); 5043 TESTINST3("orn.w r1, r2, r3, asr #31", -1, 0, r1, r2, r3, cv); 5044 TESTINST3("orns.w r1, r2, r3, lsl #0 ", 0, -1, r1, r2, r3, cv); 5045 TESTINST3("orns.w r1, r2, r3, lsl #1 ", 0, -1, r1, r2, r3, cv); 5046 TESTINST3("orns.w r1, r2, r3, lsl #15", 0, -1, r1, r2, r3, cv); 5047 TESTINST3("orns.w r1, r2, r3, lsl #31", 0, -1, r1, r2, r3, cv); 5048 TESTINST3("orns.w r1, r2, r3, lsr #0 ", 0, -1, r1, r2, r3, cv); 5049 TESTINST3("orns.w r1, r2, r3, lsr #1 ", 0, -1, r1, r2, r3, cv); 5050 TESTINST3("orns.w r1, r2, r3, lsr #15", 0, -1, r1, r2, r3, cv); 5051 TESTINST3("orns.w r1, r2, r3, lsr #31", 0, -1, r1, r2, r3, cv); 5052 TESTINST3("orns.w r1, r2, r3, asr #0 ", 0, -1, r1, r2, r3, cv); 5053 TESTINST3("orns.w r1, r2, r3, asr #1 ", 0, -1, r1, r2, r3, cv); 5054 TESTINST3("orns.w r1, r2, r3, asr #15", 0, -1, r1, r2, r3, cv); 5055 TESTINST3("orns.w r1, r2, r3, asr #31", 0, -1, r1, r2, r3, cv); 5056 TESTINST3("orn.w r1, r2, r3, lsl #0 ", 0, -1, r1, r2, r3, cv); 5057 TESTINST3("orn.w r1, r2, r3, lsl #1 ", 0, -1, r1, r2, r3, cv); 5058 TESTINST3("orn.w r1, r2, r3, lsl #15", 0, -1, r1, r2, r3, cv); 5059 TESTINST3("orn.w r1, r2, r3, lsl #31", 0, -1, r1, r2, r3, cv); 5060 TESTINST3("orn.w r1, r2, r3, lsr #0 ", 0, -1, r1, r2, r3, cv); 5061 TESTINST3("orn.w r1, r2, r3, lsr #1 ", 0, -1, r1, r2, r3, cv); 5062 TESTINST3("orn.w r1, r2, r3, lsr #15", 0, -1, r1, r2, r3, cv); 5063 TESTINST3("orn.w r1, r2, r3, lsr #31", 0, -1, r1, r2, r3, cv); 5064 TESTINST3("orn.w r1, r2, r3, asr #0 ", 0, -1, r1, r2, r3, cv); 5065 TESTINST3("orn.w r1, r2, r3, asr #1 ", 0, -1, r1, r2, r3, cv); 5066 TESTINST3("orn.w r1, r2, r3, asr #15", 0, -1, r1, r2, r3, cv); 5067 TESTINST3("orn.w r1, r2, r3, asr #31", 0, -1, r1, r2, r3, cv); 5068 TESTINST3("orns.w r1, r2, r3, lsl #0 ", 0, 0x80000000, r1, r2, r3, cv); 5069 TESTINST3("orns.w r1, r2, r3, lsl #1 ", 0, 0x80000000, r1, r2, r3, cv); 5070 TESTINST3("orns.w r1, r2, r3, lsl #15", 0, 0x80000000, r1, r2, r3, cv); 5071 TESTINST3("orns.w r1, r2, r3, lsl #31", 0, 0x80000000, r1, r2, r3, cv); 5072 TESTINST3("orns.w r1, r2, r3, lsr #0 ", 0, 0x80000000, r1, r2, r3, cv); 5073 TESTINST3("orns.w r1, r2, r3, lsr #1 ", 0, 0x80000000, r1, r2, r3, cv); 5074 TESTINST3("orns.w r1, r2, r3, lsr #15", 0, 0x80000000, r1, r2, r3, cv); 5075 TESTINST3("orns.w r1, r2, r3, lsr #31", 0, 0x80000000, r1, r2, r3, cv); 5076 TESTINST3("orns.w r1, r2, r3, asr #0 ", 0, 0x80000000, r1, r2, r3, cv); 5077 TESTINST3("orns.w r1, r2, r3, asr #1 ", 0, 0x80000000, r1, r2, r3, cv); 5078 TESTINST3("orns.w r1, r2, r3, asr #15", 0, 0x80000000, r1, r2, r3, cv); 5079 TESTINST3("orns.w r1, r2, r3, asr #31", 0, 0x80000000, r1, r2, r3, cv); 5080 TESTINST3("orn.w r1, r2, r3, lsl #0 ", 0, 0x80000000, r1, r2, r3, cv); 5081 TESTINST3("orn.w r1, r2, r3, lsl #1 ", 0, 0x80000000, r1, r2, r3, cv); 5082 TESTINST3("orn.w r1, r2, r3, lsl #15", 0, 0x80000000, r1, r2, r3, cv); 5083 TESTINST3("orn.w r1, r2, r3, lsl #31", 0, 0x80000000, r1, r2, r3, cv); 5084 TESTINST3("orn.w r1, r2, r3, lsr #0 ", 0, 0x80000000, r1, r2, r3, cv); 5085 TESTINST3("orn.w r1, r2, r3, lsr #1 ", 0, 0x80000000, r1, r2, r3, cv); 5086 TESTINST3("orn.w r1, r2, r3, lsr #15", 0, 0x80000000, r1, r2, r3, cv); 5087 TESTINST3("orn.w r1, r2, r3, lsr #31", 0, 0x80000000, r1, r2, r3, cv); 5088 TESTINST3("orn.w r1, r2, r3, asr #0 ", 0, 0x80000000, r1, r2, r3, cv); 5089 TESTINST3("orn.w r1, r2, r3, asr #1 ", 0, 0x80000000, r1, r2, r3, cv); 5090 TESTINST3("orn.w r1, r2, r3, asr #15", 0, 0x80000000, r1, r2, r3, cv); 5091 TESTINST3("orn.w r1, r2, r3, asr #31", 0, 0x80000000, r1, r2, r3, cv); 5092 TESTINST3("orns.w r1, r2, r3, lsl #0 ", 0x80000000, 0, r1, r2, r3, cv); 5093 TESTINST3("orns.w r1, r2, r3, lsl #1 ", 0x80000000, 0, r1, r2, r3, cv); 5094 TESTINST3("orns.w r1, r2, r3, lsl #15", 0x80000000, 0, r1, r2, r3, cv); 5095 TESTINST3("orns.w r1, r2, r3, lsl #31", 0x80000000, 0, r1, r2, r3, cv); 5096 TESTINST3("orns.w r1, r2, r3, lsr #0 ", 0x80000000, 0, r1, r2, r3, cv); 5097 TESTINST3("orns.w r1, r2, r3, lsr #1 ", 0x80000000, 0, r1, r2, r3, cv); 5098 TESTINST3("orns.w r1, r2, r3, lsr #15", 0x80000000, 0, r1, r2, r3, cv); 5099 TESTINST3("orns.w r1, r2, r3, lsr #31", 0x80000000, 0, r1, r2, r3, cv); 5100 TESTINST3("orns.w r1, r2, r3, asr #0 ", 0x80000000, 0, r1, r2, r3, cv); 5101 TESTINST3("orns.w r1, r2, r3, asr #1 ", 0x80000000, 0, r1, r2, r3, cv); 5102 TESTINST3("orns.w r1, r2, r3, asr #15", 0x80000000, 0, r1, r2, r3, cv); 5103 TESTINST3("orns.w r1, r2, r3, asr #31", 0x80000000, 0, r1, r2, r3, cv); 5104 TESTINST3("orn.w r1, r2, r3, lsl #0 ", 0x80000000, 0, r1, r2, r3, cv); 5105 TESTINST3("orn.w r1, r2, r3, lsl #1 ", 0x80000000, 0, r1, r2, r3, cv); 5106 TESTINST3("orn.w r1, r2, r3, lsl #15", 0x80000000, 0, r1, r2, r3, cv); 5107 TESTINST3("orn.w r1, r2, r3, lsl #31", 0x80000000, 0, r1, r2, r3, cv); 5108 TESTINST3("orn.w r1, r2, r3, lsr #0 ", 0x80000000, 0, r1, r2, r3, cv); 5109 TESTINST3("orn.w r1, r2, r3, lsr #1 ", 0x80000000, 0, r1, r2, r3, cv); 5110 TESTINST3("orn.w r1, r2, r3, lsr #15", 0x80000000, 0, r1, r2, r3, cv); 5111 TESTINST3("orn.w r1, r2, r3, lsr #31", 0x80000000, 0, r1, r2, r3, cv); 5112 TESTINST3("orn.w r1, r2, r3, asr #0 ", 0x80000000, 0, r1, r2, r3, cv); 5113 TESTINST3("orn.w r1, r2, r3, asr #1 ", 0x80000000, 0, r1, r2, r3, cv); 5114 TESTINST3("orn.w r1, r2, r3, asr #15", 0x80000000, 0, r1, r2, r3, cv); 5115 TESTINST3("orn.w r1, r2, r3, asr #31", 0x80000000, 0, r1, r2, r3, cv); 5116 TESTINST3("orns.w r1, r2, r3, lsl #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 5117 TESTINST3("orns.w r1, r2, r3, lsl #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 5118 TESTINST3("orns.w r1, r2, r3, lsl #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 5119 TESTINST3("orns.w r1, r2, r3, lsl #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 5120 TESTINST3("orns.w r1, r2, r3, lsr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 5121 TESTINST3("orns.w r1, r2, r3, lsr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 5122 TESTINST3("orns.w r1, r2, r3, lsr #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 5123 TESTINST3("orns.w r1, r2, r3, lsr #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 5124 TESTINST3("orns.w r1, r2, r3, asr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 5125 TESTINST3("orns.w r1, r2, r3, asr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 5126 TESTINST3("orns.w r1, r2, r3, asr #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 5127 TESTINST3("orns.w r1, r2, r3, asr #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 5128 TESTINST3("orn.w r1, r2, r3, lsl #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 5129 TESTINST3("orn.w r1, r2, r3, lsl #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 5130 TESTINST3("orn.w r1, r2, r3, lsl #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 5131 TESTINST3("orn.w r1, r2, r3, lsl #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 5132 TESTINST3("orn.w r1, r2, r3, lsr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 5133 TESTINST3("orn.w r1, r2, r3, lsr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 5134 TESTINST3("orn.w r1, r2, r3, lsr #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 5135 TESTINST3("orn.w r1, r2, r3, lsr #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 5136 TESTINST3("orn.w r1, r2, r3, asr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 5137 TESTINST3("orn.w r1, r2, r3, asr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 5138 TESTINST3("orn.w r1, r2, r3, asr #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 5139 TESTINST3("orn.w r1, r2, r3, asr #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 5140 TESTINST3("orns.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 5141 TESTINST3("orns.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 5142 TESTINST3("orns.w r1, r2, r3, lsl #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 5143 TESTINST3("orns.w r1, r2, r3, lsl #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 5144 TESTINST3("orns.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 5145 TESTINST3("orns.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 5146 TESTINST3("orns.w r1, r2, r3, lsr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 5147 TESTINST3("orns.w r1, r2, r3, lsr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 5148 TESTINST3("orns.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 5149 TESTINST3("orns.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 5150 TESTINST3("orns.w r1, r2, r3, asr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 5151 TESTINST3("orns.w r1, r2, r3, asr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 5152 TESTINST3("orn.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 5153 TESTINST3("orn.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 5154 TESTINST3("orn.w r1, r2, r3, lsl #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 5155 TESTINST3("orn.w r1, r2, r3, lsl #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 5156 TESTINST3("orn.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 5157 TESTINST3("orn.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 5158 TESTINST3("orn.w r1, r2, r3, lsr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 5159 TESTINST3("orn.w r1, r2, r3, lsr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 5160 TESTINST3("orn.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 5161 TESTINST3("orn.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 5162 TESTINST3("orn.w r1, r2, r3, asr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 5163 TESTINST3("orn.w r1, r2, r3, asr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 5164 TESTINST3("orns.w r1, r2, r3, lsl #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 5165 TESTINST3("orns.w r1, r2, r3, lsl #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 5166 TESTINST3("orns.w r1, r2, r3, lsl #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 5167 TESTINST3("orns.w r1, r2, r3, lsl #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 5168 TESTINST3("orns.w r1, r2, r3, lsr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 5169 TESTINST3("orns.w r1, r2, r3, lsr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 5170 TESTINST3("orns.w r1, r2, r3, lsr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 5171 TESTINST3("orns.w r1, r2, r3, lsr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 5172 TESTINST3("orns.w r1, r2, r3, asr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 5173 TESTINST3("orns.w r1, r2, r3, asr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 5174 TESTINST3("orns.w r1, r2, r3, asr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 5175 TESTINST3("orns.w r1, r2, r3, asr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 5176 TESTINST3("orn.w r1, r2, r3, lsl #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 5177 TESTINST3("orn.w r1, r2, r3, lsl #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 5178 TESTINST3("orn.w r1, r2, r3, lsl #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 5179 TESTINST3("orn.w r1, r2, r3, lsl #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 5180 TESTINST3("orn.w r1, r2, r3, lsr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 5181 TESTINST3("orn.w r1, r2, r3, lsr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 5182 TESTINST3("orn.w r1, r2, r3, lsr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 5183 TESTINST3("orn.w r1, r2, r3, lsr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 5184 TESTINST3("orn.w r1, r2, r3, asr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 5185 TESTINST3("orn.w r1, r2, r3, asr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 5186 TESTINST3("orn.w r1, r2, r3, asr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 5187 TESTINST3("orn.w r1, r2, r3, asr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 5188 TESTINST3("orns.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 5189 TESTINST3("orns.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 5190 TESTINST3("orns.w r1, r2, r3, lsl #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 5191 TESTINST3("orns.w r1, r2, r3, lsl #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 5192 TESTINST3("orns.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 5193 TESTINST3("orns.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 5194 TESTINST3("orns.w r1, r2, r3, lsr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 5195 TESTINST3("orns.w r1, r2, r3, lsr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 5196 TESTINST3("orns.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 5197 TESTINST3("orns.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 5198 TESTINST3("orns.w r1, r2, r3, asr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 5199 TESTINST3("orns.w r1, r2, r3, asr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 5200 TESTINST3("orn.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 5201 TESTINST3("orn.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 5202 TESTINST3("orn.w r1, r2, r3, lsl #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 5203 TESTINST3("orn.w r1, r2, r3, lsl #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 5204 TESTINST3("orn.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 5205 TESTINST3("orn.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 5206 TESTINST3("orn.w r1, r2, r3, lsr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 5207 TESTINST3("orn.w r1, r2, r3, lsr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 5208 TESTINST3("orn.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 5209 TESTINST3("orn.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 5210 TESTINST3("orn.w r1, r2, r3, asr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 5211 TESTINST3("orn.w r1, r2, r3, asr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 5212 TESTCARRYEND 5213 5214 printf("(T?) LSL{S}.W Rd, Rn, Rm\n"); 5215 TESTCARRY 5216 TESTINST3("lsls.w r1, r2, r3", 0x31415927, 0x00000000, r1, r2, r3, cv); 5217 TESTINST3("lsls.w r1, r2, r3", 0x31415927, 0x00000001, r1, r2, r3, cv); 5218 TESTINST3("lsls.w r1, r2, r3", 0x31415927, 0x00000002, r1, r2, r3, cv); 5219 TESTINST3("lsls.w r1, r2, r3", 0x31415927, 0x0000000F, r1, r2, r3, cv); 5220 TESTINST3("lsls.w r1, r2, r3", 0x31415927, 0x00000010, r1, r2, r3, cv); 5221 TESTINST3("lsls.w r1, r2, r3", 0x31415927, 0x0000001F, r1, r2, r3, cv); 5222 TESTINST3("lsls.w r1, r2, r3", 0x31415927, 0x00000020, r1, r2, r3, cv); 5223 TESTINST3("lsls.w r1, r2, r3", 0x31415927, 0x00000021, r1, r2, r3, cv); 5224 TESTINST3("lsl.w r1, r2, r3", 0x31415927, 0x00000000, r1, r2, r3, cv); 5225 TESTINST3("lsl.w r1, r2, r3", 0x31415927, 0x00000001, r1, r2, r3, cv); 5226 TESTINST3("lsl.w r1, r2, r3", 0x31415927, 0x00000002, r1, r2, r3, cv); 5227 TESTINST3("lsl.w r1, r2, r3", 0x31415927, 0x0000000F, r1, r2, r3, cv); 5228 TESTINST3("lsl.w r1, r2, r3", 0x31415927, 0x00000010, r1, r2, r3, cv); 5229 TESTINST3("lsl.w r1, r2, r3", 0x31415927, 0x0000001F, r1, r2, r3, cv); 5230 TESTINST3("lsl.w r1, r2, r3", 0x31415927, 0x00000020, r1, r2, r3, cv); 5231 TESTINST3("lsl.w r1, r2, r3", 0x31415927, 0x00000021, r1, r2, r3, cv); 5232 TESTCARRYEND 5233 5234 printf("(T?) LSR{S}.W Rd, Rn, Rm\n"); 5235 TESTCARRY 5236 TESTINST3("lsrs.w r1, r2, r3", 0x31415927, 0x00000000, r1, r2, r3, cv); 5237 TESTINST3("lsrs.w r1, r2, r3", 0x31415927, 0x00000001, r1, r2, r3, cv); 5238 TESTINST3("lsrs.w r1, r2, r3", 0x31415927, 0x00000002, r1, r2, r3, cv); 5239 TESTINST3("lsrs.w r1, r2, r3", 0x31415927, 0x0000000F, r1, r2, r3, cv); 5240 TESTINST3("lsrs.w r1, r2, r3", 0x31415927, 0x00000010, r1, r2, r3, cv); 5241 TESTINST3("lsrs.w r1, r2, r3", 0x31415927, 0x0000001F, r1, r2, r3, cv); 5242 TESTINST3("lsrs.w r1, r2, r3", 0x31415927, 0x00000020, r1, r2, r3, cv); 5243 TESTINST3("lsrs.w r1, r2, r3", 0x31415927, 0x00000021, r1, r2, r3, cv); 5244 TESTINST3("lsr.w r1, r2, r3", 0x31415927, 0x00000000, r1, r2, r3, cv); 5245 TESTINST3("lsr.w r1, r2, r3", 0x31415927, 0x00000001, r1, r2, r3, cv); 5246 TESTINST3("lsr.w r1, r2, r3", 0x31415927, 0x00000002, r1, r2, r3, cv); 5247 TESTINST3("lsr.w r1, r2, r3", 0x31415927, 0x0000000F, r1, r2, r3, cv); 5248 TESTINST3("lsr.w r1, r2, r3", 0x31415927, 0x00000010, r1, r2, r3, cv); 5249 TESTINST3("lsr.w r1, r2, r3", 0x31415927, 0x0000001F, r1, r2, r3, cv); 5250 TESTINST3("lsr.w r1, r2, r3", 0x31415927, 0x00000020, r1, r2, r3, cv); 5251 TESTINST3("lsr.w r1, r2, r3", 0x31415927, 0x00000021, r1, r2, r3, cv); 5252 TESTCARRYEND 5253 5254 printf("(T?) ASR{S}.W Rd, Rn, Rm\n"); 5255 TESTCARRY 5256 TESTINST3("asrs.w r1, r2, r3", 0x31415927, 0x00000000, r1, r2, r3, cv); 5257 TESTINST3("asrs.w r1, r2, r3", 0x91415927, 0x00000001, r1, r2, r3, cv); 5258 TESTINST3("asrs.w r1, r2, r3", 0x31415927, 0x00000002, r1, r2, r3, cv); 5259 TESTINST3("asrs.w r1, r2, r3", 0x91415927, 0x0000000F, r1, r2, r3, cv); 5260 TESTINST3("asrs.w r1, r2, r3", 0x31415927, 0x00000010, r1, r2, r3, cv); 5261 TESTINST3("asrs.w r1, r2, r3", 0x91415927, 0x0000001F, r1, r2, r3, cv); 5262 TESTINST3("asrs.w r1, r2, r3", 0x31415927, 0x00000020, r1, r2, r3, cv); 5263 TESTINST3("asrs.w r1, r2, r3", 0x91415927, 0x00000021, r1, r2, r3, cv); 5264 TESTINST3("asr.w r1, r2, r3", 0x31415927, 0x00000000, r1, r2, r3, cv); 5265 TESTINST3("asr.w r1, r2, r3", 0x91415927, 0x00000001, r1, r2, r3, cv); 5266 TESTINST3("asr.w r1, r2, r3", 0x31415927, 0x00000002, r1, r2, r3, cv); 5267 TESTINST3("asr.w r1, r2, r3", 0x91415927, 0x0000000F, r1, r2, r3, cv); 5268 TESTINST3("asr.w r1, r2, r3", 0x31415927, 0x00000010, r1, r2, r3, cv); 5269 TESTINST3("asr.w r1, r2, r3", 0x91415927, 0x0000001F, r1, r2, r3, cv); 5270 TESTINST3("asr.w r1, r2, r3", 0x31415927, 0x00000020, r1, r2, r3, cv); 5271 TESTINST3("asr.w r1, r2, r3", 0x91415927, 0x00000021, r1, r2, r3, cv); 5272 TESTCARRYEND 5273 5274 printf("(T?) ROR{S}.W Rd, Rn, Rm\n"); 5275 TESTCARRY 5276 TESTINST3("rors.w r1, r2, r3", 0x31415927, 0x00000000, r1, r2, r3, cv); 5277 TESTINST3("rors.w r1, r2, r3", 0x31415927, 0x00000001, r1, r2, r3, cv); 5278 TESTINST3("rors.w r1, r2, r3", 0x31415927, 0x00000002, r1, r2, r3, cv); 5279 TESTINST3("rors.w r1, r2, r3", 0x31415927, 0x0000000F, r1, r2, r3, cv); 5280 TESTINST3("rors.w r1, r2, r3", 0x31415927, 0x00000010, r1, r2, r3, cv); 5281 TESTINST3("rors.w r1, r2, r3", 0x31415927, 0x0000001F, r1, r2, r3, cv); 5282 TESTINST3("rors.w r1, r2, r3", 0x31415927, 0x00000020, r1, r2, r3, cv); 5283 TESTINST3("rors.w r1, r2, r3", 0x31415927, 0x00000021, r1, r2, r3, cv); 5284 TESTINST3("ror.w r1, r2, r3", 0x31415927, 0x00000000, r1, r2, r3, cv); 5285 TESTINST3("ror.w r1, r2, r3", 0x31415927, 0x00000001, r1, r2, r3, cv); 5286 TESTINST3("ror.w r1, r2, r3", 0x31415927, 0x00000002, r1, r2, r3, cv); 5287 TESTINST3("ror.w r1, r2, r3", 0x31415927, 0x0000000F, r1, r2, r3, cv); 5288 TESTINST3("ror.w r1, r2, r3", 0x31415927, 0x00000010, r1, r2, r3, cv); 5289 TESTINST3("ror.w r1, r2, r3", 0x31415927, 0x0000001F, r1, r2, r3, cv); 5290 TESTINST3("ror.w r1, r2, r3", 0x31415927, 0x00000020, r1, r2, r3, cv); 5291 TESTINST3("ror.w r1, r2, r3", 0x31415927, 0x00000021, r1, r2, r3, cv); 5292 TESTCARRYEND 5293 5294 printf("MVN{S}.W Rd, Rn, shift, and MOV{S}.W ditto\n"); 5295 TESTCARRY 5296 TESTINST2("lsls.w r1, r2, #0 ", 0x7fffffff, r1, r2, cv); 5297 TESTINST2("lsls.w r1, r2, #1 ", 0x7fffffff, r1, r2, cv); 5298 TESTINST2("lsls.w r1, r2, #15", 0x7fffffff, r1, r2, cv); 5299 TESTINST2("lsls.w r1, r2, #31", 0x7fffffff, r1, r2, cv); 5300 TESTINST2("lsrs.w r1, r2, #0 ", 0x7fffffff, r1, r2, cv); 5301 TESTINST2("lsrs.w r1, r2, #1 ", 0x7fffffff, r1, r2, cv); 5302 TESTINST2("lsrs.w r1, r2, #15", 0x7fffffff, r1, r2, cv); 5303 TESTINST2("lsrs.w r1, r2, #31", 0x7fffffff, r1, r2, cv); 5304 TESTINST2("asrs.w r1, r2, #0 ", 0x7fffffff, r1, r2, cv); 5305 TESTINST2("asrs.w r1, r2, #1 ", 0x7fffffff, r1, r2, cv); 5306 TESTINST2("asrs.w r1, r2, #15", 0x7fffffff, r1, r2, cv); 5307 TESTINST2("asrs.w r1, r2, #31", 0x7fffffff, r1, r2, cv); 5308 TESTINST2("rors.w r1, r2, #0 ", 0x7fffffff, r1, r2, cv); 5309 TESTINST2("rors.w r1, r2, #1 ", 0x7fffffff, r1, r2, cv); 5310 TESTINST2("rors.w r1, r2, #15", 0x7fffffff, r1, r2, cv); 5311 TESTINST2("rors.w r1, r2, #31", 0x7fffffff, r1, r2, cv); 5312 TESTINST2("lsl.w r1, r2, #0 ", 0x7fffffff, r1, r2, cv); 5313 TESTINST2("lsl.w r1, r2, #1 ", 0x7fffffff, r1, r2, cv); 5314 TESTINST2("lsl.w r1, r2, #15", 0x7fffffff, r1, r2, cv); 5315 TESTINST2("lsl.w r1, r2, #31", 0x7fffffff, r1, r2, cv); 5316 TESTINST2("lsr.w r1, r2, #0 ", 0x7fffffff, r1, r2, cv); 5317 TESTINST2("lsr.w r1, r2, #1 ", 0x7fffffff, r1, r2, cv); 5318 TESTINST2("lsr.w r1, r2, #15", 0x7fffffff, r1, r2, cv); 5319 TESTINST2("lsr.w r1, r2, #31", 0x7fffffff, r1, r2, cv); 5320 TESTINST2("asr.w r1, r2, #0 ", 0x7fffffff, r1, r2, cv); 5321 TESTINST2("asr.w r1, r2, #1 ", 0x7fffffff, r1, r2, cv); 5322 TESTINST2("asr.w r1, r2, #15", 0x7fffffff, r1, r2, cv); 5323 TESTINST2("asr.w r1, r2, #31", 0x7fffffff, r1, r2, cv); 5324 TESTINST2("ror.w r1, r2, #0 ", 0x7fffffff, r1, r2, cv); 5325 TESTINST2("ror.w r1, r2, #1 ", 0x7fffffff, r1, r2, cv); 5326 TESTINST2("ror.w r1, r2, #15", 0x7fffffff, r1, r2, cv); 5327 TESTINST2("ror.w r1, r2, #31", 0x7fffffff, r1, r2, cv); 5328 TESTINST2("mvns.w r1, r2, lsl #0 ", 0x7fffffff, r1, r2, cv); 5329 TESTINST2("mvns.w r1, r2, lsl #1 ", 0x7fffffff, r1, r2, cv); 5330 TESTINST2("mvns.w r1, r2, lsl #15", 0x7fffffff, r1, r2, cv); 5331 TESTINST2("mvns.w r1, r2, lsl #31", 0x7fffffff, r1, r2, cv); 5332 TESTINST2("mvns.w r1, r2, lsr #0 ", 0x7fffffff, r1, r2, cv); 5333 TESTINST2("mvns.w r1, r2, lsr #1 ", 0x7fffffff, r1, r2, cv); 5334 TESTINST2("mvns.w r1, r2, lsr #15", 0x7fffffff, r1, r2, cv); 5335 TESTINST2("mvns.w r1, r2, lsr #31", 0x7fffffff, r1, r2, cv); 5336 TESTINST2("mvns.w r1, r2, asr #0 ", 0x7fffffff, r1, r2, cv); 5337 TESTINST2("mvns.w r1, r2, asr #1 ", 0x7fffffff, r1, r2, cv); 5338 TESTINST2("mvns.w r1, r2, asr #15", 0x7fffffff, r1, r2, cv); 5339 TESTINST2("mvns.w r1, r2, asr #31", 0x7fffffff, r1, r2, cv); 5340 TESTINST2("mvns.w r1, r2, ror #0 ", 0x7fffffff, r1, r2, cv); 5341 TESTINST2("mvns.w r1, r2, ror #1 ", 0x7fffffff, r1, r2, cv); 5342 TESTINST2("mvns.w r1, r2, ror #15", 0x7fffffff, r1, r2, cv); 5343 TESTINST2("mvns.w r1, r2, ror #31", 0x7fffffff, r1, r2, cv); 5344 TESTINST2("mvn.w r1, r2, lsl #0 ", 0x7fffffff, r1, r2, cv); 5345 TESTINST2("mvn.w r1, r2, lsl #1 ", 0x7fffffff, r1, r2, cv); 5346 TESTINST2("mvn.w r1, r2, lsl #15", 0x7fffffff, r1, r2, cv); 5347 TESTINST2("mvn.w r1, r2, lsl #31", 0x7fffffff, r1, r2, cv); 5348 TESTINST2("mvn.w r1, r2, lsr #0 ", 0x7fffffff, r1, r2, cv); 5349 TESTINST2("mvn.w r1, r2, lsr #1 ", 0x7fffffff, r1, r2, cv); 5350 TESTINST2("mvn.w r1, r2, lsr #15", 0x7fffffff, r1, r2, cv); 5351 TESTINST2("mvn.w r1, r2, lsr #31", 0x7fffffff, r1, r2, cv); 5352 TESTINST2("mvn.w r1, r2, asr #0 ", 0x7fffffff, r1, r2, cv); 5353 TESTINST2("mvn.w r1, r2, asr #1 ", 0x7fffffff, r1, r2, cv); 5354 TESTINST2("mvn.w r1, r2, asr #15", 0x7fffffff, r1, r2, cv); 5355 TESTINST2("mvn.w r1, r2, asr #31", 0x7fffffff, r1, r2, cv); 5356 TESTINST2("mvn.w r1, r2, ror #0 ", 0x7fffffff, r1, r2, cv); 5357 TESTINST2("mvn.w r1, r2, ror #1 ", 0x7fffffff, r1, r2, cv); 5358 TESTINST2("mvn.w r1, r2, ror #15", 0x7fffffff, r1, r2, cv); 5359 TESTINST2("mvn.w r1, r2, ror #31", 0x7fffffff, r1, r2, cv); 5360 TESTINST2("lsls.w r1, r2, #0 ", 0x00000000, r1, r2, cv); 5361 TESTINST2("lsls.w r1, r2, #1 ", 0x00000000, r1, r2, cv); 5362 TESTINST2("lsls.w r1, r2, #15", 0x00000000, r1, r2, cv); 5363 TESTINST2("lsls.w r1, r2, #31", 0x00000000, r1, r2, cv); 5364 TESTINST2("lsrs.w r1, r2, #0 ", 0x00000000, r1, r2, cv); 5365 TESTINST2("lsrs.w r1, r2, #1 ", 0x00000000, r1, r2, cv); 5366 TESTINST2("lsrs.w r1, r2, #15", 0x00000000, r1, r2, cv); 5367 TESTINST2("lsrs.w r1, r2, #31", 0x00000000, r1, r2, cv); 5368 TESTINST2("asrs.w r1, r2, #0 ", 0x00000000, r1, r2, cv); 5369 TESTINST2("asrs.w r1, r2, #1 ", 0x00000000, r1, r2, cv); 5370 TESTINST2("asrs.w r1, r2, #15", 0x00000000, r1, r2, cv); 5371 TESTINST2("asrs.w r1, r2, #31", 0x00000000, r1, r2, cv); 5372 TESTINST2("rors.w r1, r2, #0 ", 0x00000000, r1, r2, cv); 5373 TESTINST2("rors.w r1, r2, #1 ", 0x00000000, r1, r2, cv); 5374 TESTINST2("rors.w r1, r2, #15", 0x00000000, r1, r2, cv); 5375 TESTINST2("rors.w r1, r2, #31", 0x00000000, r1, r2, cv); 5376 TESTINST2("lsl.w r1, r2, #0 ", 0x00000000, r1, r2, cv); 5377 TESTINST2("lsl.w r1, r2, #1 ", 0x00000000, r1, r2, cv); 5378 TESTINST2("lsl.w r1, r2, #15", 0x00000000, r1, r2, cv); 5379 TESTINST2("lsl.w r1, r2, #31", 0x00000000, r1, r2, cv); 5380 TESTINST2("lsr.w r1, r2, #0 ", 0x00000000, r1, r2, cv); 5381 TESTINST2("lsr.w r1, r2, #1 ", 0x00000000, r1, r2, cv); 5382 TESTINST2("lsr.w r1, r2, #15", 0x00000000, r1, r2, cv); 5383 TESTINST2("lsr.w r1, r2, #31", 0x00000000, r1, r2, cv); 5384 TESTINST2("asr.w r1, r2, #0 ", 0x00000000, r1, r2, cv); 5385 TESTINST2("asr.w r1, r2, #1 ", 0x00000000, r1, r2, cv); 5386 TESTINST2("asr.w r1, r2, #15", 0x00000000, r1, r2, cv); 5387 TESTINST2("asr.w r1, r2, #31", 0x00000000, r1, r2, cv); 5388 TESTINST2("ror.w r1, r2, #0 ", 0x00000000, r1, r2, cv); 5389 TESTINST2("ror.w r1, r2, #1 ", 0x00000000, r1, r2, cv); 5390 TESTINST2("ror.w r1, r2, #15", 0x00000000, r1, r2, cv); 5391 TESTINST2("ror.w r1, r2, #31", 0x00000000, r1, r2, cv); 5392 TESTINST2("mvns.w r1, r2, lsl #0 ", 0x00000000, r1, r2, cv); 5393 TESTINST2("mvns.w r1, r2, lsl #1 ", 0x00000000, r1, r2, cv); 5394 TESTINST2("mvns.w r1, r2, lsl #15", 0x00000000, r1, r2, cv); 5395 TESTINST2("mvns.w r1, r2, lsl #31", 0x00000000, r1, r2, cv); 5396 TESTINST2("mvns.w r1, r2, lsr #0 ", 0x00000000, r1, r2, cv); 5397 TESTINST2("mvns.w r1, r2, lsr #1 ", 0x00000000, r1, r2, cv); 5398 TESTINST2("mvns.w r1, r2, lsr #15", 0x00000000, r1, r2, cv); 5399 TESTINST2("mvns.w r1, r2, lsr #31", 0x00000000, r1, r2, cv); 5400 TESTINST2("mvns.w r1, r2, asr #0 ", 0x00000000, r1, r2, cv); 5401 TESTINST2("mvns.w r1, r2, asr #1 ", 0x00000000, r1, r2, cv); 5402 TESTINST2("mvns.w r1, r2, asr #15", 0x00000000, r1, r2, cv); 5403 TESTINST2("mvns.w r1, r2, asr #31", 0x00000000, r1, r2, cv); 5404 TESTINST2("mvns.w r1, r2, ror #0 ", 0x00000000, r1, r2, cv); 5405 TESTINST2("mvns.w r1, r2, ror #1 ", 0x00000000, r1, r2, cv); 5406 TESTINST2("mvns.w r1, r2, ror #15", 0x00000000, r1, r2, cv); 5407 TESTINST2("mvns.w r1, r2, ror #31", 0x00000000, r1, r2, cv); 5408 TESTINST2("mvn.w r1, r2, lsl #0 ", 0x00000000, r1, r2, cv); 5409 TESTINST2("mvn.w r1, r2, lsl #1 ", 0x00000000, r1, r2, cv); 5410 TESTINST2("mvn.w r1, r2, lsl #15", 0x00000000, r1, r2, cv); 5411 TESTINST2("mvn.w r1, r2, lsl #31", 0x00000000, r1, r2, cv); 5412 TESTINST2("mvn.w r1, r2, lsr #0 ", 0x00000000, r1, r2, cv); 5413 TESTINST2("mvn.w r1, r2, lsr #1 ", 0x00000000, r1, r2, cv); 5414 TESTINST2("mvn.w r1, r2, lsr #15", 0x00000000, r1, r2, cv); 5415 TESTINST2("mvn.w r1, r2, lsr #31", 0x00000000, r1, r2, cv); 5416 TESTINST2("mvn.w r1, r2, asr #0 ", 0x00000000, r1, r2, cv); 5417 TESTINST2("mvn.w r1, r2, asr #1 ", 0x00000000, r1, r2, cv); 5418 TESTINST2("mvn.w r1, r2, asr #15", 0x00000000, r1, r2, cv); 5419 TESTINST2("mvn.w r1, r2, asr #31", 0x00000000, r1, r2, cv); 5420 TESTINST2("mvn.w r1, r2, ror #0 ", 0x00000000, r1, r2, cv); 5421 TESTINST2("mvn.w r1, r2, ror #1 ", 0x00000000, r1, r2, cv); 5422 TESTINST2("mvn.w r1, r2, ror #15", 0x00000000, r1, r2, cv); 5423 TESTINST2("mvn.w r1, r2, ror #31", 0x00000000, r1, r2, cv); 5424 TESTINST2("lsls.w r1, r2, #0 ", 0x00000001, r1, r2, cv); 5425 TESTINST2("lsls.w r1, r2, #1 ", 0x00000001, r1, r2, cv); 5426 TESTINST2("lsls.w r1, r2, #15", 0x00000001, r1, r2, cv); 5427 TESTINST2("lsls.w r1, r2, #31", 0x00000001, r1, r2, cv); 5428 TESTINST2("lsrs.w r1, r2, #0 ", 0x00000001, r1, r2, cv); 5429 TESTINST2("lsrs.w r1, r2, #1 ", 0x00000001, r1, r2, cv); 5430 TESTINST2("lsrs.w r1, r2, #15", 0x00000001, r1, r2, cv); 5431 TESTINST2("lsrs.w r1, r2, #31", 0x00000001, r1, r2, cv); 5432 TESTINST2("asrs.w r1, r2, #0 ", 0x00000001, r1, r2, cv); 5433 TESTINST2("asrs.w r1, r2, #1 ", 0x00000001, r1, r2, cv); 5434 TESTINST2("asrs.w r1, r2, #15", 0x00000001, r1, r2, cv); 5435 TESTINST2("asrs.w r1, r2, #31", 0x00000001, r1, r2, cv); 5436 TESTINST2("rors.w r1, r2, #0 ", 0x00000001, r1, r2, cv); 5437 TESTINST2("rors.w r1, r2, #1 ", 0x00000001, r1, r2, cv); 5438 TESTINST2("rors.w r1, r2, #15", 0x00000001, r1, r2, cv); 5439 TESTINST2("rors.w r1, r2, #31", 0x00000001, r1, r2, cv); 5440 TESTINST2("lsl.w r1, r2, #0 ", 0x00000001, r1, r2, cv); 5441 TESTINST2("lsl.w r1, r2, #1 ", 0x00000001, r1, r2, cv); 5442 TESTINST2("lsl.w r1, r2, #15", 0x00000001, r1, r2, cv); 5443 TESTINST2("lsl.w r1, r2, #31", 0x00000001, r1, r2, cv); 5444 TESTINST2("lsr.w r1, r2, #0 ", 0x00000001, r1, r2, cv); 5445 TESTINST2("lsr.w r1, r2, #1 ", 0x00000001, r1, r2, cv); 5446 TESTINST2("lsr.w r1, r2, #15", 0x00000001, r1, r2, cv); 5447 TESTINST2("lsr.w r1, r2, #31", 0x00000001, r1, r2, cv); 5448 TESTINST2("asr.w r1, r2, #0 ", 0x00000001, r1, r2, cv); 5449 TESTINST2("asr.w r1, r2, #1 ", 0x00000001, r1, r2, cv); 5450 TESTINST2("asr.w r1, r2, #15", 0x00000001, r1, r2, cv); 5451 TESTINST2("asr.w r1, r2, #31", 0x00000001, r1, r2, cv); 5452 TESTINST2("ror.w r1, r2, #0 ", 0x00000001, r1, r2, cv); 5453 TESTINST2("ror.w r1, r2, #1 ", 0x00000001, r1, r2, cv); 5454 TESTINST2("ror.w r1, r2, #15", 0x00000001, r1, r2, cv); 5455 TESTINST2("ror.w r1, r2, #31", 0x00000001, r1, r2, cv); 5456 TESTINST2("mvns.w r1, r2, lsl #0 ", 0x00000001, r1, r2, cv); 5457 TESTINST2("mvns.w r1, r2, lsl #1 ", 0x00000001, r1, r2, cv); 5458 TESTINST2("mvns.w r1, r2, lsl #15", 0x00000001, r1, r2, cv); 5459 TESTINST2("mvns.w r1, r2, lsl #31", 0x00000001, r1, r2, cv); 5460 TESTINST2("mvns.w r1, r2, lsr #0 ", 0x00000001, r1, r2, cv); 5461 TESTINST2("mvns.w r1, r2, lsr #1 ", 0x00000001, r1, r2, cv); 5462 TESTINST2("mvns.w r1, r2, lsr #15", 0x00000001, r1, r2, cv); 5463 TESTINST2("mvns.w r1, r2, lsr #31", 0x00000001, r1, r2, cv); 5464 TESTINST2("mvns.w r1, r2, asr #0 ", 0x00000001, r1, r2, cv); 5465 TESTINST2("mvns.w r1, r2, asr #1 ", 0x00000001, r1, r2, cv); 5466 TESTINST2("mvns.w r1, r2, asr #15", 0x00000001, r1, r2, cv); 5467 TESTINST2("mvns.w r1, r2, asr #31", 0x00000001, r1, r2, cv); 5468 TESTINST2("mvns.w r1, r2, ror #0 ", 0x00000001, r1, r2, cv); 5469 TESTINST2("mvns.w r1, r2, ror #1 ", 0x00000001, r1, r2, cv); 5470 TESTINST2("mvns.w r1, r2, ror #15", 0x00000001, r1, r2, cv); 5471 TESTINST2("mvns.w r1, r2, ror #31", 0x00000001, r1, r2, cv); 5472 TESTINST2("mvn.w r1, r2, lsl #0 ", 0x00000001, r1, r2, cv); 5473 TESTINST2("mvn.w r1, r2, lsl #1 ", 0x00000001, r1, r2, cv); 5474 TESTINST2("mvn.w r1, r2, lsl #15", 0x00000001, r1, r2, cv); 5475 TESTINST2("mvn.w r1, r2, lsl #31", 0x00000001, r1, r2, cv); 5476 TESTINST2("mvn.w r1, r2, lsr #0 ", 0x00000001, r1, r2, cv); 5477 TESTINST2("mvn.w r1, r2, lsr #1 ", 0x00000001, r1, r2, cv); 5478 TESTINST2("mvn.w r1, r2, lsr #15", 0x00000001, r1, r2, cv); 5479 TESTINST2("mvn.w r1, r2, lsr #31", 0x00000001, r1, r2, cv); 5480 TESTINST2("mvn.w r1, r2, asr #0 ", 0x00000001, r1, r2, cv); 5481 TESTINST2("mvn.w r1, r2, asr #1 ", 0x00000001, r1, r2, cv); 5482 TESTINST2("mvn.w r1, r2, asr #15", 0x00000001, r1, r2, cv); 5483 TESTINST2("mvn.w r1, r2, asr #31", 0x00000001, r1, r2, cv); 5484 TESTINST2("mvn.w r1, r2, ror #0 ", 0x00000001, r1, r2, cv); 5485 TESTINST2("mvn.w r1, r2, ror #1 ", 0x00000001, r1, r2, cv); 5486 TESTINST2("mvn.w r1, r2, ror #15", 0x00000001, r1, r2, cv); 5487 TESTINST2("mvn.w r1, r2, ror #31", 0x00000001, r1, r2, cv); 5488 TESTINST2("lsls.w r1, r2, #0 ", 0x9218abcd, r1, r2, cv); 5489 TESTINST2("lsls.w r1, r2, #1 ", 0x9218abcd, r1, r2, cv); 5490 TESTINST2("lsls.w r1, r2, #15", 0x9218abcd, r1, r2, cv); 5491 TESTINST2("lsls.w r1, r2, #31", 0x9218abcd, r1, r2, cv); 5492 TESTINST2("lsrs.w r1, r2, #0 ", 0x9218abcd, r1, r2, cv); 5493 TESTINST2("lsrs.w r1, r2, #1 ", 0x9218abcd, r1, r2, cv); 5494 TESTINST2("lsrs.w r1, r2, #15", 0x9218abcd, r1, r2, cv); 5495 TESTINST2("lsrs.w r1, r2, #31", 0x9218abcd, r1, r2, cv); 5496 TESTINST2("asrs.w r1, r2, #0 ", 0x9218abcd, r1, r2, cv); 5497 TESTINST2("asrs.w r1, r2, #1 ", 0x9218abcd, r1, r2, cv); 5498 TESTINST2("asrs.w r1, r2, #15", 0x9218abcd, r1, r2, cv); 5499 TESTINST2("asrs.w r1, r2, #31", 0x9218abcd, r1, r2, cv); 5500 TESTINST2("rors.w r1, r2, #0 ", 0x9218abcd, r1, r2, cv); 5501 TESTINST2("rors.w r1, r2, #1 ", 0x9218abcd, r1, r2, cv); 5502 TESTINST2("rors.w r1, r2, #15", 0x9218abcd, r1, r2, cv); 5503 TESTINST2("rors.w r1, r2, #31", 0x9218abcd, r1, r2, cv); 5504 TESTINST2("lsl.w r1, r2, #0 ", 0x9218abcd, r1, r2, cv); 5505 TESTINST2("lsl.w r1, r2, #1 ", 0x9218abcd, r1, r2, cv); 5506 TESTINST2("lsl.w r1, r2, #15", 0x9218abcd, r1, r2, cv); 5507 TESTINST2("lsl.w r1, r2, #31", 0x9218abcd, r1, r2, cv); 5508 TESTINST2("lsr.w r1, r2, #0 ", 0x9218abcd, r1, r2, cv); 5509 TESTINST2("lsr.w r1, r2, #1 ", 0x9218abcd, r1, r2, cv); 5510 TESTINST2("lsr.w r1, r2, #15", 0x9218abcd, r1, r2, cv); 5511 TESTINST2("lsr.w r1, r2, #31", 0x9218abcd, r1, r2, cv); 5512 TESTINST2("asr.w r1, r2, #0 ", 0x9218abcd, r1, r2, cv); 5513 TESTINST2("asr.w r1, r2, #1 ", 0x9218abcd, r1, r2, cv); 5514 TESTINST2("asr.w r1, r2, #15", 0x9218abcd, r1, r2, cv); 5515 TESTINST2("asr.w r1, r2, #31", 0x9218abcd, r1, r2, cv); 5516 TESTINST2("ror.w r1, r2, #0 ", 0x9218abcd, r1, r2, cv); 5517 TESTINST2("ror.w r1, r2, #1 ", 0x9218abcd, r1, r2, cv); 5518 TESTINST2("ror.w r1, r2, #15", 0x9218abcd, r1, r2, cv); 5519 TESTINST2("ror.w r1, r2, #31", 0x9218abcd, r1, r2, cv); 5520 TESTINST2("mvns.w r1, r2, lsl #0 ", 0x9218abcd, r1, r2, cv); 5521 TESTINST2("mvns.w r1, r2, lsl #1 ", 0x9218abcd, r1, r2, cv); 5522 TESTINST2("mvns.w r1, r2, lsl #15", 0x9218abcd, r1, r2, cv); 5523 TESTINST2("mvns.w r1, r2, lsl #31", 0x9218abcd, r1, r2, cv); 5524 TESTINST2("mvns.w r1, r2, lsr #0 ", 0x9218abcd, r1, r2, cv); 5525 TESTINST2("mvns.w r1, r2, lsr #1 ", 0x9218abcd, r1, r2, cv); 5526 TESTINST2("mvns.w r1, r2, lsr #15", 0x9218abcd, r1, r2, cv); 5527 TESTINST2("mvns.w r1, r2, lsr #31", 0x9218abcd, r1, r2, cv); 5528 TESTINST2("mvns.w r1, r2, asr #0 ", 0x9218abcd, r1, r2, cv); 5529 TESTINST2("mvns.w r1, r2, asr #1 ", 0x9218abcd, r1, r2, cv); 5530 TESTINST2("mvns.w r1, r2, asr #15", 0x9218abcd, r1, r2, cv); 5531 TESTINST2("mvns.w r1, r2, asr #31", 0x9218abcd, r1, r2, cv); 5532 TESTINST2("mvns.w r1, r2, ror #0 ", 0x9218abcd, r1, r2, cv); 5533 TESTINST2("mvns.w r1, r2, ror #1 ", 0x9218abcd, r1, r2, cv); 5534 TESTINST2("mvns.w r1, r2, ror #15", 0x9218abcd, r1, r2, cv); 5535 TESTINST2("mvns.w r1, r2, ror #31", 0x9218abcd, r1, r2, cv); 5536 TESTINST2("mvn.w r1, r2, lsl #0 ", 0x9218abcd, r1, r2, cv); 5537 TESTINST2("mvn.w r1, r2, lsl #1 ", 0x9218abcd, r1, r2, cv); 5538 TESTINST2("mvn.w r1, r2, lsl #15", 0x9218abcd, r1, r2, cv); 5539 TESTINST2("mvn.w r1, r2, lsl #31", 0x9218abcd, r1, r2, cv); 5540 TESTINST2("mvn.w r1, r2, lsr #0 ", 0x9218abcd, r1, r2, cv); 5541 TESTINST2("mvn.w r1, r2, lsr #1 ", 0x9218abcd, r1, r2, cv); 5542 TESTINST2("mvn.w r1, r2, lsr #15", 0x9218abcd, r1, r2, cv); 5543 TESTINST2("mvn.w r1, r2, lsr #31", 0x9218abcd, r1, r2, cv); 5544 TESTINST2("mvn.w r1, r2, asr #0 ", 0x9218abcd, r1, r2, cv); 5545 TESTINST2("mvn.w r1, r2, asr #1 ", 0x9218abcd, r1, r2, cv); 5546 TESTINST2("mvn.w r1, r2, asr #15", 0x9218abcd, r1, r2, cv); 5547 TESTINST2("mvn.w r1, r2, asr #31", 0x9218abcd, r1, r2, cv); 5548 TESTINST2("mvn.w r1, r2, ror #0 ", 0x9218abcd, r1, r2, cv); 5549 TESTINST2("mvn.w r1, r2, ror #1 ", 0x9218abcd, r1, r2, cv); 5550 TESTINST2("mvn.w r1, r2, ror #15", 0x9218abcd, r1, r2, cv); 5551 TESTINST2("mvn.w r1, r2, ror #31", 0x9218abcd, r1, r2, cv); 5552 TESTINST2("lsls.w r1, r2, #0 ", 0xffffffff, r1, r2, cv); 5553 TESTINST2("lsls.w r1, r2, #1 ", 0xffffffff, r1, r2, cv); 5554 TESTINST2("lsls.w r1, r2, #15", 0xffffffff, r1, r2, cv); 5555 TESTINST2("lsls.w r1, r2, #31", 0xffffffff, r1, r2, cv); 5556 TESTINST2("lsrs.w r1, r2, #0 ", 0xffffffff, r1, r2, cv); 5557 TESTINST2("lsrs.w r1, r2, #1 ", 0xffffffff, r1, r2, cv); 5558 TESTINST2("lsrs.w r1, r2, #15", 0xffffffff, r1, r2, cv); 5559 TESTINST2("lsrs.w r1, r2, #31", 0xffffffff, r1, r2, cv); 5560 TESTINST2("asrs.w r1, r2, #0 ", 0xffffffff, r1, r2, cv); 5561 TESTINST2("asrs.w r1, r2, #1 ", 0xffffffff, r1, r2, cv); 5562 TESTINST2("asrs.w r1, r2, #15", 0xffffffff, r1, r2, cv); 5563 TESTINST2("asrs.w r1, r2, #31", 0xffffffff, r1, r2, cv); 5564 TESTINST2("rors.w r1, r2, #0 ", 0xffffffff, r1, r2, cv); 5565 TESTINST2("rors.w r1, r2, #1 ", 0xffffffff, r1, r2, cv); 5566 TESTINST2("rors.w r1, r2, #15", 0xffffffff, r1, r2, cv); 5567 TESTINST2("rors.w r1, r2, #31", 0xffffffff, r1, r2, cv); 5568 TESTINST2("lsl.w r1, r2, #0 ", 0xffffffff, r1, r2, cv); 5569 TESTINST2("lsl.w r1, r2, #1 ", 0xffffffff, r1, r2, cv); 5570 TESTINST2("lsl.w r1, r2, #15", 0xffffffff, r1, r2, cv); 5571 TESTINST2("lsl.w r1, r2, #31", 0xffffffff, r1, r2, cv); 5572 TESTINST2("lsr.w r1, r2, #0 ", 0xffffffff, r1, r2, cv); 5573 TESTINST2("lsr.w r1, r2, #1 ", 0xffffffff, r1, r2, cv); 5574 TESTINST2("lsr.w r1, r2, #15", 0xffffffff, r1, r2, cv); 5575 TESTINST2("lsr.w r1, r2, #31", 0xffffffff, r1, r2, cv); 5576 TESTINST2("asr.w r1, r2, #0 ", 0xffffffff, r1, r2, cv); 5577 TESTINST2("asr.w r1, r2, #1 ", 0xffffffff, r1, r2, cv); 5578 TESTINST2("asr.w r1, r2, #15", 0xffffffff, r1, r2, cv); 5579 TESTINST2("asr.w r1, r2, #31", 0xffffffff, r1, r2, cv); 5580 TESTINST2("ror.w r1, r2, #0 ", 0xffffffff, r1, r2, cv); 5581 TESTINST2("ror.w r1, r2, #1 ", 0xffffffff, r1, r2, cv); 5582 TESTINST2("ror.w r1, r2, #15", 0xffffffff, r1, r2, cv); 5583 TESTINST2("ror.w r1, r2, #31", 0xffffffff, r1, r2, cv); 5584 TESTINST2("mvns.w r1, r2, lsl #0 ", 0xffffffff, r1, r2, cv); 5585 TESTINST2("mvns.w r1, r2, lsl #1 ", 0xffffffff, r1, r2, cv); 5586 TESTINST2("mvns.w r1, r2, lsl #15", 0xffffffff, r1, r2, cv); 5587 TESTINST2("mvns.w r1, r2, lsl #31", 0xffffffff, r1, r2, cv); 5588 TESTINST2("mvns.w r1, r2, lsr #0 ", 0xffffffff, r1, r2, cv); 5589 TESTINST2("mvns.w r1, r2, lsr #1 ", 0xffffffff, r1, r2, cv); 5590 TESTINST2("mvns.w r1, r2, lsr #15", 0xffffffff, r1, r2, cv); 5591 TESTINST2("mvns.w r1, r2, lsr #31", 0xffffffff, r1, r2, cv); 5592 TESTINST2("mvns.w r1, r2, asr #0 ", 0xffffffff, r1, r2, cv); 5593 TESTINST2("mvns.w r1, r2, asr #1 ", 0xffffffff, r1, r2, cv); 5594 TESTINST2("mvns.w r1, r2, asr #15", 0xffffffff, r1, r2, cv); 5595 TESTINST2("mvns.w r1, r2, asr #31", 0xffffffff, r1, r2, cv); 5596 TESTINST2("mvns.w r1, r2, ror #0 ", 0xffffffff, r1, r2, cv); 5597 TESTINST2("mvns.w r1, r2, ror #1 ", 0xffffffff, r1, r2, cv); 5598 TESTINST2("mvns.w r1, r2, ror #15", 0xffffffff, r1, r2, cv); 5599 TESTINST2("mvns.w r1, r2, ror #31", 0xffffffff, r1, r2, cv); 5600 TESTINST2("mvn.w r1, r2, lsl #0 ", 0xffffffff, r1, r2, cv); 5601 TESTINST2("mvn.w r1, r2, lsl #1 ", 0xffffffff, r1, r2, cv); 5602 TESTINST2("mvn.w r1, r2, lsl #15", 0xffffffff, r1, r2, cv); 5603 TESTINST2("mvn.w r1, r2, lsl #31", 0xffffffff, r1, r2, cv); 5604 TESTINST2("mvn.w r1, r2, lsr #0 ", 0xffffffff, r1, r2, cv); 5605 TESTINST2("mvn.w r1, r2, lsr #1 ", 0xffffffff, r1, r2, cv); 5606 TESTINST2("mvn.w r1, r2, lsr #15", 0xffffffff, r1, r2, cv); 5607 TESTINST2("mvn.w r1, r2, lsr #31", 0xffffffff, r1, r2, cv); 5608 TESTINST2("mvn.w r1, r2, asr #0 ", 0xffffffff, r1, r2, cv); 5609 TESTINST2("mvn.w r1, r2, asr #1 ", 0xffffffff, r1, r2, cv); 5610 TESTINST2("mvn.w r1, r2, asr #15", 0xffffffff, r1, r2, cv); 5611 TESTINST2("mvn.w r1, r2, asr #31", 0xffffffff, r1, r2, cv); 5612 TESTINST2("mvn.w r1, r2, ror #0 ", 0xffffffff, r1, r2, cv); 5613 TESTINST2("mvn.w r1, r2, ror #1 ", 0xffffffff, r1, r2, cv); 5614 TESTINST2("mvn.w r1, r2, ror #15", 0xffffffff, r1, r2, cv); 5615 TESTINST2("mvn.w r1, r2, ror #31", 0xffffffff, r1, r2, cv); 5616 TESTCARRYEND 5617 5618 printf("(T?) TST.W Rn, Rm, {shift}\n"); 5619 TESTCARRY 5620 TESTINST2x("tst.w r1, r2, lsl #1", 0x11223344, 0x99887766, r1, r2, cv); 5621 TESTINST2x("tst.w r1, r2, lsr #1", 0x11223344, 0x99887766, r1, r2, cv); 5622 TESTINST2x("tst.w r1, r2, asr #1", 0x11223344, 0x99887766, r1, r2, cv); 5623 TESTINST2x("tst.w r1, r2, ror #1", 0x11223344, 0x99887766, r1, r2, cv); 5624 TESTINST2x("tst.w r1, r2, lsl #1", 0x11223344, 0x00000000, r1, r2, cv); 5625 TESTINST2x("tst.w r1, r2, lsr #1", 0x11223344, 0x00000000, r1, r2, cv); 5626 TESTINST2x("tst.w r1, r2, asr #1", 0x11223344, 0x00000000, r1, r2, cv); 5627 TESTINST2x("tst.w r1, r2, ror #1", 0x11223344, 0x00000000, r1, r2, cv); 5628 TESTINST2x("tst.w r1, r2, lsl #1", 0x91223344, 0x40000000, r1, r2, cv); 5629 TESTINST2x("tst.w r1, r2, lsr #1", 0x91223344, 0x40000000, r1, r2, cv); 5630 TESTINST2x("tst.w r1, r2, asr #1", 0x91223344, 0x80000000, r1, r2, cv); 5631 TESTINST2x("tst.w r1, r2, ror #1", 0x91223344, 0x00000001, r1, r2, cv); 5632 TESTCARRYEND 5633 5634 printf("(T?) TEQ.W Rn, Rm, {shift}\n"); 5635 TESTCARRY 5636 TESTINST2x("teq.w r1, r2, lsl #1", 0x11223344, 0x99887766, r1, r2, cv); 5637 TESTINST2x("teq.w r1, r2, lsr #1", 0x11223344, 0x99887766, r1, r2, cv); 5638 TESTINST2x("teq.w r1, r2, asr #1", 0x11223344, 0x99887766, r1, r2, cv); 5639 TESTINST2x("teq.w r1, r2, ror #1", 0x11223344, 0x99887766, r1, r2, cv); 5640 TESTINST2x("teq.w r1, r2, lsl #1", 0x11223344, 0x00000000, r1, r2, cv); 5641 TESTINST2x("teq.w r1, r2, lsr #1", 0x11223344, 0x00000000, r1, r2, cv); 5642 TESTINST2x("teq.w r1, r2, asr #1", 0x11223344, 0x00000000, r1, r2, cv); 5643 TESTINST2x("teq.w r1, r2, ror #1", 0x11223344, 0x00000000, r1, r2, cv); 5644 TESTINST2x("teq.w r1, r2, lsl #1", 0x91223344, 0x40000000, r1, r2, cv); 5645 TESTINST2x("teq.w r1, r2, lsr #1", 0x91223344, 0x40000000, r1, r2, cv); 5646 TESTINST2x("teq.w r1, r2, asr #1", 0x91223344, 0x80000000, r1, r2, cv); 5647 TESTINST2x("teq.w r1, r2, ror #1", 0x91223344, 0x00000001, r1, r2, cv); 5648 TESTCARRYEND 5649 5650 printf("(T?) CMP.W Rn, Rm, {shift}\n"); 5651 TESTCARRY 5652 TESTINST2x("cmp.w r1, r2, lsl #1", 0x11223344, 0x99887766, r1, r2, cv); 5653 TESTINST2x("cmp.w r1, r2, lsr #1", 0x11223344, 0x99887766, r1, r2, cv); 5654 TESTINST2x("cmp.w r1, r2, asr #1", 0x11223344, 0x99887766, r1, r2, cv); 5655 TESTINST2x("cmp.w r1, r2, ror #1", 0x11223344, 0x99887766, r1, r2, cv); 5656 TESTINST2x("cmp.w r1, r2, lsl #1", 0x11223344, 0x00000000, r1, r2, cv); 5657 TESTINST2x("cmp.w r1, r2, lsr #1", 0x11223344, 0x00000000, r1, r2, cv); 5658 TESTINST2x("cmp.w r1, r2, asr #1", 0x11223344, 0x00000000, r1, r2, cv); 5659 TESTINST2x("cmp.w r1, r2, ror #1", 0x11223344, 0x00000000, r1, r2, cv); 5660 TESTINST2x("cmp.w r1, r2, lsl #1", 0x91223344, 0x40000000, r1, r2, cv); 5661 TESTINST2x("cmp.w r1, r2, lsr #1", 0x91223344, 0x40000000, r1, r2, cv); 5662 TESTINST2x("cmp.w r1, r2, asr #1", 0x91223344, 0x80000000, r1, r2, cv); 5663 TESTINST2x("cmp.w r1, r2, ror #1", 0x91223344, 0x00000001, r1, r2, cv); 5664 TESTINST2x("cmp.w r1, r2, lsr #2", 0x15555555, 0x55555555, r1, r2, cv); 5665 TESTINST2x("cmp.w r1, r2, ror #1", 0x55555555, 0xaaaaaaaa, r1, r2, cv); 5666 TESTCARRYEND 5667 5668 printf("(T?) CMN.W Rn, Rm, {shift}\n"); 5669 TESTCARRY 5670 TESTINST2x("cmn.w r1, r2, lsl #1", 0x11223344, 0x99887766, r1, r2, cv); 5671 TESTINST2x("cmn.w r1, r2, lsr #1", 0x11223344, 0x99887766, r1, r2, cv); 5672 TESTINST2x("cmn.w r1, r2, asr #1", 0x11223344, 0x99887766, r1, r2, cv); 5673 TESTINST2x("cmn.w r1, r2, ror #1", 0x11223344, 0x99887766, r1, r2, cv); 5674 TESTINST2x("cmn.w r1, r2, lsl #1", 0x11223344, 0x00000000, r1, r2, cv); 5675 TESTINST2x("cmn.w r1, r2, lsr #1", 0x11223344, 0x00000000, r1, r2, cv); 5676 TESTINST2x("cmn.w r1, r2, asr #1", 0x11223344, 0x00000000, r1, r2, cv); 5677 TESTINST2x("cmn.w r1, r2, ror #1", 0x11223344, 0x00000000, r1, r2, cv); 5678 TESTINST2x("cmn.w r1, r2, lsl #1", 0x91223344, 0x40000000, r1, r2, cv); 5679 TESTINST2x("cmn.w r1, r2, lsr #1", 0x91223344, 0x40000000, r1, r2, cv); 5680 TESTINST2x("cmn.w r1, r2, asr #1", 0x91223344, 0x80000000, r1, r2, cv); 5681 TESTINST2x("cmn.w r1, r2, ror #1", 0x91223344, 0x00000001, r1, r2, cv); 5682 TESTINST2x("cmn.w r1, r2, lsr #2", 0x15555555, 0x55555555, r1, r2, cv); 5683 TESTINST2x("cmn.w r1, r2, ror #1", 0x55555555, 0xaaaaaaaa, r1, r2, cv); 5684 TESTCARRYEND 5685 5686 printf("(T2) MOV{S}.W Rd, #constT\n"); 5687 TESTCARRY 5688 TESTINST1("movs.w r9, 0x00000000", r9, cv); 5689 TESTINST1("movs.w r9, 0x000000FF", r9, cv); 5690 TESTINST1("movs.w r9, 0x0000007F", r9, cv); 5691 TESTINST1("movs.w r9, 0x00FF00FF", r9, cv); 5692 TESTINST1("movs.w r9, 0x007F007F", r9, cv); 5693 TESTINST1("movs.w r9, 0x43434343", r9, cv); 5694 TESTINST1("movs.w r9, 0x93939393", r9, cv); 5695 TESTINST1("movs.w r9, 0x93000000", r9, cv); 5696 TESTINST1("movs.w r9, 0x43000000", r9, cv); 5697 TESTINST1("movs.w r9, 0x09300000", r9, cv); 5698 TESTINST1("movs.w r9, 0x04300000", r9, cv); 5699 TESTINST1("movs.w r9, 0x00930000", r9, cv); 5700 TESTINST1("movs.w r9, 0x00430000", r9, cv); 5701 TESTINST1("movs.w r9, 0x00000930", r9, cv); 5702 TESTINST1("movs.w r9, 0x00000430", r9, cv); 5703 TESTINST1("movs.w r9, 0x00000093", r9, cv); 5704 TESTINST1("movs.w r9, 0x00000043", r9, cv); 5705 TESTINST1("mov.w r9, 0x00000000", r9, cv); 5706 TESTINST1("mov.w r9, 0x000000FF", r9, cv); 5707 TESTINST1("mov.w r9, 0x0000007F", r9, cv); 5708 TESTINST1("mov.w r9, 0x00FF00FF", r9, cv); 5709 TESTINST1("mov.w r9, 0x007F007F", r9, cv); 5710 TESTINST1("mov.w r9, 0x43434343", r9, cv); 5711 TESTINST1("mov.w r9, 0x93939393", r9, cv); 5712 TESTINST1("mov.w r9, 0x93000000", r9, cv); 5713 TESTINST1("mov.w r9, 0x43000000", r9, cv); 5714 TESTINST1("mov.w r9, 0x09300000", r9, cv); 5715 TESTINST1("mov.w r9, 0x04300000", r9, cv); 5716 TESTINST1("mov.w r9, 0x00930000", r9, cv); 5717 TESTINST1("mov.w r9, 0x00430000", r9, cv); 5718 TESTINST1("mov.w r9, 0x00000930", r9, cv); 5719 TESTINST1("mov.w r9, 0x00000430", r9, cv); 5720 TESTINST1("mov.w r9, 0x00000093", r9, cv); 5721 TESTINST1("mov.w r9, 0x00000043", r9, cv); 5722 TESTCARRYEND 5723 5724 printf("(T2) MVN{S}.W Rd, #constT\n"); 5725 TESTCARRY 5726 TESTINST1("mvns.w r9, 0x00000000", r9, cv); 5727 TESTINST1("mvns.w r9, 0x000000FF", r9, cv); 5728 TESTINST1("mvns.w r9, 0x0000007F", r9, cv); 5729 TESTINST1("mvns.w r9, 0x00FF00FF", r9, cv); 5730 TESTINST1("mvns.w r9, 0x007F007F", r9, cv); 5731 TESTINST1("mvns.w r9, 0x43434343", r9, cv); 5732 TESTINST1("mvns.w r9, 0x93939393", r9, cv); 5733 TESTINST1("mvns.w r9, 0x93000000", r9, cv); 5734 TESTINST1("mvns.w r9, 0x43000000", r9, cv); 5735 TESTINST1("mvns.w r9, 0x09300000", r9, cv); 5736 TESTINST1("mvns.w r9, 0x04300000", r9, cv); 5737 TESTINST1("mvns.w r9, 0x00930000", r9, cv); 5738 TESTINST1("mvns.w r9, 0x00430000", r9, cv); 5739 TESTINST1("mvns.w r9, 0x00000930", r9, cv); 5740 TESTINST1("mvns.w r9, 0x00000430", r9, cv); 5741 TESTINST1("mvns.w r9, 0x00000093", r9, cv); 5742 TESTINST1("mvns.w r9, 0x00000043", r9, cv); 5743 TESTINST1("mvn.w r9, 0x00000000", r9, cv); 5744 TESTINST1("mvn.w r9, 0x000000FF", r9, cv); 5745 TESTINST1("mvn.w r9, 0x0000007F", r9, cv); 5746 TESTINST1("mvn.w r9, 0x00FF00FF", r9, cv); 5747 TESTINST1("mvn.w r9, 0x007F007F", r9, cv); 5748 TESTINST1("mvn.w r9, 0x43434343", r9, cv); 5749 TESTINST1("mvn.w r9, 0x93939393", r9, cv); 5750 TESTINST1("mvn.w r9, 0x93000000", r9, cv); 5751 TESTINST1("mvn.w r9, 0x43000000", r9, cv); 5752 TESTINST1("mvn.w r9, 0x09300000", r9, cv); 5753 TESTINST1("mvn.w r9, 0x04300000", r9, cv); 5754 TESTINST1("mvn.w r9, 0x00930000", r9, cv); 5755 TESTINST1("mvn.w r9, 0x00430000", r9, cv); 5756 TESTINST1("mvn.w r9, 0x00000930", r9, cv); 5757 TESTINST1("mvn.w r9, 0x00000430", r9, cv); 5758 TESTINST1("mvn.w r9, 0x00000093", r9, cv); 5759 TESTINST1("mvn.w r9, 0x00000043", r9, cv); 5760 TESTCARRYEND 5761 5762 printf("(T1) RBIT Rd, Rm\n"); 5763 TESTINST2("rbit r0, r1", 0x00000000, r0, r1, 0); 5764 TESTINST2("rbit r0, r1", 0xFFFFFFFF, r0, r1, 0); 5765 TESTINST2("rbit r0, r1", 0x80000000, r0, r1, 0); 5766 TESTINST2("rbit r0, r1", 0x00000001, r0, r1, 0); 5767 TESTINST2("rbit r0, r1", 0x31415927, r0, r1, 0); 5768 TESTINST2("rbit r0, r1", 0x14141562, r0, r1, 0); 5769 TESTINST2("rbit r0, r1", 0xabe8391f, r0, r1, 0); 5770 TESTINST2("rbit r0, r1", 0x9028aa80, r0, r1, 0); 5771 TESTINST2("rbit r0, r1", 0xead1fc6d, r0, r1, 0); 5772 TESTINST2("rbit r0, r1", 0x35c98c55, r0, r1, 0); 5773 TESTINST2("rbit r0, r1", 0x534af1eb, r0, r1, 0); 5774 TESTINST2("rbit r0, r1", 0x45511b08, r0, r1, 0); 5775 TESTINST2("rbit r0, r1", 0x90077f71, r0, r1, 0); 5776 TESTINST2("rbit r0, r1", 0xde8ca84b, r0, r1, 0); 5777 TESTINST2("rbit r0, r1", 0xe37a0dda, r0, r1, 0); 5778 TESTINST2("rbit r0, r1", 0xe5b83d4b, r0, r1, 0); 5779 TESTINST2("rbit r0, r1", 0xbb6d14ec, r0, r1, 0); 5780 TESTINST2("rbit r0, r1", 0x68983cc9, r0, r1, 0); 5781 5782 printf("(T1) REV Rd, Rm ------------\n"); 5783 TESTINST2("rev r0, r1", 0x00000000, r0, r1, 0); 5784 TESTINST2("rev r0, r1", 0xFFFFFFFF, r0, r1, 0); 5785 TESTINST2("rev r0, r1", 0x80000000, r0, r1, 0); 5786 TESTINST2("rev r0, r1", 0x00000001, r0, r1, 0); 5787 TESTINST2("rev r0, r1", 0x31415927, r0, r1, 0); 5788 TESTINST2("rev r0, r1", 0x14141562, r0, r1, 0); 5789 TESTINST2("rev r0, r1", 0xabe8391f, r0, r1, 0); 5790 TESTINST2("rev r0, r1", 0x9028aa80, r0, r1, 0); 5791 TESTINST2("rev r0, r1", 0xead1fc6d, r0, r1, 0); 5792 TESTINST2("rev r0, r1", 0x35c98c55, r0, r1, 0); 5793 TESTINST2("rev r0, r1", 0x534af1eb, r0, r1, 0); 5794 TESTINST2("rev r0, r1", 0x45511b08, r0, r1, 0); 5795 TESTINST2("rev r0, r1", 0x90077f71, r0, r1, 0); 5796 TESTINST2("rev r0, r1", 0xde8ca84b, r0, r1, 0); 5797 TESTINST2("rev r0, r1", 0xe37a0dda, r0, r1, 0); 5798 TESTINST2("rev r0, r1", 0xe5b83d4b, r0, r1, 0); 5799 TESTINST2("rev r0, r1", 0xbb6d14ec, r0, r1, 0); 5800 TESTINST2("rev r0, r1", 0x68983cc9, r0, r1, 0); 5801 5802 printf("(T2) REV Rd, Rm ------------\n"); 5803 TESTINST2("rev r8, r9", 0x00000000, r8, r9, 0); 5804 TESTINST2("rev r8, r9", 0xFFFFFFFF, r8, r9, 0); 5805 TESTINST2("rev r8, r9", 0x80000000, r8, r9, 0); 5806 TESTINST2("rev r8, r9", 0x00000001, r8, r9, 0); 5807 TESTINST2("rev r8, r9", 0x31415927, r8, r9, 0); 5808 TESTINST2("rev r8, r9", 0x14141562, r8, r9, 0); 5809 TESTINST2("rev r8, r9", 0xabe8391f, r8, r9, 0); 5810 TESTINST2("rev r8, r9", 0x9028aa80, r8, r9, 0); 5811 TESTINST2("rev r8, r9", 0xead1fc6d, r8, r9, 0); 5812 TESTINST2("rev r8, r9", 0x35c98c55, r8, r9, 0); 5813 TESTINST2("rev r8, r9", 0x534af1eb, r8, r9, 0); 5814 TESTINST2("rev r8, r9", 0x45511b08, r8, r9, 0); 5815 TESTINST2("rev r8, r9", 0x90077f71, r8, r9, 0); 5816 TESTINST2("rev r8, r9", 0xde8ca84b, r8, r9, 0); 5817 TESTINST2("rev r8, r9", 0xe37a0dda, r8, r9, 0); 5818 TESTINST2("rev r8, r9", 0xe5b83d4b, r8, r9, 0); 5819 TESTINST2("rev r8, r9", 0xbb6d14ec, r8, r9, 0); 5820 TESTINST2("rev r8, r9", 0x68983cc9, r8, r9, 0); 5821 5822 printf("(T1) REV16 Rd, Rm ------------\n"); 5823 TESTINST2("rev16 r0, r1", 0x00000000, r0, r1, 0); 5824 TESTINST2("rev16 r0, r1", 0xFFFFFFFF, r0, r1, 0); 5825 TESTINST2("rev16 r0, r1", 0x80000000, r0, r1, 0); 5826 TESTINST2("rev16 r0, r1", 0x00000001, r0, r1, 0); 5827 TESTINST2("rev16 r0, r1", 0x31415927, r0, r1, 0); 5828 TESTINST2("rev16 r0, r1", 0x14141562, r0, r1, 0); 5829 TESTINST2("rev16 r0, r1", 0xabe8391f, r0, r1, 0); 5830 TESTINST2("rev16 r0, r1", 0x9028aa80, r0, r1, 0); 5831 TESTINST2("rev16 r0, r1", 0xead1fc6d, r0, r1, 0); 5832 TESTINST2("rev16 r0, r1", 0x35c98c55, r0, r1, 0); 5833 TESTINST2("rev16 r0, r1", 0x534af1eb, r0, r1, 0); 5834 TESTINST2("rev16 r0, r1", 0x45511b08, r0, r1, 0); 5835 TESTINST2("rev16 r0, r1", 0x90077f71, r0, r1, 0); 5836 TESTINST2("rev16 r0, r1", 0xde8ca84b, r0, r1, 0); 5837 TESTINST2("rev16 r0, r1", 0xe37a0dda, r0, r1, 0); 5838 TESTINST2("rev16 r0, r1", 0xe5b83d4b, r0, r1, 0); 5839 TESTINST2("rev16 r0, r1", 0xbb6d14ec, r0, r1, 0); 5840 TESTINST2("rev16 r0, r1", 0x68983cc9, r0, r1, 0); 5841 5842 printf("(T2) REV16 Rd, Rm ------------\n"); 5843 TESTINST2("rev16 r8, r9", 0x00000000, r8, r9, 0); 5844 TESTINST2("rev16 r8, r9", 0xFFFFFFFF, r8, r9, 0); 5845 TESTINST2("rev16 r8, r9", 0x80000000, r8, r9, 0); 5846 TESTINST2("rev16 r8, r9", 0x00000001, r8, r9, 0); 5847 TESTINST2("rev16 r8, r9", 0x31415927, r8, r9, 0); 5848 TESTINST2("rev16 r8, r9", 0x14141562, r8, r9, 0); 5849 TESTINST2("rev16 r8, r9", 0xabe8391f, r8, r9, 0); 5850 TESTINST2("rev16 r8, r9", 0x9028aa80, r8, r9, 0); 5851 TESTINST2("rev16 r8, r9", 0xead1fc6d, r8, r9, 0); 5852 TESTINST2("rev16 r8, r9", 0x35c98c55, r8, r9, 0); 5853 TESTINST2("rev16 r8, r9", 0x534af1eb, r8, r9, 0); 5854 TESTINST2("rev16 r8, r9", 0x45511b08, r8, r9, 0); 5855 TESTINST2("rev16 r8, r9", 0x90077f71, r8, r9, 0); 5856 TESTINST2("rev16 r8, r9", 0xde8ca84b, r8, r9, 0); 5857 TESTINST2("rev16 r8, r9", 0xe37a0dda, r8, r9, 0); 5858 TESTINST2("rev16 r8, r9", 0xe5b83d4b, r8, r9, 0); 5859 TESTINST2("rev16 r8, r9", 0xbb6d14ec, r8, r9, 0); 5860 TESTINST2("rev16 r8, r9", 0x68983cc9, r8, r9, 0); 5861 5862 printf("------------ NOP (begin) ------------\n"); 5863 printf("nop\n"); 5864 __asm__ __volatile__("nop" ::: "memory","cc"); 5865 printf("nop.w\n"); 5866 __asm__ __volatile__("nop.w" ::: "memory","cc"); 5867 printf("------------ NOP (end) ------------\n"); 5868 5869 // plus whatever stuff we can throw in from the old ARM test program 5870 old_main(); 5871 5872 return 0; 5873} 5874 5875/* How to compile: 5876 gcc -O -g -Wall -mcpu=cortex-a8 -o testarmv6int testarmv6int.c 5877*/ 5878 5879#include <stdio.h> 5880 5881static int gen_cvin(cvin) 5882{ 5883 int r = ((cvin & 2) ? (1<<29) : 0) | ((cvin & 1) ? (1<<28) : 0); 5884 r |= (1 << 31) | (1 << 30); 5885 return r; 5886} 5887 5888/* test macros to generate and output the result of a single instruction */ 5889 5890 5891// 1 registers in the insn, zero args: rD = op() 5892#define TESTINST1(instruction, RD, cvin) \ 5893{ \ 5894 unsigned int out; \ 5895 unsigned int cpsr; \ 5896\ 5897 __asm__ volatile( \ 5898 "msr cpsr_f, %2;" \ 5899 instruction ";" \ 5900 "mov %0," #RD ";" \ 5901 "mrs %1,cpsr;" \ 5902 : "=&r" (out), "=&r" (cpsr) \ 5903 : "r" (gen_cvin(cvin)) \ 5904 : #RD, "cc", "memory" \ 5905 ); \ 5906 printf("%s :: rd 0x%08x, c:v-in %d, cpsr 0x%08x %c%c%c%c\n", \ 5907 instruction, out, \ 5908 cvin, \ 5909 cpsr & 0xffff0000, \ 5910 ((1<<31) & cpsr) ? 'N' : ' ', \ 5911 ((1<<30) & cpsr) ? 'Z' : ' ', \ 5912 ((1<<29) & cpsr) ? 'C' : ' ', \ 5913 ((1<<28) & cpsr) ? 'V' : ' ' \ 5914 ); \ 5915} 5916 5917 5918 5919// 1 registers in the insn, one args: rD = op(rD) 5920#define TESTINST1x(instruction, RDval, RD, cvin) \ 5921{ \ 5922 unsigned int out; \ 5923 unsigned int cpsr; \ 5924\ 5925 __asm__ volatile( \ 5926 "msr cpsr_f, %2;" \ 5927 "mov " #RD ",%3;" \ 5928 instruction ";" \ 5929 "mov %0," #RD ";" \ 5930 "mrs %1,cpsr;" \ 5931 : "=&r" (out), "=&r" (cpsr) \ 5932 : "r" (gen_cvin(cvin)), "r"(RDval) \ 5933 : #RD, "cc", "memory" \ 5934 ); \ 5935 printf("%s :: rd 0x%08x, c:v-in %d, cpsr 0x%08x %c%c%c%c\n", \ 5936 instruction, out, \ 5937 cvin, \ 5938 cpsr & 0xffff0000, \ 5939 ((1<<31) & cpsr) ? 'N' : ' ', \ 5940 ((1<<30) & cpsr) ? 'Z' : ' ', \ 5941 ((1<<29) & cpsr) ? 'C' : ' ', \ 5942 ((1<<28) & cpsr) ? 'V' : ' ' \ 5943 ); \ 5944} 5945 5946// 2 registers in the insn, one arg: rD = op(rM) 5947#define TESTINST2(instruction, RMval, RD, RM, cvin) \ 5948{ \ 5949 unsigned int out; \ 5950 unsigned int cpsr; \ 5951\ 5952 __asm__ volatile( \ 5953 "msr cpsr_f, %3;" \ 5954 "mov " #RM ",%2;" \ 5955 /* set #RD to 0x55555555 so we can see which parts get overwritten */ \ 5956 "mov " #RD ", #0x55" "\n\t" \ 5957 "orr " #RD "," #RD "," #RD ", LSL #8" "\n\t" \ 5958 "orr " #RD "," #RD "," #RD ", LSL #16" "\n\t" \ 5959 instruction ";" \ 5960 "mov %0," #RD ";" \ 5961 "mrs %1,cpsr;" \ 5962 : "=&r" (out), "=&r" (cpsr) \ 5963 : "r" (RMval), "r" (gen_cvin(cvin)) \ 5964 : #RD, #RM, "cc", "memory" \ 5965 ); \ 5966 printf("%s :: rd 0x%08x rm 0x%08x, c:v-in %d, cpsr 0x%08x %c%c%c%c\n", \ 5967 instruction, out, RMval, \ 5968 cvin, \ 5969 cpsr & 0xffff0000, \ 5970 ((1<<31) & cpsr) ? 'N' : ' ', \ 5971 ((1<<30) & cpsr) ? 'Z' : ' ', \ 5972 ((1<<29) & cpsr) ? 'C' : ' ', \ 5973 ((1<<28) & cpsr) ? 'V' : ' ' \ 5974 ); \ 5975} 5976 5977 5978// 2 registers in the insn, two args: rD = op(rD, rM) 5979#define TESTINST2x(instruction, RDval, RMval, RD, RM, cvin) \ 5980{ \ 5981 unsigned int out; \ 5982 unsigned int cpsr; \ 5983\ 5984 __asm__ volatile( \ 5985 "msr cpsr_f, %3;" \ 5986 "mov " #RM ",%2;" \ 5987 "mov " #RD ",%4;" \ 5988 instruction ";" \ 5989 "mov %0," #RD ";" \ 5990 "mrs %1,cpsr;" \ 5991 : "=&r" (out), "=&r" (cpsr) \ 5992 : "r" (RMval), "r" (gen_cvin(cvin)), "r"(RDval) \ 5993 : #RD, #RM, "cc", "memory" \ 5994 ); \ 5995 printf("%s :: rd 0x%08x rm 0x%08x, c:v-in %d, cpsr 0x%08x %c%c%c%c\n", \ 5996 instruction, out, RMval, \ 5997 cvin, \ 5998 cpsr & 0xffff0000, \ 5999 ((1<<31) & cpsr) ? 'N' : ' ', \ 6000 ((1<<30) & cpsr) ? 'Z' : ' ', \ 6001 ((1<<29) & cpsr) ? 'C' : ' ', \ 6002 ((1<<28) & cpsr) ? 'V' : ' ' \ 6003 ); \ 6004} 6005 6006 6007 6008#define TESTINST3(instruction, RMval, RNval, RD, RM, RN, cvin) \ 6009{ \ 6010 unsigned int out; \ 6011 unsigned int cpsr; \ 6012\ 6013 __asm__ volatile( \ 6014 "msr cpsr_f, %4;" \ 6015 "mov " #RM ",%2;" \ 6016 "mov " #RN ",%3;" \ 6017 instruction ";" \ 6018 "mov %0," #RD ";" \ 6019 "mrs %1,cpsr;" \ 6020 : "=&r" (out), "=&r" (cpsr) \ 6021 : "r" (RMval), "r" (RNval), "r" (gen_cvin(cvin)) \ 6022 : #RD, #RM, #RN, "cc", "memory" \ 6023 ); \ 6024 printf("%s :: rd 0x%08x rm 0x%08x, rn 0x%08x, c:v-in %d, cpsr 0x%08x %c%c%c%c\n", \ 6025 instruction, out, RMval, RNval, \ 6026 cvin, \ 6027 cpsr & 0xffff0000, \ 6028 ((1<<31) & cpsr) ? 'N' : ' ', \ 6029 ((1<<30) & cpsr) ? 'Z' : ' ', \ 6030 ((1<<29) & cpsr) ? 'C' : ' ', \ 6031 ((1<<28) & cpsr) ? 'V' : ' ' \ 6032 ); \ 6033} 6034 6035#define TESTINST4(instruction, RMval, RNval, RSval, RD, RM, RN, RS, cvin) \ 6036{ \ 6037 unsigned int out; \ 6038 unsigned int cpsr; \ 6039\ 6040 __asm__ volatile( \ 6041 "msr cpsr_f, %5;" \ 6042 "mov " #RM ",%2;" \ 6043 "mov " #RN ",%3;" \ 6044 "mov " #RS ",%4;" \ 6045 instruction ";" \ 6046 "mov %0," #RD ";" \ 6047 "mrs %1,cpsr;" \ 6048 : "=&r" (out), "=&r" (cpsr) \ 6049 : "r" (RMval), "r" (RNval), "r" (RSval), "r" (gen_cvin(cvin)) \ 6050 : #RD, #RM, #RN, #RS, "cc", "memory" \ 6051 ); \ 6052 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", \ 6053 instruction, out, RMval, RNval, RSval, \ 6054 cvin, \ 6055 cpsr & 0xffff0000, \ 6056 ((1<<31) & cpsr) ? 'N' : ' ', \ 6057 ((1<<30) & cpsr) ? 'Z' : ' ', \ 6058 ((1<<29) & cpsr) ? 'C' : ' ', \ 6059 ((1<<28) & cpsr) ? 'V' : ' ' \ 6060 ); \ 6061} 6062 6063#define TESTINST4_2OUT(instruction, RDval, RD2val, RMval, RSval, RD, RD2, RM, RS, cvin) \ 6064{ \ 6065 unsigned int out; \ 6066 unsigned int out2; \ 6067 unsigned int cpsr; \ 6068\ 6069 __asm__ volatile( \ 6070 "msr cpsr_f, %7;" \ 6071 "mov " #RD ",%3;" \ 6072 "mov " #RD2 ",%4;" \ 6073 "mov " #RM ",%5;" \ 6074 "mov " #RS ",%6;" \ 6075 instruction ";" \ 6076 "mov %0," #RD ";" \ 6077 "mov %1," #RD2 ";" \ 6078 "mrs %2,cpsr;" \ 6079 : "=&r" (out), "=&r" (out2), "=&r" (cpsr) \ 6080 : "r" (RDval), "r" (RD2val), "r" (RMval), "r" (RSval), "r" (gen_cvin(cvin)) \ 6081 : #RD, #RD2, #RM, #RS, "cc", "memory" \ 6082 ); \ 6083 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", \ 6084 instruction, out, out2, RMval, RSval, \ 6085 cvin, \ 6086 cpsr & 0xffff0000, \ 6087 ((1<<31) & cpsr) ? 'N' : ' ', \ 6088 ((1<<30) & cpsr) ? 'Z' : ' ', \ 6089 ((1<<29) & cpsr) ? 'C' : ' ', \ 6090 ((1<<28) & cpsr) ? 'V' : ' ' \ 6091 ); \ 6092} 6093 6094/* helpers */ 6095#define NOCARRY { int cv = 0; { 6096#define TESTCARRY { int cv = 0; for (cv = 0; cv < 4; cv++) { 6097#define TESTCARRYEND }} 6098 6099//////////////////////////////////////////////////////////// 6100//////////////////////////////////////////////////////////// 6101/////////////////////////////////////////////////////////// 6102/////////////////////////////////////////////////////////// 6103 6104static int old_main(void) 6105{ 6106 6107 printf("MOV\n"); 6108 TESTINST2("mov r0, r1", 1, r0, r1, 0); 6109 TESTINST2("cpy r0, r1", 1, r0, r1, 0); 6110 TESTINST2("mov r0, #0", 0, r0, r1, 0); 6111 TESTINST2("mov r0, #1", 0, r0, r1, 0); 6112 TESTCARRY 6113 TESTINST2("movs r0, r1", 1, r0, r1, cv); 6114 TESTINST2("movs r0, r1", 0, r0, r1, cv); 6115 TESTINST2("movs r0, r1", 0x80000000, r0, r1, cv); 6116 TESTINST2("movs r0, #0", 0, r0, r1, cv); 6117 TESTINST2("movs r0, #1", 0, r0, r1, cv); 6118 TESTCARRYEND 6119 6120 printf("MVN\n"); 6121 TESTINST2("mvn r0, r1", 1, r0, r1, 0); 6122 TESTCARRY 6123 TESTINST2("mvns r0, r1", 1, r0, r1, cv); 6124 TESTINST2("mvns r0, r1", 0, r0, r1, cv); 6125 TESTINST2("mvns r0, r1", 0x80000000, r0, r1, cv); 6126 TESTCARRYEND 6127 6128 printf("ADD\n"); 6129 TESTINST3("adds r0, r1, r2", 0, 0, r0, r1, r2, 0); 6130 TESTINST3("adds r0, r1, r2", 0, 1, r0, r1, r2, 0); 6131 TESTINST3("adds r0, r1, r2", 1, 0, r0, r1, r2, 0); 6132 TESTINST3("adds r0, r1, r2", 1, 1, r0, r1, r2, 0); 6133 TESTINST3("adds r0, r1, r2", 0, -1, r0, r1, r2, 0); 6134 TESTINST3("adds r0, r1, r2", 1, -1, r0, r1, r2, 0); 6135 TESTINST3("adds r0, r1, r2", 0x7fffffff, 1, r0, r1, r2, 0); 6136 TESTINST3("adds r0, r1, r2", 0x80000000, -1, r0, r1, r2, 0); 6137 TESTINST3("adds r0, r1, r2", 0x80000000, 0, r0, r1, r2, 0); 6138 6139 printf("ADC\n"); 6140 TESTINST3("adcs r0, r1, r2", 0, 0, r0, r1, r2, 0); 6141 TESTINST3("adcs r0, r1, r2", 0, 0, r0, r1, r2, 1); 6142 6143 printf("LSL\n"); 6144 TESTINST3("lsl r0, r1, r2", 0xffffffff, 0, r0, r1, r2, 0); 6145 TESTINST3("lsl r0, r1, r2", 0xffffffff, 1, r0, r1, r2, 0); 6146 TESTINST3("lsl r0, r1, r2", 0xffffffff, 2, r0, r1, r2, 0); 6147 TESTINST3("lsl r0, r1, r2", 0xffffffff, 31, r0, r1, r2, 0); 6148 TESTINST3("lsl r0, r1, r2", 0xffffffff, 32, r0, r1, r2, 0); 6149 TESTINST3("lsl r0, r1, r2", 0xffffffff, 33, r0, r1, r2, 0); 6150 TESTINST3("lsl r0, r1, r2", 0xffffffff, 63, r0, r1, r2, 0); 6151 TESTINST3("lsl r0, r1, r2", 0xffffffff, 64, r0, r1, r2, 0); 6152 TESTINST3("lsl r0, r1, r2", 0xffffffff, 255, r0, r1, r2, 0); 6153 TESTINST3("lsl r0, r1, r2", 0xffffffff, 256, r0, r1, r2, 0); 6154 6155 TESTINST3("lsl r0, r1, r2", 0x1, 0, r0, r1, r2, 0); 6156 TESTINST3("lsl r0, r1, r2", 0x1, 1, r0, r1, r2, 0); 6157 TESTINST3("lsl r0, r1, r2", 0x1, 31, r0, r1, r2, 0); 6158 TESTINST3("lsl r0, r1, r2", 0x2, 31, r0, r1, r2, 0); 6159 6160 printf("LSLS\n"); 6161 TESTCARRY 6162 TESTINST3("lsls r0, r1, r2", 0xffffffff, 0, r0, r1, r2, cv); 6163 TESTINST3("lsls r0, r1, r2", 0xffffffff, 1, r0, r1, r2, cv); 6164 TESTINST3("lsls r0, r1, r2", 0xffffffff, 2, r0, r1, r2, cv); 6165 TESTINST3("lsls r0, r1, r2", 0xffffffff, 31, r0, r1, r2, cv); 6166 TESTINST3("lsls r0, r1, r2", 0xffffffff, 32, r0, r1, r2, cv); 6167 TESTINST3("lsls r0, r1, r2", 0xffffffff, 33, r0, r1, r2, cv); 6168 TESTINST3("lsls r0, r1, r2", 0xffffffff, 63, r0, r1, r2, cv); 6169 TESTINST3("lsls r0, r1, r2", 0xffffffff, 64, r0, r1, r2, cv); 6170 TESTINST3("lsls r0, r1, r2", 0xffffffff, 255, r0, r1, r2, cv); 6171 TESTINST3("lsls r0, r1, r2", 0xffffffff, 256, r0, r1, r2, cv); 6172 TESTINST3("lsls r0, r1, r2", 0x1, 0, r0, r1, r2, cv); 6173 TESTINST3("lsls r0, r1, r2", 0x1, 1, r0, r1, r2, cv); 6174 TESTINST3("lsls r0, r1, r2", 0x1, 31, r0, r1, r2, cv); 6175 TESTINST3("lsls r0, r1, r2", 0x2, 31, r0, r1, r2, cv); 6176 TESTCARRYEND 6177 6178 printf("LSL immediate\n"); 6179 TESTCARRY 6180 TESTINST2("lsl r0, r1, #0", 0xffffffff, r0, r1, cv); 6181 TESTINST2("lsl r0, r1, #1", 0xffffffff, r0, r1, cv); 6182 TESTINST2("lsl r0, r1, #31", 0xffffffff, r0, r1, cv); 6183 TESTINST2("lsl r0, r1, #0", 0x1, r0, r1, cv); 6184 TESTINST2("lsl r0, r1, #1", 0x1, r0, r1, cv); 6185 TESTINST2("lsl r0, r1, #31", 0x1, r0, r1, cv); 6186 TESTINST2("lsl r0, r1, #31", 0x2, r0, r1, cv); 6187 TESTCARRYEND 6188 6189 printf("LSLS immediate\n"); 6190 TESTCARRY 6191 TESTINST2("lsls r0, r1, #0", 0xffffffff, r0, r1, cv); 6192 TESTINST2("lsls r0, r1, #1", 0xffffffff, r0, r1, cv); 6193 TESTINST2("lsls r0, r1, #31", 0xffffffff, r0, r1, cv); 6194 TESTINST2("lsls r0, r1, #0", 0x1, r0, r1, cv); 6195 TESTINST2("lsls r0, r1, #1", 0x1, r0, r1, cv); 6196 TESTINST2("lsls r0, r1, #31", 0x1, r0, r1, cv); 6197 TESTINST2("lsls r0, r1, #31", 0x2, r0, r1, cv); 6198 TESTCARRYEND 6199 6200 printf("LSR\n"); 6201 TESTINST3("lsr r0, r1, r2", 0xffffffff, 0, r0, r1, r2, 0); 6202 TESTINST3("lsr r0, r1, r2", 0xffffffff, 1, r0, r1, r2, 0); 6203 TESTINST3("lsr r0, r1, r2", 0xffffffff, 2, r0, r1, r2, 0); 6204 TESTINST3("lsr r0, r1, r2", 0xffffffff, 31, r0, r1, r2, 0); 6205 TESTINST3("lsr r0, r1, r2", 0xffffffff, 32, r0, r1, r2, 0); 6206 TESTINST3("lsr r0, r1, r2", 0xffffffff, 33, r0, r1, r2, 0); 6207 TESTINST3("lsr r0, r1, r2", 0xffffffff, 63, r0, r1, r2, 0); 6208 TESTINST3("lsr r0, r1, r2", 0xffffffff, 64, r0, r1, r2, 0); 6209 TESTINST3("lsr r0, r1, r2", 0xffffffff, 255, r0, r1, r2, 0); 6210 TESTINST3("lsr r0, r1, r2", 0xffffffff, 256, r0, r1, r2, 0); 6211 6212 printf("LSRS\n"); 6213 TESTCARRY 6214 TESTINST3("lsrs r0, r1, r2", 0xffffffff, 0, r0, r1, r2, cv); 6215 TESTINST3("lsrs r0, r1, r2", 0xffffffff, 1, r0, r1, r2, cv); 6216 TESTINST3("lsrs r0, r1, r2", 0xffffffff, 2, r0, r1, r2, cv); 6217 TESTINST3("lsrs r0, r1, r2", 0xffffffff, 31, r0, r1, r2, cv); 6218 TESTINST3("lsrs r0, r1, r2", 0xffffffff, 32, r0, r1, r2, cv); 6219 TESTINST3("lsrs r0, r1, r2", 0xffffffff, 33, r0, r1, r2, cv); 6220 TESTINST3("lsrs r0, r1, r2", 0xffffffff, 63, r0, r1, r2, cv); 6221 TESTINST3("lsrs r0, r1, r2", 0xffffffff, 64, r0, r1, r2, cv); 6222 TESTINST3("lsrs r0, r1, r2", 0xffffffff, 255, r0, r1, r2, cv); 6223 TESTCARRYEND 6224 6225 printf("LSR immediate\n"); 6226 TESTINST2("lsr r0, r1, #0", 0xffffffff, r0, r1, 0); 6227 TESTINST2("lsr r0, r1, #1", 0xffffffff, r0, r1, 0); 6228 TESTINST2("lsr r0, r1, #31", 0xffffffff, r0, r1, 0); 6229 TESTINST2("lsr r0, r1, #32", 0xffffffff, r0, r1, 0); 6230 TESTINST2("lsr r0, r1, #16", 0x00010000, r0, r1, 0); 6231 TESTINST2("lsr r0, r1, #17", 0x00010000, r0, r1, 0); 6232 TESTINST2("lsr r0, r1, #18", 0x00010000, r0, r1, 0); 6233 6234 printf("LSRS immediate\n"); 6235 TESTCARRY 6236 TESTINST2("lsrs r0, r1, #0", 0xffffffff, r0, r1, cv); 6237 TESTINST2("lsrs r0, r1, #1", 0xffffffff, r0, r1, cv); 6238 TESTINST2("lsrs r0, r1, #31", 0xffffffff, r0, r1, cv); 6239 TESTINST2("lsrs r0, r1, #32", 0xffffffff, r0, r1, cv); 6240 TESTINST2("lsrs r0, r1, #16", 0x00010000, r0, r1, cv); 6241 TESTINST2("lsrs r0, r1, #17", 0x00010000, r0, r1, cv); 6242 TESTINST2("lsrs r0, r1, #18", 0x00010000, r0, r1, cv); 6243 TESTCARRYEND 6244 6245 printf("ASR\n"); 6246 TESTCARRY 6247 TESTINST3("asr r0, r1, r2", 0xffffffff, 0, r0, r1, r2, cv); 6248 TESTINST3("asr r0, r1, r2", 0xffffffff, 1, r0, r1, r2, cv); 6249 TESTINST3("asr r0, r1, r2", 0xffffffff, 2, r0, r1, r2, cv); 6250 TESTINST3("asr r0, r1, r2", 0xffffffff, 31, r0, r1, r2, cv); 6251 TESTINST3("asr r0, r1, r2", 0xffffffff, 32, r0, r1, r2, cv); 6252 TESTINST3("asr r0, r1, r2", 0xffffffff, 33, r0, r1, r2, cv); 6253 TESTINST3("asr r0, r1, r2", 0xffffffff, 63, r0, r1, r2, cv); 6254 TESTINST3("asr r0, r1, r2", 0xffffffff, 64, r0, r1, r2, cv); 6255 TESTINST3("asr r0, r1, r2", 0xffffffff, 255, r0, r1, r2, cv); 6256 TESTINST3("asr r0, r1, r2", 0xffffffff, 256, r0, r1, r2, cv); 6257 TESTINST3("asr r0, r1, r2", 0x7fffffff, 0, r0, r1, r2, cv); 6258 TESTINST3("asr r0, r1, r2", 0x7fffffff, 1, r0, r1, r2, cv); 6259 TESTINST3("asr r0, r1, r2", 0x7fffffff, 2, r0, r1, r2, cv); 6260 TESTINST3("asr r0, r1, r2", 0x7fffffff, 31, r0, r1, r2, cv); 6261 TESTINST3("asr r0, r1, r2", 0x7fffffff, 32, r0, r1, r2, cv); 6262 TESTINST3("asr r0, r1, r2", 0x7fffffff, 33, r0, r1, r2, cv); 6263 TESTINST3("asr r0, r1, r2", 0x7fffffff, 63, r0, r1, r2, cv); 6264 TESTINST3("asr r0, r1, r2", 0x7fffffff, 64, r0, r1, r2, cv); 6265 TESTINST3("asr r0, r1, r2", 0x7fffffff, 255, r0, r1, r2, cv); 6266 TESTINST3("asr r0, r1, r2", 0x7fffffff, 256, r0, r1, r2, cv); 6267 TESTCARRYEND 6268 6269 printf("ASRS\n"); 6270 TESTCARRY 6271 TESTINST3("asrs r0, r1, r2", 0xffffffff, 0, r0, r1, r2, cv); 6272 TESTINST3("asrs r0, r1, r2", 0xffffffff, 1, r0, r1, r2, cv); 6273 TESTINST3("asrs r0, r1, r2", 0xffffffff, 2, r0, r1, r2, cv); 6274 TESTINST3("asrs r0, r1, r2", 0xffffffff, 31, r0, r1, r2, cv); 6275 TESTINST3("asrs r0, r1, r2", 0xffffffff, 32, r0, r1, r2, cv); 6276 TESTINST3("asrs r0, r1, r2", 0xffffffff, 33, r0, r1, r2, cv); 6277 TESTINST3("asrs r0, r1, r2", 0xffffffff, 63, r0, r1, r2, cv); 6278 TESTINST3("asrs r0, r1, r2", 0xffffffff, 64, r0, r1, r2, cv); 6279 TESTINST3("asrs r0, r1, r2", 0xffffffff, 255, r0, r1, r2, cv); 6280 TESTINST3("asrs r0, r1, r2", 0xffffffff, 256, r0, r1, r2, cv); 6281 TESTINST3("asrs r0, r1, r2", 0x7fffffff, 0, r0, r1, r2, cv); 6282 TESTINST3("asrs r0, r1, r2", 0x7fffffff, 1, r0, r1, r2, cv); 6283 TESTINST3("asrs r0, r1, r2", 0x7fffffff, 2, r0, r1, r2, cv); 6284 TESTINST3("asrs r0, r1, r2", 0x7fffffff, 31, r0, r1, r2, cv); 6285 TESTINST3("asrs r0, r1, r2", 0x7fffffff, 32, r0, r1, r2, cv); 6286 TESTINST3("asrs r0, r1, r2", 0x7fffffff, 33, r0, r1, r2, cv); 6287 TESTINST3("asrs r0, r1, r2", 0x7fffffff, 63, r0, r1, r2, cv); 6288 TESTINST3("asrs r0, r1, r2", 0x7fffffff, 64, r0, r1, r2, cv); 6289 TESTINST3("asrs r0, r1, r2", 0x7fffffff, 255, r0, r1, r2, cv); 6290 TESTINST3("asrs r0, r1, r2", 0x7fffffff, 256, r0, r1, r2, cv); 6291 TESTCARRYEND 6292 6293 TESTCARRY 6294 TESTINST3("asrs r0, r1, r2", 0x8, 0, r0, r1, r2, cv); 6295 TESTINST3("asrs r0, r1, r2", 0x8, 1, r0, r1, r2, cv); 6296 TESTINST3("asrs r0, r1, r2", 0x8, 2, r0, r1, r2, cv); 6297 TESTINST3("asrs r0, r1, r2", 0x8, 3, r0, r1, r2, cv); 6298 TESTINST3("asrs r0, r1, r2", 0x8, 4, r0, r1, r2, cv); 6299 TESTINST3("asrs r0, r1, r2", 0x8, 5, r0, r1, r2, cv); 6300 TESTCARRYEND 6301 6302 TESTINST3("asrs r0, r1, r2", 0x80000001, 1, r0, r1, r2, 0); 6303 TESTINST3("asrs r0, r1, r2", 0x80000001, 2, r0, r1, r2, 0); 6304 6305 printf("ASR immediate\n"); 6306 TESTINST2("asr r0, r1, #0", 0xffffffff, r0, r1, 0); 6307 TESTINST2("asr r0, r1, #1", 0xffffffff, r0, r1, 0); 6308 TESTINST2("asr r0, r1, #31", 0xffffffff, r0, r1, 0); 6309 TESTINST2("asr r0, r1, #32", 0xffffffff, r0, r1, 0); 6310 TESTINST2("asr r0, r1, #0", 0x7fffffff, r0, r1, 0); 6311 TESTINST2("asr r0, r1, #1", 0x7fffffff, r0, r1, 0); 6312 TESTINST2("asr r0, r1, #31", 0x7fffffff, r0, r1, 0); 6313 TESTINST2("asr r0, r1, #32", 0x7fffffff, r0, r1, 0); 6314 TESTINST2("asr r0, r1, #16", 0x00010000, r0, r1, 0); 6315 TESTINST2("asr r0, r1, #17", 0x00010000, r0, r1, 0); 6316 TESTINST2("asr r0, r1, #18", 0x00010000, r0, r1, 0); 6317 6318 printf("ASRS immediate\n"); 6319 TESTCARRY 6320 TESTINST2("asrs r0, r1, #0", 0xffffffff, r0, r1, cv); 6321 TESTINST2("asrs r0, r1, #1", 0xffffffff, r0, r1, cv); 6322 TESTINST2("asrs r0, r1, #31", 0xffffffff, r0, r1, cv); 6323 TESTINST2("asrs r0, r1, #32", 0xffffffff, r0, r1, cv); 6324 TESTINST2("asrs r0, r1, #0", 0x7fffffff, r0, r1, cv); 6325 TESTINST2("asrs r0, r1, #1", 0x7fffffff, r0, r1, cv); 6326 TESTINST2("asrs r0, r1, #31", 0x7fffffff, r0, r1, cv); 6327 TESTINST2("asrs r0, r1, #32", 0x7fffffff, r0, r1, cv); 6328 TESTINST2("asrs r0, r1, #16", 0x00010000, r0, r1, cv); 6329 TESTINST2("asrs r0, r1, #17", 0x00010000, r0, r1, cv); 6330 TESTINST2("asrs r0, r1, #18", 0x00010000, r0, r1, cv); 6331 TESTCARRYEND 6332 6333#if 0 6334 printf("ROR\n"); 6335 TESTCARRY 6336 TESTINST3("ror r0, r1, r2", 0x00088000, 0, r0, r1, r2, cv); 6337 TESTINST3("ror r0, r1, r2", 0x80088000, 1, r0, r1, r2, cv); 6338 TESTINST3("ror r0, r1, r2", 0x00088000, 1, r0, r1, r2, cv); 6339 TESTINST3("ror r0, r1, r2", 0x00088000, 2, r0, r1, r2, cv); 6340 TESTINST3("ror r0, r1, r2", 0x00088000, 31, r0, r1, r2, cv); 6341 TESTINST3("ror r0, r1, r2", 0x00088000, 32, r0, r1, r2, cv); 6342 TESTINST3("ror r0, r1, r2", 0x00088000, 33, r0, r1, r2, cv); 6343 TESTINST3("ror r0, r1, r2", 0x00088000, 63, r0, r1, r2, cv); 6344 TESTINST3("ror r0, r1, r2", 0x00088000, 64, r0, r1, r2, cv); 6345 TESTINST3("ror r0, r1, r2", 0x00088000, 255, r0, r1, r2, cv); 6346 TESTINST3("ror r0, r1, r2", 0x00088000, 256, r0, r1, r2, cv); 6347 TESTINST3("ror r0, r1, r2", 0x80088000, 256, r0, r1, r2, cv); 6348 TESTINST3("ror r0, r1, r2", 0x00088000, 257, r0, r1, r2, cv); 6349 TESTCARRYEND 6350 6351 printf("RORS\n"); 6352 TESTCARRY 6353 TESTINST3("rors r0, r1, r2", 0x00088000, 0, r0, r1, r2, cv); 6354 TESTINST3("rors r0, r1, r2", 0x80088000, 0, r0, r1, r2, cv); 6355 TESTINST3("rors r0, r1, r2", 0x00088000, 1, r0, r1, r2, cv); 6356 TESTINST3("rors r0, r1, r2", 0x00088000, 2, r0, r1, r2, cv); 6357 TESTINST3("rors r0, r1, r2", 0x00088000, 31, r0, r1, r2, cv); 6358 TESTINST3("rors r0, r1, r2", 0x00088000, 32, r0, r1, r2, cv); 6359 TESTINST3("rors r0, r1, r2", 0x00088000, 33, r0, r1, r2, cv); 6360 TESTINST3("rors r0, r1, r2", 0x00088000, 63, r0, r1, r2, cv); 6361 TESTINST3("rors r0, r1, r2", 0x00088000, 64, r0, r1, r2, cv); 6362 TESTINST3("rors r0, r1, r2", 0x00088000, 255, r0, r1, r2, cv); 6363 TESTINST3("rors r0, r1, r2", 0x00088000, 256, r0, r1, r2, cv); 6364 TESTINST3("rors r0, r1, r2", 0x80088000, 256, r0, r1, r2, cv); 6365 TESTINST3("rors r0, r1, r2", 0x00088000, 257, r0, r1, r2, cv); 6366 TESTCARRYEND 6367 6368 printf("ROR immediate\n"); 6369 TESTCARRY 6370 TESTINST2("ror r0, r1, #0", 0x00088000, r0, r1, cv); 6371 TESTINST2("ror r0, r1, #1", 0x00088000, r0, r1, cv); 6372 TESTINST2("ror r0, r1, #31", 0x00088000, r0, r1, cv); 6373 TESTINST2("ror r0, r1, #16", 0x00010000, r0, r1, cv); 6374 TESTINST2("ror r0, r1, #17", 0x00010000, r0, r1, cv); 6375 TESTINST2("ror r0, r1, #18", 0x00010000, r0, r1, cv); 6376 TESTCARRYEND 6377 6378 printf("RORS immediate\n"); 6379 TESTCARRY 6380 TESTINST2("rors r0, r1, #0", 0x00088000, r0, r1, cv); 6381 TESTINST2("rors r0, r1, #1", 0x00088000, r0, r1, cv); 6382 TESTINST2("rors r0, r1, #31", 0x00088000, r0, r1, cv); 6383 TESTINST2("rors r0, r1, #16", 0x00010000, r0, r1, cv); 6384 TESTINST2("rors r0, r1, #17", 0x00010000, r0, r1, cv); 6385 TESTINST2("rors r0, r1, #18", 0x00010000, r0, r1, cv); 6386 TESTCARRYEND 6387#endif 6388#if 0 6389 printf("shift with barrel shifter\n"); 6390 TESTCARRY 6391 TESTINST4("add r0, r1, r2, lsl r3", 0, 0xffffffff, 0, r0, r1, r2, r3, cv); 6392 TESTINST4("add r0, r1, r2, lsl r3", 0, 0xffffffff, 1, r0, r1, r2, r3, cv); 6393 TESTINST4("add r0, r1, r2, lsl r3", 0, 0xffffffff, 31, r0, r1, r2, r3, cv); 6394 TESTINST4("add r0, r1, r2, lsl r3", 0, 0xffffffff, 32, r0, r1, r2, r3, cv); 6395 TESTINST4("add r0, r1, r2, lsl r3", 0, 0xffffffff, 255, r0, r1, r2, r3, cv); 6396 TESTINST4("add r0, r1, r2, lsl r3", 0, 0xffffffff, 256, r0, r1, r2, r3, cv); 6397 TESTINST4("add r0, r1, r2, lsr r3", 0, 0xffffffff, 0, r0, r1, r2, r3, cv); 6398 TESTINST4("add r0, r1, r2, lsr r3", 0, 0xffffffff, 1, r0, r1, r2, r3, cv); 6399 TESTINST4("add r0, r1, r2, lsr r3", 0, 0xffffffff, 31, r0, r1, r2, r3, cv); 6400 TESTINST4("add r0, r1, r2, lsr r3", 0, 0xffffffff, 32, r0, r1, r2, r3, cv); 6401 TESTINST4("add r0, r1, r2, lsr r3", 0, 0xffffffff, 255, r0, r1, r2, r3, cv); 6402 TESTINST4("add r0, r1, r2, lsr r3", 0, 0xffffffff, 256, r0, r1, r2, r3, cv); 6403 TESTINST4("add r0, r1, r2, asr r3", 0, 0x7fffffff, 0, r0, r1, r2, r3, cv); 6404 TESTINST4("add r0, r1, r2, asr r3", 0, 0x7fffffff, 1, r0, r1, r2, r3, cv); 6405 TESTINST4("add r0, r1, r2, asr r3", 0, 0x7fffffff, 31, r0, r1, r2, r3, cv); 6406 TESTINST4("add r0, r1, r2, asr r3", 0, 0x7fffffff, 32, r0, r1, r2, r3, cv); 6407 TESTINST4("add r0, r1, r2, asr r3", 0, 0x7fffffff, 255, r0, r1, r2, r3, cv); 6408 TESTINST4("add r0, r1, r2, asr r3", 0, 0x7fffffff, 256, r0, r1, r2, r3, cv); 6409 TESTINST4("add r0, r1, r2, lsr r3", 0, 0xffffffff, 256, r0, r1, r2, r3, cv); 6410 TESTCARRYEND 6411 6412 TESTCARRY 6413 TESTINST4("add r0, r1, r2, asr r3", 0, 0x8, 0, r0, r1, r2, r3, cv); 6414 TESTINST4("add r0, r1, r2, asr r3", 0, 0x8, 1, r0, r1, r2, r3, cv); 6415 TESTINST4("add r0, r1, r2, asr r3", 0, 0x8, 2, r0, r1, r2, r3, cv); 6416 TESTINST4("add r0, r1, r2, asr r3", 0, 0x8, 3, r0, r1, r2, r3, cv); 6417 TESTINST4("add r0, r1, r2, asr r3", 0, 0x8, 4, r0, r1, r2, r3, cv); 6418 TESTINST4("add r0, r1, r2, asr r3", 0, 0x8, 5, r0, r1, r2, r3, cv); 6419 TESTCARRYEND 6420 6421 TESTCARRY 6422 TESTINST4("add r0, r1, r2, ror r3", 0, 0x00088000, 0, r0, r1, r2, r3, cv); 6423 TESTINST4("add r0, r1, r2, ror r3", 0, 0x80088000, 0, r0, r1, r2, r3, cv); 6424 TESTINST4("add r0, r1, r2, ror r3", 0, 0x00088000, 1, r0, r1, r2, r3, cv); 6425 TESTINST4("add r0, r1, r2, ror r3", 0, 0x00088000, 31, r0, r1, r2, r3, cv); 6426 TESTINST4("add r0, r1, r2, ror r3", 0, 0x00088000, 32, r0, r1, r2, r3, cv); 6427 TESTINST4("add r0, r1, r2, ror r3", 0, 0x00088000, 255, r0, r1, r2, r3, cv); 6428 TESTINST4("add r0, r1, r2, ror r3", 0, 0x00088000, 256, r0, r1, r2, r3, cv); 6429 TESTINST4("add r0, r1, r2, ror r3", 0, 0x80088000, 256, r0, r1, r2, r3, cv); 6430 TESTINST4("add r0, r1, r2, ror r3", 0, 0x00088000, 257, r0, r1, r2, r3, cv); 6431 TESTCARRYEND 6432#endif 6433#if 0 6434 TESTCARRY 6435 TESTINST4("adds r0, r1, r2, lsl r3", 0, 0xffffffff, 0, r0, r1, r2, r3, cv); 6436 TESTINST4("adds r0, r1, r2, lsl r3", 0, 0xffffffff, 1, r0, r1, r2, r3, cv); 6437 TESTINST4("adds r0, r1, r2, lsl r3", 0, 0xffffffff, 31, r0, r1, r2, r3, cv); 6438 TESTINST4("adds r0, r1, r2, lsl r3", 0, 0xffffffff, 32, r0, r1, r2, r3, cv); 6439 TESTINST4("adds r0, r1, r2, lsl r3", 0, 0xffffffff, 255, r0, r1, r2, r3, cv); 6440 TESTINST4("adds r0, r1, r2, lsl r3", 0, 0xffffffff, 256, r0, r1, r2, r3, cv); 6441 TESTINST4("adds r0, r1, r2, lsr r3", 0, 0xffffffff, 0, r0, r1, r2, r3, cv); 6442 TESTINST4("adds r0, r1, r2, lsr r3", 0, 0xffffffff, 1, r0, r1, r2, r3, cv); 6443 TESTINST4("adds r0, r1, r2, lsr r3", 0, 0xffffffff, 31, r0, r1, r2, r3, cv); 6444 TESTINST4("adds r0, r1, r2, lsr r3", 0, 0xffffffff, 32, r0, r1, r2, r3, cv); 6445 TESTINST4("adds r0, r1, r2, lsr r3", 0, 0xffffffff, 255, r0, r1, r2, r3, cv); 6446 TESTINST4("adds r0, r1, r2, lsr r3", 0, 0xffffffff, 256, r0, r1, r2, r3, cv); 6447 6448 TESTINST4("adds r0, r1, r2, ror r3", 0, 0x00088000, 0, r0, r1, r2, r3, cv); 6449 TESTINST4("adds r0, r1, r2, ror r3", 0, 0x80088000, 0, r0, r1, r2, r3, cv); 6450 TESTINST4("adds r0, r1, r2, ror r3", 0, 0x00088000, 1, r0, r1, r2, r3, cv); 6451 TESTINST4("adds r0, r1, r2, ror r3", 0, 0x00088000, 31, r0, r1, r2, r3, cv); 6452 TESTINST4("adds r0, r1, r2, ror r3", 0, 0x00088000, 32, r0, r1, r2, r3, cv); 6453 TESTINST4("adds r0, r1, r2, ror r3", 0, 0x00088000, 255, r0, r1, r2, r3, cv); 6454 TESTINST4("adds r0, r1, r2, ror r3", 0, 0x00088000, 256, r0, r1, r2, r3, cv); 6455 TESTINST4("adds r0, r1, r2, ror r3", 0, 0x80088000, 256, r0, r1, r2, r3, cv); 6456 TESTINST4("adds r0, r1, r2, ror r3", 0, 0x00088000, 257, r0, r1, r2, r3, cv); 6457 TESTCARRYEND 6458#endif 6459 6460#if 0 6461 TESTCARRY 6462 TESTINST4("adcs r0, r1, r2, lsl r3", 0, 0xffffffff, 0, r0, r1, r2, r3, cv); 6463 TESTINST4("adcs r0, r1, r2, lsr r3", 0, 0xffffffff, 0, r0, r1, r2, r3, cv); 6464 TESTINST4("adcs r0, r1, r2, lsl r3", 0, 0xffffffff, 1, r0, r1, r2, r3, cv); 6465 TESTINST4("adcs r0, r1, r2, lsr r3", 0, 0xffffffff, 1, r0, r1, r2, r3, cv); 6466 TESTCARRYEND 6467#endif 6468 6469 printf("MUL\n"); 6470 TESTINST3("mul r0, r1, r2", 0, 0, r0, r1, r2, 0); 6471 TESTINST3("mul r0, r1, r2", 0xffffffff, 0, r0, r1, r2, 0); 6472 TESTINST3("mul r0, r1, r2", 0, 0xffffffff, r0, r1, r2, 0); 6473 TESTINST3("mul r0, r1, r2", 0xffffffff, 0xffffffff, r0, r1, r2, 0); 6474 TESTINST3("mul r0, r1, r2", 0x7fffffff, 0x7fffffff, r0, r1, r2, 0); 6475 TESTINST3("mul r0, r1, r2", 0x0000ffff, 0x0000ffff, r0, r1, r2, 0); 6476 6477#if 0 6478 printf("MULS\n"); 6479 TESTINST3("muls r0, r1, r2", 0, 0, r0, r1, r2, 0); 6480 TESTINST3("muls r0, r1, r2", 0xffffffff, 0, r0, r1, r2, 0); 6481 TESTINST3("muls r0, r1, r2", 0, 0xffffffff, r0, r1, r2, 0); 6482 TESTINST3("muls r0, r1, r2", 0xffffffff, 0xffffffff, r0, r1, r2, 0); 6483 TESTINST3("muls r0, r1, r2", 0x7fffffff, 0x7fffffff, r0, r1, r2, 0); 6484 TESTINST3("muls r0, r1, r2", 0x0000ffff, 0x0000ffff, r0, r1, r2, 0); 6485#endif 6486 6487 printf("MLA\n"); 6488 TESTINST4("mla r0, r1, r2, r3", 0, 0, 1, r0, r1, r2, r3, 0); 6489 TESTINST4("mla r0, r1, r2, r3", 0xffffffff, 0, 1, r0, r1, r2, r3, 0); 6490 TESTINST4("mla r0, r1, r2, r3", 0, 0xffffffff, 1, r0, r1, r2, r3, 0); 6491 TESTINST4("mla r0, r1, r2, r3", 0xffffffff, 0xffffffff, 1, r0, r1, r2, r3, 0); 6492 TESTINST4("mla r0, r1, r2, r3", 0x7fffffff, 0x7fffffff, 1, r0, r1, r2, r3, 0); 6493 TESTINST4("mla r0, r1, r2, r3", 0x0000ffff, 0x0000ffff, 1, r0, r1, r2, r3, 0); 6494 6495#if 0 6496 printf("MLAS\n"); 6497 TESTINST4("mlas r0, r1, r2, r3", 0, 0, 1, r0, r1, r2, r3, 0); 6498 TESTINST4("mlas r0, r1, r2, r3", 0xffffffff, 0, 1, r0, r1, r2, r3, 0); 6499 TESTINST4("mlas r0, r1, r2, r3", 0, 0xffffffff, 1, r0, r1, r2, r3, 0); 6500 TESTINST4("mlas r0, r1, r2, r3", 0xffffffff, 0xffffffff, 1, r0, r1, r2, r3, 0); 6501 TESTINST4("mlas r0, r1, r2, r3", 0x7fffffff, 0x7fffffff, 1, r0, r1, r2, r3, 0); 6502 TESTINST4("mlas r0, r1, r2, r3", 0x0000ffff, 0x0000ffff, 1, r0, r1, r2, r3, 0); 6503#endif 6504 6505 printf("MLS\n"); 6506 TESTINST4("mls r0, r1, r2, r3", 0, 0, 1, r0, r1, r2, r3, 0); 6507 TESTINST4("mls r0, r1, r2, r3", 0xffffffff, 0, 1, r0, r1, r2, r3, 0); 6508 TESTINST4("mls r0, r1, r2, r3", 0, 0xffffffff, 1, r0, r1, r2, r3, 0); 6509 TESTINST4("mls r0, r1, r2, r3", 0xffffffff, 0xffffffff, 1, r0, r1, r2, r3, 0); 6510 TESTINST4("mls r0, r1, r2, r3", 0x7fffffff, 0x7fffffff, 1, r0, r1, r2, r3, 0); 6511 TESTINST4("mls r0, r1, r2, r3", 0x0000ffff, 0x0000ffff, 1, r0, r1, r2, r3, 0); 6512 6513 printf("UMULL\n"); 6514 TESTINST4_2OUT("umull r0, r1, r2, r3", 0, 0, 0, 0, r0, r1, r2, r3, 0); 6515 TESTINST4_2OUT("umull r0, r1, r2, r3", 0, 0, 0, 1, r0, r1, r2, r3, 0); 6516 TESTINST4_2OUT("umull r0, r1, r2, r3", 0, 0, 1, 0, r0, r1, r2, r3, 0); 6517 TESTINST4_2OUT("umull r0, r1, r2, r3", 0, 0, 1, 1, r0, r1, r2, r3, 0); 6518 TESTINST4_2OUT("umull r0, r1, r2, r3", 0, 0, 0xffff, 0xffff, r0, r1, r2, r3, 0); 6519 TESTINST4_2OUT("umull r0, r1, r2, r3", 0, 0, 0xffffffff, 0xffffffff, r0, r1, r2, r3, 0); 6520#if 0 6521 TESTINST4_2OUT("umulls r0, r1, r2, r3", 0, 0, 0, 0, r0, r1, r2, r3, 0); 6522 TESTINST4_2OUT("umulls r0, r1, r2, r3", 0, 0, 0, 1, r0, r1, r2, r3, 0); 6523 TESTINST4_2OUT("umulls r0, r1, r2, r3", 0, 0, 1, 0, r0, r1, r2, r3, 0); 6524 TESTINST4_2OUT("umulls r0, r1, r2, r3", 0, 0, 1, 1, r0, r1, r2, r3, 0); 6525 TESTINST4_2OUT("umulls r0, r1, r2, r3", 0, 0, 0xffff, 0xffff, r0, r1, r2, r3, 0); 6526 TESTINST4_2OUT("umulls r0, r1, r2, r3", 0, 0, 0xffffffff, 0xffffffff, r0, r1, r2, r3, 0); 6527#endif 6528 printf("SMULL\n"); 6529 TESTINST4_2OUT("smull r0, r1, r2, r3", 0, 0, 0, 0, r0, r1, r2, r3, 0); 6530 TESTINST4_2OUT("smull r0, r1, r2, r3", 0, 0, 0, 1, r0, r1, r2, r3, 0); 6531 TESTINST4_2OUT("smull r0, r1, r2, r3", 0, 0, 1, 0, r0, r1, r2, r3, 0); 6532 TESTINST4_2OUT("smull r0, r1, r2, r3", 0, 0, 1, 1, r0, r1, r2, r3, 0); 6533 TESTINST4_2OUT("smull r0, r1, r2, r3", 0, 0, 0xffff, 0xffff, r0, r1, r2, r3, 0); 6534 TESTINST4_2OUT("smull r0, r1, r2, r3", 0, 0, 0xffffffff, 0xffffffff, r0, r1, r2, r3, 0); 6535#if 0 6536 TESTINST4_2OUT("smulls r0, r1, r2, r3", 0, 0, 0, 0, r0, r1, r2, r3, 0); 6537 TESTINST4_2OUT("smulls r0, r1, r2, r3", 0, 0, 0, 1, r0, r1, r2, r3, 0); 6538 TESTINST4_2OUT("smulls r0, r1, r2, r3", 0, 0, 1, 0, r0, r1, r2, r3, 0); 6539 TESTINST4_2OUT("smulls r0, r1, r2, r3", 0, 0, 1, 1, r0, r1, r2, r3, 0); 6540 TESTINST4_2OUT("smulls r0, r1, r2, r3", 0, 0, 0xffff, 0xffff, r0, r1, r2, r3, 0); 6541 TESTINST4_2OUT("smulls r0, r1, r2, r3", 0, 0, 0xffffffff, 0xffffffff, r0, r1, r2, r3, 0); 6542#endif 6543 6544#if 0 6545 printf("UMLAL\n"); 6546 TESTINST4_2OUT("umlal r0, r1, r2, r3", 0, 0, 0, 0, r0, r1, r2, r3, 0); 6547 TESTINST4_2OUT("umlal r0, r1, r2, r3", 0, 1, 0, 0, r0, r1, r2, r3, 0); 6548 TESTINST4_2OUT("umlal r0, r1, r2, r3", 1, 1, 0, 0, r0, r1, r2, r3, 0); 6549 TESTINST4_2OUT("umlal r0, r1, r2, r3", 0, 0xffffffff, 1, 1, r0, r1, r2, r3, 0); 6550 TESTINST4_2OUT("umlal r0, r1, r2, r3", 0, 0, 0, 1, r0, r1, r2, r3, 0); 6551 TESTINST4_2OUT("umlal r0, r1, r2, r3", 0, 0, 1, 0, r0, r1, r2, r3, 0); 6552 TESTINST4_2OUT("umlal r0, r1, r2, r3", 0, 0, 1, 1, r0, r1, r2, r3, 0); 6553 TESTINST4_2OUT("umlal r0, r1, r2, r3", 0, 0, 0xffff, 0xffff, r0, r1, r2, r3, 0); 6554 TESTINST4_2OUT("umlal r0, r1, r2, r3", 0, 0, 0xffffffff, 0xffffffff, r0, r1, r2, r3, 0); 6555#endif 6556#if 0 6557 TESTINST4_2OUT("umlals r0, r1, r2, r3", 0, 0, 0, 0, r0, r1, r2, r3, 0); 6558 TESTINST4_2OUT("umlals r0, r1, r2, r3", 0, 1, 0, 0, r0, r1, r2, r3, 0); 6559 TESTINST4_2OUT("umlals r0, r1, r2, r3", 1, 1, 0, 0, r0, r1, r2, r3, 0); 6560 TESTINST4_2OUT("umlals r0, r1, r2, r3", 0, 0xffffffff, 1, 1, r0, r1, r2, r3, 0); 6561 TESTINST4_2OUT("umlals r0, r1, r2, r3", 0, 0, 0, 1, r0, r1, r2, r3, 0); 6562 TESTINST4_2OUT("umlals r0, r1, r2, r3", 0, 0, 1, 0, r0, r1, r2, r3, 0); 6563 TESTINST4_2OUT("umlals r0, r1, r2, r3", 0, 0, 1, 1, r0, r1, r2, r3, 0); 6564 TESTINST4_2OUT("umlals r0, r1, r2, r3", 0, 0, 0xffff, 0xffff, r0, r1, r2, r3, 0); 6565 TESTINST4_2OUT("umlals r0, r1, r2, r3", 0, 0, 0xffffffff, 0xffffffff, r0, r1, r2, r3, 0); 6566#endif 6567#if 0 6568 printf("SMLAL\n"); 6569 TESTINST4_2OUT("smlal r0, r1, r2, r3", 0, 0, 0, 0, r0, r1, r2, r3, 0); 6570 TESTINST4_2OUT("smlal r0, r1, r2, r3", 0, 1, 0, 0, r0, r1, r2, r3, 0); 6571 TESTINST4_2OUT("smlal r0, r1, r2, r3", 1, 1, 0, 0, r0, r1, r2, r3, 0); 6572 TESTINST4_2OUT("smlal r0, r1, r2, r3", 0, 0xffffffff, 1, 1, r0, r1, r2, r3, 0); 6573 TESTINST4_2OUT("smlal r0, r1, r2, r3", 0, 0, 0, 1, r0, r1, r2, r3, 0); 6574 TESTINST4_2OUT("smlal r0, r1, r2, r3", 0, 0, 1, 0, r0, r1, r2, r3, 0); 6575 TESTINST4_2OUT("smlal r0, r1, r2, r3", 0, 0, 1, 1, r0, r1, r2, r3, 0); 6576 TESTINST4_2OUT("smlal r0, r1, r2, r3", 0, 0, 0xffff, 0xffff, r0, r1, r2, r3, 0); 6577 TESTINST4_2OUT("smlal r0, r1, r2, r3", 0, 0, 0xffffffff, 0xffffffff, r0, r1, r2, r3, 0); 6578#endif 6579#if 0 6580 TESTINST4_2OUT("smlals r0, r1, r2, r3", 0, 0, 0, 0, r0, r1, r2, r3, 0); 6581 TESTINST4_2OUT("smlals r0, r1, r2, r3", 0, 1, 0, 0, r0, r1, r2, r3, 0); 6582 TESTINST4_2OUT("smlals r0, r1, r2, r3", 1, 1, 0, 0, r0, r1, r2, r3, 0); 6583 TESTINST4_2OUT("smlals r0, r1, r2, r3", 0, 0xffffffff, 1, 1, r0, r1, r2, r3, 0); 6584 TESTINST4_2OUT("smlals r0, r1, r2, r3", 0, 0, 0, 1, r0, r1, r2, r3, 0); 6585 TESTINST4_2OUT("smlals r0, r1, r2, r3", 0, 0, 1, 0, r0, r1, r2, r3, 0); 6586 TESTINST4_2OUT("smlals r0, r1, r2, r3", 0, 0, 1, 1, r0, r1, r2, r3, 0); 6587 TESTINST4_2OUT("smlals r0, r1, r2, r3", 0, 0, 0xffff, 0xffff, r0, r1, r2, r3, 0); 6588 TESTINST4_2OUT("smlals r0, r1, r2, r3", 0, 0, 0xffffffff, 0xffffffff, r0, r1, r2, r3, 0); 6589#endif 6590 printf("CLZ\n"); 6591 TESTCARRY 6592 TESTINST2("clz r0, r1", 0, r0, r1, cv); 6593 TESTINST2("clz r0, r1", 1, r0, r1, cv); 6594 TESTINST2("clz r0, r1", 0x10, r0, r1, cv); 6595 TESTINST2("clz r0, r1", 0xffffffff, r0, r1, cv); 6596 TESTCARRYEND 6597 6598 printf("extend instructions\n"); 6599 TESTINST2("uxtb r0, r1", 0, r0, r1, 0); 6600 TESTINST2("uxtb r0, r1", 1, r0, r1, 0); 6601 TESTINST2("uxtb r0, r1", 0xff, r0, r1, 0); 6602 TESTINST2("uxtb r0, r1", 0xffffffff, r0, r1, 0); 6603 TESTINST2("sxtb r0, r1", 0, r0, r1, 0); 6604 TESTINST2("sxtb r0, r1", 1, r0, r1, 0); 6605 TESTINST2("sxtb r0, r1", 0xff, r0, r1, 0); 6606 TESTINST2("sxtb r0, r1", 0xffffffff, r0, r1, 0); 6607 6608 TESTINST2("uxth r0, r1", 0, r0, r1, 0); 6609 TESTINST2("uxth r0, r1", 1, r0, r1, 0); 6610 TESTINST2("uxth r0, r1", 0xffff, r0, r1, 0); 6611 TESTINST2("uxth r0, r1", 0xffffffff, r0, r1, 0); 6612 TESTINST2("sxth r0, r1", 0, r0, r1, 0); 6613 TESTINST2("sxth r0, r1", 1, r0, r1, 0); 6614 TESTINST2("sxth r0, r1", 0x7fff, r0, r1, 0); 6615 TESTINST2("sxth r0, r1", 0xffff, r0, r1, 0); 6616 TESTINST2("sxth r0, r1", 0x10ffff, r0, r1, 0); 6617 TESTINST2("sxth r0, r1", 0x107fff, r0, r1, 0); 6618 TESTINST2("sxth r0, r1", 0xffffffff, r0, r1, 0); 6619 6620 TESTINST2("uxtb r0, r1, ror #0", 0x000000ff, r0, r1, 0); 6621 TESTINST2("uxtb r0, r1, ror #8", 0x000000ff, r0, r1, 0); 6622 TESTINST2("uxtb r0, r1, ror #8", 0x0000ff00, r0, r1, 0); 6623 TESTINST2("uxtb r0, r1, ror #16", 0x00ff0000, r0, r1, 0); 6624 TESTINST2("uxtb r0, r1, ror #24", 0xff000000, r0, r1, 0); 6625#if 0 6626 TESTINST2("uxtb16 r0, r1", 0xffffffff, r0, r1, 0); 6627 TESTINST2("uxtb16 r0, r1, ror #16", 0x0000ffff, r0, r1, 0); 6628 TESTINST2("sxtb16 r0, r1", 0xffffffff, r0, r1, 0); 6629 TESTINST2("sxtb16 r0, r1", 0x00ff00ff, r0, r1, 0); 6630 TESTINST2("sxtb16 r0, r1", 0x007f007f, r0, r1, 0); 6631#endif 6632 printf("------------ BFI ------------\n"); 6633 6634 /* bfi rDst, rSrc, #lsb-in-dst, #number-of-bits-to-copy */ 6635 TESTINST2("bfi r0, r1, #0, #11", 0xAAAAAAAA, r0, r1, 0); 6636 TESTINST2("bfi r0, r1, #1, #11", 0xAAAAAAAA, r0, r1, 0); 6637 TESTINST2("bfi r0, r1, #2, #11", 0xAAAAAAAA, r0, r1, 0); 6638 6639 TESTINST2("bfi r0, r1, #19, #11", 0xFFFFFFFF, r0, r1, 0); 6640 TESTINST2("bfi r0, r1, #20, #11", 0xFFFFFFFF, r0, r1, 0); 6641 TESTINST2("bfi r0, r1, #21, #11", 0xFFFFFFFF, r0, r1, 0); 6642 6643 TESTINST2("bfi r0, r1, #0, #32", 0xFFFFFFFF, r0, r1, 0); 6644 TESTINST2("bfi r0, r1, #1, #31", 0xFFFFFFFF, r0, r1, 0); 6645 6646 TESTINST2("bfi r0, r1, #29, #3", 0xFFFFFFFF, r0, r1, 0); 6647 TESTINST2("bfi r0, r1, #30, #2", 0xFFFFFFFF, r0, r1, 0); 6648 TESTINST2("bfi r0, r1, #31, #1", 0xFFFFFFFF, r0, r1, 0); 6649 6650 printf("------------ BFC ------------\n"); 6651 6652 /* bfi rDst, #lsb-in-dst, #number-of-bits-to-copy */ 6653 TESTINST2("bfc r0, #0, #11", 0xAAAAAAAA, r0, r1, 0); 6654 TESTINST2("bfc r0, #1, #11", 0xAAAAAAAA, r0, r1, 0); 6655 TESTINST2("bfc r0, #2, #11", 0xAAAAAAAA, r0, r1, 0); 6656 6657 TESTINST2("bfc r0, #19, #11", 0xFFFFFFFF, r0, r1, 0); 6658 TESTINST2("bfc r0, #20, #11", 0xFFFFFFFF, r0, r1, 0); 6659 TESTINST2("bfc r0, #21, #11", 0xFFFFFFFF, r0, r1, 0); 6660 6661 TESTINST2("bfc r0, #0, #32", 0xFFFFFFFF, r0, r1, 0); 6662 TESTINST2("bfc r0, #1, #31", 0xFFFFFFFF, r0, r1, 0); 6663 6664 TESTINST2("bfc r0, #29, #3", 0xFFFFFFFF, r0, r1, 0); 6665 TESTINST2("bfc r0, #30, #2", 0xFFFFFFFF, r0, r1, 0); 6666 TESTINST2("bfc r0, #31, #1", 0xFFFFFFFF, r0, r1, 0); 6667 6668 printf("------------ SBFX ------------\n"); 6669 6670 /* sbfx rDst, rSrc, #lsb, #width */ 6671 TESTINST2("sbfx r0, r1, #0, #1", 0x00000000, r0, r1, 0); 6672 TESTINST2("sbfx r0, r1, #0, #1", 0x00000001, r0, r1, 0); 6673 TESTINST2("sbfx r0, r1, #1, #1", 0x00000000, r0, r1, 0); 6674 TESTINST2("sbfx r0, r1, #1, #1", 0x00000001, r0, r1, 0); 6675 TESTINST2("sbfx r0, r1, #1, #1", 0x00000002, r0, r1, 0); 6676 TESTINST2("sbfx r0, r1, #1, #1", 0x00000003, r0, r1, 0); 6677 6678 TESTINST2("sbfx r0, r1, #0, #2", 0x00000000, r0, r1, 0); 6679 TESTINST2("sbfx r0, r1, #0, #2", 0x00000001, r0, r1, 0); 6680 TESTINST2("sbfx r0, r1, #1, #2", 0x00000000, r0, r1, 0); 6681 TESTINST2("sbfx r0, r1, #1, #2", 0x00000001, r0, r1, 0); 6682 TESTINST2("sbfx r0, r1, #1, #2", 0x00000002, r0, r1, 0); 6683 TESTINST2("sbfx r0, r1, #1, #2", 0x00000003, r0, r1, 0); 6684 6685 TESTINST2("sbfx r0, r1, #0, #11", 0xAAAAAAAA, r0, r1, 0); 6686 TESTINST2("sbfx r0, r1, #1, #11", 0xAAAAAAAA, r0, r1, 0); 6687 TESTINST2("sbfx r0, r1, #2, #11", 0xAAAAAAAA, r0, r1, 0); 6688 6689 TESTINST2("sbfx r0, r1, #2, #11", 0xAAAAAAAA, r0, r1, 0); 6690 6691 TESTINST2("sbfx r0, r1, #31, #1", 0xAAAAAAAA, r0, r1, 0); 6692 TESTINST2("sbfx r0, r1, #30, #2", 0xAAAAAAAA, r0, r1, 0); 6693 6694 printf("------------ UBFX ------------\n"); 6695 6696 /* ubfx rDst, rSrc, #lsb, #width */ 6697 TESTINST2("ubfx r0, r1, #0, #1", 0x00000000, r0, r1, 0); 6698 TESTINST2("ubfx r0, r1, #0, #1", 0x00000001, r0, r1, 0); 6699 TESTINST2("ubfx r0, r1, #1, #1", 0x00000000, r0, r1, 0); 6700 TESTINST2("ubfx r0, r1, #1, #1", 0x00000001, r0, r1, 0); 6701 TESTINST2("ubfx r0, r1, #1, #1", 0x00000002, r0, r1, 0); 6702 TESTINST2("ubfx r0, r1, #1, #1", 0x00000003, r0, r1, 0); 6703 6704 TESTINST2("ubfx r0, r1, #0, #2", 0x00000000, r0, r1, 0); 6705 TESTINST2("ubfx r0, r1, #0, #2", 0x00000001, r0, r1, 0); 6706 TESTINST2("ubfx r0, r1, #1, #2", 0x00000000, r0, r1, 0); 6707 TESTINST2("ubfx r0, r1, #1, #2", 0x00000001, r0, r1, 0); 6708 TESTINST2("ubfx r0, r1, #1, #2", 0x00000002, r0, r1, 0); 6709 TESTINST2("ubfx r0, r1, #1, #2", 0x00000003, r0, r1, 0); 6710 6711 TESTINST2("ubfx r0, r1, #0, #11", 0xAAAAAAAA, r0, r1, 0); 6712 TESTINST2("ubfx r0, r1, #1, #11", 0xAAAAAAAA, r0, r1, 0); 6713 TESTINST2("ubfx r0, r1, #2, #11", 0xAAAAAAAA, r0, r1, 0); 6714 6715 TESTINST2("ubfx r0, r1, #2, #11", 0xAAAAAAAA, r0, r1, 0); 6716 6717 TESTINST2("ubfx r0, r1, #31, #1", 0xAAAAAAAA, r0, r1, 0); 6718 TESTINST2("ubfx r0, r1, #30, #2", 0xAAAAAAAA, r0, r1, 0); 6719 6720 printf("------------ SMULL{B,T}{B,T} ------------\n"); 6721 /* SMULxx rD, rN, rM */ 6722 6723 TESTINST3("smulbb r0, r1, r2", 0x00030000, 0x00040000, r0, r1, r2, 0); 6724 TESTINST3("smulbb r0, r1, r2", 0x00030001, 0x00040002, r0, r1, r2, 0); 6725 TESTINST3("smulbb r0, r1, r2", 0x00038001, 0x00047fff, r0, r1, r2, 0); 6726 TESTINST3("smulbb r0, r1, r2", 0x00037fff, 0x00047fff, r0, r1, r2, 0); 6727 TESTINST3("smulbb r0, r1, r2", 0x0003ffff, 0x0004ffff, r0, r1, r2, 0); 6728 6729 printf("------------ SXTAB ------------\n"); 6730 TESTINST3("sxtab r0, r1, r2, ROR #24", 0x31415927, 0x27182819, 6731 r0, r1, r2, 0); 6732 TESTINST3("sxtab r0, r1, r2, ROR #16", 0x31415927, 0x27182819, 6733 r0, r1, r2, 0); 6734 TESTINST3("sxtab r0, r1, r2, ROR #8", 0x31415927, 0x27182819, 6735 r0, r1, r2, 0); 6736 TESTINST3("sxtab r0, r1, r2, ROR #0", 0x31415927, 0x27182819, 6737 r0, r1, r2, 0); 6738 6739 TESTINST3("sxtab r0, r1, r2, ROR #24", 0x31415927, 0x27182899, 6740 r0, r1, r2, 0); 6741 TESTINST3("sxtab r0, r1, r2, ROR #16", 0x31415927, 0x27182899, 6742 r0, r1, r2, 0); 6743 TESTINST3("sxtab r0, r1, r2, ROR #8", 0x31415927, 0x27182899, 6744 r0, r1, r2, 0); 6745 TESTINST3("sxtab r0, r1, r2, ROR #0", 0x31415927, 0x27182899, 6746 r0, r1, r2, 0); 6747#if 0 6748 printf("------------ SXTAB16 ------------\n"); 6749 TESTINST3("sxtab16 r0, r1, r2, ROR #24", 0x31415927, 0x27182819, 6750 r0, r1, r2, 0); 6751 TESTINST3("sxtab16 r0, r1, r2, ROR #16", 0x31415927, 0x27182819, 6752 r0, r1, r2, 0); 6753 TESTINST3("sxtab16 r0, r1, r2, ROR #8", 0x31415927, 0x27182819, 6754 r0, r1, r2, 0); 6755 TESTINST3("sxtab16 r0, r1, r2, ROR #0", 0x31415927, 0x27182819, 6756 r0, r1, r2, 0); 6757 6758 TESTINST3("sxtab16 r0, r1, r2, ROR #24", 0x31415927, 0x27182899, 6759 r0, r1, r2, 0); 6760 TESTINST3("sxtab16 r0, r1, r2, ROR #16", 0x31415927, 0x27182899, 6761 r0, r1, r2, 0); 6762 TESTINST3("sxtab16 r0, r1, r2, ROR #8", 0x31415927, 0x27182899, 6763 r0, r1, r2, 0); 6764 TESTINST3("sxtab16 r0, r1, r2, ROR #0", 0x31415927, 0x27182899, 6765 r0, r1, r2, 0); 6766#endif 6767 printf("------------ UXTAB ------------\n"); 6768 TESTINST3("uxtab r0, r1, r2, ROR #24", 0x31415927, 0x27182819, 6769 r0, r1, r2, 0); 6770 TESTINST3("uxtab r0, r1, r2, ROR #16", 0x31415927, 0x27182819, 6771 r0, r1, r2, 0); 6772 TESTINST3("uxtab r0, r1, r2, ROR #8", 0x31415927, 0x27182819, 6773 r0, r1, r2, 0); 6774 TESTINST3("uxtab r0, r1, r2, ROR #0", 0x31415927, 0x27182819, 6775 r0, r1, r2, 0); 6776 6777 TESTINST3("uxtab r0, r1, r2, ROR #24", 0x31415927, 0x27182899, 6778 r0, r1, r2, 0); 6779 TESTINST3("uxtab r0, r1, r2, ROR #16", 0x31415927, 0x27182899, 6780 r0, r1, r2, 0); 6781 TESTINST3("uxtab r0, r1, r2, ROR #8", 0x31415927, 0x27182899, 6782 r0, r1, r2, 0); 6783 TESTINST3("uxtab r0, r1, r2, ROR #0", 0x31415927, 0x27182899, 6784 r0, r1, r2, 0); 6785#if 0 6786 printf("------------ UXTAB16 ------------\n"); 6787 TESTINST3("uxtab16 r0, r1, r2, ROR #24", 0x31415927, 0x27182819, 6788 r0, r1, r2, 0); 6789 TESTINST3("uxtab16 r0, r1, r2, ROR #16", 0x31415927, 0x27182819, 6790 r0, r1, r2, 0); 6791 TESTINST3("uxtab16 r0, r1, r2, ROR #8", 0x31415927, 0x27182819, 6792 r0, r1, r2, 0); 6793 TESTINST3("uxtab16 r0, r1, r2, ROR #0", 0x31415927, 0x27182819, 6794 r0, r1, r2, 0); 6795 6796 TESTINST3("uxtab16 r0, r1, r2, ROR #24", 0x31415927, 0x27182899, 6797 r0, r1, r2, 0); 6798 TESTINST3("uxtab16 r0, r1, r2, ROR #16", 0x31415927, 0x27182899, 6799 r0, r1, r2, 0); 6800 TESTINST3("uxtab16 r0, r1, r2, ROR #8", 0x31415927, 0x27182899, 6801 r0, r1, r2, 0); 6802 TESTINST3("uxtab16 r0, r1, r2, ROR #0", 0x31415927, 0x27182899, 6803 r0, r1, r2, 0); 6804#endif 6805 printf("------------ SXTAH ------------\n"); 6806 TESTINST3("sxtah r0, r1, r2, ROR #24", 0x31415927, 0x27182819, 6807 r0, r1, r2, 0); 6808 TESTINST3("sxtah r0, r1, r2, ROR #16", 0x31415927, 0x27182819, 6809 r0, r1, r2, 0); 6810 TESTINST3("sxtah r0, r1, r2, ROR #8 ", 0x31415927, 0x27182819, 6811 r0, r1, r2, 0); 6812 TESTINST3("sxtah r0, r1, r2, ROR #0 ", 0x31415927, 0x27182819, 6813 r0, r1, r2, 0); 6814 6815 TESTINST3("sxtah r0, r1, r2, ROR #24", 0x31415927, 0x27189819, 6816 r0, r1, r2, 0); 6817 TESTINST3("sxtah r0, r1, r2, ROR #16", 0x31415927, 0x27189819, 6818 r0, r1, r2, 0); 6819 TESTINST3("sxtah r0, r1, r2, ROR #8 ", 0x31415927, 0x27189819, 6820 r0, r1, r2, 0); 6821 TESTINST3("sxtah r0, r1, r2, ROR #0 ", 0x31415927, 0x27189819, 6822 r0, r1, r2, 0); 6823 6824 printf("------------ UXTAH ------------\n"); 6825 TESTINST3("uxtah r0, r1, r2, ROR #24", 0x31415927, 0x27182819, 6826 r0, r1, r2, 0); 6827 TESTINST3("uxtah r0, r1, r2, ROR #16", 0x31415927, 0x27182819, 6828 r0, r1, r2, 0); 6829 TESTINST3("uxtah r0, r1, r2, ROR #8 ", 0x31415927, 0x27182819, 6830 r0, r1, r2, 0); 6831 TESTINST3("uxtah r0, r1, r2, ROR #0 ", 0x31415927, 0x27182819, 6832 r0, r1, r2, 0); 6833 6834 TESTINST3("uxtah r0, r1, r2, ROR #24", 0x31415927, 0x27189819, 6835 r0, r1, r2, 0); 6836 TESTINST3("uxtah r0, r1, r2, ROR #16", 0x31415927, 0x27189819, 6837 r0, r1, r2, 0); 6838 TESTINST3("uxtah r0, r1, r2, ROR #8 ", 0x31415927, 0x27189819, 6839 r0, r1, r2, 0); 6840 TESTINST3("uxtah r0, r1, r2, ROR #0 ", 0x31415927, 0x27189819, 6841 r0, r1, r2, 0); 6842#if 0 6843 printf("------------ PLD/PLDW (begin) ------------\n"); 6844 /* These don't have any effect on the architected state, so, 6845 uh, there's no result values to check. Just _do_ some of 6846 them and check Valgrind's instruction decoder eats them up 6847 without complaining. */ 6848 { int alocal; 6849 printf("pld reg +/- imm12 cases\n"); 6850 __asm__ __volatile__( "pld [%0, #128]" : :/*in*/"r"(&alocal) ); 6851 __asm__ __volatile__( "pld [%0, #-128]" : :/*in*/"r"(&alocal) ); 6852 __asm__ __volatile__( "pld [r15, #-128]" : :/*in*/"r"(&alocal) ); 6853 6854 // apparently pldw is v7 only 6855 //__asm__ __volatile__( "pldw [%0, #128]" : :/*in*/"r"(&alocal) ); 6856 //__asm__ __volatile__( "pldw [%0, #-128]" : :/*in*/"r"(&alocal) ); 6857 //__asm__ __volatile__( "pldw [r15, #128]" : :/*in*/"r"(&alocal) ); 6858 6859 printf("pld reg +/- shifted reg cases\n"); 6860 __asm__ __volatile__( "pld [%0, %1]" : : /*in*/"r"(&alocal), "r"(0) ); 6861 __asm__ __volatile__( "pld [%0, %1, LSL #1]" : : /*in*/"r"(&alocal), "r"(0) ); 6862#if 0 6863 __asm__ __volatile__( "pld [%0, %1, LSR #1]" : : /*in*/"r"(&alocal), "r"(0) ); 6864 __asm__ __volatile__( "pld [%0, %1, ASR #1]" : : /*in*/"r"(&alocal), "r"(0) ); 6865 __asm__ __volatile__( "pld [%0, %1, ROR #1]" : : /*in*/"r"(&alocal), "r"(0) ); 6866 __asm__ __volatile__( "pld [%0, %1, RRX]" : : /*in*/"r"(&alocal), "r"(0) ); 6867#endif 6868 } 6869 printf("------------ PLD/PLDW (done) ------------\n"); 6870#endif 6871 6872 return 0; 6873} 6874 6875 6876//////////////////////////////////////////////////////////// 6877//////////////////////////////////////////////////////////// 6878/////////////////////////////////////////////////////////// 6879/////////////////////////////////////////////////////////// 6880 6881 6882int main ( void ) 6883{ 6884 // 16 bit instructions 6885 6886 printf("CMP-16 0x10a\n"); 6887 TESTCARRY 6888 TESTINST3("cmp r3, r6", 0, 0, r6/*fake*/, r3, r6, 0); 6889 TESTINST3("cmp r3, r6", 1, 0, r6/*fake*/, r3, r6, 0); 6890 TESTINST3("cmp r3, r6", 0, 1, r6/*fake*/, r3, r6, 0); 6891 TESTINST3("cmp r3, r6", -1, 0, r6/*fake*/, r3, r6, 0); 6892 TESTINST3("cmp r3, r6", 0, -1, r6/*fake*/, r3, r6, 0); 6893 TESTINST3("cmp r3, r6", 0, 0x80000000, r6/*fake*/, r3, r6, 0); 6894 TESTINST3("cmp r3, r6", 0x80000000, 0, r6/*fake*/, r3, r6, 0); 6895 TESTCARRYEND 6896 6897 printf("CMN-16 0x10a\n"); 6898 TESTCARRY 6899 TESTINST3("cmn r3, r6", 0, 0, r6/*fake*/, r3, r6, 0); 6900 TESTINST3("cmn r3, r6", 1, 0, r6/*fake*/, r3, r6, 0); 6901 TESTINST3("cmn r3, r6", 0, 1, r6/*fake*/, r3, r6, 0); 6902 TESTINST3("cmn r3, r6", -1, 0, r6/*fake*/, r3, r6, 0); 6903 TESTINST3("cmn r3, r6", 0, -1, r6/*fake*/, r3, r6, 0); 6904 TESTINST3("cmn r3, r6", 0, 0x80000000, r6/*fake*/, r3, r6, 0); 6905 TESTINST3("cmn r3, r6", 0x80000000, 0, r6/*fake*/, r3, r6, 0); 6906 TESTCARRYEND 6907 6908 printf("TST-16 0x108\n"); 6909 TESTCARRY 6910 TESTINST3("tst r3, r6", 0, 0, r6/*fake*/, r3, r6, cv); 6911 TESTINST3("tst r3, r6", 1, 0, r6/*fake*/, r3, r6, cv); 6912 TESTINST3("tst r3, r6", 0, 1, r6/*fake*/, r3, r6, cv); 6913 TESTINST3("tst r3, r6", 1, 1, r6/*fake*/, r3, r6, cv); 6914 TESTINST3("tst r3, r6", -1, 0, r6/*fake*/, r3, r6, cv); 6915 TESTINST3("tst r3, r6", 0, -1, r6/*fake*/, r3, r6, cv); 6916 TESTINST3("tst r3, r6", -1, -1, r6/*fake*/, r3, r6, cv); 6917 TESTCARRYEND 6918 6919 printf("NEGS-16 0x109\n"); 6920 TESTINST2("negs r0, r1", 1, r0, r1, 0); 6921 TESTCARRY 6922 TESTINST2("negs r0, r1", 1, r0, r1, cv); 6923 TESTINST2("negs r0, r1", 0, r0, r1, cv); 6924 TESTINST2("negs r0, r1", 0x80000000, r0, r1, cv); 6925 TESTINST2("negs r0, r1", 0x80000001, r0, r1, cv); 6926 TESTINST2("negs r0, r1", 0xFFFFFFFF, r0, r1, cv); 6927 TESTINST2("negs r0, r1", 0x7FFFFFFF, r0, r1, cv); 6928 TESTCARRYEND 6929 6930 printf("MVNS-16 0x10F\n"); 6931 TESTINST2("mvns r0, r1", 1, r0, r1, 0); 6932 TESTCARRY 6933 TESTINST2("mvns r0, r1", 1, r0, r1, cv); 6934 TESTINST2("mvns r0, r1", 0, r0, r1, cv); 6935 TESTINST2("mvns r0, r1", 0x80000000, r0, r1, cv); 6936 TESTINST2("mvns r0, r1", 0x80000001, r0, r1, cv); 6937 TESTINST2("mvns r0, r1", 0xFFFFFFFF, r0, r1, cv); 6938 TESTINST2("mvns r0, r1", 0x7FFFFFFF, r0, r1, cv); 6939 TESTCARRYEND 6940 6941 printf("ORRS-16 0x10C\n"); 6942 TESTCARRY 6943 TESTINST2x("orrs r1, r2", 0x31415927, 0x27181728, r1, r2, cv); 6944 TESTINST2x("orrs r1, r2", 0x00000000, 0x00000000, r1, r2, cv); 6945 TESTINST2x("orrs r1, r2", 0x00000001, 0x00000000, r1, r2, cv); 6946 TESTINST2x("orrs r1, r2", 0x00000000, 0x00000001, r1, r2, cv); 6947 TESTINST2x("orrs r1, r2", 0x80000000, 0x00000000, r1, r2, cv); 6948 TESTINST2x("orrs r1, r2", 0x00000000, 0x80000000, r1, r2, cv); 6949 TESTINST2x("orrs r1, r2", 0x80000000, 0x80000000, r1, r2, cv); 6950 TESTCARRYEND 6951 6952 printf("ANDS-16 0x100\n"); 6953 TESTCARRY 6954 TESTINST2x("ands r1, r2", 0x31415927, 0x27181728, r1, r2, cv); 6955 TESTINST2x("ands r1, r2", 0x00000000, 0x00000000, r1, r2, cv); 6956 TESTINST2x("ands r1, r2", 0x00000001, 0x00000000, r1, r2, cv); 6957 TESTINST2x("ands r1, r2", 0x00000000, 0x00000001, r1, r2, cv); 6958 TESTINST2x("ands r1, r2", 0x80000000, 0x00000000, r1, r2, cv); 6959 TESTINST2x("ands r1, r2", 0x00000000, 0x80000000, r1, r2, cv); 6960 TESTINST2x("ands r1, r2", 0x80000000, 0x80000000, r1, r2, cv); 6961 TESTCARRYEND 6962 6963 printf("EORS-16 0x101\n"); 6964 TESTCARRY 6965 TESTINST2x("eors r1, r2", 0x31415927, 0x27181728, r1, r2, cv); 6966 TESTINST2x("eors r1, r2", 0x00000000, 0x00000000, r1, r2, cv); 6967 TESTINST2x("eors r1, r2", 0x00000001, 0x00000000, r1, r2, cv); 6968 TESTINST2x("eors r1, r2", 0x00000000, 0x00000001, r1, r2, cv); 6969 TESTINST2x("eors r1, r2", 0x80000000, 0x00000000, r1, r2, cv); 6970 TESTINST2x("eors r1, r2", 0x00000000, 0x80000000, r1, r2, cv); 6971 TESTINST2x("eors r1, r2", 0x80000000, 0x80000000, r1, r2, cv); 6972 TESTCARRYEND 6973 6974 printf("MULS-16 0x10d\n"); 6975 TESTCARRY 6976 TESTINST2x("muls r1, r2", 0x31415927, 0x27181728, r1, r2, cv); 6977 TESTINST2x("muls r1, r2", 0x00000000, 0x00000000, r1, r2, cv); 6978 TESTINST2x("muls r1, r2", 0x00000001, 0x00000000, r1, r2, cv); 6979 TESTINST2x("muls r1, r2", 0x00000000, 0x00000001, r1, r2, cv); 6980 TESTINST2x("muls r1, r2", 0x80000000, 0x00000000, r1, r2, cv); 6981 TESTINST2x("muls r1, r2", 0x00000000, 0x80000000, r1, r2, cv); 6982 TESTINST2x("muls r1, r2", 0x80000000, 0x80000000, r1, r2, cv); 6983 TESTCARRYEND 6984 6985 printf("BICS-16 0x10E\n"); 6986 TESTCARRY 6987 TESTINST2x("bics r1, r2", 0x31415927, 0x27181728, r1, r2, cv); 6988 TESTINST2x("bics r1, r2", 0x00000000, 0x00000000, r1, r2, cv); 6989 TESTINST2x("bics r1, r2", 0x00000001, 0x00000000, r1, r2, cv); 6990 TESTINST2x("bics r1, r2", 0x00000000, 0x00000001, r1, r2, cv); 6991 TESTINST2x("bics r1, r2", 0x80000000, 0x00000000, r1, r2, cv); 6992 TESTINST2x("bics r1, r2", 0x00000000, 0x80000000, r1, r2, cv); 6993 TESTINST2x("bics r1, r2", 0x80000000, 0x80000000, r1, r2, cv); 6994 TESTCARRYEND 6995 6996 printf("ADCS-16 0x105\n"); 6997 TESTCARRY 6998 TESTINST2x("adcs r1, r2", 0x31415927, 0x27181728, r1, r2, cv); 6999 TESTINST2x("adcs r1, r2", 0x00000000, 0x00000000, r1, r2, cv); 7000 TESTINST2x("adcs r1, r2", 0x00000001, 0x00000000, r1, r2, cv); 7001 TESTINST2x("adcs r1, r2", 0x00000000, 0x00000001, r1, r2, cv); 7002 TESTINST2x("adcs r1, r2", 0x80000000, 0x00000000, r1, r2, cv); 7003 TESTINST2x("adcs r1, r2", 0x00000000, 0x80000000, r1, r2, cv); 7004 TESTINST2x("adcs r1, r2", 0x80000000, 0x80000000, r1, r2, cv); 7005 TESTCARRYEND 7006 7007 printf("SBCS-16 0x100\n"); 7008 TESTCARRY 7009 TESTINST2x("sbcs r1, r2", 0x31415927, 0x27181728, r1, r2, cv); 7010 TESTINST2x("sbcs r1, r2", 0x00000000, 0x00000000, r1, r2, cv); 7011 TESTINST2x("sbcs r1, r2", 0x00000001, 0x00000000, r1, r2, cv); 7012 TESTINST2x("sbcs r1, r2", 0x00000000, 0x00000001, r1, r2, cv); 7013 TESTINST2x("sbcs r1, r2", 0x80000000, 0x00000000, r1, r2, cv); 7014 TESTINST2x("sbcs r1, r2", 0x00000000, 0x80000000, r1, r2, cv); 7015 TESTINST2x("sbcs r1, r2", 0x80000000, 0x80000000, r1, r2, cv); 7016 TESTCARRYEND 7017 7018 printf("UXTB-16 0x2CB\n"); 7019 TESTCARRY 7020 TESTINST2("uxtb r1, r2", 0x31415927, r1, r2, cv); 7021 TESTINST2("uxtb r1, r2", 0x31415997, r1, r2, cv); 7022 TESTCARRYEND 7023 7024 printf("SXTB-16 0x2C9\n"); 7025 TESTCARRY 7026 TESTINST2("sxtb r1, r2", 0x31415927, r1, r2, cv); 7027 TESTINST2("sxtb r1, r2", 0x31415997, r1, r2, cv); 7028 TESTCARRYEND 7029 7030 printf("UXTH-16 0x2CA\n"); 7031 TESTCARRY 7032 TESTINST2("uxth r1, r2", 0x31415927, r1, r2, cv); 7033 TESTINST2("uxth r1, r2", 0x31419597, r1, r2, cv); 7034 TESTCARRYEND 7035 7036 printf("SXTH-16 0x2C8\n"); 7037 TESTCARRY 7038 TESTINST2("sxth r1, r2", 0x31415927, r1, r2, cv); 7039 TESTINST2("sxth r1, r2", 0x31419597, r1, r2, cv); 7040 TESTCARRYEND 7041 7042 printf("LSLS-16 0x102\n"); 7043 TESTCARRY 7044 TESTINST2x("lsls r1, r2", 0x31415927, 0x00000000, r1, r2, cv); 7045 TESTINST2x("lsls r1, r2", 0x31415927, 0x00000001, r1, r2, cv); 7046 TESTINST2x("lsls r1, r2", 0x31415927, 0x00000002, r1, r2, cv); 7047 TESTINST2x("lsls r1, r2", 0x31415927, 0x0000000F, r1, r2, cv); 7048 TESTINST2x("lsls r1, r2", 0x31415927, 0x00000010, r1, r2, cv); 7049 TESTINST2x("lsls r1, r2", 0x31415927, 0x0000001F, r1, r2, cv); 7050 TESTINST2x("lsls r1, r2", 0x31415927, 0x00000020, r1, r2, cv); 7051 TESTINST2x("lsls r1, r2", 0x31415927, 0x00000021, r1, r2, cv); 7052 TESTCARRYEND 7053 7054 printf("LSRS-16 0x103\n"); 7055 TESTCARRY 7056 TESTINST2x("lsrs r1, r2", 0x31415927, 0x00000000, r1, r2, cv); 7057 TESTINST2x("lsrs r1, r2", 0x31415927, 0x00000001, r1, r2, cv); 7058 TESTINST2x("lsrs r1, r2", 0x31415927, 0x00000002, r1, r2, cv); 7059 TESTINST2x("lsrs r1, r2", 0x31415927, 0x0000000F, r1, r2, cv); 7060 TESTINST2x("lsrs r1, r2", 0x31415927, 0x00000010, r1, r2, cv); 7061 TESTINST2x("lsrs r1, r2", 0x31415927, 0x0000001F, r1, r2, cv); 7062 TESTINST2x("lsrs r1, r2", 0x31415927, 0x00000020, r1, r2, cv); 7063 TESTINST2x("lsrs r1, r2", 0x31415927, 0x00000021, r1, r2, cv); 7064 TESTCARRYEND 7065 7066 printf("ASRS-16 0x104\n"); 7067 TESTCARRY 7068 TESTINST2x("asrs r1, r2", 0x31415927, 0x00000000, r1, r2, cv); 7069 TESTINST2x("asrs r1, r2", 0x91415927, 0x00000001, r1, r2, cv); 7070 TESTINST2x("asrs r1, r2", 0x31415927, 0x00000002, r1, r2, cv); 7071 TESTINST2x("asrs r1, r2", 0x91415927, 0x0000000F, r1, r2, cv); 7072 TESTINST2x("asrs r1, r2", 0x31415927, 0x00000010, r1, r2, cv); 7073 TESTINST2x("asrs r1, r2", 0x91415927, 0x0000001F, r1, r2, cv); 7074 TESTINST2x("asrs r1, r2", 0x31415927, 0x00000020, r1, r2, cv); 7075 TESTINST2x("asrs r1, r2", 0x91415927, 0x00000021, r1, r2, cv); 7076 TESTCARRYEND 7077 7078 printf("RORS-16 0x107\n"); 7079 TESTCARRY 7080 TESTINST2x("rors r1, r2", 0x31415927, 0x00000000, r1, r2, cv); 7081 TESTINST2x("rors r1, r2", 0x31415927, 0x00000001, r1, r2, cv); 7082 TESTINST2x("rors r1, r2", 0x31415927, 0x00000002, r1, r2, cv); 7083 TESTINST2x("rors r1, r2", 0x31415927, 0x0000000F, r1, r2, cv); 7084 TESTINST2x("rors r1, r2", 0x31415927, 0x00000010, r1, r2, cv); 7085 TESTINST2x("rors r1, r2", 0x31415927, 0x0000001F, r1, r2, cv); 7086 TESTINST2x("rors r1, r2", 0x31415927, 0x00000020, r1, r2, cv); 7087 TESTINST2x("rors r1, r2", 0x31415927, 0x00000021, r1, r2, cv); 7088 TESTCARRYEND 7089 7090 printf("ADD(HI)-16\n"); 7091 TESTCARRY 7092 TESTINST2x("add r5, r12", 0x31415927, 0x12345678, r5, r12, cv); 7093 TESTINST2x("add r4, r9 ", 0x31415927, 0x12345678, r4, r9, cv); 7094 TESTCARRYEND 7095 7096 printf("CMP(HI)-16 0x10a\n"); 7097 TESTCARRY 7098 TESTINST3("cmp r5, r12", 0, 0, r12/*fake*/, r5, r12, 0); 7099 TESTINST3("cmp r5, r12", 1, 0, r12/*fake*/, r5, r12, 0); 7100 TESTINST3("cmp r5, r12", 0, 1, r12/*fake*/, r5, r12, 0); 7101 TESTINST3("cmp r5, r12", -1, 0, r12/*fake*/, r5, r12, 0); 7102 TESTINST3("cmp r5, r12", 0, -1, r12/*fake*/, r5, r12, 0); 7103 TESTINST3("cmp r5, r12", 0, 0x80000000, r12/*fake*/, r5, r12, 0); 7104 TESTINST3("cmp r5, r12", 0x80000000, 0, r12/*fake*/, r5, r12, 0); 7105 TESTCARRYEND 7106 7107 printf("MOV(HI)-16\n"); 7108 TESTCARRY 7109 TESTINST2x("mov r5, r12", 0x31415927, 0x12345678, r5, r12, cv); 7110 TESTINST2x("mov r4, r9 ", 0x31415927, 0x12345678, r4, r9, cv); 7111 TESTCARRYEND 7112 7113 printf("ADDS-16 Rd, Rn, #imm3\n"); 7114 TESTCARRY 7115 TESTINST2x("adds r1, r2, #1", 0x31415927, 0x27181728, r1, r2, cv); 7116 TESTINST2x("adds r1, r2, #7", 0x31415927, 0x97181728, r1, r2, cv); 7117 TESTCARRYEND 7118 7119 printf("ADDS-16 Rd, Rn, Rm\n"); 7120 TESTCARRY 7121 TESTINST3("adds r1, r2, r3", 0x31415927, 0x27181728, r1, r2, r3, cv); 7122 TESTINST3("adds r1, r2, r3", 0x31415927, 0x97181728, r1, r2, r3, cv); 7123 TESTINST3("adds r1, r2, r3", 0, 0, r1, r2, r3, cv); 7124 TESTINST3("adds r1, r2, r3", 1, 0, r1, r2, r3, cv); 7125 TESTINST3("adds r1, r2, r3", 0, 1, r1, r2, r3, cv); 7126 TESTINST3("adds r1, r2, r3", -1, 0, r1, r2, r3, cv); 7127 TESTINST3("adds r1, r2, r3", 0, -1, r1, r2, r3, cv); 7128 TESTINST3("adds r1, r2, r3", 0, 0x80000000, r1, r2, r3, cv); 7129 TESTINST3("adds r1, r2, r3", 0x80000000, 0, r1, r2, r3, cv); 7130 TESTINST3("adds r1, r2, r3", 0x80000000, 0x80000000, r1, r2, r3, cv); 7131 TESTINST3("adds r1, r2, r3", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 7132 TESTINST3("adds r1, r2, r3", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 7133 TESTINST3("adds r1, r2, r3", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 7134 TESTCARRYEND 7135 7136 printf("SUBS-16 Rd, Rn, Rm\n"); 7137 TESTCARRY 7138 TESTINST3("subs r1, r2, r3", 0x31415927, 0x27181728, r1, r2, r3, cv); 7139 TESTINST3("subs r1, r2, r3", 0x31415927, 0x97181728, r1, r2, r3, cv); 7140 TESTINST3("subs r1, r2, r3", 0, 0, r1, r2, r3, cv); 7141 TESTINST3("subs r1, r2, r3", 1, 0, r1, r2, r3, cv); 7142 TESTINST3("subs r1, r2, r3", 0, 1, r1, r2, r3, cv); 7143 TESTINST3("subs r1, r2, r3", -1, 0, r1, r2, r3, cv); 7144 TESTINST3("subs r1, r2, r3", 0, -1, r1, r2, r3, cv); 7145 TESTINST3("subs r1, r2, r3", 0, 0x80000000, r1, r2, r3, cv); 7146 TESTINST3("subs r1, r2, r3", 0x80000000, 0, r1, r2, r3, cv); 7147 TESTINST3("subs r1, r2, r3", 0x80000000, 0x80000000, r1, r2, r3, cv); 7148 TESTINST3("subs r1, r2, r3", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 7149 TESTINST3("subs r1, r2, r3", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 7150 TESTINST3("subs r1, r2, r3", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 7151 TESTCARRYEND 7152 7153 printf("ADDS-16 Rn, #uimm8\n"); 7154 TESTCARRY 7155 TESTINST1x("adds r1, #0 ", 0x31415927, r1, cv); 7156 TESTINST1x("adds r1, #255", 0x31415927, r1, cv); 7157 TESTINST1x("adds r1, #0 ", 0x91415927, r1, cv); 7158 TESTINST1x("adds r1, #255", 0x91415927, r1, cv); 7159 TESTCARRYEND 7160 7161 printf("SUBS-16 Rn, #uimm8\n"); 7162 TESTCARRY 7163 TESTINST1x("subs r1, #0 ", 0x31415927, r1, cv); 7164 TESTINST1x("subs r1, #255", 0x31415927, r1, cv); 7165 TESTINST1x("subs r1, #0 ", 0x91415927, r1, cv); 7166 TESTINST1x("subs r1, #255", 0x91415927, r1, cv); 7167 TESTCARRYEND 7168 7169 printf("CMP-16 Rn, #uimm8\n"); 7170 TESTCARRY 7171 TESTINST1x("cmp r1, #0x80 ", 0x00000080, r1, cv); 7172 TESTINST1x("cmp r1, #0x7f ", 0x00000080, r1, cv); 7173 TESTINST1x("cmp r1, #0x81 ", 0x00000080, r1, cv); 7174 TESTINST1x("cmp r1, #0x80 ", 0xffffff80, r1, cv); 7175 TESTINST1x("cmp r1, #0x7f ", 0xffffff80, r1, cv); 7176 TESTINST1x("cmp r1, #0x81 ", 0xffffff80, r1, cv); 7177 TESTINST1x("cmp r1, #0x01 ", 0x80000000, r1, cv); 7178 TESTCARRYEND 7179 7180 printf("MOVS-16 Rn, #uimm8\n"); 7181 TESTCARRY 7182 TESTINST1x("movs r1, #0 ", 0x31415927, r1, cv); 7183 TESTINST1x("movs r1, #0x7f", 0x31415927, r1, cv); 7184 TESTINST1x("movs r1, #0x80", 0x31415927, r1, cv); 7185 TESTINST1x("movs r1, #0x81", 0x31415927, r1, cv); 7186 TESTINST1x("movs r1, #0xff", 0x31415927, r1, cv); 7187 TESTCARRYEND 7188 7189 printf("LSLS-16 Rd, Rm, imm5\n"); 7190 TESTCARRY 7191 TESTINST2("lsls r1, r2, #0 ", 0x31415927, r1, r2, cv); 7192 TESTINST2("lsls r1, r2, #1 ", 0x31415927, r1, r2, cv); 7193 TESTINST2("lsls r1, r2, #2 ", 0x31415927, r1, r2, cv); 7194 TESTINST2("lsls r1, r2, #0xF ", 0x31415927, r1, r2, cv); 7195 TESTINST2("lsls r1, r2, #0x10", 0x31415927, r1, r2, cv); 7196 TESTINST2("lsls r1, r2, #0x1F", 0x31415927, r1, r2, cv); 7197 TESTCARRYEND 7198 7199 printf("LSRS-16 Rd, Rm, imm5\n"); 7200 TESTCARRY 7201 TESTINST2("lsrs r1, r2, #0 ", 0x31415927, r1, r2, cv); 7202 TESTINST2("lsrs r1, r2, #1 ", 0x31415927, r1, r2, cv); 7203 TESTINST2("lsrs r1, r2, #2 ", 0x31415927, r1, r2, cv); 7204 TESTINST2("lsrs r1, r2, #0xF ", 0x31415927, r1, r2, cv); 7205 TESTINST2("lsrs r1, r2, #0x10", 0x31415927, r1, r2, cv); 7206 TESTINST2("lsrs r1, r2, #0x1F", 0x31415927, r1, r2, cv); 7207 TESTCARRYEND 7208 7209 printf("ASRS-16 Rd, Rm, imm5\n"); 7210 TESTCARRY 7211 TESTINST2("asrs r1, r2, #0 ", 0x31415927, r1, r2, cv); 7212 TESTINST2("asrs r1, r2, #1 ", 0x91415927, r1, r2, cv); 7213 TESTINST2("asrs r1, r2, #2 ", 0x31415927, r1, r2, cv); 7214 TESTINST2("asrs r1, r2, #0xF ", 0x91415927, r1, r2, cv); 7215 TESTINST2("asrs r1, r2, #0x10", 0x31415927, r1, r2, cv); 7216 TESTINST2("asrs r1, r2, #0x1F", 0x91415927, r1, r2, cv); 7217 TESTCARRYEND 7218 7219 // 32 bit instructions 7220 7221 printf("(T3) ADD{S}.W Rd, Rn, #constT [allegedly]\n"); 7222 TESTCARRY 7223 TESTINST2("adds.w r1, r2, #0xffffffff", 0x31415927, r1, r2, cv); 7224 TESTINST2("adds.w r1, r2, #0xee00ee00", 0x31415927, r1, r2, cv); 7225 TESTINST2("adds.w r1, r2, #255 ", 0, r1, r2, cv); 7226 TESTINST2("adds.w r1, r2, #0 ", 1, r1, r2, cv); 7227 TESTINST2("adds.w r1, r2, #1 ", 0, r1, r2, cv); 7228 TESTINST2("adds.w r1, r2, #0 ", -1, r1, r2, cv); 7229 TESTINST2("adds.w r1, r2, #-1 ", 0, r1, r2, cv); 7230 TESTINST2("adds.w r1, r2, #0x80000000", 0, r1, r2, cv); 7231 TESTINST2("adds.w r1, r2, #0 ", 0x80000000, r1, r2, cv); 7232 TESTINST2("adds.w r1, r2, #0x80000000", 0x80000000, r1, r2, cv); 7233 TESTINST2("adds.w r1, r2, #0x80000000", 0x7fffffff, r1, r2, cv); 7234 TESTINST2("adds.w r1, r2, #0xff000000", 0x80000000, r1, r2, cv); 7235 TESTINST2("adds.w r1, r2, #0x0dd00000", 0x7fffffff, r1, r2, cv); 7236 TESTINST2("add.w r1, r2, #0xffffffff", 0x31415927, r1, r2, cv); 7237 TESTINST2("add.w r1, r2, #0xee00ee00", 0x31415927, r1, r2, cv); 7238 TESTINST2("add.w r1, r2, #255 ", 0, r1, r2, cv); 7239 TESTINST2("add.w r1, r2, #0 ", 1, r1, r2, cv); 7240 TESTINST2("add.w r1, r2, #1 ", 0, r1, r2, cv); 7241 TESTINST2("add.w r1, r2, #0 ", -1, r1, r2, cv); 7242 TESTINST2("add.w r1, r2, #-1 ", 0, r1, r2, cv); 7243 TESTINST2("add.w r1, r2, #0x80000000", 0, r1, r2, cv); 7244 TESTINST2("add.w r1, r2, #0 ", 0x80000000, r1, r2, cv); 7245 TESTINST2("add.w r1, r2, #0x80000000", 0x80000000, r1, r2, cv); 7246 TESTINST2("add.w r1, r2, #0x80000000", 0x7fffffff, r1, r2, cv); 7247 TESTINST2("add.w r1, r2, #0xff000000", 0x80000000, r1, r2, cv); 7248 TESTINST2("add.w r1, r2, #0x0dd00000", 0x7fffffff, r1, r2, cv); 7249 TESTCARRYEND 7250 7251 printf("(T3) CMP.W Rn, #constT [allegedly]\n"); 7252 TESTCARRY 7253 TESTINST1x("cmp.w r1, #0xffffffff", 0x31415927, r1, cv); 7254 TESTINST1x("cmp.w r1, #0xee00ee00", 0x31415927, r1, cv); 7255 TESTINST1x("cmp.w r1, #255 ", 0, r1, cv); 7256 TESTINST1x("cmp.w r1, #0 ", 1, r1, cv); 7257 TESTINST1x("cmp.w r1, #1 ", 0, r1, cv); 7258 TESTINST1x("cmp.w r1, #0 ", -1, r1, cv); 7259 TESTINST1x("cmp.w r1, #-1 ", 0, r1, cv); 7260 TESTINST1x("cmp.w r1, #0x80000000", 0, r1, cv); 7261 TESTINST1x("cmp.w r1, #0 ", 0x80000000, r1, cv); 7262 TESTINST1x("cmp.w r1, #0x80000000", 0x80000000, r1, cv); 7263 TESTINST1x("cmp.w r1, #0x80000000", 0x7fffffff, r1, cv); 7264 TESTINST1x("cmp.w r1, #0xff000000", 0x80000000, r1, cv); 7265 TESTINST1x("cmp.w r1, #0x0dd00000", 0x7fffffff, r1, cv); 7266 TESTCARRYEND 7267 7268 printf("(T3) CMN.W Rn, #constT [allegedly]\n"); 7269 TESTCARRY 7270 TESTINST1x("cmn.w r1, #0xffffffff", 0x31415927, r1, cv); 7271 TESTINST1x("cmn.w r1, #0xee00ee00", 0x31415927, r1, cv); 7272 TESTINST1x("cmn.w r1, #255 ", 0, r1, cv); 7273 TESTINST1x("cmn.w r1, #0 ", 1, r1, cv); 7274 TESTINST1x("cmn.w r1, #1 ", 0, r1, cv); 7275 TESTINST1x("cmn.w r1, #0 ", -1, r1, cv); 7276 TESTINST1x("cmn.w r1, #-1 ", 0, r1, cv); 7277 TESTINST1x("cmn.w r1, #0x80000000", 0, r1, cv); 7278 TESTINST1x("cmn.w r1, #0 ", 0x80000000, r1, cv); 7279 TESTINST1x("cmn.w r1, #0x80000000", 0x80000000, r1, cv); 7280 TESTINST1x("cmn.w r1, #0x80000000", 0x7fffffff, r1, cv); 7281 TESTINST1x("cmn.w r1, #0xff000000", 0x80000000, r1, cv); 7282 TESTINST1x("cmn.w r1, #0x0dd00000", 0x7fffffff, r1, cv); 7283 TESTCARRYEND 7284 7285 printf("(T3) TST.W Rn, #constT [allegedly]\n"); 7286 TESTCARRY 7287 TESTINST1x("tst.w r1, #0xffffffff", 0x31415927, r1, cv); 7288 TESTINST1x("tst.w r1, #0xee00ee00", 0x31415927, r1, cv); 7289 TESTINST1x("tst.w r1, #255 ", 0, r1, cv); 7290 TESTINST1x("tst.w r1, #0 ", 1, r1, cv); 7291 TESTINST1x("tst.w r1, #1 ", 0, r1, cv); 7292 TESTINST1x("tst.w r1, #0 ", -1, r1, cv); 7293 TESTINST1x("tst.w r1, #-1 ", 0, r1, cv); 7294 TESTINST1x("tst.w r1, #0x80000000", 0, r1, cv); 7295 TESTINST1x("tst.w r1, #0 ", 0x80000000, r1, cv); 7296 TESTINST1x("tst.w r1, #0x80000000", 0x80000000, r1, cv); 7297 TESTINST1x("tst.w r1, #0x80000000", 0x7fffffff, r1, cv); 7298 TESTINST1x("tst.w r1, #0xff000000", 0x80000000, r1, cv); 7299 TESTINST1x("tst.w r1, #0x0dd00000", 0x7fffffff, r1, cv); 7300 TESTCARRYEND 7301 7302 printf("(T3) TEQ.W Rn, #constT [allegedly]\n"); 7303 TESTCARRY 7304 TESTINST1x("teq.w r1, #0xffffffff", 0x31415927, r1, cv); 7305 TESTINST1x("teq.w r1, #0xee00ee00", 0x31415927, r1, cv); 7306 TESTINST1x("teq.w r1, #255 ", 0, r1, cv); 7307 TESTINST1x("teq.w r1, #0 ", 1, r1, cv); 7308 TESTINST1x("teq.w r1, #1 ", 0, r1, cv); 7309 TESTINST1x("teq.w r1, #0 ", -1, r1, cv); 7310 TESTINST1x("teq.w r1, #-1 ", 0, r1, cv); 7311 TESTINST1x("teq.w r1, #0x80000000", 0, r1, cv); 7312 TESTINST1x("teq.w r1, #0 ", 0x80000000, r1, cv); 7313 TESTINST1x("teq.w r1, #0x80000000", 0x80000000, r1, cv); 7314 TESTINST1x("teq.w r1, #0x80000000", 0x7fffffff, r1, cv); 7315 TESTINST1x("teq.w r1, #0xff000000", 0x80000000, r1, cv); 7316 TESTINST1x("teq.w r1, #0x0dd00000", 0x7fffffff, r1, cv); 7317 TESTCARRYEND 7318 7319 printf("(T3) SUB{S}.W Rd, Rn, #constT [allegedly]\n"); 7320 TESTCARRY 7321 TESTINST2("subs.w r1, r2, #0xffffffff", 0x31415927, r1, r2, cv); 7322 TESTINST2("subs.w r1, r2, #0xee00ee00", 0x31415927, r1, r2, cv); 7323 TESTINST2("subs.w r1, r2, #255 ", 0, r1, r2, cv); 7324 TESTINST2("subs.w r1, r2, #0 ", 1, r1, r2, cv); 7325 TESTINST2("subs.w r1, r2, #1 ", 0, r1, r2, cv); 7326 TESTINST2("subs.w r1, r2, #0 ", -1, r1, r2, cv); 7327 TESTINST2("subs.w r1, r2, #-1 ", 0, r1, r2, cv); 7328 TESTINST2("subs.w r1, r2, #0x80000000", 0, r1, r2, cv); 7329 TESTINST2("subs.w r1, r2, #0 ", 0x80000000, r1, r2, cv); 7330 TESTINST2("subs.w r1, r2, #0x80000000", 0x80000000, r1, r2, cv); 7331 TESTINST2("subs.w r1, r2, #0x80000000", 0x7fffffff, r1, r2, cv); 7332 TESTINST2("subs.w r1, r2, #0xff000000", 0x80000000, r1, r2, cv); 7333 TESTINST2("subs.w r1, r2, #0x0dd00000", 0x7fffffff, r1, r2, cv); 7334 TESTINST2("sub.w r1, r2, #0xffffffff", 0x31415927, r1, r2, cv); 7335 TESTINST2("sub.w r1, r2, #0xee00ee00", 0x31415927, r1, r2, cv); 7336 TESTINST2("sub.w r1, r2, #255 ", 0, r1, r2, cv); 7337 TESTINST2("sub.w r1, r2, #0 ", 1, r1, r2, cv); 7338 TESTINST2("sub.w r1, r2, #1 ", 0, r1, r2, cv); 7339 TESTINST2("sub.w r1, r2, #0 ", -1, r1, r2, cv); 7340 TESTINST2("sub.w r1, r2, #-1 ", 0, r1, r2, cv); 7341 TESTINST2("sub.w r1, r2, #0x80000000", 0, r1, r2, cv); 7342 TESTINST2("sub.w r1, r2, #0 ", 0x80000000, r1, r2, cv); 7343 TESTINST2("sub.w r1, r2, #0x80000000", 0x80000000, r1, r2, cv); 7344 TESTINST2("sub.w r1, r2, #0x80000000", 0x7fffffff, r1, r2, cv); 7345 TESTINST2("sub.w r1, r2, #0xff000000", 0x80000000, r1, r2, cv); 7346 TESTINST2("sub.w r1, r2, #0x0dd00000", 0x7fffffff, r1, r2, cv); 7347 TESTCARRYEND 7348 7349 printf("(T3) RSB{S}.W Rd, Rn, #constT [allegedly]\n"); 7350 TESTCARRY 7351 TESTINST2("rsbs.w r1, r2, #0xffffffff", 0x31415927, r1, r2, cv); 7352 TESTINST2("rsbs.w r1, r2, #0xee00ee00", 0x31415927, r1, r2, cv); 7353 TESTINST2("rsbs.w r1, r2, #255 ", 0, r1, r2, cv); 7354 TESTINST2("rsbs.w r1, r2, #0 ", 1, r1, r2, cv); 7355 TESTINST2("rsbs.w r1, r2, #1 ", 0, r1, r2, cv); 7356 TESTINST2("rsbs.w r1, r2, #0 ", -1, r1, r2, cv); 7357 TESTINST2("rsbs.w r1, r2, #-1 ", 0, r1, r2, cv); 7358 TESTINST2("rsbs.w r1, r2, #0x80000000", 0, r1, r2, cv); 7359 TESTINST2("rsbs.w r1, r2, #0 ", 0x80000000, r1, r2, cv); 7360 TESTINST2("rsbs.w r1, r2, #0x80000000", 0x80000000, r1, r2, cv); 7361 TESTINST2("rsbs.w r1, r2, #0x80000000", 0x7fffffff, r1, r2, cv); 7362 TESTINST2("rsbs.w r1, r2, #0xff000000", 0x80000000, r1, r2, cv); 7363 TESTINST2("rsbs.w r1, r2, #0x0dd00000", 0x7fffffff, r1, r2, cv); 7364 TESTINST2("rsb.w r1, r2, #0xffffffff", 0x31415927, r1, r2, cv); 7365 TESTINST2("rsb.w r1, r2, #0xee00ee00", 0x31415927, r1, r2, cv); 7366 TESTINST2("rsb.w r1, r2, #255 ", 0, r1, r2, cv); 7367 TESTINST2("rsb.w r1, r2, #0 ", 1, r1, r2, cv); 7368 TESTINST2("rsb.w r1, r2, #1 ", 0, r1, r2, cv); 7369 TESTINST2("rsb.w r1, r2, #0 ", -1, r1, r2, cv); 7370 TESTINST2("rsb.w r1, r2, #-1 ", 0, r1, r2, cv); 7371 TESTINST2("rsb.w r1, r2, #0x80000000", 0, r1, r2, cv); 7372 TESTINST2("rsb.w r1, r2, #0 ", 0x80000000, r1, r2, cv); 7373 TESTINST2("rsb.w r1, r2, #0x80000000", 0x80000000, r1, r2, cv); 7374 TESTINST2("rsb.w r1, r2, #0x80000000", 0x7fffffff, r1, r2, cv); 7375 TESTINST2("rsb.w r1, r2, #0xff000000", 0x80000000, r1, r2, cv); 7376 TESTINST2("rsb.w r1, r2, #0x0dd00000", 0x7fffffff, r1, r2, cv); 7377 TESTCARRYEND 7378 7379 printf("(T3) ADC{S}.W Rd, Rn, #constT [allegedly]\n"); 7380 TESTCARRY 7381 TESTINST2("adcs.w r1, r2, #0xffffffff", 0x31415927, r1, r2, cv); 7382 TESTINST2("adcs.w r1, r2, #0xee00ee00", 0x31415927, r1, r2, cv); 7383 TESTINST2("adcs.w r1, r2, #255 ", 0, r1, r2, cv); 7384 TESTINST2("adcs.w r1, r2, #0 ", 1, r1, r2, cv); 7385 TESTINST2("adcs.w r1, r2, #1 ", 0, r1, r2, cv); 7386 TESTINST2("adcs.w r1, r2, #0 ", -1, r1, r2, cv); 7387 TESTINST2("adcs.w r1, r2, #-1 ", 0, r1, r2, cv); 7388 TESTINST2("adcs.w r1, r2, #0x80000000", 0, r1, r2, cv); 7389 TESTINST2("adcs.w r1, r2, #0 ", 0x80000000, r1, r2, cv); 7390 TESTINST2("adcs.w r1, r2, #0x80000000", 0x80000000, r1, r2, cv); 7391 TESTINST2("adcs.w r1, r2, #0x80000000", 0x7fffffff, r1, r2, cv); 7392 TESTINST2("adcs.w r1, r2, #0xff000000", 0x80000000, r1, r2, cv); 7393 TESTINST2("adcs.w r1, r2, #0x0dd00000", 0x7fffffff, r1, r2, cv); 7394 TESTINST2("adc.w r1, r2, #0xffffffff", 0x31415927, r1, r2, cv); 7395 TESTINST2("adc.w r1, r2, #0xee00ee00", 0x31415927, r1, r2, cv); 7396 TESTINST2("adc.w r1, r2, #255 ", 0, r1, r2, cv); 7397 TESTINST2("adc.w r1, r2, #0 ", 1, r1, r2, cv); 7398 TESTINST2("adc.w r1, r2, #1 ", 0, r1, r2, cv); 7399 TESTINST2("adc.w r1, r2, #0 ", -1, r1, r2, cv); 7400 TESTINST2("adc.w r1, r2, #-1 ", 0, r1, r2, cv); 7401 TESTINST2("adc.w r1, r2, #0x80000000", 0, r1, r2, cv); 7402 TESTINST2("adc.w r1, r2, #0 ", 0x80000000, r1, r2, cv); 7403 TESTINST2("adc.w r1, r2, #0x80000000", 0x80000000, r1, r2, cv); 7404 TESTINST2("adc.w r1, r2, #0x80000000", 0x7fffffff, r1, r2, cv); 7405 TESTINST2("adc.w r1, r2, #0xff000000", 0x80000000, r1, r2, cv); 7406 TESTINST2("adc.w r1, r2, #0x0dd00000", 0x7fffffff, r1, r2, cv); 7407 TESTCARRYEND 7408 7409 printf("(T3) SBC{S}.W Rd, Rn, #constT [allegedly]\n"); 7410 TESTCARRY 7411 TESTINST2("sbcs.w r1, r2, #0xffffffff", 0x31415927, r1, r2, cv); 7412 TESTINST2("sbcs.w r1, r2, #0xee00ee00", 0x31415927, r1, r2, cv); 7413 TESTINST2("sbcs.w r1, r2, #255 ", 0, r1, r2, cv); 7414 TESTINST2("sbcs.w r1, r2, #0 ", 1, r1, r2, cv); 7415 TESTINST2("sbcs.w r1, r2, #1 ", 0, r1, r2, cv); 7416 TESTINST2("sbcs.w r1, r2, #0 ", -1, r1, r2, cv); 7417 TESTINST2("sbcs.w r1, r2, #-1 ", 0, r1, r2, cv); 7418 TESTINST2("sbcs.w r1, r2, #0x80000000", 0, r1, r2, cv); 7419 TESTINST2("sbcs.w r1, r2, #0 ", 0x80000000, r1, r2, cv); 7420 TESTINST2("sbcs.w r1, r2, #0x80000000", 0x80000000, r1, r2, cv); 7421 TESTINST2("sbcs.w r1, r2, #0x80000000", 0x7fffffff, r1, r2, cv); 7422 TESTINST2("sbcs.w r1, r2, #0xff000000", 0x80000000, r1, r2, cv); 7423 TESTINST2("sbcs.w r1, r2, #0x0dd00000", 0x7fffffff, r1, r2, cv); 7424 TESTINST2("sbc.w r1, r2, #0xffffffff", 0x31415927, r1, r2, cv); 7425 TESTINST2("sbc.w r1, r2, #0xee00ee00", 0x31415927, r1, r2, cv); 7426 TESTINST2("sbc.w r1, r2, #255 ", 0, r1, r2, cv); 7427 TESTINST2("sbc.w r1, r2, #0 ", 1, r1, r2, cv); 7428 TESTINST2("sbc.w r1, r2, #1 ", 0, r1, r2, cv); 7429 TESTINST2("sbc.w r1, r2, #0 ", -1, r1, r2, cv); 7430 TESTINST2("sbc.w r1, r2, #-1 ", 0, r1, r2, cv); 7431 TESTINST2("sbc.w r1, r2, #0x80000000", 0, r1, r2, cv); 7432 TESTINST2("sbc.w r1, r2, #0 ", 0x80000000, r1, r2, cv); 7433 TESTINST2("sbc.w r1, r2, #0x80000000", 0x80000000, r1, r2, cv); 7434 TESTINST2("sbc.w r1, r2, #0x80000000", 0x7fffffff, r1, r2, cv); 7435 TESTINST2("sbc.w r1, r2, #0xff000000", 0x80000000, r1, r2, cv); 7436 TESTINST2("sbc.w r1, r2, #0x0dd00000", 0x7fffffff, r1, r2, cv); 7437 TESTCARRYEND 7438 7439 printf("(T3) AND{S}.W Rd, Rn, #constT [allegedly]\n"); 7440 TESTCARRY 7441 TESTINST2("ands.w r1, r2, #0xffffffff", 0x31415927, r1, r2, cv); 7442 TESTINST2("ands.w r1, r2, #0xee00ee00", 0x31415927, r1, r2, cv); 7443 TESTINST2("ands.w r1, r2, #255 ", 0, r1, r2, cv); 7444 TESTINST2("ands.w r1, r2, #0 ", 1, r1, r2, cv); 7445 TESTINST2("ands.w r1, r2, #1 ", 0, r1, r2, cv); 7446 TESTINST2("ands.w r1, r2, #0 ", -1, r1, r2, cv); 7447 TESTINST2("ands.w r1, r2, #-1 ", 0, r1, r2, cv); 7448 TESTINST2("ands.w r1, r2, #0x80000000", 0, r1, r2, cv); 7449 TESTINST2("ands.w r1, r2, #0 ", 0x80000000, r1, r2, cv); 7450 TESTINST2("ands.w r1, r2, #0x80000000", 0x80000000, r1, r2, cv); 7451 TESTINST2("ands.w r1, r2, #0x80000000", 0x7fffffff, r1, r2, cv); 7452 TESTINST2("ands.w r1, r2, #0xff000000", 0x80000000, r1, r2, cv); 7453 TESTINST2("ands.w r1, r2, #0x0dd00000", 0x7fffffff, r1, r2, cv); 7454 TESTINST2("and.w r1, r2, #0xffffffff", 0x31415927, r1, r2, cv); 7455 TESTINST2("and.w r1, r2, #0xee00ee00", 0x31415927, r1, r2, cv); 7456 TESTINST2("and.w r1, r2, #255 ", 0, r1, r2, cv); 7457 TESTINST2("and.w r1, r2, #0 ", 1, r1, r2, cv); 7458 TESTINST2("and.w r1, r2, #1 ", 0, r1, r2, cv); 7459 TESTINST2("and.w r1, r2, #0 ", -1, r1, r2, cv); 7460 TESTINST2("and.w r1, r2, #-1 ", 0, r1, r2, cv); 7461 TESTINST2("and.w r1, r2, #0x80000000", 0, r1, r2, cv); 7462 TESTINST2("and.w r1, r2, #0 ", 0x80000000, r1, r2, cv); 7463 TESTINST2("and.w r1, r2, #0x80000000", 0x80000000, r1, r2, cv); 7464 TESTINST2("and.w r1, r2, #0x80000000", 0x7fffffff, r1, r2, cv); 7465 TESTINST2("and.w r1, r2, #0xff000000", 0x80000000, r1, r2, cv); 7466 TESTINST2("and.w r1, r2, #0x0dd00000", 0x7fffffff, r1, r2, cv); 7467 TESTCARRYEND 7468 7469 printf("(T3) ORR{S}.W Rd, Rn, #constT [allegedly]\n"); 7470 TESTCARRY 7471 TESTINST2("orrs.w r1, r2, #0xffffffff", 0x31415927, r1, r2, cv); 7472 TESTINST2("orrs.w r1, r2, #0xee00ee00", 0x31415927, r1, r2, cv); 7473 TESTINST2("orrs.w r1, r2, #255 ", 0, r1, r2, cv); 7474 TESTINST2("orrs.w r1, r2, #0 ", 1, r1, r2, cv); 7475 TESTINST2("orrs.w r1, r2, #1 ", 0, r1, r2, cv); 7476 TESTINST2("orrs.w r1, r2, #0 ", -1, r1, r2, cv); 7477 TESTINST2("orrs.w r1, r2, #-1 ", 0, r1, r2, cv); 7478 TESTINST2("orrs.w r1, r2, #0x80000000", 0, r1, r2, cv); 7479 TESTINST2("orrs.w r1, r2, #0 ", 0x80000000, r1, r2, cv); 7480 TESTINST2("orrs.w r1, r2, #0x80000000", 0x80000000, r1, r2, cv); 7481 TESTINST2("orrs.w r1, r2, #0x80000000", 0x7fffffff, r1, r2, cv); 7482 TESTINST2("orrs.w r1, r2, #0xff000000", 0x80000000, r1, r2, cv); 7483 TESTINST2("orrs.w r1, r2, #0x0dd00000", 0x7fffffff, r1, r2, cv); 7484 TESTINST2("orr.w r1, r2, #0xffffffff", 0x31415927, r1, r2, cv); 7485 TESTINST2("orr.w r1, r2, #0xee00ee00", 0x31415927, r1, r2, cv); 7486 TESTINST2("orr.w r1, r2, #255 ", 0, r1, r2, cv); 7487 TESTINST2("orr.w r1, r2, #0 ", 1, r1, r2, cv); 7488 TESTINST2("orr.w r1, r2, #1 ", 0, r1, r2, cv); 7489 TESTINST2("orr.w r1, r2, #0 ", -1, r1, r2, cv); 7490 TESTINST2("orr.w r1, r2, #-1 ", 0, r1, r2, cv); 7491 TESTINST2("orr.w r1, r2, #0x80000000", 0, r1, r2, cv); 7492 TESTINST2("orr.w r1, r2, #0 ", 0x80000000, r1, r2, cv); 7493 TESTINST2("orr.w r1, r2, #0x80000000", 0x80000000, r1, r2, cv); 7494 TESTINST2("orr.w r1, r2, #0x80000000", 0x7fffffff, r1, r2, cv); 7495 TESTINST2("orr.w r1, r2, #0xff000000", 0x80000000, r1, r2, cv); 7496 TESTINST2("orr.w r1, r2, #0x0dd00000", 0x7fffffff, r1, r2, cv); 7497 TESTCARRYEND 7498 7499 printf("(T3) EOR{S}.W Rd, Rn, #constT [allegedly]\n"); 7500 TESTCARRY 7501 TESTINST2("eors.w r1, r2, #0xffffffff", 0x31415927, r1, r2, cv); 7502 TESTINST2("eors.w r1, r2, #0xee00ee00", 0x31415927, r1, r2, cv); 7503 TESTINST2("eors.w r1, r2, #255 ", 0, r1, r2, cv); 7504 TESTINST2("eors.w r1, r2, #0 ", 1, r1, r2, cv); 7505 TESTINST2("eors.w r1, r2, #1 ", 0, r1, r2, cv); 7506 TESTINST2("eors.w r1, r2, #0 ", -1, r1, r2, cv); 7507 TESTINST2("eors.w r1, r2, #-1 ", 0, r1, r2, cv); 7508 TESTINST2("eors.w r1, r2, #0x80000000", 0, r1, r2, cv); 7509 TESTINST2("eors.w r1, r2, #0 ", 0x80000000, r1, r2, cv); 7510 TESTINST2("eors.w r1, r2, #0x80000000", 0x80000000, r1, r2, cv); 7511 TESTINST2("eors.w r1, r2, #0x80000000", 0x7fffffff, r1, r2, cv); 7512 TESTINST2("eors.w r1, r2, #0xff000000", 0x80000000, r1, r2, cv); 7513 TESTINST2("eors.w r1, r2, #0x0dd00000", 0x7fffffff, r1, r2, cv); 7514 TESTINST2("eor.w r1, r2, #0xffffffff", 0x31415927, r1, r2, cv); 7515 TESTINST2("eor.w r1, r2, #0xee00ee00", 0x31415927, r1, r2, cv); 7516 TESTINST2("eor.w r1, r2, #255 ", 0, r1, r2, cv); 7517 TESTINST2("eor.w r1, r2, #0 ", 1, r1, r2, cv); 7518 TESTINST2("eor.w r1, r2, #1 ", 0, r1, r2, cv); 7519 TESTINST2("eor.w r1, r2, #0 ", -1, r1, r2, cv); 7520 TESTINST2("eor.w r1, r2, #-1 ", 0, r1, r2, cv); 7521 TESTINST2("eor.w r1, r2, #0x80000000", 0, r1, r2, cv); 7522 TESTINST2("eor.w r1, r2, #0 ", 0x80000000, r1, r2, cv); 7523 TESTINST2("eor.w r1, r2, #0x80000000", 0x80000000, r1, r2, cv); 7524 TESTINST2("eor.w r1, r2, #0x80000000", 0x7fffffff, r1, r2, cv); 7525 TESTINST2("eor.w r1, r2, #0xff000000", 0x80000000, r1, r2, cv); 7526 TESTINST2("eor.w r1, r2, #0x0dd00000", 0x7fffffff, r1, r2, cv); 7527 TESTCARRYEND 7528 7529 printf("(T3) BIC{S}.W Rd, Rn, #constT [allegedly]\n"); 7530 TESTCARRY 7531 TESTINST2("bics.w r1, r2, #0xffffffff", 0x31415927, r1, r2, cv); 7532 TESTINST2("bics.w r1, r2, #0xee00ee00", 0x31415927, r1, r2, cv); 7533 TESTINST2("bics.w r1, r2, #255 ", 0, r1, r2, cv); 7534 TESTINST2("bics.w r1, r2, #0 ", 1, r1, r2, cv); 7535 TESTINST2("bics.w r1, r2, #1 ", 0, r1, r2, cv); 7536 TESTINST2("bics.w r1, r2, #0 ", -1, r1, r2, cv); 7537 TESTINST2("bics.w r1, r2, #-1 ", 0, r1, r2, cv); 7538 TESTINST2("bics.w r1, r2, #0x80000000", 0, r1, r2, cv); 7539 TESTINST2("bics.w r1, r2, #0 ", 0x80000000, r1, r2, cv); 7540 TESTINST2("bics.w r1, r2, #0x80000000", 0x80000000, r1, r2, cv); 7541 TESTINST2("bics.w r1, r2, #0x80000000", 0x7fffffff, r1, r2, cv); 7542 TESTINST2("bics.w r1, r2, #0xff000000", 0x80000000, r1, r2, cv); 7543 TESTINST2("bics.w r1, r2, #0x0dd00000", 0x7fffffff, r1, r2, cv); 7544 TESTINST2("bic.w r1, r2, #0xffffffff", 0x31415927, r1, r2, cv); 7545 TESTINST2("bic.w r1, r2, #0xee00ee00", 0x31415927, r1, r2, cv); 7546 TESTINST2("bic.w r1, r2, #255 ", 0, r1, r2, cv); 7547 TESTINST2("bic.w r1, r2, #0 ", 1, r1, r2, cv); 7548 TESTINST2("bic.w r1, r2, #1 ", 0, r1, r2, cv); 7549 TESTINST2("bic.w r1, r2, #0 ", -1, r1, r2, cv); 7550 TESTINST2("bic.w r1, r2, #-1 ", 0, r1, r2, cv); 7551 TESTINST2("bic.w r1, r2, #0x80000000", 0, r1, r2, cv); 7552 TESTINST2("bic.w r1, r2, #0 ", 0x80000000, r1, r2, cv); 7553 TESTINST2("bic.w r1, r2, #0x80000000", 0x80000000, r1, r2, cv); 7554 TESTINST2("bic.w r1, r2, #0x80000000", 0x7fffffff, r1, r2, cv); 7555 TESTINST2("bic.w r1, r2, #0xff000000", 0x80000000, r1, r2, cv); 7556 TESTINST2("bic.w r1, r2, #0x0dd00000", 0x7fffffff, r1, r2, cv); 7557 TESTCARRYEND 7558 7559 printf("ADD{S}.W Rd, Rn, Rm, {shift}\n"); 7560 TESTCARRY 7561 TESTINST3("adds.w r1, r2, r3, lsl #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 7562 TESTINST3("adds.w r1, r2, r3, lsl #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 7563 TESTINST3("adds.w r1, r2, r3, lsl #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 7564 TESTINST3("adds.w r1, r2, r3, lsl #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 7565 TESTINST3("adds.w r1, r2, r3, lsr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 7566 TESTINST3("adds.w r1, r2, r3, lsr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 7567 TESTINST3("adds.w r1, r2, r3, lsr #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 7568 TESTINST3("adds.w r1, r2, r3, lsr #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 7569 TESTINST3("adds.w r1, r2, r3, asr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 7570 TESTINST3("adds.w r1, r2, r3, asr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 7571 TESTINST3("adds.w r1, r2, r3, asr #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 7572 TESTINST3("adds.w r1, r2, r3, asr #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 7573 TESTINST3("add.w r1, r2, r3, lsl #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 7574 TESTINST3("add.w r1, r2, r3, lsl #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 7575 TESTINST3("add.w r1, r2, r3, lsl #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 7576 TESTINST3("add.w r1, r2, r3, lsl #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 7577 TESTINST3("add.w r1, r2, r3, lsr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 7578 TESTINST3("add.w r1, r2, r3, lsr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 7579 TESTINST3("add.w r1, r2, r3, lsr #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 7580 TESTINST3("add.w r1, r2, r3, lsr #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 7581 TESTINST3("add.w r1, r2, r3, asr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 7582 TESTINST3("add.w r1, r2, r3, asr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 7583 TESTINST3("add.w r1, r2, r3, asr #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 7584 TESTINST3("add.w r1, r2, r3, asr #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 7585 TESTINST3("adds.w r1, r2, r3, lsl #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 7586 TESTINST3("adds.w r1, r2, r3, lsl #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 7587 TESTINST3("adds.w r1, r2, r3, lsl #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 7588 TESTINST3("adds.w r1, r2, r3, lsl #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 7589 TESTINST3("adds.w r1, r2, r3, lsr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 7590 TESTINST3("adds.w r1, r2, r3, lsr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 7591 TESTINST3("adds.w r1, r2, r3, lsr #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 7592 TESTINST3("adds.w r1, r2, r3, lsr #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 7593 TESTINST3("adds.w r1, r2, r3, asr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 7594 TESTINST3("adds.w r1, r2, r3, asr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 7595 TESTINST3("adds.w r1, r2, r3, asr #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 7596 TESTINST3("adds.w r1, r2, r3, asr #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 7597 TESTINST3("add.w r1, r2, r3, lsl #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 7598 TESTINST3("add.w r1, r2, r3, lsl #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 7599 TESTINST3("add.w r1, r2, r3, lsl #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 7600 TESTINST3("add.w r1, r2, r3, lsl #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 7601 TESTINST3("add.w r1, r2, r3, lsr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 7602 TESTINST3("add.w r1, r2, r3, lsr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 7603 TESTINST3("add.w r1, r2, r3, lsr #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 7604 TESTINST3("add.w r1, r2, r3, lsr #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 7605 TESTINST3("add.w r1, r2, r3, asr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 7606 TESTINST3("add.w r1, r2, r3, asr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 7607 TESTINST3("add.w r1, r2, r3, asr #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 7608 TESTINST3("add.w r1, r2, r3, asr #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 7609 TESTINST3("adds.w r1, r2, r3, lsl #0 ", 0, 0, r1, r2, r3, cv); 7610 TESTINST3("adds.w r1, r2, r3, lsl #1 ", 0, 0, r1, r2, r3, cv); 7611 TESTINST3("adds.w r1, r2, r3, lsl #15", 0, 0, r1, r2, r3, cv); 7612 TESTINST3("adds.w r1, r2, r3, lsl #31", 0, 0, r1, r2, r3, cv); 7613 TESTINST3("adds.w r1, r2, r3, lsr #0 ", 0, 0, r1, r2, r3, cv); 7614 TESTINST3("adds.w r1, r2, r3, lsr #1 ", 0, 0, r1, r2, r3, cv); 7615 TESTINST3("adds.w r1, r2, r3, lsr #15", 0, 0, r1, r2, r3, cv); 7616 TESTINST3("adds.w r1, r2, r3, lsr #31", 0, 0, r1, r2, r3, cv); 7617 TESTINST3("adds.w r1, r2, r3, asr #0 ", 0, 0, r1, r2, r3, cv); 7618 TESTINST3("adds.w r1, r2, r3, asr #1 ", 0, 0, r1, r2, r3, cv); 7619 TESTINST3("adds.w r1, r2, r3, asr #15", 0, 0, r1, r2, r3, cv); 7620 TESTINST3("adds.w r1, r2, r3, asr #31", 0, 0, r1, r2, r3, cv); 7621 TESTINST3("add.w r1, r2, r3, lsl #0 ", 0, 0, r1, r2, r3, cv); 7622 TESTINST3("add.w r1, r2, r3, lsl #1 ", 0, 0, r1, r2, r3, cv); 7623 TESTINST3("add.w r1, r2, r3, lsl #15", 0, 0, r1, r2, r3, cv); 7624 TESTINST3("add.w r1, r2, r3, lsl #31", 0, 0, r1, r2, r3, cv); 7625 TESTINST3("add.w r1, r2, r3, lsr #0 ", 0, 0, r1, r2, r3, cv); 7626 TESTINST3("add.w r1, r2, r3, lsr #1 ", 0, 0, r1, r2, r3, cv); 7627 TESTINST3("add.w r1, r2, r3, lsr #15", 0, 0, r1, r2, r3, cv); 7628 TESTINST3("add.w r1, r2, r3, lsr #31", 0, 0, r1, r2, r3, cv); 7629 TESTINST3("add.w r1, r2, r3, asr #0 ", 0, 0, r1, r2, r3, cv); 7630 TESTINST3("add.w r1, r2, r3, asr #1 ", 0, 0, r1, r2, r3, cv); 7631 TESTINST3("add.w r1, r2, r3, asr #15", 0, 0, r1, r2, r3, cv); 7632 TESTINST3("add.w r1, r2, r3, asr #31", 0, 0, r1, r2, r3, cv); 7633 TESTINST3("adds.w r1, r2, r3, lsl #0 ", 1, 0, r1, r2, r3, cv); 7634 TESTINST3("adds.w r1, r2, r3, lsl #1 ", 1, 0, r1, r2, r3, cv); 7635 TESTINST3("adds.w r1, r2, r3, lsl #15", 1, 0, r1, r2, r3, cv); 7636 TESTINST3("adds.w r1, r2, r3, lsl #31", 1, 0, r1, r2, r3, cv); 7637 TESTINST3("adds.w r1, r2, r3, lsr #0 ", 1, 0, r1, r2, r3, cv); 7638 TESTINST3("adds.w r1, r2, r3, lsr #1 ", 1, 0, r1, r2, r3, cv); 7639 TESTINST3("adds.w r1, r2, r3, lsr #15", 1, 0, r1, r2, r3, cv); 7640 TESTINST3("adds.w r1, r2, r3, lsr #31", 1, 0, r1, r2, r3, cv); 7641 TESTINST3("adds.w r1, r2, r3, asr #0 ", 1, 0, r1, r2, r3, cv); 7642 TESTINST3("adds.w r1, r2, r3, asr #1 ", 1, 0, r1, r2, r3, cv); 7643 TESTINST3("adds.w r1, r2, r3, asr #15", 1, 0, r1, r2, r3, cv); 7644 TESTINST3("adds.w r1, r2, r3, asr #31", 1, 0, r1, r2, r3, cv); 7645 TESTINST3("add.w r1, r2, r3, lsl #0 ", 1, 0, r1, r2, r3, cv); 7646 TESTINST3("add.w r1, r2, r3, lsl #1 ", 1, 0, r1, r2, r3, cv); 7647 TESTINST3("add.w r1, r2, r3, lsl #15", 1, 0, r1, r2, r3, cv); 7648 TESTINST3("add.w r1, r2, r3, lsl #31", 1, 0, r1, r2, r3, cv); 7649 TESTINST3("add.w r1, r2, r3, lsr #0 ", 1, 0, r1, r2, r3, cv); 7650 TESTINST3("add.w r1, r2, r3, lsr #1 ", 1, 0, r1, r2, r3, cv); 7651 TESTINST3("add.w r1, r2, r3, lsr #15", 1, 0, r1, r2, r3, cv); 7652 TESTINST3("add.w r1, r2, r3, lsr #31", 1, 0, r1, r2, r3, cv); 7653 TESTINST3("add.w r1, r2, r3, asr #0 ", 1, 0, r1, r2, r3, cv); 7654 TESTINST3("add.w r1, r2, r3, asr #1 ", 1, 0, r1, r2, r3, cv); 7655 TESTINST3("add.w r1, r2, r3, asr #15", 1, 0, r1, r2, r3, cv); 7656 TESTINST3("add.w r1, r2, r3, asr #31", 1, 0, r1, r2, r3, cv); 7657 TESTINST3("adds.w r1, r2, r3, lsl #0 ", 0, 1, r1, r2, r3, cv); 7658 TESTINST3("adds.w r1, r2, r3, lsl #1 ", 0, 1, r1, r2, r3, cv); 7659 TESTINST3("adds.w r1, r2, r3, lsl #15", 0, 1, r1, r2, r3, cv); 7660 TESTINST3("adds.w r1, r2, r3, lsl #31", 0, 1, r1, r2, r3, cv); 7661 TESTINST3("adds.w r1, r2, r3, lsr #0 ", 0, 1, r1, r2, r3, cv); 7662 TESTINST3("adds.w r1, r2, r3, lsr #1 ", 0, 1, r1, r2, r3, cv); 7663 TESTINST3("adds.w r1, r2, r3, lsr #15", 0, 1, r1, r2, r3, cv); 7664 TESTINST3("adds.w r1, r2, r3, lsr #31", 0, 1, r1, r2, r3, cv); 7665 TESTINST3("adds.w r1, r2, r3, asr #0 ", 0, 1, r1, r2, r3, cv); 7666 TESTINST3("adds.w r1, r2, r3, asr #1 ", 0, 1, r1, r2, r3, cv); 7667 TESTINST3("adds.w r1, r2, r3, asr #15", 0, 1, r1, r2, r3, cv); 7668 TESTINST3("adds.w r1, r2, r3, asr #31", 0, 1, r1, r2, r3, cv); 7669 TESTINST3("add.w r1, r2, r3, lsl #0 ", 0, 1, r1, r2, r3, cv); 7670 TESTINST3("add.w r1, r2, r3, lsl #1 ", 0, 1, r1, r2, r3, cv); 7671 TESTINST3("add.w r1, r2, r3, lsl #15", 0, 1, r1, r2, r3, cv); 7672 TESTINST3("add.w r1, r2, r3, lsl #31", 0, 1, r1, r2, r3, cv); 7673 TESTINST3("add.w r1, r2, r3, lsr #0 ", 0, 1, r1, r2, r3, cv); 7674 TESTINST3("add.w r1, r2, r3, lsr #1 ", 0, 1, r1, r2, r3, cv); 7675 TESTINST3("add.w r1, r2, r3, lsr #15", 0, 1, r1, r2, r3, cv); 7676 TESTINST3("add.w r1, r2, r3, lsr #31", 0, 1, r1, r2, r3, cv); 7677 TESTINST3("add.w r1, r2, r3, asr #0 ", 0, 1, r1, r2, r3, cv); 7678 TESTINST3("add.w r1, r2, r3, asr #1 ", 0, 1, r1, r2, r3, cv); 7679 TESTINST3("add.w r1, r2, r3, asr #15", 0, 1, r1, r2, r3, cv); 7680 TESTINST3("add.w r1, r2, r3, asr #31", 0, 1, r1, r2, r3, cv); 7681 TESTINST3("adds.w r1, r2, r3, lsl #0 ", -1, 0, r1, r2, r3, cv); 7682 TESTINST3("adds.w r1, r2, r3, lsl #1 ", -1, 0, r1, r2, r3, cv); 7683 TESTINST3("adds.w r1, r2, r3, lsl #15", -1, 0, r1, r2, r3, cv); 7684 TESTINST3("adds.w r1, r2, r3, lsl #31", -1, 0, r1, r2, r3, cv); 7685 TESTINST3("adds.w r1, r2, r3, lsr #0 ", -1, 0, r1, r2, r3, cv); 7686 TESTINST3("adds.w r1, r2, r3, lsr #1 ", -1, 0, r1, r2, r3, cv); 7687 TESTINST3("adds.w r1, r2, r3, lsr #15", -1, 0, r1, r2, r3, cv); 7688 TESTINST3("adds.w r1, r2, r3, lsr #31", -1, 0, r1, r2, r3, cv); 7689 TESTINST3("adds.w r1, r2, r3, asr #0 ", -1, 0, r1, r2, r3, cv); 7690 TESTINST3("adds.w r1, r2, r3, asr #1 ", -1, 0, r1, r2, r3, cv); 7691 TESTINST3("adds.w r1, r2, r3, asr #15", -1, 0, r1, r2, r3, cv); 7692 TESTINST3("adds.w r1, r2, r3, asr #31", -1, 0, r1, r2, r3, cv); 7693 TESTINST3("add.w r1, r2, r3, lsl #0 ", -1, 0, r1, r2, r3, cv); 7694 TESTINST3("add.w r1, r2, r3, lsl #1 ", -1, 0, r1, r2, r3, cv); 7695 TESTINST3("add.w r1, r2, r3, lsl #15", -1, 0, r1, r2, r3, cv); 7696 TESTINST3("add.w r1, r2, r3, lsl #31", -1, 0, r1, r2, r3, cv); 7697 TESTINST3("add.w r1, r2, r3, lsr #0 ", -1, 0, r1, r2, r3, cv); 7698 TESTINST3("add.w r1, r2, r3, lsr #1 ", -1, 0, r1, r2, r3, cv); 7699 TESTINST3("add.w r1, r2, r3, lsr #15", -1, 0, r1, r2, r3, cv); 7700 TESTINST3("add.w r1, r2, r3, lsr #31", -1, 0, r1, r2, r3, cv); 7701 TESTINST3("add.w r1, r2, r3, asr #0 ", -1, 0, r1, r2, r3, cv); 7702 TESTINST3("add.w r1, r2, r3, asr #1 ", -1, 0, r1, r2, r3, cv); 7703 TESTINST3("add.w r1, r2, r3, asr #15", -1, 0, r1, r2, r3, cv); 7704 TESTINST3("add.w r1, r2, r3, asr #31", -1, 0, r1, r2, r3, cv); 7705 TESTINST3("adds.w r1, r2, r3, lsl #0 ", 0, -1, r1, r2, r3, cv); 7706 TESTINST3("adds.w r1, r2, r3, lsl #1 ", 0, -1, r1, r2, r3, cv); 7707 TESTINST3("adds.w r1, r2, r3, lsl #15", 0, -1, r1, r2, r3, cv); 7708 TESTINST3("adds.w r1, r2, r3, lsl #31", 0, -1, r1, r2, r3, cv); 7709 TESTINST3("adds.w r1, r2, r3, lsr #0 ", 0, -1, r1, r2, r3, cv); 7710 TESTINST3("adds.w r1, r2, r3, lsr #1 ", 0, -1, r1, r2, r3, cv); 7711 TESTINST3("adds.w r1, r2, r3, lsr #15", 0, -1, r1, r2, r3, cv); 7712 TESTINST3("adds.w r1, r2, r3, lsr #31", 0, -1, r1, r2, r3, cv); 7713 TESTINST3("adds.w r1, r2, r3, asr #0 ", 0, -1, r1, r2, r3, cv); 7714 TESTINST3("adds.w r1, r2, r3, asr #1 ", 0, -1, r1, r2, r3, cv); 7715 TESTINST3("adds.w r1, r2, r3, asr #15", 0, -1, r1, r2, r3, cv); 7716 TESTINST3("adds.w r1, r2, r3, asr #31", 0, -1, r1, r2, r3, cv); 7717 TESTINST3("add.w r1, r2, r3, lsl #0 ", 0, -1, r1, r2, r3, cv); 7718 TESTINST3("add.w r1, r2, r3, lsl #1 ", 0, -1, r1, r2, r3, cv); 7719 TESTINST3("add.w r1, r2, r3, lsl #15", 0, -1, r1, r2, r3, cv); 7720 TESTINST3("add.w r1, r2, r3, lsl #31", 0, -1, r1, r2, r3, cv); 7721 TESTINST3("add.w r1, r2, r3, lsr #0 ", 0, -1, r1, r2, r3, cv); 7722 TESTINST3("add.w r1, r2, r3, lsr #1 ", 0, -1, r1, r2, r3, cv); 7723 TESTINST3("add.w r1, r2, r3, lsr #15", 0, -1, r1, r2, r3, cv); 7724 TESTINST3("add.w r1, r2, r3, lsr #31", 0, -1, r1, r2, r3, cv); 7725 TESTINST3("add.w r1, r2, r3, asr #0 ", 0, -1, r1, r2, r3, cv); 7726 TESTINST3("add.w r1, r2, r3, asr #1 ", 0, -1, r1, r2, r3, cv); 7727 TESTINST3("add.w r1, r2, r3, asr #15", 0, -1, r1, r2, r3, cv); 7728 TESTINST3("add.w r1, r2, r3, asr #31", 0, -1, r1, r2, r3, cv); 7729 TESTINST3("adds.w r1, r2, r3, lsl #0 ", 0, 0x80000000, r1, r2, r3, cv); 7730 TESTINST3("adds.w r1, r2, r3, lsl #1 ", 0, 0x80000000, r1, r2, r3, cv); 7731 TESTINST3("adds.w r1, r2, r3, lsl #15", 0, 0x80000000, r1, r2, r3, cv); 7732 TESTINST3("adds.w r1, r2, r3, lsl #31", 0, 0x80000000, r1, r2, r3, cv); 7733 TESTINST3("adds.w r1, r2, r3, lsr #0 ", 0, 0x80000000, r1, r2, r3, cv); 7734 TESTINST3("adds.w r1, r2, r3, lsr #1 ", 0, 0x80000000, r1, r2, r3, cv); 7735 TESTINST3("adds.w r1, r2, r3, lsr #15", 0, 0x80000000, r1, r2, r3, cv); 7736 TESTINST3("adds.w r1, r2, r3, lsr #31", 0, 0x80000000, r1, r2, r3, cv); 7737 TESTINST3("adds.w r1, r2, r3, asr #0 ", 0, 0x80000000, r1, r2, r3, cv); 7738 TESTINST3("adds.w r1, r2, r3, asr #1 ", 0, 0x80000000, r1, r2, r3, cv); 7739 TESTINST3("adds.w r1, r2, r3, asr #15", 0, 0x80000000, r1, r2, r3, cv); 7740 TESTINST3("adds.w r1, r2, r3, asr #31", 0, 0x80000000, r1, r2, r3, cv); 7741 TESTINST3("add.w r1, r2, r3, lsl #0 ", 0, 0x80000000, r1, r2, r3, cv); 7742 TESTINST3("add.w r1, r2, r3, lsl #1 ", 0, 0x80000000, r1, r2, r3, cv); 7743 TESTINST3("add.w r1, r2, r3, lsl #15", 0, 0x80000000, r1, r2, r3, cv); 7744 TESTINST3("add.w r1, r2, r3, lsl #31", 0, 0x80000000, r1, r2, r3, cv); 7745 TESTINST3("add.w r1, r2, r3, lsr #0 ", 0, 0x80000000, r1, r2, r3, cv); 7746 TESTINST3("add.w r1, r2, r3, lsr #1 ", 0, 0x80000000, r1, r2, r3, cv); 7747 TESTINST3("add.w r1, r2, r3, lsr #15", 0, 0x80000000, r1, r2, r3, cv); 7748 TESTINST3("add.w r1, r2, r3, lsr #31", 0, 0x80000000, r1, r2, r3, cv); 7749 TESTINST3("add.w r1, r2, r3, asr #0 ", 0, 0x80000000, r1, r2, r3, cv); 7750 TESTINST3("add.w r1, r2, r3, asr #1 ", 0, 0x80000000, r1, r2, r3, cv); 7751 TESTINST3("add.w r1, r2, r3, asr #15", 0, 0x80000000, r1, r2, r3, cv); 7752 TESTINST3("add.w r1, r2, r3, asr #31", 0, 0x80000000, r1, r2, r3, cv); 7753 TESTINST3("adds.w r1, r2, r3, lsl #0 ", 0x80000000, 0, r1, r2, r3, cv); 7754 TESTINST3("adds.w r1, r2, r3, lsl #1 ", 0x80000000, 0, r1, r2, r3, cv); 7755 TESTINST3("adds.w r1, r2, r3, lsl #15", 0x80000000, 0, r1, r2, r3, cv); 7756 TESTINST3("adds.w r1, r2, r3, lsl #31", 0x80000000, 0, r1, r2, r3, cv); 7757 TESTINST3("adds.w r1, r2, r3, lsr #0 ", 0x80000000, 0, r1, r2, r3, cv); 7758 TESTINST3("adds.w r1, r2, r3, lsr #1 ", 0x80000000, 0, r1, r2, r3, cv); 7759 TESTINST3("adds.w r1, r2, r3, lsr #15", 0x80000000, 0, r1, r2, r3, cv); 7760 TESTINST3("adds.w r1, r2, r3, lsr #31", 0x80000000, 0, r1, r2, r3, cv); 7761 TESTINST3("adds.w r1, r2, r3, asr #0 ", 0x80000000, 0, r1, r2, r3, cv); 7762 TESTINST3("adds.w r1, r2, r3, asr #1 ", 0x80000000, 0, r1, r2, r3, cv); 7763 TESTINST3("adds.w r1, r2, r3, asr #15", 0x80000000, 0, r1, r2, r3, cv); 7764 TESTINST3("adds.w r1, r2, r3, asr #31", 0x80000000, 0, r1, r2, r3, cv); 7765 TESTINST3("add.w r1, r2, r3, lsl #0 ", 0x80000000, 0, r1, r2, r3, cv); 7766 TESTINST3("add.w r1, r2, r3, lsl #1 ", 0x80000000, 0, r1, r2, r3, cv); 7767 TESTINST3("add.w r1, r2, r3, lsl #15", 0x80000000, 0, r1, r2, r3, cv); 7768 TESTINST3("add.w r1, r2, r3, lsl #31", 0x80000000, 0, r1, r2, r3, cv); 7769 TESTINST3("add.w r1, r2, r3, lsr #0 ", 0x80000000, 0, r1, r2, r3, cv); 7770 TESTINST3("add.w r1, r2, r3, lsr #1 ", 0x80000000, 0, r1, r2, r3, cv); 7771 TESTINST3("add.w r1, r2, r3, lsr #15", 0x80000000, 0, r1, r2, r3, cv); 7772 TESTINST3("add.w r1, r2, r3, lsr #31", 0x80000000, 0, r1, r2, r3, cv); 7773 TESTINST3("add.w r1, r2, r3, asr #0 ", 0x80000000, 0, r1, r2, r3, cv); 7774 TESTINST3("add.w r1, r2, r3, asr #1 ", 0x80000000, 0, r1, r2, r3, cv); 7775 TESTINST3("add.w r1, r2, r3, asr #15", 0x80000000, 0, r1, r2, r3, cv); 7776 TESTINST3("add.w r1, r2, r3, asr #31", 0x80000000, 0, r1, r2, r3, cv); 7777 TESTINST3("adds.w r1, r2, r3, lsl #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 7778 TESTINST3("adds.w r1, r2, r3, lsl #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 7779 TESTINST3("adds.w r1, r2, r3, lsl #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 7780 TESTINST3("adds.w r1, r2, r3, lsl #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 7781 TESTINST3("adds.w r1, r2, r3, lsr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 7782 TESTINST3("adds.w r1, r2, r3, lsr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 7783 TESTINST3("adds.w r1, r2, r3, lsr #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 7784 TESTINST3("adds.w r1, r2, r3, lsr #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 7785 TESTINST3("adds.w r1, r2, r3, asr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 7786 TESTINST3("adds.w r1, r2, r3, asr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 7787 TESTINST3("adds.w r1, r2, r3, asr #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 7788 TESTINST3("adds.w r1, r2, r3, asr #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 7789 TESTINST3("add.w r1, r2, r3, lsl #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 7790 TESTINST3("add.w r1, r2, r3, lsl #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 7791 TESTINST3("add.w r1, r2, r3, lsl #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 7792 TESTINST3("add.w r1, r2, r3, lsl #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 7793 TESTINST3("add.w r1, r2, r3, lsr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 7794 TESTINST3("add.w r1, r2, r3, lsr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 7795 TESTINST3("add.w r1, r2, r3, lsr #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 7796 TESTINST3("add.w r1, r2, r3, lsr #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 7797 TESTINST3("add.w r1, r2, r3, asr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 7798 TESTINST3("add.w r1, r2, r3, asr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 7799 TESTINST3("add.w r1, r2, r3, asr #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 7800 TESTINST3("add.w r1, r2, r3, asr #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 7801 TESTINST3("adds.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 7802 TESTINST3("adds.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 7803 TESTINST3("adds.w r1, r2, r3, lsl #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 7804 TESTINST3("adds.w r1, r2, r3, lsl #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 7805 TESTINST3("adds.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 7806 TESTINST3("adds.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 7807 TESTINST3("adds.w r1, r2, r3, lsr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 7808 TESTINST3("adds.w r1, r2, r3, lsr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 7809 TESTINST3("adds.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 7810 TESTINST3("adds.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 7811 TESTINST3("adds.w r1, r2, r3, asr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 7812 TESTINST3("adds.w r1, r2, r3, asr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 7813 TESTINST3("add.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 7814 TESTINST3("add.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 7815 TESTINST3("add.w r1, r2, r3, lsl #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 7816 TESTINST3("add.w r1, r2, r3, lsl #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 7817 TESTINST3("add.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 7818 TESTINST3("add.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 7819 TESTINST3("add.w r1, r2, r3, lsr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 7820 TESTINST3("add.w r1, r2, r3, lsr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 7821 TESTINST3("add.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 7822 TESTINST3("add.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 7823 TESTINST3("add.w r1, r2, r3, asr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 7824 TESTINST3("add.w r1, r2, r3, asr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 7825 TESTINST3("adds.w r1, r2, r3, lsl #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 7826 TESTINST3("adds.w r1, r2, r3, lsl #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 7827 TESTINST3("adds.w r1, r2, r3, lsl #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 7828 TESTINST3("adds.w r1, r2, r3, lsl #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 7829 TESTINST3("adds.w r1, r2, r3, lsr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 7830 TESTINST3("adds.w r1, r2, r3, lsr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 7831 TESTINST3("adds.w r1, r2, r3, lsr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 7832 TESTINST3("adds.w r1, r2, r3, lsr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 7833 TESTINST3("adds.w r1, r2, r3, asr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 7834 TESTINST3("adds.w r1, r2, r3, asr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 7835 TESTINST3("adds.w r1, r2, r3, asr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 7836 TESTINST3("adds.w r1, r2, r3, asr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 7837 TESTINST3("add.w r1, r2, r3, lsl #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 7838 TESTINST3("add.w r1, r2, r3, lsl #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 7839 TESTINST3("add.w r1, r2, r3, lsl #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 7840 TESTINST3("add.w r1, r2, r3, lsl #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 7841 TESTINST3("add.w r1, r2, r3, lsr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 7842 TESTINST3("add.w r1, r2, r3, lsr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 7843 TESTINST3("add.w r1, r2, r3, lsr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 7844 TESTINST3("add.w r1, r2, r3, lsr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 7845 TESTINST3("add.w r1, r2, r3, asr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 7846 TESTINST3("add.w r1, r2, r3, asr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 7847 TESTINST3("add.w r1, r2, r3, asr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 7848 TESTINST3("add.w r1, r2, r3, asr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 7849 TESTINST3("adds.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 7850 TESTINST3("adds.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 7851 TESTINST3("adds.w r1, r2, r3, lsl #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 7852 TESTINST3("adds.w r1, r2, r3, lsl #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 7853 TESTINST3("adds.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 7854 TESTINST3("adds.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 7855 TESTINST3("adds.w r1, r2, r3, lsr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 7856 TESTINST3("adds.w r1, r2, r3, lsr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 7857 TESTINST3("adds.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 7858 TESTINST3("adds.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 7859 TESTINST3("adds.w r1, r2, r3, asr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 7860 TESTINST3("adds.w r1, r2, r3, asr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 7861 TESTINST3("add.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 7862 TESTINST3("add.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 7863 TESTINST3("add.w r1, r2, r3, lsl #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 7864 TESTINST3("add.w r1, r2, r3, lsl #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 7865 TESTINST3("add.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 7866 TESTINST3("add.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 7867 TESTINST3("add.w r1, r2, r3, lsr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 7868 TESTINST3("add.w r1, r2, r3, lsr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 7869 TESTINST3("add.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 7870 TESTINST3("add.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 7871 TESTINST3("add.w r1, r2, r3, asr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 7872 TESTINST3("add.w r1, r2, r3, asr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 7873 TESTCARRYEND 7874 7875 printf("SUBB{S}.W Rd, Rn, Rm, {shift}\n"); 7876 TESTCARRY 7877 TESTINST3("subs.w r1, r2, r3, lsl #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 7878 TESTINST3("subs.w r1, r2, r3, lsl #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 7879 TESTINST3("subs.w r1, r2, r3, lsl #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 7880 TESTINST3("subs.w r1, r2, r3, lsl #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 7881 TESTINST3("subs.w r1, r2, r3, lsr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 7882 TESTINST3("subs.w r1, r2, r3, lsr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 7883 TESTINST3("subs.w r1, r2, r3, lsr #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 7884 TESTINST3("subs.w r1, r2, r3, lsr #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 7885 TESTINST3("subs.w r1, r2, r3, asr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 7886 TESTINST3("subs.w r1, r2, r3, asr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 7887 TESTINST3("subs.w r1, r2, r3, asr #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 7888 TESTINST3("subs.w r1, r2, r3, asr #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 7889 TESTINST3("sub.w r1, r2, r3, lsl #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 7890 TESTINST3("sub.w r1, r2, r3, lsl #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 7891 TESTINST3("sub.w r1, r2, r3, lsl #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 7892 TESTINST3("sub.w r1, r2, r3, lsl #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 7893 TESTINST3("sub.w r1, r2, r3, lsr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 7894 TESTINST3("sub.w r1, r2, r3, lsr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 7895 TESTINST3("sub.w r1, r2, r3, lsr #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 7896 TESTINST3("sub.w r1, r2, r3, lsr #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 7897 TESTINST3("sub.w r1, r2, r3, asr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 7898 TESTINST3("sub.w r1, r2, r3, asr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 7899 TESTINST3("sub.w r1, r2, r3, asr #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 7900 TESTINST3("sub.w r1, r2, r3, asr #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 7901 TESTINST3("subs.w r1, r2, r3, lsl #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 7902 TESTINST3("subs.w r1, r2, r3, lsl #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 7903 TESTINST3("subs.w r1, r2, r3, lsl #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 7904 TESTINST3("subs.w r1, r2, r3, lsl #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 7905 TESTINST3("subs.w r1, r2, r3, lsr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 7906 TESTINST3("subs.w r1, r2, r3, lsr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 7907 TESTINST3("subs.w r1, r2, r3, lsr #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 7908 TESTINST3("subs.w r1, r2, r3, lsr #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 7909 TESTINST3("subs.w r1, r2, r3, asr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 7910 TESTINST3("subs.w r1, r2, r3, asr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 7911 TESTINST3("subs.w r1, r2, r3, asr #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 7912 TESTINST3("subs.w r1, r2, r3, asr #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 7913 TESTINST3("sub.w r1, r2, r3, lsl #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 7914 TESTINST3("sub.w r1, r2, r3, lsl #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 7915 TESTINST3("sub.w r1, r2, r3, lsl #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 7916 TESTINST3("sub.w r1, r2, r3, lsl #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 7917 TESTINST3("sub.w r1, r2, r3, lsr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 7918 TESTINST3("sub.w r1, r2, r3, lsr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 7919 TESTINST3("sub.w r1, r2, r3, lsr #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 7920 TESTINST3("sub.w r1, r2, r3, lsr #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 7921 TESTINST3("sub.w r1, r2, r3, asr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 7922 TESTINST3("sub.w r1, r2, r3, asr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 7923 TESTINST3("sub.w r1, r2, r3, asr #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 7924 TESTINST3("sub.w r1, r2, r3, asr #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 7925 TESTINST3("subs.w r1, r2, r3, lsl #0 ", 0, 0, r1, r2, r3, cv); 7926 TESTINST3("subs.w r1, r2, r3, lsl #1 ", 0, 0, r1, r2, r3, cv); 7927 TESTINST3("subs.w r1, r2, r3, lsl #15", 0, 0, r1, r2, r3, cv); 7928 TESTINST3("subs.w r1, r2, r3, lsl #31", 0, 0, r1, r2, r3, cv); 7929 TESTINST3("subs.w r1, r2, r3, lsr #0 ", 0, 0, r1, r2, r3, cv); 7930 TESTINST3("subs.w r1, r2, r3, lsr #1 ", 0, 0, r1, r2, r3, cv); 7931 TESTINST3("subs.w r1, r2, r3, lsr #15", 0, 0, r1, r2, r3, cv); 7932 TESTINST3("subs.w r1, r2, r3, lsr #31", 0, 0, r1, r2, r3, cv); 7933 TESTINST3("subs.w r1, r2, r3, asr #0 ", 0, 0, r1, r2, r3, cv); 7934 TESTINST3("subs.w r1, r2, r3, asr #1 ", 0, 0, r1, r2, r3, cv); 7935 TESTINST3("subs.w r1, r2, r3, asr #15", 0, 0, r1, r2, r3, cv); 7936 TESTINST3("subs.w r1, r2, r3, asr #31", 0, 0, r1, r2, r3, cv); 7937 TESTINST3("sub.w r1, r2, r3, lsl #0 ", 0, 0, r1, r2, r3, cv); 7938 TESTINST3("sub.w r1, r2, r3, lsl #1 ", 0, 0, r1, r2, r3, cv); 7939 TESTINST3("sub.w r1, r2, r3, lsl #15", 0, 0, r1, r2, r3, cv); 7940 TESTINST3("sub.w r1, r2, r3, lsl #31", 0, 0, r1, r2, r3, cv); 7941 TESTINST3("sub.w r1, r2, r3, lsr #0 ", 0, 0, r1, r2, r3, cv); 7942 TESTINST3("sub.w r1, r2, r3, lsr #1 ", 0, 0, r1, r2, r3, cv); 7943 TESTINST3("sub.w r1, r2, r3, lsr #15", 0, 0, r1, r2, r3, cv); 7944 TESTINST3("sub.w r1, r2, r3, lsr #31", 0, 0, r1, r2, r3, cv); 7945 TESTINST3("sub.w r1, r2, r3, asr #0 ", 0, 0, r1, r2, r3, cv); 7946 TESTINST3("sub.w r1, r2, r3, asr #1 ", 0, 0, r1, r2, r3, cv); 7947 TESTINST3("sub.w r1, r2, r3, asr #15", 0, 0, r1, r2, r3, cv); 7948 TESTINST3("sub.w r1, r2, r3, asr #31", 0, 0, r1, r2, r3, cv); 7949 TESTINST3("subs.w r1, r2, r3, lsl #0 ", 1, 0, r1, r2, r3, cv); 7950 TESTINST3("subs.w r1, r2, r3, lsl #1 ", 1, 0, r1, r2, r3, cv); 7951 TESTINST3("subs.w r1, r2, r3, lsl #15", 1, 0, r1, r2, r3, cv); 7952 TESTINST3("subs.w r1, r2, r3, lsl #31", 1, 0, r1, r2, r3, cv); 7953 TESTINST3("subs.w r1, r2, r3, lsr #0 ", 1, 0, r1, r2, r3, cv); 7954 TESTINST3("subs.w r1, r2, r3, lsr #1 ", 1, 0, r1, r2, r3, cv); 7955 TESTINST3("subs.w r1, r2, r3, lsr #15", 1, 0, r1, r2, r3, cv); 7956 TESTINST3("subs.w r1, r2, r3, lsr #31", 1, 0, r1, r2, r3, cv); 7957 TESTINST3("subs.w r1, r2, r3, asr #0 ", 1, 0, r1, r2, r3, cv); 7958 TESTINST3("subs.w r1, r2, r3, asr #1 ", 1, 0, r1, r2, r3, cv); 7959 TESTINST3("subs.w r1, r2, r3, asr #15", 1, 0, r1, r2, r3, cv); 7960 TESTINST3("subs.w r1, r2, r3, asr #31", 1, 0, r1, r2, r3, cv); 7961 TESTINST3("sub.w r1, r2, r3, lsl #0 ", 1, 0, r1, r2, r3, cv); 7962 TESTINST3("sub.w r1, r2, r3, lsl #1 ", 1, 0, r1, r2, r3, cv); 7963 TESTINST3("sub.w r1, r2, r3, lsl #15", 1, 0, r1, r2, r3, cv); 7964 TESTINST3("sub.w r1, r2, r3, lsl #31", 1, 0, r1, r2, r3, cv); 7965 TESTINST3("sub.w r1, r2, r3, lsr #0 ", 1, 0, r1, r2, r3, cv); 7966 TESTINST3("sub.w r1, r2, r3, lsr #1 ", 1, 0, r1, r2, r3, cv); 7967 TESTINST3("sub.w r1, r2, r3, lsr #15", 1, 0, r1, r2, r3, cv); 7968 TESTINST3("sub.w r1, r2, r3, lsr #31", 1, 0, r1, r2, r3, cv); 7969 TESTINST3("sub.w r1, r2, r3, asr #0 ", 1, 0, r1, r2, r3, cv); 7970 TESTINST3("sub.w r1, r2, r3, asr #1 ", 1, 0, r1, r2, r3, cv); 7971 TESTINST3("sub.w r1, r2, r3, asr #15", 1, 0, r1, r2, r3, cv); 7972 TESTINST3("sub.w r1, r2, r3, asr #31", 1, 0, r1, r2, r3, cv); 7973 TESTINST3("subs.w r1, r2, r3, lsl #0 ", 0, 1, r1, r2, r3, cv); 7974 TESTINST3("subs.w r1, r2, r3, lsl #1 ", 0, 1, r1, r2, r3, cv); 7975 TESTINST3("subs.w r1, r2, r3, lsl #15", 0, 1, r1, r2, r3, cv); 7976 TESTINST3("subs.w r1, r2, r3, lsl #31", 0, 1, r1, r2, r3, cv); 7977 TESTINST3("subs.w r1, r2, r3, lsr #0 ", 0, 1, r1, r2, r3, cv); 7978 TESTINST3("subs.w r1, r2, r3, lsr #1 ", 0, 1, r1, r2, r3, cv); 7979 TESTINST3("subs.w r1, r2, r3, lsr #15", 0, 1, r1, r2, r3, cv); 7980 TESTINST3("subs.w r1, r2, r3, lsr #31", 0, 1, r1, r2, r3, cv); 7981 TESTINST3("subs.w r1, r2, r3, asr #0 ", 0, 1, r1, r2, r3, cv); 7982 TESTINST3("subs.w r1, r2, r3, asr #1 ", 0, 1, r1, r2, r3, cv); 7983 TESTINST3("subs.w r1, r2, r3, asr #15", 0, 1, r1, r2, r3, cv); 7984 TESTINST3("subs.w r1, r2, r3, asr #31", 0, 1, r1, r2, r3, cv); 7985 TESTINST3("sub.w r1, r2, r3, lsl #0 ", 0, 1, r1, r2, r3, cv); 7986 TESTINST3("sub.w r1, r2, r3, lsl #1 ", 0, 1, r1, r2, r3, cv); 7987 TESTINST3("sub.w r1, r2, r3, lsl #15", 0, 1, r1, r2, r3, cv); 7988 TESTINST3("sub.w r1, r2, r3, lsl #31", 0, 1, r1, r2, r3, cv); 7989 TESTINST3("sub.w r1, r2, r3, lsr #0 ", 0, 1, r1, r2, r3, cv); 7990 TESTINST3("sub.w r1, r2, r3, lsr #1 ", 0, 1, r1, r2, r3, cv); 7991 TESTINST3("sub.w r1, r2, r3, lsr #15", 0, 1, r1, r2, r3, cv); 7992 TESTINST3("sub.w r1, r2, r3, lsr #31", 0, 1, r1, r2, r3, cv); 7993 TESTINST3("sub.w r1, r2, r3, asr #0 ", 0, 1, r1, r2, r3, cv); 7994 TESTINST3("sub.w r1, r2, r3, asr #1 ", 0, 1, r1, r2, r3, cv); 7995 TESTINST3("sub.w r1, r2, r3, asr #15", 0, 1, r1, r2, r3, cv); 7996 TESTINST3("sub.w r1, r2, r3, asr #31", 0, 1, r1, r2, r3, cv); 7997 TESTINST3("subs.w r1, r2, r3, lsl #0 ", -1, 0, r1, r2, r3, cv); 7998 TESTINST3("subs.w r1, r2, r3, lsl #1 ", -1, 0, r1, r2, r3, cv); 7999 TESTINST3("subs.w r1, r2, r3, lsl #15", -1, 0, r1, r2, r3, cv); 8000 TESTINST3("subs.w r1, r2, r3, lsl #31", -1, 0, r1, r2, r3, cv); 8001 TESTINST3("subs.w r1, r2, r3, lsr #0 ", -1, 0, r1, r2, r3, cv); 8002 TESTINST3("subs.w r1, r2, r3, lsr #1 ", -1, 0, r1, r2, r3, cv); 8003 TESTINST3("subs.w r1, r2, r3, lsr #15", -1, 0, r1, r2, r3, cv); 8004 TESTINST3("subs.w r1, r2, r3, lsr #31", -1, 0, r1, r2, r3, cv); 8005 TESTINST3("subs.w r1, r2, r3, asr #0 ", -1, 0, r1, r2, r3, cv); 8006 TESTINST3("subs.w r1, r2, r3, asr #1 ", -1, 0, r1, r2, r3, cv); 8007 TESTINST3("subs.w r1, r2, r3, asr #15", -1, 0, r1, r2, r3, cv); 8008 TESTINST3("subs.w r1, r2, r3, asr #31", -1, 0, r1, r2, r3, cv); 8009 TESTINST3("sub.w r1, r2, r3, lsl #0 ", -1, 0, r1, r2, r3, cv); 8010 TESTINST3("sub.w r1, r2, r3, lsl #1 ", -1, 0, r1, r2, r3, cv); 8011 TESTINST3("sub.w r1, r2, r3, lsl #15", -1, 0, r1, r2, r3, cv); 8012 TESTINST3("sub.w r1, r2, r3, lsl #31", -1, 0, r1, r2, r3, cv); 8013 TESTINST3("sub.w r1, r2, r3, lsr #0 ", -1, 0, r1, r2, r3, cv); 8014 TESTINST3("sub.w r1, r2, r3, lsr #1 ", -1, 0, r1, r2, r3, cv); 8015 TESTINST3("sub.w r1, r2, r3, lsr #15", -1, 0, r1, r2, r3, cv); 8016 TESTINST3("sub.w r1, r2, r3, lsr #31", -1, 0, r1, r2, r3, cv); 8017 TESTINST3("sub.w r1, r2, r3, asr #0 ", -1, 0, r1, r2, r3, cv); 8018 TESTINST3("sub.w r1, r2, r3, asr #1 ", -1, 0, r1, r2, r3, cv); 8019 TESTINST3("sub.w r1, r2, r3, asr #15", -1, 0, r1, r2, r3, cv); 8020 TESTINST3("sub.w r1, r2, r3, asr #31", -1, 0, r1, r2, r3, cv); 8021 TESTINST3("subs.w r1, r2, r3, lsl #0 ", 0, -1, r1, r2, r3, cv); 8022 TESTINST3("subs.w r1, r2, r3, lsl #1 ", 0, -1, r1, r2, r3, cv); 8023 TESTINST3("subs.w r1, r2, r3, lsl #15", 0, -1, r1, r2, r3, cv); 8024 TESTINST3("subs.w r1, r2, r3, lsl #31", 0, -1, r1, r2, r3, cv); 8025 TESTINST3("subs.w r1, r2, r3, lsr #0 ", 0, -1, r1, r2, r3, cv); 8026 TESTINST3("subs.w r1, r2, r3, lsr #1 ", 0, -1, r1, r2, r3, cv); 8027 TESTINST3("subs.w r1, r2, r3, lsr #15", 0, -1, r1, r2, r3, cv); 8028 TESTINST3("subs.w r1, r2, r3, lsr #31", 0, -1, r1, r2, r3, cv); 8029 TESTINST3("subs.w r1, r2, r3, asr #0 ", 0, -1, r1, r2, r3, cv); 8030 TESTINST3("subs.w r1, r2, r3, asr #1 ", 0, -1, r1, r2, r3, cv); 8031 TESTINST3("subs.w r1, r2, r3, asr #15", 0, -1, r1, r2, r3, cv); 8032 TESTINST3("subs.w r1, r2, r3, asr #31", 0, -1, r1, r2, r3, cv); 8033 TESTINST3("sub.w r1, r2, r3, lsl #0 ", 0, -1, r1, r2, r3, cv); 8034 TESTINST3("sub.w r1, r2, r3, lsl #1 ", 0, -1, r1, r2, r3, cv); 8035 TESTINST3("sub.w r1, r2, r3, lsl #15", 0, -1, r1, r2, r3, cv); 8036 TESTINST3("sub.w r1, r2, r3, lsl #31", 0, -1, r1, r2, r3, cv); 8037 TESTINST3("sub.w r1, r2, r3, lsr #0 ", 0, -1, r1, r2, r3, cv); 8038 TESTINST3("sub.w r1, r2, r3, lsr #1 ", 0, -1, r1, r2, r3, cv); 8039 TESTINST3("sub.w r1, r2, r3, lsr #15", 0, -1, r1, r2, r3, cv); 8040 TESTINST3("sub.w r1, r2, r3, lsr #31", 0, -1, r1, r2, r3, cv); 8041 TESTINST3("sub.w r1, r2, r3, asr #0 ", 0, -1, r1, r2, r3, cv); 8042 TESTINST3("sub.w r1, r2, r3, asr #1 ", 0, -1, r1, r2, r3, cv); 8043 TESTINST3("sub.w r1, r2, r3, asr #15", 0, -1, r1, r2, r3, cv); 8044 TESTINST3("sub.w r1, r2, r3, asr #31", 0, -1, r1, r2, r3, cv); 8045 TESTINST3("subs.w r1, r2, r3, lsl #0 ", 0, 0x80000000, r1, r2, r3, cv); 8046 TESTINST3("subs.w r1, r2, r3, lsl #1 ", 0, 0x80000000, r1, r2, r3, cv); 8047 TESTINST3("subs.w r1, r2, r3, lsl #15", 0, 0x80000000, r1, r2, r3, cv); 8048 TESTINST3("subs.w r1, r2, r3, lsl #31", 0, 0x80000000, r1, r2, r3, cv); 8049 TESTINST3("subs.w r1, r2, r3, lsr #0 ", 0, 0x80000000, r1, r2, r3, cv); 8050 TESTINST3("subs.w r1, r2, r3, lsr #1 ", 0, 0x80000000, r1, r2, r3, cv); 8051 TESTINST3("subs.w r1, r2, r3, lsr #15", 0, 0x80000000, r1, r2, r3, cv); 8052 TESTINST3("subs.w r1, r2, r3, lsr #31", 0, 0x80000000, r1, r2, r3, cv); 8053 TESTINST3("subs.w r1, r2, r3, asr #0 ", 0, 0x80000000, r1, r2, r3, cv); 8054 TESTINST3("subs.w r1, r2, r3, asr #1 ", 0, 0x80000000, r1, r2, r3, cv); 8055 TESTINST3("subs.w r1, r2, r3, asr #15", 0, 0x80000000, r1, r2, r3, cv); 8056 TESTINST3("subs.w r1, r2, r3, asr #31", 0, 0x80000000, r1, r2, r3, cv); 8057 TESTINST3("sub.w r1, r2, r3, lsl #0 ", 0, 0x80000000, r1, r2, r3, cv); 8058 TESTINST3("sub.w r1, r2, r3, lsl #1 ", 0, 0x80000000, r1, r2, r3, cv); 8059 TESTINST3("sub.w r1, r2, r3, lsl #15", 0, 0x80000000, r1, r2, r3, cv); 8060 TESTINST3("sub.w r1, r2, r3, lsl #31", 0, 0x80000000, r1, r2, r3, cv); 8061 TESTINST3("sub.w r1, r2, r3, lsr #0 ", 0, 0x80000000, r1, r2, r3, cv); 8062 TESTINST3("sub.w r1, r2, r3, lsr #1 ", 0, 0x80000000, r1, r2, r3, cv); 8063 TESTINST3("sub.w r1, r2, r3, lsr #15", 0, 0x80000000, r1, r2, r3, cv); 8064 TESTINST3("sub.w r1, r2, r3, lsr #31", 0, 0x80000000, r1, r2, r3, cv); 8065 TESTINST3("sub.w r1, r2, r3, asr #0 ", 0, 0x80000000, r1, r2, r3, cv); 8066 TESTINST3("sub.w r1, r2, r3, asr #1 ", 0, 0x80000000, r1, r2, r3, cv); 8067 TESTINST3("sub.w r1, r2, r3, asr #15", 0, 0x80000000, r1, r2, r3, cv); 8068 TESTINST3("sub.w r1, r2, r3, asr #31", 0, 0x80000000, r1, r2, r3, cv); 8069 TESTINST3("subs.w r1, r2, r3, lsl #0 ", 0x80000000, 0, r1, r2, r3, cv); 8070 TESTINST3("subs.w r1, r2, r3, lsl #1 ", 0x80000000, 0, r1, r2, r3, cv); 8071 TESTINST3("subs.w r1, r2, r3, lsl #15", 0x80000000, 0, r1, r2, r3, cv); 8072 TESTINST3("subs.w r1, r2, r3, lsl #31", 0x80000000, 0, r1, r2, r3, cv); 8073 TESTINST3("subs.w r1, r2, r3, lsr #0 ", 0x80000000, 0, r1, r2, r3, cv); 8074 TESTINST3("subs.w r1, r2, r3, lsr #1 ", 0x80000000, 0, r1, r2, r3, cv); 8075 TESTINST3("subs.w r1, r2, r3, lsr #15", 0x80000000, 0, r1, r2, r3, cv); 8076 TESTINST3("subs.w r1, r2, r3, lsr #31", 0x80000000, 0, r1, r2, r3, cv); 8077 TESTINST3("subs.w r1, r2, r3, asr #0 ", 0x80000000, 0, r1, r2, r3, cv); 8078 TESTINST3("subs.w r1, r2, r3, asr #1 ", 0x80000000, 0, r1, r2, r3, cv); 8079 TESTINST3("subs.w r1, r2, r3, asr #15", 0x80000000, 0, r1, r2, r3, cv); 8080 TESTINST3("subs.w r1, r2, r3, asr #31", 0x80000000, 0, r1, r2, r3, cv); 8081 TESTINST3("sub.w r1, r2, r3, lsl #0 ", 0x80000000, 0, r1, r2, r3, cv); 8082 TESTINST3("sub.w r1, r2, r3, lsl #1 ", 0x80000000, 0, r1, r2, r3, cv); 8083 TESTINST3("sub.w r1, r2, r3, lsl #15", 0x80000000, 0, r1, r2, r3, cv); 8084 TESTINST3("sub.w r1, r2, r3, lsl #31", 0x80000000, 0, r1, r2, r3, cv); 8085 TESTINST3("sub.w r1, r2, r3, lsr #0 ", 0x80000000, 0, r1, r2, r3, cv); 8086 TESTINST3("sub.w r1, r2, r3, lsr #1 ", 0x80000000, 0, r1, r2, r3, cv); 8087 TESTINST3("sub.w r1, r2, r3, lsr #15", 0x80000000, 0, r1, r2, r3, cv); 8088 TESTINST3("sub.w r1, r2, r3, lsr #31", 0x80000000, 0, r1, r2, r3, cv); 8089 TESTINST3("sub.w r1, r2, r3, asr #0 ", 0x80000000, 0, r1, r2, r3, cv); 8090 TESTINST3("sub.w r1, r2, r3, asr #1 ", 0x80000000, 0, r1, r2, r3, cv); 8091 TESTINST3("sub.w r1, r2, r3, asr #15", 0x80000000, 0, r1, r2, r3, cv); 8092 TESTINST3("sub.w r1, r2, r3, asr #31", 0x80000000, 0, r1, r2, r3, cv); 8093 TESTINST3("subs.w r1, r2, r3, lsl #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 8094 TESTINST3("subs.w r1, r2, r3, lsl #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 8095 TESTINST3("subs.w r1, r2, r3, lsl #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 8096 TESTINST3("subs.w r1, r2, r3, lsl #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 8097 TESTINST3("subs.w r1, r2, r3, lsr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 8098 TESTINST3("subs.w r1, r2, r3, lsr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 8099 TESTINST3("subs.w r1, r2, r3, lsr #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 8100 TESTINST3("subs.w r1, r2, r3, lsr #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 8101 TESTINST3("subs.w r1, r2, r3, asr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 8102 TESTINST3("subs.w r1, r2, r3, asr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 8103 TESTINST3("subs.w r1, r2, r3, asr #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 8104 TESTINST3("subs.w r1, r2, r3, asr #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 8105 TESTINST3("sub.w r1, r2, r3, lsl #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 8106 TESTINST3("sub.w r1, r2, r3, lsl #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 8107 TESTINST3("sub.w r1, r2, r3, lsl #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 8108 TESTINST3("sub.w r1, r2, r3, lsl #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 8109 TESTINST3("sub.w r1, r2, r3, lsr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 8110 TESTINST3("sub.w r1, r2, r3, lsr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 8111 TESTINST3("sub.w r1, r2, r3, lsr #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 8112 TESTINST3("sub.w r1, r2, r3, lsr #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 8113 TESTINST3("sub.w r1, r2, r3, asr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 8114 TESTINST3("sub.w r1, r2, r3, asr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 8115 TESTINST3("sub.w r1, r2, r3, asr #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 8116 TESTINST3("sub.w r1, r2, r3, asr #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 8117 TESTINST3("subs.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 8118 TESTINST3("subs.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 8119 TESTINST3("subs.w r1, r2, r3, lsl #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 8120 TESTINST3("subs.w r1, r2, r3, lsl #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 8121 TESTINST3("subs.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 8122 TESTINST3("subs.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 8123 TESTINST3("subs.w r1, r2, r3, lsr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 8124 TESTINST3("subs.w r1, r2, r3, lsr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 8125 TESTINST3("subs.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 8126 TESTINST3("subs.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 8127 TESTINST3("subs.w r1, r2, r3, asr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 8128 TESTINST3("subs.w r1, r2, r3, asr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 8129 TESTINST3("sub.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 8130 TESTINST3("sub.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 8131 TESTINST3("sub.w r1, r2, r3, lsl #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 8132 TESTINST3("sub.w r1, r2, r3, lsl #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 8133 TESTINST3("sub.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 8134 TESTINST3("sub.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 8135 TESTINST3("sub.w r1, r2, r3, lsr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 8136 TESTINST3("sub.w r1, r2, r3, lsr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 8137 TESTINST3("sub.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 8138 TESTINST3("sub.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 8139 TESTINST3("sub.w r1, r2, r3, asr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 8140 TESTINST3("sub.w r1, r2, r3, asr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 8141 TESTINST3("subs.w r1, r2, r3, lsl #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 8142 TESTINST3("subs.w r1, r2, r3, lsl #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 8143 TESTINST3("subs.w r1, r2, r3, lsl #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 8144 TESTINST3("subs.w r1, r2, r3, lsl #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 8145 TESTINST3("subs.w r1, r2, r3, lsr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 8146 TESTINST3("subs.w r1, r2, r3, lsr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 8147 TESTINST3("subs.w r1, r2, r3, lsr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 8148 TESTINST3("subs.w r1, r2, r3, lsr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 8149 TESTINST3("subs.w r1, r2, r3, asr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 8150 TESTINST3("subs.w r1, r2, r3, asr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 8151 TESTINST3("subs.w r1, r2, r3, asr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 8152 TESTINST3("subs.w r1, r2, r3, asr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 8153 TESTINST3("sub.w r1, r2, r3, lsl #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 8154 TESTINST3("sub.w r1, r2, r3, lsl #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 8155 TESTINST3("sub.w r1, r2, r3, lsl #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 8156 TESTINST3("sub.w r1, r2, r3, lsl #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 8157 TESTINST3("sub.w r1, r2, r3, lsr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 8158 TESTINST3("sub.w r1, r2, r3, lsr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 8159 TESTINST3("sub.w r1, r2, r3, lsr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 8160 TESTINST3("sub.w r1, r2, r3, lsr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 8161 TESTINST3("sub.w r1, r2, r3, asr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 8162 TESTINST3("sub.w r1, r2, r3, asr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 8163 TESTINST3("sub.w r1, r2, r3, asr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 8164 TESTINST3("sub.w r1, r2, r3, asr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 8165 TESTINST3("subs.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 8166 TESTINST3("subs.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 8167 TESTINST3("subs.w r1, r2, r3, lsl #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 8168 TESTINST3("subs.w r1, r2, r3, lsl #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 8169 TESTINST3("subs.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 8170 TESTINST3("subs.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 8171 TESTINST3("subs.w r1, r2, r3, lsr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 8172 TESTINST3("subs.w r1, r2, r3, lsr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 8173 TESTINST3("subs.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 8174 TESTINST3("subs.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 8175 TESTINST3("subs.w r1, r2, r3, asr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 8176 TESTINST3("subs.w r1, r2, r3, asr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 8177 TESTINST3("sub.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 8178 TESTINST3("sub.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 8179 TESTINST3("sub.w r1, r2, r3, lsl #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 8180 TESTINST3("sub.w r1, r2, r3, lsl #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 8181 TESTINST3("sub.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 8182 TESTINST3("sub.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 8183 TESTINST3("sub.w r1, r2, r3, lsr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 8184 TESTINST3("sub.w r1, r2, r3, lsr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 8185 TESTINST3("sub.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 8186 TESTINST3("sub.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 8187 TESTINST3("sub.w r1, r2, r3, asr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 8188 TESTINST3("sub.w r1, r2, r3, asr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 8189 TESTCARRYEND 8190 8191 printf("RSB{S}.W Rd, Rn, Rm, {shift}\n"); 8192 TESTCARRY 8193 TESTINST3("rsbs.w r1, r2, r3, lsl #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 8194 TESTINST3("rsbs.w r1, r2, r3, lsl #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 8195 TESTINST3("rsbs.w r1, r2, r3, lsl #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 8196 TESTINST3("rsbs.w r1, r2, r3, lsl #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 8197 TESTINST3("rsbs.w r1, r2, r3, lsr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 8198 TESTINST3("rsbs.w r1, r2, r3, lsr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 8199 TESTINST3("rsbs.w r1, r2, r3, lsr #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 8200 TESTINST3("rsbs.w r1, r2, r3, lsr #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 8201 TESTINST3("rsbs.w r1, r2, r3, asr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 8202 TESTINST3("rsbs.w r1, r2, r3, asr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 8203 TESTINST3("rsbs.w r1, r2, r3, asr #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 8204 TESTINST3("rsbs.w r1, r2, r3, asr #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 8205 TESTINST3("rsb.w r1, r2, r3, lsl #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 8206 TESTINST3("rsb.w r1, r2, r3, lsl #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 8207 TESTINST3("rsb.w r1, r2, r3, lsl #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 8208 TESTINST3("rsb.w r1, r2, r3, lsl #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 8209 TESTINST3("rsb.w r1, r2, r3, lsr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 8210 TESTINST3("rsb.w r1, r2, r3, lsr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 8211 TESTINST3("rsb.w r1, r2, r3, lsr #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 8212 TESTINST3("rsb.w r1, r2, r3, lsr #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 8213 TESTINST3("rsb.w r1, r2, r3, asr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 8214 TESTINST3("rsb.w r1, r2, r3, asr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 8215 TESTINST3("rsb.w r1, r2, r3, asr #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 8216 TESTINST3("rsb.w r1, r2, r3, asr #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 8217 TESTINST3("rsbs.w r1, r2, r3, lsl #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 8218 TESTINST3("rsbs.w r1, r2, r3, lsl #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 8219 TESTINST3("rsbs.w r1, r2, r3, lsl #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 8220 TESTINST3("rsbs.w r1, r2, r3, lsl #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 8221 TESTINST3("rsbs.w r1, r2, r3, lsr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 8222 TESTINST3("rsbs.w r1, r2, r3, lsr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 8223 TESTINST3("rsbs.w r1, r2, r3, lsr #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 8224 TESTINST3("rsbs.w r1, r2, r3, lsr #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 8225 TESTINST3("rsbs.w r1, r2, r3, asr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 8226 TESTINST3("rsbs.w r1, r2, r3, asr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 8227 TESTINST3("rsbs.w r1, r2, r3, asr #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 8228 TESTINST3("rsbs.w r1, r2, r3, asr #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 8229 TESTINST3("rsb.w r1, r2, r3, lsl #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 8230 TESTINST3("rsb.w r1, r2, r3, lsl #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 8231 TESTINST3("rsb.w r1, r2, r3, lsl #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 8232 TESTINST3("rsb.w r1, r2, r3, lsl #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 8233 TESTINST3("rsb.w r1, r2, r3, lsr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 8234 TESTINST3("rsb.w r1, r2, r3, lsr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 8235 TESTINST3("rsb.w r1, r2, r3, lsr #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 8236 TESTINST3("rsb.w r1, r2, r3, lsr #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 8237 TESTINST3("rsb.w r1, r2, r3, asr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 8238 TESTINST3("rsb.w r1, r2, r3, asr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 8239 TESTINST3("rsb.w r1, r2, r3, asr #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 8240 TESTINST3("rsb.w r1, r2, r3, asr #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 8241 TESTINST3("rsbs.w r1, r2, r3, lsl #0 ", 0, 0, r1, r2, r3, cv); 8242 TESTINST3("rsbs.w r1, r2, r3, lsl #1 ", 0, 0, r1, r2, r3, cv); 8243 TESTINST3("rsbs.w r1, r2, r3, lsl #15", 0, 0, r1, r2, r3, cv); 8244 TESTINST3("rsbs.w r1, r2, r3, lsl #31", 0, 0, r1, r2, r3, cv); 8245 TESTINST3("rsbs.w r1, r2, r3, lsr #0 ", 0, 0, r1, r2, r3, cv); 8246 TESTINST3("rsbs.w r1, r2, r3, lsr #1 ", 0, 0, r1, r2, r3, cv); 8247 TESTINST3("rsbs.w r1, r2, r3, lsr #15", 0, 0, r1, r2, r3, cv); 8248 TESTINST3("rsbs.w r1, r2, r3, lsr #31", 0, 0, r1, r2, r3, cv); 8249 TESTINST3("rsbs.w r1, r2, r3, asr #0 ", 0, 0, r1, r2, r3, cv); 8250 TESTINST3("rsbs.w r1, r2, r3, asr #1 ", 0, 0, r1, r2, r3, cv); 8251 TESTINST3("rsbs.w r1, r2, r3, asr #15", 0, 0, r1, r2, r3, cv); 8252 TESTINST3("rsbs.w r1, r2, r3, asr #31", 0, 0, r1, r2, r3, cv); 8253 TESTINST3("rsb.w r1, r2, r3, lsl #0 ", 0, 0, r1, r2, r3, cv); 8254 TESTINST3("rsb.w r1, r2, r3, lsl #1 ", 0, 0, r1, r2, r3, cv); 8255 TESTINST3("rsb.w r1, r2, r3, lsl #15", 0, 0, r1, r2, r3, cv); 8256 TESTINST3("rsb.w r1, r2, r3, lsl #31", 0, 0, r1, r2, r3, cv); 8257 TESTINST3("rsb.w r1, r2, r3, lsr #0 ", 0, 0, r1, r2, r3, cv); 8258 TESTINST3("rsb.w r1, r2, r3, lsr #1 ", 0, 0, r1, r2, r3, cv); 8259 TESTINST3("rsb.w r1, r2, r3, lsr #15", 0, 0, r1, r2, r3, cv); 8260 TESTINST3("rsb.w r1, r2, r3, lsr #31", 0, 0, r1, r2, r3, cv); 8261 TESTINST3("rsb.w r1, r2, r3, asr #0 ", 0, 0, r1, r2, r3, cv); 8262 TESTINST3("rsb.w r1, r2, r3, asr #1 ", 0, 0, r1, r2, r3, cv); 8263 TESTINST3("rsb.w r1, r2, r3, asr #15", 0, 0, r1, r2, r3, cv); 8264 TESTINST3("rsb.w r1, r2, r3, asr #31", 0, 0, r1, r2, r3, cv); 8265 TESTINST3("rsbs.w r1, r2, r3, lsl #0 ", 1, 0, r1, r2, r3, cv); 8266 TESTINST3("rsbs.w r1, r2, r3, lsl #1 ", 1, 0, r1, r2, r3, cv); 8267 TESTINST3("rsbs.w r1, r2, r3, lsl #15", 1, 0, r1, r2, r3, cv); 8268 TESTINST3("rsbs.w r1, r2, r3, lsl #31", 1, 0, r1, r2, r3, cv); 8269 TESTINST3("rsbs.w r1, r2, r3, lsr #0 ", 1, 0, r1, r2, r3, cv); 8270 TESTINST3("rsbs.w r1, r2, r3, lsr #1 ", 1, 0, r1, r2, r3, cv); 8271 TESTINST3("rsbs.w r1, r2, r3, lsr #15", 1, 0, r1, r2, r3, cv); 8272 TESTINST3("rsbs.w r1, r2, r3, lsr #31", 1, 0, r1, r2, r3, cv); 8273 TESTINST3("rsbs.w r1, r2, r3, asr #0 ", 1, 0, r1, r2, r3, cv); 8274 TESTINST3("rsbs.w r1, r2, r3, asr #1 ", 1, 0, r1, r2, r3, cv); 8275 TESTINST3("rsbs.w r1, r2, r3, asr #15", 1, 0, r1, r2, r3, cv); 8276 TESTINST3("rsbs.w r1, r2, r3, asr #31", 1, 0, r1, r2, r3, cv); 8277 TESTINST3("rsb.w r1, r2, r3, lsl #0 ", 1, 0, r1, r2, r3, cv); 8278 TESTINST3("rsb.w r1, r2, r3, lsl #1 ", 1, 0, r1, r2, r3, cv); 8279 TESTINST3("rsb.w r1, r2, r3, lsl #15", 1, 0, r1, r2, r3, cv); 8280 TESTINST3("rsb.w r1, r2, r3, lsl #31", 1, 0, r1, r2, r3, cv); 8281 TESTINST3("rsb.w r1, r2, r3, lsr #0 ", 1, 0, r1, r2, r3, cv); 8282 TESTINST3("rsb.w r1, r2, r3, lsr #1 ", 1, 0, r1, r2, r3, cv); 8283 TESTINST3("rsb.w r1, r2, r3, lsr #15", 1, 0, r1, r2, r3, cv); 8284 TESTINST3("rsb.w r1, r2, r3, lsr #31", 1, 0, r1, r2, r3, cv); 8285 TESTINST3("rsb.w r1, r2, r3, asr #0 ", 1, 0, r1, r2, r3, cv); 8286 TESTINST3("rsb.w r1, r2, r3, asr #1 ", 1, 0, r1, r2, r3, cv); 8287 TESTINST3("rsb.w r1, r2, r3, asr #15", 1, 0, r1, r2, r3, cv); 8288 TESTINST3("rsb.w r1, r2, r3, asr #31", 1, 0, r1, r2, r3, cv); 8289 TESTINST3("rsbs.w r1, r2, r3, lsl #0 ", 0, 1, r1, r2, r3, cv); 8290 TESTINST3("rsbs.w r1, r2, r3, lsl #1 ", 0, 1, r1, r2, r3, cv); 8291 TESTINST3("rsbs.w r1, r2, r3, lsl #15", 0, 1, r1, r2, r3, cv); 8292 TESTINST3("rsbs.w r1, r2, r3, lsl #31", 0, 1, r1, r2, r3, cv); 8293 TESTINST3("rsbs.w r1, r2, r3, lsr #0 ", 0, 1, r1, r2, r3, cv); 8294 TESTINST3("rsbs.w r1, r2, r3, lsr #1 ", 0, 1, r1, r2, r3, cv); 8295 TESTINST3("rsbs.w r1, r2, r3, lsr #15", 0, 1, r1, r2, r3, cv); 8296 TESTINST3("rsbs.w r1, r2, r3, lsr #31", 0, 1, r1, r2, r3, cv); 8297 TESTINST3("rsbs.w r1, r2, r3, asr #0 ", 0, 1, r1, r2, r3, cv); 8298 TESTINST3("rsbs.w r1, r2, r3, asr #1 ", 0, 1, r1, r2, r3, cv); 8299 TESTINST3("rsbs.w r1, r2, r3, asr #15", 0, 1, r1, r2, r3, cv); 8300 TESTINST3("rsbs.w r1, r2, r3, asr #31", 0, 1, r1, r2, r3, cv); 8301 TESTINST3("rsb.w r1, r2, r3, lsl #0 ", 0, 1, r1, r2, r3, cv); 8302 TESTINST3("rsb.w r1, r2, r3, lsl #1 ", 0, 1, r1, r2, r3, cv); 8303 TESTINST3("rsb.w r1, r2, r3, lsl #15", 0, 1, r1, r2, r3, cv); 8304 TESTINST3("rsb.w r1, r2, r3, lsl #31", 0, 1, r1, r2, r3, cv); 8305 TESTINST3("rsb.w r1, r2, r3, lsr #0 ", 0, 1, r1, r2, r3, cv); 8306 TESTINST3("rsb.w r1, r2, r3, lsr #1 ", 0, 1, r1, r2, r3, cv); 8307 TESTINST3("rsb.w r1, r2, r3, lsr #15", 0, 1, r1, r2, r3, cv); 8308 TESTINST3("rsb.w r1, r2, r3, lsr #31", 0, 1, r1, r2, r3, cv); 8309 TESTINST3("rsb.w r1, r2, r3, asr #0 ", 0, 1, r1, r2, r3, cv); 8310 TESTINST3("rsb.w r1, r2, r3, asr #1 ", 0, 1, r1, r2, r3, cv); 8311 TESTINST3("rsb.w r1, r2, r3, asr #15", 0, 1, r1, r2, r3, cv); 8312 TESTINST3("rsb.w r1, r2, r3, asr #31", 0, 1, r1, r2, r3, cv); 8313 TESTINST3("rsbs.w r1, r2, r3, lsl #0 ", -1, 0, r1, r2, r3, cv); 8314 TESTINST3("rsbs.w r1, r2, r3, lsl #1 ", -1, 0, r1, r2, r3, cv); 8315 TESTINST3("rsbs.w r1, r2, r3, lsl #15", -1, 0, r1, r2, r3, cv); 8316 TESTINST3("rsbs.w r1, r2, r3, lsl #31", -1, 0, r1, r2, r3, cv); 8317 TESTINST3("rsbs.w r1, r2, r3, lsr #0 ", -1, 0, r1, r2, r3, cv); 8318 TESTINST3("rsbs.w r1, r2, r3, lsr #1 ", -1, 0, r1, r2, r3, cv); 8319 TESTINST3("rsbs.w r1, r2, r3, lsr #15", -1, 0, r1, r2, r3, cv); 8320 TESTINST3("rsbs.w r1, r2, r3, lsr #31", -1, 0, r1, r2, r3, cv); 8321 TESTINST3("rsbs.w r1, r2, r3, asr #0 ", -1, 0, r1, r2, r3, cv); 8322 TESTINST3("rsbs.w r1, r2, r3, asr #1 ", -1, 0, r1, r2, r3, cv); 8323 TESTINST3("rsbs.w r1, r2, r3, asr #15", -1, 0, r1, r2, r3, cv); 8324 TESTINST3("rsbs.w r1, r2, r3, asr #31", -1, 0, r1, r2, r3, cv); 8325 TESTINST3("rsb.w r1, r2, r3, lsl #0 ", -1, 0, r1, r2, r3, cv); 8326 TESTINST3("rsb.w r1, r2, r3, lsl #1 ", -1, 0, r1, r2, r3, cv); 8327 TESTINST3("rsb.w r1, r2, r3, lsl #15", -1, 0, r1, r2, r3, cv); 8328 TESTINST3("rsb.w r1, r2, r3, lsl #31", -1, 0, r1, r2, r3, cv); 8329 TESTINST3("rsb.w r1, r2, r3, lsr #0 ", -1, 0, r1, r2, r3, cv); 8330 TESTINST3("rsb.w r1, r2, r3, lsr #1 ", -1, 0, r1, r2, r3, cv); 8331 TESTINST3("rsb.w r1, r2, r3, lsr #15", -1, 0, r1, r2, r3, cv); 8332 TESTINST3("rsb.w r1, r2, r3, lsr #31", -1, 0, r1, r2, r3, cv); 8333 TESTINST3("rsb.w r1, r2, r3, asr #0 ", -1, 0, r1, r2, r3, cv); 8334 TESTINST3("rsb.w r1, r2, r3, asr #1 ", -1, 0, r1, r2, r3, cv); 8335 TESTINST3("rsb.w r1, r2, r3, asr #15", -1, 0, r1, r2, r3, cv); 8336 TESTINST3("rsb.w r1, r2, r3, asr #31", -1, 0, r1, r2, r3, cv); 8337 TESTINST3("rsbs.w r1, r2, r3, lsl #0 ", 0, -1, r1, r2, r3, cv); 8338 TESTINST3("rsbs.w r1, r2, r3, lsl #1 ", 0, -1, r1, r2, r3, cv); 8339 TESTINST3("rsbs.w r1, r2, r3, lsl #15", 0, -1, r1, r2, r3, cv); 8340 TESTINST3("rsbs.w r1, r2, r3, lsl #31", 0, -1, r1, r2, r3, cv); 8341 TESTINST3("rsbs.w r1, r2, r3, lsr #0 ", 0, -1, r1, r2, r3, cv); 8342 TESTINST3("rsbs.w r1, r2, r3, lsr #1 ", 0, -1, r1, r2, r3, cv); 8343 TESTINST3("rsbs.w r1, r2, r3, lsr #15", 0, -1, r1, r2, r3, cv); 8344 TESTINST3("rsbs.w r1, r2, r3, lsr #31", 0, -1, r1, r2, r3, cv); 8345 TESTINST3("rsbs.w r1, r2, r3, asr #0 ", 0, -1, r1, r2, r3, cv); 8346 TESTINST3("rsbs.w r1, r2, r3, asr #1 ", 0, -1, r1, r2, r3, cv); 8347 TESTINST3("rsbs.w r1, r2, r3, asr #15", 0, -1, r1, r2, r3, cv); 8348 TESTINST3("rsbs.w r1, r2, r3, asr #31", 0, -1, r1, r2, r3, cv); 8349 TESTINST3("rsb.w r1, r2, r3, lsl #0 ", 0, -1, r1, r2, r3, cv); 8350 TESTINST3("rsb.w r1, r2, r3, lsl #1 ", 0, -1, r1, r2, r3, cv); 8351 TESTINST3("rsb.w r1, r2, r3, lsl #15", 0, -1, r1, r2, r3, cv); 8352 TESTINST3("rsb.w r1, r2, r3, lsl #31", 0, -1, r1, r2, r3, cv); 8353 TESTINST3("rsb.w r1, r2, r3, lsr #0 ", 0, -1, r1, r2, r3, cv); 8354 TESTINST3("rsb.w r1, r2, r3, lsr #1 ", 0, -1, r1, r2, r3, cv); 8355 TESTINST3("rsb.w r1, r2, r3, lsr #15", 0, -1, r1, r2, r3, cv); 8356 TESTINST3("rsb.w r1, r2, r3, lsr #31", 0, -1, r1, r2, r3, cv); 8357 TESTINST3("rsb.w r1, r2, r3, asr #0 ", 0, -1, r1, r2, r3, cv); 8358 TESTINST3("rsb.w r1, r2, r3, asr #1 ", 0, -1, r1, r2, r3, cv); 8359 TESTINST3("rsb.w r1, r2, r3, asr #15", 0, -1, r1, r2, r3, cv); 8360 TESTINST3("rsb.w r1, r2, r3, asr #31", 0, -1, r1, r2, r3, cv); 8361 TESTINST3("rsbs.w r1, r2, r3, lsl #0 ", 0, 0x80000000, r1, r2, r3, cv); 8362 TESTINST3("rsbs.w r1, r2, r3, lsl #1 ", 0, 0x80000000, r1, r2, r3, cv); 8363 TESTINST3("rsbs.w r1, r2, r3, lsl #15", 0, 0x80000000, r1, r2, r3, cv); 8364 TESTINST3("rsbs.w r1, r2, r3, lsl #31", 0, 0x80000000, r1, r2, r3, cv); 8365 TESTINST3("rsbs.w r1, r2, r3, lsr #0 ", 0, 0x80000000, r1, r2, r3, cv); 8366 TESTINST3("rsbs.w r1, r2, r3, lsr #1 ", 0, 0x80000000, r1, r2, r3, cv); 8367 TESTINST3("rsbs.w r1, r2, r3, lsr #15", 0, 0x80000000, r1, r2, r3, cv); 8368 TESTINST3("rsbs.w r1, r2, r3, lsr #31", 0, 0x80000000, r1, r2, r3, cv); 8369 TESTINST3("rsbs.w r1, r2, r3, asr #0 ", 0, 0x80000000, r1, r2, r3, cv); 8370 TESTINST3("rsbs.w r1, r2, r3, asr #1 ", 0, 0x80000000, r1, r2, r3, cv); 8371 TESTINST3("rsbs.w r1, r2, r3, asr #15", 0, 0x80000000, r1, r2, r3, cv); 8372 TESTINST3("rsbs.w r1, r2, r3, asr #31", 0, 0x80000000, r1, r2, r3, cv); 8373 TESTINST3("rsb.w r1, r2, r3, lsl #0 ", 0, 0x80000000, r1, r2, r3, cv); 8374 TESTINST3("rsb.w r1, r2, r3, lsl #1 ", 0, 0x80000000, r1, r2, r3, cv); 8375 TESTINST3("rsb.w r1, r2, r3, lsl #15", 0, 0x80000000, r1, r2, r3, cv); 8376 TESTINST3("rsb.w r1, r2, r3, lsl #31", 0, 0x80000000, r1, r2, r3, cv); 8377 TESTINST3("rsb.w r1, r2, r3, lsr #0 ", 0, 0x80000000, r1, r2, r3, cv); 8378 TESTINST3("rsb.w r1, r2, r3, lsr #1 ", 0, 0x80000000, r1, r2, r3, cv); 8379 TESTINST3("rsb.w r1, r2, r3, lsr #15", 0, 0x80000000, r1, r2, r3, cv); 8380 TESTINST3("rsb.w r1, r2, r3, lsr #31", 0, 0x80000000, r1, r2, r3, cv); 8381 TESTINST3("rsb.w r1, r2, r3, asr #0 ", 0, 0x80000000, r1, r2, r3, cv); 8382 TESTINST3("rsb.w r1, r2, r3, asr #1 ", 0, 0x80000000, r1, r2, r3, cv); 8383 TESTINST3("rsb.w r1, r2, r3, asr #15", 0, 0x80000000, r1, r2, r3, cv); 8384 TESTINST3("rsb.w r1, r2, r3, asr #31", 0, 0x80000000, r1, r2, r3, cv); 8385 TESTINST3("rsbs.w r1, r2, r3, lsl #0 ", 0x80000000, 0, r1, r2, r3, cv); 8386 TESTINST3("rsbs.w r1, r2, r3, lsl #1 ", 0x80000000, 0, r1, r2, r3, cv); 8387 TESTINST3("rsbs.w r1, r2, r3, lsl #15", 0x80000000, 0, r1, r2, r3, cv); 8388 TESTINST3("rsbs.w r1, r2, r3, lsl #31", 0x80000000, 0, r1, r2, r3, cv); 8389 TESTINST3("rsbs.w r1, r2, r3, lsr #0 ", 0x80000000, 0, r1, r2, r3, cv); 8390 TESTINST3("rsbs.w r1, r2, r3, lsr #1 ", 0x80000000, 0, r1, r2, r3, cv); 8391 TESTINST3("rsbs.w r1, r2, r3, lsr #15", 0x80000000, 0, r1, r2, r3, cv); 8392 TESTINST3("rsbs.w r1, r2, r3, lsr #31", 0x80000000, 0, r1, r2, r3, cv); 8393 TESTINST3("rsbs.w r1, r2, r3, asr #0 ", 0x80000000, 0, r1, r2, r3, cv); 8394 TESTINST3("rsbs.w r1, r2, r3, asr #1 ", 0x80000000, 0, r1, r2, r3, cv); 8395 TESTINST3("rsbs.w r1, r2, r3, asr #15", 0x80000000, 0, r1, r2, r3, cv); 8396 TESTINST3("rsbs.w r1, r2, r3, asr #31", 0x80000000, 0, r1, r2, r3, cv); 8397 TESTINST3("rsb.w r1, r2, r3, lsl #0 ", 0x80000000, 0, r1, r2, r3, cv); 8398 TESTINST3("rsb.w r1, r2, r3, lsl #1 ", 0x80000000, 0, r1, r2, r3, cv); 8399 TESTINST3("rsb.w r1, r2, r3, lsl #15", 0x80000000, 0, r1, r2, r3, cv); 8400 TESTINST3("rsb.w r1, r2, r3, lsl #31", 0x80000000, 0, r1, r2, r3, cv); 8401 TESTINST3("rsb.w r1, r2, r3, lsr #0 ", 0x80000000, 0, r1, r2, r3, cv); 8402 TESTINST3("rsb.w r1, r2, r3, lsr #1 ", 0x80000000, 0, r1, r2, r3, cv); 8403 TESTINST3("rsb.w r1, r2, r3, lsr #15", 0x80000000, 0, r1, r2, r3, cv); 8404 TESTINST3("rsb.w r1, r2, r3, lsr #31", 0x80000000, 0, r1, r2, r3, cv); 8405 TESTINST3("rsb.w r1, r2, r3, asr #0 ", 0x80000000, 0, r1, r2, r3, cv); 8406 TESTINST3("rsb.w r1, r2, r3, asr #1 ", 0x80000000, 0, r1, r2, r3, cv); 8407 TESTINST3("rsb.w r1, r2, r3, asr #15", 0x80000000, 0, r1, r2, r3, cv); 8408 TESTINST3("rsb.w r1, r2, r3, asr #31", 0x80000000, 0, r1, r2, r3, cv); 8409 TESTINST3("rsbs.w r1, r2, r3, lsl #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 8410 TESTINST3("rsbs.w r1, r2, r3, lsl #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 8411 TESTINST3("rsbs.w r1, r2, r3, lsl #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 8412 TESTINST3("rsbs.w r1, r2, r3, lsl #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 8413 TESTINST3("rsbs.w r1, r2, r3, lsr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 8414 TESTINST3("rsbs.w r1, r2, r3, lsr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 8415 TESTINST3("rsbs.w r1, r2, r3, lsr #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 8416 TESTINST3("rsbs.w r1, r2, r3, lsr #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 8417 TESTINST3("rsbs.w r1, r2, r3, asr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 8418 TESTINST3("rsbs.w r1, r2, r3, asr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 8419 TESTINST3("rsbs.w r1, r2, r3, asr #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 8420 TESTINST3("rsbs.w r1, r2, r3, asr #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 8421 TESTINST3("rsb.w r1, r2, r3, lsl #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 8422 TESTINST3("rsb.w r1, r2, r3, lsl #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 8423 TESTINST3("rsb.w r1, r2, r3, lsl #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 8424 TESTINST3("rsb.w r1, r2, r3, lsl #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 8425 TESTINST3("rsb.w r1, r2, r3, lsr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 8426 TESTINST3("rsb.w r1, r2, r3, lsr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 8427 TESTINST3("rsb.w r1, r2, r3, lsr #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 8428 TESTINST3("rsb.w r1, r2, r3, lsr #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 8429 TESTINST3("rsb.w r1, r2, r3, asr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 8430 TESTINST3("rsb.w r1, r2, r3, asr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 8431 TESTINST3("rsb.w r1, r2, r3, asr #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 8432 TESTINST3("rsb.w r1, r2, r3, asr #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 8433 TESTINST3("rsbs.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 8434 TESTINST3("rsbs.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 8435 TESTINST3("rsbs.w r1, r2, r3, lsl #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 8436 TESTINST3("rsbs.w r1, r2, r3, lsl #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 8437 TESTINST3("rsbs.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 8438 TESTINST3("rsbs.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 8439 TESTINST3("rsbs.w r1, r2, r3, lsr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 8440 TESTINST3("rsbs.w r1, r2, r3, lsr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 8441 TESTINST3("rsbs.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 8442 TESTINST3("rsbs.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 8443 TESTINST3("rsbs.w r1, r2, r3, asr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 8444 TESTINST3("rsbs.w r1, r2, r3, asr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 8445 TESTINST3("rsb.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 8446 TESTINST3("rsb.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 8447 TESTINST3("rsb.w r1, r2, r3, lsl #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 8448 TESTINST3("rsb.w r1, r2, r3, lsl #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 8449 TESTINST3("rsb.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 8450 TESTINST3("rsb.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 8451 TESTINST3("rsb.w r1, r2, r3, lsr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 8452 TESTINST3("rsb.w r1, r2, r3, lsr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 8453 TESTINST3("rsb.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 8454 TESTINST3("rsb.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 8455 TESTINST3("rsb.w r1, r2, r3, asr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 8456 TESTINST3("rsb.w r1, r2, r3, asr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 8457 TESTINST3("rsbs.w r1, r2, r3, lsl #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 8458 TESTINST3("rsbs.w r1, r2, r3, lsl #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 8459 TESTINST3("rsbs.w r1, r2, r3, lsl #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 8460 TESTINST3("rsbs.w r1, r2, r3, lsl #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 8461 TESTINST3("rsbs.w r1, r2, r3, lsr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 8462 TESTINST3("rsbs.w r1, r2, r3, lsr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 8463 TESTINST3("rsbs.w r1, r2, r3, lsr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 8464 TESTINST3("rsbs.w r1, r2, r3, lsr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 8465 TESTINST3("rsbs.w r1, r2, r3, asr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 8466 TESTINST3("rsbs.w r1, r2, r3, asr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 8467 TESTINST3("rsbs.w r1, r2, r3, asr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 8468 TESTINST3("rsbs.w r1, r2, r3, asr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 8469 TESTINST3("rsb.w r1, r2, r3, lsl #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 8470 TESTINST3("rsb.w r1, r2, r3, lsl #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 8471 TESTINST3("rsb.w r1, r2, r3, lsl #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 8472 TESTINST3("rsb.w r1, r2, r3, lsl #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 8473 TESTINST3("rsb.w r1, r2, r3, lsr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 8474 TESTINST3("rsb.w r1, r2, r3, lsr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 8475 TESTINST3("rsb.w r1, r2, r3, lsr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 8476 TESTINST3("rsb.w r1, r2, r3, lsr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 8477 TESTINST3("rsb.w r1, r2, r3, asr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 8478 TESTINST3("rsb.w r1, r2, r3, asr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 8479 TESTINST3("rsb.w r1, r2, r3, asr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 8480 TESTINST3("rsb.w r1, r2, r3, asr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 8481 TESTINST3("rsbs.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 8482 TESTINST3("rsbs.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 8483 TESTINST3("rsbs.w r1, r2, r3, lsl #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 8484 TESTINST3("rsbs.w r1, r2, r3, lsl #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 8485 TESTINST3("rsbs.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 8486 TESTINST3("rsbs.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 8487 TESTINST3("rsbs.w r1, r2, r3, lsr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 8488 TESTINST3("rsbs.w r1, r2, r3, lsr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 8489 TESTINST3("rsbs.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 8490 TESTINST3("rsbs.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 8491 TESTINST3("rsbs.w r1, r2, r3, asr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 8492 TESTINST3("rsbs.w r1, r2, r3, asr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 8493 TESTINST3("rsb.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 8494 TESTINST3("rsb.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 8495 TESTINST3("rsb.w r1, r2, r3, lsl #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 8496 TESTINST3("rsb.w r1, r2, r3, lsl #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 8497 TESTINST3("rsb.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 8498 TESTINST3("rsb.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 8499 TESTINST3("rsb.w r1, r2, r3, lsr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 8500 TESTINST3("rsb.w r1, r2, r3, lsr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 8501 TESTINST3("rsb.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 8502 TESTINST3("rsb.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 8503 TESTINST3("rsb.w r1, r2, r3, asr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 8504 TESTINST3("rsb.w r1, r2, r3, asr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 8505 TESTCARRYEND 8506 8507 printf("ADC{S}.W Rd, Rn, Rm, {shift}\n"); 8508 TESTCARRY 8509 TESTINST3("adcs.w r1, r2, r3, lsl #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 8510 TESTINST3("adcs.w r1, r2, r3, lsl #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 8511 TESTINST3("adcs.w r1, r2, r3, lsl #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 8512 TESTINST3("adcs.w r1, r2, r3, lsl #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 8513 TESTINST3("adcs.w r1, r2, r3, lsr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 8514 TESTINST3("adcs.w r1, r2, r3, lsr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 8515 TESTINST3("adcs.w r1, r2, r3, lsr #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 8516 TESTINST3("adcs.w r1, r2, r3, lsr #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 8517 TESTINST3("adcs.w r1, r2, r3, asr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 8518 TESTINST3("adcs.w r1, r2, r3, asr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 8519 TESTINST3("adcs.w r1, r2, r3, asr #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 8520 TESTINST3("adcs.w r1, r2, r3, asr #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 8521 TESTINST3("adc.w r1, r2, r3, lsl #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 8522 TESTINST3("adc.w r1, r2, r3, lsl #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 8523 TESTINST3("adc.w r1, r2, r3, lsl #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 8524 TESTINST3("adc.w r1, r2, r3, lsl #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 8525 TESTINST3("adc.w r1, r2, r3, lsr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 8526 TESTINST3("adc.w r1, r2, r3, lsr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 8527 TESTINST3("adc.w r1, r2, r3, lsr #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 8528 TESTINST3("adc.w r1, r2, r3, lsr #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 8529 TESTINST3("adc.w r1, r2, r3, asr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 8530 TESTINST3("adc.w r1, r2, r3, asr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 8531 TESTINST3("adc.w r1, r2, r3, asr #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 8532 TESTINST3("adc.w r1, r2, r3, asr #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 8533 TESTINST3("adcs.w r1, r2, r3, lsl #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 8534 TESTINST3("adcs.w r1, r2, r3, lsl #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 8535 TESTINST3("adcs.w r1, r2, r3, lsl #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 8536 TESTINST3("adcs.w r1, r2, r3, lsl #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 8537 TESTINST3("adcs.w r1, r2, r3, lsr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 8538 TESTINST3("adcs.w r1, r2, r3, lsr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 8539 TESTINST3("adcs.w r1, r2, r3, lsr #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 8540 TESTINST3("adcs.w r1, r2, r3, lsr #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 8541 TESTINST3("adcs.w r1, r2, r3, asr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 8542 TESTINST3("adcs.w r1, r2, r3, asr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 8543 TESTINST3("adcs.w r1, r2, r3, asr #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 8544 TESTINST3("adcs.w r1, r2, r3, asr #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 8545 TESTINST3("adc.w r1, r2, r3, lsl #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 8546 TESTINST3("adc.w r1, r2, r3, lsl #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 8547 TESTINST3("adc.w r1, r2, r3, lsl #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 8548 TESTINST3("adc.w r1, r2, r3, lsl #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 8549 TESTINST3("adc.w r1, r2, r3, lsr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 8550 TESTINST3("adc.w r1, r2, r3, lsr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 8551 TESTINST3("adc.w r1, r2, r3, lsr #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 8552 TESTINST3("adc.w r1, r2, r3, lsr #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 8553 TESTINST3("adc.w r1, r2, r3, asr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 8554 TESTINST3("adc.w r1, r2, r3, asr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 8555 TESTINST3("adc.w r1, r2, r3, asr #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 8556 TESTINST3("adc.w r1, r2, r3, asr #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 8557 TESTINST3("adcs.w r1, r2, r3, lsl #0 ", 0, 0, r1, r2, r3, cv); 8558 TESTINST3("adcs.w r1, r2, r3, lsl #1 ", 0, 0, r1, r2, r3, cv); 8559 TESTINST3("adcs.w r1, r2, r3, lsl #15", 0, 0, r1, r2, r3, cv); 8560 TESTINST3("adcs.w r1, r2, r3, lsl #31", 0, 0, r1, r2, r3, cv); 8561 TESTINST3("adcs.w r1, r2, r3, lsr #0 ", 0, 0, r1, r2, r3, cv); 8562 TESTINST3("adcs.w r1, r2, r3, lsr #1 ", 0, 0, r1, r2, r3, cv); 8563 TESTINST3("adcs.w r1, r2, r3, lsr #15", 0, 0, r1, r2, r3, cv); 8564 TESTINST3("adcs.w r1, r2, r3, lsr #31", 0, 0, r1, r2, r3, cv); 8565 TESTINST3("adcs.w r1, r2, r3, asr #0 ", 0, 0, r1, r2, r3, cv); 8566 TESTINST3("adcs.w r1, r2, r3, asr #1 ", 0, 0, r1, r2, r3, cv); 8567 TESTINST3("adcs.w r1, r2, r3, asr #15", 0, 0, r1, r2, r3, cv); 8568 TESTINST3("adcs.w r1, r2, r3, asr #31", 0, 0, r1, r2, r3, cv); 8569 TESTINST3("adc.w r1, r2, r3, lsl #0 ", 0, 0, r1, r2, r3, cv); 8570 TESTINST3("adc.w r1, r2, r3, lsl #1 ", 0, 0, r1, r2, r3, cv); 8571 TESTINST3("adc.w r1, r2, r3, lsl #15", 0, 0, r1, r2, r3, cv); 8572 TESTINST3("adc.w r1, r2, r3, lsl #31", 0, 0, r1, r2, r3, cv); 8573 TESTINST3("adc.w r1, r2, r3, lsr #0 ", 0, 0, r1, r2, r3, cv); 8574 TESTINST3("adc.w r1, r2, r3, lsr #1 ", 0, 0, r1, r2, r3, cv); 8575 TESTINST3("adc.w r1, r2, r3, lsr #15", 0, 0, r1, r2, r3, cv); 8576 TESTINST3("adc.w r1, r2, r3, lsr #31", 0, 0, r1, r2, r3, cv); 8577 TESTINST3("adc.w r1, r2, r3, asr #0 ", 0, 0, r1, r2, r3, cv); 8578 TESTINST3("adc.w r1, r2, r3, asr #1 ", 0, 0, r1, r2, r3, cv); 8579 TESTINST3("adc.w r1, r2, r3, asr #15", 0, 0, r1, r2, r3, cv); 8580 TESTINST3("adc.w r1, r2, r3, asr #31", 0, 0, r1, r2, r3, cv); 8581 TESTINST3("adcs.w r1, r2, r3, lsl #0 ", 1, 0, r1, r2, r3, cv); 8582 TESTINST3("adcs.w r1, r2, r3, lsl #1 ", 1, 0, r1, r2, r3, cv); 8583 TESTINST3("adcs.w r1, r2, r3, lsl #15", 1, 0, r1, r2, r3, cv); 8584 TESTINST3("adcs.w r1, r2, r3, lsl #31", 1, 0, r1, r2, r3, cv); 8585 TESTINST3("adcs.w r1, r2, r3, lsr #0 ", 1, 0, r1, r2, r3, cv); 8586 TESTINST3("adcs.w r1, r2, r3, lsr #1 ", 1, 0, r1, r2, r3, cv); 8587 TESTINST3("adcs.w r1, r2, r3, lsr #15", 1, 0, r1, r2, r3, cv); 8588 TESTINST3("adcs.w r1, r2, r3, lsr #31", 1, 0, r1, r2, r3, cv); 8589 TESTINST3("adcs.w r1, r2, r3, asr #0 ", 1, 0, r1, r2, r3, cv); 8590 TESTINST3("adcs.w r1, r2, r3, asr #1 ", 1, 0, r1, r2, r3, cv); 8591 TESTINST3("adcs.w r1, r2, r3, asr #15", 1, 0, r1, r2, r3, cv); 8592 TESTINST3("adcs.w r1, r2, r3, asr #31", 1, 0, r1, r2, r3, cv); 8593 TESTINST3("adc.w r1, r2, r3, lsl #0 ", 1, 0, r1, r2, r3, cv); 8594 TESTINST3("adc.w r1, r2, r3, lsl #1 ", 1, 0, r1, r2, r3, cv); 8595 TESTINST3("adc.w r1, r2, r3, lsl #15", 1, 0, r1, r2, r3, cv); 8596 TESTINST3("adc.w r1, r2, r3, lsl #31", 1, 0, r1, r2, r3, cv); 8597 TESTINST3("adc.w r1, r2, r3, lsr #0 ", 1, 0, r1, r2, r3, cv); 8598 TESTINST3("adc.w r1, r2, r3, lsr #1 ", 1, 0, r1, r2, r3, cv); 8599 TESTINST3("adc.w r1, r2, r3, lsr #15", 1, 0, r1, r2, r3, cv); 8600 TESTINST3("adc.w r1, r2, r3, lsr #31", 1, 0, r1, r2, r3, cv); 8601 TESTINST3("adc.w r1, r2, r3, asr #0 ", 1, 0, r1, r2, r3, cv); 8602 TESTINST3("adc.w r1, r2, r3, asr #1 ", 1, 0, r1, r2, r3, cv); 8603 TESTINST3("adc.w r1, r2, r3, asr #15", 1, 0, r1, r2, r3, cv); 8604 TESTINST3("adc.w r1, r2, r3, asr #31", 1, 0, r1, r2, r3, cv); 8605 TESTINST3("adcs.w r1, r2, r3, lsl #0 ", 0, 1, r1, r2, r3, cv); 8606 TESTINST3("adcs.w r1, r2, r3, lsl #1 ", 0, 1, r1, r2, r3, cv); 8607 TESTINST3("adcs.w r1, r2, r3, lsl #15", 0, 1, r1, r2, r3, cv); 8608 TESTINST3("adcs.w r1, r2, r3, lsl #31", 0, 1, r1, r2, r3, cv); 8609 TESTINST3("adcs.w r1, r2, r3, lsr #0 ", 0, 1, r1, r2, r3, cv); 8610 TESTINST3("adcs.w r1, r2, r3, lsr #1 ", 0, 1, r1, r2, r3, cv); 8611 TESTINST3("adcs.w r1, r2, r3, lsr #15", 0, 1, r1, r2, r3, cv); 8612 TESTINST3("adcs.w r1, r2, r3, lsr #31", 0, 1, r1, r2, r3, cv); 8613 TESTINST3("adcs.w r1, r2, r3, asr #0 ", 0, 1, r1, r2, r3, cv); 8614 TESTINST3("adcs.w r1, r2, r3, asr #1 ", 0, 1, r1, r2, r3, cv); 8615 TESTINST3("adcs.w r1, r2, r3, asr #15", 0, 1, r1, r2, r3, cv); 8616 TESTINST3("adcs.w r1, r2, r3, asr #31", 0, 1, r1, r2, r3, cv); 8617 TESTINST3("adc.w r1, r2, r3, lsl #0 ", 0, 1, r1, r2, r3, cv); 8618 TESTINST3("adc.w r1, r2, r3, lsl #1 ", 0, 1, r1, r2, r3, cv); 8619 TESTINST3("adc.w r1, r2, r3, lsl #15", 0, 1, r1, r2, r3, cv); 8620 TESTINST3("adc.w r1, r2, r3, lsl #31", 0, 1, r1, r2, r3, cv); 8621 TESTINST3("adc.w r1, r2, r3, lsr #0 ", 0, 1, r1, r2, r3, cv); 8622 TESTINST3("adc.w r1, r2, r3, lsr #1 ", 0, 1, r1, r2, r3, cv); 8623 TESTINST3("adc.w r1, r2, r3, lsr #15", 0, 1, r1, r2, r3, cv); 8624 TESTINST3("adc.w r1, r2, r3, lsr #31", 0, 1, r1, r2, r3, cv); 8625 TESTINST3("adc.w r1, r2, r3, asr #0 ", 0, 1, r1, r2, r3, cv); 8626 TESTINST3("adc.w r1, r2, r3, asr #1 ", 0, 1, r1, r2, r3, cv); 8627 TESTINST3("adc.w r1, r2, r3, asr #15", 0, 1, r1, r2, r3, cv); 8628 TESTINST3("adc.w r1, r2, r3, asr #31", 0, 1, r1, r2, r3, cv); 8629 TESTINST3("adcs.w r1, r2, r3, lsl #0 ", -1, 0, r1, r2, r3, cv); 8630 TESTINST3("adcs.w r1, r2, r3, lsl #1 ", -1, 0, r1, r2, r3, cv); 8631 TESTINST3("adcs.w r1, r2, r3, lsl #15", -1, 0, r1, r2, r3, cv); 8632 TESTINST3("adcs.w r1, r2, r3, lsl #31", -1, 0, r1, r2, r3, cv); 8633 TESTINST3("adcs.w r1, r2, r3, lsr #0 ", -1, 0, r1, r2, r3, cv); 8634 TESTINST3("adcs.w r1, r2, r3, lsr #1 ", -1, 0, r1, r2, r3, cv); 8635 TESTINST3("adcs.w r1, r2, r3, lsr #15", -1, 0, r1, r2, r3, cv); 8636 TESTINST3("adcs.w r1, r2, r3, lsr #31", -1, 0, r1, r2, r3, cv); 8637 TESTINST3("adcs.w r1, r2, r3, asr #0 ", -1, 0, r1, r2, r3, cv); 8638 TESTINST3("adcs.w r1, r2, r3, asr #1 ", -1, 0, r1, r2, r3, cv); 8639 TESTINST3("adcs.w r1, r2, r3, asr #15", -1, 0, r1, r2, r3, cv); 8640 TESTINST3("adcs.w r1, r2, r3, asr #31", -1, 0, r1, r2, r3, cv); 8641 TESTINST3("adc.w r1, r2, r3, lsl #0 ", -1, 0, r1, r2, r3, cv); 8642 TESTINST3("adc.w r1, r2, r3, lsl #1 ", -1, 0, r1, r2, r3, cv); 8643 TESTINST3("adc.w r1, r2, r3, lsl #15", -1, 0, r1, r2, r3, cv); 8644 TESTINST3("adc.w r1, r2, r3, lsl #31", -1, 0, r1, r2, r3, cv); 8645 TESTINST3("adc.w r1, r2, r3, lsr #0 ", -1, 0, r1, r2, r3, cv); 8646 TESTINST3("adc.w r1, r2, r3, lsr #1 ", -1, 0, r1, r2, r3, cv); 8647 TESTINST3("adc.w r1, r2, r3, lsr #15", -1, 0, r1, r2, r3, cv); 8648 TESTINST3("adc.w r1, r2, r3, lsr #31", -1, 0, r1, r2, r3, cv); 8649 TESTINST3("adc.w r1, r2, r3, asr #0 ", -1, 0, r1, r2, r3, cv); 8650 TESTINST3("adc.w r1, r2, r3, asr #1 ", -1, 0, r1, r2, r3, cv); 8651 TESTINST3("adc.w r1, r2, r3, asr #15", -1, 0, r1, r2, r3, cv); 8652 TESTINST3("adc.w r1, r2, r3, asr #31", -1, 0, r1, r2, r3, cv); 8653 TESTINST3("adcs.w r1, r2, r3, lsl #0 ", 0, -1, r1, r2, r3, cv); 8654 TESTINST3("adcs.w r1, r2, r3, lsl #1 ", 0, -1, r1, r2, r3, cv); 8655 TESTINST3("adcs.w r1, r2, r3, lsl #15", 0, -1, r1, r2, r3, cv); 8656 TESTINST3("adcs.w r1, r2, r3, lsl #31", 0, -1, r1, r2, r3, cv); 8657 TESTINST3("adcs.w r1, r2, r3, lsr #0 ", 0, -1, r1, r2, r3, cv); 8658 TESTINST3("adcs.w r1, r2, r3, lsr #1 ", 0, -1, r1, r2, r3, cv); 8659 TESTINST3("adcs.w r1, r2, r3, lsr #15", 0, -1, r1, r2, r3, cv); 8660 TESTINST3("adcs.w r1, r2, r3, lsr #31", 0, -1, r1, r2, r3, cv); 8661 TESTINST3("adcs.w r1, r2, r3, asr #0 ", 0, -1, r1, r2, r3, cv); 8662 TESTINST3("adcs.w r1, r2, r3, asr #1 ", 0, -1, r1, r2, r3, cv); 8663 TESTINST3("adcs.w r1, r2, r3, asr #15", 0, -1, r1, r2, r3, cv); 8664 TESTINST3("adcs.w r1, r2, r3, asr #31", 0, -1, r1, r2, r3, cv); 8665 TESTINST3("adc.w r1, r2, r3, lsl #0 ", 0, -1, r1, r2, r3, cv); 8666 TESTINST3("adc.w r1, r2, r3, lsl #1 ", 0, -1, r1, r2, r3, cv); 8667 TESTINST3("adc.w r1, r2, r3, lsl #15", 0, -1, r1, r2, r3, cv); 8668 TESTINST3("adc.w r1, r2, r3, lsl #31", 0, -1, r1, r2, r3, cv); 8669 TESTINST3("adc.w r1, r2, r3, lsr #0 ", 0, -1, r1, r2, r3, cv); 8670 TESTINST3("adc.w r1, r2, r3, lsr #1 ", 0, -1, r1, r2, r3, cv); 8671 TESTINST3("adc.w r1, r2, r3, lsr #15", 0, -1, r1, r2, r3, cv); 8672 TESTINST3("adc.w r1, r2, r3, lsr #31", 0, -1, r1, r2, r3, cv); 8673 TESTINST3("adc.w r1, r2, r3, asr #0 ", 0, -1, r1, r2, r3, cv); 8674 TESTINST3("adc.w r1, r2, r3, asr #1 ", 0, -1, r1, r2, r3, cv); 8675 TESTINST3("adc.w r1, r2, r3, asr #15", 0, -1, r1, r2, r3, cv); 8676 TESTINST3("adc.w r1, r2, r3, asr #31", 0, -1, r1, r2, r3, cv); 8677 TESTINST3("adcs.w r1, r2, r3, lsl #0 ", 0, 0x80000000, r1, r2, r3, cv); 8678 TESTINST3("adcs.w r1, r2, r3, lsl #1 ", 0, 0x80000000, r1, r2, r3, cv); 8679 TESTINST3("adcs.w r1, r2, r3, lsl #15", 0, 0x80000000, r1, r2, r3, cv); 8680 TESTINST3("adcs.w r1, r2, r3, lsl #31", 0, 0x80000000, r1, r2, r3, cv); 8681 TESTINST3("adcs.w r1, r2, r3, lsr #0 ", 0, 0x80000000, r1, r2, r3, cv); 8682 TESTINST3("adcs.w r1, r2, r3, lsr #1 ", 0, 0x80000000, r1, r2, r3, cv); 8683 TESTINST3("adcs.w r1, r2, r3, lsr #15", 0, 0x80000000, r1, r2, r3, cv); 8684 TESTINST3("adcs.w r1, r2, r3, lsr #31", 0, 0x80000000, r1, r2, r3, cv); 8685 TESTINST3("adcs.w r1, r2, r3, asr #0 ", 0, 0x80000000, r1, r2, r3, cv); 8686 TESTINST3("adcs.w r1, r2, r3, asr #1 ", 0, 0x80000000, r1, r2, r3, cv); 8687 TESTINST3("adcs.w r1, r2, r3, asr #15", 0, 0x80000000, r1, r2, r3, cv); 8688 TESTINST3("adcs.w r1, r2, r3, asr #31", 0, 0x80000000, r1, r2, r3, cv); 8689 TESTINST3("adc.w r1, r2, r3, lsl #0 ", 0, 0x80000000, r1, r2, r3, cv); 8690 TESTINST3("adc.w r1, r2, r3, lsl #1 ", 0, 0x80000000, r1, r2, r3, cv); 8691 TESTINST3("adc.w r1, r2, r3, lsl #15", 0, 0x80000000, r1, r2, r3, cv); 8692 TESTINST3("adc.w r1, r2, r3, lsl #31", 0, 0x80000000, r1, r2, r3, cv); 8693 TESTINST3("adc.w r1, r2, r3, lsr #0 ", 0, 0x80000000, r1, r2, r3, cv); 8694 TESTINST3("adc.w r1, r2, r3, lsr #1 ", 0, 0x80000000, r1, r2, r3, cv); 8695 TESTINST3("adc.w r1, r2, r3, lsr #15", 0, 0x80000000, r1, r2, r3, cv); 8696 TESTINST3("adc.w r1, r2, r3, lsr #31", 0, 0x80000000, r1, r2, r3, cv); 8697 TESTINST3("adc.w r1, r2, r3, asr #0 ", 0, 0x80000000, r1, r2, r3, cv); 8698 TESTINST3("adc.w r1, r2, r3, asr #1 ", 0, 0x80000000, r1, r2, r3, cv); 8699 TESTINST3("adc.w r1, r2, r3, asr #15", 0, 0x80000000, r1, r2, r3, cv); 8700 TESTINST3("adc.w r1, r2, r3, asr #31", 0, 0x80000000, r1, r2, r3, cv); 8701 TESTINST3("adcs.w r1, r2, r3, lsl #0 ", 0x80000000, 0, r1, r2, r3, cv); 8702 TESTINST3("adcs.w r1, r2, r3, lsl #1 ", 0x80000000, 0, r1, r2, r3, cv); 8703 TESTINST3("adcs.w r1, r2, r3, lsl #15", 0x80000000, 0, r1, r2, r3, cv); 8704 TESTINST3("adcs.w r1, r2, r3, lsl #31", 0x80000000, 0, r1, r2, r3, cv); 8705 TESTINST3("adcs.w r1, r2, r3, lsr #0 ", 0x80000000, 0, r1, r2, r3, cv); 8706 TESTINST3("adcs.w r1, r2, r3, lsr #1 ", 0x80000000, 0, r1, r2, r3, cv); 8707 TESTINST3("adcs.w r1, r2, r3, lsr #15", 0x80000000, 0, r1, r2, r3, cv); 8708 TESTINST3("adcs.w r1, r2, r3, lsr #31", 0x80000000, 0, r1, r2, r3, cv); 8709 TESTINST3("adcs.w r1, r2, r3, asr #0 ", 0x80000000, 0, r1, r2, r3, cv); 8710 TESTINST3("adcs.w r1, r2, r3, asr #1 ", 0x80000000, 0, r1, r2, r3, cv); 8711 TESTINST3("adcs.w r1, r2, r3, asr #15", 0x80000000, 0, r1, r2, r3, cv); 8712 TESTINST3("adcs.w r1, r2, r3, asr #31", 0x80000000, 0, r1, r2, r3, cv); 8713 TESTINST3("adc.w r1, r2, r3, lsl #0 ", 0x80000000, 0, r1, r2, r3, cv); 8714 TESTINST3("adc.w r1, r2, r3, lsl #1 ", 0x80000000, 0, r1, r2, r3, cv); 8715 TESTINST3("adc.w r1, r2, r3, lsl #15", 0x80000000, 0, r1, r2, r3, cv); 8716 TESTINST3("adc.w r1, r2, r3, lsl #31", 0x80000000, 0, r1, r2, r3, cv); 8717 TESTINST3("adc.w r1, r2, r3, lsr #0 ", 0x80000000, 0, r1, r2, r3, cv); 8718 TESTINST3("adc.w r1, r2, r3, lsr #1 ", 0x80000000, 0, r1, r2, r3, cv); 8719 TESTINST3("adc.w r1, r2, r3, lsr #15", 0x80000000, 0, r1, r2, r3, cv); 8720 TESTINST3("adc.w r1, r2, r3, lsr #31", 0x80000000, 0, r1, r2, r3, cv); 8721 TESTINST3("adc.w r1, r2, r3, asr #0 ", 0x80000000, 0, r1, r2, r3, cv); 8722 TESTINST3("adc.w r1, r2, r3, asr #1 ", 0x80000000, 0, r1, r2, r3, cv); 8723 TESTINST3("adc.w r1, r2, r3, asr #15", 0x80000000, 0, r1, r2, r3, cv); 8724 TESTINST3("adc.w r1, r2, r3, asr #31", 0x80000000, 0, r1, r2, r3, cv); 8725 TESTINST3("adcs.w r1, r2, r3, lsl #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 8726 TESTINST3("adcs.w r1, r2, r3, lsl #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 8727 TESTINST3("adcs.w r1, r2, r3, lsl #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 8728 TESTINST3("adcs.w r1, r2, r3, lsl #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 8729 TESTINST3("adcs.w r1, r2, r3, lsr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 8730 TESTINST3("adcs.w r1, r2, r3, lsr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 8731 TESTINST3("adcs.w r1, r2, r3, lsr #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 8732 TESTINST3("adcs.w r1, r2, r3, lsr #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 8733 TESTINST3("adcs.w r1, r2, r3, asr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 8734 TESTINST3("adcs.w r1, r2, r3, asr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 8735 TESTINST3("adcs.w r1, r2, r3, asr #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 8736 TESTINST3("adcs.w r1, r2, r3, asr #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 8737 TESTINST3("adc.w r1, r2, r3, lsl #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 8738 TESTINST3("adc.w r1, r2, r3, lsl #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 8739 TESTINST3("adc.w r1, r2, r3, lsl #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 8740 TESTINST3("adc.w r1, r2, r3, lsl #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 8741 TESTINST3("adc.w r1, r2, r3, lsr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 8742 TESTINST3("adc.w r1, r2, r3, lsr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 8743 TESTINST3("adc.w r1, r2, r3, lsr #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 8744 TESTINST3("adc.w r1, r2, r3, lsr #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 8745 TESTINST3("adc.w r1, r2, r3, asr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 8746 TESTINST3("adc.w r1, r2, r3, asr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 8747 TESTINST3("adc.w r1, r2, r3, asr #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 8748 TESTINST3("adc.w r1, r2, r3, asr #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 8749 TESTINST3("adcs.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 8750 TESTINST3("adcs.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 8751 TESTINST3("adcs.w r1, r2, r3, lsl #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 8752 TESTINST3("adcs.w r1, r2, r3, lsl #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 8753 TESTINST3("adcs.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 8754 TESTINST3("adcs.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 8755 TESTINST3("adcs.w r1, r2, r3, lsr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 8756 TESTINST3("adcs.w r1, r2, r3, lsr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 8757 TESTINST3("adcs.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 8758 TESTINST3("adcs.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 8759 TESTINST3("adcs.w r1, r2, r3, asr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 8760 TESTINST3("adcs.w r1, r2, r3, asr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 8761 TESTINST3("adc.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 8762 TESTINST3("adc.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 8763 TESTINST3("adc.w r1, r2, r3, lsl #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 8764 TESTINST3("adc.w r1, r2, r3, lsl #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 8765 TESTINST3("adc.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 8766 TESTINST3("adc.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 8767 TESTINST3("adc.w r1, r2, r3, lsr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 8768 TESTINST3("adc.w r1, r2, r3, lsr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 8769 TESTINST3("adc.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 8770 TESTINST3("adc.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 8771 TESTINST3("adc.w r1, r2, r3, asr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 8772 TESTINST3("adc.w r1, r2, r3, asr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 8773 TESTINST3("adcs.w r1, r2, r3, lsl #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 8774 TESTINST3("adcs.w r1, r2, r3, lsl #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 8775 TESTINST3("adcs.w r1, r2, r3, lsl #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 8776 TESTINST3("adcs.w r1, r2, r3, lsl #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 8777 TESTINST3("adcs.w r1, r2, r3, lsr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 8778 TESTINST3("adcs.w r1, r2, r3, lsr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 8779 TESTINST3("adcs.w r1, r2, r3, lsr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 8780 TESTINST3("adcs.w r1, r2, r3, lsr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 8781 TESTINST3("adcs.w r1, r2, r3, asr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 8782 TESTINST3("adcs.w r1, r2, r3, asr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 8783 TESTINST3("adcs.w r1, r2, r3, asr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 8784 TESTINST3("adcs.w r1, r2, r3, asr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 8785 TESTINST3("adc.w r1, r2, r3, lsl #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 8786 TESTINST3("adc.w r1, r2, r3, lsl #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 8787 TESTINST3("adc.w r1, r2, r3, lsl #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 8788 TESTINST3("adc.w r1, r2, r3, lsl #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 8789 TESTINST3("adc.w r1, r2, r3, lsr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 8790 TESTINST3("adc.w r1, r2, r3, lsr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 8791 TESTINST3("adc.w r1, r2, r3, lsr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 8792 TESTINST3("adc.w r1, r2, r3, lsr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 8793 TESTINST3("adc.w r1, r2, r3, asr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 8794 TESTINST3("adc.w r1, r2, r3, asr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 8795 TESTINST3("adc.w r1, r2, r3, asr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 8796 TESTINST3("adc.w r1, r2, r3, asr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 8797 TESTINST3("adcs.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 8798 TESTINST3("adcs.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 8799 TESTINST3("adcs.w r1, r2, r3, lsl #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 8800 TESTINST3("adcs.w r1, r2, r3, lsl #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 8801 TESTINST3("adcs.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 8802 TESTINST3("adcs.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 8803 TESTINST3("adcs.w r1, r2, r3, lsr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 8804 TESTINST3("adcs.w r1, r2, r3, lsr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 8805 TESTINST3("adcs.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 8806 TESTINST3("adcs.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 8807 TESTINST3("adcs.w r1, r2, r3, asr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 8808 TESTINST3("adcs.w r1, r2, r3, asr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 8809 TESTINST3("adc.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 8810 TESTINST3("adc.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 8811 TESTINST3("adc.w r1, r2, r3, lsl #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 8812 TESTINST3("adc.w r1, r2, r3, lsl #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 8813 TESTINST3("adc.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 8814 TESTINST3("adc.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 8815 TESTINST3("adc.w r1, r2, r3, lsr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 8816 TESTINST3("adc.w r1, r2, r3, lsr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 8817 TESTINST3("adc.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 8818 TESTINST3("adc.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 8819 TESTINST3("adc.w r1, r2, r3, asr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 8820 TESTINST3("adc.w r1, r2, r3, asr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 8821 TESTCARRYEND 8822 8823 printf("SBC{S}.W Rd, Rn, Rm, {shift}\n"); 8824 TESTCARRY 8825 TESTINST3("sbcs.w r1, r2, r3, lsl #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 8826 TESTINST3("sbcs.w r1, r2, r3, lsl #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 8827 TESTINST3("sbcs.w r1, r2, r3, lsl #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 8828 TESTINST3("sbcs.w r1, r2, r3, lsl #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 8829 TESTINST3("sbcs.w r1, r2, r3, lsr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 8830 TESTINST3("sbcs.w r1, r2, r3, lsr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 8831 TESTINST3("sbcs.w r1, r2, r3, lsr #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 8832 TESTINST3("sbcs.w r1, r2, r3, lsr #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 8833 TESTINST3("sbcs.w r1, r2, r3, asr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 8834 TESTINST3("sbcs.w r1, r2, r3, asr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 8835 TESTINST3("sbcs.w r1, r2, r3, asr #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 8836 TESTINST3("sbcs.w r1, r2, r3, asr #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 8837 TESTINST3("sbc.w r1, r2, r3, lsl #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 8838 TESTINST3("sbc.w r1, r2, r3, lsl #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 8839 TESTINST3("sbc.w r1, r2, r3, lsl #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 8840 TESTINST3("sbc.w r1, r2, r3, lsl #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 8841 TESTINST3("sbc.w r1, r2, r3, lsr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 8842 TESTINST3("sbc.w r1, r2, r3, lsr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 8843 TESTINST3("sbc.w r1, r2, r3, lsr #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 8844 TESTINST3("sbc.w r1, r2, r3, lsr #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 8845 TESTINST3("sbc.w r1, r2, r3, asr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 8846 TESTINST3("sbc.w r1, r2, r3, asr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 8847 TESTINST3("sbc.w r1, r2, r3, asr #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 8848 TESTINST3("sbc.w r1, r2, r3, asr #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 8849 TESTINST3("sbcs.w r1, r2, r3, lsl #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 8850 TESTINST3("sbcs.w r1, r2, r3, lsl #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 8851 TESTINST3("sbcs.w r1, r2, r3, lsl #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 8852 TESTINST3("sbcs.w r1, r2, r3, lsl #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 8853 TESTINST3("sbcs.w r1, r2, r3, lsr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 8854 TESTINST3("sbcs.w r1, r2, r3, lsr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 8855 TESTINST3("sbcs.w r1, r2, r3, lsr #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 8856 TESTINST3("sbcs.w r1, r2, r3, lsr #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 8857 TESTINST3("sbcs.w r1, r2, r3, asr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 8858 TESTINST3("sbcs.w r1, r2, r3, asr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 8859 TESTINST3("sbcs.w r1, r2, r3, asr #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 8860 TESTINST3("sbcs.w r1, r2, r3, asr #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 8861 TESTINST3("sbc.w r1, r2, r3, lsl #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 8862 TESTINST3("sbc.w r1, r2, r3, lsl #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 8863 TESTINST3("sbc.w r1, r2, r3, lsl #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 8864 TESTINST3("sbc.w r1, r2, r3, lsl #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 8865 TESTINST3("sbc.w r1, r2, r3, lsr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 8866 TESTINST3("sbc.w r1, r2, r3, lsr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 8867 TESTINST3("sbc.w r1, r2, r3, lsr #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 8868 TESTINST3("sbc.w r1, r2, r3, lsr #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 8869 TESTINST3("sbc.w r1, r2, r3, asr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 8870 TESTINST3("sbc.w r1, r2, r3, asr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 8871 TESTINST3("sbc.w r1, r2, r3, asr #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 8872 TESTINST3("sbc.w r1, r2, r3, asr #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 8873 TESTINST3("sbcs.w r1, r2, r3, lsl #0 ", 0, 0, r1, r2, r3, cv); 8874 TESTINST3("sbcs.w r1, r2, r3, lsl #1 ", 0, 0, r1, r2, r3, cv); 8875 TESTINST3("sbcs.w r1, r2, r3, lsl #15", 0, 0, r1, r2, r3, cv); 8876 TESTINST3("sbcs.w r1, r2, r3, lsl #31", 0, 0, r1, r2, r3, cv); 8877 TESTINST3("sbcs.w r1, r2, r3, lsr #0 ", 0, 0, r1, r2, r3, cv); 8878 TESTINST3("sbcs.w r1, r2, r3, lsr #1 ", 0, 0, r1, r2, r3, cv); 8879 TESTINST3("sbcs.w r1, r2, r3, lsr #15", 0, 0, r1, r2, r3, cv); 8880 TESTINST3("sbcs.w r1, r2, r3, lsr #31", 0, 0, r1, r2, r3, cv); 8881 TESTINST3("sbcs.w r1, r2, r3, asr #0 ", 0, 0, r1, r2, r3, cv); 8882 TESTINST3("sbcs.w r1, r2, r3, asr #1 ", 0, 0, r1, r2, r3, cv); 8883 TESTINST3("sbcs.w r1, r2, r3, asr #15", 0, 0, r1, r2, r3, cv); 8884 TESTINST3("sbcs.w r1, r2, r3, asr #31", 0, 0, r1, r2, r3, cv); 8885 TESTINST3("sbc.w r1, r2, r3, lsl #0 ", 0, 0, r1, r2, r3, cv); 8886 TESTINST3("sbc.w r1, r2, r3, lsl #1 ", 0, 0, r1, r2, r3, cv); 8887 TESTINST3("sbc.w r1, r2, r3, lsl #15", 0, 0, r1, r2, r3, cv); 8888 TESTINST3("sbc.w r1, r2, r3, lsl #31", 0, 0, r1, r2, r3, cv); 8889 TESTINST3("sbc.w r1, r2, r3, lsr #0 ", 0, 0, r1, r2, r3, cv); 8890 TESTINST3("sbc.w r1, r2, r3, lsr #1 ", 0, 0, r1, r2, r3, cv); 8891 TESTINST3("sbc.w r1, r2, r3, lsr #15", 0, 0, r1, r2, r3, cv); 8892 TESTINST3("sbc.w r1, r2, r3, lsr #31", 0, 0, r1, r2, r3, cv); 8893 TESTINST3("sbc.w r1, r2, r3, asr #0 ", 0, 0, r1, r2, r3, cv); 8894 TESTINST3("sbc.w r1, r2, r3, asr #1 ", 0, 0, r1, r2, r3, cv); 8895 TESTINST3("sbc.w r1, r2, r3, asr #15", 0, 0, r1, r2, r3, cv); 8896 TESTINST3("sbc.w r1, r2, r3, asr #31", 0, 0, r1, r2, r3, cv); 8897 TESTINST3("sbcs.w r1, r2, r3, lsl #0 ", 1, 0, r1, r2, r3, cv); 8898 TESTINST3("sbcs.w r1, r2, r3, lsl #1 ", 1, 0, r1, r2, r3, cv); 8899 TESTINST3("sbcs.w r1, r2, r3, lsl #15", 1, 0, r1, r2, r3, cv); 8900 TESTINST3("sbcs.w r1, r2, r3, lsl #31", 1, 0, r1, r2, r3, cv); 8901 TESTINST3("sbcs.w r1, r2, r3, lsr #0 ", 1, 0, r1, r2, r3, cv); 8902 TESTINST3("sbcs.w r1, r2, r3, lsr #1 ", 1, 0, r1, r2, r3, cv); 8903 TESTINST3("sbcs.w r1, r2, r3, lsr #15", 1, 0, r1, r2, r3, cv); 8904 TESTINST3("sbcs.w r1, r2, r3, lsr #31", 1, 0, r1, r2, r3, cv); 8905 TESTINST3("sbcs.w r1, r2, r3, asr #0 ", 1, 0, r1, r2, r3, cv); 8906 TESTINST3("sbcs.w r1, r2, r3, asr #1 ", 1, 0, r1, r2, r3, cv); 8907 TESTINST3("sbcs.w r1, r2, r3, asr #15", 1, 0, r1, r2, r3, cv); 8908 TESTINST3("sbcs.w r1, r2, r3, asr #31", 1, 0, r1, r2, r3, cv); 8909 TESTINST3("sbc.w r1, r2, r3, lsl #0 ", 1, 0, r1, r2, r3, cv); 8910 TESTINST3("sbc.w r1, r2, r3, lsl #1 ", 1, 0, r1, r2, r3, cv); 8911 TESTINST3("sbc.w r1, r2, r3, lsl #15", 1, 0, r1, r2, r3, cv); 8912 TESTINST3("sbc.w r1, r2, r3, lsl #31", 1, 0, r1, r2, r3, cv); 8913 TESTINST3("sbc.w r1, r2, r3, lsr #0 ", 1, 0, r1, r2, r3, cv); 8914 TESTINST3("sbc.w r1, r2, r3, lsr #1 ", 1, 0, r1, r2, r3, cv); 8915 TESTINST3("sbc.w r1, r2, r3, lsr #15", 1, 0, r1, r2, r3, cv); 8916 TESTINST3("sbc.w r1, r2, r3, lsr #31", 1, 0, r1, r2, r3, cv); 8917 TESTINST3("sbc.w r1, r2, r3, asr #0 ", 1, 0, r1, r2, r3, cv); 8918 TESTINST3("sbc.w r1, r2, r3, asr #1 ", 1, 0, r1, r2, r3, cv); 8919 TESTINST3("sbc.w r1, r2, r3, asr #15", 1, 0, r1, r2, r3, cv); 8920 TESTINST3("sbc.w r1, r2, r3, asr #31", 1, 0, r1, r2, r3, cv); 8921 TESTINST3("sbcs.w r1, r2, r3, lsl #0 ", 0, 1, r1, r2, r3, cv); 8922 TESTINST3("sbcs.w r1, r2, r3, lsl #1 ", 0, 1, r1, r2, r3, cv); 8923 TESTINST3("sbcs.w r1, r2, r3, lsl #15", 0, 1, r1, r2, r3, cv); 8924 TESTINST3("sbcs.w r1, r2, r3, lsl #31", 0, 1, r1, r2, r3, cv); 8925 TESTINST3("sbcs.w r1, r2, r3, lsr #0 ", 0, 1, r1, r2, r3, cv); 8926 TESTINST3("sbcs.w r1, r2, r3, lsr #1 ", 0, 1, r1, r2, r3, cv); 8927 TESTINST3("sbcs.w r1, r2, r3, lsr #15", 0, 1, r1, r2, r3, cv); 8928 TESTINST3("sbcs.w r1, r2, r3, lsr #31", 0, 1, r1, r2, r3, cv); 8929 TESTINST3("sbcs.w r1, r2, r3, asr #0 ", 0, 1, r1, r2, r3, cv); 8930 TESTINST3("sbcs.w r1, r2, r3, asr #1 ", 0, 1, r1, r2, r3, cv); 8931 TESTINST3("sbcs.w r1, r2, r3, asr #15", 0, 1, r1, r2, r3, cv); 8932 TESTINST3("sbcs.w r1, r2, r3, asr #31", 0, 1, r1, r2, r3, cv); 8933 TESTINST3("sbc.w r1, r2, r3, lsl #0 ", 0, 1, r1, r2, r3, cv); 8934 TESTINST3("sbc.w r1, r2, r3, lsl #1 ", 0, 1, r1, r2, r3, cv); 8935 TESTINST3("sbc.w r1, r2, r3, lsl #15", 0, 1, r1, r2, r3, cv); 8936 TESTINST3("sbc.w r1, r2, r3, lsl #31", 0, 1, r1, r2, r3, cv); 8937 TESTINST3("sbc.w r1, r2, r3, lsr #0 ", 0, 1, r1, r2, r3, cv); 8938 TESTINST3("sbc.w r1, r2, r3, lsr #1 ", 0, 1, r1, r2, r3, cv); 8939 TESTINST3("sbc.w r1, r2, r3, lsr #15", 0, 1, r1, r2, r3, cv); 8940 TESTINST3("sbc.w r1, r2, r3, lsr #31", 0, 1, r1, r2, r3, cv); 8941 TESTINST3("sbc.w r1, r2, r3, asr #0 ", 0, 1, r1, r2, r3, cv); 8942 TESTINST3("sbc.w r1, r2, r3, asr #1 ", 0, 1, r1, r2, r3, cv); 8943 TESTINST3("sbc.w r1, r2, r3, asr #15", 0, 1, r1, r2, r3, cv); 8944 TESTINST3("sbc.w r1, r2, r3, asr #31", 0, 1, r1, r2, r3, cv); 8945 TESTINST3("sbcs.w r1, r2, r3, lsl #0 ", -1, 0, r1, r2, r3, cv); 8946 TESTINST3("sbcs.w r1, r2, r3, lsl #1 ", -1, 0, r1, r2, r3, cv); 8947 TESTINST3("sbcs.w r1, r2, r3, lsl #15", -1, 0, r1, r2, r3, cv); 8948 TESTINST3("sbcs.w r1, r2, r3, lsl #31", -1, 0, r1, r2, r3, cv); 8949 TESTINST3("sbcs.w r1, r2, r3, lsr #0 ", -1, 0, r1, r2, r3, cv); 8950 TESTINST3("sbcs.w r1, r2, r3, lsr #1 ", -1, 0, r1, r2, r3, cv); 8951 TESTINST3("sbcs.w r1, r2, r3, lsr #15", -1, 0, r1, r2, r3, cv); 8952 TESTINST3("sbcs.w r1, r2, r3, lsr #31", -1, 0, r1, r2, r3, cv); 8953 TESTINST3("sbcs.w r1, r2, r3, asr #0 ", -1, 0, r1, r2, r3, cv); 8954 TESTINST3("sbcs.w r1, r2, r3, asr #1 ", -1, 0, r1, r2, r3, cv); 8955 TESTINST3("sbcs.w r1, r2, r3, asr #15", -1, 0, r1, r2, r3, cv); 8956 TESTINST3("sbcs.w r1, r2, r3, asr #31", -1, 0, r1, r2, r3, cv); 8957 TESTINST3("sbc.w r1, r2, r3, lsl #0 ", -1, 0, r1, r2, r3, cv); 8958 TESTINST3("sbc.w r1, r2, r3, lsl #1 ", -1, 0, r1, r2, r3, cv); 8959 TESTINST3("sbc.w r1, r2, r3, lsl #15", -1, 0, r1, r2, r3, cv); 8960 TESTINST3("sbc.w r1, r2, r3, lsl #31", -1, 0, r1, r2, r3, cv); 8961 TESTINST3("sbc.w r1, r2, r3, lsr #0 ", -1, 0, r1, r2, r3, cv); 8962 TESTINST3("sbc.w r1, r2, r3, lsr #1 ", -1, 0, r1, r2, r3, cv); 8963 TESTINST3("sbc.w r1, r2, r3, lsr #15", -1, 0, r1, r2, r3, cv); 8964 TESTINST3("sbc.w r1, r2, r3, lsr #31", -1, 0, r1, r2, r3, cv); 8965 TESTINST3("sbc.w r1, r2, r3, asr #0 ", -1, 0, r1, r2, r3, cv); 8966 TESTINST3("sbc.w r1, r2, r3, asr #1 ", -1, 0, r1, r2, r3, cv); 8967 TESTINST3("sbc.w r1, r2, r3, asr #15", -1, 0, r1, r2, r3, cv); 8968 TESTINST3("sbc.w r1, r2, r3, asr #31", -1, 0, r1, r2, r3, cv); 8969 TESTINST3("sbcs.w r1, r2, r3, lsl #0 ", 0, -1, r1, r2, r3, cv); 8970 TESTINST3("sbcs.w r1, r2, r3, lsl #1 ", 0, -1, r1, r2, r3, cv); 8971 TESTINST3("sbcs.w r1, r2, r3, lsl #15", 0, -1, r1, r2, r3, cv); 8972 TESTINST3("sbcs.w r1, r2, r3, lsl #31", 0, -1, r1, r2, r3, cv); 8973 TESTINST3("sbcs.w r1, r2, r3, lsr #0 ", 0, -1, r1, r2, r3, cv); 8974 TESTINST3("sbcs.w r1, r2, r3, lsr #1 ", 0, -1, r1, r2, r3, cv); 8975 TESTINST3("sbcs.w r1, r2, r3, lsr #15", 0, -1, r1, r2, r3, cv); 8976 TESTINST3("sbcs.w r1, r2, r3, lsr #31", 0, -1, r1, r2, r3, cv); 8977 TESTINST3("sbcs.w r1, r2, r3, asr #0 ", 0, -1, r1, r2, r3, cv); 8978 TESTINST3("sbcs.w r1, r2, r3, asr #1 ", 0, -1, r1, r2, r3, cv); 8979 TESTINST3("sbcs.w r1, r2, r3, asr #15", 0, -1, r1, r2, r3, cv); 8980 TESTINST3("sbcs.w r1, r2, r3, asr #31", 0, -1, r1, r2, r3, cv); 8981 TESTINST3("sbc.w r1, r2, r3, lsl #0 ", 0, -1, r1, r2, r3, cv); 8982 TESTINST3("sbc.w r1, r2, r3, lsl #1 ", 0, -1, r1, r2, r3, cv); 8983 TESTINST3("sbc.w r1, r2, r3, lsl #15", 0, -1, r1, r2, r3, cv); 8984 TESTINST3("sbc.w r1, r2, r3, lsl #31", 0, -1, r1, r2, r3, cv); 8985 TESTINST3("sbc.w r1, r2, r3, lsr #0 ", 0, -1, r1, r2, r3, cv); 8986 TESTINST3("sbc.w r1, r2, r3, lsr #1 ", 0, -1, r1, r2, r3, cv); 8987 TESTINST3("sbc.w r1, r2, r3, lsr #15", 0, -1, r1, r2, r3, cv); 8988 TESTINST3("sbc.w r1, r2, r3, lsr #31", 0, -1, r1, r2, r3, cv); 8989 TESTINST3("sbc.w r1, r2, r3, asr #0 ", 0, -1, r1, r2, r3, cv); 8990 TESTINST3("sbc.w r1, r2, r3, asr #1 ", 0, -1, r1, r2, r3, cv); 8991 TESTINST3("sbc.w r1, r2, r3, asr #15", 0, -1, r1, r2, r3, cv); 8992 TESTINST3("sbc.w r1, r2, r3, asr #31", 0, -1, r1, r2, r3, cv); 8993 TESTINST3("sbcs.w r1, r2, r3, lsl #0 ", 0, 0x80000000, r1, r2, r3, cv); 8994 TESTINST3("sbcs.w r1, r2, r3, lsl #1 ", 0, 0x80000000, r1, r2, r3, cv); 8995 TESTINST3("sbcs.w r1, r2, r3, lsl #15", 0, 0x80000000, r1, r2, r3, cv); 8996 TESTINST3("sbcs.w r1, r2, r3, lsl #31", 0, 0x80000000, r1, r2, r3, cv); 8997 TESTINST3("sbcs.w r1, r2, r3, lsr #0 ", 0, 0x80000000, r1, r2, r3, cv); 8998 TESTINST3("sbcs.w r1, r2, r3, lsr #1 ", 0, 0x80000000, r1, r2, r3, cv); 8999 TESTINST3("sbcs.w r1, r2, r3, lsr #15", 0, 0x80000000, r1, r2, r3, cv); 9000 TESTINST3("sbcs.w r1, r2, r3, lsr #31", 0, 0x80000000, r1, r2, r3, cv); 9001 TESTINST3("sbcs.w r1, r2, r3, asr #0 ", 0, 0x80000000, r1, r2, r3, cv); 9002 TESTINST3("sbcs.w r1, r2, r3, asr #1 ", 0, 0x80000000, r1, r2, r3, cv); 9003 TESTINST3("sbcs.w r1, r2, r3, asr #15", 0, 0x80000000, r1, r2, r3, cv); 9004 TESTINST3("sbcs.w r1, r2, r3, asr #31", 0, 0x80000000, r1, r2, r3, cv); 9005 TESTINST3("sbc.w r1, r2, r3, lsl #0 ", 0, 0x80000000, r1, r2, r3, cv); 9006 TESTINST3("sbc.w r1, r2, r3, lsl #1 ", 0, 0x80000000, r1, r2, r3, cv); 9007 TESTINST3("sbc.w r1, r2, r3, lsl #15", 0, 0x80000000, r1, r2, r3, cv); 9008 TESTINST3("sbc.w r1, r2, r3, lsl #31", 0, 0x80000000, r1, r2, r3, cv); 9009 TESTINST3("sbc.w r1, r2, r3, lsr #0 ", 0, 0x80000000, r1, r2, r3, cv); 9010 TESTINST3("sbc.w r1, r2, r3, lsr #1 ", 0, 0x80000000, r1, r2, r3, cv); 9011 TESTINST3("sbc.w r1, r2, r3, lsr #15", 0, 0x80000000, r1, r2, r3, cv); 9012 TESTINST3("sbc.w r1, r2, r3, lsr #31", 0, 0x80000000, r1, r2, r3, cv); 9013 TESTINST3("sbc.w r1, r2, r3, asr #0 ", 0, 0x80000000, r1, r2, r3, cv); 9014 TESTINST3("sbc.w r1, r2, r3, asr #1 ", 0, 0x80000000, r1, r2, r3, cv); 9015 TESTINST3("sbc.w r1, r2, r3, asr #15", 0, 0x80000000, r1, r2, r3, cv); 9016 TESTINST3("sbc.w r1, r2, r3, asr #31", 0, 0x80000000, r1, r2, r3, cv); 9017 TESTINST3("sbcs.w r1, r2, r3, lsl #0 ", 0x80000000, 0, r1, r2, r3, cv); 9018 TESTINST3("sbcs.w r1, r2, r3, lsl #1 ", 0x80000000, 0, r1, r2, r3, cv); 9019 TESTINST3("sbcs.w r1, r2, r3, lsl #15", 0x80000000, 0, r1, r2, r3, cv); 9020 TESTINST3("sbcs.w r1, r2, r3, lsl #31", 0x80000000, 0, r1, r2, r3, cv); 9021 TESTINST3("sbcs.w r1, r2, r3, lsr #0 ", 0x80000000, 0, r1, r2, r3, cv); 9022 TESTINST3("sbcs.w r1, r2, r3, lsr #1 ", 0x80000000, 0, r1, r2, r3, cv); 9023 TESTINST3("sbcs.w r1, r2, r3, lsr #15", 0x80000000, 0, r1, r2, r3, cv); 9024 TESTINST3("sbcs.w r1, r2, r3, lsr #31", 0x80000000, 0, r1, r2, r3, cv); 9025 TESTINST3("sbcs.w r1, r2, r3, asr #0 ", 0x80000000, 0, r1, r2, r3, cv); 9026 TESTINST3("sbcs.w r1, r2, r3, asr #1 ", 0x80000000, 0, r1, r2, r3, cv); 9027 TESTINST3("sbcs.w r1, r2, r3, asr #15", 0x80000000, 0, r1, r2, r3, cv); 9028 TESTINST3("sbcs.w r1, r2, r3, asr #31", 0x80000000, 0, r1, r2, r3, cv); 9029 TESTINST3("sbc.w r1, r2, r3, lsl #0 ", 0x80000000, 0, r1, r2, r3, cv); 9030 TESTINST3("sbc.w r1, r2, r3, lsl #1 ", 0x80000000, 0, r1, r2, r3, cv); 9031 TESTINST3("sbc.w r1, r2, r3, lsl #15", 0x80000000, 0, r1, r2, r3, cv); 9032 TESTINST3("sbc.w r1, r2, r3, lsl #31", 0x80000000, 0, r1, r2, r3, cv); 9033 TESTINST3("sbc.w r1, r2, r3, lsr #0 ", 0x80000000, 0, r1, r2, r3, cv); 9034 TESTINST3("sbc.w r1, r2, r3, lsr #1 ", 0x80000000, 0, r1, r2, r3, cv); 9035 TESTINST3("sbc.w r1, r2, r3, lsr #15", 0x80000000, 0, r1, r2, r3, cv); 9036 TESTINST3("sbc.w r1, r2, r3, lsr #31", 0x80000000, 0, r1, r2, r3, cv); 9037 TESTINST3("sbc.w r1, r2, r3, asr #0 ", 0x80000000, 0, r1, r2, r3, cv); 9038 TESTINST3("sbc.w r1, r2, r3, asr #1 ", 0x80000000, 0, r1, r2, r3, cv); 9039 TESTINST3("sbc.w r1, r2, r3, asr #15", 0x80000000, 0, r1, r2, r3, cv); 9040 TESTINST3("sbc.w r1, r2, r3, asr #31", 0x80000000, 0, r1, r2, r3, cv); 9041 TESTINST3("sbcs.w r1, r2, r3, lsl #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 9042 TESTINST3("sbcs.w r1, r2, r3, lsl #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 9043 TESTINST3("sbcs.w r1, r2, r3, lsl #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 9044 TESTINST3("sbcs.w r1, r2, r3, lsl #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 9045 TESTINST3("sbcs.w r1, r2, r3, lsr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 9046 TESTINST3("sbcs.w r1, r2, r3, lsr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 9047 TESTINST3("sbcs.w r1, r2, r3, lsr #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 9048 TESTINST3("sbcs.w r1, r2, r3, lsr #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 9049 TESTINST3("sbcs.w r1, r2, r3, asr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 9050 TESTINST3("sbcs.w r1, r2, r3, asr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 9051 TESTINST3("sbcs.w r1, r2, r3, asr #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 9052 TESTINST3("sbcs.w r1, r2, r3, asr #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 9053 TESTINST3("sbc.w r1, r2, r3, lsl #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 9054 TESTINST3("sbc.w r1, r2, r3, lsl #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 9055 TESTINST3("sbc.w r1, r2, r3, lsl #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 9056 TESTINST3("sbc.w r1, r2, r3, lsl #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 9057 TESTINST3("sbc.w r1, r2, r3, lsr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 9058 TESTINST3("sbc.w r1, r2, r3, lsr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 9059 TESTINST3("sbc.w r1, r2, r3, lsr #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 9060 TESTINST3("sbc.w r1, r2, r3, lsr #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 9061 TESTINST3("sbc.w r1, r2, r3, asr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 9062 TESTINST3("sbc.w r1, r2, r3, asr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 9063 TESTINST3("sbc.w r1, r2, r3, asr #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 9064 TESTINST3("sbc.w r1, r2, r3, asr #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 9065 TESTINST3("sbcs.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 9066 TESTINST3("sbcs.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 9067 TESTINST3("sbcs.w r1, r2, r3, lsl #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 9068 TESTINST3("sbcs.w r1, r2, r3, lsl #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 9069 TESTINST3("sbcs.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 9070 TESTINST3("sbcs.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 9071 TESTINST3("sbcs.w r1, r2, r3, lsr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 9072 TESTINST3("sbcs.w r1, r2, r3, lsr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 9073 TESTINST3("sbcs.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 9074 TESTINST3("sbcs.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 9075 TESTINST3("sbcs.w r1, r2, r3, asr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 9076 TESTINST3("sbcs.w r1, r2, r3, asr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 9077 TESTINST3("sbc.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 9078 TESTINST3("sbc.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 9079 TESTINST3("sbc.w r1, r2, r3, lsl #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 9080 TESTINST3("sbc.w r1, r2, r3, lsl #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 9081 TESTINST3("sbc.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 9082 TESTINST3("sbc.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 9083 TESTINST3("sbc.w r1, r2, r3, lsr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 9084 TESTINST3("sbc.w r1, r2, r3, lsr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 9085 TESTINST3("sbc.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 9086 TESTINST3("sbc.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 9087 TESTINST3("sbc.w r1, r2, r3, asr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 9088 TESTINST3("sbc.w r1, r2, r3, asr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 9089 TESTINST3("sbcs.w r1, r2, r3, lsl #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 9090 TESTINST3("sbcs.w r1, r2, r3, lsl #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 9091 TESTINST3("sbcs.w r1, r2, r3, lsl #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 9092 TESTINST3("sbcs.w r1, r2, r3, lsl #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 9093 TESTINST3("sbcs.w r1, r2, r3, lsr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 9094 TESTINST3("sbcs.w r1, r2, r3, lsr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 9095 TESTINST3("sbcs.w r1, r2, r3, lsr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 9096 TESTINST3("sbcs.w r1, r2, r3, lsr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 9097 TESTINST3("sbcs.w r1, r2, r3, asr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 9098 TESTINST3("sbcs.w r1, r2, r3, asr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 9099 TESTINST3("sbcs.w r1, r2, r3, asr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 9100 TESTINST3("sbcs.w r1, r2, r3, asr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 9101 TESTINST3("sbc.w r1, r2, r3, lsl #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 9102 TESTINST3("sbc.w r1, r2, r3, lsl #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 9103 TESTINST3("sbc.w r1, r2, r3, lsl #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 9104 TESTINST3("sbc.w r1, r2, r3, lsl #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 9105 TESTINST3("sbc.w r1, r2, r3, lsr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 9106 TESTINST3("sbc.w r1, r2, r3, lsr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 9107 TESTINST3("sbc.w r1, r2, r3, lsr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 9108 TESTINST3("sbc.w r1, r2, r3, lsr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 9109 TESTINST3("sbc.w r1, r2, r3, asr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 9110 TESTINST3("sbc.w r1, r2, r3, asr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 9111 TESTINST3("sbc.w r1, r2, r3, asr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 9112 TESTINST3("sbc.w r1, r2, r3, asr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 9113 TESTINST3("sbcs.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 9114 TESTINST3("sbcs.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 9115 TESTINST3("sbcs.w r1, r2, r3, lsl #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 9116 TESTINST3("sbcs.w r1, r2, r3, lsl #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 9117 TESTINST3("sbcs.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 9118 TESTINST3("sbcs.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 9119 TESTINST3("sbcs.w r1, r2, r3, lsr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 9120 TESTINST3("sbcs.w r1, r2, r3, lsr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 9121 TESTINST3("sbcs.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 9122 TESTINST3("sbcs.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 9123 TESTINST3("sbcs.w r1, r2, r3, asr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 9124 TESTINST3("sbcs.w r1, r2, r3, asr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 9125 TESTINST3("sbc.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 9126 TESTINST3("sbc.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 9127 TESTINST3("sbc.w r1, r2, r3, lsl #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 9128 TESTINST3("sbc.w r1, r2, r3, lsl #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 9129 TESTINST3("sbc.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 9130 TESTINST3("sbc.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 9131 TESTINST3("sbc.w r1, r2, r3, lsr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 9132 TESTINST3("sbc.w r1, r2, r3, lsr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 9133 TESTINST3("sbc.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 9134 TESTINST3("sbc.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 9135 TESTINST3("sbc.w r1, r2, r3, asr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 9136 TESTINST3("sbc.w r1, r2, r3, asr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 9137 TESTCARRYEND 9138 9139#if 0 9140 printf("XXX{S}.W Rd, Rn, Rm, {shift}\n"); 9141 TESTCARRY 9142 TESTINST3("xxxs.w r1, r2, r3, lsl #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 9143 TESTINST3("xxxs.w r1, r2, r3, lsl #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 9144 TESTINST3("xxxs.w r1, r2, r3, lsl #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 9145 TESTINST3("xxxs.w r1, r2, r3, lsl #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 9146 TESTINST3("xxxs.w r1, r2, r3, lsr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 9147 TESTINST3("xxxs.w r1, r2, r3, lsr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 9148 TESTINST3("xxxs.w r1, r2, r3, lsr #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 9149 TESTINST3("xxxs.w r1, r2, r3, lsr #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 9150 TESTINST3("xxxs.w r1, r2, r3, asr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 9151 TESTINST3("xxxs.w r1, r2, r3, asr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 9152 TESTINST3("xxxs.w r1, r2, r3, asr #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 9153 TESTINST3("xxxs.w r1, r2, r3, asr #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 9154 TESTINST3("xxx.w r1, r2, r3, lsl #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 9155 TESTINST3("xxx.w r1, r2, r3, lsl #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 9156 TESTINST3("xxx.w r1, r2, r3, lsl #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 9157 TESTINST3("xxx.w r1, r2, r3, lsl #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 9158 TESTINST3("xxx.w r1, r2, r3, lsr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 9159 TESTINST3("xxx.w r1, r2, r3, lsr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 9160 TESTINST3("xxx.w r1, r2, r3, lsr #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 9161 TESTINST3("xxx.w r1, r2, r3, lsr #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 9162 TESTINST3("xxx.w r1, r2, r3, asr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 9163 TESTINST3("xxx.w r1, r2, r3, asr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 9164 TESTINST3("xxx.w r1, r2, r3, asr #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 9165 TESTINST3("xxx.w r1, r2, r3, asr #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 9166 TESTINST3("xxxs.w r1, r2, r3, lsl #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 9167 TESTINST3("xxxs.w r1, r2, r3, lsl #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 9168 TESTINST3("xxxs.w r1, r2, r3, lsl #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 9169 TESTINST3("xxxs.w r1, r2, r3, lsl #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 9170 TESTINST3("xxxs.w r1, r2, r3, lsr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 9171 TESTINST3("xxxs.w r1, r2, r3, lsr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 9172 TESTINST3("xxxs.w r1, r2, r3, lsr #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 9173 TESTINST3("xxxs.w r1, r2, r3, lsr #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 9174 TESTINST3("xxxs.w r1, r2, r3, asr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 9175 TESTINST3("xxxs.w r1, r2, r3, asr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 9176 TESTINST3("xxxs.w r1, r2, r3, asr #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 9177 TESTINST3("xxxs.w r1, r2, r3, asr #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 9178 TESTINST3("xxx.w r1, r2, r3, lsl #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 9179 TESTINST3("xxx.w r1, r2, r3, lsl #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 9180 TESTINST3("xxx.w r1, r2, r3, lsl #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 9181 TESTINST3("xxx.w r1, r2, r3, lsl #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 9182 TESTINST3("xxx.w r1, r2, r3, lsr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 9183 TESTINST3("xxx.w r1, r2, r3, lsr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 9184 TESTINST3("xxx.w r1, r2, r3, lsr #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 9185 TESTINST3("xxx.w r1, r2, r3, lsr #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 9186 TESTINST3("xxx.w r1, r2, r3, asr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 9187 TESTINST3("xxx.w r1, r2, r3, asr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 9188 TESTINST3("xxx.w r1, r2, r3, asr #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 9189 TESTINST3("xxx.w r1, r2, r3, asr #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 9190 TESTINST3("xxxs.w r1, r2, r3, lsl #0 ", 0, 0, r1, r2, r3, cv); 9191 TESTINST3("xxxs.w r1, r2, r3, lsl #1 ", 0, 0, r1, r2, r3, cv); 9192 TESTINST3("xxxs.w r1, r2, r3, lsl #15", 0, 0, r1, r2, r3, cv); 9193 TESTINST3("xxxs.w r1, r2, r3, lsl #31", 0, 0, r1, r2, r3, cv); 9194 TESTINST3("xxxs.w r1, r2, r3, lsr #0 ", 0, 0, r1, r2, r3, cv); 9195 TESTINST3("xxxs.w r1, r2, r3, lsr #1 ", 0, 0, r1, r2, r3, cv); 9196 TESTINST3("xxxs.w r1, r2, r3, lsr #15", 0, 0, r1, r2, r3, cv); 9197 TESTINST3("xxxs.w r1, r2, r3, lsr #31", 0, 0, r1, r2, r3, cv); 9198 TESTINST3("xxxs.w r1, r2, r3, asr #0 ", 0, 0, r1, r2, r3, cv); 9199 TESTINST3("xxxs.w r1, r2, r3, asr #1 ", 0, 0, r1, r2, r3, cv); 9200 TESTINST3("xxxs.w r1, r2, r3, asr #15", 0, 0, r1, r2, r3, cv); 9201 TESTINST3("xxxs.w r1, r2, r3, asr #31", 0, 0, r1, r2, r3, cv); 9202 TESTINST3("xxx.w r1, r2, r3, lsl #0 ", 0, 0, r1, r2, r3, cv); 9203 TESTINST3("xxx.w r1, r2, r3, lsl #1 ", 0, 0, r1, r2, r3, cv); 9204 TESTINST3("xxx.w r1, r2, r3, lsl #15", 0, 0, r1, r2, r3, cv); 9205 TESTINST3("xxx.w r1, r2, r3, lsl #31", 0, 0, r1, r2, r3, cv); 9206 TESTINST3("xxx.w r1, r2, r3, lsr #0 ", 0, 0, r1, r2, r3, cv); 9207 TESTINST3("xxx.w r1, r2, r3, lsr #1 ", 0, 0, r1, r2, r3, cv); 9208 TESTINST3("xxx.w r1, r2, r3, lsr #15", 0, 0, r1, r2, r3, cv); 9209 TESTINST3("xxx.w r1, r2, r3, lsr #31", 0, 0, r1, r2, r3, cv); 9210 TESTINST3("xxx.w r1, r2, r3, asr #0 ", 0, 0, r1, r2, r3, cv); 9211 TESTINST3("xxx.w r1, r2, r3, asr #1 ", 0, 0, r1, r2, r3, cv); 9212 TESTINST3("xxx.w r1, r2, r3, asr #15", 0, 0, r1, r2, r3, cv); 9213 TESTINST3("xxx.w r1, r2, r3, asr #31", 0, 0, r1, r2, r3, cv); 9214 TESTINST3("xxxs.w r1, r2, r3, lsl #0 ", 1, 0, r1, r2, r3, cv); 9215 TESTINST3("xxxs.w r1, r2, r3, lsl #1 ", 1, 0, r1, r2, r3, cv); 9216 TESTINST3("xxxs.w r1, r2, r3, lsl #15", 1, 0, r1, r2, r3, cv); 9217 TESTINST3("xxxs.w r1, r2, r3, lsl #31", 1, 0, r1, r2, r3, cv); 9218 TESTINST3("xxxs.w r1, r2, r3, lsr #0 ", 1, 0, r1, r2, r3, cv); 9219 TESTINST3("xxxs.w r1, r2, r3, lsr #1 ", 1, 0, r1, r2, r3, cv); 9220 TESTINST3("xxxs.w r1, r2, r3, lsr #15", 1, 0, r1, r2, r3, cv); 9221 TESTINST3("xxxs.w r1, r2, r3, lsr #31", 1, 0, r1, r2, r3, cv); 9222 TESTINST3("xxxs.w r1, r2, r3, asr #0 ", 1, 0, r1, r2, r3, cv); 9223 TESTINST3("xxxs.w r1, r2, r3, asr #1 ", 1, 0, r1, r2, r3, cv); 9224 TESTINST3("xxxs.w r1, r2, r3, asr #15", 1, 0, r1, r2, r3, cv); 9225 TESTINST3("xxxs.w r1, r2, r3, asr #31", 1, 0, r1, r2, r3, cv); 9226 TESTINST3("xxx.w r1, r2, r3, lsl #0 ", 1, 0, r1, r2, r3, cv); 9227 TESTINST3("xxx.w r1, r2, r3, lsl #1 ", 1, 0, r1, r2, r3, cv); 9228 TESTINST3("xxx.w r1, r2, r3, lsl #15", 1, 0, r1, r2, r3, cv); 9229 TESTINST3("xxx.w r1, r2, r3, lsl #31", 1, 0, r1, r2, r3, cv); 9230 TESTINST3("xxx.w r1, r2, r3, lsr #0 ", 1, 0, r1, r2, r3, cv); 9231 TESTINST3("xxx.w r1, r2, r3, lsr #1 ", 1, 0, r1, r2, r3, cv); 9232 TESTINST3("xxx.w r1, r2, r3, lsr #15", 1, 0, r1, r2, r3, cv); 9233 TESTINST3("xxx.w r1, r2, r3, lsr #31", 1, 0, r1, r2, r3, cv); 9234 TESTINST3("xxx.w r1, r2, r3, asr #0 ", 1, 0, r1, r2, r3, cv); 9235 TESTINST3("xxx.w r1, r2, r3, asr #1 ", 1, 0, r1, r2, r3, cv); 9236 TESTINST3("xxx.w r1, r2, r3, asr #15", 1, 0, r1, r2, r3, cv); 9237 TESTINST3("xxx.w r1, r2, r3, asr #31", 1, 0, r1, r2, r3, cv); 9238 TESTINST3("xxxs.w r1, r2, r3, lsl #0 ", 0, 1, r1, r2, r3, cv); 9239 TESTINST3("xxxs.w r1, r2, r3, lsl #1 ", 0, 1, r1, r2, r3, cv); 9240 TESTINST3("xxxs.w r1, r2, r3, lsl #15", 0, 1, r1, r2, r3, cv); 9241 TESTINST3("xxxs.w r1, r2, r3, lsl #31", 0, 1, r1, r2, r3, cv); 9242 TESTINST3("xxxs.w r1, r2, r3, lsr #0 ", 0, 1, r1, r2, r3, cv); 9243 TESTINST3("xxxs.w r1, r2, r3, lsr #1 ", 0, 1, r1, r2, r3, cv); 9244 TESTINST3("xxxs.w r1, r2, r3, lsr #15", 0, 1, r1, r2, r3, cv); 9245 TESTINST3("xxxs.w r1, r2, r3, lsr #31", 0, 1, r1, r2, r3, cv); 9246 TESTINST3("xxxs.w r1, r2, r3, asr #0 ", 0, 1, r1, r2, r3, cv); 9247 TESTINST3("xxxs.w r1, r2, r3, asr #1 ", 0, 1, r1, r2, r3, cv); 9248 TESTINST3("xxxs.w r1, r2, r3, asr #15", 0, 1, r1, r2, r3, cv); 9249 TESTINST3("xxxs.w r1, r2, r3, asr #31", 0, 1, r1, r2, r3, cv); 9250 TESTINST3("xxx.w r1, r2, r3, lsl #0 ", 0, 1, r1, r2, r3, cv); 9251 TESTINST3("xxx.w r1, r2, r3, lsl #1 ", 0, 1, r1, r2, r3, cv); 9252 TESTINST3("xxx.w r1, r2, r3, lsl #15", 0, 1, r1, r2, r3, cv); 9253 TESTINST3("xxx.w r1, r2, r3, lsl #31", 0, 1, r1, r2, r3, cv); 9254 TESTINST3("xxx.w r1, r2, r3, lsr #0 ", 0, 1, r1, r2, r3, cv); 9255 TESTINST3("xxx.w r1, r2, r3, lsr #1 ", 0, 1, r1, r2, r3, cv); 9256 TESTINST3("xxx.w r1, r2, r3, lsr #15", 0, 1, r1, r2, r3, cv); 9257 TESTINST3("xxx.w r1, r2, r3, lsr #31", 0, 1, r1, r2, r3, cv); 9258 TESTINST3("xxx.w r1, r2, r3, asr #0 ", 0, 1, r1, r2, r3, cv); 9259 TESTINST3("xxx.w r1, r2, r3, asr #1 ", 0, 1, r1, r2, r3, cv); 9260 TESTINST3("xxx.w r1, r2, r3, asr #15", 0, 1, r1, r2, r3, cv); 9261 TESTINST3("xxx.w r1, r2, r3, asr #31", 0, 1, r1, r2, r3, cv); 9262 TESTINST3("xxxs.w r1, r2, r3, lsl #0 ", -1, 0, r1, r2, r3, cv); 9263 TESTINST3("xxxs.w r1, r2, r3, lsl #1 ", -1, 0, r1, r2, r3, cv); 9264 TESTINST3("xxxs.w r1, r2, r3, lsl #15", -1, 0, r1, r2, r3, cv); 9265 TESTINST3("xxxs.w r1, r2, r3, lsl #31", -1, 0, r1, r2, r3, cv); 9266 TESTINST3("xxxs.w r1, r2, r3, lsr #0 ", -1, 0, r1, r2, r3, cv); 9267 TESTINST3("xxxs.w r1, r2, r3, lsr #1 ", -1, 0, r1, r2, r3, cv); 9268 TESTINST3("xxxs.w r1, r2, r3, lsr #15", -1, 0, r1, r2, r3, cv); 9269 TESTINST3("xxxs.w r1, r2, r3, lsr #31", -1, 0, r1, r2, r3, cv); 9270 TESTINST3("xxxs.w r1, r2, r3, asr #0 ", -1, 0, r1, r2, r3, cv); 9271 TESTINST3("xxxs.w r1, r2, r3, asr #1 ", -1, 0, r1, r2, r3, cv); 9272 TESTINST3("xxxs.w r1, r2, r3, asr #15", -1, 0, r1, r2, r3, cv); 9273 TESTINST3("xxxs.w r1, r2, r3, asr #31", -1, 0, r1, r2, r3, cv); 9274 TESTINST3("xxx.w r1, r2, r3, lsl #0 ", -1, 0, r1, r2, r3, cv); 9275 TESTINST3("xxx.w r1, r2, r3, lsl #1 ", -1, 0, r1, r2, r3, cv); 9276 TESTINST3("xxx.w r1, r2, r3, lsl #15", -1, 0, r1, r2, r3, cv); 9277 TESTINST3("xxx.w r1, r2, r3, lsl #31", -1, 0, r1, r2, r3, cv); 9278 TESTINST3("xxx.w r1, r2, r3, lsr #0 ", -1, 0, r1, r2, r3, cv); 9279 TESTINST3("xxx.w r1, r2, r3, lsr #1 ", -1, 0, r1, r2, r3, cv); 9280 TESTINST3("xxx.w r1, r2, r3, lsr #15", -1, 0, r1, r2, r3, cv); 9281 TESTINST3("xxx.w r1, r2, r3, lsr #31", -1, 0, r1, r2, r3, cv); 9282 TESTINST3("xxx.w r1, r2, r3, asr #0 ", -1, 0, r1, r2, r3, cv); 9283 TESTINST3("xxx.w r1, r2, r3, asr #1 ", -1, 0, r1, r2, r3, cv); 9284 TESTINST3("xxx.w r1, r2, r3, asr #15", -1, 0, r1, r2, r3, cv); 9285 TESTINST3("xxx.w r1, r2, r3, asr #31", -1, 0, r1, r2, r3, cv); 9286 TESTINST3("xxxs.w r1, r2, r3, lsl #0 ", 0, -1, r1, r2, r3, cv); 9287 TESTINST3("xxxs.w r1, r2, r3, lsl #1 ", 0, -1, r1, r2, r3, cv); 9288 TESTINST3("xxxs.w r1, r2, r3, lsl #15", 0, -1, r1, r2, r3, cv); 9289 TESTINST3("xxxs.w r1, r2, r3, lsl #31", 0, -1, r1, r2, r3, cv); 9290 TESTINST3("xxxs.w r1, r2, r3, lsr #0 ", 0, -1, r1, r2, r3, cv); 9291 TESTINST3("xxxs.w r1, r2, r3, lsr #1 ", 0, -1, r1, r2, r3, cv); 9292 TESTINST3("xxxs.w r1, r2, r3, lsr #15", 0, -1, r1, r2, r3, cv); 9293 TESTINST3("xxxs.w r1, r2, r3, lsr #31", 0, -1, r1, r2, r3, cv); 9294 TESTINST3("xxxs.w r1, r2, r3, asr #0 ", 0, -1, r1, r2, r3, cv); 9295 TESTINST3("xxxs.w r1, r2, r3, asr #1 ", 0, -1, r1, r2, r3, cv); 9296 TESTINST3("xxxs.w r1, r2, r3, asr #15", 0, -1, r1, r2, r3, cv); 9297 TESTINST3("xxxs.w r1, r2, r3, asr #31", 0, -1, r1, r2, r3, cv); 9298 TESTINST3("xxx.w r1, r2, r3, lsl #0 ", 0, -1, r1, r2, r3, cv); 9299 TESTINST3("xxx.w r1, r2, r3, lsl #1 ", 0, -1, r1, r2, r3, cv); 9300 TESTINST3("xxx.w r1, r2, r3, lsl #15", 0, -1, r1, r2, r3, cv); 9301 TESTINST3("xxx.w r1, r2, r3, lsl #31", 0, -1, r1, r2, r3, cv); 9302 TESTINST3("xxx.w r1, r2, r3, lsr #0 ", 0, -1, r1, r2, r3, cv); 9303 TESTINST3("xxx.w r1, r2, r3, lsr #1 ", 0, -1, r1, r2, r3, cv); 9304 TESTINST3("xxx.w r1, r2, r3, lsr #15", 0, -1, r1, r2, r3, cv); 9305 TESTINST3("xxx.w r1, r2, r3, lsr #31", 0, -1, r1, r2, r3, cv); 9306 TESTINST3("xxx.w r1, r2, r3, asr #0 ", 0, -1, r1, r2, r3, cv); 9307 TESTINST3("xxx.w r1, r2, r3, asr #1 ", 0, -1, r1, r2, r3, cv); 9308 TESTINST3("xxx.w r1, r2, r3, asr #15", 0, -1, r1, r2, r3, cv); 9309 TESTINST3("xxx.w r1, r2, r3, asr #31", 0, -1, r1, r2, r3, cv); 9310 TESTINST3("xxxs.w r1, r2, r3, lsl #0 ", 0, 0x80000000, r1, r2, r3, cv); 9311 TESTINST3("xxxs.w r1, r2, r3, lsl #1 ", 0, 0x80000000, r1, r2, r3, cv); 9312 TESTINST3("xxxs.w r1, r2, r3, lsl #15", 0, 0x80000000, r1, r2, r3, cv); 9313 TESTINST3("xxxs.w r1, r2, r3, lsl #31", 0, 0x80000000, r1, r2, r3, cv); 9314 TESTINST3("xxxs.w r1, r2, r3, lsr #0 ", 0, 0x80000000, r1, r2, r3, cv); 9315 TESTINST3("xxxs.w r1, r2, r3, lsr #1 ", 0, 0x80000000, r1, r2, r3, cv); 9316 TESTINST3("xxxs.w r1, r2, r3, lsr #15", 0, 0x80000000, r1, r2, r3, cv); 9317 TESTINST3("xxxs.w r1, r2, r3, lsr #31", 0, 0x80000000, r1, r2, r3, cv); 9318 TESTINST3("xxxs.w r1, r2, r3, asr #0 ", 0, 0x80000000, r1, r2, r3, cv); 9319 TESTINST3("xxxs.w r1, r2, r3, asr #1 ", 0, 0x80000000, r1, r2, r3, cv); 9320 TESTINST3("xxxs.w r1, r2, r3, asr #15", 0, 0x80000000, r1, r2, r3, cv); 9321 TESTINST3("xxxs.w r1, r2, r3, asr #31", 0, 0x80000000, r1, r2, r3, cv); 9322 TESTINST3("xxx.w r1, r2, r3, lsl #0 ", 0, 0x80000000, r1, r2, r3, cv); 9323 TESTINST3("xxx.w r1, r2, r3, lsl #1 ", 0, 0x80000000, r1, r2, r3, cv); 9324 TESTINST3("xxx.w r1, r2, r3, lsl #15", 0, 0x80000000, r1, r2, r3, cv); 9325 TESTINST3("xxx.w r1, r2, r3, lsl #31", 0, 0x80000000, r1, r2, r3, cv); 9326 TESTINST3("xxx.w r1, r2, r3, lsr #0 ", 0, 0x80000000, r1, r2, r3, cv); 9327 TESTINST3("xxx.w r1, r2, r3, lsr #1 ", 0, 0x80000000, r1, r2, r3, cv); 9328 TESTINST3("xxx.w r1, r2, r3, lsr #15", 0, 0x80000000, r1, r2, r3, cv); 9329 TESTINST3("xxx.w r1, r2, r3, lsr #31", 0, 0x80000000, r1, r2, r3, cv); 9330 TESTINST3("xxx.w r1, r2, r3, asr #0 ", 0, 0x80000000, r1, r2, r3, cv); 9331 TESTINST3("xxx.w r1, r2, r3, asr #1 ", 0, 0x80000000, r1, r2, r3, cv); 9332 TESTINST3("xxx.w r1, r2, r3, asr #15", 0, 0x80000000, r1, r2, r3, cv); 9333 TESTINST3("xxx.w r1, r2, r3, asr #31", 0, 0x80000000, r1, r2, r3, cv); 9334 TESTINST3("xxxs.w r1, r2, r3, lsl #0 ", 0x80000000, 0, r1, r2, r3, cv); 9335 TESTINST3("xxxs.w r1, r2, r3, lsl #1 ", 0x80000000, 0, r1, r2, r3, cv); 9336 TESTINST3("xxxs.w r1, r2, r3, lsl #15", 0x80000000, 0, r1, r2, r3, cv); 9337 TESTINST3("xxxs.w r1, r2, r3, lsl #31", 0x80000000, 0, r1, r2, r3, cv); 9338 TESTINST3("xxxs.w r1, r2, r3, lsr #0 ", 0x80000000, 0, r1, r2, r3, cv); 9339 TESTINST3("xxxs.w r1, r2, r3, lsr #1 ", 0x80000000, 0, r1, r2, r3, cv); 9340 TESTINST3("xxxs.w r1, r2, r3, lsr #15", 0x80000000, 0, r1, r2, r3, cv); 9341 TESTINST3("xxxs.w r1, r2, r3, lsr #31", 0x80000000, 0, r1, r2, r3, cv); 9342 TESTINST3("xxxs.w r1, r2, r3, asr #0 ", 0x80000000, 0, r1, r2, r3, cv); 9343 TESTINST3("xxxs.w r1, r2, r3, asr #1 ", 0x80000000, 0, r1, r2, r3, cv); 9344 TESTINST3("xxxs.w r1, r2, r3, asr #15", 0x80000000, 0, r1, r2, r3, cv); 9345 TESTINST3("xxxs.w r1, r2, r3, asr #31", 0x80000000, 0, r1, r2, r3, cv); 9346 TESTINST3("xxx.w r1, r2, r3, lsl #0 ", 0x80000000, 0, r1, r2, r3, cv); 9347 TESTINST3("xxx.w r1, r2, r3, lsl #1 ", 0x80000000, 0, r1, r2, r3, cv); 9348 TESTINST3("xxx.w r1, r2, r3, lsl #15", 0x80000000, 0, r1, r2, r3, cv); 9349 TESTINST3("xxx.w r1, r2, r3, lsl #31", 0x80000000, 0, r1, r2, r3, cv); 9350 TESTINST3("xxx.w r1, r2, r3, lsr #0 ", 0x80000000, 0, r1, r2, r3, cv); 9351 TESTINST3("xxx.w r1, r2, r3, lsr #1 ", 0x80000000, 0, r1, r2, r3, cv); 9352 TESTINST3("xxx.w r1, r2, r3, lsr #15", 0x80000000, 0, r1, r2, r3, cv); 9353 TESTINST3("xxx.w r1, r2, r3, lsr #31", 0x80000000, 0, r1, r2, r3, cv); 9354 TESTINST3("xxx.w r1, r2, r3, asr #0 ", 0x80000000, 0, r1, r2, r3, cv); 9355 TESTINST3("xxx.w r1, r2, r3, asr #1 ", 0x80000000, 0, r1, r2, r3, cv); 9356 TESTINST3("xxx.w r1, r2, r3, asr #15", 0x80000000, 0, r1, r2, r3, cv); 9357 TESTINST3("xxx.w r1, r2, r3, asr #31", 0x80000000, 0, r1, r2, r3, cv); 9358 TESTINST3("xxxs.w r1, r2, r3, lsl #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 9359 TESTINST3("xxxs.w r1, r2, r3, lsl #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 9360 TESTINST3("xxxs.w r1, r2, r3, lsl #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 9361 TESTINST3("xxxs.w r1, r2, r3, lsl #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 9362 TESTINST3("xxxs.w r1, r2, r3, lsr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 9363 TESTINST3("xxxs.w r1, r2, r3, lsr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 9364 TESTINST3("xxxs.w r1, r2, r3, lsr #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 9365 TESTINST3("xxxs.w r1, r2, r3, lsr #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 9366 TESTINST3("xxxs.w r1, r2, r3, asr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 9367 TESTINST3("xxxs.w r1, r2, r3, asr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 9368 TESTINST3("xxxs.w r1, r2, r3, asr #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 9369 TESTINST3("xxxs.w r1, r2, r3, asr #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 9370 TESTINST3("xxx.w r1, r2, r3, lsl #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 9371 TESTINST3("xxx.w r1, r2, r3, lsl #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 9372 TESTINST3("xxx.w r1, r2, r3, lsl #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 9373 TESTINST3("xxx.w r1, r2, r3, lsl #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 9374 TESTINST3("xxx.w r1, r2, r3, lsr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 9375 TESTINST3("xxx.w r1, r2, r3, lsr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 9376 TESTINST3("xxx.w r1, r2, r3, lsr #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 9377 TESTINST3("xxx.w r1, r2, r3, lsr #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 9378 TESTINST3("xxx.w r1, r2, r3, asr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 9379 TESTINST3("xxx.w r1, r2, r3, asr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 9380 TESTINST3("xxx.w r1, r2, r3, asr #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 9381 TESTINST3("xxx.w r1, r2, r3, asr #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 9382 TESTINST3("xxxs.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 9383 TESTINST3("xxxs.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 9384 TESTINST3("xxxs.w r1, r2, r3, lsl #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 9385 TESTINST3("xxxs.w r1, r2, r3, lsl #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 9386 TESTINST3("xxxs.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 9387 TESTINST3("xxxs.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 9388 TESTINST3("xxxs.w r1, r2, r3, lsr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 9389 TESTINST3("xxxs.w r1, r2, r3, lsr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 9390 TESTINST3("xxxs.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 9391 TESTINST3("xxxs.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 9392 TESTINST3("xxxs.w r1, r2, r3, asr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 9393 TESTINST3("xxxs.w r1, r2, r3, asr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 9394 TESTINST3("xxx.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 9395 TESTINST3("xxx.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 9396 TESTINST3("xxx.w r1, r2, r3, lsl #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 9397 TESTINST3("xxx.w r1, r2, r3, lsl #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 9398 TESTINST3("xxx.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 9399 TESTINST3("xxx.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 9400 TESTINST3("xxx.w r1, r2, r3, lsr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 9401 TESTINST3("xxx.w r1, r2, r3, lsr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 9402 TESTINST3("xxx.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 9403 TESTINST3("xxx.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 9404 TESTINST3("xxx.w r1, r2, r3, asr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 9405 TESTINST3("xxx.w r1, r2, r3, asr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 9406 TESTINST3("xxxs.w r1, r2, r3, lsl #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 9407 TESTINST3("xxxs.w r1, r2, r3, lsl #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 9408 TESTINST3("xxxs.w r1, r2, r3, lsl #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 9409 TESTINST3("xxxs.w r1, r2, r3, lsl #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 9410 TESTINST3("xxxs.w r1, r2, r3, lsr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 9411 TESTINST3("xxxs.w r1, r2, r3, lsr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 9412 TESTINST3("xxxs.w r1, r2, r3, lsr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 9413 TESTINST3("xxxs.w r1, r2, r3, lsr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 9414 TESTINST3("xxxs.w r1, r2, r3, asr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 9415 TESTINST3("xxxs.w r1, r2, r3, asr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 9416 TESTINST3("xxxs.w r1, r2, r3, asr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 9417 TESTINST3("xxxs.w r1, r2, r3, asr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 9418 TESTINST3("xxx.w r1, r2, r3, lsl #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 9419 TESTINST3("xxx.w r1, r2, r3, lsl #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 9420 TESTINST3("xxx.w r1, r2, r3, lsl #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 9421 TESTINST3("xxx.w r1, r2, r3, lsl #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 9422 TESTINST3("xxx.w r1, r2, r3, lsr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 9423 TESTINST3("xxx.w r1, r2, r3, lsr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 9424 TESTINST3("xxx.w r1, r2, r3, lsr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 9425 TESTINST3("xxx.w r1, r2, r3, lsr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 9426 TESTINST3("xxx.w r1, r2, r3, asr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 9427 TESTINST3("xxx.w r1, r2, r3, asr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 9428 TESTINST3("xxx.w r1, r2, r3, asr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 9429 TESTINST3("xxx.w r1, r2, r3, asr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 9430 TESTINST3("xxxs.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 9431 TESTINST3("xxxs.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 9432 TESTINST3("xxxs.w r1, r2, r3, lsl #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 9433 TESTINST3("xxxs.w r1, r2, r3, lsl #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 9434 TESTINST3("xxxs.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 9435 TESTINST3("xxxs.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 9436 TESTINST3("xxxs.w r1, r2, r3, lsr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 9437 TESTINST3("xxxs.w r1, r2, r3, lsr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 9438 TESTINST3("xxxs.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 9439 TESTINST3("xxxs.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 9440 TESTINST3("xxxs.w r1, r2, r3, asr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 9441 TESTINST3("xxxs.w r1, r2, r3, asr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 9442 TESTINST3("xxx.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 9443 TESTINST3("xxx.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 9444 TESTINST3("xxx.w r1, r2, r3, lsl #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 9445 TESTINST3("xxx.w r1, r2, r3, lsl #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 9446 TESTINST3("xxx.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 9447 TESTINST3("xxx.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 9448 TESTINST3("xxx.w r1, r2, r3, lsr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 9449 TESTINST3("xxx.w r1, r2, r3, lsr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 9450 TESTINST3("xxx.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 9451 TESTINST3("xxx.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 9452 TESTINST3("xxx.w r1, r2, r3, asr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 9453 TESTINST3("xxx.w r1, r2, r3, asr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 9454 TESTCARRYEND 9455#endif 9456 9457 printf("AND{S}.W Rd, Rn, Rm, {shift}\n"); 9458 TESTCARRY 9459 TESTINST3("ands.w r1, r2, r3, lsl #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 9460 TESTINST3("ands.w r1, r2, r3, lsl #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 9461 TESTINST3("ands.w r1, r2, r3, lsl #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 9462 TESTINST3("ands.w r1, r2, r3, lsl #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 9463 TESTINST3("ands.w r1, r2, r3, lsr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 9464 TESTINST3("ands.w r1, r2, r3, lsr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 9465 TESTINST3("ands.w r1, r2, r3, lsr #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 9466 TESTINST3("ands.w r1, r2, r3, lsr #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 9467 TESTINST3("ands.w r1, r2, r3, asr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 9468 TESTINST3("ands.w r1, r2, r3, asr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 9469 TESTINST3("ands.w r1, r2, r3, asr #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 9470 TESTINST3("ands.w r1, r2, r3, asr #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 9471 TESTINST3("and.w r1, r2, r3, lsl #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 9472 TESTINST3("and.w r1, r2, r3, lsl #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 9473 TESTINST3("and.w r1, r2, r3, lsl #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 9474 TESTINST3("and.w r1, r2, r3, lsl #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 9475 TESTINST3("and.w r1, r2, r3, lsr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 9476 TESTINST3("and.w r1, r2, r3, lsr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 9477 TESTINST3("and.w r1, r2, r3, lsr #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 9478 TESTINST3("and.w r1, r2, r3, lsr #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 9479 TESTINST3("and.w r1, r2, r3, asr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 9480 TESTINST3("and.w r1, r2, r3, asr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 9481 TESTINST3("and.w r1, r2, r3, asr #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 9482 TESTINST3("and.w r1, r2, r3, asr #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 9483 TESTINST3("ands.w r1, r2, r3, lsl #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 9484 TESTINST3("ands.w r1, r2, r3, lsl #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 9485 TESTINST3("ands.w r1, r2, r3, lsl #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 9486 TESTINST3("ands.w r1, r2, r3, lsl #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 9487 TESTINST3("ands.w r1, r2, r3, lsr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 9488 TESTINST3("ands.w r1, r2, r3, lsr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 9489 TESTINST3("ands.w r1, r2, r3, lsr #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 9490 TESTINST3("ands.w r1, r2, r3, lsr #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 9491 TESTINST3("ands.w r1, r2, r3, asr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 9492 TESTINST3("ands.w r1, r2, r3, asr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 9493 TESTINST3("ands.w r1, r2, r3, asr #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 9494 TESTINST3("ands.w r1, r2, r3, asr #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 9495 TESTINST3("and.w r1, r2, r3, lsl #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 9496 TESTINST3("and.w r1, r2, r3, lsl #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 9497 TESTINST3("and.w r1, r2, r3, lsl #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 9498 TESTINST3("and.w r1, r2, r3, lsl #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 9499 TESTINST3("and.w r1, r2, r3, lsr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 9500 TESTINST3("and.w r1, r2, r3, lsr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 9501 TESTINST3("and.w r1, r2, r3, lsr #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 9502 TESTINST3("and.w r1, r2, r3, lsr #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 9503 TESTINST3("and.w r1, r2, r3, asr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 9504 TESTINST3("and.w r1, r2, r3, asr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 9505 TESTINST3("and.w r1, r2, r3, asr #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 9506 TESTINST3("and.w r1, r2, r3, asr #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 9507 TESTINST3("ands.w r1, r2, r3, lsl #0 ", 0, 0, r1, r2, r3, cv); 9508 TESTINST3("ands.w r1, r2, r3, lsl #1 ", 0, 0, r1, r2, r3, cv); 9509 TESTINST3("ands.w r1, r2, r3, lsl #15", 0, 0, r1, r2, r3, cv); 9510 TESTINST3("ands.w r1, r2, r3, lsl #31", 0, 0, r1, r2, r3, cv); 9511 TESTINST3("ands.w r1, r2, r3, lsr #0 ", 0, 0, r1, r2, r3, cv); 9512 TESTINST3("ands.w r1, r2, r3, lsr #1 ", 0, 0, r1, r2, r3, cv); 9513 TESTINST3("ands.w r1, r2, r3, lsr #15", 0, 0, r1, r2, r3, cv); 9514 TESTINST3("ands.w r1, r2, r3, lsr #31", 0, 0, r1, r2, r3, cv); 9515 TESTINST3("ands.w r1, r2, r3, asr #0 ", 0, 0, r1, r2, r3, cv); 9516 TESTINST3("ands.w r1, r2, r3, asr #1 ", 0, 0, r1, r2, r3, cv); 9517 TESTINST3("ands.w r1, r2, r3, asr #15", 0, 0, r1, r2, r3, cv); 9518 TESTINST3("ands.w r1, r2, r3, asr #31", 0, 0, r1, r2, r3, cv); 9519 TESTINST3("and.w r1, r2, r3, lsl #0 ", 0, 0, r1, r2, r3, cv); 9520 TESTINST3("and.w r1, r2, r3, lsl #1 ", 0, 0, r1, r2, r3, cv); 9521 TESTINST3("and.w r1, r2, r3, lsl #15", 0, 0, r1, r2, r3, cv); 9522 TESTINST3("and.w r1, r2, r3, lsl #31", 0, 0, r1, r2, r3, cv); 9523 TESTINST3("and.w r1, r2, r3, lsr #0 ", 0, 0, r1, r2, r3, cv); 9524 TESTINST3("and.w r1, r2, r3, lsr #1 ", 0, 0, r1, r2, r3, cv); 9525 TESTINST3("and.w r1, r2, r3, lsr #15", 0, 0, r1, r2, r3, cv); 9526 TESTINST3("and.w r1, r2, r3, lsr #31", 0, 0, r1, r2, r3, cv); 9527 TESTINST3("and.w r1, r2, r3, asr #0 ", 0, 0, r1, r2, r3, cv); 9528 TESTINST3("and.w r1, r2, r3, asr #1 ", 0, 0, r1, r2, r3, cv); 9529 TESTINST3("and.w r1, r2, r3, asr #15", 0, 0, r1, r2, r3, cv); 9530 TESTINST3("and.w r1, r2, r3, asr #31", 0, 0, r1, r2, r3, cv); 9531 TESTINST3("ands.w r1, r2, r3, lsl #0 ", 1, 0, r1, r2, r3, cv); 9532 TESTINST3("ands.w r1, r2, r3, lsl #1 ", 1, 0, r1, r2, r3, cv); 9533 TESTINST3("ands.w r1, r2, r3, lsl #15", 1, 0, r1, r2, r3, cv); 9534 TESTINST3("ands.w r1, r2, r3, lsl #31", 1, 0, r1, r2, r3, cv); 9535 TESTINST3("ands.w r1, r2, r3, lsr #0 ", 1, 0, r1, r2, r3, cv); 9536 TESTINST3("ands.w r1, r2, r3, lsr #1 ", 1, 0, r1, r2, r3, cv); 9537 TESTINST3("ands.w r1, r2, r3, lsr #15", 1, 0, r1, r2, r3, cv); 9538 TESTINST3("ands.w r1, r2, r3, lsr #31", 1, 0, r1, r2, r3, cv); 9539 TESTINST3("ands.w r1, r2, r3, asr #0 ", 1, 0, r1, r2, r3, cv); 9540 TESTINST3("ands.w r1, r2, r3, asr #1 ", 1, 0, r1, r2, r3, cv); 9541 TESTINST3("ands.w r1, r2, r3, asr #15", 1, 0, r1, r2, r3, cv); 9542 TESTINST3("ands.w r1, r2, r3, asr #31", 1, 0, r1, r2, r3, cv); 9543 TESTINST3("and.w r1, r2, r3, lsl #0 ", 1, 0, r1, r2, r3, cv); 9544 TESTINST3("and.w r1, r2, r3, lsl #1 ", 1, 0, r1, r2, r3, cv); 9545 TESTINST3("and.w r1, r2, r3, lsl #15", 1, 0, r1, r2, r3, cv); 9546 TESTINST3("and.w r1, r2, r3, lsl #31", 1, 0, r1, r2, r3, cv); 9547 TESTINST3("and.w r1, r2, r3, lsr #0 ", 1, 0, r1, r2, r3, cv); 9548 TESTINST3("and.w r1, r2, r3, lsr #1 ", 1, 0, r1, r2, r3, cv); 9549 TESTINST3("and.w r1, r2, r3, lsr #15", 1, 0, r1, r2, r3, cv); 9550 TESTINST3("and.w r1, r2, r3, lsr #31", 1, 0, r1, r2, r3, cv); 9551 TESTINST3("and.w r1, r2, r3, asr #0 ", 1, 0, r1, r2, r3, cv); 9552 TESTINST3("and.w r1, r2, r3, asr #1 ", 1, 0, r1, r2, r3, cv); 9553 TESTINST3("and.w r1, r2, r3, asr #15", 1, 0, r1, r2, r3, cv); 9554 TESTINST3("and.w r1, r2, r3, asr #31", 1, 0, r1, r2, r3, cv); 9555 TESTINST3("ands.w r1, r2, r3, lsl #0 ", 0, 1, r1, r2, r3, cv); 9556 TESTINST3("ands.w r1, r2, r3, lsl #1 ", 0, 1, r1, r2, r3, cv); 9557 TESTINST3("ands.w r1, r2, r3, lsl #15", 0, 1, r1, r2, r3, cv); 9558 TESTINST3("ands.w r1, r2, r3, lsl #31", 0, 1, r1, r2, r3, cv); 9559 TESTINST3("ands.w r1, r2, r3, lsr #0 ", 0, 1, r1, r2, r3, cv); 9560 TESTINST3("ands.w r1, r2, r3, lsr #1 ", 0, 1, r1, r2, r3, cv); 9561 TESTINST3("ands.w r1, r2, r3, lsr #15", 0, 1, r1, r2, r3, cv); 9562 TESTINST3("ands.w r1, r2, r3, lsr #31", 0, 1, r1, r2, r3, cv); 9563 TESTINST3("ands.w r1, r2, r3, asr #0 ", 0, 1, r1, r2, r3, cv); 9564 TESTINST3("ands.w r1, r2, r3, asr #1 ", 0, 1, r1, r2, r3, cv); 9565 TESTINST3("ands.w r1, r2, r3, asr #15", 0, 1, r1, r2, r3, cv); 9566 TESTINST3("ands.w r1, r2, r3, asr #31", 0, 1, r1, r2, r3, cv); 9567 TESTINST3("and.w r1, r2, r3, lsl #0 ", 0, 1, r1, r2, r3, cv); 9568 TESTINST3("and.w r1, r2, r3, lsl #1 ", 0, 1, r1, r2, r3, cv); 9569 TESTINST3("and.w r1, r2, r3, lsl #15", 0, 1, r1, r2, r3, cv); 9570 TESTINST3("and.w r1, r2, r3, lsl #31", 0, 1, r1, r2, r3, cv); 9571 TESTINST3("and.w r1, r2, r3, lsr #0 ", 0, 1, r1, r2, r3, cv); 9572 TESTINST3("and.w r1, r2, r3, lsr #1 ", 0, 1, r1, r2, r3, cv); 9573 TESTINST3("and.w r1, r2, r3, lsr #15", 0, 1, r1, r2, r3, cv); 9574 TESTINST3("and.w r1, r2, r3, lsr #31", 0, 1, r1, r2, r3, cv); 9575 TESTINST3("and.w r1, r2, r3, asr #0 ", 0, 1, r1, r2, r3, cv); 9576 TESTINST3("and.w r1, r2, r3, asr #1 ", 0, 1, r1, r2, r3, cv); 9577 TESTINST3("and.w r1, r2, r3, asr #15", 0, 1, r1, r2, r3, cv); 9578 TESTINST3("and.w r1, r2, r3, asr #31", 0, 1, r1, r2, r3, cv); 9579 TESTINST3("ands.w r1, r2, r3, lsl #0 ", -1, 0, r1, r2, r3, cv); 9580 TESTINST3("ands.w r1, r2, r3, lsl #1 ", -1, 0, r1, r2, r3, cv); 9581 TESTINST3("ands.w r1, r2, r3, lsl #15", -1, 0, r1, r2, r3, cv); 9582 TESTINST3("ands.w r1, r2, r3, lsl #31", -1, 0, r1, r2, r3, cv); 9583 TESTINST3("ands.w r1, r2, r3, lsr #0 ", -1, 0, r1, r2, r3, cv); 9584 TESTINST3("ands.w r1, r2, r3, lsr #1 ", -1, 0, r1, r2, r3, cv); 9585 TESTINST3("ands.w r1, r2, r3, lsr #15", -1, 0, r1, r2, r3, cv); 9586 TESTINST3("ands.w r1, r2, r3, lsr #31", -1, 0, r1, r2, r3, cv); 9587 TESTINST3("ands.w r1, r2, r3, asr #0 ", -1, 0, r1, r2, r3, cv); 9588 TESTINST3("ands.w r1, r2, r3, asr #1 ", -1, 0, r1, r2, r3, cv); 9589 TESTINST3("ands.w r1, r2, r3, asr #15", -1, 0, r1, r2, r3, cv); 9590 TESTINST3("ands.w r1, r2, r3, asr #31", -1, 0, r1, r2, r3, cv); 9591 TESTINST3("and.w r1, r2, r3, lsl #0 ", -1, 0, r1, r2, r3, cv); 9592 TESTINST3("and.w r1, r2, r3, lsl #1 ", -1, 0, r1, r2, r3, cv); 9593 TESTINST3("and.w r1, r2, r3, lsl #15", -1, 0, r1, r2, r3, cv); 9594 TESTINST3("and.w r1, r2, r3, lsl #31", -1, 0, r1, r2, r3, cv); 9595 TESTINST3("and.w r1, r2, r3, lsr #0 ", -1, 0, r1, r2, r3, cv); 9596 TESTINST3("and.w r1, r2, r3, lsr #1 ", -1, 0, r1, r2, r3, cv); 9597 TESTINST3("and.w r1, r2, r3, lsr #15", -1, 0, r1, r2, r3, cv); 9598 TESTINST3("and.w r1, r2, r3, lsr #31", -1, 0, r1, r2, r3, cv); 9599 TESTINST3("and.w r1, r2, r3, asr #0 ", -1, 0, r1, r2, r3, cv); 9600 TESTINST3("and.w r1, r2, r3, asr #1 ", -1, 0, r1, r2, r3, cv); 9601 TESTINST3("and.w r1, r2, r3, asr #15", -1, 0, r1, r2, r3, cv); 9602 TESTINST3("and.w r1, r2, r3, asr #31", -1, 0, r1, r2, r3, cv); 9603 TESTINST3("ands.w r1, r2, r3, lsl #0 ", 0, -1, r1, r2, r3, cv); 9604 TESTINST3("ands.w r1, r2, r3, lsl #1 ", 0, -1, r1, r2, r3, cv); 9605 TESTINST3("ands.w r1, r2, r3, lsl #15", 0, -1, r1, r2, r3, cv); 9606 TESTINST3("ands.w r1, r2, r3, lsl #31", 0, -1, r1, r2, r3, cv); 9607 TESTINST3("ands.w r1, r2, r3, lsr #0 ", 0, -1, r1, r2, r3, cv); 9608 TESTINST3("ands.w r1, r2, r3, lsr #1 ", 0, -1, r1, r2, r3, cv); 9609 TESTINST3("ands.w r1, r2, r3, lsr #15", 0, -1, r1, r2, r3, cv); 9610 TESTINST3("ands.w r1, r2, r3, lsr #31", 0, -1, r1, r2, r3, cv); 9611 TESTINST3("ands.w r1, r2, r3, asr #0 ", 0, -1, r1, r2, r3, cv); 9612 TESTINST3("ands.w r1, r2, r3, asr #1 ", 0, -1, r1, r2, r3, cv); 9613 TESTINST3("ands.w r1, r2, r3, asr #15", 0, -1, r1, r2, r3, cv); 9614 TESTINST3("ands.w r1, r2, r3, asr #31", 0, -1, r1, r2, r3, cv); 9615 TESTINST3("and.w r1, r2, r3, lsl #0 ", 0, -1, r1, r2, r3, cv); 9616 TESTINST3("and.w r1, r2, r3, lsl #1 ", 0, -1, r1, r2, r3, cv); 9617 TESTINST3("and.w r1, r2, r3, lsl #15", 0, -1, r1, r2, r3, cv); 9618 TESTINST3("and.w r1, r2, r3, lsl #31", 0, -1, r1, r2, r3, cv); 9619 TESTINST3("and.w r1, r2, r3, lsr #0 ", 0, -1, r1, r2, r3, cv); 9620 TESTINST3("and.w r1, r2, r3, lsr #1 ", 0, -1, r1, r2, r3, cv); 9621 TESTINST3("and.w r1, r2, r3, lsr #15", 0, -1, r1, r2, r3, cv); 9622 TESTINST3("and.w r1, r2, r3, lsr #31", 0, -1, r1, r2, r3, cv); 9623 TESTINST3("and.w r1, r2, r3, asr #0 ", 0, -1, r1, r2, r3, cv); 9624 TESTINST3("and.w r1, r2, r3, asr #1 ", 0, -1, r1, r2, r3, cv); 9625 TESTINST3("and.w r1, r2, r3, asr #15", 0, -1, r1, r2, r3, cv); 9626 TESTINST3("and.w r1, r2, r3, asr #31", 0, -1, r1, r2, r3, cv); 9627 TESTINST3("ands.w r1, r2, r3, lsl #0 ", 0, 0x80000000, r1, r2, r3, cv); 9628 TESTINST3("ands.w r1, r2, r3, lsl #1 ", 0, 0x80000000, r1, r2, r3, cv); 9629 TESTINST3("ands.w r1, r2, r3, lsl #15", 0, 0x80000000, r1, r2, r3, cv); 9630 TESTINST3("ands.w r1, r2, r3, lsl #31", 0, 0x80000000, r1, r2, r3, cv); 9631 TESTINST3("ands.w r1, r2, r3, lsr #0 ", 0, 0x80000000, r1, r2, r3, cv); 9632 TESTINST3("ands.w r1, r2, r3, lsr #1 ", 0, 0x80000000, r1, r2, r3, cv); 9633 TESTINST3("ands.w r1, r2, r3, lsr #15", 0, 0x80000000, r1, r2, r3, cv); 9634 TESTINST3("ands.w r1, r2, r3, lsr #31", 0, 0x80000000, r1, r2, r3, cv); 9635 TESTINST3("ands.w r1, r2, r3, asr #0 ", 0, 0x80000000, r1, r2, r3, cv); 9636 TESTINST3("ands.w r1, r2, r3, asr #1 ", 0, 0x80000000, r1, r2, r3, cv); 9637 TESTINST3("ands.w r1, r2, r3, asr #15", 0, 0x80000000, r1, r2, r3, cv); 9638 TESTINST3("ands.w r1, r2, r3, asr #31", 0, 0x80000000, r1, r2, r3, cv); 9639 TESTINST3("and.w r1, r2, r3, lsl #0 ", 0, 0x80000000, r1, r2, r3, cv); 9640 TESTINST3("and.w r1, r2, r3, lsl #1 ", 0, 0x80000000, r1, r2, r3, cv); 9641 TESTINST3("and.w r1, r2, r3, lsl #15", 0, 0x80000000, r1, r2, r3, cv); 9642 TESTINST3("and.w r1, r2, r3, lsl #31", 0, 0x80000000, r1, r2, r3, cv); 9643 TESTINST3("and.w r1, r2, r3, lsr #0 ", 0, 0x80000000, r1, r2, r3, cv); 9644 TESTINST3("and.w r1, r2, r3, lsr #1 ", 0, 0x80000000, r1, r2, r3, cv); 9645 TESTINST3("and.w r1, r2, r3, lsr #15", 0, 0x80000000, r1, r2, r3, cv); 9646 TESTINST3("and.w r1, r2, r3, lsr #31", 0, 0x80000000, r1, r2, r3, cv); 9647 TESTINST3("and.w r1, r2, r3, asr #0 ", 0, 0x80000000, r1, r2, r3, cv); 9648 TESTINST3("and.w r1, r2, r3, asr #1 ", 0, 0x80000000, r1, r2, r3, cv); 9649 TESTINST3("and.w r1, r2, r3, asr #15", 0, 0x80000000, r1, r2, r3, cv); 9650 TESTINST3("and.w r1, r2, r3, asr #31", 0, 0x80000000, r1, r2, r3, cv); 9651 TESTINST3("ands.w r1, r2, r3, lsl #0 ", 0x80000000, 0, r1, r2, r3, cv); 9652 TESTINST3("ands.w r1, r2, r3, lsl #1 ", 0x80000000, 0, r1, r2, r3, cv); 9653 TESTINST3("ands.w r1, r2, r3, lsl #15", 0x80000000, 0, r1, r2, r3, cv); 9654 TESTINST3("ands.w r1, r2, r3, lsl #31", 0x80000000, 0, r1, r2, r3, cv); 9655 TESTINST3("ands.w r1, r2, r3, lsr #0 ", 0x80000000, 0, r1, r2, r3, cv); 9656 TESTINST3("ands.w r1, r2, r3, lsr #1 ", 0x80000000, 0, r1, r2, r3, cv); 9657 TESTINST3("ands.w r1, r2, r3, lsr #15", 0x80000000, 0, r1, r2, r3, cv); 9658 TESTINST3("ands.w r1, r2, r3, lsr #31", 0x80000000, 0, r1, r2, r3, cv); 9659 TESTINST3("ands.w r1, r2, r3, asr #0 ", 0x80000000, 0, r1, r2, r3, cv); 9660 TESTINST3("ands.w r1, r2, r3, asr #1 ", 0x80000000, 0, r1, r2, r3, cv); 9661 TESTINST3("ands.w r1, r2, r3, asr #15", 0x80000000, 0, r1, r2, r3, cv); 9662 TESTINST3("ands.w r1, r2, r3, asr #31", 0x80000000, 0, r1, r2, r3, cv); 9663 TESTINST3("and.w r1, r2, r3, lsl #0 ", 0x80000000, 0, r1, r2, r3, cv); 9664 TESTINST3("and.w r1, r2, r3, lsl #1 ", 0x80000000, 0, r1, r2, r3, cv); 9665 TESTINST3("and.w r1, r2, r3, lsl #15", 0x80000000, 0, r1, r2, r3, cv); 9666 TESTINST3("and.w r1, r2, r3, lsl #31", 0x80000000, 0, r1, r2, r3, cv); 9667 TESTINST3("and.w r1, r2, r3, lsr #0 ", 0x80000000, 0, r1, r2, r3, cv); 9668 TESTINST3("and.w r1, r2, r3, lsr #1 ", 0x80000000, 0, r1, r2, r3, cv); 9669 TESTINST3("and.w r1, r2, r3, lsr #15", 0x80000000, 0, r1, r2, r3, cv); 9670 TESTINST3("and.w r1, r2, r3, lsr #31", 0x80000000, 0, r1, r2, r3, cv); 9671 TESTINST3("and.w r1, r2, r3, asr #0 ", 0x80000000, 0, r1, r2, r3, cv); 9672 TESTINST3("and.w r1, r2, r3, asr #1 ", 0x80000000, 0, r1, r2, r3, cv); 9673 TESTINST3("and.w r1, r2, r3, asr #15", 0x80000000, 0, r1, r2, r3, cv); 9674 TESTINST3("and.w r1, r2, r3, asr #31", 0x80000000, 0, r1, r2, r3, cv); 9675 TESTINST3("ands.w r1, r2, r3, lsl #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 9676 TESTINST3("ands.w r1, r2, r3, lsl #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 9677 TESTINST3("ands.w r1, r2, r3, lsl #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 9678 TESTINST3("ands.w r1, r2, r3, lsl #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 9679 TESTINST3("ands.w r1, r2, r3, lsr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 9680 TESTINST3("ands.w r1, r2, r3, lsr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 9681 TESTINST3("ands.w r1, r2, r3, lsr #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 9682 TESTINST3("ands.w r1, r2, r3, lsr #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 9683 TESTINST3("ands.w r1, r2, r3, asr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 9684 TESTINST3("ands.w r1, r2, r3, asr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 9685 TESTINST3("ands.w r1, r2, r3, asr #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 9686 TESTINST3("ands.w r1, r2, r3, asr #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 9687 TESTINST3("and.w r1, r2, r3, lsl #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 9688 TESTINST3("and.w r1, r2, r3, lsl #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 9689 TESTINST3("and.w r1, r2, r3, lsl #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 9690 TESTINST3("and.w r1, r2, r3, lsl #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 9691 TESTINST3("and.w r1, r2, r3, lsr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 9692 TESTINST3("and.w r1, r2, r3, lsr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 9693 TESTINST3("and.w r1, r2, r3, lsr #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 9694 TESTINST3("and.w r1, r2, r3, lsr #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 9695 TESTINST3("and.w r1, r2, r3, asr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 9696 TESTINST3("and.w r1, r2, r3, asr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 9697 TESTINST3("and.w r1, r2, r3, asr #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 9698 TESTINST3("and.w r1, r2, r3, asr #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 9699 TESTINST3("ands.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 9700 TESTINST3("ands.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 9701 TESTINST3("ands.w r1, r2, r3, lsl #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 9702 TESTINST3("ands.w r1, r2, r3, lsl #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 9703 TESTINST3("ands.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 9704 TESTINST3("ands.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 9705 TESTINST3("ands.w r1, r2, r3, lsr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 9706 TESTINST3("ands.w r1, r2, r3, lsr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 9707 TESTINST3("ands.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 9708 TESTINST3("ands.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 9709 TESTINST3("ands.w r1, r2, r3, asr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 9710 TESTINST3("ands.w r1, r2, r3, asr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 9711 TESTINST3("and.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 9712 TESTINST3("and.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 9713 TESTINST3("and.w r1, r2, r3, lsl #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 9714 TESTINST3("and.w r1, r2, r3, lsl #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 9715 TESTINST3("and.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 9716 TESTINST3("and.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 9717 TESTINST3("and.w r1, r2, r3, lsr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 9718 TESTINST3("and.w r1, r2, r3, lsr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 9719 TESTINST3("and.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 9720 TESTINST3("and.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 9721 TESTINST3("and.w r1, r2, r3, asr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 9722 TESTINST3("and.w r1, r2, r3, asr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 9723 TESTINST3("ands.w r1, r2, r3, lsl #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 9724 TESTINST3("ands.w r1, r2, r3, lsl #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 9725 TESTINST3("ands.w r1, r2, r3, lsl #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 9726 TESTINST3("ands.w r1, r2, r3, lsl #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 9727 TESTINST3("ands.w r1, r2, r3, lsr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 9728 TESTINST3("ands.w r1, r2, r3, lsr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 9729 TESTINST3("ands.w r1, r2, r3, lsr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 9730 TESTINST3("ands.w r1, r2, r3, lsr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 9731 TESTINST3("ands.w r1, r2, r3, asr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 9732 TESTINST3("ands.w r1, r2, r3, asr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 9733 TESTINST3("ands.w r1, r2, r3, asr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 9734 TESTINST3("ands.w r1, r2, r3, asr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 9735 TESTINST3("and.w r1, r2, r3, lsl #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 9736 TESTINST3("and.w r1, r2, r3, lsl #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 9737 TESTINST3("and.w r1, r2, r3, lsl #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 9738 TESTINST3("and.w r1, r2, r3, lsl #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 9739 TESTINST3("and.w r1, r2, r3, lsr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 9740 TESTINST3("and.w r1, r2, r3, lsr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 9741 TESTINST3("and.w r1, r2, r3, lsr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 9742 TESTINST3("and.w r1, r2, r3, lsr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 9743 TESTINST3("and.w r1, r2, r3, asr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 9744 TESTINST3("and.w r1, r2, r3, asr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 9745 TESTINST3("and.w r1, r2, r3, asr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 9746 TESTINST3("and.w r1, r2, r3, asr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 9747 TESTINST3("ands.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 9748 TESTINST3("ands.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 9749 TESTINST3("ands.w r1, r2, r3, lsl #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 9750 TESTINST3("ands.w r1, r2, r3, lsl #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 9751 TESTINST3("ands.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 9752 TESTINST3("ands.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 9753 TESTINST3("ands.w r1, r2, r3, lsr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 9754 TESTINST3("ands.w r1, r2, r3, lsr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 9755 TESTINST3("ands.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 9756 TESTINST3("ands.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 9757 TESTINST3("ands.w r1, r2, r3, asr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 9758 TESTINST3("ands.w r1, r2, r3, asr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 9759 TESTINST3("and.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 9760 TESTINST3("and.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 9761 TESTINST3("and.w r1, r2, r3, lsl #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 9762 TESTINST3("and.w r1, r2, r3, lsl #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 9763 TESTINST3("and.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 9764 TESTINST3("and.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 9765 TESTINST3("and.w r1, r2, r3, lsr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 9766 TESTINST3("and.w r1, r2, r3, lsr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 9767 TESTINST3("and.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 9768 TESTINST3("and.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 9769 TESTINST3("and.w r1, r2, r3, asr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 9770 TESTINST3("and.w r1, r2, r3, asr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 9771 TESTCARRYEND 9772 9773 printf("ORR{S}.W Rd, Rn, Rm, {shift}\n"); 9774 TESTCARRY 9775 TESTINST3("orrs.w r1, r2, r3, lsl #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 9776 TESTINST3("orrs.w r1, r2, r3, lsl #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 9777 TESTINST3("orrs.w r1, r2, r3, lsl #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 9778 TESTINST3("orrs.w r1, r2, r3, lsl #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 9779 TESTINST3("orrs.w r1, r2, r3, lsr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 9780 TESTINST3("orrs.w r1, r2, r3, lsr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 9781 TESTINST3("orrs.w r1, r2, r3, lsr #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 9782 TESTINST3("orrs.w r1, r2, r3, lsr #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 9783 TESTINST3("orrs.w r1, r2, r3, asr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 9784 TESTINST3("orrs.w r1, r2, r3, asr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 9785 TESTINST3("orrs.w r1, r2, r3, asr #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 9786 TESTINST3("orrs.w r1, r2, r3, asr #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 9787 TESTINST3("orr.w r1, r2, r3, lsl #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 9788 TESTINST3("orr.w r1, r2, r3, lsl #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 9789 TESTINST3("orr.w r1, r2, r3, lsl #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 9790 TESTINST3("orr.w r1, r2, r3, lsl #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 9791 TESTINST3("orr.w r1, r2, r3, lsr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 9792 TESTINST3("orr.w r1, r2, r3, lsr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 9793 TESTINST3("orr.w r1, r2, r3, lsr #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 9794 TESTINST3("orr.w r1, r2, r3, lsr #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 9795 TESTINST3("orr.w r1, r2, r3, asr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 9796 TESTINST3("orr.w r1, r2, r3, asr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 9797 TESTINST3("orr.w r1, r2, r3, asr #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 9798 TESTINST3("orr.w r1, r2, r3, asr #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 9799 TESTINST3("orrs.w r1, r2, r3, lsl #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 9800 TESTINST3("orrs.w r1, r2, r3, lsl #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 9801 TESTINST3("orrs.w r1, r2, r3, lsl #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 9802 TESTINST3("orrs.w r1, r2, r3, lsl #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 9803 TESTINST3("orrs.w r1, r2, r3, lsr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 9804 TESTINST3("orrs.w r1, r2, r3, lsr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 9805 TESTINST3("orrs.w r1, r2, r3, lsr #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 9806 TESTINST3("orrs.w r1, r2, r3, lsr #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 9807 TESTINST3("orrs.w r1, r2, r3, asr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 9808 TESTINST3("orrs.w r1, r2, r3, asr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 9809 TESTINST3("orrs.w r1, r2, r3, asr #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 9810 TESTINST3("orrs.w r1, r2, r3, asr #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 9811 TESTINST3("orr.w r1, r2, r3, lsl #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 9812 TESTINST3("orr.w r1, r2, r3, lsl #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 9813 TESTINST3("orr.w r1, r2, r3, lsl #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 9814 TESTINST3("orr.w r1, r2, r3, lsl #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 9815 TESTINST3("orr.w r1, r2, r3, lsr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 9816 TESTINST3("orr.w r1, r2, r3, lsr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 9817 TESTINST3("orr.w r1, r2, r3, lsr #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 9818 TESTINST3("orr.w r1, r2, r3, lsr #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 9819 TESTINST3("orr.w r1, r2, r3, asr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 9820 TESTINST3("orr.w r1, r2, r3, asr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 9821 TESTINST3("orr.w r1, r2, r3, asr #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 9822 TESTINST3("orr.w r1, r2, r3, asr #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 9823 TESTINST3("orrs.w r1, r2, r3, lsl #0 ", 0, 0, r1, r2, r3, cv); 9824 TESTINST3("orrs.w r1, r2, r3, lsl #1 ", 0, 0, r1, r2, r3, cv); 9825 TESTINST3("orrs.w r1, r2, r3, lsl #15", 0, 0, r1, r2, r3, cv); 9826 TESTINST3("orrs.w r1, r2, r3, lsl #31", 0, 0, r1, r2, r3, cv); 9827 TESTINST3("orrs.w r1, r2, r3, lsr #0 ", 0, 0, r1, r2, r3, cv); 9828 TESTINST3("orrs.w r1, r2, r3, lsr #1 ", 0, 0, r1, r2, r3, cv); 9829 TESTINST3("orrs.w r1, r2, r3, lsr #15", 0, 0, r1, r2, r3, cv); 9830 TESTINST3("orrs.w r1, r2, r3, lsr #31", 0, 0, r1, r2, r3, cv); 9831 TESTINST3("orrs.w r1, r2, r3, asr #0 ", 0, 0, r1, r2, r3, cv); 9832 TESTINST3("orrs.w r1, r2, r3, asr #1 ", 0, 0, r1, r2, r3, cv); 9833 TESTINST3("orrs.w r1, r2, r3, asr #15", 0, 0, r1, r2, r3, cv); 9834 TESTINST3("orrs.w r1, r2, r3, asr #31", 0, 0, r1, r2, r3, cv); 9835 TESTINST3("orr.w r1, r2, r3, lsl #0 ", 0, 0, r1, r2, r3, cv); 9836 TESTINST3("orr.w r1, r2, r3, lsl #1 ", 0, 0, r1, r2, r3, cv); 9837 TESTINST3("orr.w r1, r2, r3, lsl #15", 0, 0, r1, r2, r3, cv); 9838 TESTINST3("orr.w r1, r2, r3, lsl #31", 0, 0, r1, r2, r3, cv); 9839 TESTINST3("orr.w r1, r2, r3, lsr #0 ", 0, 0, r1, r2, r3, cv); 9840 TESTINST3("orr.w r1, r2, r3, lsr #1 ", 0, 0, r1, r2, r3, cv); 9841 TESTINST3("orr.w r1, r2, r3, lsr #15", 0, 0, r1, r2, r3, cv); 9842 TESTINST3("orr.w r1, r2, r3, lsr #31", 0, 0, r1, r2, r3, cv); 9843 TESTINST3("orr.w r1, r2, r3, asr #0 ", 0, 0, r1, r2, r3, cv); 9844 TESTINST3("orr.w r1, r2, r3, asr #1 ", 0, 0, r1, r2, r3, cv); 9845 TESTINST3("orr.w r1, r2, r3, asr #15", 0, 0, r1, r2, r3, cv); 9846 TESTINST3("orr.w r1, r2, r3, asr #31", 0, 0, r1, r2, r3, cv); 9847 TESTINST3("orrs.w r1, r2, r3, lsl #0 ", 1, 0, r1, r2, r3, cv); 9848 TESTINST3("orrs.w r1, r2, r3, lsl #1 ", 1, 0, r1, r2, r3, cv); 9849 TESTINST3("orrs.w r1, r2, r3, lsl #15", 1, 0, r1, r2, r3, cv); 9850 TESTINST3("orrs.w r1, r2, r3, lsl #31", 1, 0, r1, r2, r3, cv); 9851 TESTINST3("orrs.w r1, r2, r3, lsr #0 ", 1, 0, r1, r2, r3, cv); 9852 TESTINST3("orrs.w r1, r2, r3, lsr #1 ", 1, 0, r1, r2, r3, cv); 9853 TESTINST3("orrs.w r1, r2, r3, lsr #15", 1, 0, r1, r2, r3, cv); 9854 TESTINST3("orrs.w r1, r2, r3, lsr #31", 1, 0, r1, r2, r3, cv); 9855 TESTINST3("orrs.w r1, r2, r3, asr #0 ", 1, 0, r1, r2, r3, cv); 9856 TESTINST3("orrs.w r1, r2, r3, asr #1 ", 1, 0, r1, r2, r3, cv); 9857 TESTINST3("orrs.w r1, r2, r3, asr #15", 1, 0, r1, r2, r3, cv); 9858 TESTINST3("orrs.w r1, r2, r3, asr #31", 1, 0, r1, r2, r3, cv); 9859 TESTINST3("orr.w r1, r2, r3, lsl #0 ", 1, 0, r1, r2, r3, cv); 9860 TESTINST3("orr.w r1, r2, r3, lsl #1 ", 1, 0, r1, r2, r3, cv); 9861 TESTINST3("orr.w r1, r2, r3, lsl #15", 1, 0, r1, r2, r3, cv); 9862 TESTINST3("orr.w r1, r2, r3, lsl #31", 1, 0, r1, r2, r3, cv); 9863 TESTINST3("orr.w r1, r2, r3, lsr #0 ", 1, 0, r1, r2, r3, cv); 9864 TESTINST3("orr.w r1, r2, r3, lsr #1 ", 1, 0, r1, r2, r3, cv); 9865 TESTINST3("orr.w r1, r2, r3, lsr #15", 1, 0, r1, r2, r3, cv); 9866 TESTINST3("orr.w r1, r2, r3, lsr #31", 1, 0, r1, r2, r3, cv); 9867 TESTINST3("orr.w r1, r2, r3, asr #0 ", 1, 0, r1, r2, r3, cv); 9868 TESTINST3("orr.w r1, r2, r3, asr #1 ", 1, 0, r1, r2, r3, cv); 9869 TESTINST3("orr.w r1, r2, r3, asr #15", 1, 0, r1, r2, r3, cv); 9870 TESTINST3("orr.w r1, r2, r3, asr #31", 1, 0, r1, r2, r3, cv); 9871 TESTINST3("orrs.w r1, r2, r3, lsl #0 ", 0, 1, r1, r2, r3, cv); 9872 TESTINST3("orrs.w r1, r2, r3, lsl #1 ", 0, 1, r1, r2, r3, cv); 9873 TESTINST3("orrs.w r1, r2, r3, lsl #15", 0, 1, r1, r2, r3, cv); 9874 TESTINST3("orrs.w r1, r2, r3, lsl #31", 0, 1, r1, r2, r3, cv); 9875 TESTINST3("orrs.w r1, r2, r3, lsr #0 ", 0, 1, r1, r2, r3, cv); 9876 TESTINST3("orrs.w r1, r2, r3, lsr #1 ", 0, 1, r1, r2, r3, cv); 9877 TESTINST3("orrs.w r1, r2, r3, lsr #15", 0, 1, r1, r2, r3, cv); 9878 TESTINST3("orrs.w r1, r2, r3, lsr #31", 0, 1, r1, r2, r3, cv); 9879 TESTINST3("orrs.w r1, r2, r3, asr #0 ", 0, 1, r1, r2, r3, cv); 9880 TESTINST3("orrs.w r1, r2, r3, asr #1 ", 0, 1, r1, r2, r3, cv); 9881 TESTINST3("orrs.w r1, r2, r3, asr #15", 0, 1, r1, r2, r3, cv); 9882 TESTINST3("orrs.w r1, r2, r3, asr #31", 0, 1, r1, r2, r3, cv); 9883 TESTINST3("orr.w r1, r2, r3, lsl #0 ", 0, 1, r1, r2, r3, cv); 9884 TESTINST3("orr.w r1, r2, r3, lsl #1 ", 0, 1, r1, r2, r3, cv); 9885 TESTINST3("orr.w r1, r2, r3, lsl #15", 0, 1, r1, r2, r3, cv); 9886 TESTINST3("orr.w r1, r2, r3, lsl #31", 0, 1, r1, r2, r3, cv); 9887 TESTINST3("orr.w r1, r2, r3, lsr #0 ", 0, 1, r1, r2, r3, cv); 9888 TESTINST3("orr.w r1, r2, r3, lsr #1 ", 0, 1, r1, r2, r3, cv); 9889 TESTINST3("orr.w r1, r2, r3, lsr #15", 0, 1, r1, r2, r3, cv); 9890 TESTINST3("orr.w r1, r2, r3, lsr #31", 0, 1, r1, r2, r3, cv); 9891 TESTINST3("orr.w r1, r2, r3, asr #0 ", 0, 1, r1, r2, r3, cv); 9892 TESTINST3("orr.w r1, r2, r3, asr #1 ", 0, 1, r1, r2, r3, cv); 9893 TESTINST3("orr.w r1, r2, r3, asr #15", 0, 1, r1, r2, r3, cv); 9894 TESTINST3("orr.w r1, r2, r3, asr #31", 0, 1, r1, r2, r3, cv); 9895 TESTINST3("orrs.w r1, r2, r3, lsl #0 ", -1, 0, r1, r2, r3, cv); 9896 TESTINST3("orrs.w r1, r2, r3, lsl #1 ", -1, 0, r1, r2, r3, cv); 9897 TESTINST3("orrs.w r1, r2, r3, lsl #15", -1, 0, r1, r2, r3, cv); 9898 TESTINST3("orrs.w r1, r2, r3, lsl #31", -1, 0, r1, r2, r3, cv); 9899 TESTINST3("orrs.w r1, r2, r3, lsr #0 ", -1, 0, r1, r2, r3, cv); 9900 TESTINST3("orrs.w r1, r2, r3, lsr #1 ", -1, 0, r1, r2, r3, cv); 9901 TESTINST3("orrs.w r1, r2, r3, lsr #15", -1, 0, r1, r2, r3, cv); 9902 TESTINST3("orrs.w r1, r2, r3, lsr #31", -1, 0, r1, r2, r3, cv); 9903 TESTINST3("orrs.w r1, r2, r3, asr #0 ", -1, 0, r1, r2, r3, cv); 9904 TESTINST3("orrs.w r1, r2, r3, asr #1 ", -1, 0, r1, r2, r3, cv); 9905 TESTINST3("orrs.w r1, r2, r3, asr #15", -1, 0, r1, r2, r3, cv); 9906 TESTINST3("orrs.w r1, r2, r3, asr #31", -1, 0, r1, r2, r3, cv); 9907 TESTINST3("orr.w r1, r2, r3, lsl #0 ", -1, 0, r1, r2, r3, cv); 9908 TESTINST3("orr.w r1, r2, r3, lsl #1 ", -1, 0, r1, r2, r3, cv); 9909 TESTINST3("orr.w r1, r2, r3, lsl #15", -1, 0, r1, r2, r3, cv); 9910 TESTINST3("orr.w r1, r2, r3, lsl #31", -1, 0, r1, r2, r3, cv); 9911 TESTINST3("orr.w r1, r2, r3, lsr #0 ", -1, 0, r1, r2, r3, cv); 9912 TESTINST3("orr.w r1, r2, r3, lsr #1 ", -1, 0, r1, r2, r3, cv); 9913 TESTINST3("orr.w r1, r2, r3, lsr #15", -1, 0, r1, r2, r3, cv); 9914 TESTINST3("orr.w r1, r2, r3, lsr #31", -1, 0, r1, r2, r3, cv); 9915 TESTINST3("orr.w r1, r2, r3, asr #0 ", -1, 0, r1, r2, r3, cv); 9916 TESTINST3("orr.w r1, r2, r3, asr #1 ", -1, 0, r1, r2, r3, cv); 9917 TESTINST3("orr.w r1, r2, r3, asr #15", -1, 0, r1, r2, r3, cv); 9918 TESTINST3("orr.w r1, r2, r3, asr #31", -1, 0, r1, r2, r3, cv); 9919 TESTINST3("orrs.w r1, r2, r3, lsl #0 ", 0, -1, r1, r2, r3, cv); 9920 TESTINST3("orrs.w r1, r2, r3, lsl #1 ", 0, -1, r1, r2, r3, cv); 9921 TESTINST3("orrs.w r1, r2, r3, lsl #15", 0, -1, r1, r2, r3, cv); 9922 TESTINST3("orrs.w r1, r2, r3, lsl #31", 0, -1, r1, r2, r3, cv); 9923 TESTINST3("orrs.w r1, r2, r3, lsr #0 ", 0, -1, r1, r2, r3, cv); 9924 TESTINST3("orrs.w r1, r2, r3, lsr #1 ", 0, -1, r1, r2, r3, cv); 9925 TESTINST3("orrs.w r1, r2, r3, lsr #15", 0, -1, r1, r2, r3, cv); 9926 TESTINST3("orrs.w r1, r2, r3, lsr #31", 0, -1, r1, r2, r3, cv); 9927 TESTINST3("orrs.w r1, r2, r3, asr #0 ", 0, -1, r1, r2, r3, cv); 9928 TESTINST3("orrs.w r1, r2, r3, asr #1 ", 0, -1, r1, r2, r3, cv); 9929 TESTINST3("orrs.w r1, r2, r3, asr #15", 0, -1, r1, r2, r3, cv); 9930 TESTINST3("orrs.w r1, r2, r3, asr #31", 0, -1, r1, r2, r3, cv); 9931 TESTINST3("orr.w r1, r2, r3, lsl #0 ", 0, -1, r1, r2, r3, cv); 9932 TESTINST3("orr.w r1, r2, r3, lsl #1 ", 0, -1, r1, r2, r3, cv); 9933 TESTINST3("orr.w r1, r2, r3, lsl #15", 0, -1, r1, r2, r3, cv); 9934 TESTINST3("orr.w r1, r2, r3, lsl #31", 0, -1, r1, r2, r3, cv); 9935 TESTINST3("orr.w r1, r2, r3, lsr #0 ", 0, -1, r1, r2, r3, cv); 9936 TESTINST3("orr.w r1, r2, r3, lsr #1 ", 0, -1, r1, r2, r3, cv); 9937 TESTINST3("orr.w r1, r2, r3, lsr #15", 0, -1, r1, r2, r3, cv); 9938 TESTINST3("orr.w r1, r2, r3, lsr #31", 0, -1, r1, r2, r3, cv); 9939 TESTINST3("orr.w r1, r2, r3, asr #0 ", 0, -1, r1, r2, r3, cv); 9940 TESTINST3("orr.w r1, r2, r3, asr #1 ", 0, -1, r1, r2, r3, cv); 9941 TESTINST3("orr.w r1, r2, r3, asr #15", 0, -1, r1, r2, r3, cv); 9942 TESTINST3("orr.w r1, r2, r3, asr #31", 0, -1, r1, r2, r3, cv); 9943 TESTINST3("orrs.w r1, r2, r3, lsl #0 ", 0, 0x80000000, r1, r2, r3, cv); 9944 TESTINST3("orrs.w r1, r2, r3, lsl #1 ", 0, 0x80000000, r1, r2, r3, cv); 9945 TESTINST3("orrs.w r1, r2, r3, lsl #15", 0, 0x80000000, r1, r2, r3, cv); 9946 TESTINST3("orrs.w r1, r2, r3, lsl #31", 0, 0x80000000, r1, r2, r3, cv); 9947 TESTINST3("orrs.w r1, r2, r3, lsr #0 ", 0, 0x80000000, r1, r2, r3, cv); 9948 TESTINST3("orrs.w r1, r2, r3, lsr #1 ", 0, 0x80000000, r1, r2, r3, cv); 9949 TESTINST3("orrs.w r1, r2, r3, lsr #15", 0, 0x80000000, r1, r2, r3, cv); 9950 TESTINST3("orrs.w r1, r2, r3, lsr #31", 0, 0x80000000, r1, r2, r3, cv); 9951 TESTINST3("orrs.w r1, r2, r3, asr #0 ", 0, 0x80000000, r1, r2, r3, cv); 9952 TESTINST3("orrs.w r1, r2, r3, asr #1 ", 0, 0x80000000, r1, r2, r3, cv); 9953 TESTINST3("orrs.w r1, r2, r3, asr #15", 0, 0x80000000, r1, r2, r3, cv); 9954 TESTINST3("orrs.w r1, r2, r3, asr #31", 0, 0x80000000, r1, r2, r3, cv); 9955 TESTINST3("orr.w r1, r2, r3, lsl #0 ", 0, 0x80000000, r1, r2, r3, cv); 9956 TESTINST3("orr.w r1, r2, r3, lsl #1 ", 0, 0x80000000, r1, r2, r3, cv); 9957 TESTINST3("orr.w r1, r2, r3, lsl #15", 0, 0x80000000, r1, r2, r3, cv); 9958 TESTINST3("orr.w r1, r2, r3, lsl #31", 0, 0x80000000, r1, r2, r3, cv); 9959 TESTINST3("orr.w r1, r2, r3, lsr #0 ", 0, 0x80000000, r1, r2, r3, cv); 9960 TESTINST3("orr.w r1, r2, r3, lsr #1 ", 0, 0x80000000, r1, r2, r3, cv); 9961 TESTINST3("orr.w r1, r2, r3, lsr #15", 0, 0x80000000, r1, r2, r3, cv); 9962 TESTINST3("orr.w r1, r2, r3, lsr #31", 0, 0x80000000, r1, r2, r3, cv); 9963 TESTINST3("orr.w r1, r2, r3, asr #0 ", 0, 0x80000000, r1, r2, r3, cv); 9964 TESTINST3("orr.w r1, r2, r3, asr #1 ", 0, 0x80000000, r1, r2, r3, cv); 9965 TESTINST3("orr.w r1, r2, r3, asr #15", 0, 0x80000000, r1, r2, r3, cv); 9966 TESTINST3("orr.w r1, r2, r3, asr #31", 0, 0x80000000, r1, r2, r3, cv); 9967 TESTINST3("orrs.w r1, r2, r3, lsl #0 ", 0x80000000, 0, r1, r2, r3, cv); 9968 TESTINST3("orrs.w r1, r2, r3, lsl #1 ", 0x80000000, 0, r1, r2, r3, cv); 9969 TESTINST3("orrs.w r1, r2, r3, lsl #15", 0x80000000, 0, r1, r2, r3, cv); 9970 TESTINST3("orrs.w r1, r2, r3, lsl #31", 0x80000000, 0, r1, r2, r3, cv); 9971 TESTINST3("orrs.w r1, r2, r3, lsr #0 ", 0x80000000, 0, r1, r2, r3, cv); 9972 TESTINST3("orrs.w r1, r2, r3, lsr #1 ", 0x80000000, 0, r1, r2, r3, cv); 9973 TESTINST3("orrs.w r1, r2, r3, lsr #15", 0x80000000, 0, r1, r2, r3, cv); 9974 TESTINST3("orrs.w r1, r2, r3, lsr #31", 0x80000000, 0, r1, r2, r3, cv); 9975 TESTINST3("orrs.w r1, r2, r3, asr #0 ", 0x80000000, 0, r1, r2, r3, cv); 9976 TESTINST3("orrs.w r1, r2, r3, asr #1 ", 0x80000000, 0, r1, r2, r3, cv); 9977 TESTINST3("orrs.w r1, r2, r3, asr #15", 0x80000000, 0, r1, r2, r3, cv); 9978 TESTINST3("orrs.w r1, r2, r3, asr #31", 0x80000000, 0, r1, r2, r3, cv); 9979 TESTINST3("orr.w r1, r2, r3, lsl #0 ", 0x80000000, 0, r1, r2, r3, cv); 9980 TESTINST3("orr.w r1, r2, r3, lsl #1 ", 0x80000000, 0, r1, r2, r3, cv); 9981 TESTINST3("orr.w r1, r2, r3, lsl #15", 0x80000000, 0, r1, r2, r3, cv); 9982 TESTINST3("orr.w r1, r2, r3, lsl #31", 0x80000000, 0, r1, r2, r3, cv); 9983 TESTINST3("orr.w r1, r2, r3, lsr #0 ", 0x80000000, 0, r1, r2, r3, cv); 9984 TESTINST3("orr.w r1, r2, r3, lsr #1 ", 0x80000000, 0, r1, r2, r3, cv); 9985 TESTINST3("orr.w r1, r2, r3, lsr #15", 0x80000000, 0, r1, r2, r3, cv); 9986 TESTINST3("orr.w r1, r2, r3, lsr #31", 0x80000000, 0, r1, r2, r3, cv); 9987 TESTINST3("orr.w r1, r2, r3, asr #0 ", 0x80000000, 0, r1, r2, r3, cv); 9988 TESTINST3("orr.w r1, r2, r3, asr #1 ", 0x80000000, 0, r1, r2, r3, cv); 9989 TESTINST3("orr.w r1, r2, r3, asr #15", 0x80000000, 0, r1, r2, r3, cv); 9990 TESTINST3("orr.w r1, r2, r3, asr #31", 0x80000000, 0, r1, r2, r3, cv); 9991 TESTINST3("orrs.w r1, r2, r3, lsl #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 9992 TESTINST3("orrs.w r1, r2, r3, lsl #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 9993 TESTINST3("orrs.w r1, r2, r3, lsl #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 9994 TESTINST3("orrs.w r1, r2, r3, lsl #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 9995 TESTINST3("orrs.w r1, r2, r3, lsr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 9996 TESTINST3("orrs.w r1, r2, r3, lsr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 9997 TESTINST3("orrs.w r1, r2, r3, lsr #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 9998 TESTINST3("orrs.w r1, r2, r3, lsr #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 9999 TESTINST3("orrs.w r1, r2, r3, asr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 10000 TESTINST3("orrs.w r1, r2, r3, asr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 10001 TESTINST3("orrs.w r1, r2, r3, asr #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 10002 TESTINST3("orrs.w r1, r2, r3, asr #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 10003 TESTINST3("orr.w r1, r2, r3, lsl #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 10004 TESTINST3("orr.w r1, r2, r3, lsl #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 10005 TESTINST3("orr.w r1, r2, r3, lsl #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 10006 TESTINST3("orr.w r1, r2, r3, lsl #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 10007 TESTINST3("orr.w r1, r2, r3, lsr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 10008 TESTINST3("orr.w r1, r2, r3, lsr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 10009 TESTINST3("orr.w r1, r2, r3, lsr #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 10010 TESTINST3("orr.w r1, r2, r3, lsr #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 10011 TESTINST3("orr.w r1, r2, r3, asr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 10012 TESTINST3("orr.w r1, r2, r3, asr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 10013 TESTINST3("orr.w r1, r2, r3, asr #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 10014 TESTINST3("orr.w r1, r2, r3, asr #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 10015 TESTINST3("orrs.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 10016 TESTINST3("orrs.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 10017 TESTINST3("orrs.w r1, r2, r3, lsl #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 10018 TESTINST3("orrs.w r1, r2, r3, lsl #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 10019 TESTINST3("orrs.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 10020 TESTINST3("orrs.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 10021 TESTINST3("orrs.w r1, r2, r3, lsr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 10022 TESTINST3("orrs.w r1, r2, r3, lsr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 10023 TESTINST3("orrs.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 10024 TESTINST3("orrs.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 10025 TESTINST3("orrs.w r1, r2, r3, asr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 10026 TESTINST3("orrs.w r1, r2, r3, asr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 10027 TESTINST3("orr.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 10028 TESTINST3("orr.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 10029 TESTINST3("orr.w r1, r2, r3, lsl #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 10030 TESTINST3("orr.w r1, r2, r3, lsl #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 10031 TESTINST3("orr.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 10032 TESTINST3("orr.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 10033 TESTINST3("orr.w r1, r2, r3, lsr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 10034 TESTINST3("orr.w r1, r2, r3, lsr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 10035 TESTINST3("orr.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 10036 TESTINST3("orr.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 10037 TESTINST3("orr.w r1, r2, r3, asr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 10038 TESTINST3("orr.w r1, r2, r3, asr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 10039 TESTINST3("orrs.w r1, r2, r3, lsl #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 10040 TESTINST3("orrs.w r1, r2, r3, lsl #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 10041 TESTINST3("orrs.w r1, r2, r3, lsl #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 10042 TESTINST3("orrs.w r1, r2, r3, lsl #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 10043 TESTINST3("orrs.w r1, r2, r3, lsr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 10044 TESTINST3("orrs.w r1, r2, r3, lsr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 10045 TESTINST3("orrs.w r1, r2, r3, lsr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 10046 TESTINST3("orrs.w r1, r2, r3, lsr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 10047 TESTINST3("orrs.w r1, r2, r3, asr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 10048 TESTINST3("orrs.w r1, r2, r3, asr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 10049 TESTINST3("orrs.w r1, r2, r3, asr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 10050 TESTINST3("orrs.w r1, r2, r3, asr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 10051 TESTINST3("orr.w r1, r2, r3, lsl #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 10052 TESTINST3("orr.w r1, r2, r3, lsl #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 10053 TESTINST3("orr.w r1, r2, r3, lsl #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 10054 TESTINST3("orr.w r1, r2, r3, lsl #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 10055 TESTINST3("orr.w r1, r2, r3, lsr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 10056 TESTINST3("orr.w r1, r2, r3, lsr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 10057 TESTINST3("orr.w r1, r2, r3, lsr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 10058 TESTINST3("orr.w r1, r2, r3, lsr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 10059 TESTINST3("orr.w r1, r2, r3, asr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 10060 TESTINST3("orr.w r1, r2, r3, asr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 10061 TESTINST3("orr.w r1, r2, r3, asr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 10062 TESTINST3("orr.w r1, r2, r3, asr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 10063 TESTINST3("orrs.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 10064 TESTINST3("orrs.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 10065 TESTINST3("orrs.w r1, r2, r3, lsl #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 10066 TESTINST3("orrs.w r1, r2, r3, lsl #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 10067 TESTINST3("orrs.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 10068 TESTINST3("orrs.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 10069 TESTINST3("orrs.w r1, r2, r3, lsr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 10070 TESTINST3("orrs.w r1, r2, r3, lsr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 10071 TESTINST3("orrs.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 10072 TESTINST3("orrs.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 10073 TESTINST3("orrs.w r1, r2, r3, asr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 10074 TESTINST3("orrs.w r1, r2, r3, asr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 10075 TESTINST3("orr.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 10076 TESTINST3("orr.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 10077 TESTINST3("orr.w r1, r2, r3, lsl #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 10078 TESTINST3("orr.w r1, r2, r3, lsl #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 10079 TESTINST3("orr.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 10080 TESTINST3("orr.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 10081 TESTINST3("orr.w r1, r2, r3, lsr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 10082 TESTINST3("orr.w r1, r2, r3, lsr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 10083 TESTINST3("orr.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 10084 TESTINST3("orr.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 10085 TESTINST3("orr.w r1, r2, r3, asr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 10086 TESTINST3("orr.w r1, r2, r3, asr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 10087 TESTCARRYEND 10088 10089 printf("EOR{S}.W Rd, Rn, Rm, {shift}\n"); 10090 TESTCARRY 10091 TESTINST3("eors.w r1, r2, r3, lsl #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 10092 TESTINST3("eors.w r1, r2, r3, lsl #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 10093 TESTINST3("eors.w r1, r2, r3, lsl #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 10094 TESTINST3("eors.w r1, r2, r3, lsl #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 10095 TESTINST3("eors.w r1, r2, r3, lsr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 10096 TESTINST3("eors.w r1, r2, r3, lsr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 10097 TESTINST3("eors.w r1, r2, r3, lsr #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 10098 TESTINST3("eors.w r1, r2, r3, lsr #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 10099 TESTINST3("eors.w r1, r2, r3, asr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 10100 TESTINST3("eors.w r1, r2, r3, asr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 10101 TESTINST3("eors.w r1, r2, r3, asr #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 10102 TESTINST3("eors.w r1, r2, r3, asr #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 10103 TESTINST3("eor.w r1, r2, r3, lsl #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 10104 TESTINST3("eor.w r1, r2, r3, lsl #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 10105 TESTINST3("eor.w r1, r2, r3, lsl #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 10106 TESTINST3("eor.w r1, r2, r3, lsl #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 10107 TESTINST3("eor.w r1, r2, r3, lsr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 10108 TESTINST3("eor.w r1, r2, r3, lsr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 10109 TESTINST3("eor.w r1, r2, r3, lsr #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 10110 TESTINST3("eor.w r1, r2, r3, lsr #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 10111 TESTINST3("eor.w r1, r2, r3, asr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 10112 TESTINST3("eor.w r1, r2, r3, asr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 10113 TESTINST3("eor.w r1, r2, r3, asr #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 10114 TESTINST3("eor.w r1, r2, r3, asr #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 10115 TESTINST3("eors.w r1, r2, r3, lsl #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 10116 TESTINST3("eors.w r1, r2, r3, lsl #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 10117 TESTINST3("eors.w r1, r2, r3, lsl #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 10118 TESTINST3("eors.w r1, r2, r3, lsl #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 10119 TESTINST3("eors.w r1, r2, r3, lsr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 10120 TESTINST3("eors.w r1, r2, r3, lsr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 10121 TESTINST3("eors.w r1, r2, r3, lsr #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 10122 TESTINST3("eors.w r1, r2, r3, lsr #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 10123 TESTINST3("eors.w r1, r2, r3, asr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 10124 TESTINST3("eors.w r1, r2, r3, asr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 10125 TESTINST3("eors.w r1, r2, r3, asr #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 10126 TESTINST3("eors.w r1, r2, r3, asr #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 10127 TESTINST3("eor.w r1, r2, r3, lsl #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 10128 TESTINST3("eor.w r1, r2, r3, lsl #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 10129 TESTINST3("eor.w r1, r2, r3, lsl #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 10130 TESTINST3("eor.w r1, r2, r3, lsl #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 10131 TESTINST3("eor.w r1, r2, r3, lsr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 10132 TESTINST3("eor.w r1, r2, r3, lsr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 10133 TESTINST3("eor.w r1, r2, r3, lsr #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 10134 TESTINST3("eor.w r1, r2, r3, lsr #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 10135 TESTINST3("eor.w r1, r2, r3, asr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 10136 TESTINST3("eor.w r1, r2, r3, asr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 10137 TESTINST3("eor.w r1, r2, r3, asr #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 10138 TESTINST3("eor.w r1, r2, r3, asr #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 10139 TESTINST3("eors.w r1, r2, r3, lsl #0 ", 0, 0, r1, r2, r3, cv); 10140 TESTINST3("eors.w r1, r2, r3, lsl #1 ", 0, 0, r1, r2, r3, cv); 10141 TESTINST3("eors.w r1, r2, r3, lsl #15", 0, 0, r1, r2, r3, cv); 10142 TESTINST3("eors.w r1, r2, r3, lsl #31", 0, 0, r1, r2, r3, cv); 10143 TESTINST3("eors.w r1, r2, r3, lsr #0 ", 0, 0, r1, r2, r3, cv); 10144 TESTINST3("eors.w r1, r2, r3, lsr #1 ", 0, 0, r1, r2, r3, cv); 10145 TESTINST3("eors.w r1, r2, r3, lsr #15", 0, 0, r1, r2, r3, cv); 10146 TESTINST3("eors.w r1, r2, r3, lsr #31", 0, 0, r1, r2, r3, cv); 10147 TESTINST3("eors.w r1, r2, r3, asr #0 ", 0, 0, r1, r2, r3, cv); 10148 TESTINST3("eors.w r1, r2, r3, asr #1 ", 0, 0, r1, r2, r3, cv); 10149 TESTINST3("eors.w r1, r2, r3, asr #15", 0, 0, r1, r2, r3, cv); 10150 TESTINST3("eors.w r1, r2, r3, asr #31", 0, 0, r1, r2, r3, cv); 10151 TESTINST3("eor.w r1, r2, r3, lsl #0 ", 0, 0, r1, r2, r3, cv); 10152 TESTINST3("eor.w r1, r2, r3, lsl #1 ", 0, 0, r1, r2, r3, cv); 10153 TESTINST3("eor.w r1, r2, r3, lsl #15", 0, 0, r1, r2, r3, cv); 10154 TESTINST3("eor.w r1, r2, r3, lsl #31", 0, 0, r1, r2, r3, cv); 10155 TESTINST3("eor.w r1, r2, r3, lsr #0 ", 0, 0, r1, r2, r3, cv); 10156 TESTINST3("eor.w r1, r2, r3, lsr #1 ", 0, 0, r1, r2, r3, cv); 10157 TESTINST3("eor.w r1, r2, r3, lsr #15", 0, 0, r1, r2, r3, cv); 10158 TESTINST3("eor.w r1, r2, r3, lsr #31", 0, 0, r1, r2, r3, cv); 10159 TESTINST3("eor.w r1, r2, r3, asr #0 ", 0, 0, r1, r2, r3, cv); 10160 TESTINST3("eor.w r1, r2, r3, asr #1 ", 0, 0, r1, r2, r3, cv); 10161 TESTINST3("eor.w r1, r2, r3, asr #15", 0, 0, r1, r2, r3, cv); 10162 TESTINST3("eor.w r1, r2, r3, asr #31", 0, 0, r1, r2, r3, cv); 10163 TESTINST3("eors.w r1, r2, r3, lsl #0 ", 1, 0, r1, r2, r3, cv); 10164 TESTINST3("eors.w r1, r2, r3, lsl #1 ", 1, 0, r1, r2, r3, cv); 10165 TESTINST3("eors.w r1, r2, r3, lsl #15", 1, 0, r1, r2, r3, cv); 10166 TESTINST3("eors.w r1, r2, r3, lsl #31", 1, 0, r1, r2, r3, cv); 10167 TESTINST3("eors.w r1, r2, r3, lsr #0 ", 1, 0, r1, r2, r3, cv); 10168 TESTINST3("eors.w r1, r2, r3, lsr #1 ", 1, 0, r1, r2, r3, cv); 10169 TESTINST3("eors.w r1, r2, r3, lsr #15", 1, 0, r1, r2, r3, cv); 10170 TESTINST3("eors.w r1, r2, r3, lsr #31", 1, 0, r1, r2, r3, cv); 10171 TESTINST3("eors.w r1, r2, r3, asr #0 ", 1, 0, r1, r2, r3, cv); 10172 TESTINST3("eors.w r1, r2, r3, asr #1 ", 1, 0, r1, r2, r3, cv); 10173 TESTINST3("eors.w r1, r2, r3, asr #15", 1, 0, r1, r2, r3, cv); 10174 TESTINST3("eors.w r1, r2, r3, asr #31", 1, 0, r1, r2, r3, cv); 10175 TESTINST3("eor.w r1, r2, r3, lsl #0 ", 1, 0, r1, r2, r3, cv); 10176 TESTINST3("eor.w r1, r2, r3, lsl #1 ", 1, 0, r1, r2, r3, cv); 10177 TESTINST3("eor.w r1, r2, r3, lsl #15", 1, 0, r1, r2, r3, cv); 10178 TESTINST3("eor.w r1, r2, r3, lsl #31", 1, 0, r1, r2, r3, cv); 10179 TESTINST3("eor.w r1, r2, r3, lsr #0 ", 1, 0, r1, r2, r3, cv); 10180 TESTINST3("eor.w r1, r2, r3, lsr #1 ", 1, 0, r1, r2, r3, cv); 10181 TESTINST3("eor.w r1, r2, r3, lsr #15", 1, 0, r1, r2, r3, cv); 10182 TESTINST3("eor.w r1, r2, r3, lsr #31", 1, 0, r1, r2, r3, cv); 10183 TESTINST3("eor.w r1, r2, r3, asr #0 ", 1, 0, r1, r2, r3, cv); 10184 TESTINST3("eor.w r1, r2, r3, asr #1 ", 1, 0, r1, r2, r3, cv); 10185 TESTINST3("eor.w r1, r2, r3, asr #15", 1, 0, r1, r2, r3, cv); 10186 TESTINST3("eor.w r1, r2, r3, asr #31", 1, 0, r1, r2, r3, cv); 10187 TESTINST3("eors.w r1, r2, r3, lsl #0 ", 0, 1, r1, r2, r3, cv); 10188 TESTINST3("eors.w r1, r2, r3, lsl #1 ", 0, 1, r1, r2, r3, cv); 10189 TESTINST3("eors.w r1, r2, r3, lsl #15", 0, 1, r1, r2, r3, cv); 10190 TESTINST3("eors.w r1, r2, r3, lsl #31", 0, 1, r1, r2, r3, cv); 10191 TESTINST3("eors.w r1, r2, r3, lsr #0 ", 0, 1, r1, r2, r3, cv); 10192 TESTINST3("eors.w r1, r2, r3, lsr #1 ", 0, 1, r1, r2, r3, cv); 10193 TESTINST3("eors.w r1, r2, r3, lsr #15", 0, 1, r1, r2, r3, cv); 10194 TESTINST3("eors.w r1, r2, r3, lsr #31", 0, 1, r1, r2, r3, cv); 10195 TESTINST3("eors.w r1, r2, r3, asr #0 ", 0, 1, r1, r2, r3, cv); 10196 TESTINST3("eors.w r1, r2, r3, asr #1 ", 0, 1, r1, r2, r3, cv); 10197 TESTINST3("eors.w r1, r2, r3, asr #15", 0, 1, r1, r2, r3, cv); 10198 TESTINST3("eors.w r1, r2, r3, asr #31", 0, 1, r1, r2, r3, cv); 10199 TESTINST3("eor.w r1, r2, r3, lsl #0 ", 0, 1, r1, r2, r3, cv); 10200 TESTINST3("eor.w r1, r2, r3, lsl #1 ", 0, 1, r1, r2, r3, cv); 10201 TESTINST3("eor.w r1, r2, r3, lsl #15", 0, 1, r1, r2, r3, cv); 10202 TESTINST3("eor.w r1, r2, r3, lsl #31", 0, 1, r1, r2, r3, cv); 10203 TESTINST3("eor.w r1, r2, r3, lsr #0 ", 0, 1, r1, r2, r3, cv); 10204 TESTINST3("eor.w r1, r2, r3, lsr #1 ", 0, 1, r1, r2, r3, cv); 10205 TESTINST3("eor.w r1, r2, r3, lsr #15", 0, 1, r1, r2, r3, cv); 10206 TESTINST3("eor.w r1, r2, r3, lsr #31", 0, 1, r1, r2, r3, cv); 10207 TESTINST3("eor.w r1, r2, r3, asr #0 ", 0, 1, r1, r2, r3, cv); 10208 TESTINST3("eor.w r1, r2, r3, asr #1 ", 0, 1, r1, r2, r3, cv); 10209 TESTINST3("eor.w r1, r2, r3, asr #15", 0, 1, r1, r2, r3, cv); 10210 TESTINST3("eor.w r1, r2, r3, asr #31", 0, 1, r1, r2, r3, cv); 10211 TESTINST3("eors.w r1, r2, r3, lsl #0 ", -1, 0, r1, r2, r3, cv); 10212 TESTINST3("eors.w r1, r2, r3, lsl #1 ", -1, 0, r1, r2, r3, cv); 10213 TESTINST3("eors.w r1, r2, r3, lsl #15", -1, 0, r1, r2, r3, cv); 10214 TESTINST3("eors.w r1, r2, r3, lsl #31", -1, 0, r1, r2, r3, cv); 10215 TESTINST3("eors.w r1, r2, r3, lsr #0 ", -1, 0, r1, r2, r3, cv); 10216 TESTINST3("eors.w r1, r2, r3, lsr #1 ", -1, 0, r1, r2, r3, cv); 10217 TESTINST3("eors.w r1, r2, r3, lsr #15", -1, 0, r1, r2, r3, cv); 10218 TESTINST3("eors.w r1, r2, r3, lsr #31", -1, 0, r1, r2, r3, cv); 10219 TESTINST3("eors.w r1, r2, r3, asr #0 ", -1, 0, r1, r2, r3, cv); 10220 TESTINST3("eors.w r1, r2, r3, asr #1 ", -1, 0, r1, r2, r3, cv); 10221 TESTINST3("eors.w r1, r2, r3, asr #15", -1, 0, r1, r2, r3, cv); 10222 TESTINST3("eors.w r1, r2, r3, asr #31", -1, 0, r1, r2, r3, cv); 10223 TESTINST3("eor.w r1, r2, r3, lsl #0 ", -1, 0, r1, r2, r3, cv); 10224 TESTINST3("eor.w r1, r2, r3, lsl #1 ", -1, 0, r1, r2, r3, cv); 10225 TESTINST3("eor.w r1, r2, r3, lsl #15", -1, 0, r1, r2, r3, cv); 10226 TESTINST3("eor.w r1, r2, r3, lsl #31", -1, 0, r1, r2, r3, cv); 10227 TESTINST3("eor.w r1, r2, r3, lsr #0 ", -1, 0, r1, r2, r3, cv); 10228 TESTINST3("eor.w r1, r2, r3, lsr #1 ", -1, 0, r1, r2, r3, cv); 10229 TESTINST3("eor.w r1, r2, r3, lsr #15", -1, 0, r1, r2, r3, cv); 10230 TESTINST3("eor.w r1, r2, r3, lsr #31", -1, 0, r1, r2, r3, cv); 10231 TESTINST3("eor.w r1, r2, r3, asr #0 ", -1, 0, r1, r2, r3, cv); 10232 TESTINST3("eor.w r1, r2, r3, asr #1 ", -1, 0, r1, r2, r3, cv); 10233 TESTINST3("eor.w r1, r2, r3, asr #15", -1, 0, r1, r2, r3, cv); 10234 TESTINST3("eor.w r1, r2, r3, asr #31", -1, 0, r1, r2, r3, cv); 10235 TESTINST3("eors.w r1, r2, r3, lsl #0 ", 0, -1, r1, r2, r3, cv); 10236 TESTINST3("eors.w r1, r2, r3, lsl #1 ", 0, -1, r1, r2, r3, cv); 10237 TESTINST3("eors.w r1, r2, r3, lsl #15", 0, -1, r1, r2, r3, cv); 10238 TESTINST3("eors.w r1, r2, r3, lsl #31", 0, -1, r1, r2, r3, cv); 10239 TESTINST3("eors.w r1, r2, r3, lsr #0 ", 0, -1, r1, r2, r3, cv); 10240 TESTINST3("eors.w r1, r2, r3, lsr #1 ", 0, -1, r1, r2, r3, cv); 10241 TESTINST3("eors.w r1, r2, r3, lsr #15", 0, -1, r1, r2, r3, cv); 10242 TESTINST3("eors.w r1, r2, r3, lsr #31", 0, -1, r1, r2, r3, cv); 10243 TESTINST3("eors.w r1, r2, r3, asr #0 ", 0, -1, r1, r2, r3, cv); 10244 TESTINST3("eors.w r1, r2, r3, asr #1 ", 0, -1, r1, r2, r3, cv); 10245 TESTINST3("eors.w r1, r2, r3, asr #15", 0, -1, r1, r2, r3, cv); 10246 TESTINST3("eors.w r1, r2, r3, asr #31", 0, -1, r1, r2, r3, cv); 10247 TESTINST3("eor.w r1, r2, r3, lsl #0 ", 0, -1, r1, r2, r3, cv); 10248 TESTINST3("eor.w r1, r2, r3, lsl #1 ", 0, -1, r1, r2, r3, cv); 10249 TESTINST3("eor.w r1, r2, r3, lsl #15", 0, -1, r1, r2, r3, cv); 10250 TESTINST3("eor.w r1, r2, r3, lsl #31", 0, -1, r1, r2, r3, cv); 10251 TESTINST3("eor.w r1, r2, r3, lsr #0 ", 0, -1, r1, r2, r3, cv); 10252 TESTINST3("eor.w r1, r2, r3, lsr #1 ", 0, -1, r1, r2, r3, cv); 10253 TESTINST3("eor.w r1, r2, r3, lsr #15", 0, -1, r1, r2, r3, cv); 10254 TESTINST3("eor.w r1, r2, r3, lsr #31", 0, -1, r1, r2, r3, cv); 10255 TESTINST3("eor.w r1, r2, r3, asr #0 ", 0, -1, r1, r2, r3, cv); 10256 TESTINST3("eor.w r1, r2, r3, asr #1 ", 0, -1, r1, r2, r3, cv); 10257 TESTINST3("eor.w r1, r2, r3, asr #15", 0, -1, r1, r2, r3, cv); 10258 TESTINST3("eor.w r1, r2, r3, asr #31", 0, -1, r1, r2, r3, cv); 10259 TESTINST3("eors.w r1, r2, r3, lsl #0 ", 0, 0x80000000, r1, r2, r3, cv); 10260 TESTINST3("eors.w r1, r2, r3, lsl #1 ", 0, 0x80000000, r1, r2, r3, cv); 10261 TESTINST3("eors.w r1, r2, r3, lsl #15", 0, 0x80000000, r1, r2, r3, cv); 10262 TESTINST3("eors.w r1, r2, r3, lsl #31", 0, 0x80000000, r1, r2, r3, cv); 10263 TESTINST3("eors.w r1, r2, r3, lsr #0 ", 0, 0x80000000, r1, r2, r3, cv); 10264 TESTINST3("eors.w r1, r2, r3, lsr #1 ", 0, 0x80000000, r1, r2, r3, cv); 10265 TESTINST3("eors.w r1, r2, r3, lsr #15", 0, 0x80000000, r1, r2, r3, cv); 10266 TESTINST3("eors.w r1, r2, r3, lsr #31", 0, 0x80000000, r1, r2, r3, cv); 10267 TESTINST3("eors.w r1, r2, r3, asr #0 ", 0, 0x80000000, r1, r2, r3, cv); 10268 TESTINST3("eors.w r1, r2, r3, asr #1 ", 0, 0x80000000, r1, r2, r3, cv); 10269 TESTINST3("eors.w r1, r2, r3, asr #15", 0, 0x80000000, r1, r2, r3, cv); 10270 TESTINST3("eors.w r1, r2, r3, asr #31", 0, 0x80000000, r1, r2, r3, cv); 10271 TESTINST3("eor.w r1, r2, r3, lsl #0 ", 0, 0x80000000, r1, r2, r3, cv); 10272 TESTINST3("eor.w r1, r2, r3, lsl #1 ", 0, 0x80000000, r1, r2, r3, cv); 10273 TESTINST3("eor.w r1, r2, r3, lsl #15", 0, 0x80000000, r1, r2, r3, cv); 10274 TESTINST3("eor.w r1, r2, r3, lsl #31", 0, 0x80000000, r1, r2, r3, cv); 10275 TESTINST3("eor.w r1, r2, r3, lsr #0 ", 0, 0x80000000, r1, r2, r3, cv); 10276 TESTINST3("eor.w r1, r2, r3, lsr #1 ", 0, 0x80000000, r1, r2, r3, cv); 10277 TESTINST3("eor.w r1, r2, r3, lsr #15", 0, 0x80000000, r1, r2, r3, cv); 10278 TESTINST3("eor.w r1, r2, r3, lsr #31", 0, 0x80000000, r1, r2, r3, cv); 10279 TESTINST3("eor.w r1, r2, r3, asr #0 ", 0, 0x80000000, r1, r2, r3, cv); 10280 TESTINST3("eor.w r1, r2, r3, asr #1 ", 0, 0x80000000, r1, r2, r3, cv); 10281 TESTINST3("eor.w r1, r2, r3, asr #15", 0, 0x80000000, r1, r2, r3, cv); 10282 TESTINST3("eor.w r1, r2, r3, asr #31", 0, 0x80000000, r1, r2, r3, cv); 10283 TESTINST3("eors.w r1, r2, r3, lsl #0 ", 0x80000000, 0, r1, r2, r3, cv); 10284 TESTINST3("eors.w r1, r2, r3, lsl #1 ", 0x80000000, 0, r1, r2, r3, cv); 10285 TESTINST3("eors.w r1, r2, r3, lsl #15", 0x80000000, 0, r1, r2, r3, cv); 10286 TESTINST3("eors.w r1, r2, r3, lsl #31", 0x80000000, 0, r1, r2, r3, cv); 10287 TESTINST3("eors.w r1, r2, r3, lsr #0 ", 0x80000000, 0, r1, r2, r3, cv); 10288 TESTINST3("eors.w r1, r2, r3, lsr #1 ", 0x80000000, 0, r1, r2, r3, cv); 10289 TESTINST3("eors.w r1, r2, r3, lsr #15", 0x80000000, 0, r1, r2, r3, cv); 10290 TESTINST3("eors.w r1, r2, r3, lsr #31", 0x80000000, 0, r1, r2, r3, cv); 10291 TESTINST3("eors.w r1, r2, r3, asr #0 ", 0x80000000, 0, r1, r2, r3, cv); 10292 TESTINST3("eors.w r1, r2, r3, asr #1 ", 0x80000000, 0, r1, r2, r3, cv); 10293 TESTINST3("eors.w r1, r2, r3, asr #15", 0x80000000, 0, r1, r2, r3, cv); 10294 TESTINST3("eors.w r1, r2, r3, asr #31", 0x80000000, 0, r1, r2, r3, cv); 10295 TESTINST3("eor.w r1, r2, r3, lsl #0 ", 0x80000000, 0, r1, r2, r3, cv); 10296 TESTINST3("eor.w r1, r2, r3, lsl #1 ", 0x80000000, 0, r1, r2, r3, cv); 10297 TESTINST3("eor.w r1, r2, r3, lsl #15", 0x80000000, 0, r1, r2, r3, cv); 10298 TESTINST3("eor.w r1, r2, r3, lsl #31", 0x80000000, 0, r1, r2, r3, cv); 10299 TESTINST3("eor.w r1, r2, r3, lsr #0 ", 0x80000000, 0, r1, r2, r3, cv); 10300 TESTINST3("eor.w r1, r2, r3, lsr #1 ", 0x80000000, 0, r1, r2, r3, cv); 10301 TESTINST3("eor.w r1, r2, r3, lsr #15", 0x80000000, 0, r1, r2, r3, cv); 10302 TESTINST3("eor.w r1, r2, r3, lsr #31", 0x80000000, 0, r1, r2, r3, cv); 10303 TESTINST3("eor.w r1, r2, r3, asr #0 ", 0x80000000, 0, r1, r2, r3, cv); 10304 TESTINST3("eor.w r1, r2, r3, asr #1 ", 0x80000000, 0, r1, r2, r3, cv); 10305 TESTINST3("eor.w r1, r2, r3, asr #15", 0x80000000, 0, r1, r2, r3, cv); 10306 TESTINST3("eor.w r1, r2, r3, asr #31", 0x80000000, 0, r1, r2, r3, cv); 10307 TESTINST3("eors.w r1, r2, r3, lsl #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 10308 TESTINST3("eors.w r1, r2, r3, lsl #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 10309 TESTINST3("eors.w r1, r2, r3, lsl #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 10310 TESTINST3("eors.w r1, r2, r3, lsl #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 10311 TESTINST3("eors.w r1, r2, r3, lsr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 10312 TESTINST3("eors.w r1, r2, r3, lsr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 10313 TESTINST3("eors.w r1, r2, r3, lsr #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 10314 TESTINST3("eors.w r1, r2, r3, lsr #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 10315 TESTINST3("eors.w r1, r2, r3, asr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 10316 TESTINST3("eors.w r1, r2, r3, asr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 10317 TESTINST3("eors.w r1, r2, r3, asr #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 10318 TESTINST3("eors.w r1, r2, r3, asr #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 10319 TESTINST3("eor.w r1, r2, r3, lsl #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 10320 TESTINST3("eor.w r1, r2, r3, lsl #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 10321 TESTINST3("eor.w r1, r2, r3, lsl #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 10322 TESTINST3("eor.w r1, r2, r3, lsl #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 10323 TESTINST3("eor.w r1, r2, r3, lsr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 10324 TESTINST3("eor.w r1, r2, r3, lsr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 10325 TESTINST3("eor.w r1, r2, r3, lsr #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 10326 TESTINST3("eor.w r1, r2, r3, lsr #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 10327 TESTINST3("eor.w r1, r2, r3, asr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 10328 TESTINST3("eor.w r1, r2, r3, asr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 10329 TESTINST3("eor.w r1, r2, r3, asr #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 10330 TESTINST3("eor.w r1, r2, r3, asr #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 10331 TESTINST3("eors.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 10332 TESTINST3("eors.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 10333 TESTINST3("eors.w r1, r2, r3, lsl #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 10334 TESTINST3("eors.w r1, r2, r3, lsl #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 10335 TESTINST3("eors.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 10336 TESTINST3("eors.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 10337 TESTINST3("eors.w r1, r2, r3, lsr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 10338 TESTINST3("eors.w r1, r2, r3, lsr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 10339 TESTINST3("eors.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 10340 TESTINST3("eors.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 10341 TESTINST3("eors.w r1, r2, r3, asr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 10342 TESTINST3("eors.w r1, r2, r3, asr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 10343 TESTINST3("eor.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 10344 TESTINST3("eor.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 10345 TESTINST3("eor.w r1, r2, r3, lsl #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 10346 TESTINST3("eor.w r1, r2, r3, lsl #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 10347 TESTINST3("eor.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 10348 TESTINST3("eor.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 10349 TESTINST3("eor.w r1, r2, r3, lsr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 10350 TESTINST3("eor.w r1, r2, r3, lsr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 10351 TESTINST3("eor.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 10352 TESTINST3("eor.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 10353 TESTINST3("eor.w r1, r2, r3, asr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 10354 TESTINST3("eor.w r1, r2, r3, asr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 10355 TESTINST3("eors.w r1, r2, r3, lsl #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 10356 TESTINST3("eors.w r1, r2, r3, lsl #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 10357 TESTINST3("eors.w r1, r2, r3, lsl #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 10358 TESTINST3("eors.w r1, r2, r3, lsl #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 10359 TESTINST3("eors.w r1, r2, r3, lsr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 10360 TESTINST3("eors.w r1, r2, r3, lsr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 10361 TESTINST3("eors.w r1, r2, r3, lsr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 10362 TESTINST3("eors.w r1, r2, r3, lsr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 10363 TESTINST3("eors.w r1, r2, r3, asr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 10364 TESTINST3("eors.w r1, r2, r3, asr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 10365 TESTINST3("eors.w r1, r2, r3, asr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 10366 TESTINST3("eors.w r1, r2, r3, asr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 10367 TESTINST3("eor.w r1, r2, r3, lsl #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 10368 TESTINST3("eor.w r1, r2, r3, lsl #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 10369 TESTINST3("eor.w r1, r2, r3, lsl #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 10370 TESTINST3("eor.w r1, r2, r3, lsl #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 10371 TESTINST3("eor.w r1, r2, r3, lsr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 10372 TESTINST3("eor.w r1, r2, r3, lsr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 10373 TESTINST3("eor.w r1, r2, r3, lsr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 10374 TESTINST3("eor.w r1, r2, r3, lsr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 10375 TESTINST3("eor.w r1, r2, r3, asr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 10376 TESTINST3("eor.w r1, r2, r3, asr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 10377 TESTINST3("eor.w r1, r2, r3, asr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 10378 TESTINST3("eor.w r1, r2, r3, asr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 10379 TESTINST3("eors.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 10380 TESTINST3("eors.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 10381 TESTINST3("eors.w r1, r2, r3, lsl #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 10382 TESTINST3("eors.w r1, r2, r3, lsl #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 10383 TESTINST3("eors.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 10384 TESTINST3("eors.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 10385 TESTINST3("eors.w r1, r2, r3, lsr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 10386 TESTINST3("eors.w r1, r2, r3, lsr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 10387 TESTINST3("eors.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 10388 TESTINST3("eors.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 10389 TESTINST3("eors.w r1, r2, r3, asr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 10390 TESTINST3("eors.w r1, r2, r3, asr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 10391 TESTINST3("eor.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 10392 TESTINST3("eor.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 10393 TESTINST3("eor.w r1, r2, r3, lsl #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 10394 TESTINST3("eor.w r1, r2, r3, lsl #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 10395 TESTINST3("eor.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 10396 TESTINST3("eor.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 10397 TESTINST3("eor.w r1, r2, r3, lsr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 10398 TESTINST3("eor.w r1, r2, r3, lsr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 10399 TESTINST3("eor.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 10400 TESTINST3("eor.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 10401 TESTINST3("eor.w r1, r2, r3, asr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 10402 TESTINST3("eor.w r1, r2, r3, asr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 10403 TESTCARRYEND 10404 10405 printf("BIC{S}.W Rd, Rn, Rm, {shift}\n"); 10406 TESTCARRY 10407 TESTINST3("bics.w r1, r2, r3, lsl #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 10408 TESTINST3("bics.w r1, r2, r3, lsl #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 10409 TESTINST3("bics.w r1, r2, r3, lsl #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 10410 TESTINST3("bics.w r1, r2, r3, lsl #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 10411 TESTINST3("bics.w r1, r2, r3, lsr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 10412 TESTINST3("bics.w r1, r2, r3, lsr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 10413 TESTINST3("bics.w r1, r2, r3, lsr #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 10414 TESTINST3("bics.w r1, r2, r3, lsr #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 10415 TESTINST3("bics.w r1, r2, r3, asr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 10416 TESTINST3("bics.w r1, r2, r3, asr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 10417 TESTINST3("bics.w r1, r2, r3, asr #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 10418 TESTINST3("bics.w r1, r2, r3, asr #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 10419 TESTINST3("bic.w r1, r2, r3, lsl #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 10420 TESTINST3("bic.w r1, r2, r3, lsl #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 10421 TESTINST3("bic.w r1, r2, r3, lsl #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 10422 TESTINST3("bic.w r1, r2, r3, lsl #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 10423 TESTINST3("bic.w r1, r2, r3, lsr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 10424 TESTINST3("bic.w r1, r2, r3, lsr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 10425 TESTINST3("bic.w r1, r2, r3, lsr #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 10426 TESTINST3("bic.w r1, r2, r3, lsr #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 10427 TESTINST3("bic.w r1, r2, r3, asr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 10428 TESTINST3("bic.w r1, r2, r3, asr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv); 10429 TESTINST3("bic.w r1, r2, r3, asr #15", 0x31415927, 0x27181728, r1, r2, r3, cv); 10430 TESTINST3("bic.w r1, r2, r3, asr #31", 0x31415927, 0x27181728, r1, r2, r3, cv); 10431 TESTINST3("bics.w r1, r2, r3, lsl #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 10432 TESTINST3("bics.w r1, r2, r3, lsl #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 10433 TESTINST3("bics.w r1, r2, r3, lsl #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 10434 TESTINST3("bics.w r1, r2, r3, lsl #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 10435 TESTINST3("bics.w r1, r2, r3, lsr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 10436 TESTINST3("bics.w r1, r2, r3, lsr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 10437 TESTINST3("bics.w r1, r2, r3, lsr #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 10438 TESTINST3("bics.w r1, r2, r3, lsr #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 10439 TESTINST3("bics.w r1, r2, r3, asr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 10440 TESTINST3("bics.w r1, r2, r3, asr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 10441 TESTINST3("bics.w r1, r2, r3, asr #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 10442 TESTINST3("bics.w r1, r2, r3, asr #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 10443 TESTINST3("bic.w r1, r2, r3, lsl #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 10444 TESTINST3("bic.w r1, r2, r3, lsl #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 10445 TESTINST3("bic.w r1, r2, r3, lsl #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 10446 TESTINST3("bic.w r1, r2, r3, lsl #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 10447 TESTINST3("bic.w r1, r2, r3, lsr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 10448 TESTINST3("bic.w r1, r2, r3, lsr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 10449 TESTINST3("bic.w r1, r2, r3, lsr #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 10450 TESTINST3("bic.w r1, r2, r3, lsr #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 10451 TESTINST3("bic.w r1, r2, r3, asr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 10452 TESTINST3("bic.w r1, r2, r3, asr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv); 10453 TESTINST3("bic.w r1, r2, r3, asr #15", 0x31415927, 0x97181728, r1, r2, r3, cv); 10454 TESTINST3("bic.w r1, r2, r3, asr #31", 0x31415927, 0x97181728, r1, r2, r3, cv); 10455 TESTINST3("bics.w r1, r2, r3, lsl #0 ", 0, 0, r1, r2, r3, cv); 10456 TESTINST3("bics.w r1, r2, r3, lsl #1 ", 0, 0, r1, r2, r3, cv); 10457 TESTINST3("bics.w r1, r2, r3, lsl #15", 0, 0, r1, r2, r3, cv); 10458 TESTINST3("bics.w r1, r2, r3, lsl #31", 0, 0, r1, r2, r3, cv); 10459 TESTINST3("bics.w r1, r2, r3, lsr #0 ", 0, 0, r1, r2, r3, cv); 10460 TESTINST3("bics.w r1, r2, r3, lsr #1 ", 0, 0, r1, r2, r3, cv); 10461 TESTINST3("bics.w r1, r2, r3, lsr #15", 0, 0, r1, r2, r3, cv); 10462 TESTINST3("bics.w r1, r2, r3, lsr #31", 0, 0, r1, r2, r3, cv); 10463 TESTINST3("bics.w r1, r2, r3, asr #0 ", 0, 0, r1, r2, r3, cv); 10464 TESTINST3("bics.w r1, r2, r3, asr #1 ", 0, 0, r1, r2, r3, cv); 10465 TESTINST3("bics.w r1, r2, r3, asr #15", 0, 0, r1, r2, r3, cv); 10466 TESTINST3("bics.w r1, r2, r3, asr #31", 0, 0, r1, r2, r3, cv); 10467 TESTINST3("bic.w r1, r2, r3, lsl #0 ", 0, 0, r1, r2, r3, cv); 10468 TESTINST3("bic.w r1, r2, r3, lsl #1 ", 0, 0, r1, r2, r3, cv); 10469 TESTINST3("bic.w r1, r2, r3, lsl #15", 0, 0, r1, r2, r3, cv); 10470 TESTINST3("bic.w r1, r2, r3, lsl #31", 0, 0, r1, r2, r3, cv); 10471 TESTINST3("bic.w r1, r2, r3, lsr #0 ", 0, 0, r1, r2, r3, cv); 10472 TESTINST3("bic.w r1, r2, r3, lsr #1 ", 0, 0, r1, r2, r3, cv); 10473 TESTINST3("bic.w r1, r2, r3, lsr #15", 0, 0, r1, r2, r3, cv); 10474 TESTINST3("bic.w r1, r2, r3, lsr #31", 0, 0, r1, r2, r3, cv); 10475 TESTINST3("bic.w r1, r2, r3, asr #0 ", 0, 0, r1, r2, r3, cv); 10476 TESTINST3("bic.w r1, r2, r3, asr #1 ", 0, 0, r1, r2, r3, cv); 10477 TESTINST3("bic.w r1, r2, r3, asr #15", 0, 0, r1, r2, r3, cv); 10478 TESTINST3("bic.w r1, r2, r3, asr #31", 0, 0, r1, r2, r3, cv); 10479 TESTINST3("bics.w r1, r2, r3, lsl #0 ", 1, 0, r1, r2, r3, cv); 10480 TESTINST3("bics.w r1, r2, r3, lsl #1 ", 1, 0, r1, r2, r3, cv); 10481 TESTINST3("bics.w r1, r2, r3, lsl #15", 1, 0, r1, r2, r3, cv); 10482 TESTINST3("bics.w r1, r2, r3, lsl #31", 1, 0, r1, r2, r3, cv); 10483 TESTINST3("bics.w r1, r2, r3, lsr #0 ", 1, 0, r1, r2, r3, cv); 10484 TESTINST3("bics.w r1, r2, r3, lsr #1 ", 1, 0, r1, r2, r3, cv); 10485 TESTINST3("bics.w r1, r2, r3, lsr #15", 1, 0, r1, r2, r3, cv); 10486 TESTINST3("bics.w r1, r2, r3, lsr #31", 1, 0, r1, r2, r3, cv); 10487 TESTINST3("bics.w r1, r2, r3, asr #0 ", 1, 0, r1, r2, r3, cv); 10488 TESTINST3("bics.w r1, r2, r3, asr #1 ", 1, 0, r1, r2, r3, cv); 10489 TESTINST3("bics.w r1, r2, r3, asr #15", 1, 0, r1, r2, r3, cv); 10490 TESTINST3("bics.w r1, r2, r3, asr #31", 1, 0, r1, r2, r3, cv); 10491 TESTINST3("bic.w r1, r2, r3, lsl #0 ", 1, 0, r1, r2, r3, cv); 10492 TESTINST3("bic.w r1, r2, r3, lsl #1 ", 1, 0, r1, r2, r3, cv); 10493 TESTINST3("bic.w r1, r2, r3, lsl #15", 1, 0, r1, r2, r3, cv); 10494 TESTINST3("bic.w r1, r2, r3, lsl #31", 1, 0, r1, r2, r3, cv); 10495 TESTINST3("bic.w r1, r2, r3, lsr #0 ", 1, 0, r1, r2, r3, cv); 10496 TESTINST3("bic.w r1, r2, r3, lsr #1 ", 1, 0, r1, r2, r3, cv); 10497 TESTINST3("bic.w r1, r2, r3, lsr #15", 1, 0, r1, r2, r3, cv); 10498 TESTINST3("bic.w r1, r2, r3, lsr #31", 1, 0, r1, r2, r3, cv); 10499 TESTINST3("bic.w r1, r2, r3, asr #0 ", 1, 0, r1, r2, r3, cv); 10500 TESTINST3("bic.w r1, r2, r3, asr #1 ", 1, 0, r1, r2, r3, cv); 10501 TESTINST3("bic.w r1, r2, r3, asr #15", 1, 0, r1, r2, r3, cv); 10502 TESTINST3("bic.w r1, r2, r3, asr #31", 1, 0, r1, r2, r3, cv); 10503 TESTINST3("bics.w r1, r2, r3, lsl #0 ", 0, 1, r1, r2, r3, cv); 10504 TESTINST3("bics.w r1, r2, r3, lsl #1 ", 0, 1, r1, r2, r3, cv); 10505 TESTINST3("bics.w r1, r2, r3, lsl #15", 0, 1, r1, r2, r3, cv); 10506 TESTINST3("bics.w r1, r2, r3, lsl #31", 0, 1, r1, r2, r3, cv); 10507 TESTINST3("bics.w r1, r2, r3, lsr #0 ", 0, 1, r1, r2, r3, cv); 10508 TESTINST3("bics.w r1, r2, r3, lsr #1 ", 0, 1, r1, r2, r3, cv); 10509 TESTINST3("bics.w r1, r2, r3, lsr #15", 0, 1, r1, r2, r3, cv); 10510 TESTINST3("bics.w r1, r2, r3, lsr #31", 0, 1, r1, r2, r3, cv); 10511 TESTINST3("bics.w r1, r2, r3, asr #0 ", 0, 1, r1, r2, r3, cv); 10512 TESTINST3("bics.w r1, r2, r3, asr #1 ", 0, 1, r1, r2, r3, cv); 10513 TESTINST3("bics.w r1, r2, r3, asr #15", 0, 1, r1, r2, r3, cv); 10514 TESTINST3("bics.w r1, r2, r3, asr #31", 0, 1, r1, r2, r3, cv); 10515 TESTINST3("bic.w r1, r2, r3, lsl #0 ", 0, 1, r1, r2, r3, cv); 10516 TESTINST3("bic.w r1, r2, r3, lsl #1 ", 0, 1, r1, r2, r3, cv); 10517 TESTINST3("bic.w r1, r2, r3, lsl #15", 0, 1, r1, r2, r3, cv); 10518 TESTINST3("bic.w r1, r2, r3, lsl #31", 0, 1, r1, r2, r3, cv); 10519 TESTINST3("bic.w r1, r2, r3, lsr #0 ", 0, 1, r1, r2, r3, cv); 10520 TESTINST3("bic.w r1, r2, r3, lsr #1 ", 0, 1, r1, r2, r3, cv); 10521 TESTINST3("bic.w r1, r2, r3, lsr #15", 0, 1, r1, r2, r3, cv); 10522 TESTINST3("bic.w r1, r2, r3, lsr #31", 0, 1, r1, r2, r3, cv); 10523 TESTINST3("bic.w r1, r2, r3, asr #0 ", 0, 1, r1, r2, r3, cv); 10524 TESTINST3("bic.w r1, r2, r3, asr #1 ", 0, 1, r1, r2, r3, cv); 10525 TESTINST3("bic.w r1, r2, r3, asr #15", 0, 1, r1, r2, r3, cv); 10526 TESTINST3("bic.w r1, r2, r3, asr #31", 0, 1, r1, r2, r3, cv); 10527 TESTINST3("bics.w r1, r2, r3, lsl #0 ", -1, 0, r1, r2, r3, cv); 10528 TESTINST3("bics.w r1, r2, r3, lsl #1 ", -1, 0, r1, r2, r3, cv); 10529 TESTINST3("bics.w r1, r2, r3, lsl #15", -1, 0, r1, r2, r3, cv); 10530 TESTINST3("bics.w r1, r2, r3, lsl #31", -1, 0, r1, r2, r3, cv); 10531 TESTINST3("bics.w r1, r2, r3, lsr #0 ", -1, 0, r1, r2, r3, cv); 10532 TESTINST3("bics.w r1, r2, r3, lsr #1 ", -1, 0, r1, r2, r3, cv); 10533 TESTINST3("bics.w r1, r2, r3, lsr #15", -1, 0, r1, r2, r3, cv); 10534 TESTINST3("bics.w r1, r2, r3, lsr #31", -1, 0, r1, r2, r3, cv); 10535 TESTINST3("bics.w r1, r2, r3, asr #0 ", -1, 0, r1, r2, r3, cv); 10536 TESTINST3("bics.w r1, r2, r3, asr #1 ", -1, 0, r1, r2, r3, cv); 10537 TESTINST3("bics.w r1, r2, r3, asr #15", -1, 0, r1, r2, r3, cv); 10538 TESTINST3("bics.w r1, r2, r3, asr #31", -1, 0, r1, r2, r3, cv); 10539 TESTINST3("bic.w r1, r2, r3, lsl #0 ", -1, 0, r1, r2, r3, cv); 10540 TESTINST3("bic.w r1, r2, r3, lsl #1 ", -1, 0, r1, r2, r3, cv); 10541 TESTINST3("bic.w r1, r2, r3, lsl #15", -1, 0, r1, r2, r3, cv); 10542 TESTINST3("bic.w r1, r2, r3, lsl #31", -1, 0, r1, r2, r3, cv); 10543 TESTINST3("bic.w r1, r2, r3, lsr #0 ", -1, 0, r1, r2, r3, cv); 10544 TESTINST3("bic.w r1, r2, r3, lsr #1 ", -1, 0, r1, r2, r3, cv); 10545 TESTINST3("bic.w r1, r2, r3, lsr #15", -1, 0, r1, r2, r3, cv); 10546 TESTINST3("bic.w r1, r2, r3, lsr #31", -1, 0, r1, r2, r3, cv); 10547 TESTINST3("bic.w r1, r2, r3, asr #0 ", -1, 0, r1, r2, r3, cv); 10548 TESTINST3("bic.w r1, r2, r3, asr #1 ", -1, 0, r1, r2, r3, cv); 10549 TESTINST3("bic.w r1, r2, r3, asr #15", -1, 0, r1, r2, r3, cv); 10550 TESTINST3("bic.w r1, r2, r3, asr #31", -1, 0, r1, r2, r3, cv); 10551 TESTINST3("bics.w r1, r2, r3, lsl #0 ", 0, -1, r1, r2, r3, cv); 10552 TESTINST3("bics.w r1, r2, r3, lsl #1 ", 0, -1, r1, r2, r3, cv); 10553 TESTINST3("bics.w r1, r2, r3, lsl #15", 0, -1, r1, r2, r3, cv); 10554 TESTINST3("bics.w r1, r2, r3, lsl #31", 0, -1, r1, r2, r3, cv); 10555 TESTINST3("bics.w r1, r2, r3, lsr #0 ", 0, -1, r1, r2, r3, cv); 10556 TESTINST3("bics.w r1, r2, r3, lsr #1 ", 0, -1, r1, r2, r3, cv); 10557 TESTINST3("bics.w r1, r2, r3, lsr #15", 0, -1, r1, r2, r3, cv); 10558 TESTINST3("bics.w r1, r2, r3, lsr #31", 0, -1, r1, r2, r3, cv); 10559 TESTINST3("bics.w r1, r2, r3, asr #0 ", 0, -1, r1, r2, r3, cv); 10560 TESTINST3("bics.w r1, r2, r3, asr #1 ", 0, -1, r1, r2, r3, cv); 10561 TESTINST3("bics.w r1, r2, r3, asr #15", 0, -1, r1, r2, r3, cv); 10562 TESTINST3("bics.w r1, r2, r3, asr #31", 0, -1, r1, r2, r3, cv); 10563 TESTINST3("bic.w r1, r2, r3, lsl #0 ", 0, -1, r1, r2, r3, cv); 10564 TESTINST3("bic.w r1, r2, r3, lsl #1 ", 0, -1, r1, r2, r3, cv); 10565 TESTINST3("bic.w r1, r2, r3, lsl #15", 0, -1, r1, r2, r3, cv); 10566 TESTINST3("bic.w r1, r2, r3, lsl #31", 0, -1, r1, r2, r3, cv); 10567 TESTINST3("bic.w r1, r2, r3, lsr #0 ", 0, -1, r1, r2, r3, cv); 10568 TESTINST3("bic.w r1, r2, r3, lsr #1 ", 0, -1, r1, r2, r3, cv); 10569 TESTINST3("bic.w r1, r2, r3, lsr #15", 0, -1, r1, r2, r3, cv); 10570 TESTINST3("bic.w r1, r2, r3, lsr #31", 0, -1, r1, r2, r3, cv); 10571 TESTINST3("bic.w r1, r2, r3, asr #0 ", 0, -1, r1, r2, r3, cv); 10572 TESTINST3("bic.w r1, r2, r3, asr #1 ", 0, -1, r1, r2, r3, cv); 10573 TESTINST3("bic.w r1, r2, r3, asr #15", 0, -1, r1, r2, r3, cv); 10574 TESTINST3("bic.w r1, r2, r3, asr #31", 0, -1, r1, r2, r3, cv); 10575 TESTINST3("bics.w r1, r2, r3, lsl #0 ", 0, 0x80000000, r1, r2, r3, cv); 10576 TESTINST3("bics.w r1, r2, r3, lsl #1 ", 0, 0x80000000, r1, r2, r3, cv); 10577 TESTINST3("bics.w r1, r2, r3, lsl #15", 0, 0x80000000, r1, r2, r3, cv); 10578 TESTINST3("bics.w r1, r2, r3, lsl #31", 0, 0x80000000, r1, r2, r3, cv); 10579 TESTINST3("bics.w r1, r2, r3, lsr #0 ", 0, 0x80000000, r1, r2, r3, cv); 10580 TESTINST3("bics.w r1, r2, r3, lsr #1 ", 0, 0x80000000, r1, r2, r3, cv); 10581 TESTINST3("bics.w r1, r2, r3, lsr #15", 0, 0x80000000, r1, r2, r3, cv); 10582 TESTINST3("bics.w r1, r2, r3, lsr #31", 0, 0x80000000, r1, r2, r3, cv); 10583 TESTINST3("bics.w r1, r2, r3, asr #0 ", 0, 0x80000000, r1, r2, r3, cv); 10584 TESTINST3("bics.w r1, r2, r3, asr #1 ", 0, 0x80000000, r1, r2, r3, cv); 10585 TESTINST3("bics.w r1, r2, r3, asr #15", 0, 0x80000000, r1, r2, r3, cv); 10586 TESTINST3("bics.w r1, r2, r3, asr #31", 0, 0x80000000, r1, r2, r3, cv); 10587 TESTINST3("bic.w r1, r2, r3, lsl #0 ", 0, 0x80000000, r1, r2, r3, cv); 10588 TESTINST3("bic.w r1, r2, r3, lsl #1 ", 0, 0x80000000, r1, r2, r3, cv); 10589 TESTINST3("bic.w r1, r2, r3, lsl #15", 0, 0x80000000, r1, r2, r3, cv); 10590 TESTINST3("bic.w r1, r2, r3, lsl #31", 0, 0x80000000, r1, r2, r3, cv); 10591 TESTINST3("bic.w r1, r2, r3, lsr #0 ", 0, 0x80000000, r1, r2, r3, cv); 10592 TESTINST3("bic.w r1, r2, r3, lsr #1 ", 0, 0x80000000, r1, r2, r3, cv); 10593 TESTINST3("bic.w r1, r2, r3, lsr #15", 0, 0x80000000, r1, r2, r3, cv); 10594 TESTINST3("bic.w r1, r2, r3, lsr #31", 0, 0x80000000, r1, r2, r3, cv); 10595 TESTINST3("bic.w r1, r2, r3, asr #0 ", 0, 0x80000000, r1, r2, r3, cv); 10596 TESTINST3("bic.w r1, r2, r3, asr #1 ", 0, 0x80000000, r1, r2, r3, cv); 10597 TESTINST3("bic.w r1, r2, r3, asr #15", 0, 0x80000000, r1, r2, r3, cv); 10598 TESTINST3("bic.w r1, r2, r3, asr #31", 0, 0x80000000, r1, r2, r3, cv); 10599 TESTINST3("bics.w r1, r2, r3, lsl #0 ", 0x80000000, 0, r1, r2, r3, cv); 10600 TESTINST3("bics.w r1, r2, r3, lsl #1 ", 0x80000000, 0, r1, r2, r3, cv); 10601 TESTINST3("bics.w r1, r2, r3, lsl #15", 0x80000000, 0, r1, r2, r3, cv); 10602 TESTINST3("bics.w r1, r2, r3, lsl #31", 0x80000000, 0, r1, r2, r3, cv); 10603 TESTINST3("bics.w r1, r2, r3, lsr #0 ", 0x80000000, 0, r1, r2, r3, cv); 10604 TESTINST3("bics.w r1, r2, r3, lsr #1 ", 0x80000000, 0, r1, r2, r3, cv); 10605 TESTINST3("bics.w r1, r2, r3, lsr #15", 0x80000000, 0, r1, r2, r3, cv); 10606 TESTINST3("bics.w r1, r2, r3, lsr #31", 0x80000000, 0, r1, r2, r3, cv); 10607 TESTINST3("bics.w r1, r2, r3, asr #0 ", 0x80000000, 0, r1, r2, r3, cv); 10608 TESTINST3("bics.w r1, r2, r3, asr #1 ", 0x80000000, 0, r1, r2, r3, cv); 10609 TESTINST3("bics.w r1, r2, r3, asr #15", 0x80000000, 0, r1, r2, r3, cv); 10610 TESTINST3("bics.w r1, r2, r3, asr #31", 0x80000000, 0, r1, r2, r3, cv); 10611 TESTINST3("bic.w r1, r2, r3, lsl #0 ", 0x80000000, 0, r1, r2, r3, cv); 10612 TESTINST3("bic.w r1, r2, r3, lsl #1 ", 0x80000000, 0, r1, r2, r3, cv); 10613 TESTINST3("bic.w r1, r2, r3, lsl #15", 0x80000000, 0, r1, r2, r3, cv); 10614 TESTINST3("bic.w r1, r2, r3, lsl #31", 0x80000000, 0, r1, r2, r3, cv); 10615 TESTINST3("bic.w r1, r2, r3, lsr #0 ", 0x80000000, 0, r1, r2, r3, cv); 10616 TESTINST3("bic.w r1, r2, r3, lsr #1 ", 0x80000000, 0, r1, r2, r3, cv); 10617 TESTINST3("bic.w r1, r2, r3, lsr #15", 0x80000000, 0, r1, r2, r3, cv); 10618 TESTINST3("bic.w r1, r2, r3, lsr #31", 0x80000000, 0, r1, r2, r3, cv); 10619 TESTINST3("bic.w r1, r2, r3, asr #0 ", 0x80000000, 0, r1, r2, r3, cv); 10620 TESTINST3("bic.w r1, r2, r3, asr #1 ", 0x80000000, 0, r1, r2, r3, cv); 10621 TESTINST3("bic.w r1, r2, r3, asr #15", 0x80000000, 0, r1, r2, r3, cv); 10622 TESTINST3("bic.w r1, r2, r3, asr #31", 0x80000000, 0, r1, r2, r3, cv); 10623 TESTINST3("bics.w r1, r2, r3, lsl #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 10624 TESTINST3("bics.w r1, r2, r3, lsl #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 10625 TESTINST3("bics.w r1, r2, r3, lsl #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 10626 TESTINST3("bics.w r1, r2, r3, lsl #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 10627 TESTINST3("bics.w r1, r2, r3, lsr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 10628 TESTINST3("bics.w r1, r2, r3, lsr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 10629 TESTINST3("bics.w r1, r2, r3, lsr #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 10630 TESTINST3("bics.w r1, r2, r3, lsr #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 10631 TESTINST3("bics.w r1, r2, r3, asr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 10632 TESTINST3("bics.w r1, r2, r3, asr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 10633 TESTINST3("bics.w r1, r2, r3, asr #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 10634 TESTINST3("bics.w r1, r2, r3, asr #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 10635 TESTINST3("bic.w r1, r2, r3, lsl #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 10636 TESTINST3("bic.w r1, r2, r3, lsl #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 10637 TESTINST3("bic.w r1, r2, r3, lsl #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 10638 TESTINST3("bic.w r1, r2, r3, lsl #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 10639 TESTINST3("bic.w r1, r2, r3, lsr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 10640 TESTINST3("bic.w r1, r2, r3, lsr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 10641 TESTINST3("bic.w r1, r2, r3, lsr #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 10642 TESTINST3("bic.w r1, r2, r3, lsr #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 10643 TESTINST3("bic.w r1, r2, r3, asr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 10644 TESTINST3("bic.w r1, r2, r3, asr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv); 10645 TESTINST3("bic.w r1, r2, r3, asr #15", 0x80000000, 0x80000000, r1, r2, r3, cv); 10646 TESTINST3("bic.w r1, r2, r3, asr #31", 0x80000000, 0x80000000, r1, r2, r3, cv); 10647 TESTINST3("bics.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 10648 TESTINST3("bics.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 10649 TESTINST3("bics.w r1, r2, r3, lsl #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 10650 TESTINST3("bics.w r1, r2, r3, lsl #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 10651 TESTINST3("bics.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 10652 TESTINST3("bics.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 10653 TESTINST3("bics.w r1, r2, r3, lsr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 10654 TESTINST3("bics.w r1, r2, r3, lsr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 10655 TESTINST3("bics.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 10656 TESTINST3("bics.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 10657 TESTINST3("bics.w r1, r2, r3, asr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 10658 TESTINST3("bics.w r1, r2, r3, asr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 10659 TESTINST3("bic.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 10660 TESTINST3("bic.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 10661 TESTINST3("bic.w r1, r2, r3, lsl #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 10662 TESTINST3("bic.w r1, r2, r3, lsl #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 10663 TESTINST3("bic.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 10664 TESTINST3("bic.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 10665 TESTINST3("bic.w r1, r2, r3, lsr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 10666 TESTINST3("bic.w r1, r2, r3, lsr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 10667 TESTINST3("bic.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 10668 TESTINST3("bic.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 10669 TESTINST3("bic.w r1, r2, r3, asr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 10670 TESTINST3("bic.w r1, r2, r3, asr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv); 10671 TESTINST3("bics.w r1, r2, r3, lsl #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 10672 TESTINST3("bics.w r1, r2, r3, lsl #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 10673 TESTINST3("bics.w r1, r2, r3, lsl #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 10674 TESTINST3("bics.w r1, r2, r3, lsl #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 10675 TESTINST3("bics.w r1, r2, r3, lsr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 10676 TESTINST3("bics.w r1, r2, r3, lsr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 10677 TESTINST3("bics.w r1, r2, r3, lsr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 10678 TESTINST3("bics.w r1, r2, r3, lsr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 10679 TESTINST3("bics.w r1, r2, r3, asr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 10680 TESTINST3("bics.w r1, r2, r3, asr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 10681 TESTINST3("bics.w r1, r2, r3, asr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 10682 TESTINST3("bics.w r1, r2, r3, asr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 10683 TESTINST3("bic.w r1, r2, r3, lsl #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 10684 TESTINST3("bic.w r1, r2, r3, lsl #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 10685 TESTINST3("bic.w r1, r2, r3, lsl #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 10686 TESTINST3("bic.w r1, r2, r3, lsl #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 10687 TESTINST3("bic.w r1, r2, r3, lsr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 10688 TESTINST3("bic.w r1, r2, r3, lsr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 10689 TESTINST3("bic.w r1, r2, r3, lsr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 10690 TESTINST3("bic.w r1, r2, r3, lsr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 10691 TESTINST3("bic.w r1, r2, r3, asr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 10692 TESTINST3("bic.w r1, r2, r3, asr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 10693 TESTINST3("bic.w r1, r2, r3, asr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 10694 TESTINST3("bic.w r1, r2, r3, asr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv); 10695 TESTINST3("bics.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 10696 TESTINST3("bics.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 10697 TESTINST3("bics.w r1, r2, r3, lsl #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 10698 TESTINST3("bics.w r1, r2, r3, lsl #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 10699 TESTINST3("bics.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 10700 TESTINST3("bics.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 10701 TESTINST3("bics.w r1, r2, r3, lsr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 10702 TESTINST3("bics.w r1, r2, r3, lsr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 10703 TESTINST3("bics.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 10704 TESTINST3("bics.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 10705 TESTINST3("bics.w r1, r2, r3, asr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 10706 TESTINST3("bics.w r1, r2, r3, asr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 10707 TESTINST3("bic.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 10708 TESTINST3("bic.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 10709 TESTINST3("bic.w r1, r2, r3, lsl #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 10710 TESTINST3("bic.w r1, r2, r3, lsl #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 10711 TESTINST3("bic.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 10712 TESTINST3("bic.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 10713 TESTINST3("bic.w r1, r2, r3, lsr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 10714 TESTINST3("bic.w r1, r2, r3, lsr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 10715 TESTINST3("bic.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 10716 TESTINST3("bic.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 10717 TESTINST3("bic.w r1, r2, r3, asr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 10718 TESTINST3("bic.w r1, r2, r3, asr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv); 10719 TESTCARRYEND 10720 10721 printf("(T?) LSL{S}.W Rd, Rn, Rm\n"); 10722 TESTCARRY 10723 TESTINST3("lsls.w r1, r2, r3", 0x31415927, 0x00000000, r1, r2, r3, cv); 10724 TESTINST3("lsls.w r1, r2, r3", 0x31415927, 0x00000001, r1, r2, r3, cv); 10725 TESTINST3("lsls.w r1, r2, r3", 0x31415927, 0x00000002, r1, r2, r3, cv); 10726 TESTINST3("lsls.w r1, r2, r3", 0x31415927, 0x0000000F, r1, r2, r3, cv); 10727 TESTINST3("lsls.w r1, r2, r3", 0x31415927, 0x00000010, r1, r2, r3, cv); 10728 TESTINST3("lsls.w r1, r2, r3", 0x31415927, 0x0000001F, r1, r2, r3, cv); 10729 TESTINST3("lsls.w r1, r2, r3", 0x31415927, 0x00000020, r1, r2, r3, cv); 10730 TESTINST3("lsls.w r1, r2, r3", 0x31415927, 0x00000021, r1, r2, r3, cv); 10731 TESTINST3("lsl.w r1, r2, r3", 0x31415927, 0x00000000, r1, r2, r3, cv); 10732 TESTINST3("lsl.w r1, r2, r3", 0x31415927, 0x00000001, r1, r2, r3, cv); 10733 TESTINST3("lsl.w r1, r2, r3", 0x31415927, 0x00000002, r1, r2, r3, cv); 10734 TESTINST3("lsl.w r1, r2, r3", 0x31415927, 0x0000000F, r1, r2, r3, cv); 10735 TESTINST3("lsl.w r1, r2, r3", 0x31415927, 0x00000010, r1, r2, r3, cv); 10736 TESTINST3("lsl.w r1, r2, r3", 0x31415927, 0x0000001F, r1, r2, r3, cv); 10737 TESTINST3("lsl.w r1, r2, r3", 0x31415927, 0x00000020, r1, r2, r3, cv); 10738 TESTINST3("lsl.w r1, r2, r3", 0x31415927, 0x00000021, r1, r2, r3, cv); 10739 TESTCARRYEND 10740 10741 printf("(T?) LSR{S}.W Rd, Rn, Rm\n"); 10742 TESTCARRY 10743 TESTINST3("lsrs.w r1, r2, r3", 0x31415927, 0x00000000, r1, r2, r3, cv); 10744 TESTINST3("lsrs.w r1, r2, r3", 0x31415927, 0x00000001, r1, r2, r3, cv); 10745 TESTINST3("lsrs.w r1, r2, r3", 0x31415927, 0x00000002, r1, r2, r3, cv); 10746 TESTINST3("lsrs.w r1, r2, r3", 0x31415927, 0x0000000F, r1, r2, r3, cv); 10747 TESTINST3("lsrs.w r1, r2, r3", 0x31415927, 0x00000010, r1, r2, r3, cv); 10748 TESTINST3("lsrs.w r1, r2, r3", 0x31415927, 0x0000001F, r1, r2, r3, cv); 10749 TESTINST3("lsrs.w r1, r2, r3", 0x31415927, 0x00000020, r1, r2, r3, cv); 10750 TESTINST3("lsrs.w r1, r2, r3", 0x31415927, 0x00000021, r1, r2, r3, cv); 10751 TESTINST3("lsr.w r1, r2, r3", 0x31415927, 0x00000000, r1, r2, r3, cv); 10752 TESTINST3("lsr.w r1, r2, r3", 0x31415927, 0x00000001, r1, r2, r3, cv); 10753 TESTINST3("lsr.w r1, r2, r3", 0x31415927, 0x00000002, r1, r2, r3, cv); 10754 TESTINST3("lsr.w r1, r2, r3", 0x31415927, 0x0000000F, r1, r2, r3, cv); 10755 TESTINST3("lsr.w r1, r2, r3", 0x31415927, 0x00000010, r1, r2, r3, cv); 10756 TESTINST3("lsr.w r1, r2, r3", 0x31415927, 0x0000001F, r1, r2, r3, cv); 10757 TESTINST3("lsr.w r1, r2, r3", 0x31415927, 0x00000020, r1, r2, r3, cv); 10758 TESTINST3("lsr.w r1, r2, r3", 0x31415927, 0x00000021, r1, r2, r3, cv); 10759 TESTCARRYEND 10760 10761 printf("(T?) ASR{S}.W Rd, Rn, Rm\n"); 10762 TESTCARRY 10763 TESTINST3("asrs.w r1, r2, r3", 0x31415927, 0x00000000, r1, r2, r3, cv); 10764 TESTINST3("asrs.w r1, r2, r3", 0x91415927, 0x00000001, r1, r2, r3, cv); 10765 TESTINST3("asrs.w r1, r2, r3", 0x31415927, 0x00000002, r1, r2, r3, cv); 10766 TESTINST3("asrs.w r1, r2, r3", 0x91415927, 0x0000000F, r1, r2, r3, cv); 10767 TESTINST3("asrs.w r1, r2, r3", 0x31415927, 0x00000010, r1, r2, r3, cv); 10768 TESTINST3("asrs.w r1, r2, r3", 0x91415927, 0x0000001F, r1, r2, r3, cv); 10769 TESTINST3("asrs.w r1, r2, r3", 0x31415927, 0x00000020, r1, r2, r3, cv); 10770 TESTINST3("asrs.w r1, r2, r3", 0x91415927, 0x00000021, r1, r2, r3, cv); 10771 TESTINST3("asr.w r1, r2, r3", 0x31415927, 0x00000000, r1, r2, r3, cv); 10772 TESTINST3("asr.w r1, r2, r3", 0x91415927, 0x00000001, r1, r2, r3, cv); 10773 TESTINST3("asr.w r1, r2, r3", 0x31415927, 0x00000002, r1, r2, r3, cv); 10774 TESTINST3("asr.w r1, r2, r3", 0x91415927, 0x0000000F, r1, r2, r3, cv); 10775 TESTINST3("asr.w r1, r2, r3", 0x31415927, 0x00000010, r1, r2, r3, cv); 10776 TESTINST3("asr.w r1, r2, r3", 0x91415927, 0x0000001F, r1, r2, r3, cv); 10777 TESTINST3("asr.w r1, r2, r3", 0x31415927, 0x00000020, r1, r2, r3, cv); 10778 TESTINST3("asr.w r1, r2, r3", 0x91415927, 0x00000021, r1, r2, r3, cv); 10779 TESTCARRYEND 10780 10781#if 0 10782 // not handled by vex 10783 printf("(T?) ROR{S}.W Rd, Rn, Rm\n"); 10784 TESTCARRY 10785 TESTINST3("rors.w r1, r2, r3", 0x31415927, 0x00000000, r1, r2, r3, cv); 10786 TESTINST3("rors.w r1, r2, r3", 0x31415927, 0x00000001, r1, r2, r3, cv); 10787 TESTINST3("rors.w r1, r2, r3", 0x31415927, 0x00000002, r1, r2, r3, cv); 10788 TESTINST3("rors.w r1, r2, r3", 0x31415927, 0x0000000F, r1, r2, r3, cv); 10789 TESTINST3("rors.w r1, r2, r3", 0x31415927, 0x00000010, r1, r2, r3, cv); 10790 TESTINST3("rors.w r1, r2, r3", 0x31415927, 0x0000001F, r1, r2, r3, cv); 10791 TESTINST3("rors.w r1, r2, r3", 0x31415927, 0x00000020, r1, r2, r3, cv); 10792 TESTINST3("rors.w r1, r2, r3", 0x31415927, 0x00000021, r1, r2, r3, cv); 10793 TESTINST3("ror.w r1, r2, r3", 0x31415927, 0x00000000, r1, r2, r3, cv); 10794 TESTINST3("ror.w r1, r2, r3", 0x31415927, 0x00000001, r1, r2, r3, cv); 10795 TESTINST3("ror.w r1, r2, r3", 0x31415927, 0x00000002, r1, r2, r3, cv); 10796 TESTINST3("ror.w r1, r2, r3", 0x31415927, 0x0000000F, r1, r2, r3, cv); 10797 TESTINST3("ror.w r1, r2, r3", 0x31415927, 0x00000010, r1, r2, r3, cv); 10798 TESTINST3("ror.w r1, r2, r3", 0x31415927, 0x0000001F, r1, r2, r3, cv); 10799 TESTINST3("ror.w r1, r2, r3", 0x31415927, 0x00000020, r1, r2, r3, cv); 10800 TESTINST3("ror.w r1, r2, r3", 0x31415927, 0x00000021, r1, r2, r3, cv); 10801 TESTCARRYEND 10802#endif 10803 10804 printf("MVN{S}.W Rd, Rn, shift, and MOV{S}.W ditto\n"); 10805 TESTCARRY 10806 TESTINST2("lsls.w r1, r2, #0 ", 0x7fffffff, r1, r2, cv); 10807 TESTINST2("lsls.w r1, r2, #1 ", 0x7fffffff, r1, r2, cv); 10808 TESTINST2("lsls.w r1, r2, #15", 0x7fffffff, r1, r2, cv); 10809 TESTINST2("lsls.w r1, r2, #31", 0x7fffffff, r1, r2, cv); 10810 TESTINST2("lsrs.w r1, r2, #0 ", 0x7fffffff, r1, r2, cv); 10811 TESTINST2("lsrs.w r1, r2, #1 ", 0x7fffffff, r1, r2, cv); 10812 TESTINST2("lsrs.w r1, r2, #15", 0x7fffffff, r1, r2, cv); 10813 TESTINST2("lsrs.w r1, r2, #31", 0x7fffffff, r1, r2, cv); 10814 TESTINST2("asrs.w r1, r2, #0 ", 0x7fffffff, r1, r2, cv); 10815 TESTINST2("asrs.w r1, r2, #1 ", 0x7fffffff, r1, r2, cv); 10816 TESTINST2("asrs.w r1, r2, #15", 0x7fffffff, r1, r2, cv); 10817 TESTINST2("asrs.w r1, r2, #31", 0x7fffffff, r1, r2, cv); 10818 TESTINST2("rors.w r1, r2, #0 ", 0x7fffffff, r1, r2, cv); 10819 TESTINST2("rors.w r1, r2, #1 ", 0x7fffffff, r1, r2, cv); 10820 TESTINST2("rors.w r1, r2, #15", 0x7fffffff, r1, r2, cv); 10821 TESTINST2("rors.w r1, r2, #31", 0x7fffffff, r1, r2, cv); 10822 TESTINST2("lsl.w r1, r2, #0 ", 0x7fffffff, r1, r2, cv); 10823 TESTINST2("lsl.w r1, r2, #1 ", 0x7fffffff, r1, r2, cv); 10824 TESTINST2("lsl.w r1, r2, #15", 0x7fffffff, r1, r2, cv); 10825 TESTINST2("lsl.w r1, r2, #31", 0x7fffffff, r1, r2, cv); 10826 TESTINST2("lsr.w r1, r2, #0 ", 0x7fffffff, r1, r2, cv); 10827 TESTINST2("lsr.w r1, r2, #1 ", 0x7fffffff, r1, r2, cv); 10828 TESTINST2("lsr.w r1, r2, #15", 0x7fffffff, r1, r2, cv); 10829 TESTINST2("lsr.w r1, r2, #31", 0x7fffffff, r1, r2, cv); 10830 TESTINST2("asr.w r1, r2, #0 ", 0x7fffffff, r1, r2, cv); 10831 TESTINST2("asr.w r1, r2, #1 ", 0x7fffffff, r1, r2, cv); 10832 TESTINST2("asr.w r1, r2, #15", 0x7fffffff, r1, r2, cv); 10833 TESTINST2("asr.w r1, r2, #31", 0x7fffffff, r1, r2, cv); 10834 TESTINST2("ror.w r1, r2, #0 ", 0x7fffffff, r1, r2, cv); 10835 TESTINST2("ror.w r1, r2, #1 ", 0x7fffffff, r1, r2, cv); 10836 TESTINST2("ror.w r1, r2, #15", 0x7fffffff, r1, r2, cv); 10837 TESTINST2("ror.w r1, r2, #31", 0x7fffffff, r1, r2, cv); 10838 TESTINST2("mvns.w r1, r2, lsl #0 ", 0x7fffffff, r1, r2, cv); 10839 TESTINST2("mvns.w r1, r2, lsl #1 ", 0x7fffffff, r1, r2, cv); 10840 TESTINST2("mvns.w r1, r2, lsl #15", 0x7fffffff, r1, r2, cv); 10841 TESTINST2("mvns.w r1, r2, lsl #31", 0x7fffffff, r1, r2, cv); 10842 TESTINST2("mvns.w r1, r2, lsr #0 ", 0x7fffffff, r1, r2, cv); 10843 TESTINST2("mvns.w r1, r2, lsr #1 ", 0x7fffffff, r1, r2, cv); 10844 TESTINST2("mvns.w r1, r2, lsr #15", 0x7fffffff, r1, r2, cv); 10845 TESTINST2("mvns.w r1, r2, lsr #31", 0x7fffffff, r1, r2, cv); 10846 TESTINST2("mvns.w r1, r2, asr #0 ", 0x7fffffff, r1, r2, cv); 10847 TESTINST2("mvns.w r1, r2, asr #1 ", 0x7fffffff, r1, r2, cv); 10848 TESTINST2("mvns.w r1, r2, asr #15", 0x7fffffff, r1, r2, cv); 10849 TESTINST2("mvns.w r1, r2, asr #31", 0x7fffffff, r1, r2, cv); 10850 TESTINST2("mvns.w r1, r2, ror #0 ", 0x7fffffff, r1, r2, cv); 10851 TESTINST2("mvns.w r1, r2, ror #1 ", 0x7fffffff, r1, r2, cv); 10852 TESTINST2("mvns.w r1, r2, ror #15", 0x7fffffff, r1, r2, cv); 10853 TESTINST2("mvns.w r1, r2, ror #31", 0x7fffffff, r1, r2, cv); 10854 TESTINST2("mvn.w r1, r2, lsl #0 ", 0x7fffffff, r1, r2, cv); 10855 TESTINST2("mvn.w r1, r2, lsl #1 ", 0x7fffffff, r1, r2, cv); 10856 TESTINST2("mvn.w r1, r2, lsl #15", 0x7fffffff, r1, r2, cv); 10857 TESTINST2("mvn.w r1, r2, lsl #31", 0x7fffffff, r1, r2, cv); 10858 TESTINST2("mvn.w r1, r2, lsr #0 ", 0x7fffffff, r1, r2, cv); 10859 TESTINST2("mvn.w r1, r2, lsr #1 ", 0x7fffffff, r1, r2, cv); 10860 TESTINST2("mvn.w r1, r2, lsr #15", 0x7fffffff, r1, r2, cv); 10861 TESTINST2("mvn.w r1, r2, lsr #31", 0x7fffffff, r1, r2, cv); 10862 TESTINST2("mvn.w r1, r2, asr #0 ", 0x7fffffff, r1, r2, cv); 10863 TESTINST2("mvn.w r1, r2, asr #1 ", 0x7fffffff, r1, r2, cv); 10864 TESTINST2("mvn.w r1, r2, asr #15", 0x7fffffff, r1, r2, cv); 10865 TESTINST2("mvn.w r1, r2, asr #31", 0x7fffffff, r1, r2, cv); 10866 TESTINST2("mvn.w r1, r2, ror #0 ", 0x7fffffff, r1, r2, cv); 10867 TESTINST2("mvn.w r1, r2, ror #1 ", 0x7fffffff, r1, r2, cv); 10868 TESTINST2("mvn.w r1, r2, ror #15", 0x7fffffff, r1, r2, cv); 10869 TESTINST2("mvn.w r1, r2, ror #31", 0x7fffffff, r1, r2, cv); 10870 TESTINST2("lsls.w r1, r2, #0 ", 0x00000000, r1, r2, cv); 10871 TESTINST2("lsls.w r1, r2, #1 ", 0x00000000, r1, r2, cv); 10872 TESTINST2("lsls.w r1, r2, #15", 0x00000000, r1, r2, cv); 10873 TESTINST2("lsls.w r1, r2, #31", 0x00000000, r1, r2, cv); 10874 TESTINST2("lsrs.w r1, r2, #0 ", 0x00000000, r1, r2, cv); 10875 TESTINST2("lsrs.w r1, r2, #1 ", 0x00000000, r1, r2, cv); 10876 TESTINST2("lsrs.w r1, r2, #15", 0x00000000, r1, r2, cv); 10877 TESTINST2("lsrs.w r1, r2, #31", 0x00000000, r1, r2, cv); 10878 TESTINST2("asrs.w r1, r2, #0 ", 0x00000000, r1, r2, cv); 10879 TESTINST2("asrs.w r1, r2, #1 ", 0x00000000, r1, r2, cv); 10880 TESTINST2("asrs.w r1, r2, #15", 0x00000000, r1, r2, cv); 10881 TESTINST2("asrs.w r1, r2, #31", 0x00000000, r1, r2, cv); 10882 TESTINST2("rors.w r1, r2, #0 ", 0x00000000, r1, r2, cv); 10883 TESTINST2("rors.w r1, r2, #1 ", 0x00000000, r1, r2, cv); 10884 TESTINST2("rors.w r1, r2, #15", 0x00000000, r1, r2, cv); 10885 TESTINST2("rors.w r1, r2, #31", 0x00000000, r1, r2, cv); 10886 TESTINST2("lsl.w r1, r2, #0 ", 0x00000000, r1, r2, cv); 10887 TESTINST2("lsl.w r1, r2, #1 ", 0x00000000, r1, r2, cv); 10888 TESTINST2("lsl.w r1, r2, #15", 0x00000000, r1, r2, cv); 10889 TESTINST2("lsl.w r1, r2, #31", 0x00000000, r1, r2, cv); 10890 TESTINST2("lsr.w r1, r2, #0 ", 0x00000000, r1, r2, cv); 10891 TESTINST2("lsr.w r1, r2, #1 ", 0x00000000, r1, r2, cv); 10892 TESTINST2("lsr.w r1, r2, #15", 0x00000000, r1, r2, cv); 10893 TESTINST2("lsr.w r1, r2, #31", 0x00000000, r1, r2, cv); 10894 TESTINST2("asr.w r1, r2, #0 ", 0x00000000, r1, r2, cv); 10895 TESTINST2("asr.w r1, r2, #1 ", 0x00000000, r1, r2, cv); 10896 TESTINST2("asr.w r1, r2, #15", 0x00000000, r1, r2, cv); 10897 TESTINST2("asr.w r1, r2, #31", 0x00000000, r1, r2, cv); 10898 TESTINST2("ror.w r1, r2, #0 ", 0x00000000, r1, r2, cv); 10899 TESTINST2("ror.w r1, r2, #1 ", 0x00000000, r1, r2, cv); 10900 TESTINST2("ror.w r1, r2, #15", 0x00000000, r1, r2, cv); 10901 TESTINST2("ror.w r1, r2, #31", 0x00000000, r1, r2, cv); 10902 TESTINST2("mvns.w r1, r2, lsl #0 ", 0x00000000, r1, r2, cv); 10903 TESTINST2("mvns.w r1, r2, lsl #1 ", 0x00000000, r1, r2, cv); 10904 TESTINST2("mvns.w r1, r2, lsl #15", 0x00000000, r1, r2, cv); 10905 TESTINST2("mvns.w r1, r2, lsl #31", 0x00000000, r1, r2, cv); 10906 TESTINST2("mvns.w r1, r2, lsr #0 ", 0x00000000, r1, r2, cv); 10907 TESTINST2("mvns.w r1, r2, lsr #1 ", 0x00000000, r1, r2, cv); 10908 TESTINST2("mvns.w r1, r2, lsr #15", 0x00000000, r1, r2, cv); 10909 TESTINST2("mvns.w r1, r2, lsr #31", 0x00000000, r1, r2, cv); 10910 TESTINST2("mvns.w r1, r2, asr #0 ", 0x00000000, r1, r2, cv); 10911 TESTINST2("mvns.w r1, r2, asr #1 ", 0x00000000, r1, r2, cv); 10912 TESTINST2("mvns.w r1, r2, asr #15", 0x00000000, r1, r2, cv); 10913 TESTINST2("mvns.w r1, r2, asr #31", 0x00000000, r1, r2, cv); 10914 TESTINST2("mvns.w r1, r2, ror #0 ", 0x00000000, r1, r2, cv); 10915 TESTINST2("mvns.w r1, r2, ror #1 ", 0x00000000, r1, r2, cv); 10916 TESTINST2("mvns.w r1, r2, ror #15", 0x00000000, r1, r2, cv); 10917 TESTINST2("mvns.w r1, r2, ror #31", 0x00000000, r1, r2, cv); 10918 TESTINST2("mvn.w r1, r2, lsl #0 ", 0x00000000, r1, r2, cv); 10919 TESTINST2("mvn.w r1, r2, lsl #1 ", 0x00000000, r1, r2, cv); 10920 TESTINST2("mvn.w r1, r2, lsl #15", 0x00000000, r1, r2, cv); 10921 TESTINST2("mvn.w r1, r2, lsl #31", 0x00000000, r1, r2, cv); 10922 TESTINST2("mvn.w r1, r2, lsr #0 ", 0x00000000, r1, r2, cv); 10923 TESTINST2("mvn.w r1, r2, lsr #1 ", 0x00000000, r1, r2, cv); 10924 TESTINST2("mvn.w r1, r2, lsr #15", 0x00000000, r1, r2, cv); 10925 TESTINST2("mvn.w r1, r2, lsr #31", 0x00000000, r1, r2, cv); 10926 TESTINST2("mvn.w r1, r2, asr #0 ", 0x00000000, r1, r2, cv); 10927 TESTINST2("mvn.w r1, r2, asr #1 ", 0x00000000, r1, r2, cv); 10928 TESTINST2("mvn.w r1, r2, asr #15", 0x00000000, r1, r2, cv); 10929 TESTINST2("mvn.w r1, r2, asr #31", 0x00000000, r1, r2, cv); 10930 TESTINST2("mvn.w r1, r2, ror #0 ", 0x00000000, r1, r2, cv); 10931 TESTINST2("mvn.w r1, r2, ror #1 ", 0x00000000, r1, r2, cv); 10932 TESTINST2("mvn.w r1, r2, ror #15", 0x00000000, r1, r2, cv); 10933 TESTINST2("mvn.w r1, r2, ror #31", 0x00000000, r1, r2, cv); 10934 TESTINST2("lsls.w r1, r2, #0 ", 0x00000001, r1, r2, cv); 10935 TESTINST2("lsls.w r1, r2, #1 ", 0x00000001, r1, r2, cv); 10936 TESTINST2("lsls.w r1, r2, #15", 0x00000001, r1, r2, cv); 10937 TESTINST2("lsls.w r1, r2, #31", 0x00000001, r1, r2, cv); 10938 TESTINST2("lsrs.w r1, r2, #0 ", 0x00000001, r1, r2, cv); 10939 TESTINST2("lsrs.w r1, r2, #1 ", 0x00000001, r1, r2, cv); 10940 TESTINST2("lsrs.w r1, r2, #15", 0x00000001, r1, r2, cv); 10941 TESTINST2("lsrs.w r1, r2, #31", 0x00000001, r1, r2, cv); 10942 TESTINST2("asrs.w r1, r2, #0 ", 0x00000001, r1, r2, cv); 10943 TESTINST2("asrs.w r1, r2, #1 ", 0x00000001, r1, r2, cv); 10944 TESTINST2("asrs.w r1, r2, #15", 0x00000001, r1, r2, cv); 10945 TESTINST2("asrs.w r1, r2, #31", 0x00000001, r1, r2, cv); 10946 TESTINST2("rors.w r1, r2, #0 ", 0x00000001, r1, r2, cv); 10947 TESTINST2("rors.w r1, r2, #1 ", 0x00000001, r1, r2, cv); 10948 TESTINST2("rors.w r1, r2, #15", 0x00000001, r1, r2, cv); 10949 TESTINST2("rors.w r1, r2, #31", 0x00000001, r1, r2, cv); 10950 TESTINST2("lsl.w r1, r2, #0 ", 0x00000001, r1, r2, cv); 10951 TESTINST2("lsl.w r1, r2, #1 ", 0x00000001, r1, r2, cv); 10952 TESTINST2("lsl.w r1, r2, #15", 0x00000001, r1, r2, cv); 10953 TESTINST2("lsl.w r1, r2, #31", 0x00000001, r1, r2, cv); 10954 TESTINST2("lsr.w r1, r2, #0 ", 0x00000001, r1, r2, cv); 10955 TESTINST2("lsr.w r1, r2, #1 ", 0x00000001, r1, r2, cv); 10956 TESTINST2("lsr.w r1, r2, #15", 0x00000001, r1, r2, cv); 10957 TESTINST2("lsr.w r1, r2, #31", 0x00000001, r1, r2, cv); 10958 TESTINST2("asr.w r1, r2, #0 ", 0x00000001, r1, r2, cv); 10959 TESTINST2("asr.w r1, r2, #1 ", 0x00000001, r1, r2, cv); 10960 TESTINST2("asr.w r1, r2, #15", 0x00000001, r1, r2, cv); 10961 TESTINST2("asr.w r1, r2, #31", 0x00000001, r1, r2, cv); 10962 TESTINST2("ror.w r1, r2, #0 ", 0x00000001, r1, r2, cv); 10963 TESTINST2("ror.w r1, r2, #1 ", 0x00000001, r1, r2, cv); 10964 TESTINST2("ror.w r1, r2, #15", 0x00000001, r1, r2, cv); 10965 TESTINST2("ror.w r1, r2, #31", 0x00000001, r1, r2, cv); 10966 TESTINST2("mvns.w r1, r2, lsl #0 ", 0x00000001, r1, r2, cv); 10967 TESTINST2("mvns.w r1, r2, lsl #1 ", 0x00000001, r1, r2, cv); 10968 TESTINST2("mvns.w r1, r2, lsl #15", 0x00000001, r1, r2, cv); 10969 TESTINST2("mvns.w r1, r2, lsl #31", 0x00000001, r1, r2, cv); 10970 TESTINST2("mvns.w r1, r2, lsr #0 ", 0x00000001, r1, r2, cv); 10971 TESTINST2("mvns.w r1, r2, lsr #1 ", 0x00000001, r1, r2, cv); 10972 TESTINST2("mvns.w r1, r2, lsr #15", 0x00000001, r1, r2, cv); 10973 TESTINST2("mvns.w r1, r2, lsr #31", 0x00000001, r1, r2, cv); 10974 TESTINST2("mvns.w r1, r2, asr #0 ", 0x00000001, r1, r2, cv); 10975 TESTINST2("mvns.w r1, r2, asr #1 ", 0x00000001, r1, r2, cv); 10976 TESTINST2("mvns.w r1, r2, asr #15", 0x00000001, r1, r2, cv); 10977 TESTINST2("mvns.w r1, r2, asr #31", 0x00000001, r1, r2, cv); 10978 TESTINST2("mvns.w r1, r2, ror #0 ", 0x00000001, r1, r2, cv); 10979 TESTINST2("mvns.w r1, r2, ror #1 ", 0x00000001, r1, r2, cv); 10980 TESTINST2("mvns.w r1, r2, ror #15", 0x00000001, r1, r2, cv); 10981 TESTINST2("mvns.w r1, r2, ror #31", 0x00000001, r1, r2, cv); 10982 TESTINST2("mvn.w r1, r2, lsl #0 ", 0x00000001, r1, r2, cv); 10983 TESTINST2("mvn.w r1, r2, lsl #1 ", 0x00000001, r1, r2, cv); 10984 TESTINST2("mvn.w r1, r2, lsl #15", 0x00000001, r1, r2, cv); 10985 TESTINST2("mvn.w r1, r2, lsl #31", 0x00000001, r1, r2, cv); 10986 TESTINST2("mvn.w r1, r2, lsr #0 ", 0x00000001, r1, r2, cv); 10987 TESTINST2("mvn.w r1, r2, lsr #1 ", 0x00000001, r1, r2, cv); 10988 TESTINST2("mvn.w r1, r2, lsr #15", 0x00000001, r1, r2, cv); 10989 TESTINST2("mvn.w r1, r2, lsr #31", 0x00000001, r1, r2, cv); 10990 TESTINST2("mvn.w r1, r2, asr #0 ", 0x00000001, r1, r2, cv); 10991 TESTINST2("mvn.w r1, r2, asr #1 ", 0x00000001, r1, r2, cv); 10992 TESTINST2("mvn.w r1, r2, asr #15", 0x00000001, r1, r2, cv); 10993 TESTINST2("mvn.w r1, r2, asr #31", 0x00000001, r1, r2, cv); 10994 TESTINST2("mvn.w r1, r2, ror #0 ", 0x00000001, r1, r2, cv); 10995 TESTINST2("mvn.w r1, r2, ror #1 ", 0x00000001, r1, r2, cv); 10996 TESTINST2("mvn.w r1, r2, ror #15", 0x00000001, r1, r2, cv); 10997 TESTINST2("mvn.w r1, r2, ror #31", 0x00000001, r1, r2, cv); 10998 TESTINST2("lsls.w r1, r2, #0 ", 0x9218abcd, r1, r2, cv); 10999 TESTINST2("lsls.w r1, r2, #1 ", 0x9218abcd, r1, r2, cv); 11000 TESTINST2("lsls.w r1, r2, #15", 0x9218abcd, r1, r2, cv); 11001 TESTINST2("lsls.w r1, r2, #31", 0x9218abcd, r1, r2, cv); 11002 TESTINST2("lsrs.w r1, r2, #0 ", 0x9218abcd, r1, r2, cv); 11003 TESTINST2("lsrs.w r1, r2, #1 ", 0x9218abcd, r1, r2, cv); 11004 TESTINST2("lsrs.w r1, r2, #15", 0x9218abcd, r1, r2, cv); 11005 TESTINST2("lsrs.w r1, r2, #31", 0x9218abcd, r1, r2, cv); 11006 TESTINST2("asrs.w r1, r2, #0 ", 0x9218abcd, r1, r2, cv); 11007 TESTINST2("asrs.w r1, r2, #1 ", 0x9218abcd, r1, r2, cv); 11008 TESTINST2("asrs.w r1, r2, #15", 0x9218abcd, r1, r2, cv); 11009 TESTINST2("asrs.w r1, r2, #31", 0x9218abcd, r1, r2, cv); 11010 TESTINST2("rors.w r1, r2, #0 ", 0x9218abcd, r1, r2, cv); 11011 TESTINST2("rors.w r1, r2, #1 ", 0x9218abcd, r1, r2, cv); 11012 TESTINST2("rors.w r1, r2, #15", 0x9218abcd, r1, r2, cv); 11013 TESTINST2("rors.w r1, r2, #31", 0x9218abcd, r1, r2, cv); 11014 TESTINST2("lsl.w r1, r2, #0 ", 0x9218abcd, r1, r2, cv); 11015 TESTINST2("lsl.w r1, r2, #1 ", 0x9218abcd, r1, r2, cv); 11016 TESTINST2("lsl.w r1, r2, #15", 0x9218abcd, r1, r2, cv); 11017 TESTINST2("lsl.w r1, r2, #31", 0x9218abcd, r1, r2, cv); 11018 TESTINST2("lsr.w r1, r2, #0 ", 0x9218abcd, r1, r2, cv); 11019 TESTINST2("lsr.w r1, r2, #1 ", 0x9218abcd, r1, r2, cv); 11020 TESTINST2("lsr.w r1, r2, #15", 0x9218abcd, r1, r2, cv); 11021 TESTINST2("lsr.w r1, r2, #31", 0x9218abcd, r1, r2, cv); 11022 TESTINST2("asr.w r1, r2, #0 ", 0x9218abcd, r1, r2, cv); 11023 TESTINST2("asr.w r1, r2, #1 ", 0x9218abcd, r1, r2, cv); 11024 TESTINST2("asr.w r1, r2, #15", 0x9218abcd, r1, r2, cv); 11025 TESTINST2("asr.w r1, r2, #31", 0x9218abcd, r1, r2, cv); 11026 TESTINST2("ror.w r1, r2, #0 ", 0x9218abcd, r1, r2, cv); 11027 TESTINST2("ror.w r1, r2, #1 ", 0x9218abcd, r1, r2, cv); 11028 TESTINST2("ror.w r1, r2, #15", 0x9218abcd, r1, r2, cv); 11029 TESTINST2("ror.w r1, r2, #31", 0x9218abcd, r1, r2, cv); 11030 TESTINST2("mvns.w r1, r2, lsl #0 ", 0x9218abcd, r1, r2, cv); 11031 TESTINST2("mvns.w r1, r2, lsl #1 ", 0x9218abcd, r1, r2, cv); 11032 TESTINST2("mvns.w r1, r2, lsl #15", 0x9218abcd, r1, r2, cv); 11033 TESTINST2("mvns.w r1, r2, lsl #31", 0x9218abcd, r1, r2, cv); 11034 TESTINST2("mvns.w r1, r2, lsr #0 ", 0x9218abcd, r1, r2, cv); 11035 TESTINST2("mvns.w r1, r2, lsr #1 ", 0x9218abcd, r1, r2, cv); 11036 TESTINST2("mvns.w r1, r2, lsr #15", 0x9218abcd, r1, r2, cv); 11037 TESTINST2("mvns.w r1, r2, lsr #31", 0x9218abcd, r1, r2, cv); 11038 TESTINST2("mvns.w r1, r2, asr #0 ", 0x9218abcd, r1, r2, cv); 11039 TESTINST2("mvns.w r1, r2, asr #1 ", 0x9218abcd, r1, r2, cv); 11040 TESTINST2("mvns.w r1, r2, asr #15", 0x9218abcd, r1, r2, cv); 11041 TESTINST2("mvns.w r1, r2, asr #31", 0x9218abcd, r1, r2, cv); 11042 TESTINST2("mvns.w r1, r2, ror #0 ", 0x9218abcd, r1, r2, cv); 11043 TESTINST2("mvns.w r1, r2, ror #1 ", 0x9218abcd, r1, r2, cv); 11044 TESTINST2("mvns.w r1, r2, ror #15", 0x9218abcd, r1, r2, cv); 11045 TESTINST2("mvns.w r1, r2, ror #31", 0x9218abcd, r1, r2, cv); 11046 TESTINST2("mvn.w r1, r2, lsl #0 ", 0x9218abcd, r1, r2, cv); 11047 TESTINST2("mvn.w r1, r2, lsl #1 ", 0x9218abcd, r1, r2, cv); 11048 TESTINST2("mvn.w r1, r2, lsl #15", 0x9218abcd, r1, r2, cv); 11049 TESTINST2("mvn.w r1, r2, lsl #31", 0x9218abcd, r1, r2, cv); 11050 TESTINST2("mvn.w r1, r2, lsr #0 ", 0x9218abcd, r1, r2, cv); 11051 TESTINST2("mvn.w r1, r2, lsr #1 ", 0x9218abcd, r1, r2, cv); 11052 TESTINST2("mvn.w r1, r2, lsr #15", 0x9218abcd, r1, r2, cv); 11053 TESTINST2("mvn.w r1, r2, lsr #31", 0x9218abcd, r1, r2, cv); 11054 TESTINST2("mvn.w r1, r2, asr #0 ", 0x9218abcd, r1, r2, cv); 11055 TESTINST2("mvn.w r1, r2, asr #1 ", 0x9218abcd, r1, r2, cv); 11056 TESTINST2("mvn.w r1, r2, asr #15", 0x9218abcd, r1, r2, cv); 11057 TESTINST2("mvn.w r1, r2, asr #31", 0x9218abcd, r1, r2, cv); 11058 TESTINST2("mvn.w r1, r2, ror #0 ", 0x9218abcd, r1, r2, cv); 11059 TESTINST2("mvn.w r1, r2, ror #1 ", 0x9218abcd, r1, r2, cv); 11060 TESTINST2("mvn.w r1, r2, ror #15", 0x9218abcd, r1, r2, cv); 11061 TESTINST2("mvn.w r1, r2, ror #31", 0x9218abcd, r1, r2, cv); 11062 TESTINST2("lsls.w r1, r2, #0 ", 0xffffffff, r1, r2, cv); 11063 TESTINST2("lsls.w r1, r2, #1 ", 0xffffffff, r1, r2, cv); 11064 TESTINST2("lsls.w r1, r2, #15", 0xffffffff, r1, r2, cv); 11065 TESTINST2("lsls.w r1, r2, #31", 0xffffffff, r1, r2, cv); 11066 TESTINST2("lsrs.w r1, r2, #0 ", 0xffffffff, r1, r2, cv); 11067 TESTINST2("lsrs.w r1, r2, #1 ", 0xffffffff, r1, r2, cv); 11068 TESTINST2("lsrs.w r1, r2, #15", 0xffffffff, r1, r2, cv); 11069 TESTINST2("lsrs.w r1, r2, #31", 0xffffffff, r1, r2, cv); 11070 TESTINST2("asrs.w r1, r2, #0 ", 0xffffffff, r1, r2, cv); 11071 TESTINST2("asrs.w r1, r2, #1 ", 0xffffffff, r1, r2, cv); 11072 TESTINST2("asrs.w r1, r2, #15", 0xffffffff, r1, r2, cv); 11073 TESTINST2("asrs.w r1, r2, #31", 0xffffffff, r1, r2, cv); 11074 TESTINST2("rors.w r1, r2, #0 ", 0xffffffff, r1, r2, cv); 11075 TESTINST2("rors.w r1, r2, #1 ", 0xffffffff, r1, r2, cv); 11076 TESTINST2("rors.w r1, r2, #15", 0xffffffff, r1, r2, cv); 11077 TESTINST2("rors.w r1, r2, #31", 0xffffffff, r1, r2, cv); 11078 TESTINST2("lsl.w r1, r2, #0 ", 0xffffffff, r1, r2, cv); 11079 TESTINST2("lsl.w r1, r2, #1 ", 0xffffffff, r1, r2, cv); 11080 TESTINST2("lsl.w r1, r2, #15", 0xffffffff, r1, r2, cv); 11081 TESTINST2("lsl.w r1, r2, #31", 0xffffffff, r1, r2, cv); 11082 TESTINST2("lsr.w r1, r2, #0 ", 0xffffffff, r1, r2, cv); 11083 TESTINST2("lsr.w r1, r2, #1 ", 0xffffffff, r1, r2, cv); 11084 TESTINST2("lsr.w r1, r2, #15", 0xffffffff, r1, r2, cv); 11085 TESTINST2("lsr.w r1, r2, #31", 0xffffffff, r1, r2, cv); 11086 TESTINST2("asr.w r1, r2, #0 ", 0xffffffff, r1, r2, cv); 11087 TESTINST2("asr.w r1, r2, #1 ", 0xffffffff, r1, r2, cv); 11088 TESTINST2("asr.w r1, r2, #15", 0xffffffff, r1, r2, cv); 11089 TESTINST2("asr.w r1, r2, #31", 0xffffffff, r1, r2, cv); 11090 TESTINST2("ror.w r1, r2, #0 ", 0xffffffff, r1, r2, cv); 11091 TESTINST2("ror.w r1, r2, #1 ", 0xffffffff, r1, r2, cv); 11092 TESTINST2("ror.w r1, r2, #15", 0xffffffff, r1, r2, cv); 11093 TESTINST2("ror.w r1, r2, #31", 0xffffffff, r1, r2, cv); 11094 TESTINST2("mvns.w r1, r2, lsl #0 ", 0xffffffff, r1, r2, cv); 11095 TESTINST2("mvns.w r1, r2, lsl #1 ", 0xffffffff, r1, r2, cv); 11096 TESTINST2("mvns.w r1, r2, lsl #15", 0xffffffff, r1, r2, cv); 11097 TESTINST2("mvns.w r1, r2, lsl #31", 0xffffffff, r1, r2, cv); 11098 TESTINST2("mvns.w r1, r2, lsr #0 ", 0xffffffff, r1, r2, cv); 11099 TESTINST2("mvns.w r1, r2, lsr #1 ", 0xffffffff, r1, r2, cv); 11100 TESTINST2("mvns.w r1, r2, lsr #15", 0xffffffff, r1, r2, cv); 11101 TESTINST2("mvns.w r1, r2, lsr #31", 0xffffffff, r1, r2, cv); 11102 TESTINST2("mvns.w r1, r2, asr #0 ", 0xffffffff, r1, r2, cv); 11103 TESTINST2("mvns.w r1, r2, asr #1 ", 0xffffffff, r1, r2, cv); 11104 TESTINST2("mvns.w r1, r2, asr #15", 0xffffffff, r1, r2, cv); 11105 TESTINST2("mvns.w r1, r2, asr #31", 0xffffffff, r1, r2, cv); 11106 TESTINST2("mvns.w r1, r2, ror #0 ", 0xffffffff, r1, r2, cv); 11107 TESTINST2("mvns.w r1, r2, ror #1 ", 0xffffffff, r1, r2, cv); 11108 TESTINST2("mvns.w r1, r2, ror #15", 0xffffffff, r1, r2, cv); 11109 TESTINST2("mvns.w r1, r2, ror #31", 0xffffffff, r1, r2, cv); 11110 TESTINST2("mvn.w r1, r2, lsl #0 ", 0xffffffff, r1, r2, cv); 11111 TESTINST2("mvn.w r1, r2, lsl #1 ", 0xffffffff, r1, r2, cv); 11112 TESTINST2("mvn.w r1, r2, lsl #15", 0xffffffff, r1, r2, cv); 11113 TESTINST2("mvn.w r1, r2, lsl #31", 0xffffffff, r1, r2, cv); 11114 TESTINST2("mvn.w r1, r2, lsr #0 ", 0xffffffff, r1, r2, cv); 11115 TESTINST2("mvn.w r1, r2, lsr #1 ", 0xffffffff, r1, r2, cv); 11116 TESTINST2("mvn.w r1, r2, lsr #15", 0xffffffff, r1, r2, cv); 11117 TESTINST2("mvn.w r1, r2, lsr #31", 0xffffffff, r1, r2, cv); 11118 TESTINST2("mvn.w r1, r2, asr #0 ", 0xffffffff, r1, r2, cv); 11119 TESTINST2("mvn.w r1, r2, asr #1 ", 0xffffffff, r1, r2, cv); 11120 TESTINST2("mvn.w r1, r2, asr #15", 0xffffffff, r1, r2, cv); 11121 TESTINST2("mvn.w r1, r2, asr #31", 0xffffffff, r1, r2, cv); 11122 TESTINST2("mvn.w r1, r2, ror #0 ", 0xffffffff, r1, r2, cv); 11123 TESTINST2("mvn.w r1, r2, ror #1 ", 0xffffffff, r1, r2, cv); 11124 TESTINST2("mvn.w r1, r2, ror #15", 0xffffffff, r1, r2, cv); 11125 TESTINST2("mvn.w r1, r2, ror #31", 0xffffffff, r1, r2, cv); 11126 TESTCARRYEND 11127 11128 printf("(T?) TST.W Rn, Rm, {shift}\n"); 11129 TESTCARRY 11130 TESTINST2x("tst.w r1, r2, lsl #1", 0x11223344, 0x99887766, r1, r2, cv); 11131 TESTINST2x("tst.w r1, r2, lsr #1", 0x11223344, 0x99887766, r1, r2, cv); 11132 TESTINST2x("tst.w r1, r2, asr #1", 0x11223344, 0x99887766, r1, r2, cv); 11133 TESTINST2x("tst.w r1, r2, ror #1", 0x11223344, 0x99887766, r1, r2, cv); 11134 TESTINST2x("tst.w r1, r2, lsl #1", 0x11223344, 0x00000000, r1, r2, cv); 11135 TESTINST2x("tst.w r1, r2, lsr #1", 0x11223344, 0x00000000, r1, r2, cv); 11136 TESTINST2x("tst.w r1, r2, asr #1", 0x11223344, 0x00000000, r1, r2, cv); 11137 TESTINST2x("tst.w r1, r2, ror #1", 0x11223344, 0x00000000, r1, r2, cv); 11138 TESTINST2x("tst.w r1, r2, lsl #1", 0x91223344, 0x40000000, r1, r2, cv); 11139 TESTINST2x("tst.w r1, r2, lsr #1", 0x91223344, 0x40000000, r1, r2, cv); 11140 TESTINST2x("tst.w r1, r2, asr #1", 0x91223344, 0x80000000, r1, r2, cv); 11141 TESTINST2x("tst.w r1, r2, ror #1", 0x91223344, 0x00000001, r1, r2, cv); 11142 TESTCARRYEND 11143 11144 printf("(T?) TEQ.W Rn, Rm, {shift}\n"); 11145 TESTCARRY 11146 TESTINST2x("teq.w r1, r2, lsl #1", 0x11223344, 0x99887766, r1, r2, cv); 11147 TESTINST2x("teq.w r1, r2, lsr #1", 0x11223344, 0x99887766, r1, r2, cv); 11148 TESTINST2x("teq.w r1, r2, asr #1", 0x11223344, 0x99887766, r1, r2, cv); 11149 TESTINST2x("teq.w r1, r2, ror #1", 0x11223344, 0x99887766, r1, r2, cv); 11150 TESTINST2x("teq.w r1, r2, lsl #1", 0x11223344, 0x00000000, r1, r2, cv); 11151 TESTINST2x("teq.w r1, r2, lsr #1", 0x11223344, 0x00000000, r1, r2, cv); 11152 TESTINST2x("teq.w r1, r2, asr #1", 0x11223344, 0x00000000, r1, r2, cv); 11153 TESTINST2x("teq.w r1, r2, ror #1", 0x11223344, 0x00000000, r1, r2, cv); 11154 TESTINST2x("teq.w r1, r2, lsl #1", 0x91223344, 0x40000000, r1, r2, cv); 11155 TESTINST2x("teq.w r1, r2, lsr #1", 0x91223344, 0x40000000, r1, r2, cv); 11156 TESTINST2x("teq.w r1, r2, asr #1", 0x91223344, 0x80000000, r1, r2, cv); 11157 TESTINST2x("teq.w r1, r2, ror #1", 0x91223344, 0x00000001, r1, r2, cv); 11158 TESTCARRYEND 11159 11160 printf("(T?) CMP.W Rn, Rm, {shift}\n"); 11161 TESTCARRY 11162 TESTINST2x("cmp.w r1, r2, lsl #1", 0x11223344, 0x99887766, r1, r2, cv); 11163 TESTINST2x("cmp.w r1, r2, lsr #1", 0x11223344, 0x99887766, r1, r2, cv); 11164 TESTINST2x("cmp.w r1, r2, asr #1", 0x11223344, 0x99887766, r1, r2, cv); 11165 TESTINST2x("cmp.w r1, r2, ror #1", 0x11223344, 0x99887766, r1, r2, cv); 11166 TESTINST2x("cmp.w r1, r2, lsl #1", 0x11223344, 0x00000000, r1, r2, cv); 11167 TESTINST2x("cmp.w r1, r2, lsr #1", 0x11223344, 0x00000000, r1, r2, cv); 11168 TESTINST2x("cmp.w r1, r2, asr #1", 0x11223344, 0x00000000, r1, r2, cv); 11169 TESTINST2x("cmp.w r1, r2, ror #1", 0x11223344, 0x00000000, r1, r2, cv); 11170 TESTINST2x("cmp.w r1, r2, lsl #1", 0x91223344, 0x40000000, r1, r2, cv); 11171 TESTINST2x("cmp.w r1, r2, lsr #1", 0x91223344, 0x40000000, r1, r2, cv); 11172 TESTINST2x("cmp.w r1, r2, asr #1", 0x91223344, 0x80000000, r1, r2, cv); 11173 TESTINST2x("cmp.w r1, r2, ror #1", 0x91223344, 0x00000001, r1, r2, cv); 11174 TESTINST2x("cmp.w r1, r2, lsr #2", 0x15555555, 0x55555555, r1, r2, cv); 11175 TESTINST2x("cmp.w r1, r2, ror #1", 0x55555555, 0xaaaaaaaa, r1, r2, cv); 11176 TESTCARRYEND 11177 11178 printf("(T?) CMN.W Rn, Rm, {shift}\n"); 11179 TESTCARRY 11180 TESTINST2x("cmn.w r1, r2, lsl #1", 0x11223344, 0x99887766, r1, r2, cv); 11181 TESTINST2x("cmn.w r1, r2, lsr #1", 0x11223344, 0x99887766, r1, r2, cv); 11182 TESTINST2x("cmn.w r1, r2, asr #1", 0x11223344, 0x99887766, r1, r2, cv); 11183 TESTINST2x("cmn.w r1, r2, ror #1", 0x11223344, 0x99887766, r1, r2, cv); 11184 TESTINST2x("cmn.w r1, r2, lsl #1", 0x11223344, 0x00000000, r1, r2, cv); 11185 TESTINST2x("cmn.w r1, r2, lsr #1", 0x11223344, 0x00000000, r1, r2, cv); 11186 TESTINST2x("cmn.w r1, r2, asr #1", 0x11223344, 0x00000000, r1, r2, cv); 11187 TESTINST2x("cmn.w r1, r2, ror #1", 0x11223344, 0x00000000, r1, r2, cv); 11188 TESTINST2x("cmn.w r1, r2, lsl #1", 0x91223344, 0x40000000, r1, r2, cv); 11189 TESTINST2x("cmn.w r1, r2, lsr #1", 0x91223344, 0x40000000, r1, r2, cv); 11190 TESTINST2x("cmn.w r1, r2, asr #1", 0x91223344, 0x80000000, r1, r2, cv); 11191 TESTINST2x("cmn.w r1, r2, ror #1", 0x91223344, 0x00000001, r1, r2, cv); 11192 TESTINST2x("cmn.w r1, r2, lsr #2", 0x15555555, 0x55555555, r1, r2, cv); 11193 TESTINST2x("cmn.w r1, r2, ror #1", 0x55555555, 0xaaaaaaaa, r1, r2, cv); 11194 TESTCARRYEND 11195 11196 printf("(T2) MOV{S}.W Rd, #constT\n"); 11197 TESTCARRY 11198 TESTINST1("movs.w r9, 0x00000000", r9, cv); 11199 TESTINST1("movs.w r9, 0x000000FF", r9, cv); 11200 TESTINST1("movs.w r9, 0x0000007F", r9, cv); 11201 TESTINST1("movs.w r9, 0x00FF00FF", r9, cv); 11202 TESTINST1("movs.w r9, 0x007F007F", r9, cv); 11203 TESTINST1("movs.w r9, 0x43434343", r9, cv); 11204 TESTINST1("movs.w r9, 0x93939393", r9, cv); 11205 TESTINST1("movs.w r9, 0x93000000", r9, cv); 11206 TESTINST1("movs.w r9, 0x43000000", r9, cv); 11207 TESTINST1("movs.w r9, 0x09300000", r9, cv); 11208 TESTINST1("movs.w r9, 0x04300000", r9, cv); 11209 TESTINST1("movs.w r9, 0x00930000", r9, cv); 11210 TESTINST1("movs.w r9, 0x00430000", r9, cv); 11211 TESTINST1("movs.w r9, 0x00000930", r9, cv); 11212 TESTINST1("movs.w r9, 0x00000430", r9, cv); 11213 TESTINST1("movs.w r9, 0x00000093", r9, cv); 11214 TESTINST1("movs.w r9, 0x00000043", r9, cv); 11215 TESTINST1("mov.w r9, 0x00000000", r9, cv); 11216 TESTINST1("mov.w r9, 0x000000FF", r9, cv); 11217 TESTINST1("mov.w r9, 0x0000007F", r9, cv); 11218 TESTINST1("mov.w r9, 0x00FF00FF", r9, cv); 11219 TESTINST1("mov.w r9, 0x007F007F", r9, cv); 11220 TESTINST1("mov.w r9, 0x43434343", r9, cv); 11221 TESTINST1("mov.w r9, 0x93939393", r9, cv); 11222 TESTINST1("mov.w r9, 0x93000000", r9, cv); 11223 TESTINST1("mov.w r9, 0x43000000", r9, cv); 11224 TESTINST1("mov.w r9, 0x09300000", r9, cv); 11225 TESTINST1("mov.w r9, 0x04300000", r9, cv); 11226 TESTINST1("mov.w r9, 0x00930000", r9, cv); 11227 TESTINST1("mov.w r9, 0x00430000", r9, cv); 11228 TESTINST1("mov.w r9, 0x00000930", r9, cv); 11229 TESTINST1("mov.w r9, 0x00000430", r9, cv); 11230 TESTINST1("mov.w r9, 0x00000093", r9, cv); 11231 TESTINST1("mov.w r9, 0x00000043", r9, cv); 11232 TESTCARRYEND 11233 11234 printf("(T2) MVN{S}.W Rd, #constT\n"); 11235 TESTCARRY 11236 TESTINST1("mvns.w r9, 0x00000000", r9, cv); 11237 TESTINST1("mvns.w r9, 0x000000FF", r9, cv); 11238 TESTINST1("mvns.w r9, 0x0000007F", r9, cv); 11239 TESTINST1("mvns.w r9, 0x00FF00FF", r9, cv); 11240 TESTINST1("mvns.w r9, 0x007F007F", r9, cv); 11241 TESTINST1("mvns.w r9, 0x43434343", r9, cv); 11242 TESTINST1("mvns.w r9, 0x93939393", r9, cv); 11243 TESTINST1("mvns.w r9, 0x93000000", r9, cv); 11244 TESTINST1("mvns.w r9, 0x43000000", r9, cv); 11245 TESTINST1("mvns.w r9, 0x09300000", r9, cv); 11246 TESTINST1("mvns.w r9, 0x04300000", r9, cv); 11247 TESTINST1("mvns.w r9, 0x00930000", r9, cv); 11248 TESTINST1("mvns.w r9, 0x00430000", r9, cv); 11249 TESTINST1("mvns.w r9, 0x00000930", r9, cv); 11250 TESTINST1("mvns.w r9, 0x00000430", r9, cv); 11251 TESTINST1("mvns.w r9, 0x00000093", r9, cv); 11252 TESTINST1("mvns.w r9, 0x00000043", r9, cv); 11253 TESTINST1("mvn.w r9, 0x00000000", r9, cv); 11254 TESTINST1("mvn.w r9, 0x000000FF", r9, cv); 11255 TESTINST1("mvn.w r9, 0x0000007F", r9, cv); 11256 TESTINST1("mvn.w r9, 0x00FF00FF", r9, cv); 11257 TESTINST1("mvn.w r9, 0x007F007F", r9, cv); 11258 TESTINST1("mvn.w r9, 0x43434343", r9, cv); 11259 TESTINST1("mvn.w r9, 0x93939393", r9, cv); 11260 TESTINST1("mvn.w r9, 0x93000000", r9, cv); 11261 TESTINST1("mvn.w r9, 0x43000000", r9, cv); 11262 TESTINST1("mvn.w r9, 0x09300000", r9, cv); 11263 TESTINST1("mvn.w r9, 0x04300000", r9, cv); 11264 TESTINST1("mvn.w r9, 0x00930000", r9, cv); 11265 TESTINST1("mvn.w r9, 0x00430000", r9, cv); 11266 TESTINST1("mvn.w r9, 0x00000930", r9, cv); 11267 TESTINST1("mvn.w r9, 0x00000430", r9, cv); 11268 TESTINST1("mvn.w r9, 0x00000093", r9, cv); 11269 TESTINST1("mvn.w r9, 0x00000043", r9, cv); 11270 TESTCARRYEND 11271 11272 // plus whatever stuff we can throw in from the old ARM test program 11273 old_main(); 11274 11275 return 0; 11276} 11277