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