1 # RUN: llvm-mc -triple=armv7-apple-darwin -mcpu=cortex-a8 -disassemble < %s | FileCheck %s 2 3 #------------------------------------------------------------------------------ 4 # ADC (immediate) 5 #------------------------------------------------------------------------------ 6 # CHECK: adc r1, r2, #15 7 # CHECK: adc r1, r2, #240 8 # CHECK: adc r1, r2, #3840 9 # CHECK: adc r1, r2, #61440 10 # CHECK: adc r1, r2, #983040 11 # CHECK: adc r1, r2, #15728640 12 # CHECK: adc r1, r2, #251658240 13 # CHECK: adc r1, r2, #-268435456 14 # CHECK: adc r1, r2, #-268435441 15 # CHECK: adc r7, r8, #-2147483638 16 # CHECK: adc r7, r8, #40, #2 17 # CHECK: adcs r1, r2, #3840 18 # CHECK: adcs r7, r8, #40, #2 19 # CHECK: adcseq r1, r2, #3840 20 # CHECK: adceq r1, r2, #3840 21 22 0x0f 0x10 0xa2 0xe2 23 0xf0 0x10 0xa2 0xe2 24 0x0f 0x1c 0xa2 0xe2 25 0x0f 0x1a 0xa2 0xe2 26 0x0f 0x18 0xa2 0xe2 27 0x0f 0x16 0xa2 0xe2 28 0x0f 0x14 0xa2 0xe2 29 0x0f 0x12 0xa2 0xe2 30 0xff 0x12 0xa2 0xe2 31 0x2a 0x71 0xa8 0xe2 32 0x28 0x71 0xa8 0xe2 33 34 0x0f 0x1c 0xb2 0xe2 35 0x28 0x71 0xb8 0xe2 36 0x0f 0x1c 0xb2 0x02 37 0x0f 0x1c 0xa2 0x02 38 39 #------------------------------------------------------------------------------ 40 # ADC (register) 41 # ADC (shifted register) 42 #------------------------------------------------------------------------------ 43 # CHECK: adc r4, r5, r6 44 45 # CHECK: adc r4, r5, r6, lsl #1 46 # CHECK: adc r4, r5, r6, lsl #31 47 # CHECK: adc r4, r5, r6, lsr #1 48 # CHECK: adc r4, r5, r6, lsr #31 49 # CHECK: adc r4, r5, r6, lsr #32 50 # CHECK: adc r4, r5, r6, asr #1 51 # CHECK: adc r4, r5, r6, asr #31 52 # CHECK: adc r4, r5, r6, asr #32 53 # CHECK: adc r4, r5, r6, ror #1 54 # CHECK: adc r4, r5, r6, ror #31 55 56 # CHECK: adc r6, r7, r8, lsl r9 57 # CHECK: adc r6, r7, r8, lsr r9 58 # CHECK: adc r6, r7, r8, asr r9 59 # CHECK: adc r6, r7, r8, ror r9 60 # CHECK: adc r4, r5, r6, rrx 61 62 # CHECK: adc r5, r5, r6 63 # CHECK: adc r4, r4, r5, lsl #1 64 # CHECK: adc r4, r4, r5, lsl #31 65 # CHECK: adc r4, r4, r5, lsr #1 66 # CHECK: adc r4, r4, r5, lsr #31 67 # CHECK: adc r4, r4, r5, lsr #32 68 # CHECK: adc r4, r4, r5, asr #1 69 # CHECK: adc r4, r4, r5, asr #31 70 # CHECK: adc r4, r4, r5, asr #32 71 # CHECK: adc r4, r4, r5, ror #1 72 # CHECK: adc r4, r4, r5, ror #31 73 # CHECK: adc r4, r4, r5, rrx 74 # CHECK: adc r6, r6, r7, lsl r9 75 # CHECK: adc r6, r6, r7, lsr r9 76 # CHECK: adc r6, r6, r7, asr r9 77 # CHECK: adc r6, r6, r7, ror r9 78 # CHECK: adc r4, r4, r5, rrx 79 80 0x06 0x40 0xa5 0xe0 81 82 0x86 0x40 0xa5 0xe0 83 0x86 0x4f 0xa5 0xe0 84 0xa6 0x40 0xa5 0xe0 85 0xa6 0x4f 0xa5 0xe0 86 0x26 0x40 0xa5 0xe0 87 0xc6 0x40 0xa5 0xe0 88 0xc6 0x4f 0xa5 0xe0 89 0x46 0x40 0xa5 0xe0 90 0xe6 0x40 0xa5 0xe0 91 0xe6 0x4f 0xa5 0xe0 92 93 0x18 0x69 0xa7 0xe0 94 0x38 0x69 0xa7 0xe0 95 0x58 0x69 0xa7 0xe0 96 0x78 0x69 0xa7 0xe0 97 0x66 0x40 0xa5 0xe0 98 99 0x06 0x50 0xa5 0xe0 100 0x85 0x40 0xa4 0xe0 101 0x85 0x4f 0xa4 0xe0 102 0xa5 0x40 0xa4 0xe0 103 0xa5 0x4f 0xa4 0xe0 104 0x25 0x40 0xa4 0xe0 105 0xc5 0x40 0xa4 0xe0 106 0xc5 0x4f 0xa4 0xe0 107 0x45 0x40 0xa4 0xe0 108 0xe5 0x40 0xa4 0xe0 109 0xe5 0x4f 0xa4 0xe0 110 0x65 0x40 0xa4 0xe0 111 0x17 0x69 0xa6 0xe0 112 0x37 0x69 0xa6 0xe0 113 0x57 0x69 0xa6 0xe0 114 0x77 0x69 0xa6 0xe0 115 0x65 0x40 0xa4 0xe0 116 117 #------------------------------------------------------------------------------ 118 # ADD 119 #------------------------------------------------------------------------------ 120 # CHECK: add r4, r5, #61440 121 # CHECK: add r7, r8, #-2147483638 122 # CHECK: add r7, r8, #40, #2 123 # CHECK: add r4, r5, r6 124 # CHECK: add r4, r5, r6, lsl #5 125 # CHECK: add r4, r5, r6, lsr #5 126 # CHECK: add r4, r5, r6, lsr #5 127 # CHECK: add r4, r5, r6, asr #5 128 # CHECK: add r4, r5, r6, ror #5 129 # CHECK: add r6, r7, r8, lsl r9 130 # CHECK: add r6, r7, r8, lsr r9 131 # CHECK: add r6, r7, r8, asr r9 132 # CHECK: add r6, r7, r8, ror r9 133 # CHECK: add r4, r5, r6, rrx 134 135 # CHECK: add r5, r5, #61440 136 # CHECK: add r4, r4, r5 137 # CHECK: add r4, r4, r5, lsl #5 138 # CHECK: add r4, r4, r5, lsr #5 139 # CHECK: add r4, r4, r5, lsr #5 140 # CHECK: add r4, r4, r5, asr #5 141 # CHECK: add r4, r4, r5, ror #5 142 # CHECK: add r6, r6, r7, lsl r9 143 # CHECK: add r6, r6, r7, lsr r9 144 # CHECK: add r6, r6, r7, asr r9 145 # CHECK: add r6, r6, r7, ror r9 146 # CHECK: add r4, r4, r5, rrx 147 148 0x0f 0x4a 0x85 0xe2 149 0x2a 0x71 0x88 0xe2 150 0x28 0x71 0x88 0xe2 151 0x06 0x40 0x85 0xe0 152 0x86 0x42 0x85 0xe0 153 0xa6 0x42 0x85 0xe0 154 0xa6 0x42 0x85 0xe0 155 0xc6 0x42 0x85 0xe0 156 0xe6 0x42 0x85 0xe0 157 0x18 0x69 0x87 0xe0 158 0x38 0x69 0x87 0xe0 159 0x58 0x69 0x87 0xe0 160 0x78 0x69 0x87 0xe0 161 0x66 0x40 0x85 0xe0 162 163 164 0x0f 0x5a 0x85 0xe2 165 0x05 0x40 0x84 0xe0 166 0x85 0x42 0x84 0xe0 167 0xa5 0x42 0x84 0xe0 168 0xa5 0x42 0x84 0xe0 169 0xc5 0x42 0x84 0xe0 170 0xe5 0x42 0x84 0xe0 171 0x17 0x69 0x86 0xe0 172 0x37 0x69 0x86 0xe0 173 0x57 0x69 0x86 0xe0 174 0x77 0x69 0x86 0xe0 175 0x65 0x40 0x84 0xe0 176 177 #------------------------------------------------------------------------------ 178 # ADDS 179 #------------------------------------------------------------------------------ 180 # CHECK: adds r7, r8, #-2147483638 181 # CHECK: adds r7, r8, #40, #2 182 183 0x2a 0x71 0x98 0xe2 184 0x28 0x71 0x98 0xe2 185 186 #------------------------------------------------------------------------------ 187 # ADR 188 #------------------------------------------------------------------------------ 189 # CHECK: add r2, pc, #3 190 # CHECK: sub r2, pc, #3 191 # CHECK: sub r1, pc, #0 192 # CHECK: sub r1, pc, #301989888 193 # CHECK: add r1, pc, #301989888 194 195 0x03 0x20 0x8f 0xe2 196 0x03 0x20 0x4f 0xe2 197 0x00 0x10 0x4f 0xe2 198 0x12 0x14 0x4f 0xe2 199 0x12 0x14 0x8f 0xe2 200 201 #------------------------------------------------------------------------------ 202 # AND 203 #------------------------------------------------------------------------------ 204 # CHECK: and r10, r1, #15 205 # CHECK: and r7, r8, #-2147483638 206 # CHECK: and r7, r8, #40, #2 207 # CHECK: and r10, r1, r6 208 # CHECK: and r10, r1, r6, lsl #10 209 # CHECK: and r10, r1, r6, lsr #10 210 # CHECK: and r10, r1, r6, lsr #10 211 # CHECK: and r10, r1, r6, asr #10 212 # CHECK: and r10, r1, r6, ror #10 213 # CHECK: and r6, r7, r8, lsl r2 214 # CHECK: and r6, r7, r8, lsr r2 215 # CHECK: and r6, r7, r8, asr r2 216 # CHECK: and r6, r7, r8, ror r2 217 # CHECK: and r10, r1, r6, rrx 218 219 # CHECK: and r1, r1, #15 220 # CHECK: and r10, r10, r1 221 # CHECK: and r10, r10, r1, lsl #10 222 # CHECK: and r10, r10, r1, lsr #10 223 # CHECK: and r10, r10, r1, lsr #10 224 # CHECK: and r10, r10, r1, asr #10 225 # CHECK: and r10, r10, r1, ror #10 226 # CHECK: and r6, r6, r7, lsl r2 227 # CHECK: and r6, r6, r7, lsr r2 228 # CHECK: and r6, r6, r7, asr r2 229 # CHECK: and r6, r6, r7, ror r2 230 # CHECK: and r10, r10, r1, rrx 231 232 0x0f 0xa0 0x01 0xe2 233 0x2a 0x71 0x08 0xe2 234 0x28 0x71 0x08 0xe2 235 0x06 0xa0 0x01 0xe0 236 0x06 0xa5 0x01 0xe0 237 0x26 0xa5 0x01 0xe0 238 0x26 0xa5 0x01 0xe0 239 0x46 0xa5 0x01 0xe0 240 0x66 0xa5 0x01 0xe0 241 0x18 0x62 0x07 0xe0 242 0x38 0x62 0x07 0xe0 243 0x58 0x62 0x07 0xe0 244 0x78 0x62 0x07 0xe0 245 0x66 0xa0 0x01 0xe0 246 247 0x0f 0x10 0x01 0xe2 248 0x01 0xa0 0x0a 0xe0 249 0x01 0xa5 0x0a 0xe0 250 0x21 0xa5 0x0a 0xe0 251 0x21 0xa5 0x0a 0xe0 252 0x41 0xa5 0x0a 0xe0 253 0x61 0xa5 0x0a 0xe0 254 0x17 0x62 0x06 0xe0 255 0x37 0x62 0x06 0xe0 256 0x57 0x62 0x06 0xe0 257 0x77 0x62 0x06 0xe0 258 0x61 0xa0 0x0a 0xe0 259 260 #------------------------------------------------------------------------------ 261 # FIXME: ASR 262 #------------------------------------------------------------------------------ 263 264 #------------------------------------------------------------------------------ 265 # BFC 266 #------------------------------------------------------------------------------ 267 # CHECK: bfc r5, #3, #17 268 # CHECK: bfclo r5, #3, #17 269 270 0x9f 0x51 0xd3 0xe7 271 0x9f 0x51 0xd3 0x37 272 273 274 #------------------------------------------------------------------------------ 275 # BFI 276 #------------------------------------------------------------------------------ 277 # CHECK: bfi r5, r2, #3, #17 278 # CHECK: bfine r5, r2, #3, #17 279 280 0x92 0x51 0xd3 0xe7 281 0x92 0x51 0xd3 0x17 282 283 284 #------------------------------------------------------------------------------ 285 # BIC 286 #------------------------------------------------------------------------------ 287 # CHECK: bic r10, r1, #15 288 # CHECK: bic r7, r8, #-2147483638 289 # CHECK: bic r7, r8, #40, #2 290 # CHECK: bic r10, r1, r6 291 # CHECK: bic r10, r1, r6, lsl #10 292 # CHECK: bic r10, r1, r6, lsr #10 293 # CHECK: bic r10, r1, r6, lsr #10 294 # CHECK: bic r10, r1, r6, asr #10 295 # CHECK: bic r10, r1, r6, ror #10 296 # CHECK: bic r6, r7, r8, lsl r2 297 # CHECK: bic r6, r7, r8, lsr r2 298 # CHECK: bic r6, r7, r8, asr r2 299 # CHECK: bic r6, r7, r8, ror r2 300 # CHECK: bic r10, r1, r6, rrx 301 302 # CHECK: bic r1, r1, #15 303 # CHECK: bic r10, r10, r1 304 # CHECK: bic r10, r10, r1, lsl #10 305 # CHECK: bic r10, r10, r1, lsr #10 306 # CHECK: bic r10, r10, r1, lsr #10 307 # CHECK: bic r10, r10, r1, asr #10 308 # CHECK: bic r10, r10, r1, ror #10 309 # CHECK: bic r6, r6, r7, lsl r2 310 # CHECK: bic r6, r6, r7, lsr r2 311 # CHECK: bic r6, r6, r7, asr r2 312 # CHECK: bic r6, r6, r7, ror r2 313 # CHECK: bic r10, r10, r1, rrx 314 315 0x0f 0xa0 0xc1 0xe3 316 0x2a 0x71 0xc8 0xe3 317 0x28 0x71 0xc8 0xe3 318 0x06 0xa0 0xc1 0xe1 319 0x06 0xa5 0xc1 0xe1 320 0x26 0xa5 0xc1 0xe1 321 0x26 0xa5 0xc1 0xe1 322 0x46 0xa5 0xc1 0xe1 323 0x66 0xa5 0xc1 0xe1 324 0x18 0x62 0xc7 0xe1 325 0x38 0x62 0xc7 0xe1 326 0x58 0x62 0xc7 0xe1 327 0x78 0x62 0xc7 0xe1 328 0x66 0xa0 0xc1 0xe1 329 330 331 0x0f 0x10 0xc1 0xe3 332 0x01 0xa0 0xca 0xe1 333 0x01 0xa5 0xca 0xe1 334 0x21 0xa5 0xca 0xe1 335 0x21 0xa5 0xca 0xe1 336 0x41 0xa5 0xca 0xe1 337 0x61 0xa5 0xca 0xe1 338 0x17 0x62 0xc6 0xe1 339 0x37 0x62 0xc6 0xe1 340 0x57 0x62 0xc6 0xe1 341 0x77 0x62 0xc6 0xe1 342 0x61 0xa0 0xca 0xe1 343 344 #------------------------------------------------------------------------------ 345 # BKPT 346 #------------------------------------------------------------------------------ 347 # CHECK: bkpt #10 348 # CHECK: bkpt #65535 349 350 0x7a 0x00 0x20 0xe1 351 0x7f 0xff 0x2f 0xe1 352 353 #------------------------------------------------------------------------------ 354 # BLX (register) 355 #------------------------------------------------------------------------------ 356 # CHECK: blx r2 357 # CHECK: blxne r2 358 359 0x32 0xff 0x2f 0xe1 360 0x32 0xff 0x2f 0x11 361 362 #------------------------------------------------------------------------------ 363 # BLX (immediate) 364 #------------------------------------------------------------------------------ 365 # CHECK: blx #32424576 366 # CHECK: blx #16212288 367 368 0xa0 0xb0 0x7b 0xfa 369 0x50 0xd8 0x3d 0xfa 370 371 #------------------------------------------------------------------------------ 372 # BX 373 #------------------------------------------------------------------------------ 374 375 # CHECK: bx r2 376 # CHECK: bxne r2 377 378 0x12 0xff 0x2f 0xe1 379 0x12 0xff 0x2f 0x11 380 381 #------------------------------------------------------------------------------ 382 # BXJ 383 #------------------------------------------------------------------------------ 384 385 # CHECK: bxj r2 386 # CHECK: bxjne r2 387 388 0x22 0xff 0x2f 0xe1 389 0x22 0xff 0x2f 0x11 390 391 392 #------------------------------------------------------------------------------ 393 # CDP/CDP2 394 #------------------------------------------------------------------------------ 395 # CHECK: cdp p7, #1, c1, c1, c1, #4 396 # CHECK: cdp2 p7, #1, c1, c1, c1, #4 397 398 0x81 0x17 0x11 0xee 399 0x81 0x17 0x11 0xfe 400 401 402 #------------------------------------------------------------------------------ 403 # CLREX 404 #------------------------------------------------------------------------------ 405 # CHECK: clrex 406 407 0x1f 0xf0 0x7f 0xf5 408 409 410 #------------------------------------------------------------------------------ 411 # CLZ 412 #------------------------------------------------------------------------------ 413 # CHECK: clz r1, r2 414 # CHECK: clzeq r1, r2 415 416 0x12 0x1f 0x6f 0xe1 417 0x12 0x1f 0x6f 0x01 418 419 #------------------------------------------------------------------------------ 420 # CMN 421 #------------------------------------------------------------------------------ 422 # CHECK: cmn r1, #15 423 # CHECK: cmn r7, #40, #2 424 # CHECK: cmn r7, #-2147483638 425 # CHECK: cmn r1, r6 426 # CHECK: cmn r1, r6, lsl #10 427 # CHECK: cmn r1, r6, lsr #10 428 # CHECK: cmn sp, r6, lsr #10 429 # CHECK: cmn r1, r6, asr #10 430 # CHECK: cmn r1, r6, ror #10 431 # CHECK: cmn r7, r8, lsl r2 432 # CHECK: cmn sp, r8, lsr r2 433 # CHECK: cmn r7, r8, asr r2 434 # CHECK: cmn r7, r8, ror r2 435 # CHECK: cmn r1, r6, rrx 436 437 0x0f 0x00 0x71 0xe3 438 0x28 0x01 0x77 0xe3 439 0x2a 0x01 0x77 0xe3 440 0x06 0x00 0x71 0xe1 441 0x06 0x05 0x71 0xe1 442 0x26 0x05 0x71 0xe1 443 0x26 0x05 0x7d 0xe1 444 0x46 0x05 0x71 0xe1 445 0x66 0x05 0x71 0xe1 446 0x18 0x02 0x77 0xe1 447 0x38 0x02 0x7d 0xe1 448 0x58 0x02 0x77 0xe1 449 0x78 0x02 0x77 0xe1 450 0x66 0x00 0x71 0xe1 451 452 #------------------------------------------------------------------------------ 453 # CMP 454 #------------------------------------------------------------------------------ 455 # CHECK: cmp r1, #15 456 # CHECK: cmp r7, #40, #2 457 # CHECK: cmp r7, #-2147483638 458 # CHECK: cmp r1, r6 459 # CHECK: cmp r1, r6, lsl #10 460 # CHECK: cmp r1, r6, lsr #10 461 # CHECK: cmp sp, r6, lsr #10 462 # CHECK: cmp r1, r6, asr #10 463 # CHECK: cmp r1, r6, ror #10 464 # CHECK: cmp r7, r8, lsl r2 465 # CHECK: cmp sp, r8, lsr r2 466 # CHECK: cmp r7, r8, asr r2 467 # CHECK: cmp r7, r8, ror r2 468 # CHECK: cmp r1, r6, rrx 469 470 0x0f 0x00 0x51 0xe3 471 0x28 0x01 0x57 0xe3 472 0x2a 0x01 0x57 0xe3 473 0x06 0x00 0x51 0xe1 474 0x06 0x05 0x51 0xe1 475 0x26 0x05 0x51 0xe1 476 0x26 0x05 0x5d 0xe1 477 0x46 0x05 0x51 0xe1 478 0x66 0x05 0x51 0xe1 479 0x18 0x02 0x57 0xe1 480 0x38 0x02 0x5d 0xe1 481 0x58 0x02 0x57 0xe1 482 0x78 0x02 0x57 0xe1 483 0x66 0x00 0x51 0xe1 484 485 486 #------------------------------------------------------------------------------ 487 # CPS 488 #------------------------------------------------------------------------------ 489 # CHECK: cpsie aif 490 # CHECK: cps #15 491 # CHECK: cpsid if, #10 492 # CHECK: cpsid af, #17 493 # CHECK: cpsie f, #26 494 495 0xc0 0x01 0x08 0xf1 496 0x0f 0x00 0x02 0xf1 497 0xca 0x00 0x0e 0xf1 498 0x51 0x01 0x0e 0xf1 499 0x5a 0x00 0x0a 0xf1 500 501 502 #------------------------------------------------------------------------------ 503 # DBG 504 #------------------------------------------------------------------------------ 505 # CHECK: dbg #0 506 # CHECK: dbg #5 507 # CHECK: dbg #15 508 509 0xf0 0xf0 0x20 0xe3 510 0xf5 0xf0 0x20 0xe3 511 0xff 0xf0 0x20 0xe3 512 513 514 #------------------------------------------------------------------------------ 515 # DMB 516 #------------------------------------------------------------------------------ 517 518 # CHECK: dmb #0x0 519 # CHECK: dmb #0x1 520 # CHECK: dmb oshst 521 # CHECK: dmb osh 522 # CHECK: dmb #0x4 523 # CHECK: dmb #0x5 524 # CHECK: dmb nshst 525 # CHECK: dmb nsh 526 # CHECK: dmb #0x8 527 # CHECK: dmb #0x9 528 # CHECK: dmb ishst 529 # CHECK: dmb ish 530 # CHECK: dmb #0xc 531 # CHECK: dmb #0xd 532 # CHECK: dmb st 533 # CHECK: dmb sy 534 535 0x50 0xf0 0x7f 0xf5 536 0x51 0xf0 0x7f 0xf5 537 0x52 0xf0 0x7f 0xf5 538 0x53 0xf0 0x7f 0xf5 539 0x54 0xf0 0x7f 0xf5 540 0x55 0xf0 0x7f 0xf5 541 0x56 0xf0 0x7f 0xf5 542 0x57 0xf0 0x7f 0xf5 543 0x58 0xf0 0x7f 0xf5 544 0x59 0xf0 0x7f 0xf5 545 0x5a 0xf0 0x7f 0xf5 546 0x5b 0xf0 0x7f 0xf5 547 0x5c 0xf0 0x7f 0xf5 548 0x5d 0xf0 0x7f 0xf5 549 0x5e 0xf0 0x7f 0xf5 550 0x5f 0xf0 0x7f 0xf5 551 552 #------------------------------------------------------------------------------ 553 # DSB 554 #------------------------------------------------------------------------------ 555 556 # CHECK: dsb #0x0 557 # CHECK: dsb #0x1 558 # CHECK: dsb oshst 559 # CHECK: dsb osh 560 # CHECK: dsb #0x4 561 # CHECK: dsb #0x5 562 # CHECK: dsb nshst 563 # CHECK: dsb nsh 564 # CHECK: dsb #0x8 565 # CHECK: dsb #0x9 566 # CHECK: dsb ishst 567 # CHECK: dsb ish 568 # CHECK: dsb #0xc 569 # CHECK: dsb #0xd 570 # CHECK: dsb st 571 # CHECK: dsb sy 572 573 0x40 0xf0 0x7f 0xf5 574 0x41 0xf0 0x7f 0xf5 575 0x42 0xf0 0x7f 0xf5 576 0x43 0xf0 0x7f 0xf5 577 0x44 0xf0 0x7f 0xf5 578 0x45 0xf0 0x7f 0xf5 579 0x46 0xf0 0x7f 0xf5 580 0x47 0xf0 0x7f 0xf5 581 0x48 0xf0 0x7f 0xf5 582 0x49 0xf0 0x7f 0xf5 583 0x4a 0xf0 0x7f 0xf5 584 0x4b 0xf0 0x7f 0xf5 585 0x4c 0xf0 0x7f 0xf5 586 0x4d 0xf0 0x7f 0xf5 587 0x4e 0xf0 0x7f 0xf5 588 0x4f 0xf0 0x7f 0xf5 589 590 #------------------------------------------------------------------------------ 591 # EOR 592 #------------------------------------------------------------------------------ 593 # CHECK: eor r4, r5, #61440 594 # CHECK: eor r7, r8, #-2147483638 595 # CHECK: eor r7, r8, #40, #2 596 # CHECK: eor r4, r5, r6 597 # CHECK: eor r4, r5, r6, lsl #5 598 # CHECK: eor r4, r5, r6, lsr #5 599 # CHECK: eor r4, r5, r6, lsr #5 600 # CHECK: eor r4, r5, r6, asr #5 601 # CHECK: eor r4, r5, r6, ror #5 602 # CHECK: eor r6, r7, r8, lsl r9 603 # CHECK: eor r6, r7, r8, lsr r9 604 # CHECK: eor r6, r7, r8, asr r9 605 # CHECK: eor r6, r7, r8, ror r9 606 # CHECK: eor r4, r5, r6, rrx 607 608 # CHECK: eor r5, r5, #61440 609 # CHECK: eor r4, r4, r5 610 # CHECK: eor r4, r4, r5, lsl #5 611 # CHECK: eor r4, r4, r5, lsr #5 612 # CHECK: eor r4, r4, r5, lsr #5 613 # CHECK: eor r4, r4, r5, asr #5 614 # CHECK: eor r4, r4, r5, ror #5 615 # CHECK: eor r6, r6, r7, lsl r9 616 # CHECK: eor r6, r6, r7, lsr r9 617 # CHECK: eor r6, r6, r7, asr r9 618 # CHECK: eor r6, r6, r7, ror r9 619 # CHECK: eor r4, r4, r5, rrx 620 621 0x0f 0x4a 0x25 0xe2 622 0x2a 0x71 0x28 0xe2 623 0x28 0x71 0x28 0xe2 624 0x06 0x40 0x25 0xe0 625 0x86 0x42 0x25 0xe0 626 0xa6 0x42 0x25 0xe0 627 0xa6 0x42 0x25 0xe0 628 0xc6 0x42 0x25 0xe0 629 0xe6 0x42 0x25 0xe0 630 0x18 0x69 0x27 0xe0 631 0x38 0x69 0x27 0xe0 632 0x58 0x69 0x27 0xe0 633 0x78 0x69 0x27 0xe0 634 0x66 0x40 0x25 0xe0 635 636 637 0x0f 0x5a 0x25 0xe2 638 0x05 0x40 0x24 0xe0 639 0x85 0x42 0x24 0xe0 640 0xa5 0x42 0x24 0xe0 641 0xa5 0x42 0x24 0xe0 642 0xc5 0x42 0x24 0xe0 643 0xe5 0x42 0x24 0xe0 644 0x17 0x69 0x26 0xe0 645 0x37 0x69 0x26 0xe0 646 0x57 0x69 0x26 0xe0 647 0x77 0x69 0x26 0xe0 648 0x65 0x40 0x24 0xe0 649 650 651 #------------------------------------------------------------------------------ 652 # ISB 653 #------------------------------------------------------------------------------ 654 # CHECK: isb sy 655 # CHECK: isb #0xa 656 657 0x6f 0xf0 0x7f 0xf5 658 0x6a 0xf0 0x7f 0xf5 659 660 661 662 #------------------------------------------------------------------------------ 663 # LDM* 664 #------------------------------------------------------------------------------ 665 # CHECK: ldm r2, {r1, r3, r4, r5, r6, sp} 666 # CHECK: ldmib r2, {r1, r3, r4, r5, r6, sp} 667 # CHECK: ldmda r2, {r1, r3, r4, r5, r6, sp} 668 # CHECK: ldmdb r2, {r1, r3, r4, r5, r6, sp} 669 670 671 # CHECK: ldm r2!, {r1, r3, r4, r5, r6, sp} 672 # CHECK: ldmib r2!, {r1, r3, r4, r5, r6, sp} 673 # CHECK: ldmda r2!, {r1, r3, r4, r5, r6, sp} 674 # CHECK: ldmdb r2!, {r1, r3, r4, r5, r6, sp} 675 676 0x7a 0x20 0x92 0xe8 677 0x7a 0x20 0x92 0xe9 678 0x7a 0x20 0x12 0xe8 679 0x7a 0x20 0x12 0xe9 680 681 0x7a 0x20 0xb2 0xe8 682 0x7a 0x20 0xb2 0xe9 683 0x7a 0x20 0x32 0xe8 684 0x7a 0x20 0x32 0xe9 685 686 687 #------------------------------------------------------------------------------ 688 # LDREX/LDREXB/LDREXH/LDREXD 689 #------------------------------------------------------------------------------ 690 # CHECK: ldrexb r3, [r4] 691 # CHECK: ldrexh r2, [r5] 692 # CHECK: ldrex r1, [r7] 693 # CHECK: ldrexd r6, r7, [r8] 694 695 0x9f 0x3f 0xd4 0xe1 696 0x9f 0x2f 0xf5 0xe1 697 0x9f 0x1f 0x97 0xe1 698 0x9f 0x6f 0xb8 0xe1 699 700 701 #------------------------------------------------------------------------------ 702 # FIXME: LSL 703 #------------------------------------------------------------------------------ 704 #------------------------------------------------------------------------------ 705 # FIXME: LSR 706 #------------------------------------------------------------------------------ 707 708 #------------------------------------------------------------------------------ 709 # MCR/MCR2 710 #------------------------------------------------------------------------------ 711 # CHECK: mcr p7, #1, r5, c1, c1, #4 712 # CHECK: mcr2 p7, #1, r5, c1, c1, #4 713 714 0x91 0x57 0x21 0xee 715 0x91 0x57 0x21 0xfe 716 717 #------------------------------------------------------------------------------ 718 # MCRR/MCRR2 719 #------------------------------------------------------------------------------ 720 # CHECK: mcrr p7, #15, r5, r4, c1 721 # CHECK: mcrr2 p7, #15, r5, r4, c1 722 723 0xf1 0x57 0x44 0xec 724 0xf1 0x57 0x44 0xfc 725 726 727 #------------------------------------------------------------------------------ 728 # MLA 729 #------------------------------------------------------------------------------ 730 # CHECK: mla r1, r2, r3, r4 731 # CHECK: mlas r1, r2, r3, r4 732 # CHECK: mlane r1, r2, r3, r4 733 # CHECK: mlasne r1, r2, r3, r4 734 735 0x92 0x43 0x21 0xe0 736 0x92 0x43 0x31 0xe0 737 0x92 0x43 0x21 0x10 738 0x92 0x43 0x31 0x10 739 740 #------------------------------------------------------------------------------ 741 # MLS 742 #------------------------------------------------------------------------------ 743 # CHECK: mls r2, r5, r6, r3 744 # CHECK: mlsne r2, r5, r6, r3 745 746 0x95 0x36 0x62 0xe0 747 0x95 0x36 0x62 0x10 748 749 #------------------------------------------------------------------------------ 750 # MOV (immediate) 751 #------------------------------------------------------------------------------ 752 # CHECK: mov r3, #7 753 # CHECK: mov r4, #4080 754 # CHECK: mov r5, #16711680 755 # CHECK: mov sp, #35 756 # CHECK: mov r9, #240, #30 757 # CHECK: mov r7, #-2147483638 758 # CHECK: mov pc, #2147483658 759 # CHECK: movw r6, #65535 760 # CHECK: movw r9, #65535 761 # CHECK: movw sp, #1193 762 # CHECK: movs r3, #7 763 # CHECK: movs r11, #99 764 # CHECK: movs r11, #240, #30 765 # CHECK: moveq r4, #4080 766 # CHECK: movseq r5, #16711680 767 768 0x07 0x30 0xa0 0xe3 769 0xff 0x4e 0xa0 0xe3 770 0xff 0x58 0xa0 0xe3 771 0x23 0xd0 0xa0 0xe3 772 0xf0 0x9f 0xa0 0xe3 773 0x2a 0x71 0xa0 0xe3 774 0x2a 0xf1 0xa0 0xe3 775 0xff 0x6f 0x0f 0xe3 776 0xff 0x9f 0x0f 0xe3 777 0xa9 0xd4 0x00 0xe3 778 0x07 0x30 0xb0 0xe3 779 0x63 0xb0 0xb0 0xe3 780 0xf0 0xbf 0xb0 0xe3 781 0xff 0x4e 0xa0 0x03 782 0xff 0x58 0xb0 0x03 783 784 #------------------------------------------------------------------------------ 785 # MOV (register) 786 #------------------------------------------------------------------------------ 787 # CHECK: mov r2, r3 788 # CHECK: movs r2, r3 789 # CHECK: moveq r2, r3 790 # CHECK: movseq r2, r3 791 792 0x03 0x20 0xa0 0xe1 793 0x03 0x20 0xb0 0xe1 794 0x03 0x20 0xa0 0x01 795 0x03 0x20 0xb0 0x01 796 797 #------------------------------------------------------------------------------ 798 # MOVT 799 #------------------------------------------------------------------------------ 800 # CHECK: movt r3, #7 801 # CHECK: movt r6, #65535 802 # CHECK: movt sp, #3397 803 # CHECK: movteq r4, #4080 804 805 0x07 0x30 0x40 0xe3 806 0xff 0x6f 0x4f 0xe3 807 0x45 0xdd 0x40 0xe3 808 0xf0 0x4f 0x40 0x03 809 810 811 #------------------------------------------------------------------------------ 812 # MRC/MRC2 813 #------------------------------------------------------------------------------ 814 # CHECK: mrc p14, #0, r1, c1, c2, #4 815 # CHECK: mrc p15, #7, apsr_nzcv, c15, c6, #6 816 # CHECK: mrc2 p14, #0, r1, c1, c2, #4 817 # CHECK: mrc2 p9, #7, apsr_nzcv, c15, c0, #1 818 819 0x92 0x1e 0x11 0xee 820 0xd6 0xff 0xff 0xee 821 0x92 0x1e 0x11 0xfe 822 0x30 0xf9 0xff 0xfe 823 824 #------------------------------------------------------------------------------ 825 # MRRC/MRRC2 826 #------------------------------------------------------------------------------ 827 # CHECK: mrrc p7, #1, r5, r4, c1 828 # CHECK: mrrc2 p7, #1, r5, r4, c1 829 830 0x11 0x57 0x54 0xec 831 0x11 0x57 0x54 0xfc 832 833 834 #------------------------------------------------------------------------------ 835 # MRS 836 #------------------------------------------------------------------------------ 837 # CHECK: mrs r8, apsr 838 # CHECK: mrs r8, spsr 839 0x00 0x80 0x0f 0xe1 840 0x00 0x80 0x4f 0xe1 841 842 843 844 #------------------------------------------------------------------------------ 845 # MSR 846 #------------------------------------------------------------------------------ 847 848 # CHECK: msr CPSR_fc, #5 849 # CHECK: msr APSR_g, #5 850 # CHECK: msr APSR_nzcvq, #5 851 # CHECK: msr APSR_nzcvq, #5 852 # CHECK: msr APSR_nzcvqg, #5 853 # CHECK: msr CPSR_fc, #5 854 # CHECK: msr CPSR_c, #5 855 # CHECK: msr CPSR_x, #5 856 # CHECK: msr CPSR_fc, #5 857 # CHECK: msr CPSR_fc, #5 858 # CHECK: msr CPSR_fsx, #5 859 # CHECK: msr SPSR_fc, #5 860 # CHECK: msr SPSR_fsxc, #5 861 # CHECK: msr CPSR_fsxc, #5 862 # CHECK: msr APSR_nzcvq, #2147483658 863 # CHECK: msr SPSR_fsxc, #40, #2 864 865 0x05 0xf0 0x29 0xe3 866 0x05 0xf0 0x24 0xe3 867 0x05 0xf0 0x28 0xe3 868 0x05 0xf0 0x28 0xe3 869 0x05 0xf0 0x2c 0xe3 870 0x05 0xf0 0x29 0xe3 871 0x05 0xf0 0x21 0xe3 872 0x05 0xf0 0x22 0xe3 873 0x05 0xf0 0x29 0xe3 874 0x05 0xf0 0x29 0xe3 875 0x05 0xf0 0x2e 0xe3 876 0x05 0xf0 0x69 0xe3 877 0x05 0xf0 0x6f 0xe3 878 0x05 0xf0 0x2f 0xe3 879 0x2a 0xf1 0x28 0xe3 880 0x28 0xf1 0x6f 0xe3 881 882 # CHECK: msr CPSR_fc, r0 883 # CHECK: msr APSR_g, r0 884 # CHECK: msr APSR_nzcvq, r0 885 # CHECK: msr APSR_nzcvq, r0 886 # CHECK: msr APSR_nzcvqg, r0 887 # CHECK: msr CPSR_fc, r0 888 # CHECK: msr CPSR_c, r0 889 # CHECK: msr CPSR_x, r0 890 # CHECK: msr CPSR_fc, r0 891 # CHECK: msr CPSR_fc, r0 892 # CHECK: msr CPSR_fsx, r0 893 # CHECK: msr SPSR_fc, r0 894 # CHECK: msr SPSR_fsxc, r0 895 # CHECK: msr CPSR_fsxc, r0 896 897 0x00 0xf0 0x29 0xe1 898 0x00 0xf0 0x24 0xe1 899 0x00 0xf0 0x28 0xe1 900 0x00 0xf0 0x28 0xe1 901 0x00 0xf0 0x2c 0xe1 902 0x00 0xf0 0x29 0xe1 903 0x00 0xf0 0x21 0xe1 904 0x00 0xf0 0x22 0xe1 905 0x00 0xf0 0x29 0xe1 906 0x00 0xf0 0x29 0xe1 907 0x00 0xf0 0x2e 0xe1 908 0x00 0xf0 0x69 0xe1 909 0x00 0xf0 0x6f 0xe1 910 0x00 0xf0 0x2f 0xe1 911 912 #------------------------------------------------------------------------------ 913 # MUL 914 #------------------------------------------------------------------------------ 915 916 # CHECK: mul r5, r6, r7 917 # CHECK: muls r5, r6, r7 918 # CHECK: mulgt r5, r6, r7 919 # CHECK: mulsle r5, r6, r7 920 921 0x96 0x07 0x05 0xe0 922 0x96 0x07 0x15 0xe0 923 0x96 0x07 0x05 0xc0 924 0x96 0x07 0x15 0xd0 925 926 927 #------------------------------------------------------------------------------ 928 # MVN (immediate) 929 #------------------------------------------------------------------------------ 930 # CHECK: mvn r3, #7 931 # CHECK: mvn r4, #4080 932 # CHECK: mvn r5, #16711680 933 # CHECK: mvn r7, #40, #2 934 # CHECK: mvn r7, #-2147483638 935 # CHECK: mvns r3, #7 936 # CHECK: mvns r11, #240, #30 937 # CHECK: mvns r11, #-2147483638 938 # CHECK: mvneq r4, #4080 939 # CHECK: mvnseq r5, #16711680 940 941 0x07 0x30 0xe0 0xe3 942 0xff 0x4e 0xe0 0xe3 943 0xff 0x58 0xe0 0xe3 944 0x28 0x71 0xe0 0xe3 945 0x2a 0x71 0xe0 0xe3 946 0x07 0x30 0xf0 0xe3 947 0xf0 0xbf 0xf0 0xe3 948 0x2a 0xb1 0xf0 0xe3 949 0xff 0x4e 0xe0 0x03 950 0xff 0x58 0xf0 0x03 951 952 953 #------------------------------------------------------------------------------ 954 # MVN (register) 955 #------------------------------------------------------------------------------ 956 # CHECK: mvn r2, r3 957 # CHECK: mvns r2, r3 958 # CHECK: mvn r5, r6, lsl #19 959 # CHECK: mvn r5, r6, lsr #9 960 # CHECK: mvn r5, r6, asr #4 961 # CHECK: mvn r5, r6, ror #6 962 # CHECK: mvn r5, r6, rrx 963 # CHECK: mvneq r2, r3 964 # CHECK: mvnseq r2, r3, lsl #10 965 966 0x03 0x20 0xe0 0xe1 967 0x03 0x20 0xf0 0xe1 968 0x86 0x59 0xe0 0xe1 969 0xa6 0x54 0xe0 0xe1 970 0x46 0x52 0xe0 0xe1 971 0x66 0x53 0xe0 0xe1 972 0x66 0x50 0xe0 0xe1 973 0x03 0x20 0xe0 0x01 974 0x03 0x25 0xf0 0x01 975 976 977 #------------------------------------------------------------------------------ 978 # MVN (shifted register) 979 #------------------------------------------------------------------------------ 980 # CHECK: mvn r5, r6, lsl r7 981 # CHECK: mvns r5, r6, lsr r7 982 # CHECK: mvngt r5, r6, asr r7 983 # CHECK: mvnslt r5, r6, ror r7 984 985 0x16 0x57 0xe0 0xe1 986 0x36 0x57 0xf0 0xe1 987 0x56 0x57 0xe0 0xc1 988 0x76 0x57 0xf0 0xb1 989 990 #------------------------------------------------------------------------------ 991 # NOP 992 #------------------------------------------------------------------------------ 993 # CHECK: nop 994 # CHECK: nopgt 995 996 0x00 0xf0 0x20 0xe3 997 0x00 0xf0 0x20 0xc3 998 999 1000 #------------------------------------------------------------------------------ 1001 # ORR 1002 #------------------------------------------------------------------------------ 1003 # CHECK: orr r4, r5, #61440 1004 # CHECK: orr r7, r8, #-2147483638 1005 # CHECK: orr r7, r8, #40, #2 1006 # CHECK: orr r4, r5, r6 1007 # CHECK: orr r4, r5, r6, lsl #5 1008 # CHECK: orr r4, r5, r6, lsr #5 1009 # CHECK: orr r4, r5, r6, lsr #5 1010 # CHECK: orr r4, r5, r6, asr #5 1011 # CHECK: orr r4, r5, r6, ror #5 1012 # CHECK: orr r6, r7, r8, lsl r9 1013 # CHECK: orr r6, r7, r8, lsr r9 1014 # CHECK: orr r6, r7, r8, asr r9 1015 # CHECK: orr r6, r7, r8, ror r9 1016 # CHECK: orr r4, r5, r6, rrx 1017 1018 # CHECK: orr r5, r5, #61440 1019 # CHECK: orr r4, r4, r5 1020 # CHECK: orr r4, r4, r5, lsl #5 1021 # CHECK: orr r4, r4, r5, lsr #5 1022 # CHECK: orr r4, r4, r5, lsr #5 1023 # CHECK: orr r4, r4, r5, asr #5 1024 # CHECK: orr r4, r4, r5, ror #5 1025 # CHECK: orr r6, r6, r7, lsl r9 1026 # CHECK: orr r6, r6, r7, lsr r9 1027 # CHECK: orr r6, r6, r7, asr r9 1028 # CHECK: orr r6, r6, r7, ror r9 1029 # CHECK: orr r4, r4, r5, rrx 1030 1031 0x0f 0x4a 0x85 0xe3 1032 0x2a 0x71 0x88 0xe3 1033 0x28 0x71 0x88 0xe3 1034 0x06 0x40 0x85 0xe1 1035 0x86 0x42 0x85 0xe1 1036 0xa6 0x42 0x85 0xe1 1037 0xa6 0x42 0x85 0xe1 1038 0xc6 0x42 0x85 0xe1 1039 0xe6 0x42 0x85 0xe1 1040 0x18 0x69 0x87 0xe1 1041 0x38 0x69 0x87 0xe1 1042 0x58 0x69 0x87 0xe1 1043 0x78 0x69 0x87 0xe1 1044 0x66 0x40 0x85 0xe1 1045 1046 0x0f 0x5a 0x85 0xe3 1047 0x05 0x40 0x84 0xe1 1048 0x85 0x42 0x84 0xe1 1049 0xa5 0x42 0x84 0xe1 1050 0xa5 0x42 0x84 0xe1 1051 0xc5 0x42 0x84 0xe1 1052 0xe5 0x42 0x84 0xe1 1053 0x17 0x69 0x86 0xe1 1054 0x37 0x69 0x86 0xe1 1055 0x57 0x69 0x86 0xe1 1056 0x77 0x69 0x86 0xe1 1057 0x65 0x40 0x84 0xe1 1058 1059 # CHECK: orrseq r4, r5, #61440 1060 # CHECK: orrne r4, r5, r6 1061 # CHECK: orrseq r4, r5, r6, lsl #5 1062 # CHECK: orrlo r6, r7, r8, ror r9 1063 # CHECK: orrshi r4, r5, r6, rrx 1064 # CHECK: orrhs r5, r5, #61440 1065 # CHECK: orrseq r4, r4, r5 1066 # CHECK: orrne r6, r6, r7, asr r9 1067 # CHECK: orrslt r6, r6, r7, ror r9 1068 # CHECK: orrsgt r4, r4, r5, rrx 1069 1070 0x0f 0x4a 0x95 0x03 1071 0x06 0x40 0x85 0x11 1072 0x86 0x42 0x95 0x01 1073 0x78 0x69 0x87 0x31 1074 0x66 0x40 0x95 0x81 1075 0x0f 0x5a 0x85 0x23 1076 0x05 0x40 0x94 0x01 1077 0x57 0x69 0x86 0x11 1078 0x77 0x69 0x96 0xb1 1079 0x65 0x40 0x94 0xc1 1080 1081 #------------------------------------------------------------------------------ 1082 # PKH 1083 #------------------------------------------------------------------------------ 1084 # CHECK: pkhbt r2, r2, r3 1085 # CHECK: pkhbt r2, r2, r3, lsl #31 1086 # CHECK: pkhbt r2, r2, r3 1087 # CHECK: pkhbt r2, r2, r3, lsl #15 1088 1089 # CHECK: pkhbt r2, r2, r3 1090 # CHECK: pkhtb r2, r2, r3, asr #31 1091 # CHECK: pkhtb r2, r2, r3, asr #15 1092 1093 0x13 0x20 0x82 0xe6 1094 0x93 0x2f 0x82 0xe6 1095 0x13 0x20 0x82 0xe6 1096 0x93 0x27 0x82 0xe6 1097 1098 0x13 0x20 0x82 0xe6 1099 0xd3 0x2f 0x82 0xe6 1100 0xd3 0x27 0x82 0xe6 1101 1102 #------------------------------------------------------------------------------ 1103 # FIXME: PLD 1104 #------------------------------------------------------------------------------ 1105 #------------------------------------------------------------------------------ 1106 # FIXME: PLI 1107 #------------------------------------------------------------------------------ 1108 1109 1110 #------------------------------------------------------------------------------ 1111 # POP 1112 #------------------------------------------------------------------------------ 1113 # CHECK: ldr r7, [sp], #4 1114 # CHECK: pop {r7, r8, r9, r10} 1115 1116 0x04 0x70 0x9d 0xe4 1117 0x80 0x07 0xbd 0xe8 1118 1119 1120 #------------------------------------------------------------------------------ 1121 # PUSH 1122 #------------------------------------------------------------------------------ 1123 # CHECK: str r7, [sp, #-4]! 1124 # CHECK: push {r7, r8, r9, r10} 1125 1126 0x04 0x70 0x2d 0xe5 1127 0x80 0x07 0x2d 0xe9 1128 1129 1130 #------------------------------------------------------------------------------ 1131 # QADD/QADD16/QADD8 1132 #------------------------------------------------------------------------------ 1133 # CHECK: qadd r1, r2, r3 1134 # CHECK: qaddne r1, r2, r3 1135 # CHECK: qadd16 r1, r2, r3 1136 # CHECK: qadd16gt r1, r2, r3 1137 # CHECK: qadd8 r1, r2, r3 1138 # CHECK: qadd8le r1, r2, r3 1139 1140 0x52 0x10 0x03 0xe1 1141 0x52 0x10 0x03 0x11 1142 0x13 0x1f 0x22 0xe6 1143 0x13 0x1f 0x22 0xc6 1144 0x93 0x1f 0x22 0xe6 1145 0x93 0x1f 0x22 0xd6 1146 1147 1148 #------------------------------------------------------------------------------ 1149 # QDADD/QDSUB 1150 #------------------------------------------------------------------------------ 1151 # CHECK: qdadd r6, r7, r8 1152 # CHECK: qdaddhi r6, r7, r8 1153 # CHECK: qdsub r6, r7, r8 1154 # CHECK: qdsubhi r6, r7, r8 1155 1156 0x57 0x60 0x48 0xe1 1157 0x57 0x60 0x48 0x81 1158 0x57 0x60 0x68 0xe1 1159 0x57 0x60 0x68 0x81 1160 1161 1162 #------------------------------------------------------------------------------ 1163 # QSAX 1164 #------------------------------------------------------------------------------ 1165 # CHECK: qsax r9, r12, r0 1166 # CHECK: qsaxeq r9, r12, r0 1167 1168 0x50 0x9f 0x2c 0xe6 1169 0x50 0x9f 0x2c 0x06 1170 1171 1172 #------------------------------------------------------------------------------ 1173 # QSUB/QSUB16/QSUB8 1174 #------------------------------------------------------------------------------ 1175 # CHECK: qsub r1, r2, r3 1176 # CHECK: qsubne r1, r2, r3 1177 # CHECK: qsub16 r1, r2, r3 1178 # CHECK: qsub16gt r1, r2, r3 1179 # CHECK: qsub8 r1, r2, r3 1180 # CHECK: qsub8le r1, r2, r3 1181 1182 0x52 0x10 0x23 0xe1 1183 0x52 0x10 0x23 0x11 1184 0x73 0x1f 0x22 0xe6 1185 0x73 0x1f 0x22 0xc6 1186 0xf3 0x1f 0x22 0xe6 1187 0xf3 0x1f 0x22 0xd6 1188 1189 1190 #------------------------------------------------------------------------------ 1191 # RBIT 1192 #------------------------------------------------------------------------------ 1193 # CHECK: rbit r1, r2 1194 # CHECK: rbitne r1, r2 1195 1196 0x32 0x1f 0xff 0xe6 1197 0x32 0x1f 0xff 0x16 1198 1199 1200 #------------------------------------------------------------------------------ 1201 # REV/REV16/REVSH 1202 #------------------------------------------------------------------------------ 1203 # CHECK: rev r1, r9 1204 # CHECK: revne r1, r5 1205 # CHECK: rev16 r8, r3 1206 # CHECK: rev16ne r12, r4 1207 # CHECK: revsh r4, r9 1208 # CHECK: revshne r9, r1 1209 1210 0x39 0x1f 0xbf 0xe6 1211 0x35 0x1f 0xbf 0x16 1212 0xb3 0x8f 0xbf 0xe6 1213 0xb4 0xcf 0xbf 0x16 1214 0xb9 0x4f 0xff 0xe6 1215 0xb1 0x9f 0xff 0x16 1216 1217 1218 #------------------------------------------------------------------------------ 1219 # RFE 1220 #------------------------------------------------------------------------------ 1221 # CHECK: rfeda r2 1222 # CHECK: rfedb r3 1223 # CHECK: rfeia r5 1224 # CHECK: rfeib r6 1225 1226 # CHECK: rfeda r4! 1227 # CHECK: rfedb r7! 1228 # CHECK: rfeia r9! 1229 # CHECK: rfeib r8! 1230 1231 # CHECK: rfeda r2 1232 # CHECK: rfedb r3 1233 # CHECK: rfeia r5 1234 # CHECK: rfeib r6 1235 1236 # CHECK: rfeda r4! 1237 # CHECK: rfedb r7! 1238 # CHECK: rfeia r9! 1239 # CHECK: rfeib r8! 1240 1241 # CHECK: rfeia r1 1242 # CHECK: rfeia r1! 1243 1244 0x00 0x0a 0x12 0xf8 1245 0x00 0x0a 0x13 0xf9 1246 0x00 0x0a 0x95 0xf8 1247 0x00 0x0a 0x96 0xf9 1248 1249 0x00 0x0a 0x34 0xf8 1250 0x00 0x0a 0x37 0xf9 1251 0x00 0x0a 0xb9 0xf8 1252 0x00 0x0a 0xb8 0xf9 1253 1254 0x00 0x0a 0x12 0xf8 1255 0x00 0x0a 0x13 0xf9 1256 0x00 0x0a 0x95 0xf8 1257 0x00 0x0a 0x96 0xf9 1258 1259 0x00 0x0a 0x34 0xf8 1260 0x00 0x0a 0x37 0xf9 1261 0x00 0x0a 0xb9 0xf8 1262 0x00 0x0a 0xb8 0xf9 1263 1264 0x00 0x0a 0x91 0xf8 1265 0x00 0x0a 0xb1 0xf8 1266 1267 1268 #------------------------------------------------------------------------------ 1269 # RSB 1270 #------------------------------------------------------------------------------ 1271 # CHECK: rsb r4, r5, #61440 1272 # CHECK: rsb r7, r8, #-2147483638 1273 # CHECK: rsb r7, r8, #40, #2 1274 # CHECK: rsb r4, r5, r6 1275 # CHECK: rsb r4, r5, r6, lsl #5 1276 # CHECK: rsblo r4, r5, r6, lsr #5 1277 # CHECK: rsb r4, r5, r6, lsr #5 1278 # CHECK: rsb r4, r5, r6, asr #5 1279 # CHECK: rsb r4, r5, r6, ror #5 1280 # CHECK: rsb r6, r7, r8, lsl r9 1281 # CHECK: rsb r6, r7, r8, lsr r9 1282 # CHECK: rsb r6, r7, r8, asr r9 1283 # CHECK: rsble r6, r7, r8, ror r9 1284 # CHECK: rsb r4, r5, r6, rrx 1285 1286 # CHECK: rsb r5, r5, #61440 1287 # CHECK: rsb r4, r4, r5 1288 # CHECK: rsb r4, r4, r5, lsl #5 1289 # CHECK: rsb r4, r4, r5, lsr #5 1290 # CHECK: rsbne r4, r4, r5, lsr #5 1291 # CHECK: rsb r4, r4, r5, asr #5 1292 # CHECK: rsb r4, r4, r5, ror #5 1293 # CHECK: rsbgt r6, r6, r7, lsl r9 1294 # CHECK: rsb r6, r6, r7, lsr r9 1295 # CHECK: rsb r6, r6, r7, asr r9 1296 # CHECK: rsb r6, r6, r7, ror r9 1297 # CHECK: rsb r4, r4, r5, rrx 1298 1299 0x0f 0x4a 0x65 0xe2 1300 0x2a 0x71 0x68 0xe2 1301 0x28 0x71 0x68 0xe2 1302 0x06 0x40 0x65 0xe0 1303 0x86 0x42 0x65 0xe0 1304 0xa6 0x42 0x65 0x30 1305 0xa6 0x42 0x65 0xe0 1306 0xc6 0x42 0x65 0xe0 1307 0xe6 0x42 0x65 0xe0 1308 0x18 0x69 0x67 0xe0 1309 0x38 0x69 0x67 0xe0 1310 0x58 0x69 0x67 0xe0 1311 0x78 0x69 0x67 0xd0 1312 0x66 0x40 0x65 0xe0 1313 1314 0x0f 0x5a 0x65 0xe2 1315 0x05 0x40 0x64 0xe0 1316 0x85 0x42 0x64 0xe0 1317 0xa5 0x42 0x64 0xe0 1318 0xa5 0x42 0x64 0x10 1319 0xc5 0x42 0x64 0xe0 1320 0xe5 0x42 0x64 0xe0 1321 0x17 0x69 0x66 0xc0 1322 0x37 0x69 0x66 0xe0 1323 0x57 0x69 0x66 0xe0 1324 0x77 0x69 0x66 0xe0 1325 0x65 0x40 0x64 0xe0 1326 1327 #------------------------------------------------------------------------------ 1328 # RSBS 1329 #------------------------------------------------------------------------------ 1330 # CHECK: rsbs r7, r8, #-2147483638 1331 # CHECK: rsbs r7, r8, #40, #2 1332 1333 0x2a 0x71 0x78 0xe2 1334 0x28 0x71 0x78 0xe2 1335 1336 #------------------------------------------------------------------------------ 1337 # RSC 1338 #------------------------------------------------------------------------------ 1339 # CHECK: rsc r4, r5, #61440 1340 # CHECK: rsc r7, r8, #-2147483638 1341 # CHECK: rsc r7, r8, #40, #2 1342 # CHECK: rsc r4, r5, r6 1343 # CHECK: rsc r4, r5, r6, lsl #5 1344 # CHECK: rsclo r4, r5, r6, lsr #5 1345 # CHECK: rsc r4, r5, r6, lsr #5 1346 # CHECK: rsc r4, r5, r6, asr #5 1347 # CHECK: rsc r4, r5, r6, ror #5 1348 # CHECK: rsc r6, r7, r8, lsl r9 1349 # CHECK: rsc r6, r7, r8, lsr r9 1350 # CHECK: rsc r6, r7, r8, asr r9 1351 # CHECK: rscle r6, r7, r8, ror r9 1352 1353 # CHECK: rsc r5, r5, #61440 1354 # CHECK: rsc r4, r4, r5 1355 # CHECK: rsc r4, r4, r5, lsl #5 1356 # CHECK: rsc r4, r4, r5, lsr #5 1357 # CHECK: rscne r4, r4, r5, lsr #5 1358 # CHECK: rsc r4, r4, r5, asr #5 1359 # CHECK: rsc r4, r4, r5, ror #5 1360 # CHECK: rscgt r6, r6, r7, lsl r9 1361 # CHECK: rsc r6, r6, r7, lsr r9 1362 # CHECK: rsc r6, r6, r7, asr r9 1363 # CHECK: rsc r6, r6, r7, ror r9 1364 1365 0x0f 0x4a 0xe5 0xe2 1366 0x2a 0x71 0xe8 0xe2 1367 0x28 0x71 0xe8 0xe2 1368 0x06 0x40 0xe5 0xe0 1369 0x86 0x42 0xe5 0xe0 1370 0xa6 0x42 0xe5 0x30 1371 0xa6 0x42 0xe5 0xe0 1372 0xc6 0x42 0xe5 0xe0 1373 0xe6 0x42 0xe5 0xe0 1374 0x18 0x69 0xe7 0xe0 1375 0x38 0x69 0xe7 0xe0 1376 0x58 0x69 0xe7 0xe0 1377 0x78 0x69 0xe7 0xd0 1378 1379 0x0f 0x5a 0xe5 0xe2 1380 0x05 0x40 0xe4 0xe0 1381 0x85 0x42 0xe4 0xe0 1382 0xa5 0x42 0xe4 0xe0 1383 0xa5 0x42 0xe4 0x10 1384 0xc5 0x42 0xe4 0xe0 1385 0xe5 0x42 0xe4 0xe0 1386 0x17 0x69 0xe6 0xc0 1387 0x37 0x69 0xe6 0xe0 1388 0x57 0x69 0xe6 0xe0 1389 0x77 0x69 0xe6 0xe0 1390 1391 #------------------------------------------------------------------------------ 1392 # RRX/RRXS 1393 #------------------------------------------------------------------------------ 1394 # CHECK: rrx r0, r1 1395 # CHECK: rrx sp, pc 1396 # CHECK: rrx pc, lr 1397 # CHECK: rrx lr, sp 1398 1399 0x61 0x00 0xa0 0xe1 1400 0x6f 0xd0 0xa0 0xe1 1401 0x6e 0xf0 0xa0 0xe1 1402 0x6d 0xe0 0xa0 0xe1 1403 1404 # CHECK: rrxs r0, r1 1405 # CHECK: rrxs sp, pc 1406 # CHECK: rrxs pc, lr 1407 # CHECK: rrxs lr, sp 1408 1409 0x61 0x00 0xb0 0xe1 1410 0x6f 0xd0 0xb0 0xe1 1411 0x6e 0xf0 0xb0 0xe1 1412 0x6d 0xe0 0xb0 0xe1 1413 1414 #------------------------------------------------------------------------------ 1415 # SADD16/SADD8 1416 #------------------------------------------------------------------------------ 1417 # CHECK: sadd16 r1, r2, r3 1418 # CHECK: sadd16gt r1, r2, r3 1419 # CHECK: sadd8 r1, r2, r3 1420 # CHECK: sadd8le r1, r2, r3 1421 1422 0x13 0x1f 0x12 0xe6 1423 0x13 0x1f 0x12 0xc6 1424 0x93 0x1f 0x12 0xe6 1425 0x93 0x1f 0x12 0xd6 1426 1427 1428 #------------------------------------------------------------------------------ 1429 # SASX 1430 #------------------------------------------------------------------------------ 1431 # CHECK: sasx r9, r12, r0 1432 # CHECK: sasxeq r9, r12, r0 1433 1434 0x30 0x9f 0x1c 0xe6 1435 0x30 0x9f 0x1c 0x06 1436 1437 1438 #------------------------------------------------------------------------------ 1439 # SBC 1440 #------------------------------------------------------------------------------ 1441 # CHECK: sbc r4, r5, #61440 1442 # CHECK: sbc r7, r8, #-2147483638 1443 # CHECK: sbc r7, r8, #40, #2 1444 # CHECK: sbc r4, r5, r6 1445 # CHECK: sbc r4, r5, r6, lsl #5 1446 # CHECK: sbc r4, r5, r6, lsr #5 1447 # CHECK: sbc r4, r5, r6, lsr #5 1448 # CHECK: sbc r4, r5, r6, asr #5 1449 # CHECK: sbc r4, r5, r6, ror #5 1450 # CHECK: sbc r6, r7, r8, lsl r9 1451 # CHECK: sbc r6, r7, r8, lsr r9 1452 # CHECK: sbc r6, r7, r8, asr r9 1453 # CHECK: sbc r6, r7, r8, ror r9 1454 1455 # CHECK: sbc r5, r5, #61440 1456 # CHECK: sbc r4, r4, r5 1457 # CHECK: sbc r4, r4, r5, lsl #5 1458 # CHECK: sbc r4, r4, r5, lsr #5 1459 # CHECK: sbc r4, r4, r5, lsr #5 1460 # CHECK: sbc r4, r4, r5, asr #5 1461 # CHECK: sbc r4, r4, r5, ror #5 1462 # CHECK: sbc r6, r6, r7, lsl r9 1463 # CHECK: sbc r6, r6, r7, lsr r9 1464 # CHECK: sbc r6, r6, r7, asr r9 1465 # CHECK: sbc r6, r6, r7, ror r9 1466 1467 0x0f 0x4a 0xc5 0xe2 1468 0x2a 0x71 0xc8 0xe2 1469 0x28 0x71 0xc8 0xe2 1470 0x06 0x40 0xc5 0xe0 1471 0x86 0x42 0xc5 0xe0 1472 0xa6 0x42 0xc5 0xe0 1473 0xa6 0x42 0xc5 0xe0 1474 0xc6 0x42 0xc5 0xe0 1475 0xe6 0x42 0xc5 0xe0 1476 0x18 0x69 0xc7 0xe0 1477 0x38 0x69 0xc7 0xe0 1478 0x58 0x69 0xc7 0xe0 1479 0x78 0x69 0xc7 0xe0 1480 1481 0x0f 0x5a 0xc5 0xe2 1482 0x05 0x40 0xc4 0xe0 1483 0x85 0x42 0xc4 0xe0 1484 0xa5 0x42 0xc4 0xe0 1485 0xa5 0x42 0xc4 0xe0 1486 0xc5 0x42 0xc4 0xe0 1487 0xe5 0x42 0xc4 0xe0 1488 0x17 0x69 0xc6 0xe0 1489 0x37 0x69 0xc6 0xe0 1490 0x57 0x69 0xc6 0xe0 1491 0x77 0x69 0xc6 0xe0 1492 1493 1494 #------------------------------------------------------------------------------ 1495 # SBFX 1496 #------------------------------------------------------------------------------ 1497 # CHECK: sbfx r4, r5, #16, #1 1498 # CHECK: sbfxgt r4, r5, #16, #16 1499 1500 0x55 0x48 0xa0 0xe7 1501 0x55 0x48 0xaf 0xc7 1502 1503 1504 #------------------------------------------------------------------------------ 1505 # SEL 1506 #------------------------------------------------------------------------------ 1507 # CHECK: sel r9, r2, r1 1508 # CHECK: selne r9, r2, r1 1509 1510 0xb1 0x9f 0x82 0xe6 1511 0xb1 0x9f 0x82 0x16 1512 1513 1514 #------------------------------------------------------------------------------ 1515 # SETEND 1516 #------------------------------------------------------------------------------ 1517 # CHECK: setend be 1518 # CHECK: setend le 1519 1520 0x00 0x02 0x01 0xf1 1521 0x00 0x00 0x01 0xf1 1522 1523 #------------------------------------------------------------------------------ 1524 # SEV 1525 #------------------------------------------------------------------------------ 1526 # CHECK: sev 1527 # CHECK: seveq 1528 1529 0x04 0xf0 0x20 0xe3 1530 0x04 0xf0 0x20 0x03 1531 1532 #------------------------------------------------------------------------------ 1533 # SHADD16/SHADD8 1534 #------------------------------------------------------------------------------ 1535 # CHECK: shadd16 r4, r8, r2 1536 # CHECK: shadd16gt r4, r8, r2 1537 # CHECK: shadd8 r4, r8, r2 1538 # CHECK: shadd8gt r4, r8, r2 1539 1540 0x12 0x4f 0x38 0xe6 1541 0x12 0x4f 0x38 0xc6 1542 0x92 0x4f 0x38 0xe6 1543 0x92 0x4f 0x38 0xc6 1544 1545 1546 #------------------------------------------------------------------------------ 1547 # SHASX 1548 #------------------------------------------------------------------------------ 1549 # CHECK: shasx r4, r8, r2 1550 # CHECK: shasxgt r4, r8, r2 1551 1552 0x32 0x4f 0x38 0xe6 1553 0x32 0x4f 0x38 0xc6 1554 1555 1556 #------------------------------------------------------------------------------ 1557 # SHSUB16/SHSUB8 1558 #------------------------------------------------------------------------------ 1559 # CHECK: shsub16 r4, r8, r2 1560 # CHECK: shsub16gt r4, r8, r2 1561 # CHECK: shsub8 r4, r8, r2 1562 # CHECK: shsub8gt r4, r8, r2 1563 1564 0x72 0x4f 0x38 0xe6 1565 0x72 0x4f 0x38 0xc6 1566 0xf2 0x4f 0x38 0xe6 1567 0xf2 0x4f 0x38 0xc6 1568 1569 #------------------------------------------------------------------------------ 1570 # SMLABB/SMLABT/SMLATB/SMLATT 1571 #------------------------------------------------------------------------------ 1572 # CHECK: smlabb r3, r1, r9, r0 1573 # CHECK: smlabt r5, r6, r4, r1 1574 # CHECK: smlatb r4, r2, r3, r2 1575 # CHECK: smlatt r8, r3, r8, r4 1576 # CHECK: smlabbge r3, r1, r9, r0 1577 # CHECK: smlabtle r5, r6, r4, r1 1578 # CHECK: smlatbne r4, r2, r3, r2 1579 # CHECK: smlatteq r8, r3, r8, r4 1580 1581 0x81 0x09 0x03 0xe1 1582 0xc6 0x14 0x05 0xe1 1583 0xa2 0x23 0x04 0xe1 1584 0xe3 0x48 0x08 0xe1 1585 0x81 0x09 0x03 0xa1 1586 0xc6 0x14 0x05 0xd1 1587 0xa2 0x23 0x04 0x11 1588 0xe3 0x48 0x08 0x01 1589 1590 #------------------------------------------------------------------------------ 1591 # SMLAD/SMLADX 1592 #------------------------------------------------------------------------------ 1593 # CHECK: smlad r2, r3, r5, r8 1594 # CHECK: smladx r2, r3, r5, r8 1595 # CHECK: smladeq r2, r3, r5, r8 1596 # CHECK: smladxhi r2, r3, r5, r8 1597 1598 0x13 0x85 0x02 0xe7 1599 0x33 0x85 0x02 0xe7 1600 0x13 0x85 0x02 0x07 1601 0x33 0x85 0x02 0x87 1602 1603 1604 #------------------------------------------------------------------------------ 1605 # SMLAL 1606 #------------------------------------------------------------------------------ 1607 # CHECK: smlal r2, r3, r5, r8 1608 # CHECK: smlals r2, r3, r5, r8 1609 # CHECK: smlaleq r2, r3, r5, r8 1610 # CHECK: smlalshi r2, r3, r5, r8 1611 1612 0x95 0x28 0xe3 0xe0 1613 0x95 0x28 0xf3 0xe0 1614 0x95 0x28 0xe3 0x00 1615 0x95 0x28 0xf3 0x80 1616 1617 1618 #------------------------------------------------------------------------------ 1619 # SMLALBB/SMLALBT/SMLALTB/SMLALTT 1620 #------------------------------------------------------------------------------ 1621 # CHECK: smlalbb r3, r1, r9, r0 1622 # CHECK: smlalbt r5, r6, r4, r1 1623 # CHECK: smlaltb r4, r2, r3, r2 1624 # CHECK: smlaltt r8, r3, r8, r4 1625 # CHECK: smlalbbge r3, r1, r9, r0 1626 # CHECK: smlalbtle r5, r6, r4, r1 1627 # CHECK: smlaltbne r4, r2, r3, r2 1628 # CHECK: smlaltteq r8, r3, r8, r4 1629 1630 0x89 0x30 0x41 0xe1 1631 0xc4 0x51 0x46 0xe1 1632 0xa3 0x42 0x42 0xe1 1633 0xe8 0x84 0x43 0xe1 1634 0x89 0x30 0x41 0xa1 1635 0xc4 0x51 0x46 0xd1 1636 0xa3 0x42 0x42 0x11 1637 0xe8 0x84 0x43 0x01 1638 1639 1640 #------------------------------------------------------------------------------ 1641 # SMLALD/SMLALDX 1642 #------------------------------------------------------------------------------ 1643 # CHECK: smlald r2, r3, r5, r8 1644 # CHECK: smlaldx r2, r3, r5, r8 1645 # CHECK: smlaldeq r2, r3, r5, r8 1646 # CHECK: smlaldxhi r2, r3, r5, r8 1647 1648 0x15 0x28 0x43 0xe7 1649 0x35 0x28 0x43 0xe7 1650 0x15 0x28 0x43 0x07 1651 0x35 0x28 0x43 0x87 1652 1653 1654 #------------------------------------------------------------------------------ 1655 # SMLAWB/SMLAWT 1656 #------------------------------------------------------------------------------ 1657 # CHECK: smlawb r2, r3, r10, r8 1658 # CHECK: smlawt r8, r3, r5, r9 1659 # CHECK: smlawbeq r2, r7, r5, r8 1660 # CHECK: smlawthi r1, r3, r0, r8 1661 1662 0x83 0x8a 0x22 0xe1 1663 0xc3 0x95 0x28 0xe1 1664 0x87 0x85 0x22 0x01 1665 0xc3 0x80 0x21 0x81 1666 1667 1668 #------------------------------------------------------------------------------ 1669 # SMLSD/SMLSDX 1670 #------------------------------------------------------------------------------ 1671 # CHECK: smlsd r2, r3, r5, r8 1672 # CHECK: smlsdx r2, r3, r5, r8 1673 # CHECK: smlsdeq r2, r3, r5, r8 1674 # CHECK: smlsdxhi r2, r3, r5, r8 1675 1676 0x53 0x85 0x02 0xe7 1677 0x73 0x85 0x02 0xe7 1678 0x53 0x85 0x02 0x07 1679 0x73 0x85 0x02 0x87 1680 1681 1682 #------------------------------------------------------------------------------ 1683 # SMLSLD/SMLSLDX 1684 #------------------------------------------------------------------------------ 1685 # CHECK: smlsld r2, r9, r5, r1 1686 # CHECK: smlsldx r4, r11, r2, r8 1687 # CHECK: smlsldeq r8, r2, r5, r6 1688 # CHECK: smlsldxhi r1, r0, r3, r8 1689 1690 0x55 0x21 0x49 0xe7 1691 0x72 0x48 0x4b 0xe7 1692 0x55 0x86 0x42 0x07 1693 0x73 0x18 0x40 0x87 1694 1695 1696 #------------------------------------------------------------------------------ 1697 # SMMLA/SMMLAR 1698 #------------------------------------------------------------------------------ 1699 # CHECK: smmla r1, r2, r3, r4 1700 # CHECK: smmlar r4, r3, r2, r1 1701 # CHECK: smmlalo r1, r2, r3, r4 1702 # CHECK: smmlarhs r4, r3, r2, r1 1703 1704 0x12 0x43 0x51 0xe7 1705 0x33 0x12 0x54 0xe7 1706 0x12 0x43 0x51 0x37 1707 0x33 0x12 0x54 0x27 1708 1709 1710 #------------------------------------------------------------------------------ 1711 # SMMLS/SMMLSR 1712 #------------------------------------------------------------------------------ 1713 # CHECK: smmls r1, r2, r3, r4 1714 # CHECK: smmlsr r4, r3, r2, r1 1715 # CHECK: smmlslo r1, r2, r3, r4 1716 # CHECK: smmlsrhs r4, r3, r2, r1 1717 1718 0xd2 0x43 0x51 0xe7 1719 0xf3 0x12 0x54 0xe7 1720 0xd2 0x43 0x51 0x37 1721 0xf3 0x12 0x54 0x27 1722 1723 1724 #------------------------------------------------------------------------------ 1725 # SMMUL/SMMULR 1726 #------------------------------------------------------------------------------ 1727 # CHECK: smmul r2, r3, r4 1728 # CHECK: smmulr r3, r2, r1 1729 # CHECK: smmullo r2, r3, r4 1730 # CHECK: smmulrhs r3, r2, r1 1731 1732 0x13 0xf4 0x52 0xe7 1733 0x32 0xf1 0x53 0xe7 1734 0x13 0xf4 0x52 0x37 1735 0x32 0xf1 0x53 0x27 1736 1737 1738 #------------------------------------------------------------------------------ 1739 # SMUAD/SMUADX 1740 #------------------------------------------------------------------------------ 1741 # CHECK: smuad r2, r3, r4 1742 # CHECK: smuadx r3, r2, r1 1743 # CHECK: smuadlt r2, r3, r4 1744 # CHECK: smuadxge r3, r2, r1 1745 1746 0x13 0xf4 0x02 0xe7 1747 0x32 0xf1 0x03 0xe7 1748 0x13 0xf4 0x02 0xb7 1749 0x32 0xf1 0x03 0xa7 1750 1751 1752 #------------------------------------------------------------------------------ 1753 # SMULBB/SMLALBT/SMLALTB/SMLALTT 1754 #------------------------------------------------------------------------------ 1755 # CHECK: smulbb r3, r9, r0 1756 # CHECK: smulbt r5, r4, r1 1757 # CHECK: smultb r4, r2, r2 1758 # CHECK: smultt r8, r3, r4 1759 # CHECK: smulbbge r1, r9, r0 1760 # CHECK: smulbtle r5, r6, r4 1761 # CHECK: smultbne r2, r3, r2 1762 # CHECK: smultteq r8, r3, r4 1763 1764 0x89 0x00 0x63 0xe1 1765 0xc4 0x01 0x65 0xe1 1766 0xa2 0x02 0x64 0xe1 1767 0xe3 0x04 0x68 0xe1 1768 0x89 0x00 0x61 0xa1 1769 0xc6 0x04 0x65 0xd1 1770 0xa3 0x02 0x62 0x11 1771 0xe3 0x04 0x68 0x01 1772 1773 1774 #------------------------------------------------------------------------------ 1775 # SMULL 1776 #------------------------------------------------------------------------------ 1777 # CHECK: smull r3, r9, r0, r1 1778 # CHECK: smulls r3, r9, r0, r2 1779 # CHECK: smulleq r8, r3, r4, r5 1780 # CHECK: smullseq r8, r3, r4, r3 1781 1782 0x90 0x31 0xc9 0xe0 1783 0x90 0x32 0xd9 0xe0 1784 0x94 0x85 0xc3 0x00 1785 0x94 0x83 0xd3 0x00 1786 1787 1788 #------------------------------------------------------------------------------ 1789 # SMULWB/SMULWT 1790 #------------------------------------------------------------------------------ 1791 # CHECK: smulwb r3, r9, r0 1792 # CHECK: smulwt r3, r9, r2 1793 1794 0xa9 0x00 0x23 0xe1 1795 0xe9 0x02 0x23 0xe1 1796 1797 1798 #------------------------------------------------------------------------------ 1799 # SMUSD/SMUSDX 1800 #------------------------------------------------------------------------------ 1801 # CHECK: smusd r3, r0, r1 1802 # CHECK: smusdx r3, r9, r2 1803 # CHECK: smusdeq r8, r3, r2 1804 # CHECK: smusdxne r7, r4, r3 1805 1806 0x50 0xf1 0x03 0xe7 1807 0x79 0xf2 0x03 0xe7 1808 0x53 0xf2 0x08 0x07 1809 0x74 0xf3 0x07 0x17 1810 1811 1812 #------------------------------------------------------------------------------ 1813 # SRS 1814 #------------------------------------------------------------------------------ 1815 # CHECK: srsda sp, #5 1816 # CHECK: srsdb sp, #1 1817 # CHECK: srsia sp, #0 1818 # CHECK: srsib sp, #15 1819 1820 # CHECK: srsda sp!, #31 1821 # CHECK: srsdb sp!, #19 1822 # CHECK: srsia sp!, #2 1823 # CHECK: srsib sp!, #14 1824 1825 # CHECK: srsda sp, #11 1826 # CHECK: srsdb sp, #10 1827 # CHECK: srsia sp, #9 1828 # CHECK: srsib sp, #5 1829 1830 # CHECK: srsda sp!, #5 1831 # CHECK: srsdb sp!, #5 1832 # CHECK: srsia sp!, #5 1833 # CHECK: srsib sp!, #5 1834 1835 # CHECK: srsia sp, #5 1836 # CHECK: srsia sp!, #5 1837 1838 0x05 0x05 0x4d 0xf8 1839 0x01 0x05 0x4d 0xf9 1840 0x00 0x05 0xcd 0xf8 1841 0x0f 0x05 0xcd 0xf9 1842 1843 0x1f 0x05 0x6d 0xf8 1844 0x13 0x05 0x6d 0xf9 1845 0x02 0x05 0xed 0xf8 1846 0x0e 0x05 0xed 0xf9 1847 1848 0x0b 0x05 0x4d 0xf8 1849 0x0a 0x05 0x4d 0xf9 1850 0x09 0x05 0xcd 0xf8 1851 0x05 0x05 0xcd 0xf9 1852 1853 0x05 0x05 0x6d 0xf8 1854 0x05 0x05 0x6d 0xf9 1855 0x05 0x05 0xed 0xf8 1856 0x05 0x05 0xed 0xf9 1857 1858 0x05 0x05 0xcd 0xf8 1859 0x05 0x05 0xed 0xf8 1860 1861 1862 #------------------------------------------------------------------------------ 1863 # SSAT 1864 #------------------------------------------------------------------------------ 1865 # CHECK: ssat r8, #1, r10 1866 # CHECK: ssat r8, #1, r10, lsl #31 1867 # CHECK: ssat r8, #1, r10, asr #32 1868 # CHECK: ssat r8, #1, r10, asr #1 1869 1870 0x1a 0x80 0xa0 0xe6 1871 0x9a 0x8f 0xa0 0xe6 1872 0x5a 0x80 0xa0 0xe6 1873 0xda 0x80 0xa0 0xe6 1874 1875 1876 #------------------------------------------------------------------------------ 1877 # SSAT16 1878 #------------------------------------------------------------------------------ 1879 # CHECK: ssat16 r2, #1, r7 1880 # CHECK: ssat16 r3, #16, r5 1881 1882 0x37 0x2f 0xa0 0xe6 1883 0x35 0x3f 0xaf 0xe6 1884 1885 1886 #------------------------------------------------------------------------------ 1887 # SSAX 1888 #------------------------------------------------------------------------------ 1889 # CHECK: ssax r2, r3, r4 1890 # CHECK: ssaxlt r2, r3, r4 1891 1892 0x54 0x2f 0x13 0xe6 1893 0x54 0x2f 0x13 0xb6 1894 1895 #------------------------------------------------------------------------------ 1896 # SSUB16/SSUB8 1897 #------------------------------------------------------------------------------ 1898 # CHECK: ssub16 r1, r0, r6 1899 # CHECK: ssub16ne r5, r3, r2 1900 # CHECK: ssub8 r9, r2, r4 1901 # CHECK: ssub8eq r5, r1, r2 1902 1903 0x76 0x1f 0x10 0xe6 1904 0x72 0x5f 0x13 0x16 1905 0xf4 0x9f 0x12 0xe6 1906 0xf2 0x5f 0x11 0x06 1907 1908 1909 #------------------------------------------------------------------------------ 1910 # STM* 1911 #------------------------------------------------------------------------------ 1912 # CHECK: stm r2, {r1, r3, r4, r5, r6, sp} 1913 # CHECK: stm r3, {r1, r3, r4, r5, r6, lr} 1914 # CHECK: stmib r4, {r1, r3, r4, r5, r6, sp} 1915 # CHECK: stmda r5, {r1, r3, r4, r5, r6, sp} 1916 # CHECK: stmdb r6, {r1, r3, r4, r5, r6, r8} 1917 # CHECK: stmdb sp, {r1, r3, r4, r5, r6, sp} 1918 1919 1920 # CHECK: stm r8!, {r1, r3, r4, r5, r6, sp} 1921 # CHECK: stmib r9!, {r1, r3, r4, r5, r6, sp} 1922 # CHECK: stmda sp!, {r1, r3, r4, r5, r6} 1923 # CHECK: stmdb r0!, {r1, r5, r7, sp} 1924 1925 0x7a 0x20 0x82 0xe8 1926 0x7a 0x40 0x83 0xe8 1927 0x7a 0x20 0x84 0xe9 1928 0x7a 0x20 0x05 0xe8 1929 0x7a 0x01 0x06 0xe9 1930 0x7a 0x20 0x0d 0xe9 1931 1932 0x7a 0x20 0xa8 0xe8 1933 0x7a 0x20 0xa9 0xe9 1934 0x7a 0x00 0x2d 0xe8 1935 0xa2 0x20 0x20 0xe9 1936 1937 1938 #------------------------------------------------------------------------------ 1939 # STREX/STREXB/STREXH/STREXD 1940 #------------------------------------------------------------------------------ 1941 # CHECK: strexb r1, r3, [r4 1942 # CHECK: strexh r4, r2, [r5 1943 # CHECK: strex r2, r1, [r7 1944 # CHECK: strexd r6, r2, r3, [r8 1945 # CHECK: strexd sp, r0, r1, [r0] 1946 1947 0x93 0x1f 0xc4 0xe1 1948 0x92 0x4f 0xe5 0xe1 1949 0x91 0x2f 0x87 0xe1 1950 0x92 0x6f 0xa8 0xe1 1951 0x90 0xdf 0xa0 0xe1 1952 1953 #------------------------------------------------------------------------------ 1954 # SUB 1955 #------------------------------------------------------------------------------ 1956 # CHECK: sub r4, r5, #61440 1957 # CHECK: sub r7, r8, #-2147483638 1958 # CHECK: sub r7, r8, #40, #2 1959 # CHECK: sub r4, r5, r6 1960 # CHECK: sub r4, r5, r6, lsl #5 1961 # CHECK: sub r4, r5, r6, lsr #5 1962 # CHECK: sub r4, r5, r6, lsr #5 1963 # CHECK: sub r4, r5, r6, asr #5 1964 # CHECK: sub r4, r5, r6, ror #5 1965 # CHECK: sub r6, r7, r8, lsl r9 1966 # CHECK: sub r6, r7, r8, lsr r9 1967 # CHECK: sub r6, r7, r8, asr r9 1968 # CHECK: sub r6, r7, r8, ror r9 1969 1970 # CHECK: sub r5, r5, #61440 1971 # CHECK: sub r4, r4, r5 1972 # CHECK: sub r4, r4, r5, lsl #5 1973 # CHECK: sub r4, r4, r5, lsr #5 1974 # CHECK: sub r4, r4, r5, lsr #5 1975 # CHECK: sub r4, r4, r5, asr #5 1976 # CHECK: sub r4, r4, r5, ror #5 1977 # CHECK: sub r6, r6, r7, lsl r9 1978 # CHECK: sub r6, r6, r7, lsr r9 1979 # CHECK: sub r6, r6, r7, asr r9 1980 # CHECK: sub r6, r6, r7, ror r9 1981 1982 0x0f 0x4a 0x45 0xe2 1983 0x2a 0x71 0x48 0xe2 1984 0x28 0x71 0x48 0xe2 1985 0x06 0x40 0x45 0xe0 1986 0x86 0x42 0x45 0xe0 1987 0xa6 0x42 0x45 0xe0 1988 0xa6 0x42 0x45 0xe0 1989 0xc6 0x42 0x45 0xe0 1990 0xe6 0x42 0x45 0xe0 1991 0x18 0x69 0x47 0xe0 1992 0x38 0x69 0x47 0xe0 1993 0x58 0x69 0x47 0xe0 1994 0x78 0x69 0x47 0xe0 1995 1996 1997 0x0f 0x5a 0x45 0xe2 1998 0x05 0x40 0x44 0xe0 1999 0x85 0x42 0x44 0xe0 2000 0xa5 0x42 0x44 0xe0 2001 0xa5 0x42 0x44 0xe0 2002 0xc5 0x42 0x44 0xe0 2003 0xe5 0x42 0x44 0xe0 2004 0x17 0x69 0x46 0xe0 2005 0x37 0x69 0x46 0xe0 2006 0x57 0x69 0x46 0xe0 2007 0x77 0x69 0x46 0xe0 2008 2009 #------------------------------------------------------------------------------ 2010 # SUBS 2011 #------------------------------------------------------------------------------ 2012 # CHECK: subs r7, r8, #-2147483638 2013 # CHECK: subs r7, r8, #40, #2 2014 2015 0x2a 0x71 0x58 0xe2 2016 0x28 0x71 0x58 0xe2 2017 2018 #------------------------------------------------------------------------------ 2019 # SVC 2020 #------------------------------------------------------------------------------ 2021 # CHECK: svc #16 2022 # CHECK: svc #0 2023 # CHECK: svc #16777215 2024 2025 0x10 0x00 0x00 0xef 2026 0x00 0x00 0x00 0xef 2027 0xff 0xff 0xff 0xef 2028 2029 2030 #------------------------------------------------------------------------------ 2031 # SWP/SWPB 2032 #------------------------------------------------------------------------------ 2033 # CHECK: swp r1, r2, [r3 2034 # CHECK: swp r4, r4, [r6 2035 # CHECK: swpb r5, r1, [r9 2036 2037 0x92 0x10 0x03 0xe1 2038 0x94 0x40 0x06 0xe1 2039 0x91 0x50 0x49 0xe1 2040 2041 2042 #------------------------------------------------------------------------------ 2043 # SXTAB 2044 #------------------------------------------------------------------------------ 2045 # CHECK: sxtab r2, r3, r4 2046 # CHECK: sxtab r4, r5, r6 2047 # CHECK: sxtablt r6, r2, r9, ror #8 2048 # CHECK: sxtab r5, r1, r4, ror #16 2049 # CHECK: sxtab r7, r8, r3, ror #24 2050 2051 0x74 0x20 0xa3 0xe6 2052 0x76 0x40 0xa5 0xe6 2053 0x79 0x64 0xa2 0xb6 2054 0x74 0x58 0xa1 0xe6 2055 0x73 0x7c 0xa8 0xe6 2056 2057 2058 #------------------------------------------------------------------------------ 2059 # SXTAB16 2060 #------------------------------------------------------------------------------ 2061 # CHECK: sxtab16ge r0, r1, r4 2062 # CHECK: sxtab16 r6, r2, r7 2063 # CHECK: sxtab16 r3, r5, r8, ror #8 2064 # CHECK: sxtab16 r3, r2, r1, ror #16 2065 # CHECK: sxtab16eq r1, r2, r3, ror #24 2066 2067 0x74 0x00 0x81 0xa6 2068 0x77 0x60 0x82 0xe6 2069 0x78 0x34 0x85 0xe6 2070 0x71 0x38 0x82 0xe6 2071 0x73 0x1c 0x82 0x06 2072 2073 #------------------------------------------------------------------------------ 2074 # SXTAH 2075 #------------------------------------------------------------------------------ 2076 # CHECK: sxtah r1, r3, r9 2077 # CHECK: sxtahhi r6, r1, r6 2078 # CHECK: sxtah r3, r8, r3, ror #8 2079 # CHECK: sxtahlo r2, r2, r4, ror #16 2080 # CHECK: sxtah r9, r3, r3, ror #24 2081 2082 0x79 0x10 0xb3 0xe6 2083 0x76 0x60 0xb1 0x86 2084 0x73 0x34 0xb8 0xe6 2085 0x74 0x28 0xb2 0x36 2086 0x73 0x9c 0xb3 0xe6 2087 2088 #------------------------------------------------------------------------------ 2089 # SXTB 2090 #------------------------------------------------------------------------------ 2091 # CHECK: sxtbge r2, r4 2092 # CHECK: sxtb r5, r6 2093 # CHECK: sxtb r6, r9, ror #8 2094 # CHECK: sxtblo r5, r1, ror #16 2095 # CHECK: sxtb r8, r3, ror #24 2096 2097 0x74 0x20 0xaf 0xa6 2098 0x76 0x50 0xaf 0xe6 2099 0x79 0x64 0xaf 0xe6 2100 0x71 0x58 0xaf 0x36 2101 0x73 0x8c 0xaf 0xe6 2102 2103 2104 #------------------------------------------------------------------------------ 2105 # SXTB16 2106 #------------------------------------------------------------------------------ 2107 # CHECK: sxtb16 r1, r4 2108 # CHECK: sxtb16 r6, r7 2109 # CHECK: sxtb16hs r3, r5, ror #8 2110 # CHECK: sxtb16 r3, r1, ror #16 2111 # CHECK: sxtb16ge r2, r3, ror #24 2112 2113 0x74 0x10 0x8f 0xe6 2114 0x77 0x60 0x8f 0xe6 2115 0x75 0x34 0x8f 0x26 2116 0x71 0x38 0x8f 0xe6 2117 0x73 0x2c 0x8f 0xa6 2118 2119 2120 #------------------------------------------------------------------------------ 2121 # SXTH 2122 #------------------------------------------------------------------------------ 2123 # CHECK: sxthne r3, r9 2124 # CHECK: sxth r1, r6 2125 # CHECK: sxth r3, r8, ror #8 2126 # CHECK: sxthle r2, r2, ror #16 2127 # CHECK: sxth r9, r3, ror #24 2128 2129 0x79 0x30 0xbf 0x16 2130 0x76 0x10 0xbf 0xe6 2131 0x78 0x34 0xbf 0xe6 2132 0x72 0x28 0xbf 0xd6 2133 0x73 0x9c 0xbf 0xe6 2134 2135 2136 #------------------------------------------------------------------------------ 2137 # FIXME: TBB/TBH 2138 #------------------------------------------------------------------------------ 2139 2140 2141 #------------------------------------------------------------------------------ 2142 # TEQ 2143 #------------------------------------------------------------------------------ 2144 # CHECK: teq r5, #61440 2145 # CHECK: teq r7, #-2147483638 2146 # CHECK: teq r7, #40, #2 2147 # CHECK: teq r4, r5 2148 # CHECK: teq r4, r5, lsl #5 2149 # CHECK: teq r4, r5, lsr #5 2150 # CHECK: teq r4, r5, lsr #5 2151 # CHECK: teq r4, r5, asr #5 2152 # CHECK: teq r4, r5, ror #5 2153 # CHECK: teq r6, r7, lsl r9 2154 # CHECK: teq r6, r7, lsr r9 2155 # CHECK: teq r6, r7, asr r9 2156 # CHECK: teq r6, r7, ror r9 2157 2158 0x0f 0x0a 0x35 0xe3 2159 0x2a 0x01 0x37 0xe3 2160 0x28 0x01 0x37 0xe3 2161 0x05 0x00 0x34 0xe1 2162 0x85 0x02 0x34 0xe1 2163 0xa5 0x02 0x34 0xe1 2164 0xa5 0x02 0x34 0xe1 2165 0xc5 0x02 0x34 0xe1 2166 0xe5 0x02 0x34 0xe1 2167 0x17 0x09 0x36 0xe1 2168 0x37 0x09 0x36 0xe1 2169 0x57 0x09 0x36 0xe1 2170 0x77 0x09 0x36 0xe1 2171 2172 2173 #------------------------------------------------------------------------------ 2174 # TST 2175 #------------------------------------------------------------------------------ 2176 # CHECK: tst r5, #61440 2177 # CHECK: tst r7, #-2147483638 2178 # CHECK: tst r7, #40, #2 2179 # CHECK: tst r4, r5 2180 # CHECK: tst r4, r5, lsl #5 2181 # CHECK: tst r4, r5, lsr #5 2182 # CHECK: tst r4, r5, lsr #5 2183 # CHECK: tst r4, r5, asr #5 2184 # CHECK: tst r4, r5, ror #5 2185 # CHECK: tst r6, r7, lsl r9 2186 # CHECK: tst r6, r7, lsr r9 2187 # CHECK: tst r6, r7, asr r9 2188 # CHECK: tst r6, r7, ror r9 2189 2190 0x0f 0x0a 0x15 0xe3 2191 0x2a 0x01 0x17 0xe3 2192 0x28 0x01 0x17 0xe3 2193 0x05 0x00 0x14 0xe1 2194 0x85 0x02 0x14 0xe1 2195 0xa5 0x02 0x14 0xe1 2196 0xa5 0x02 0x14 0xe1 2197 0xc5 0x02 0x14 0xe1 2198 0xe5 0x02 0x14 0xe1 2199 0x17 0x09 0x16 0xe1 2200 0x37 0x09 0x16 0xe1 2201 0x57 0x09 0x16 0xe1 2202 0x77 0x09 0x16 0xe1 2203 2204 2205 #------------------------------------------------------------------------------ 2206 # UADD16/UADD8 2207 #------------------------------------------------------------------------------ 2208 # CHECK: uadd16 r1, r2, r3 2209 # CHECK: uadd16gt r1, r2, r3 2210 # CHECK: uadd8 r1, r2, r3 2211 # CHECK: uadd8le r1, r2, r3 2212 2213 0x13 0x1f 0x52 0xe6 2214 0x13 0x1f 0x52 0xc6 2215 0x93 0x1f 0x52 0xe6 2216 0x93 0x1f 0x52 0xd6 2217 2218 2219 #------------------------------------------------------------------------------ 2220 # UASX 2221 #------------------------------------------------------------------------------ 2222 # CHECK: uasx r9, r12, r0 2223 # CHECK: uasxeq r9, r12, r0 2224 2225 0x30 0x9f 0x5c 0xe6 2226 0x30 0x9f 0x5c 0x06 2227 2228 2229 #------------------------------------------------------------------------------ 2230 # UBFX 2231 #------------------------------------------------------------------------------ 2232 # CHECK: ubfx r4, r5, #16, #1 2233 # CHECK: ubfxgt r4, r5, #16, #16 2234 2235 0x55 0x48 0xe0 0xe7 2236 0x55 0x48 0xef 0xc7 2237 2238 2239 #------------------------------------------------------------------------------ 2240 # UHADD16/UHADD8 2241 #------------------------------------------------------------------------------ 2242 # CHECK: uhadd16 r4, r8, r2 2243 # CHECK: uhadd16gt r4, r8, r2 2244 # CHECK: uhadd8 r4, r8, r2 2245 # CHECK: uhadd8gt r4, r8, r2 2246 2247 0x12 0x4f 0x78 0xe6 2248 0x12 0x4f 0x78 0xc6 2249 0x92 0x4f 0x78 0xe6 2250 0x92 0x4f 0x78 0xc6 2251 2252 2253 #------------------------------------------------------------------------------ 2254 # UHASX 2255 #------------------------------------------------------------------------------ 2256 # CHECK: uhasx r4, r8, r2 2257 # CHECK: uhasxgt r4, r8, r2 2258 2259 0x32 0x4f 0x78 0xe6 2260 0x32 0x4f 0x78 0xc6 2261 2262 2263 #------------------------------------------------------------------------------ 2264 # UHSUB16/UHSUB8 2265 #------------------------------------------------------------------------------ 2266 # CHECK: uhsub16 r4, r8, r2 2267 # CHECK: uhsub16gt r4, r8, r2 2268 # CHECK: uhsub8 r4, r8, r2 2269 # CHECK: uhsub8gt r4, r8, r2 2270 2271 0x72 0x4f 0x78 0xe6 2272 0x72 0x4f 0x78 0xc6 2273 0xf2 0x4f 0x78 0xe6 2274 0xf2 0x4f 0x78 0xc6 2275 2276 2277 #------------------------------------------------------------------------------ 2278 # UMAAL 2279 #------------------------------------------------------------------------------ 2280 # CHECK: umaal r3, r4, r5, r6 2281 # CHECK: umaallt r3, r4, r5, r6 2282 2283 0x95 0x36 0x44 0xe0 2284 0x95 0x36 0x44 0xb0 2285 2286 2287 #------------------------------------------------------------------------------ 2288 # UMLAL 2289 #------------------------------------------------------------------------------ 2290 # CHECK: umlal r2, r4, r6, r8 2291 # CHECK: umlalgt r6, r1, r2, r6 2292 # CHECK: umlals r2, r9, r2, r3 2293 # CHECK: umlalseq r3, r5, r1, r2 2294 2295 0x96 0x28 0xa4 0xe0 2296 0x92 0x66 0xa1 0xc0 2297 0x92 0x23 0xb9 0xe0 2298 0x91 0x32 0xb5 0x00 2299 2300 2301 #------------------------------------------------------------------------------ 2302 # UMULL 2303 #------------------------------------------------------------------------------ 2304 # CHECK: umull r2, r4, r6, r8 2305 # CHECK: umullgt r6, r1, r2, r6 2306 # CHECK: umulls r2, r9, r2, r3 2307 # CHECK: umullseq r3, r5, r1, r2 2308 2309 0x96 0x28 0x84 0xe0 2310 0x92 0x66 0x81 0xc0 2311 0x92 0x23 0x99 0xe0 2312 0x91 0x32 0x95 0x00 2313 2314 2315 #------------------------------------------------------------------------------ 2316 # UQADD16/UQADD8 2317 #------------------------------------------------------------------------------ 2318 # CHECK: uqadd16 r1, r2, r3 2319 # CHECK: uqadd16gt r4, r7, r9 2320 # CHECK: uqadd8 r3, r4, r8 2321 # CHECK: uqadd8le r8, r1, r2 2322 2323 2324 0x13 0x1f 0x62 0xe6 2325 0x19 0x4f 0x67 0xc6 2326 0x98 0x3f 0x64 0xe6 2327 0x92 0x8f 0x61 0xd6 2328 2329 2330 #------------------------------------------------------------------------------ 2331 # UQASX 2332 #------------------------------------------------------------------------------ 2333 # CHECK: uqasx r2, r4, r1 2334 # CHECK: uqasxhi r5, r2, r9 2335 2336 0x31 0x2f 0x64 0xe6 2337 0x39 0x5f 0x62 0x86 2338 2339 2340 #------------------------------------------------------------------------------ 2341 # UQSAX 2342 #------------------------------------------------------------------------------ 2343 # CHECK: uqsax r1, r3, r7 2344 # CHECK: uqsax r3, r6, r2 2345 2346 0x57 0x1f 0x63 0xe6 2347 0x52 0x3f 0x66 0xe6 2348 2349 2350 #------------------------------------------------------------------------------ 2351 # UQSUB16/UQSUB8 2352 #------------------------------------------------------------------------------ 2353 # CHECK: uqsub16 r1, r5, r3 2354 # CHECK: uqsub16gt r3, r2, r5 2355 # CHECK: uqsub8 r2, r1, r4 2356 # CHECK: uqsub8le r4, r6, r9 2357 2358 0x73 0x1f 0x65 0xe6 2359 0x75 0x3f 0x62 0xc6 2360 0xf4 0x2f 0x61 0xe6 2361 0xf9 0x4f 0x66 0xd6 2362 2363 2364 #------------------------------------------------------------------------------ 2365 # USADA8/USAD8 2366 #------------------------------------------------------------------------------ 2367 # CHECK: usad8 r2, r1, r4 2368 # CHECK: usad8le r4, r6, r9 2369 # CHECK: usada8 r1, r5, r3, r7 2370 # CHECK: usada8gt r3, r2, r5, r1 2371 2372 0x11 0xf4 0x82 0xe7 2373 0x16 0xf9 0x84 0xd7 2374 0x15 0x73 0x81 0xe7 2375 0x12 0x15 0x83 0xc7 2376 2377 2378 #------------------------------------------------------------------------------ 2379 # USAT 2380 #------------------------------------------------------------------------------ 2381 2382 # CHECK: usat r8, #1, r10 2383 # CHECK: usat r8, #4, r10 2384 # CHECK: usat r8, #5, r10, lsl #31 2385 # CHECK: usat r8, #31, r10, asr #32 2386 # CHECK: usat r8, #16, r10, asr #1 2387 2388 0x1a 0x80 0xe1 0xe6 2389 0x1a 0x80 0xe4 0xe6 2390 0x9a 0x8f 0xe5 0xe6 2391 0x5a 0x80 0xff 0xe6 2392 0xda 0x80 0xf0 0xe6 2393 2394 #------------------------------------------------------------------------------ 2395 # USAT16 2396 #------------------------------------------------------------------------------ 2397 # CHECK: usat16 r2, #2, r7 2398 # CHECK: usat16 r3, #15, r5 2399 2400 0x37 0x2f 0xe2 0xe6 2401 0x35 0x3f 0xef 0xe6 2402 2403 2404 #------------------------------------------------------------------------------ 2405 # USAX 2406 #------------------------------------------------------------------------------ 2407 # CHECK: usax r2, r3, r4 2408 # CHECK: usaxne r2, r3, r4 2409 2410 0x54 0x2f 0x53 0xe6 2411 0x54 0x2f 0x53 0x16 2412 2413 #------------------------------------------------------------------------------ 2414 # USUB16/USUB8 2415 #------------------------------------------------------------------------------ 2416 # CHECK: usub16 r4, r2, r7 2417 # CHECK: usub16hi r1, r1, r3 2418 # CHECK: usub8 r1, r8, r5 2419 # CHECK: usub8le r9, r2, r3 2420 2421 0x77 0x4f 0x52 0xe6 2422 0x73 0x1f 0x51 0x86 2423 0xf5 0x1f 0x58 0xe6 2424 0xf3 0x9f 0x52 0xd6 2425 2426 2427 #------------------------------------------------------------------------------ 2428 # UXTAB 2429 #------------------------------------------------------------------------------ 2430 # CHECK: uxtab r2, r3, r4 2431 # CHECK: uxtab r4, r5, r6 2432 # CHECK: uxtablt r6, r2, r9, ror #8 2433 # CHECK: uxtab r5, r1, r4, ror #16 2434 # CHECK: uxtab r7, r8, r3, ror #24 2435 2436 0x74 0x20 0xe3 0xe6 2437 0x76 0x40 0xe5 0xe6 2438 0x79 0x64 0xe2 0xb6 2439 0x74 0x58 0xe1 0xe6 2440 0x73 0x7c 0xe8 0xe6 2441 2442 2443 #------------------------------------------------------------------------------ 2444 # UXTAB16 2445 #------------------------------------------------------------------------------ 2446 # CHECK: uxtab16ge r0, r1, r4 2447 # CHECK: uxtab16 r6, r2, r7 2448 # CHECK: uxtab16 r3, r5, r8, ror #8 2449 # CHECK: uxtab16 r3, r2, r1, ror #16 2450 # CHECK: uxtab16eq r1, r2, r3, ror #24 2451 2452 0x74 0x00 0xc1 0xa6 2453 0x77 0x60 0xc2 0xe6 2454 0x78 0x34 0xc5 0xe6 2455 0x71 0x38 0xc2 0xe6 2456 0x73 0x1c 0xc2 0x06 2457 2458 #------------------------------------------------------------------------------ 2459 # UXTAH 2460 #------------------------------------------------------------------------------ 2461 # CHECK: uxtah r1, r3, r9 2462 # CHECK: uxtahhi r6, r1, r6 2463 # CHECK: uxtah r3, r8, r3, ror #8 2464 # CHECK: uxtahlo r2, r2, r4, ror #16 2465 # CHECK: uxtah r9, r3, r3, ror #24 2466 2467 0x79 0x10 0xf3 0xe6 2468 0x76 0x60 0xf1 0x86 2469 0x73 0x34 0xf8 0xe6 2470 0x74 0x28 0xf2 0x36 2471 0x73 0x9c 0xf3 0xe6 2472 2473 #------------------------------------------------------------------------------ 2474 # UXTB 2475 #------------------------------------------------------------------------------ 2476 # CHECK: uxtbge r2, r4 2477 # CHECK: uxtb r5, r6 2478 # CHECK: uxtb r6, r9, ror #8 2479 # CHECK: uxtblo r5, r1, ror #16 2480 # CHECK: uxtb r8, r3, ror #24 2481 2482 0x74 0x20 0xef 0xa6 2483 0x76 0x50 0xef 0xe6 2484 0x79 0x64 0xef 0xe6 2485 0x71 0x58 0xef 0x36 2486 0x73 0x8c 0xef 0xe6 2487 2488 2489 #------------------------------------------------------------------------------ 2490 # UXTB16 2491 #------------------------------------------------------------------------------ 2492 # CHECK: uxtb16 r1, r4 2493 # CHECK: uxtb16 r6, r7 2494 # CHECK: uxtb16hs r3, r5, ror #8 2495 # CHECK: uxtb16 r3, r1, ror #16 2496 # CHECK: uxtb16ge r2, r3, ror #24 2497 2498 0x74 0x10 0xcf 0xe6 2499 0x77 0x60 0xcf 0xe6 2500 0x75 0x34 0xcf 0x26 2501 0x71 0x38 0xcf 0xe6 2502 0x73 0x2c 0xcf 0xa6 2503 2504 2505 #------------------------------------------------------------------------------ 2506 # UXTH 2507 #------------------------------------------------------------------------------ 2508 # CHECK: uxthne r3, r9 2509 # CHECK: uxth r1, r6 2510 # CHECK: uxth r3, r8, ror #8 2511 # CHECK: uxthle r2, r2, ror #16 2512 # CHECK: uxth r9, r3, ror #24 2513 2514 0x79 0x30 0xff 0x16 2515 0x76 0x10 0xff 0xe6 2516 0x78 0x34 0xff 0xe6 2517 0x72 0x28 0xff 0xd6 2518 0x73 0x9c 0xff 0xe6 2519 2520 #------------------------------------------------------------------------------ 2521 # WFE/WFI/YIELD 2522 #------------------------------------------------------------------------------ 2523 # CHECK: wfe 2524 # CHECK: wfehi 2525 # CHECK: wfi 2526 # CHECK: wfilt 2527 # CHECK: yield 2528 # CHECK: yieldne 2529 # CHECK: hint #5 2530 2531 0x02 0xf0 0x20 0xe3 2532 0x02 0xf0 0x20 0x83 2533 0x03 0xf0 0x20 0xe3 2534 0x03 0xf0 0x20 0xb3 2535 0x01 0xf0 0x20 0xe3 2536 0x01 0xf0 0x20 0x13 2537 0x05 0xf0 0x20 0xe3 2538