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