|  | # RUN: llvm-mc -triple=armv7-apple-darwin -mcpu=cortex-a8 -disassemble < %s | FileCheck %s | 
|  |  | 
|  | #------------------------------------------------------------------------------ | 
|  | # ADC (immediate) | 
|  | #------------------------------------------------------------------------------ | 
|  | # CHECK: adc r1, r2, #15 | 
|  | # CHECK: adc r1, r2, #240 | 
|  | # CHECK: adc r1, r2, #3840 | 
|  | # CHECK: adc r1, r2, #61440 | 
|  | # CHECK: adc r1, r2, #983040 | 
|  | # CHECK: adc r1, r2, #15728640 | 
|  | # CHECK: adc r1, r2, #251658240 | 
|  | # CHECK: adc r1, r2, #-268435456 | 
|  | # CHECK: adc r1, r2, #-268435441 | 
|  | # CHECK: adc r7, r8, #-2147483638 | 
|  | # CHECK: adc r7, r8, #40, #2 | 
|  | # CHECK: adcs r1, r2, #3840 | 
|  | # CHECK: adcs r7, r8, #40, #2 | 
|  | # CHECK: adcseq r1, r2, #3840 | 
|  | # CHECK: adceq r1, r2, #3840 | 
|  |  | 
|  | 0x0f 0x10 0xa2 0xe2 | 
|  | 0xf0 0x10 0xa2 0xe2 | 
|  | 0x0f 0x1c 0xa2 0xe2 | 
|  | 0x0f 0x1a 0xa2 0xe2 | 
|  | 0x0f 0x18 0xa2 0xe2 | 
|  | 0x0f 0x16 0xa2 0xe2 | 
|  | 0x0f 0x14 0xa2 0xe2 | 
|  | 0x0f 0x12 0xa2 0xe2 | 
|  | 0xff 0x12 0xa2 0xe2 | 
|  | 0x2a 0x71 0xa8 0xe2 | 
|  | 0x28 0x71 0xa8 0xe2 | 
|  |  | 
|  | 0x0f 0x1c 0xb2 0xe2 | 
|  | 0x28 0x71 0xb8 0xe2 | 
|  | 0x0f 0x1c 0xb2 0x02 | 
|  | 0x0f 0x1c 0xa2 0x02 | 
|  |  | 
|  | #------------------------------------------------------------------------------ | 
|  | # ADC (register) | 
|  | # ADC (shifted register) | 
|  | #------------------------------------------------------------------------------ | 
|  | # CHECK: adc r4, r5, r6 | 
|  |  | 
|  | # CHECK: adc r4, r5, r6, lsl #1 | 
|  | # CHECK: adc r4, r5, r6, lsl #31 | 
|  | # CHECK: adc r4, r5, r6, lsr #1 | 
|  | # CHECK: adc r4, r5, r6, lsr #31 | 
|  | # CHECK: adc r4, r5, r6, lsr #32 | 
|  | # CHECK: adc r4, r5, r6, asr #1 | 
|  | # CHECK: adc r4, r5, r6, asr #31 | 
|  | # CHECK: adc r4, r5, r6, asr #32 | 
|  | # CHECK: adc r4, r5, r6, ror #1 | 
|  | # CHECK: adc r4, r5, r6, ror #31 | 
|  |  | 
|  | # CHECK: adc r6, r7, r8, lsl r9 | 
|  | # CHECK: adc r6, r7, r8, lsr r9 | 
|  | # CHECK: adc r6, r7, r8, asr r9 | 
|  | # CHECK: adc r6, r7, r8, ror r9 | 
|  | # CHECK: adc r4, r5, r6, rrx | 
|  |  | 
|  | # CHECK: adc r5, r5, r6 | 
|  | # CHECK: adc r4, r4, r5, lsl #1 | 
|  | # CHECK: adc r4, r4, r5, lsl #31 | 
|  | # CHECK: adc r4, r4, r5, lsr #1 | 
|  | # CHECK: adc r4, r4, r5, lsr #31 | 
|  | # CHECK: adc r4, r4, r5, lsr #32 | 
|  | # CHECK: adc r4, r4, r5, asr #1 | 
|  | # CHECK: adc r4, r4, r5, asr #31 | 
|  | # CHECK: adc r4, r4, r5, asr #32 | 
|  | # CHECK: adc r4, r4, r5, ror #1 | 
|  | # CHECK: adc r4, r4, r5, ror #31 | 
|  | # CHECK: adc r4, r4, r5, rrx | 
|  | # CHECK: adc r6, r6, r7, lsl r9 | 
|  | # CHECK: adc r6, r6, r7, lsr r9 | 
|  | # CHECK: adc r6, r6, r7, asr r9 | 
|  | # CHECK: adc r6, r6, r7, ror r9 | 
|  | # CHECK: adc r4, r4, r5, rrx | 
|  |  | 
|  | 0x06 0x40 0xa5 0xe0 | 
|  |  | 
|  | 0x86 0x40 0xa5 0xe0 | 
|  | 0x86 0x4f 0xa5 0xe0 | 
|  | 0xa6 0x40 0xa5 0xe0 | 
|  | 0xa6 0x4f 0xa5 0xe0 | 
|  | 0x26 0x40 0xa5 0xe0 | 
|  | 0xc6 0x40 0xa5 0xe0 | 
|  | 0xc6 0x4f 0xa5 0xe0 | 
|  | 0x46 0x40 0xa5 0xe0 | 
|  | 0xe6 0x40 0xa5 0xe0 | 
|  | 0xe6 0x4f 0xa5 0xe0 | 
|  |  | 
|  | 0x18 0x69 0xa7 0xe0 | 
|  | 0x38 0x69 0xa7 0xe0 | 
|  | 0x58 0x69 0xa7 0xe0 | 
|  | 0x78 0x69 0xa7 0xe0 | 
|  | 0x66 0x40 0xa5 0xe0 | 
|  |  | 
|  | 0x06 0x50 0xa5 0xe0 | 
|  | 0x85 0x40 0xa4 0xe0 | 
|  | 0x85 0x4f 0xa4 0xe0 | 
|  | 0xa5 0x40 0xa4 0xe0 | 
|  | 0xa5 0x4f 0xa4 0xe0 | 
|  | 0x25 0x40 0xa4 0xe0 | 
|  | 0xc5 0x40 0xa4 0xe0 | 
|  | 0xc5 0x4f 0xa4 0xe0 | 
|  | 0x45 0x40 0xa4 0xe0 | 
|  | 0xe5 0x40 0xa4 0xe0 | 
|  | 0xe5 0x4f 0xa4 0xe0 | 
|  | 0x65 0x40 0xa4 0xe0 | 
|  | 0x17 0x69 0xa6 0xe0 | 
|  | 0x37 0x69 0xa6 0xe0 | 
|  | 0x57 0x69 0xa6 0xe0 | 
|  | 0x77 0x69 0xa6 0xe0 | 
|  | 0x65 0x40 0xa4 0xe0 | 
|  |  | 
|  | #------------------------------------------------------------------------------ | 
|  | # ADD | 
|  | #------------------------------------------------------------------------------ | 
|  | # CHECK: add r4, r5, #61440 | 
|  | # CHECK: add r7, r8, #-2147483638 | 
|  | # CHECK: add r7, r8, #40, #2 | 
|  | # CHECK: add r4, r5, r6 | 
|  | # CHECK: add r4, r5, r6, lsl #5 | 
|  | # CHECK: add r4, r5, r6, lsr #5 | 
|  | # CHECK: add r4, r5, r6, lsr #5 | 
|  | # CHECK: add r4, r5, r6, asr #5 | 
|  | # CHECK: add r4, r5, r6, ror #5 | 
|  | # CHECK: add r6, r7, r8, lsl r9 | 
|  | # CHECK: add r6, r7, r8, lsr r9 | 
|  | # CHECK: add r6, r7, r8, asr r9 | 
|  | # CHECK: add r6, r7, r8, ror r9 | 
|  | # CHECK: add r4, r5, r6, rrx | 
|  |  | 
|  | # CHECK: add r5, r5, #61440 | 
|  | # CHECK: add r4, r4, r5 | 
|  | # CHECK: add r4, r4, r5, lsl #5 | 
|  | # CHECK: add r4, r4, r5, lsr #5 | 
|  | # CHECK: add r4, r4, r5, lsr #5 | 
|  | # CHECK: add r4, r4, r5, asr #5 | 
|  | # CHECK: add r4, r4, r5, ror #5 | 
|  | # CHECK: add r6, r6, r7, lsl r9 | 
|  | # CHECK: add r6, r6, r7, lsr r9 | 
|  | # CHECK: add r6, r6, r7, asr r9 | 
|  | # CHECK: add r6, r6, r7, ror r9 | 
|  | # CHECK: add r4, r4, r5, rrx | 
|  |  | 
|  | 0x0f 0x4a 0x85 0xe2 | 
|  | 0x2a 0x71 0x88 0xe2 | 
|  | 0x28 0x71 0x88 0xe2 | 
|  | 0x06 0x40 0x85 0xe0 | 
|  | 0x86 0x42 0x85 0xe0 | 
|  | 0xa6 0x42 0x85 0xe0 | 
|  | 0xa6 0x42 0x85 0xe0 | 
|  | 0xc6 0x42 0x85 0xe0 | 
|  | 0xe6 0x42 0x85 0xe0 | 
|  | 0x18 0x69 0x87 0xe0 | 
|  | 0x38 0x69 0x87 0xe0 | 
|  | 0x58 0x69 0x87 0xe0 | 
|  | 0x78 0x69 0x87 0xe0 | 
|  | 0x66 0x40 0x85 0xe0 | 
|  |  | 
|  |  | 
|  | 0x0f 0x5a 0x85 0xe2 | 
|  | 0x05 0x40 0x84 0xe0 | 
|  | 0x85 0x42 0x84 0xe0 | 
|  | 0xa5 0x42 0x84 0xe0 | 
|  | 0xa5 0x42 0x84 0xe0 | 
|  | 0xc5 0x42 0x84 0xe0 | 
|  | 0xe5 0x42 0x84 0xe0 | 
|  | 0x17 0x69 0x86 0xe0 | 
|  | 0x37 0x69 0x86 0xe0 | 
|  | 0x57 0x69 0x86 0xe0 | 
|  | 0x77 0x69 0x86 0xe0 | 
|  | 0x65 0x40 0x84 0xe0 | 
|  |  | 
|  | #------------------------------------------------------------------------------ | 
|  | # ADDS | 
|  | #------------------------------------------------------------------------------ | 
|  | # CHECK: adds   r7, r8, #-2147483638 | 
|  | # CHECK: adds   r7, r8, #40, #2 | 
|  |  | 
|  | 0x2a 0x71 0x98 0xe2 | 
|  | 0x28 0x71 0x98 0xe2 | 
|  |  | 
|  | #------------------------------------------------------------------------------ | 
|  | # ADR | 
|  | #------------------------------------------------------------------------------ | 
|  | # CHECK: add	r2, pc, #3 | 
|  | # CHECK: sub	r2, pc, #3 | 
|  | # CHECK: sub	r1, pc, #0 | 
|  | # CHECK: sub	r1, pc, #301989888 | 
|  | # CHECK: add	r1, pc, #301989888 | 
|  |  | 
|  | 0x03 0x20 0x8f 0xe2 | 
|  | 0x03 0x20 0x4f 0xe2 | 
|  | 0x00 0x10 0x4f 0xe2 | 
|  | 0x12 0x14 0x4f 0xe2 | 
|  | 0x12 0x14 0x8f 0xe2 | 
|  |  | 
|  | #------------------------------------------------------------------------------ | 
|  | # AND | 
|  | #------------------------------------------------------------------------------ | 
|  | # CHECK: and r10, r1, #15 | 
|  | # CHECK: and r7, r8, #-2147483638 | 
|  | # CHECK: and r7, r8, #40, #2 | 
|  | # CHECK: and r10, r1, r6 | 
|  | # CHECK: and r10, r1, r6, lsl #10 | 
|  | # CHECK: and r10, r1, r6, lsr #10 | 
|  | # CHECK: and r10, r1, r6, lsr #10 | 
|  | # CHECK: and r10, r1, r6, asr #10 | 
|  | # CHECK: and r10, r1, r6, ror #10 | 
|  | # CHECK: and r6, r7, r8, lsl r2 | 
|  | # CHECK: and r6, r7, r8, lsr r2 | 
|  | # CHECK: and r6, r7, r8, asr r2 | 
|  | # CHECK: and r6, r7, r8, ror r2 | 
|  | # CHECK: and r10, r1, r6, rrx | 
|  |  | 
|  | # CHECK: and r1, r1, #15 | 
|  | # CHECK: and r10, r10, r1 | 
|  | # CHECK: and r10, r10, r1, lsl #10 | 
|  | # CHECK: and r10, r10, r1, lsr #10 | 
|  | # CHECK: and r10, r10, r1, lsr #10 | 
|  | # CHECK: and r10, r10, r1, asr #10 | 
|  | # CHECK: and r10, r10, r1, ror #10 | 
|  | # CHECK: and r6, r6, r7, lsl r2 | 
|  | # CHECK: and r6, r6, r7, lsr r2 | 
|  | # CHECK: and r6, r6, r7, asr r2 | 
|  | # CHECK: and r6, r6, r7, ror r2 | 
|  | # CHECK: and r10, r10, r1, rrx | 
|  |  | 
|  | 0x0f 0xa0 0x01 0xe2 | 
|  | 0x2a 0x71 0x08 0xe2 | 
|  | 0x28 0x71 0x08 0xe2 | 
|  | 0x06 0xa0 0x01 0xe0 | 
|  | 0x06 0xa5 0x01 0xe0 | 
|  | 0x26 0xa5 0x01 0xe0 | 
|  | 0x26 0xa5 0x01 0xe0 | 
|  | 0x46 0xa5 0x01 0xe0 | 
|  | 0x66 0xa5 0x01 0xe0 | 
|  | 0x18 0x62 0x07 0xe0 | 
|  | 0x38 0x62 0x07 0xe0 | 
|  | 0x58 0x62 0x07 0xe0 | 
|  | 0x78 0x62 0x07 0xe0 | 
|  | 0x66 0xa0 0x01 0xe0 | 
|  |  | 
|  | 0x0f 0x10 0x01 0xe2 | 
|  | 0x01 0xa0 0x0a 0xe0 | 
|  | 0x01 0xa5 0x0a 0xe0 | 
|  | 0x21 0xa5 0x0a 0xe0 | 
|  | 0x21 0xa5 0x0a 0xe0 | 
|  | 0x41 0xa5 0x0a 0xe0 | 
|  | 0x61 0xa5 0x0a 0xe0 | 
|  | 0x17 0x62 0x06 0xe0 | 
|  | 0x37 0x62 0x06 0xe0 | 
|  | 0x57 0x62 0x06 0xe0 | 
|  | 0x77 0x62 0x06 0xe0 | 
|  | 0x61 0xa0 0x0a 0xe0 | 
|  |  | 
|  | #------------------------------------------------------------------------------ | 
|  | # FIXME: ASR | 
|  | #------------------------------------------------------------------------------ | 
|  |  | 
|  | #------------------------------------------------------------------------------ | 
|  | # BFC | 
|  | #------------------------------------------------------------------------------ | 
|  | # CHECK: bfc r5, #3, #17 | 
|  | # CHECK: bfclo r5, #3, #17 | 
|  |  | 
|  | 0x9f 0x51 0xd3 0xe7 | 
|  | 0x9f 0x51 0xd3 0x37 | 
|  |  | 
|  |  | 
|  | #------------------------------------------------------------------------------ | 
|  | # BFI | 
|  | #------------------------------------------------------------------------------ | 
|  | # CHECK: bfi r5, r2, #3, #17 | 
|  | # CHECK: bfine r5, r2, #3, #17 | 
|  |  | 
|  | 0x92 0x51 0xd3 0xe7 | 
|  | 0x92 0x51 0xd3 0x17 | 
|  |  | 
|  |  | 
|  | #------------------------------------------------------------------------------ | 
|  | # BIC | 
|  | #------------------------------------------------------------------------------ | 
|  | # CHECK: bic r10, r1, #15 | 
|  | # CHECK: bic r7, r8, #-2147483638 | 
|  | # CHECK: bic r7, r8, #40, #2 | 
|  | # CHECK: bic r10, r1, r6 | 
|  | # CHECK: bic r10, r1, r6, lsl #10 | 
|  | # CHECK: bic r10, r1, r6, lsr #10 | 
|  | # CHECK: bic r10, r1, r6, lsr #10 | 
|  | # CHECK: bic r10, r1, r6, asr #10 | 
|  | # CHECK: bic r10, r1, r6, ror #10 | 
|  | # CHECK: bic r6, r7, r8, lsl r2 | 
|  | # CHECK: bic r6, r7, r8, lsr r2 | 
|  | # CHECK: bic r6, r7, r8, asr r2 | 
|  | # CHECK: bic r6, r7, r8, ror r2 | 
|  | # CHECK: bic r10, r1, r6, rrx | 
|  |  | 
|  | # CHECK: bic r1, r1, #15 | 
|  | # CHECK: bic r10, r10, r1 | 
|  | # CHECK: bic r10, r10, r1, lsl #10 | 
|  | # CHECK: bic r10, r10, r1, lsr #10 | 
|  | # CHECK: bic r10, r10, r1, lsr #10 | 
|  | # CHECK: bic r10, r10, r1, asr #10 | 
|  | # CHECK: bic r10, r10, r1, ror #10 | 
|  | # CHECK: bic r6, r6, r7, lsl r2 | 
|  | # CHECK: bic r6, r6, r7, lsr r2 | 
|  | # CHECK: bic r6, r6, r7, asr r2 | 
|  | # CHECK: bic r6, r6, r7, ror r2 | 
|  | # CHECK: bic r10, r10, r1, rrx | 
|  |  | 
|  | 0x0f 0xa0 0xc1 0xe3 | 
|  | 0x2a 0x71 0xc8 0xe3 | 
|  | 0x28 0x71 0xc8 0xe3 | 
|  | 0x06 0xa0 0xc1 0xe1 | 
|  | 0x06 0xa5 0xc1 0xe1 | 
|  | 0x26 0xa5 0xc1 0xe1 | 
|  | 0x26 0xa5 0xc1 0xe1 | 
|  | 0x46 0xa5 0xc1 0xe1 | 
|  | 0x66 0xa5 0xc1 0xe1 | 
|  | 0x18 0x62 0xc7 0xe1 | 
|  | 0x38 0x62 0xc7 0xe1 | 
|  | 0x58 0x62 0xc7 0xe1 | 
|  | 0x78 0x62 0xc7 0xe1 | 
|  | 0x66 0xa0 0xc1 0xe1 | 
|  |  | 
|  |  | 
|  | 0x0f 0x10 0xc1 0xe3 | 
|  | 0x01 0xa0 0xca 0xe1 | 
|  | 0x01 0xa5 0xca 0xe1 | 
|  | 0x21 0xa5 0xca 0xe1 | 
|  | 0x21 0xa5 0xca 0xe1 | 
|  | 0x41 0xa5 0xca 0xe1 | 
|  | 0x61 0xa5 0xca 0xe1 | 
|  | 0x17 0x62 0xc6 0xe1 | 
|  | 0x37 0x62 0xc6 0xe1 | 
|  | 0x57 0x62 0xc6 0xe1 | 
|  | 0x77 0x62 0xc6 0xe1 | 
|  | 0x61 0xa0 0xca 0xe1 | 
|  |  | 
|  | #------------------------------------------------------------------------------ | 
|  | # BKPT | 
|  | #------------------------------------------------------------------------------ | 
|  | # CHECK: bkpt #10 | 
|  | # CHECK: bkpt #65535 | 
|  |  | 
|  | 0x7a 0x00 0x20 0xe1 | 
|  | 0x7f 0xff 0x2f 0xe1 | 
|  |  | 
|  | #------------------------------------------------------------------------------ | 
|  | # BLX (register) | 
|  | #------------------------------------------------------------------------------ | 
|  | # CHECK: blx r2 | 
|  | # CHECK: blxne r2 | 
|  |  | 
|  | 0x32 0xff 0x2f 0xe1 | 
|  | 0x32 0xff 0x2f 0x11 | 
|  |  | 
|  | #------------------------------------------------------------------------------ | 
|  | # BLX (immediate) | 
|  | #------------------------------------------------------------------------------ | 
|  | # CHECK: blx	#32424576 | 
|  | # CHECK: blx	#16212288 | 
|  |  | 
|  | 0xa0 0xb0 0x7b 0xfa | 
|  | 0x50 0xd8 0x3d 0xfa | 
|  |  | 
|  | #------------------------------------------------------------------------------ | 
|  | # BX | 
|  | #------------------------------------------------------------------------------ | 
|  |  | 
|  | # CHECK: bx r2 | 
|  | # CHECK: bxne r2 | 
|  |  | 
|  | 0x12 0xff 0x2f 0xe1 | 
|  | 0x12 0xff 0x2f 0x11 | 
|  |  | 
|  | #------------------------------------------------------------------------------ | 
|  | # BXJ | 
|  | #------------------------------------------------------------------------------ | 
|  |  | 
|  | # CHECK: bxj r2 | 
|  | # CHECK: bxjne r2 | 
|  |  | 
|  | 0x22 0xff 0x2f 0xe1 | 
|  | 0x22 0xff 0x2f 0x11 | 
|  |  | 
|  |  | 
|  | #------------------------------------------------------------------------------ | 
|  | # CDP/CDP2 | 
|  | #------------------------------------------------------------------------------ | 
|  | # CHECK: cdp  p7, #1, c1, c1, c1, #4 | 
|  | # CHECK: cdp2  p7, #1, c1, c1, c1, #4 | 
|  |  | 
|  | 0x81 0x17 0x11 0xee | 
|  | 0x81 0x17 0x11 0xfe | 
|  |  | 
|  |  | 
|  | #------------------------------------------------------------------------------ | 
|  | # CLREX | 
|  | #------------------------------------------------------------------------------ | 
|  | # CHECK: clrex | 
|  |  | 
|  | 0x1f 0xf0 0x7f 0xf5 | 
|  |  | 
|  |  | 
|  | #------------------------------------------------------------------------------ | 
|  | # CLZ | 
|  | #------------------------------------------------------------------------------ | 
|  | # CHECK: clz r1, r2 | 
|  | # CHECK: clzeq r1, r2 | 
|  |  | 
|  | 0x12 0x1f 0x6f 0xe1 | 
|  | 0x12 0x1f 0x6f 0x01 | 
|  |  | 
|  | #------------------------------------------------------------------------------ | 
|  | # CMN | 
|  | #------------------------------------------------------------------------------ | 
|  | # CHECK: cmn r1, #15 | 
|  | # CHECK: cmn r7, #40, #2 | 
|  | # CHECK: cmn r7, #-2147483638 | 
|  | # CHECK: cmn r1, r6 | 
|  | # CHECK: cmn r1, r6, lsl #10 | 
|  | # CHECK: cmn r1, r6, lsr #10 | 
|  | # CHECK: cmn sp, r6, lsr #10 | 
|  | # CHECK: cmn r1, r6, asr #10 | 
|  | # CHECK: cmn r1, r6, ror #10 | 
|  | # CHECK: cmn r7, r8, lsl r2 | 
|  | # CHECK: cmn sp, r8, lsr r2 | 
|  | # CHECK: cmn r7, r8, asr r2 | 
|  | # CHECK: cmn r7, r8, ror r2 | 
|  | # CHECK: cmn r1, r6, rrx | 
|  |  | 
|  | 0x0f 0x00 0x71 0xe3 | 
|  | 0x28 0x01 0x77 0xe3 | 
|  | 0x2a 0x01 0x77 0xe3 | 
|  | 0x06 0x00 0x71 0xe1 | 
|  | 0x06 0x05 0x71 0xe1 | 
|  | 0x26 0x05 0x71 0xe1 | 
|  | 0x26 0x05 0x7d 0xe1 | 
|  | 0x46 0x05 0x71 0xe1 | 
|  | 0x66 0x05 0x71 0xe1 | 
|  | 0x18 0x02 0x77 0xe1 | 
|  | 0x38 0x02 0x7d 0xe1 | 
|  | 0x58 0x02 0x77 0xe1 | 
|  | 0x78 0x02 0x77 0xe1 | 
|  | 0x66 0x00 0x71 0xe1 | 
|  |  | 
|  | #------------------------------------------------------------------------------ | 
|  | # CMP | 
|  | #------------------------------------------------------------------------------ | 
|  | # CHECK: cmp r1, #15 | 
|  | # CHECK: cmp r7, #40, #2 | 
|  | # CHECK: cmp r7, #-2147483638 | 
|  | # CHECK: cmp r1, r6 | 
|  | # CHECK: cmp r1, r6, lsl #10 | 
|  | # CHECK: cmp r1, r6, lsr #10 | 
|  | # CHECK: cmp sp, r6, lsr #10 | 
|  | # CHECK: cmp r1, r6, asr #10 | 
|  | # CHECK: cmp r1, r6, ror #10 | 
|  | # CHECK: cmp r7, r8, lsl r2 | 
|  | # CHECK: cmp sp, r8, lsr r2 | 
|  | # CHECK: cmp r7, r8, asr r2 | 
|  | # CHECK: cmp r7, r8, ror r2 | 
|  | # CHECK: cmp r1, r6, rrx | 
|  |  | 
|  | 0x0f 0x00 0x51 0xe3 | 
|  | 0x28 0x01 0x57 0xe3 | 
|  | 0x2a 0x01 0x57 0xe3 | 
|  | 0x06 0x00 0x51 0xe1 | 
|  | 0x06 0x05 0x51 0xe1 | 
|  | 0x26 0x05 0x51 0xe1 | 
|  | 0x26 0x05 0x5d 0xe1 | 
|  | 0x46 0x05 0x51 0xe1 | 
|  | 0x66 0x05 0x51 0xe1 | 
|  | 0x18 0x02 0x57 0xe1 | 
|  | 0x38 0x02 0x5d 0xe1 | 
|  | 0x58 0x02 0x57 0xe1 | 
|  | 0x78 0x02 0x57 0xe1 | 
|  | 0x66 0x00 0x51 0xe1 | 
|  |  | 
|  |  | 
|  | #------------------------------------------------------------------------------ | 
|  | # CPS | 
|  | #------------------------------------------------------------------------------ | 
|  | # CHECK: cpsie  aif | 
|  | # CHECK: cps  #15 | 
|  | # CHECK: cpsid  if, #10 | 
|  | # CHECK: cpsid  af, #17 | 
|  | # CHECK: cpsie  f, #26 | 
|  |  | 
|  | 0xc0 0x01 0x08 0xf1 | 
|  | 0x0f 0x00 0x02 0xf1 | 
|  | 0xca 0x00 0x0e 0xf1 | 
|  | 0x51 0x01 0x0e 0xf1 | 
|  | 0x5a 0x00 0x0a 0xf1 | 
|  |  | 
|  |  | 
|  | #------------------------------------------------------------------------------ | 
|  | # DBG | 
|  | #------------------------------------------------------------------------------ | 
|  | # CHECK: dbg #0 | 
|  | # CHECK: dbg #5 | 
|  | # CHECK: dbg #15 | 
|  |  | 
|  | 0xf0 0xf0 0x20 0xe3 | 
|  | 0xf5 0xf0 0x20 0xe3 | 
|  | 0xff 0xf0 0x20 0xe3 | 
|  |  | 
|  |  | 
|  | #------------------------------------------------------------------------------ | 
|  | # DMB | 
|  | #------------------------------------------------------------------------------ | 
|  |  | 
|  | # CHECK: dmb #0x0 | 
|  | # CHECK: dmb #0x1 | 
|  | # CHECK: dmb oshst | 
|  | # CHECK: dmb osh | 
|  | # CHECK: dmb #0x4 | 
|  | # CHECK: dmb #0x5 | 
|  | # CHECK: dmb nshst | 
|  | # CHECK: dmb nsh | 
|  | # CHECK: dmb #0x8 | 
|  | # CHECK: dmb #0x9 | 
|  | # CHECK: dmb ishst | 
|  | # CHECK: dmb ish | 
|  | # CHECK: dmb #0xc | 
|  | # CHECK: dmb #0xd | 
|  | # CHECK: dmb st | 
|  | # CHECK: dmb sy | 
|  |  | 
|  | 0x50 0xf0 0x7f 0xf5 | 
|  | 0x51 0xf0 0x7f 0xf5 | 
|  | 0x52 0xf0 0x7f 0xf5 | 
|  | 0x53 0xf0 0x7f 0xf5 | 
|  | 0x54 0xf0 0x7f 0xf5 | 
|  | 0x55 0xf0 0x7f 0xf5 | 
|  | 0x56 0xf0 0x7f 0xf5 | 
|  | 0x57 0xf0 0x7f 0xf5 | 
|  | 0x58 0xf0 0x7f 0xf5 | 
|  | 0x59 0xf0 0x7f 0xf5 | 
|  | 0x5a 0xf0 0x7f 0xf5 | 
|  | 0x5b 0xf0 0x7f 0xf5 | 
|  | 0x5c 0xf0 0x7f 0xf5 | 
|  | 0x5d 0xf0 0x7f 0xf5 | 
|  | 0x5e 0xf0 0x7f 0xf5 | 
|  | 0x5f 0xf0 0x7f 0xf5 | 
|  |  | 
|  | #------------------------------------------------------------------------------ | 
|  | # DSB | 
|  | #------------------------------------------------------------------------------ | 
|  |  | 
|  | # CHECK: dsb	#0x0 | 
|  | # CHECK: dsb	#0x1 | 
|  | # CHECK: dsb	oshst | 
|  | # CHECK: dsb	osh | 
|  | # CHECK: dsb	#0x4 | 
|  | # CHECK: dsb	#0x5 | 
|  | # CHECK: dsb	nshst | 
|  | # CHECK: dsb	nsh | 
|  | # CHECK: dsb	#0x8 | 
|  | # CHECK: dsb	#0x9 | 
|  | # CHECK: dsb	ishst | 
|  | # CHECK: dsb	ish | 
|  | # CHECK: dsb	#0xc | 
|  | # CHECK: dsb	#0xd | 
|  | # CHECK: dsb	st | 
|  | # CHECK: dsb	sy | 
|  |  | 
|  | 0x40 0xf0 0x7f 0xf5 | 
|  | 0x41 0xf0 0x7f 0xf5 | 
|  | 0x42 0xf0 0x7f 0xf5 | 
|  | 0x43 0xf0 0x7f 0xf5 | 
|  | 0x44 0xf0 0x7f 0xf5 | 
|  | 0x45 0xf0 0x7f 0xf5 | 
|  | 0x46 0xf0 0x7f 0xf5 | 
|  | 0x47 0xf0 0x7f 0xf5 | 
|  | 0x48 0xf0 0x7f 0xf5 | 
|  | 0x49 0xf0 0x7f 0xf5 | 
|  | 0x4a 0xf0 0x7f 0xf5 | 
|  | 0x4b 0xf0 0x7f 0xf5 | 
|  | 0x4c 0xf0 0x7f 0xf5 | 
|  | 0x4d 0xf0 0x7f 0xf5 | 
|  | 0x4e 0xf0 0x7f 0xf5 | 
|  | 0x4f 0xf0 0x7f 0xf5 | 
|  |  | 
|  | #------------------------------------------------------------------------------ | 
|  | # EOR | 
|  | #------------------------------------------------------------------------------ | 
|  | # CHECK: eor r4, r5, #61440 | 
|  | # CHECK: eor r7, r8, #-2147483638 | 
|  | # CHECK: eor r7, r8, #40, #2 | 
|  | # CHECK: eor r4, r5, r6 | 
|  | # CHECK: eor r4, r5, r6, lsl #5 | 
|  | # CHECK: eor r4, r5, r6, lsr #5 | 
|  | # CHECK: eor r4, r5, r6, lsr #5 | 
|  | # CHECK: eor r4, r5, r6, asr #5 | 
|  | # CHECK: eor r4, r5, r6, ror #5 | 
|  | # CHECK: eor r6, r7, r8, lsl r9 | 
|  | # CHECK: eor r6, r7, r8, lsr r9 | 
|  | # CHECK: eor r6, r7, r8, asr r9 | 
|  | # CHECK: eor r6, r7, r8, ror r9 | 
|  | # CHECK: eor r4, r5, r6, rrx | 
|  |  | 
|  | # CHECK: eor r5, r5, #61440 | 
|  | # CHECK: eor r4, r4, r5 | 
|  | # CHECK: eor r4, r4, r5, lsl #5 | 
|  | # CHECK: eor r4, r4, r5, lsr #5 | 
|  | # CHECK: eor r4, r4, r5, lsr #5 | 
|  | # CHECK: eor r4, r4, r5, asr #5 | 
|  | # CHECK: eor r4, r4, r5, ror #5 | 
|  | # CHECK: eor r6, r6, r7, lsl r9 | 
|  | # CHECK: eor r6, r6, r7, lsr r9 | 
|  | # CHECK: eor r6, r6, r7, asr r9 | 
|  | # CHECK: eor r6, r6, r7, ror r9 | 
|  | # CHECK: eor r4, r4, r5, rrx | 
|  |  | 
|  | 0x0f 0x4a 0x25 0xe2 | 
|  | 0x2a 0x71 0x28 0xe2 | 
|  | 0x28 0x71 0x28 0xe2 | 
|  | 0x06 0x40 0x25 0xe0 | 
|  | 0x86 0x42 0x25 0xe0 | 
|  | 0xa6 0x42 0x25 0xe0 | 
|  | 0xa6 0x42 0x25 0xe0 | 
|  | 0xc6 0x42 0x25 0xe0 | 
|  | 0xe6 0x42 0x25 0xe0 | 
|  | 0x18 0x69 0x27 0xe0 | 
|  | 0x38 0x69 0x27 0xe0 | 
|  | 0x58 0x69 0x27 0xe0 | 
|  | 0x78 0x69 0x27 0xe0 | 
|  | 0x66 0x40 0x25 0xe0 | 
|  |  | 
|  |  | 
|  | 0x0f 0x5a 0x25 0xe2 | 
|  | 0x05 0x40 0x24 0xe0 | 
|  | 0x85 0x42 0x24 0xe0 | 
|  | 0xa5 0x42 0x24 0xe0 | 
|  | 0xa5 0x42 0x24 0xe0 | 
|  | 0xc5 0x42 0x24 0xe0 | 
|  | 0xe5 0x42 0x24 0xe0 | 
|  | 0x17 0x69 0x26 0xe0 | 
|  | 0x37 0x69 0x26 0xe0 | 
|  | 0x57 0x69 0x26 0xe0 | 
|  | 0x77 0x69 0x26 0xe0 | 
|  | 0x65 0x40 0x24 0xe0 | 
|  |  | 
|  |  | 
|  | #------------------------------------------------------------------------------ | 
|  | # ISB | 
|  | #------------------------------------------------------------------------------ | 
|  | # CHECK: isb sy | 
|  | # CHECK: isb #0xa | 
|  |  | 
|  | 0x6f 0xf0 0x7f 0xf5 | 
|  | 0x6a 0xf0 0x7f 0xf5 | 
|  |  | 
|  |  | 
|  |  | 
|  | #------------------------------------------------------------------------------ | 
|  | # LDM* | 
|  | #------------------------------------------------------------------------------ | 
|  | # CHECK: ldm       r2, {r1, r3, r4, r5, r6, sp} | 
|  | # CHECK: ldmib     r2, {r1, r3, r4, r5, r6, sp} | 
|  | # CHECK: ldmda     r2, {r1, r3, r4, r5, r6, sp} | 
|  | # CHECK: ldmdb     r2, {r1, r3, r4, r5, r6, sp} | 
|  |  | 
|  |  | 
|  | # CHECK: ldm       r2!, {r1, r3, r4, r5, r6, sp} | 
|  | # CHECK: ldmib     r2!, {r1, r3, r4, r5, r6, sp} | 
|  | # CHECK: ldmda     r2!, {r1, r3, r4, r5, r6, sp} | 
|  | # CHECK: ldmdb     r2!, {r1, r3, r4, r5, r6, sp} | 
|  |  | 
|  | 0x7a 0x20 0x92 0xe8 | 
|  | 0x7a 0x20 0x92 0xe9 | 
|  | 0x7a 0x20 0x12 0xe8 | 
|  | 0x7a 0x20 0x12 0xe9 | 
|  |  | 
|  | 0x7a 0x20 0xb2 0xe8 | 
|  | 0x7a 0x20 0xb2 0xe9 | 
|  | 0x7a 0x20 0x32 0xe8 | 
|  | 0x7a 0x20 0x32 0xe9 | 
|  |  | 
|  |  | 
|  | #------------------------------------------------------------------------------ | 
|  | # LDREX/LDREXB/LDREXH/LDREXD | 
|  | #------------------------------------------------------------------------------ | 
|  | # CHECK: ldrexb  r3, [r4] | 
|  | # CHECK: ldrexh  r2, [r5] | 
|  | # CHECK: ldrex  r1, [r7] | 
|  | # CHECK: ldrexd  r6, r7, [r8] | 
|  |  | 
|  | 0x9f 0x3f 0xd4 0xe1 | 
|  | 0x9f 0x2f 0xf5 0xe1 | 
|  | 0x9f 0x1f 0x97 0xe1 | 
|  | 0x9f 0x6f 0xb8 0xe1 | 
|  |  | 
|  |  | 
|  | #------------------------------------------------------------------------------ | 
|  | # FIXME: LSL | 
|  | #------------------------------------------------------------------------------ | 
|  | #------------------------------------------------------------------------------ | 
|  | # FIXME: LSR | 
|  | #------------------------------------------------------------------------------ | 
|  |  | 
|  | #------------------------------------------------------------------------------ | 
|  | # MCR/MCR2 | 
|  | #------------------------------------------------------------------------------ | 
|  | # CHECK: mcr  p7, #1, r5, c1, c1, #4 | 
|  | # CHECK: mcr2  p7, #1, r5, c1, c1, #4 | 
|  |  | 
|  | 0x91 0x57 0x21 0xee | 
|  | 0x91 0x57 0x21 0xfe | 
|  |  | 
|  | #------------------------------------------------------------------------------ | 
|  | # MCRR/MCRR2 | 
|  | #------------------------------------------------------------------------------ | 
|  | # CHECK: mcrr  p7, #15, r5, r4, c1 | 
|  | # CHECK: mcrr2  p7, #15, r5, r4, c1 | 
|  |  | 
|  | 0xf1 0x57 0x44 0xec | 
|  | 0xf1 0x57 0x44 0xfc | 
|  |  | 
|  |  | 
|  | #------------------------------------------------------------------------------ | 
|  | # MLA | 
|  | #------------------------------------------------------------------------------ | 
|  | # CHECK: mla  r1, r2, r3, r4 | 
|  | # CHECK: mlas r1, r2, r3, r4 | 
|  | # CHECK: mlane  r1, r2, r3, r4 | 
|  | # CHECK: mlasne r1, r2, r3, r4 | 
|  |  | 
|  | 0x92 0x43 0x21 0xe0 | 
|  | 0x92 0x43 0x31 0xe0 | 
|  | 0x92 0x43 0x21 0x10 | 
|  | 0x92 0x43 0x31 0x10 | 
|  |  | 
|  | #------------------------------------------------------------------------------ | 
|  | # MLS | 
|  | #------------------------------------------------------------------------------ | 
|  | # CHECK: mls  r2, r5, r6, r3 | 
|  | # CHECK: mlsne  r2, r5, r6, r3 | 
|  |  | 
|  | 0x95 0x36 0x62 0xe0 | 
|  | 0x95 0x36 0x62 0x10 | 
|  |  | 
|  | #------------------------------------------------------------------------------ | 
|  | # MOV (immediate) | 
|  | #------------------------------------------------------------------------------ | 
|  | # CHECK: mov r3, #7 | 
|  | # CHECK: mov r4, #4080 | 
|  | # CHECK: mov r5, #16711680 | 
|  | # CHECK: mov sp, #35 | 
|  | # CHECK: mov r9, #240, #30 | 
|  | # CHECK: mov r7, #-2147483638 | 
|  | # CHECK: mov pc, #2147483658 | 
|  | # CHECK: movw r6, #65535 | 
|  | # CHECK: movw r9, #65535 | 
|  | # CHECK: movw sp, #1193 | 
|  | # CHECK: movs r3, #7 | 
|  | # CHECK: movs r11, #99 | 
|  | # CHECK: movs r11, #240, #30 | 
|  | # CHECK: moveq r4, #4080 | 
|  | # CHECK: movseq r5, #16711680 | 
|  |  | 
|  | 0x07 0x30 0xa0 0xe3 | 
|  | 0xff 0x4e 0xa0 0xe3 | 
|  | 0xff 0x58 0xa0 0xe3 | 
|  | 0x23 0xd0 0xa0 0xe3 | 
|  | 0xf0 0x9f 0xa0 0xe3 | 
|  | 0x2a 0x71 0xa0 0xe3 | 
|  | 0x2a 0xf1 0xa0 0xe3 | 
|  | 0xff 0x6f 0x0f 0xe3 | 
|  | 0xff 0x9f 0x0f 0xe3 | 
|  | 0xa9 0xd4 0x00 0xe3 | 
|  | 0x07 0x30 0xb0 0xe3 | 
|  | 0x63 0xb0 0xb0 0xe3 | 
|  | 0xf0 0xbf 0xb0 0xe3 | 
|  | 0xff 0x4e 0xa0 0x03 | 
|  | 0xff 0x58 0xb0 0x03 | 
|  |  | 
|  | #------------------------------------------------------------------------------ | 
|  | # MOV (register) | 
|  | #------------------------------------------------------------------------------ | 
|  | # CHECK: mov r2, r3 | 
|  | # CHECK: movs r2, r3 | 
|  | # CHECK: moveq r2, r3 | 
|  | # CHECK: movseq r2, r3 | 
|  |  | 
|  | 0x03 0x20 0xa0 0xe1 | 
|  | 0x03 0x20 0xb0 0xe1 | 
|  | 0x03 0x20 0xa0 0x01 | 
|  | 0x03 0x20 0xb0 0x01 | 
|  |  | 
|  | #------------------------------------------------------------------------------ | 
|  | # MOVT | 
|  | #------------------------------------------------------------------------------ | 
|  | # CHECK: movt r3, #7 | 
|  | # CHECK: movt r6, #65535 | 
|  | # CHECK: movt sp, #3397 | 
|  | # CHECK: movteq r4, #4080 | 
|  |  | 
|  | 0x07 0x30 0x40 0xe3 | 
|  | 0xff 0x6f 0x4f 0xe3 | 
|  | 0x45 0xdd 0x40 0xe3 | 
|  | 0xf0 0x4f 0x40 0x03 | 
|  |  | 
|  |  | 
|  | #------------------------------------------------------------------------------ | 
|  | # MRC/MRC2 | 
|  | #------------------------------------------------------------------------------ | 
|  | # CHECK: mrc  p14, #0, r1, c1, c2, #4 | 
|  | # CHECK: mrc  p15, #7, apsr_nzcv, c15, c6, #6 | 
|  | # CHECK: mrc2  p14, #0, r1, c1, c2, #4 | 
|  | # CHECK: mrc2  p9, #7, apsr_nzcv, c15, c0, #1 | 
|  |  | 
|  | 0x92 0x1e 0x11 0xee | 
|  | 0xd6 0xff 0xff 0xee | 
|  | 0x92 0x1e 0x11 0xfe | 
|  | 0x30 0xf9 0xff 0xfe | 
|  |  | 
|  | #------------------------------------------------------------------------------ | 
|  | # MRRC/MRRC2 | 
|  | #------------------------------------------------------------------------------ | 
|  | # CHECK: mrrc  p7, #1, r5, r4, c1 | 
|  | # CHECK: mrrc2  p7, #1, r5, r4, c1 | 
|  |  | 
|  | 0x11 0x57 0x54 0xec | 
|  | 0x11 0x57 0x54 0xfc | 
|  |  | 
|  |  | 
|  | #------------------------------------------------------------------------------ | 
|  | # MRS | 
|  | #------------------------------------------------------------------------------ | 
|  | # CHECK: mrs  r8, apsr | 
|  | # CHECK: mrs  r8, spsr | 
|  | 0x00 0x80 0x0f 0xe1 | 
|  | 0x00 0x80 0x4f 0xe1 | 
|  |  | 
|  |  | 
|  |  | 
|  | #------------------------------------------------------------------------------ | 
|  | # MSR | 
|  | #------------------------------------------------------------------------------ | 
|  |  | 
|  | # CHECK: msr  CPSR_fc, #5 | 
|  | # CHECK: msr  APSR_g, #5 | 
|  | # CHECK: msr  APSR_nzcvq, #5 | 
|  | # CHECK: msr  APSR_nzcvq, #5 | 
|  | # CHECK: msr  APSR_nzcvqg, #5 | 
|  | # CHECK: msr  CPSR_fc, #5 | 
|  | # CHECK: msr  CPSR_c, #5 | 
|  | # CHECK: msr  CPSR_x, #5 | 
|  | # CHECK: msr  CPSR_fc, #5 | 
|  | # CHECK: msr  CPSR_fc, #5 | 
|  | # CHECK: msr  CPSR_fsx, #5 | 
|  | # CHECK: msr  SPSR_fc, #5 | 
|  | # CHECK: msr  SPSR_fsxc, #5 | 
|  | # CHECK: msr  CPSR_fsxc, #5 | 
|  | # CHECK: msr  APSR_nzcvq, #2147483658 | 
|  | # CHECK: msr  SPSR_fsxc, #40, #2 | 
|  |  | 
|  | 0x05 0xf0 0x29 0xe3 | 
|  | 0x05 0xf0 0x24 0xe3 | 
|  | 0x05 0xf0 0x28 0xe3 | 
|  | 0x05 0xf0 0x28 0xe3 | 
|  | 0x05 0xf0 0x2c 0xe3 | 
|  | 0x05 0xf0 0x29 0xe3 | 
|  | 0x05 0xf0 0x21 0xe3 | 
|  | 0x05 0xf0 0x22 0xe3 | 
|  | 0x05 0xf0 0x29 0xe3 | 
|  | 0x05 0xf0 0x29 0xe3 | 
|  | 0x05 0xf0 0x2e 0xe3 | 
|  | 0x05 0xf0 0x69 0xe3 | 
|  | 0x05 0xf0 0x6f 0xe3 | 
|  | 0x05 0xf0 0x2f 0xe3 | 
|  | 0x2a 0xf1 0x28 0xe3 | 
|  | 0x28 0xf1 0x6f 0xe3 | 
|  |  | 
|  | # CHECK: msr  CPSR_fc, r0 | 
|  | # CHECK: msr  APSR_g, r0 | 
|  | # CHECK: msr  APSR_nzcvq, r0 | 
|  | # CHECK: msr  APSR_nzcvq, r0 | 
|  | # CHECK: msr  APSR_nzcvqg, r0 | 
|  | # CHECK: msr  CPSR_fc, r0 | 
|  | # CHECK: msr  CPSR_c, r0 | 
|  | # CHECK: msr  CPSR_x, r0 | 
|  | # CHECK: msr  CPSR_fc, r0 | 
|  | # CHECK: msr  CPSR_fc, r0 | 
|  | # CHECK: msr  CPSR_fsx, r0 | 
|  | # CHECK: msr  SPSR_fc, r0 | 
|  | # CHECK: msr  SPSR_fsxc, r0 | 
|  | # CHECK: msr  CPSR_fsxc, r0 | 
|  |  | 
|  | 0x00 0xf0 0x29 0xe1 | 
|  | 0x00 0xf0 0x24 0xe1 | 
|  | 0x00 0xf0 0x28 0xe1 | 
|  | 0x00 0xf0 0x28 0xe1 | 
|  | 0x00 0xf0 0x2c 0xe1 | 
|  | 0x00 0xf0 0x29 0xe1 | 
|  | 0x00 0xf0 0x21 0xe1 | 
|  | 0x00 0xf0 0x22 0xe1 | 
|  | 0x00 0xf0 0x29 0xe1 | 
|  | 0x00 0xf0 0x29 0xe1 | 
|  | 0x00 0xf0 0x2e 0xe1 | 
|  | 0x00 0xf0 0x69 0xe1 | 
|  | 0x00 0xf0 0x6f 0xe1 | 
|  | 0x00 0xf0 0x2f 0xe1 | 
|  |  | 
|  | #------------------------------------------------------------------------------ | 
|  | # MUL | 
|  | #------------------------------------------------------------------------------ | 
|  |  | 
|  | # CHECK: mul r5, r6, r7 | 
|  | # CHECK: muls r5, r6, r7 | 
|  | # CHECK: mulgt r5, r6, r7 | 
|  | # CHECK: mulsle r5, r6, r7 | 
|  |  | 
|  | 0x96 0x07 0x05 0xe0 | 
|  | 0x96 0x07 0x15 0xe0 | 
|  | 0x96 0x07 0x05 0xc0 | 
|  | 0x96 0x07 0x15 0xd0 | 
|  |  | 
|  |  | 
|  | #------------------------------------------------------------------------------ | 
|  | # MVN (immediate) | 
|  | #------------------------------------------------------------------------------ | 
|  | # CHECK: mvn r3, #7 | 
|  | # CHECK: mvn r4, #4080 | 
|  | # CHECK: mvn r5, #16711680 | 
|  | # CHECK: mvn r7, #40, #2 | 
|  | # CHECK: mvn r7, #-2147483638 | 
|  | # CHECK: mvns r3, #7 | 
|  | # CHECK: mvns r11, #240, #30 | 
|  | # CHECK: mvns r11, #-2147483638 | 
|  | # CHECK: mvneq r4, #4080 | 
|  | # CHECK: mvnseq r5, #16711680 | 
|  |  | 
|  | 0x07 0x30 0xe0 0xe3 | 
|  | 0xff 0x4e 0xe0 0xe3 | 
|  | 0xff 0x58 0xe0 0xe3 | 
|  | 0x28 0x71 0xe0 0xe3 | 
|  | 0x2a 0x71 0xe0 0xe3 | 
|  | 0x07 0x30 0xf0 0xe3 | 
|  | 0xf0 0xbf 0xf0 0xe3 | 
|  | 0x2a 0xb1 0xf0 0xe3 | 
|  | 0xff 0x4e 0xe0 0x03 | 
|  | 0xff 0x58 0xf0 0x03 | 
|  |  | 
|  |  | 
|  | #------------------------------------------------------------------------------ | 
|  | # MVN (register) | 
|  | #------------------------------------------------------------------------------ | 
|  | # CHECK: mvn r2, r3 | 
|  | # CHECK: mvns r2, r3 | 
|  | # CHECK: mvn r5, r6, lsl #19 | 
|  | # CHECK: mvn r5, r6, lsr #9 | 
|  | # CHECK: mvn r5, r6, asr #4 | 
|  | # CHECK: mvn r5, r6, ror #6 | 
|  | # CHECK: mvn r5, r6, rrx | 
|  | # CHECK: mvneq r2, r3 | 
|  | # CHECK: mvnseq r2, r3, lsl #10 | 
|  |  | 
|  | 0x03 0x20 0xe0 0xe1 | 
|  | 0x03 0x20 0xf0 0xe1 | 
|  | 0x86 0x59 0xe0 0xe1 | 
|  | 0xa6 0x54 0xe0 0xe1 | 
|  | 0x46 0x52 0xe0 0xe1 | 
|  | 0x66 0x53 0xe0 0xe1 | 
|  | 0x66 0x50 0xe0 0xe1 | 
|  | 0x03 0x20 0xe0 0x01 | 
|  | 0x03 0x25 0xf0 0x01 | 
|  |  | 
|  |  | 
|  | #------------------------------------------------------------------------------ | 
|  | # MVN (shifted register) | 
|  | #------------------------------------------------------------------------------ | 
|  | # CHECK: mvn r5, r6, lsl r7 | 
|  | # CHECK: mvns r5, r6, lsr r7 | 
|  | # CHECK: mvngt r5, r6, asr r7 | 
|  | # CHECK: mvnslt r5, r6, ror r7 | 
|  |  | 
|  | 0x16 0x57 0xe0 0xe1 | 
|  | 0x36 0x57 0xf0 0xe1 | 
|  | 0x56 0x57 0xe0 0xc1 | 
|  | 0x76 0x57 0xf0 0xb1 | 
|  |  | 
|  | #------------------------------------------------------------------------------ | 
|  | # NOP | 
|  | #------------------------------------------------------------------------------ | 
|  | # CHECK: nop | 
|  | # CHECK: nopgt | 
|  |  | 
|  | 0x00 0xf0 0x20 0xe3 | 
|  | 0x00 0xf0 0x20 0xc3 | 
|  |  | 
|  |  | 
|  | #------------------------------------------------------------------------------ | 
|  | # ORR | 
|  | #------------------------------------------------------------------------------ | 
|  | # CHECK: orr r4, r5, #61440 | 
|  | # CHECK: orr r7, r8, #-2147483638 | 
|  | # CHECK: orr r7, r8, #40, #2 | 
|  | # CHECK: orr r4, r5, r6 | 
|  | # CHECK: orr r4, r5, r6, lsl #5 | 
|  | # CHECK: orr r4, r5, r6, lsr #5 | 
|  | # CHECK: orr r4, r5, r6, lsr #5 | 
|  | # CHECK: orr r4, r5, r6, asr #5 | 
|  | # CHECK: orr r4, r5, r6, ror #5 | 
|  | # CHECK: orr r6, r7, r8, lsl r9 | 
|  | # CHECK: orr r6, r7, r8, lsr r9 | 
|  | # CHECK: orr r6, r7, r8, asr r9 | 
|  | # CHECK: orr r6, r7, r8, ror r9 | 
|  | # CHECK: orr r4, r5, r6, rrx | 
|  |  | 
|  | # CHECK: orr r5, r5, #61440 | 
|  | # CHECK: orr r4, r4, r5 | 
|  | # CHECK: orr r4, r4, r5, lsl #5 | 
|  | # CHECK: orr r4, r4, r5, lsr #5 | 
|  | # CHECK: orr r4, r4, r5, lsr #5 | 
|  | # CHECK: orr r4, r4, r5, asr #5 | 
|  | # CHECK: orr r4, r4, r5, ror #5 | 
|  | # CHECK: orr r6, r6, r7, lsl r9 | 
|  | # CHECK: orr r6, r6, r7, lsr r9 | 
|  | # CHECK: orr r6, r6, r7, asr r9 | 
|  | # CHECK: orr r6, r6, r7, ror r9 | 
|  | # CHECK: orr r4, r4, r5, rrx | 
|  |  | 
|  | 0x0f 0x4a 0x85 0xe3 | 
|  | 0x2a 0x71 0x88 0xe3 | 
|  | 0x28 0x71 0x88 0xe3 | 
|  | 0x06 0x40 0x85 0xe1 | 
|  | 0x86 0x42 0x85 0xe1 | 
|  | 0xa6 0x42 0x85 0xe1 | 
|  | 0xa6 0x42 0x85 0xe1 | 
|  | 0xc6 0x42 0x85 0xe1 | 
|  | 0xe6 0x42 0x85 0xe1 | 
|  | 0x18 0x69 0x87 0xe1 | 
|  | 0x38 0x69 0x87 0xe1 | 
|  | 0x58 0x69 0x87 0xe1 | 
|  | 0x78 0x69 0x87 0xe1 | 
|  | 0x66 0x40 0x85 0xe1 | 
|  |  | 
|  | 0x0f 0x5a 0x85 0xe3 | 
|  | 0x05 0x40 0x84 0xe1 | 
|  | 0x85 0x42 0x84 0xe1 | 
|  | 0xa5 0x42 0x84 0xe1 | 
|  | 0xa5 0x42 0x84 0xe1 | 
|  | 0xc5 0x42 0x84 0xe1 | 
|  | 0xe5 0x42 0x84 0xe1 | 
|  | 0x17 0x69 0x86 0xe1 | 
|  | 0x37 0x69 0x86 0xe1 | 
|  | 0x57 0x69 0x86 0xe1 | 
|  | 0x77 0x69 0x86 0xe1 | 
|  | 0x65 0x40 0x84 0xe1 | 
|  |  | 
|  | # CHECK: orrseq r4, r5, #61440 | 
|  | # CHECK: orrne r4, r5, r6 | 
|  | # CHECK: orrseq r4, r5, r6, lsl #5 | 
|  | # CHECK: orrlo r6, r7, r8, ror r9 | 
|  | # CHECK: orrshi r4, r5, r6, rrx | 
|  | # CHECK: orrhs r5, r5, #61440 | 
|  | # CHECK: orrseq r4, r4, r5 | 
|  | # CHECK: orrne r6, r6, r7, asr r9 | 
|  | # CHECK: orrslt r6, r6, r7, ror r9 | 
|  | # CHECK: orrsgt r4, r4, r5, rrx | 
|  |  | 
|  | 0x0f 0x4a 0x95 0x03 | 
|  | 0x06 0x40 0x85 0x11 | 
|  | 0x86 0x42 0x95 0x01 | 
|  | 0x78 0x69 0x87 0x31 | 
|  | 0x66 0x40 0x95 0x81 | 
|  | 0x0f 0x5a 0x85 0x23 | 
|  | 0x05 0x40 0x94 0x01 | 
|  | 0x57 0x69 0x86 0x11 | 
|  | 0x77 0x69 0x96 0xb1 | 
|  | 0x65 0x40 0x94 0xc1 | 
|  |  | 
|  | #------------------------------------------------------------------------------ | 
|  | # PKH | 
|  | #------------------------------------------------------------------------------ | 
|  | # CHECK: pkhbt r2, r2, r3 | 
|  | # CHECK: pkhbt r2, r2, r3, lsl #31 | 
|  | # CHECK: pkhbt r2, r2, r3 | 
|  | # CHECK: pkhbt r2, r2, r3, lsl #15 | 
|  |  | 
|  | # CHECK: pkhbt r2, r2, r3 | 
|  | # CHECK: pkhtb r2, r2, r3, asr #31 | 
|  | # CHECK: pkhtb r2, r2, r3, asr #15 | 
|  |  | 
|  | 0x13 0x20 0x82 0xe6 | 
|  | 0x93 0x2f 0x82 0xe6 | 
|  | 0x13 0x20 0x82 0xe6 | 
|  | 0x93 0x27 0x82 0xe6 | 
|  |  | 
|  | 0x13 0x20 0x82 0xe6 | 
|  | 0xd3 0x2f 0x82 0xe6 | 
|  | 0xd3 0x27 0x82 0xe6 | 
|  |  | 
|  | #------------------------------------------------------------------------------ | 
|  | # FIXME: PLD | 
|  | #------------------------------------------------------------------------------ | 
|  | #------------------------------------------------------------------------------ | 
|  | # FIXME: PLI | 
|  | #------------------------------------------------------------------------------ | 
|  |  | 
|  |  | 
|  | #------------------------------------------------------------------------------ | 
|  | # POP | 
|  | #------------------------------------------------------------------------------ | 
|  | # CHECK: ldr r7, [sp], #4 | 
|  | # CHECK: pop {r7, r8, r9, r10} | 
|  |  | 
|  | 0x04 0x70 0x9d 0xe4 | 
|  | 0x80 0x07 0xbd 0xe8 | 
|  |  | 
|  |  | 
|  | #------------------------------------------------------------------------------ | 
|  | # PUSH | 
|  | #------------------------------------------------------------------------------ | 
|  | # CHECK: str r7, [sp, #-4]! | 
|  | # CHECK: push {r7, r8, r9, r10} | 
|  |  | 
|  | 0x04 0x70 0x2d 0xe5 | 
|  | 0x80 0x07 0x2d 0xe9 | 
|  |  | 
|  |  | 
|  | #------------------------------------------------------------------------------ | 
|  | # QADD/QADD16/QADD8 | 
|  | #------------------------------------------------------------------------------ | 
|  | # CHECK: qadd r1, r2, r3 | 
|  | # CHECK: qaddne r1, r2, r3 | 
|  | # CHECK: qadd16 r1, r2, r3 | 
|  | # CHECK: qadd16gt r1, r2, r3 | 
|  | # CHECK: qadd8 r1, r2, r3 | 
|  | # CHECK: qadd8le r1, r2, r3 | 
|  |  | 
|  | 0x52 0x10 0x03 0xe1 | 
|  | 0x52 0x10 0x03 0x11 | 
|  | 0x13 0x1f 0x22 0xe6 | 
|  | 0x13 0x1f 0x22 0xc6 | 
|  | 0x93 0x1f 0x22 0xe6 | 
|  | 0x93 0x1f 0x22 0xd6 | 
|  |  | 
|  |  | 
|  | #------------------------------------------------------------------------------ | 
|  | # QDADD/QDSUB | 
|  | #------------------------------------------------------------------------------ | 
|  | # CHECK: qdadd r6, r7, r8 | 
|  | # CHECK: qdaddhi r6, r7, r8 | 
|  | # CHECK: qdsub r6, r7, r8 | 
|  | # CHECK: qdsubhi r6, r7, r8 | 
|  |  | 
|  | 0x57 0x60 0x48 0xe1 | 
|  | 0x57 0x60 0x48 0x81 | 
|  | 0x57 0x60 0x68 0xe1 | 
|  | 0x57 0x60 0x68 0x81 | 
|  |  | 
|  |  | 
|  | #------------------------------------------------------------------------------ | 
|  | # QSAX | 
|  | #------------------------------------------------------------------------------ | 
|  | # CHECK: qsax r9, r12, r0 | 
|  | # CHECK: qsaxeq r9, r12, r0 | 
|  |  | 
|  | 0x50 0x9f 0x2c 0xe6 | 
|  | 0x50 0x9f 0x2c 0x06 | 
|  |  | 
|  |  | 
|  | #------------------------------------------------------------------------------ | 
|  | # QSUB/QSUB16/QSUB8 | 
|  | #------------------------------------------------------------------------------ | 
|  | # CHECK: qsub r1, r2, r3 | 
|  | # CHECK: qsubne r1, r2, r3 | 
|  | # CHECK: qsub16 r1, r2, r3 | 
|  | # CHECK: qsub16gt r1, r2, r3 | 
|  | # CHECK: qsub8 r1, r2, r3 | 
|  | # CHECK: qsub8le r1, r2, r3 | 
|  |  | 
|  | 0x52 0x10 0x23 0xe1 | 
|  | 0x52 0x10 0x23 0x11 | 
|  | 0x73 0x1f 0x22 0xe6 | 
|  | 0x73 0x1f 0x22 0xc6 | 
|  | 0xf3 0x1f 0x22 0xe6 | 
|  | 0xf3 0x1f 0x22 0xd6 | 
|  |  | 
|  |  | 
|  | #------------------------------------------------------------------------------ | 
|  | # RBIT | 
|  | #------------------------------------------------------------------------------ | 
|  | # CHECK: rbit r1, r2 | 
|  | # CHECK: rbitne r1, r2 | 
|  |  | 
|  | 0x32 0x1f 0xff 0xe6 | 
|  | 0x32 0x1f 0xff 0x16 | 
|  |  | 
|  |  | 
|  | #------------------------------------------------------------------------------ | 
|  | # REV/REV16/REVSH | 
|  | #------------------------------------------------------------------------------ | 
|  | # CHECK: rev r1, r9 | 
|  | # CHECK: revne r1, r5 | 
|  | # CHECK: rev16 r8, r3 | 
|  | # CHECK: rev16ne r12, r4 | 
|  | # CHECK: revsh r4, r9 | 
|  | # CHECK: revshne r9, r1 | 
|  |  | 
|  | 0x39 0x1f 0xbf 0xe6 | 
|  | 0x35 0x1f 0xbf 0x16 | 
|  | 0xb3 0x8f 0xbf 0xe6 | 
|  | 0xb4 0xcf 0xbf 0x16 | 
|  | 0xb9 0x4f 0xff 0xe6 | 
|  | 0xb1 0x9f 0xff 0x16 | 
|  |  | 
|  |  | 
|  | #------------------------------------------------------------------------------ | 
|  | # RFE | 
|  | #------------------------------------------------------------------------------ | 
|  | # CHECK: rfeda r2 | 
|  | # CHECK: rfedb r3 | 
|  | # CHECK: rfeia r5 | 
|  | # CHECK: rfeib r6 | 
|  |  | 
|  | # CHECK: rfeda r4! | 
|  | # CHECK: rfedb r7! | 
|  | # CHECK: rfeia r9! | 
|  | # CHECK: rfeib r8! | 
|  |  | 
|  | # CHECK: rfeda r2 | 
|  | # CHECK: rfedb r3 | 
|  | # CHECK: rfeia r5 | 
|  | # CHECK: rfeib r6 | 
|  |  | 
|  | # CHECK: rfeda r4! | 
|  | # CHECK: rfedb r7! | 
|  | # CHECK: rfeia r9! | 
|  | # CHECK: rfeib r8! | 
|  |  | 
|  | # CHECK: rfeia r1 | 
|  | # CHECK: rfeia r1! | 
|  |  | 
|  | 0x00 0x0a 0x12 0xf8 | 
|  | 0x00 0x0a 0x13 0xf9 | 
|  | 0x00 0x0a 0x95 0xf8 | 
|  | 0x00 0x0a 0x96 0xf9 | 
|  |  | 
|  | 0x00 0x0a 0x34 0xf8 | 
|  | 0x00 0x0a 0x37 0xf9 | 
|  | 0x00 0x0a 0xb9 0xf8 | 
|  | 0x00 0x0a 0xb8 0xf9 | 
|  |  | 
|  | 0x00 0x0a 0x12 0xf8 | 
|  | 0x00 0x0a 0x13 0xf9 | 
|  | 0x00 0x0a 0x95 0xf8 | 
|  | 0x00 0x0a 0x96 0xf9 | 
|  |  | 
|  | 0x00 0x0a 0x34 0xf8 | 
|  | 0x00 0x0a 0x37 0xf9 | 
|  | 0x00 0x0a 0xb9 0xf8 | 
|  | 0x00 0x0a 0xb8 0xf9 | 
|  |  | 
|  | 0x00 0x0a 0x91 0xf8 | 
|  | 0x00 0x0a 0xb1 0xf8 | 
|  |  | 
|  |  | 
|  | #------------------------------------------------------------------------------ | 
|  | # RSB | 
|  | #------------------------------------------------------------------------------ | 
|  | # CHECK: rsb r4, r5, #61440 | 
|  | # CHECK: rsb r7, r8, #-2147483638 | 
|  | # CHECK: rsb r7, r8, #40, #2 | 
|  | # CHECK: rsb r4, r5, r6 | 
|  | # CHECK: rsb r4, r5, r6, lsl #5 | 
|  | # CHECK: rsblo r4, r5, r6, lsr #5 | 
|  | # CHECK: rsb r4, r5, r6, lsr #5 | 
|  | # CHECK: rsb r4, r5, r6, asr #5 | 
|  | # CHECK: rsb r4, r5, r6, ror #5 | 
|  | # CHECK: rsb r6, r7, r8, lsl r9 | 
|  | # CHECK: rsb r6, r7, r8, lsr r9 | 
|  | # CHECK: rsb r6, r7, r8, asr r9 | 
|  | # CHECK: rsble r6, r7, r8, ror r9 | 
|  | # CHECK: rsb r4, r5, r6, rrx | 
|  |  | 
|  | # CHECK: rsb r5, r5, #61440 | 
|  | # CHECK: rsb r4, r4, r5 | 
|  | # CHECK: rsb r4, r4, r5, lsl #5 | 
|  | # CHECK: rsb r4, r4, r5, lsr #5 | 
|  | # CHECK: rsbne r4, r4, r5, lsr #5 | 
|  | # CHECK: rsb r4, r4, r5, asr #5 | 
|  | # CHECK: rsb r4, r4, r5, ror #5 | 
|  | # CHECK: rsbgt r6, r6, r7, lsl r9 | 
|  | # CHECK: rsb r6, r6, r7, lsr r9 | 
|  | # CHECK: rsb r6, r6, r7, asr r9 | 
|  | # CHECK: rsb r6, r6, r7, ror r9 | 
|  | # CHECK: rsb r4, r4, r5, rrx | 
|  |  | 
|  | 0x0f 0x4a 0x65 0xe2 | 
|  | 0x2a 0x71 0x68 0xe2 | 
|  | 0x28 0x71 0x68 0xe2 | 
|  | 0x06 0x40 0x65 0xe0 | 
|  | 0x86 0x42 0x65 0xe0 | 
|  | 0xa6 0x42 0x65 0x30 | 
|  | 0xa6 0x42 0x65 0xe0 | 
|  | 0xc6 0x42 0x65 0xe0 | 
|  | 0xe6 0x42 0x65 0xe0 | 
|  | 0x18 0x69 0x67 0xe0 | 
|  | 0x38 0x69 0x67 0xe0 | 
|  | 0x58 0x69 0x67 0xe0 | 
|  | 0x78 0x69 0x67 0xd0 | 
|  | 0x66 0x40 0x65 0xe0 | 
|  |  | 
|  | 0x0f 0x5a 0x65 0xe2 | 
|  | 0x05 0x40 0x64 0xe0 | 
|  | 0x85 0x42 0x64 0xe0 | 
|  | 0xa5 0x42 0x64 0xe0 | 
|  | 0xa5 0x42 0x64 0x10 | 
|  | 0xc5 0x42 0x64 0xe0 | 
|  | 0xe5 0x42 0x64 0xe0 | 
|  | 0x17 0x69 0x66 0xc0 | 
|  | 0x37 0x69 0x66 0xe0 | 
|  | 0x57 0x69 0x66 0xe0 | 
|  | 0x77 0x69 0x66 0xe0 | 
|  | 0x65 0x40 0x64 0xe0 | 
|  |  | 
|  | #------------------------------------------------------------------------------ | 
|  | # RSBS | 
|  | #------------------------------------------------------------------------------ | 
|  | # CHECK: rsbs   r7, r8, #-2147483638 | 
|  | # CHECK: rsbs   r7, r8, #40, #2 | 
|  |  | 
|  | 0x2a 0x71 0x78 0xe2 | 
|  | 0x28 0x71 0x78 0xe2 | 
|  |  | 
|  | #------------------------------------------------------------------------------ | 
|  | # RSC | 
|  | #------------------------------------------------------------------------------ | 
|  | # CHECK: rsc r4, r5, #61440 | 
|  | # CHECK: rsc r7, r8, #-2147483638 | 
|  | # CHECK: rsc r7, r8, #40, #2 | 
|  | # CHECK: rsc r4, r5, r6 | 
|  | # CHECK: rsc r4, r5, r6, lsl #5 | 
|  | # CHECK: rsclo r4, r5, r6, lsr #5 | 
|  | # CHECK: rsc r4, r5, r6, lsr #5 | 
|  | # CHECK: rsc r4, r5, r6, asr #5 | 
|  | # CHECK: rsc r4, r5, r6, ror #5 | 
|  | # CHECK: rsc r6, r7, r8, lsl r9 | 
|  | # CHECK: rsc r6, r7, r8, lsr r9 | 
|  | # CHECK: rsc r6, r7, r8, asr r9 | 
|  | # CHECK: rscle r6, r7, r8, ror r9 | 
|  |  | 
|  | # CHECK: rsc r5, r5, #61440 | 
|  | # CHECK: rsc r4, r4, r5 | 
|  | # CHECK: rsc r4, r4, r5, lsl #5 | 
|  | # CHECK: rsc r4, r4, r5, lsr #5 | 
|  | # CHECK: rscne r4, r4, r5, lsr #5 | 
|  | # CHECK: rsc r4, r4, r5, asr #5 | 
|  | # CHECK: rsc r4, r4, r5, ror #5 | 
|  | # CHECK: rscgt r6, r6, r7, lsl r9 | 
|  | # CHECK: rsc r6, r6, r7, lsr r9 | 
|  | # CHECK: rsc r6, r6, r7, asr r9 | 
|  | # CHECK: rsc r6, r6, r7, ror r9 | 
|  |  | 
|  | 0x0f 0x4a 0xe5 0xe2 | 
|  | 0x2a 0x71 0xe8 0xe2 | 
|  | 0x28 0x71 0xe8 0xe2 | 
|  | 0x06 0x40 0xe5 0xe0 | 
|  | 0x86 0x42 0xe5 0xe0 | 
|  | 0xa6 0x42 0xe5 0x30 | 
|  | 0xa6 0x42 0xe5 0xe0 | 
|  | 0xc6 0x42 0xe5 0xe0 | 
|  | 0xe6 0x42 0xe5 0xe0 | 
|  | 0x18 0x69 0xe7 0xe0 | 
|  | 0x38 0x69 0xe7 0xe0 | 
|  | 0x58 0x69 0xe7 0xe0 | 
|  | 0x78 0x69 0xe7 0xd0 | 
|  |  | 
|  | 0x0f 0x5a 0xe5 0xe2 | 
|  | 0x05 0x40 0xe4 0xe0 | 
|  | 0x85 0x42 0xe4 0xe0 | 
|  | 0xa5 0x42 0xe4 0xe0 | 
|  | 0xa5 0x42 0xe4 0x10 | 
|  | 0xc5 0x42 0xe4 0xe0 | 
|  | 0xe5 0x42 0xe4 0xe0 | 
|  | 0x17 0x69 0xe6 0xc0 | 
|  | 0x37 0x69 0xe6 0xe0 | 
|  | 0x57 0x69 0xe6 0xe0 | 
|  | 0x77 0x69 0xe6 0xe0 | 
|  |  | 
|  | #------------------------------------------------------------------------------ | 
|  | # RRX/RRXS | 
|  | #------------------------------------------------------------------------------ | 
|  | # CHECK: rrx	r0, r1 | 
|  | # CHECK: rrx	sp, pc | 
|  | # CHECK: rrx	pc, lr | 
|  | # CHECK: rrx	lr, sp | 
|  |  | 
|  | 0x61 0x00 0xa0 0xe1 | 
|  | 0x6f 0xd0 0xa0 0xe1 | 
|  | 0x6e 0xf0 0xa0 0xe1 | 
|  | 0x6d 0xe0 0xa0 0xe1 | 
|  |  | 
|  | # CHECK: rrxs	r0, r1 | 
|  | # CHECK: rrxs	sp, pc | 
|  | # CHECK: rrxs	pc, lr | 
|  | # CHECK: rrxs	lr, sp | 
|  |  | 
|  | 0x61 0x00 0xb0 0xe1 | 
|  | 0x6f 0xd0 0xb0 0xe1 | 
|  | 0x6e 0xf0 0xb0 0xe1 | 
|  | 0x6d 0xe0 0xb0 0xe1 | 
|  |  | 
|  | #------------------------------------------------------------------------------ | 
|  | # SADD16/SADD8 | 
|  | #------------------------------------------------------------------------------ | 
|  | # CHECK: sadd16 r1, r2, r3 | 
|  | # CHECK: sadd16gt r1, r2, r3 | 
|  | # CHECK: sadd8 r1, r2, r3 | 
|  | # CHECK: sadd8le r1, r2, r3 | 
|  |  | 
|  | 0x13 0x1f 0x12 0xe6 | 
|  | 0x13 0x1f 0x12 0xc6 | 
|  | 0x93 0x1f 0x12 0xe6 | 
|  | 0x93 0x1f 0x12 0xd6 | 
|  |  | 
|  |  | 
|  | #------------------------------------------------------------------------------ | 
|  | # SASX | 
|  | #------------------------------------------------------------------------------ | 
|  | # CHECK: sasx r9, r12, r0 | 
|  | # CHECK: sasxeq r9, r12, r0 | 
|  |  | 
|  | 0x30 0x9f 0x1c 0xe6 | 
|  | 0x30 0x9f 0x1c 0x06 | 
|  |  | 
|  |  | 
|  | #------------------------------------------------------------------------------ | 
|  | # SBC | 
|  | #------------------------------------------------------------------------------ | 
|  | # CHECK: sbc r4, r5, #61440 | 
|  | # CHECK: sbc r7, r8, #-2147483638 | 
|  | # CHECK: sbc r7, r8, #40, #2 | 
|  | # CHECK: sbc r4, r5, r6 | 
|  | # CHECK: sbc r4, r5, r6, lsl #5 | 
|  | # CHECK: sbc r4, r5, r6, lsr #5 | 
|  | # CHECK: sbc r4, r5, r6, lsr #5 | 
|  | # CHECK: sbc r4, r5, r6, asr #5 | 
|  | # CHECK: sbc r4, r5, r6, ror #5 | 
|  | # CHECK: sbc r6, r7, r8, lsl r9 | 
|  | # CHECK: sbc r6, r7, r8, lsr r9 | 
|  | # CHECK: sbc r6, r7, r8, asr r9 | 
|  | # CHECK: sbc r6, r7, r8, ror r9 | 
|  |  | 
|  | # CHECK: sbc r5, r5, #61440 | 
|  | # CHECK: sbc r4, r4, r5 | 
|  | # CHECK: sbc r4, r4, r5, lsl #5 | 
|  | # CHECK: sbc r4, r4, r5, lsr #5 | 
|  | # CHECK: sbc r4, r4, r5, lsr #5 | 
|  | # CHECK: sbc r4, r4, r5, asr #5 | 
|  | # CHECK: sbc r4, r4, r5, ror #5 | 
|  | # CHECK: sbc r6, r6, r7, lsl r9 | 
|  | # CHECK: sbc r6, r6, r7, lsr r9 | 
|  | # CHECK: sbc r6, r6, r7, asr r9 | 
|  | # CHECK: sbc r6, r6, r7, ror r9 | 
|  |  | 
|  | 0x0f 0x4a 0xc5 0xe2 | 
|  | 0x2a 0x71 0xc8 0xe2 | 
|  | 0x28 0x71 0xc8 0xe2 | 
|  | 0x06 0x40 0xc5 0xe0 | 
|  | 0x86 0x42 0xc5 0xe0 | 
|  | 0xa6 0x42 0xc5 0xe0 | 
|  | 0xa6 0x42 0xc5 0xe0 | 
|  | 0xc6 0x42 0xc5 0xe0 | 
|  | 0xe6 0x42 0xc5 0xe0 | 
|  | 0x18 0x69 0xc7 0xe0 | 
|  | 0x38 0x69 0xc7 0xe0 | 
|  | 0x58 0x69 0xc7 0xe0 | 
|  | 0x78 0x69 0xc7 0xe0 | 
|  |  | 
|  | 0x0f 0x5a 0xc5 0xe2 | 
|  | 0x05 0x40 0xc4 0xe0 | 
|  | 0x85 0x42 0xc4 0xe0 | 
|  | 0xa5 0x42 0xc4 0xe0 | 
|  | 0xa5 0x42 0xc4 0xe0 | 
|  | 0xc5 0x42 0xc4 0xe0 | 
|  | 0xe5 0x42 0xc4 0xe0 | 
|  | 0x17 0x69 0xc6 0xe0 | 
|  | 0x37 0x69 0xc6 0xe0 | 
|  | 0x57 0x69 0xc6 0xe0 | 
|  | 0x77 0x69 0xc6 0xe0 | 
|  |  | 
|  |  | 
|  | #------------------------------------------------------------------------------ | 
|  | # SBFX | 
|  | #------------------------------------------------------------------------------ | 
|  | # CHECK: sbfx r4, r5, #16, #1 | 
|  | # CHECK: sbfxgt r4, r5, #16, #16 | 
|  |  | 
|  | 0x55 0x48 0xa0 0xe7 | 
|  | 0x55 0x48 0xaf 0xc7 | 
|  |  | 
|  |  | 
|  | #------------------------------------------------------------------------------ | 
|  | # SEL | 
|  | #------------------------------------------------------------------------------ | 
|  | # CHECK: sel r9, r2, r1 | 
|  | # CHECK: selne r9, r2, r1 | 
|  |  | 
|  | 0xb1 0x9f 0x82 0xe6 | 
|  | 0xb1 0x9f 0x82 0x16 | 
|  |  | 
|  |  | 
|  | #------------------------------------------------------------------------------ | 
|  | # SETEND | 
|  | #------------------------------------------------------------------------------ | 
|  | # CHECK: setend be | 
|  | # CHECK: setend le | 
|  |  | 
|  | 0x00 0x02 0x01 0xf1 | 
|  | 0x00 0x00 0x01 0xf1 | 
|  |  | 
|  | #------------------------------------------------------------------------------ | 
|  | # SEV | 
|  | #------------------------------------------------------------------------------ | 
|  | # CHECK: sev | 
|  | # CHECK: seveq | 
|  |  | 
|  | 0x04 0xf0 0x20 0xe3 | 
|  | 0x04 0xf0 0x20 0x03 | 
|  |  | 
|  | #------------------------------------------------------------------------------ | 
|  | # SHADD16/SHADD8 | 
|  | #------------------------------------------------------------------------------ | 
|  | # CHECK: shadd16 r4, r8, r2 | 
|  | # CHECK: shadd16gt r4, r8, r2 | 
|  | # CHECK: shadd8 r4, r8, r2 | 
|  | # CHECK: shadd8gt r4, r8, r2 | 
|  |  | 
|  | 0x12 0x4f 0x38 0xe6 | 
|  | 0x12 0x4f 0x38 0xc6 | 
|  | 0x92 0x4f 0x38 0xe6 | 
|  | 0x92 0x4f 0x38 0xc6 | 
|  |  | 
|  |  | 
|  | #------------------------------------------------------------------------------ | 
|  | # SHASX | 
|  | #------------------------------------------------------------------------------ | 
|  | # CHECK: shasx r4, r8, r2 | 
|  | # CHECK: shasxgt r4, r8, r2 | 
|  |  | 
|  | 0x32 0x4f 0x38 0xe6 | 
|  | 0x32 0x4f 0x38 0xc6 | 
|  |  | 
|  |  | 
|  | #------------------------------------------------------------------------------ | 
|  | # SHSUB16/SHSUB8 | 
|  | #------------------------------------------------------------------------------ | 
|  | # CHECK: shsub16 r4, r8, r2 | 
|  | # CHECK: shsub16gt r4, r8, r2 | 
|  | # CHECK: shsub8 r4, r8, r2 | 
|  | # CHECK: shsub8gt r4, r8, r2 | 
|  |  | 
|  | 0x72 0x4f 0x38 0xe6 | 
|  | 0x72 0x4f 0x38 0xc6 | 
|  | 0xf2 0x4f 0x38 0xe6 | 
|  | 0xf2 0x4f 0x38 0xc6 | 
|  |  | 
|  | #------------------------------------------------------------------------------ | 
|  | # SMLABB/SMLABT/SMLATB/SMLATT | 
|  | #------------------------------------------------------------------------------ | 
|  | # CHECK: smlabb r3, r1, r9, r0 | 
|  | # CHECK: smlabt r5, r6, r4, r1 | 
|  | # CHECK: smlatb r4, r2, r3, r2 | 
|  | # CHECK: smlatt r8, r3, r8, r4 | 
|  | # CHECK: smlabbge r3, r1, r9, r0 | 
|  | # CHECK: smlabtle r5, r6, r4, r1 | 
|  | # CHECK: smlatbne r4, r2, r3, r2 | 
|  | # CHECK: smlatteq r8, r3, r8, r4 | 
|  |  | 
|  | 0x81 0x09 0x03 0xe1 | 
|  | 0xc6 0x14 0x05 0xe1 | 
|  | 0xa2 0x23 0x04 0xe1 | 
|  | 0xe3 0x48 0x08 0xe1 | 
|  | 0x81 0x09 0x03 0xa1 | 
|  | 0xc6 0x14 0x05 0xd1 | 
|  | 0xa2 0x23 0x04 0x11 | 
|  | 0xe3 0x48 0x08 0x01 | 
|  |  | 
|  | #------------------------------------------------------------------------------ | 
|  | # SMLAD/SMLADX | 
|  | #------------------------------------------------------------------------------ | 
|  | # CHECK: smlad r2, r3, r5, r8 | 
|  | # CHECK: smladx r2, r3, r5, r8 | 
|  | # CHECK: smladeq r2, r3, r5, r8 | 
|  | # CHECK: smladxhi r2, r3, r5, r8 | 
|  |  | 
|  | 0x13 0x85 0x02 0xe7 | 
|  | 0x33 0x85 0x02 0xe7 | 
|  | 0x13 0x85 0x02 0x07 | 
|  | 0x33 0x85 0x02 0x87 | 
|  |  | 
|  |  | 
|  | #------------------------------------------------------------------------------ | 
|  | # SMLAL | 
|  | #------------------------------------------------------------------------------ | 
|  | # CHECK: smlal r2, r3, r5, r8 | 
|  | # CHECK: smlals r2, r3, r5, r8 | 
|  | # CHECK: smlaleq r2, r3, r5, r8 | 
|  | # CHECK: smlalshi r2, r3, r5, r8 | 
|  |  | 
|  | 0x95 0x28 0xe3 0xe0 | 
|  | 0x95 0x28 0xf3 0xe0 | 
|  | 0x95 0x28 0xe3 0x00 | 
|  | 0x95 0x28 0xf3 0x80 | 
|  |  | 
|  |  | 
|  | #------------------------------------------------------------------------------ | 
|  | # SMLALBB/SMLALBT/SMLALTB/SMLALTT | 
|  | #------------------------------------------------------------------------------ | 
|  | # CHECK: smlalbb r3, r1, r9, r0 | 
|  | # CHECK: smlalbt r5, r6, r4, r1 | 
|  | # CHECK: smlaltb r4, r2, r3, r2 | 
|  | # CHECK: smlaltt r8, r3, r8, r4 | 
|  | # CHECK: smlalbbge r3, r1, r9, r0 | 
|  | # CHECK: smlalbtle r5, r6, r4, r1 | 
|  | # CHECK: smlaltbne r4, r2, r3, r2 | 
|  | # CHECK: smlaltteq r8, r3, r8, r4 | 
|  |  | 
|  | 0x89 0x30 0x41 0xe1 | 
|  | 0xc4 0x51 0x46 0xe1 | 
|  | 0xa3 0x42 0x42 0xe1 | 
|  | 0xe8 0x84 0x43 0xe1 | 
|  | 0x89 0x30 0x41 0xa1 | 
|  | 0xc4 0x51 0x46 0xd1 | 
|  | 0xa3 0x42 0x42 0x11 | 
|  | 0xe8 0x84 0x43 0x01 | 
|  |  | 
|  |  | 
|  | #------------------------------------------------------------------------------ | 
|  | # SMLALD/SMLALDX | 
|  | #------------------------------------------------------------------------------ | 
|  | # CHECK: smlald r2, r3, r5, r8 | 
|  | # CHECK: smlaldx r2, r3, r5, r8 | 
|  | # CHECK: smlaldeq r2, r3, r5, r8 | 
|  | # CHECK: smlaldxhi r2, r3, r5, r8 | 
|  |  | 
|  | 0x15 0x28 0x43 0xe7 | 
|  | 0x35 0x28 0x43 0xe7 | 
|  | 0x15 0x28 0x43 0x07 | 
|  | 0x35 0x28 0x43 0x87 | 
|  |  | 
|  |  | 
|  | #------------------------------------------------------------------------------ | 
|  | # SMLAWB/SMLAWT | 
|  | #------------------------------------------------------------------------------ | 
|  | # CHECK: smlawb r2, r3, r10, r8 | 
|  | # CHECK: smlawt r8, r3, r5, r9 | 
|  | # CHECK: smlawbeq r2, r7, r5, r8 | 
|  | # CHECK: smlawthi r1, r3, r0, r8 | 
|  |  | 
|  | 0x83 0x8a 0x22 0xe1 | 
|  | 0xc3 0x95 0x28 0xe1 | 
|  | 0x87 0x85 0x22 0x01 | 
|  | 0xc3 0x80 0x21 0x81 | 
|  |  | 
|  |  | 
|  | #------------------------------------------------------------------------------ | 
|  | # SMLSD/SMLSDX | 
|  | #------------------------------------------------------------------------------ | 
|  | # CHECK: smlsd r2, r3, r5, r8 | 
|  | # CHECK: smlsdx r2, r3, r5, r8 | 
|  | # CHECK: smlsdeq r2, r3, r5, r8 | 
|  | # CHECK: smlsdxhi r2, r3, r5, r8 | 
|  |  | 
|  | 0x53 0x85 0x02 0xe7 | 
|  | 0x73 0x85 0x02 0xe7 | 
|  | 0x53 0x85 0x02 0x07 | 
|  | 0x73 0x85 0x02 0x87 | 
|  |  | 
|  |  | 
|  | #------------------------------------------------------------------------------ | 
|  | # SMLSLD/SMLSLDX | 
|  | #------------------------------------------------------------------------------ | 
|  | # CHECK: smlsld r2, r9, r5, r1 | 
|  | # CHECK: smlsldx r4, r11, r2, r8 | 
|  | # CHECK: smlsldeq r8, r2, r5, r6 | 
|  | # CHECK: smlsldxhi r1, r0, r3, r8 | 
|  |  | 
|  | 0x55 0x21 0x49 0xe7 | 
|  | 0x72 0x48 0x4b 0xe7 | 
|  | 0x55 0x86 0x42 0x07 | 
|  | 0x73 0x18 0x40 0x87 | 
|  |  | 
|  |  | 
|  | #------------------------------------------------------------------------------ | 
|  | # SMMLA/SMMLAR | 
|  | #------------------------------------------------------------------------------ | 
|  | # CHECK: smmla r1, r2, r3, r4 | 
|  | # CHECK: smmlar r4, r3, r2, r1 | 
|  | # CHECK: smmlalo r1, r2, r3, r4 | 
|  | # CHECK: smmlarhs r4, r3, r2, r1 | 
|  |  | 
|  | 0x12 0x43 0x51 0xe7 | 
|  | 0x33 0x12 0x54 0xe7 | 
|  | 0x12 0x43 0x51 0x37 | 
|  | 0x33 0x12 0x54 0x27 | 
|  |  | 
|  |  | 
|  | #------------------------------------------------------------------------------ | 
|  | # SMMLS/SMMLSR | 
|  | #------------------------------------------------------------------------------ | 
|  | # CHECK: smmls r1, r2, r3, r4 | 
|  | # CHECK: smmlsr r4, r3, r2, r1 | 
|  | # CHECK: smmlslo r1, r2, r3, r4 | 
|  | # CHECK: smmlsrhs r4, r3, r2, r1 | 
|  |  | 
|  | 0xd2 0x43 0x51 0xe7 | 
|  | 0xf3 0x12 0x54 0xe7 | 
|  | 0xd2 0x43 0x51 0x37 | 
|  | 0xf3 0x12 0x54 0x27 | 
|  |  | 
|  |  | 
|  | #------------------------------------------------------------------------------ | 
|  | # SMMUL/SMMULR | 
|  | #------------------------------------------------------------------------------ | 
|  | # CHECK: smmul r2, r3, r4 | 
|  | # CHECK: smmulr r3, r2, r1 | 
|  | # CHECK: smmullo r2, r3, r4 | 
|  | # CHECK: smmulrhs r3, r2, r1 | 
|  |  | 
|  | 0x13 0xf4 0x52 0xe7 | 
|  | 0x32 0xf1 0x53 0xe7 | 
|  | 0x13 0xf4 0x52 0x37 | 
|  | 0x32 0xf1 0x53 0x27 | 
|  |  | 
|  |  | 
|  | #------------------------------------------------------------------------------ | 
|  | # SMUAD/SMUADX | 
|  | #------------------------------------------------------------------------------ | 
|  | # CHECK: smuad r2, r3, r4 | 
|  | # CHECK: smuadx r3, r2, r1 | 
|  | # CHECK: smuadlt r2, r3, r4 | 
|  | # CHECK: smuadxge r3, r2, r1 | 
|  |  | 
|  | 0x13 0xf4 0x02 0xe7 | 
|  | 0x32 0xf1 0x03 0xe7 | 
|  | 0x13 0xf4 0x02 0xb7 | 
|  | 0x32 0xf1 0x03 0xa7 | 
|  |  | 
|  |  | 
|  | #------------------------------------------------------------------------------ | 
|  | # SMULBB/SMLALBT/SMLALTB/SMLALTT | 
|  | #------------------------------------------------------------------------------ | 
|  | # CHECK: smulbb r3, r9, r0 | 
|  | # CHECK: smulbt r5, r4, r1 | 
|  | # CHECK: smultb r4, r2, r2 | 
|  | # CHECK: smultt r8, r3, r4 | 
|  | # CHECK: smulbbge r1, r9, r0 | 
|  | # CHECK: smulbtle r5, r6, r4 | 
|  | # CHECK: smultbne r2, r3, r2 | 
|  | # CHECK: smultteq r8, r3, r4 | 
|  |  | 
|  | 0x89 0x00 0x63 0xe1 | 
|  | 0xc4 0x01 0x65 0xe1 | 
|  | 0xa2 0x02 0x64 0xe1 | 
|  | 0xe3 0x04 0x68 0xe1 | 
|  | 0x89 0x00 0x61 0xa1 | 
|  | 0xc6 0x04 0x65 0xd1 | 
|  | 0xa3 0x02 0x62 0x11 | 
|  | 0xe3 0x04 0x68 0x01 | 
|  |  | 
|  |  | 
|  | #------------------------------------------------------------------------------ | 
|  | # SMULL | 
|  | #------------------------------------------------------------------------------ | 
|  | # CHECK: smull r3, r9, r0, r1 | 
|  | # CHECK: smulls r3, r9, r0, r2 | 
|  | # CHECK: smulleq r8, r3, r4, r5 | 
|  | # CHECK: smullseq r8, r3, r4, r3 | 
|  |  | 
|  | 0x90 0x31 0xc9 0xe0 | 
|  | 0x90 0x32 0xd9 0xe0 | 
|  | 0x94 0x85 0xc3 0x00 | 
|  | 0x94 0x83 0xd3 0x00 | 
|  |  | 
|  |  | 
|  | #------------------------------------------------------------------------------ | 
|  | # SMULWB/SMULWT | 
|  | #------------------------------------------------------------------------------ | 
|  | # CHECK: smulwb r3, r9, r0 | 
|  | # CHECK: smulwt r3, r9, r2 | 
|  |  | 
|  | 0xa9 0x00 0x23 0xe1 | 
|  | 0xe9 0x02 0x23 0xe1 | 
|  |  | 
|  |  | 
|  | #------------------------------------------------------------------------------ | 
|  | # SMUSD/SMUSDX | 
|  | #------------------------------------------------------------------------------ | 
|  | # CHECK: smusd r3, r0, r1 | 
|  | # CHECK: smusdx r3, r9, r2 | 
|  | # CHECK: smusdeq r8, r3, r2 | 
|  | # CHECK: smusdxne r7, r4, r3 | 
|  |  | 
|  | 0x50 0xf1 0x03 0xe7 | 
|  | 0x79 0xf2 0x03 0xe7 | 
|  | 0x53 0xf2 0x08 0x07 | 
|  | 0x74 0xf3 0x07 0x17 | 
|  |  | 
|  |  | 
|  | #------------------------------------------------------------------------------ | 
|  | # SRS | 
|  | #------------------------------------------------------------------------------ | 
|  | # CHECK: srsda sp, #5 | 
|  | # CHECK: srsdb sp, #1 | 
|  | # CHECK: srsia sp, #0 | 
|  | # CHECK: srsib sp, #15 | 
|  |  | 
|  | # CHECK: srsda sp!, #31 | 
|  | # CHECK: srsdb sp!, #19 | 
|  | # CHECK: srsia sp!, #2 | 
|  | # CHECK: srsib sp!, #14 | 
|  |  | 
|  | # CHECK: srsda sp, #11 | 
|  | # CHECK: srsdb sp, #10 | 
|  | # CHECK: srsia sp, #9 | 
|  | # CHECK: srsib sp, #5 | 
|  |  | 
|  | # CHECK: srsda sp!, #5 | 
|  | # CHECK: srsdb sp!, #5 | 
|  | # CHECK: srsia sp!, #5 | 
|  | # CHECK: srsib sp!, #5 | 
|  |  | 
|  | # CHECK: srsia sp, #5 | 
|  | # CHECK: srsia sp!, #5 | 
|  |  | 
|  | 0x05 0x05 0x4d 0xf8 | 
|  | 0x01 0x05 0x4d 0xf9 | 
|  | 0x00 0x05 0xcd 0xf8 | 
|  | 0x0f 0x05 0xcd 0xf9 | 
|  |  | 
|  | 0x1f 0x05 0x6d 0xf8 | 
|  | 0x13 0x05 0x6d 0xf9 | 
|  | 0x02 0x05 0xed 0xf8 | 
|  | 0x0e 0x05 0xed 0xf9 | 
|  |  | 
|  | 0x0b 0x05 0x4d 0xf8 | 
|  | 0x0a 0x05 0x4d 0xf9 | 
|  | 0x09 0x05 0xcd 0xf8 | 
|  | 0x05 0x05 0xcd 0xf9 | 
|  |  | 
|  | 0x05 0x05 0x6d 0xf8 | 
|  | 0x05 0x05 0x6d 0xf9 | 
|  | 0x05 0x05 0xed 0xf8 | 
|  | 0x05 0x05 0xed 0xf9 | 
|  |  | 
|  | 0x05 0x05 0xcd 0xf8 | 
|  | 0x05 0x05 0xed 0xf8 | 
|  |  | 
|  |  | 
|  | #------------------------------------------------------------------------------ | 
|  | # SSAT | 
|  | #------------------------------------------------------------------------------ | 
|  | # CHECK: ssat	r8, #1, r10 | 
|  | # CHECK: ssat	r8, #1, r10, lsl #31 | 
|  | # CHECK: ssat	r8, #1, r10, asr #32 | 
|  | # CHECK: ssat	r8, #1, r10, asr #1 | 
|  |  | 
|  | 0x1a 0x80 0xa0 0xe6 | 
|  | 0x9a 0x8f 0xa0 0xe6 | 
|  | 0x5a 0x80 0xa0 0xe6 | 
|  | 0xda 0x80 0xa0 0xe6 | 
|  |  | 
|  |  | 
|  | #------------------------------------------------------------------------------ | 
|  | # SSAT16 | 
|  | #------------------------------------------------------------------------------ | 
|  | # CHECK: ssat16	r2, #1, r7 | 
|  | # CHECK: ssat16	r3, #16, r5 | 
|  |  | 
|  | 0x37 0x2f 0xa0 0xe6 | 
|  | 0x35 0x3f 0xaf 0xe6 | 
|  |  | 
|  |  | 
|  | #------------------------------------------------------------------------------ | 
|  | # SSAX | 
|  | #------------------------------------------------------------------------------ | 
|  | # CHECK: ssax r2, r3, r4 | 
|  | # CHECK: ssaxlt r2, r3, r4 | 
|  |  | 
|  | 0x54 0x2f 0x13 0xe6 | 
|  | 0x54 0x2f 0x13 0xb6 | 
|  |  | 
|  | #------------------------------------------------------------------------------ | 
|  | # SSUB16/SSUB8 | 
|  | #------------------------------------------------------------------------------ | 
|  | # CHECK: ssub16 r1, r0, r6 | 
|  | # CHECK: ssub16ne r5, r3, r2 | 
|  | # CHECK: ssub8 r9, r2, r4 | 
|  | # CHECK: ssub8eq r5, r1, r2 | 
|  |  | 
|  | 0x76 0x1f 0x10 0xe6 | 
|  | 0x72 0x5f 0x13 0x16 | 
|  | 0xf4 0x9f 0x12 0xe6 | 
|  | 0xf2 0x5f 0x11 0x06 | 
|  |  | 
|  |  | 
|  | #------------------------------------------------------------------------------ | 
|  | # STM* | 
|  | #------------------------------------------------------------------------------ | 
|  | # CHECK: stm r2, {r1, r3, r4, r5, r6, sp} | 
|  | # CHECK: stm r3, {r1, r3, r4, r5, r6, lr} | 
|  | # CHECK: stmib     r4, {r1, r3, r4, r5, r6, sp} | 
|  | # CHECK: stmda     r5, {r1, r3, r4, r5, r6, sp} | 
|  | # CHECK: stmdb     r6, {r1, r3, r4, r5, r6, r8} | 
|  | # CHECK: stmdb     sp, {r1, r3, r4, r5, r6, sp} | 
|  |  | 
|  |  | 
|  | # CHECK: stm       r8!, {r1, r3, r4, r5, r6, sp} | 
|  | # CHECK: stmib     r9!, {r1, r3, r4, r5, r6, sp} | 
|  | # CHECK: stmda     sp!, {r1, r3, r4, r5, r6} | 
|  | # CHECK: stmdb     r0!, {r1, r5, r7, sp} | 
|  |  | 
|  | 0x7a 0x20 0x82 0xe8 | 
|  | 0x7a 0x40 0x83 0xe8 | 
|  | 0x7a 0x20 0x84 0xe9 | 
|  | 0x7a 0x20 0x05 0xe8 | 
|  | 0x7a 0x01 0x06 0xe9 | 
|  | 0x7a 0x20 0x0d 0xe9 | 
|  |  | 
|  | 0x7a 0x20 0xa8 0xe8 | 
|  | 0x7a 0x20 0xa9 0xe9 | 
|  | 0x7a 0x00 0x2d 0xe8 | 
|  | 0xa2 0x20 0x20 0xe9 | 
|  |  | 
|  |  | 
|  | #------------------------------------------------------------------------------ | 
|  | # STREX/STREXB/STREXH/STREXD | 
|  | #------------------------------------------------------------------------------ | 
|  | # CHECK: strexb  r1, r3, [r4 | 
|  | # CHECK: strexh  r4, r2, [r5 | 
|  | # CHECK: strex  r2, r1, [r7 | 
|  | # CHECK: strexd  r6, r2, r3, [r8 | 
|  | # CHECK: strexd  sp, r0, r1, [r0] | 
|  |  | 
|  | 0x93 0x1f 0xc4 0xe1 | 
|  | 0x92 0x4f 0xe5 0xe1 | 
|  | 0x91 0x2f 0x87 0xe1 | 
|  | 0x92 0x6f 0xa8 0xe1 | 
|  | 0x90 0xdf 0xa0 0xe1 | 
|  |  | 
|  | #------------------------------------------------------------------------------ | 
|  | # SUB | 
|  | #------------------------------------------------------------------------------ | 
|  | # CHECK: sub r4, r5, #61440 | 
|  | # CHECK: sub r7, r8, #-2147483638 | 
|  | # CHECK: sub r7, r8, #40, #2 | 
|  | # CHECK: sub r4, r5, r6 | 
|  | # CHECK: sub r4, r5, r6, lsl #5 | 
|  | # CHECK: sub r4, r5, r6, lsr #5 | 
|  | # CHECK: sub r4, r5, r6, lsr #5 | 
|  | # CHECK: sub r4, r5, r6, asr #5 | 
|  | # CHECK: sub r4, r5, r6, ror #5 | 
|  | # CHECK: sub r6, r7, r8, lsl r9 | 
|  | # CHECK: sub r6, r7, r8, lsr r9 | 
|  | # CHECK: sub r6, r7, r8, asr r9 | 
|  | # CHECK: sub r6, r7, r8, ror r9 | 
|  |  | 
|  | # CHECK: sub r5, r5, #61440 | 
|  | # CHECK: sub r4, r4, r5 | 
|  | # CHECK: sub r4, r4, r5, lsl #5 | 
|  | # CHECK: sub r4, r4, r5, lsr #5 | 
|  | # CHECK: sub r4, r4, r5, lsr #5 | 
|  | # CHECK: sub r4, r4, r5, asr #5 | 
|  | # CHECK: sub r4, r4, r5, ror #5 | 
|  | # CHECK: sub r6, r6, r7, lsl r9 | 
|  | # CHECK: sub r6, r6, r7, lsr r9 | 
|  | # CHECK: sub r6, r6, r7, asr r9 | 
|  | # CHECK: sub r6, r6, r7, ror r9 | 
|  |  | 
|  | 0x0f 0x4a 0x45 0xe2 | 
|  | 0x2a 0x71 0x48 0xe2 | 
|  | 0x28 0x71 0x48 0xe2 | 
|  | 0x06 0x40 0x45 0xe0 | 
|  | 0x86 0x42 0x45 0xe0 | 
|  | 0xa6 0x42 0x45 0xe0 | 
|  | 0xa6 0x42 0x45 0xe0 | 
|  | 0xc6 0x42 0x45 0xe0 | 
|  | 0xe6 0x42 0x45 0xe0 | 
|  | 0x18 0x69 0x47 0xe0 | 
|  | 0x38 0x69 0x47 0xe0 | 
|  | 0x58 0x69 0x47 0xe0 | 
|  | 0x78 0x69 0x47 0xe0 | 
|  |  | 
|  |  | 
|  | 0x0f 0x5a 0x45 0xe2 | 
|  | 0x05 0x40 0x44 0xe0 | 
|  | 0x85 0x42 0x44 0xe0 | 
|  | 0xa5 0x42 0x44 0xe0 | 
|  | 0xa5 0x42 0x44 0xe0 | 
|  | 0xc5 0x42 0x44 0xe0 | 
|  | 0xe5 0x42 0x44 0xe0 | 
|  | 0x17 0x69 0x46 0xe0 | 
|  | 0x37 0x69 0x46 0xe0 | 
|  | 0x57 0x69 0x46 0xe0 | 
|  | 0x77 0x69 0x46 0xe0 | 
|  |  | 
|  | #------------------------------------------------------------------------------ | 
|  | # SUBS | 
|  | #------------------------------------------------------------------------------ | 
|  | # CHECK: subs   r7, r8, #-2147483638 | 
|  | # CHECK: subs   r7, r8, #40, #2 | 
|  |  | 
|  | 0x2a 0x71 0x58 0xe2 | 
|  | 0x28 0x71 0x58 0xe2 | 
|  |  | 
|  | #------------------------------------------------------------------------------ | 
|  | # SVC | 
|  | #------------------------------------------------------------------------------ | 
|  | # CHECK: svc #16 | 
|  | # CHECK: svc #0 | 
|  | # CHECK: svc #16777215 | 
|  |  | 
|  | 0x10 0x00 0x00 0xef | 
|  | 0x00 0x00 0x00 0xef | 
|  | 0xff 0xff 0xff 0xef | 
|  |  | 
|  |  | 
|  | #------------------------------------------------------------------------------ | 
|  | # SWP/SWPB | 
|  | #------------------------------------------------------------------------------ | 
|  | # CHECK: swp r1, r2, [r3 | 
|  | # CHECK: swp r4, r4, [r6 | 
|  | # CHECK: swpb r5, r1, [r9 | 
|  |  | 
|  | 0x92 0x10 0x03 0xe1 | 
|  | 0x94 0x40 0x06 0xe1 | 
|  | 0x91 0x50 0x49 0xe1 | 
|  |  | 
|  |  | 
|  | #------------------------------------------------------------------------------ | 
|  | # SXTAB | 
|  | #------------------------------------------------------------------------------ | 
|  | # CHECK: sxtab r2, r3, r4 | 
|  | # CHECK: sxtab r4, r5, r6 | 
|  | # CHECK: sxtablt r6, r2, r9, ror #8 | 
|  | # CHECK: sxtab r5, r1, r4, ror #16 | 
|  | # CHECK: sxtab r7, r8, r3, ror #24 | 
|  |  | 
|  | 0x74 0x20 0xa3 0xe6 | 
|  | 0x76 0x40 0xa5 0xe6 | 
|  | 0x79 0x64 0xa2 0xb6 | 
|  | 0x74 0x58 0xa1 0xe6 | 
|  | 0x73 0x7c 0xa8 0xe6 | 
|  |  | 
|  |  | 
|  | #------------------------------------------------------------------------------ | 
|  | # SXTAB16 | 
|  | #------------------------------------------------------------------------------ | 
|  | # CHECK: sxtab16ge r0, r1, r4 | 
|  | # CHECK: sxtab16 r6, r2, r7 | 
|  | # CHECK: sxtab16 r3, r5, r8, ror #8 | 
|  | # CHECK: sxtab16 r3, r2, r1, ror #16 | 
|  | # CHECK: sxtab16eq r1, r2, r3, ror #24 | 
|  |  | 
|  | 0x74 0x00 0x81 0xa6 | 
|  | 0x77 0x60 0x82 0xe6 | 
|  | 0x78 0x34 0x85 0xe6 | 
|  | 0x71 0x38 0x82 0xe6 | 
|  | 0x73 0x1c 0x82 0x06 | 
|  |  | 
|  | #------------------------------------------------------------------------------ | 
|  | # SXTAH | 
|  | #------------------------------------------------------------------------------ | 
|  | # CHECK: sxtah r1, r3, r9 | 
|  | # CHECK: sxtahhi r6, r1, r6 | 
|  | # CHECK: sxtah r3, r8, r3, ror #8 | 
|  | # CHECK: sxtahlo r2, r2, r4, ror #16 | 
|  | # CHECK: sxtah r9, r3, r3, ror #24 | 
|  |  | 
|  | 0x79 0x10 0xb3 0xe6 | 
|  | 0x76 0x60 0xb1 0x86 | 
|  | 0x73 0x34 0xb8 0xe6 | 
|  | 0x74 0x28 0xb2 0x36 | 
|  | 0x73 0x9c 0xb3 0xe6 | 
|  |  | 
|  | #------------------------------------------------------------------------------ | 
|  | # SXTB | 
|  | #------------------------------------------------------------------------------ | 
|  | # CHECK: sxtbge r2, r4 | 
|  | # CHECK: sxtb r5, r6 | 
|  | # CHECK: sxtb r6, r9, ror #8 | 
|  | # CHECK: sxtblo r5, r1, ror #16 | 
|  | # CHECK: sxtb r8, r3, ror #24 | 
|  |  | 
|  | 0x74 0x20 0xaf 0xa6 | 
|  | 0x76 0x50 0xaf 0xe6 | 
|  | 0x79 0x64 0xaf 0xe6 | 
|  | 0x71 0x58 0xaf 0x36 | 
|  | 0x73 0x8c 0xaf 0xe6 | 
|  |  | 
|  |  | 
|  | #------------------------------------------------------------------------------ | 
|  | # SXTB16 | 
|  | #------------------------------------------------------------------------------ | 
|  | # CHECK: sxtb16 r1, r4 | 
|  | # CHECK: sxtb16 r6, r7 | 
|  | # CHECK: sxtb16hs r3, r5, ror #8 | 
|  | # CHECK: sxtb16 r3, r1, ror #16 | 
|  | # CHECK: sxtb16ge r2, r3, ror #24 | 
|  |  | 
|  | 0x74 0x10 0x8f 0xe6 | 
|  | 0x77 0x60 0x8f 0xe6 | 
|  | 0x75 0x34 0x8f 0x26 | 
|  | 0x71 0x38 0x8f 0xe6 | 
|  | 0x73 0x2c 0x8f 0xa6 | 
|  |  | 
|  |  | 
|  | #------------------------------------------------------------------------------ | 
|  | # SXTH | 
|  | #------------------------------------------------------------------------------ | 
|  | # CHECK: sxthne r3, r9 | 
|  | # CHECK: sxth r1, r6 | 
|  | # CHECK: sxth r3, r8, ror #8 | 
|  | # CHECK: sxthle r2, r2, ror #16 | 
|  | # CHECK: sxth r9, r3, ror #24 | 
|  |  | 
|  | 0x79 0x30 0xbf 0x16 | 
|  | 0x76 0x10 0xbf 0xe6 | 
|  | 0x78 0x34 0xbf 0xe6 | 
|  | 0x72 0x28 0xbf 0xd6 | 
|  | 0x73 0x9c 0xbf 0xe6 | 
|  |  | 
|  |  | 
|  | #------------------------------------------------------------------------------ | 
|  | # FIXME: TBB/TBH | 
|  | #------------------------------------------------------------------------------ | 
|  |  | 
|  |  | 
|  | #------------------------------------------------------------------------------ | 
|  | # TEQ | 
|  | #------------------------------------------------------------------------------ | 
|  | # CHECK: teq r5, #61440 | 
|  | # CHECK: teq r7, #-2147483638 | 
|  | # CHECK: teq r7, #40, #2 | 
|  | # CHECK: teq r4, r5 | 
|  | # CHECK: teq r4, r5, lsl #5 | 
|  | # CHECK: teq r4, r5, lsr #5 | 
|  | # CHECK: teq r4, r5, lsr #5 | 
|  | # CHECK: teq r4, r5, asr #5 | 
|  | # CHECK: teq r4, r5, ror #5 | 
|  | # CHECK: teq r6, r7, lsl r9 | 
|  | # CHECK: teq r6, r7, lsr r9 | 
|  | # CHECK: teq r6, r7, asr r9 | 
|  | # CHECK: teq r6, r7, ror r9 | 
|  |  | 
|  | 0x0f 0x0a 0x35 0xe3 | 
|  | 0x2a 0x01 0x37 0xe3 | 
|  | 0x28 0x01 0x37 0xe3 | 
|  | 0x05 0x00 0x34 0xe1 | 
|  | 0x85 0x02 0x34 0xe1 | 
|  | 0xa5 0x02 0x34 0xe1 | 
|  | 0xa5 0x02 0x34 0xe1 | 
|  | 0xc5 0x02 0x34 0xe1 | 
|  | 0xe5 0x02 0x34 0xe1 | 
|  | 0x17 0x09 0x36 0xe1 | 
|  | 0x37 0x09 0x36 0xe1 | 
|  | 0x57 0x09 0x36 0xe1 | 
|  | 0x77 0x09 0x36 0xe1 | 
|  |  | 
|  |  | 
|  | #------------------------------------------------------------------------------ | 
|  | # TST | 
|  | #------------------------------------------------------------------------------ | 
|  | # CHECK: tst r5, #61440 | 
|  | # CHECK: tst r7, #-2147483638 | 
|  | # CHECK: tst r7, #40, #2 | 
|  | # CHECK: tst r4, r5 | 
|  | # CHECK: tst r4, r5, lsl #5 | 
|  | # CHECK: tst r4, r5, lsr #5 | 
|  | # CHECK: tst r4, r5, lsr #5 | 
|  | # CHECK: tst r4, r5, asr #5 | 
|  | # CHECK: tst r4, r5, ror #5 | 
|  | # CHECK: tst r6, r7, lsl r9 | 
|  | # CHECK: tst r6, r7, lsr r9 | 
|  | # CHECK: tst r6, r7, asr r9 | 
|  | # CHECK: tst r6, r7, ror r9 | 
|  |  | 
|  | 0x0f 0x0a 0x15 0xe3 | 
|  | 0x2a 0x01 0x17 0xe3 | 
|  | 0x28 0x01 0x17 0xe3 | 
|  | 0x05 0x00 0x14 0xe1 | 
|  | 0x85 0x02 0x14 0xe1 | 
|  | 0xa5 0x02 0x14 0xe1 | 
|  | 0xa5 0x02 0x14 0xe1 | 
|  | 0xc5 0x02 0x14 0xe1 | 
|  | 0xe5 0x02 0x14 0xe1 | 
|  | 0x17 0x09 0x16 0xe1 | 
|  | 0x37 0x09 0x16 0xe1 | 
|  | 0x57 0x09 0x16 0xe1 | 
|  | 0x77 0x09 0x16 0xe1 | 
|  |  | 
|  |  | 
|  | #------------------------------------------------------------------------------ | 
|  | # UADD16/UADD8 | 
|  | #------------------------------------------------------------------------------ | 
|  | # CHECK: uadd16 r1, r2, r3 | 
|  | # CHECK: uadd16gt r1, r2, r3 | 
|  | # CHECK: uadd8 r1, r2, r3 | 
|  | # CHECK: uadd8le r1, r2, r3 | 
|  |  | 
|  | 0x13 0x1f 0x52 0xe6 | 
|  | 0x13 0x1f 0x52 0xc6 | 
|  | 0x93 0x1f 0x52 0xe6 | 
|  | 0x93 0x1f 0x52 0xd6 | 
|  |  | 
|  |  | 
|  | #------------------------------------------------------------------------------ | 
|  | # UASX | 
|  | #------------------------------------------------------------------------------ | 
|  | # CHECK: uasx r9, r12, r0 | 
|  | # CHECK: uasxeq r9, r12, r0 | 
|  |  | 
|  | 0x30 0x9f 0x5c 0xe6 | 
|  | 0x30 0x9f 0x5c 0x06 | 
|  |  | 
|  |  | 
|  | #------------------------------------------------------------------------------ | 
|  | # UBFX | 
|  | #------------------------------------------------------------------------------ | 
|  | # CHECK: ubfx r4, r5, #16, #1 | 
|  | # CHECK: ubfxgt r4, r5, #16, #16 | 
|  |  | 
|  | 0x55 0x48 0xe0 0xe7 | 
|  | 0x55 0x48 0xef 0xc7 | 
|  |  | 
|  |  | 
|  | #------------------------------------------------------------------------------ | 
|  | # UHADD16/UHADD8 | 
|  | #------------------------------------------------------------------------------ | 
|  | # CHECK: uhadd16 r4, r8, r2 | 
|  | # CHECK: uhadd16gt r4, r8, r2 | 
|  | # CHECK: uhadd8 r4, r8, r2 | 
|  | # CHECK: uhadd8gt r4, r8, r2 | 
|  |  | 
|  | 0x12 0x4f 0x78 0xe6 | 
|  | 0x12 0x4f 0x78 0xc6 | 
|  | 0x92 0x4f 0x78 0xe6 | 
|  | 0x92 0x4f 0x78 0xc6 | 
|  |  | 
|  |  | 
|  | #------------------------------------------------------------------------------ | 
|  | # UHASX | 
|  | #------------------------------------------------------------------------------ | 
|  | # CHECK: uhasx r4, r8, r2 | 
|  | # CHECK: uhasxgt r4, r8, r2 | 
|  |  | 
|  | 0x32 0x4f 0x78 0xe6 | 
|  | 0x32 0x4f 0x78 0xc6 | 
|  |  | 
|  |  | 
|  | #------------------------------------------------------------------------------ | 
|  | # UHSUB16/UHSUB8 | 
|  | #------------------------------------------------------------------------------ | 
|  | # CHECK: uhsub16 r4, r8, r2 | 
|  | # CHECK: uhsub16gt r4, r8, r2 | 
|  | # CHECK: uhsub8 r4, r8, r2 | 
|  | # CHECK: uhsub8gt r4, r8, r2 | 
|  |  | 
|  | 0x72 0x4f 0x78 0xe6 | 
|  | 0x72 0x4f 0x78 0xc6 | 
|  | 0xf2 0x4f 0x78 0xe6 | 
|  | 0xf2 0x4f 0x78 0xc6 | 
|  |  | 
|  |  | 
|  | #------------------------------------------------------------------------------ | 
|  | # UMAAL | 
|  | #------------------------------------------------------------------------------ | 
|  | # CHECK: umaal r3, r4, r5, r6 | 
|  | # CHECK: umaallt r3, r4, r5, r6 | 
|  |  | 
|  | 0x95 0x36 0x44 0xe0 | 
|  | 0x95 0x36 0x44 0xb0 | 
|  |  | 
|  |  | 
|  | #------------------------------------------------------------------------------ | 
|  | # UMLAL | 
|  | #------------------------------------------------------------------------------ | 
|  | # CHECK: umlal r2, r4, r6, r8 | 
|  | # CHECK: umlalgt r6, r1, r2, r6 | 
|  | # CHECK: umlals r2, r9, r2, r3 | 
|  | # CHECK: umlalseq r3, r5, r1, r2 | 
|  |  | 
|  | 0x96 0x28 0xa4 0xe0 | 
|  | 0x92 0x66 0xa1 0xc0 | 
|  | 0x92 0x23 0xb9 0xe0 | 
|  | 0x91 0x32 0xb5 0x00 | 
|  |  | 
|  |  | 
|  | #------------------------------------------------------------------------------ | 
|  | # UMULL | 
|  | #------------------------------------------------------------------------------ | 
|  | # CHECK: umull r2, r4, r6, r8 | 
|  | # CHECK: umullgt r6, r1, r2, r6 | 
|  | # CHECK: umulls r2, r9, r2, r3 | 
|  | # CHECK: umullseq r3, r5, r1, r2 | 
|  |  | 
|  | 0x96 0x28 0x84 0xe0 | 
|  | 0x92 0x66 0x81 0xc0 | 
|  | 0x92 0x23 0x99 0xe0 | 
|  | 0x91 0x32 0x95 0x00 | 
|  |  | 
|  |  | 
|  | #------------------------------------------------------------------------------ | 
|  | # UQADD16/UQADD8 | 
|  | #------------------------------------------------------------------------------ | 
|  | # CHECK: uqadd16 r1, r2, r3 | 
|  | # CHECK: uqadd16gt r4, r7, r9 | 
|  | # CHECK: uqadd8 r3, r4, r8 | 
|  | # CHECK: uqadd8le r8, r1, r2 | 
|  |  | 
|  |  | 
|  | 0x13 0x1f 0x62 0xe6 | 
|  | 0x19 0x4f 0x67 0xc6 | 
|  | 0x98 0x3f 0x64 0xe6 | 
|  | 0x92 0x8f 0x61 0xd6 | 
|  |  | 
|  |  | 
|  | #------------------------------------------------------------------------------ | 
|  | # UQASX | 
|  | #------------------------------------------------------------------------------ | 
|  | # CHECK: uqasx r2, r4, r1 | 
|  | # CHECK: uqasxhi r5, r2, r9 | 
|  |  | 
|  | 0x31 0x2f 0x64 0xe6 | 
|  | 0x39 0x5f 0x62 0x86 | 
|  |  | 
|  |  | 
|  | #------------------------------------------------------------------------------ | 
|  | # UQSAX | 
|  | #------------------------------------------------------------------------------ | 
|  | # CHECK: uqsax r1, r3, r7 | 
|  | # CHECK: uqsax r3, r6, r2 | 
|  |  | 
|  | 0x57 0x1f 0x63 0xe6 | 
|  | 0x52 0x3f 0x66 0xe6 | 
|  |  | 
|  |  | 
|  | #------------------------------------------------------------------------------ | 
|  | # UQSUB16/UQSUB8 | 
|  | #------------------------------------------------------------------------------ | 
|  | # CHECK: uqsub16 r1, r5, r3 | 
|  | # CHECK: uqsub16gt r3, r2, r5 | 
|  | # CHECK: uqsub8 r2, r1, r4 | 
|  | # CHECK: uqsub8le r4, r6, r9 | 
|  |  | 
|  | 0x73 0x1f 0x65 0xe6 | 
|  | 0x75 0x3f 0x62 0xc6 | 
|  | 0xf4 0x2f 0x61 0xe6 | 
|  | 0xf9 0x4f 0x66 0xd6 | 
|  |  | 
|  |  | 
|  | #------------------------------------------------------------------------------ | 
|  | # USADA8/USAD8 | 
|  | #------------------------------------------------------------------------------ | 
|  | # CHECK: usad8 r2, r1, r4 | 
|  | # CHECK: usad8le r4, r6, r9 | 
|  | # CHECK: usada8 r1, r5, r3, r7 | 
|  | # CHECK: usada8gt r3, r2, r5, r1 | 
|  |  | 
|  | 0x11 0xf4 0x82 0xe7 | 
|  | 0x16 0xf9 0x84 0xd7 | 
|  | 0x15 0x73 0x81 0xe7 | 
|  | 0x12 0x15 0x83 0xc7 | 
|  |  | 
|  |  | 
|  | #------------------------------------------------------------------------------ | 
|  | # USAT | 
|  | #------------------------------------------------------------------------------ | 
|  |  | 
|  | # CHECK: usat	r8, #1, r10 | 
|  | # CHECK: usat	r8, #4, r10 | 
|  | # CHECK: usat	r8, #5, r10, lsl #31 | 
|  | # CHECK: usat	r8, #31, r10, asr #32 | 
|  | # CHECK: usat	r8, #16, r10, asr #1 | 
|  |  | 
|  | 0x1a 0x80 0xe1 0xe6 | 
|  | 0x1a 0x80 0xe4 0xe6 | 
|  | 0x9a 0x8f 0xe5 0xe6 | 
|  | 0x5a 0x80 0xff 0xe6 | 
|  | 0xda 0x80 0xf0 0xe6 | 
|  |  | 
|  | #------------------------------------------------------------------------------ | 
|  | # USAT16 | 
|  | #------------------------------------------------------------------------------ | 
|  | # CHECK: usat16	r2, #2, r7 | 
|  | # CHECK: usat16	r3, #15, r5 | 
|  |  | 
|  | 0x37 0x2f 0xe2 0xe6 | 
|  | 0x35 0x3f 0xef 0xe6 | 
|  |  | 
|  |  | 
|  | #------------------------------------------------------------------------------ | 
|  | # USAX | 
|  | #------------------------------------------------------------------------------ | 
|  | # CHECK: usax r2, r3, r4 | 
|  | # CHECK: usaxne r2, r3, r4 | 
|  |  | 
|  | 0x54 0x2f 0x53 0xe6 | 
|  | 0x54 0x2f 0x53 0x16 | 
|  |  | 
|  | #------------------------------------------------------------------------------ | 
|  | # USUB16/USUB8 | 
|  | #------------------------------------------------------------------------------ | 
|  | # CHECK: usub16 r4, r2, r7 | 
|  | # CHECK: usub16hi r1, r1, r3 | 
|  | # CHECK: usub8 r1, r8, r5 | 
|  | # CHECK: usub8le r9, r2, r3 | 
|  |  | 
|  | 0x77 0x4f 0x52 0xe6 | 
|  | 0x73 0x1f 0x51 0x86 | 
|  | 0xf5 0x1f 0x58 0xe6 | 
|  | 0xf3 0x9f 0x52 0xd6 | 
|  |  | 
|  |  | 
|  | #------------------------------------------------------------------------------ | 
|  | # UXTAB | 
|  | #------------------------------------------------------------------------------ | 
|  | # CHECK: uxtab r2, r3, r4 | 
|  | # CHECK: uxtab r4, r5, r6 | 
|  | # CHECK: uxtablt r6, r2, r9, ror #8 | 
|  | # CHECK: uxtab r5, r1, r4, ror #16 | 
|  | # CHECK: uxtab r7, r8, r3, ror #24 | 
|  |  | 
|  | 0x74 0x20 0xe3 0xe6 | 
|  | 0x76 0x40 0xe5 0xe6 | 
|  | 0x79 0x64 0xe2 0xb6 | 
|  | 0x74 0x58 0xe1 0xe6 | 
|  | 0x73 0x7c 0xe8 0xe6 | 
|  |  | 
|  |  | 
|  | #------------------------------------------------------------------------------ | 
|  | # UXTAB16 | 
|  | #------------------------------------------------------------------------------ | 
|  | # CHECK: uxtab16ge r0, r1, r4 | 
|  | # CHECK: uxtab16 r6, r2, r7 | 
|  | # CHECK: uxtab16 r3, r5, r8, ror #8 | 
|  | # CHECK: uxtab16 r3, r2, r1, ror #16 | 
|  | # CHECK: uxtab16eq r1, r2, r3, ror #24 | 
|  |  | 
|  | 0x74 0x00 0xc1 0xa6 | 
|  | 0x77 0x60 0xc2 0xe6 | 
|  | 0x78 0x34 0xc5 0xe6 | 
|  | 0x71 0x38 0xc2 0xe6 | 
|  | 0x73 0x1c 0xc2 0x06 | 
|  |  | 
|  | #------------------------------------------------------------------------------ | 
|  | # UXTAH | 
|  | #------------------------------------------------------------------------------ | 
|  | # CHECK: uxtah r1, r3, r9 | 
|  | # CHECK: uxtahhi r6, r1, r6 | 
|  | # CHECK: uxtah r3, r8, r3, ror #8 | 
|  | # CHECK: uxtahlo r2, r2, r4, ror #16 | 
|  | # CHECK: uxtah r9, r3, r3, ror #24 | 
|  |  | 
|  | 0x79 0x10 0xf3 0xe6 | 
|  | 0x76 0x60 0xf1 0x86 | 
|  | 0x73 0x34 0xf8 0xe6 | 
|  | 0x74 0x28 0xf2 0x36 | 
|  | 0x73 0x9c 0xf3 0xe6 | 
|  |  | 
|  | #------------------------------------------------------------------------------ | 
|  | # UXTB | 
|  | #------------------------------------------------------------------------------ | 
|  | # CHECK: uxtbge r2, r4 | 
|  | # CHECK: uxtb r5, r6 | 
|  | # CHECK: uxtb r6, r9, ror #8 | 
|  | # CHECK: uxtblo r5, r1, ror #16 | 
|  | # CHECK: uxtb r8, r3, ror #24 | 
|  |  | 
|  | 0x74 0x20 0xef 0xa6 | 
|  | 0x76 0x50 0xef 0xe6 | 
|  | 0x79 0x64 0xef 0xe6 | 
|  | 0x71 0x58 0xef 0x36 | 
|  | 0x73 0x8c 0xef 0xe6 | 
|  |  | 
|  |  | 
|  | #------------------------------------------------------------------------------ | 
|  | # UXTB16 | 
|  | #------------------------------------------------------------------------------ | 
|  | # CHECK: uxtb16 r1, r4 | 
|  | # CHECK: uxtb16 r6, r7 | 
|  | # CHECK: uxtb16hs r3, r5, ror #8 | 
|  | # CHECK: uxtb16 r3, r1, ror #16 | 
|  | # CHECK: uxtb16ge r2, r3, ror #24 | 
|  |  | 
|  | 0x74 0x10 0xcf 0xe6 | 
|  | 0x77 0x60 0xcf 0xe6 | 
|  | 0x75 0x34 0xcf 0x26 | 
|  | 0x71 0x38 0xcf 0xe6 | 
|  | 0x73 0x2c 0xcf 0xa6 | 
|  |  | 
|  |  | 
|  | #------------------------------------------------------------------------------ | 
|  | # UXTH | 
|  | #------------------------------------------------------------------------------ | 
|  | # CHECK: uxthne r3, r9 | 
|  | # CHECK: uxth r1, r6 | 
|  | # CHECK: uxth r3, r8, ror #8 | 
|  | # CHECK: uxthle r2, r2, ror #16 | 
|  | # CHECK: uxth r9, r3, ror #24 | 
|  |  | 
|  | 0x79 0x30 0xff 0x16 | 
|  | 0x76 0x10 0xff 0xe6 | 
|  | 0x78 0x34 0xff 0xe6 | 
|  | 0x72 0x28 0xff 0xd6 | 
|  | 0x73 0x9c 0xff 0xe6 | 
|  |  | 
|  | #------------------------------------------------------------------------------ | 
|  | # WFE/WFI/YIELD | 
|  | #------------------------------------------------------------------------------ | 
|  | # CHECK: wfe | 
|  | # CHECK: wfehi | 
|  | # CHECK: wfi | 
|  | # CHECK: wfilt | 
|  | # CHECK: yield | 
|  | # CHECK: yieldne | 
|  | # CHECK: hint #5 | 
|  |  | 
|  | 0x02 0xf0 0x20 0xe3 | 
|  | 0x02 0xf0 0x20 0x83 | 
|  | 0x03 0xf0 0x20 0xe3 | 
|  | 0x03 0xf0 0x20 0xb3 | 
|  | 0x01 0xf0 0x20 0xe3 | 
|  | 0x01 0xf0 0x20 0x13 | 
|  | 0x05 0xf0 0x20 0xe3 |