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