1*9880d681SAndroid Build Coastguard Worker@ RUN: llvm-mc -triple=armv7-apple-darwin -mcpu=cortex-a8 -show-encoding < %s | FileCheck %s 2*9880d681SAndroid Build Coastguard Worker@ RUN: llvm-mc -triple=armebv7-unknown-unknown -mcpu=cortex-a8 -show-encoding < %s | FileCheck --check-prefix=CHECK-BE %s 3*9880d681SAndroid Build Coastguard Worker .syntax unified 4*9880d681SAndroid Build Coastguard Worker .globl _func 5*9880d681SAndroid Build Coastguard Worker 6*9880d681SAndroid Build Coastguard Worker@ Check that the assembler can handle the documented syntax from the ARM ARM. 7*9880d681SAndroid Build Coastguard Worker@ For complex constructs like shifter operands, check more thoroughly for them 8*9880d681SAndroid Build Coastguard Worker@ once then spot check that following instructions accept the form generally. 9*9880d681SAndroid Build Coastguard Worker@ This gives us good coverage while keeping the overall size of the test 10*9880d681SAndroid Build Coastguard Worker@ more reasonable. 11*9880d681SAndroid Build Coastguard Worker 12*9880d681SAndroid Build Coastguard Worker_func: 13*9880d681SAndroid Build Coastguard Worker@ CHECK: _func 14*9880d681SAndroid Build Coastguard Worker 15*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 16*9880d681SAndroid Build Coastguard Worker@ ADC (immediate) 17*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 18*9880d681SAndroid Build Coastguard Worker adc r1, r2, #0xf 19*9880d681SAndroid Build Coastguard Worker adc r1, r2, $0xf 20*9880d681SAndroid Build Coastguard Worker adc r1, r2, 0xf 21*9880d681SAndroid Build Coastguard Worker adc r7, r8, #(0xff << 16) 22*9880d681SAndroid Build Coastguard Worker adc r7, r8, #-2147483638 23*9880d681SAndroid Build Coastguard Worker adc r7, r8, #42, #2 24*9880d681SAndroid Build Coastguard Worker adc r7, r8, #40, #2 25*9880d681SAndroid Build Coastguard Worker adc r7, r8, $40, $2 26*9880d681SAndroid Build Coastguard Worker adc r7, r8, 40, 2 27*9880d681SAndroid Build Coastguard Worker adc r7, r8, (2 * 20), (1 << 1) 28*9880d681SAndroid Build Coastguard Worker adc r1, r2, #0xf0 29*9880d681SAndroid Build Coastguard Worker adc r1, r2, #0xf00 30*9880d681SAndroid Build Coastguard Worker adc r1, r2, #0xf000 31*9880d681SAndroid Build Coastguard Worker adc r1, r2, #0xf0000 32*9880d681SAndroid Build Coastguard Worker adc r1, r2, #0xf00000 33*9880d681SAndroid Build Coastguard Worker adc r1, r2, #0xf000000 34*9880d681SAndroid Build Coastguard Worker adc r1, r2, #0xf0000000 35*9880d681SAndroid Build Coastguard Worker adc r1, r2, #0xf000000f 36*9880d681SAndroid Build Coastguard Worker adcs r1, r2, #0xf00 37*9880d681SAndroid Build Coastguard Worker adcs r7, r8, #40, #2 38*9880d681SAndroid Build Coastguard Worker adcseq r1, r2, #0xf00 39*9880d681SAndroid Build Coastguard Worker adceq r1, r2, #0xf00 40*9880d681SAndroid Build Coastguard Worker 41*9880d681SAndroid Build Coastguard Worker@ CHECK: adc r1, r2, #15 @ encoding: [0x0f,0x10,0xa2,0xe2] 42*9880d681SAndroid Build Coastguard Worker@ CHECK: adc r1, r2, #15 @ encoding: [0x0f,0x10,0xa2,0xe2] 43*9880d681SAndroid Build Coastguard Worker@ CHECK: adc r1, r2, #15 @ encoding: [0x0f,0x10,0xa2,0xe2] 44*9880d681SAndroid Build Coastguard Worker@ CHECK: adc r7, r8, #16711680 @ encoding: [0xff,0x78,0xa8,0xe2] 45*9880d681SAndroid Build Coastguard Worker@ CHECK: adc r7, r8, #-2147483638 @ encoding: [0x2a,0x71,0xa8,0xe2] 46*9880d681SAndroid Build Coastguard Worker@ CHECK: adc r7, r8, #-2147483638 @ encoding: [0x2a,0x71,0xa8,0xe2] 47*9880d681SAndroid Build Coastguard Worker@ CHECK: adc r7, r8, #40, #2 @ encoding: [0x28,0x71,0xa8,0xe2] 48*9880d681SAndroid Build Coastguard Worker@ CHECK: adc r7, r8, #40, #2 @ encoding: [0x28,0x71,0xa8,0xe2] 49*9880d681SAndroid Build Coastguard Worker@ CHECK: adc r7, r8, #40, #2 @ encoding: [0x28,0x71,0xa8,0xe2] 50*9880d681SAndroid Build Coastguard Worker@ CHECK: adc r7, r8, #40, #2 @ encoding: [0x28,0x71,0xa8,0xe2] 51*9880d681SAndroid Build Coastguard Worker@ CHECK: adc r1, r2, #240 @ encoding: [0xf0,0x10,0xa2,0xe2] 52*9880d681SAndroid Build Coastguard Worker@ CHECK: adc r1, r2, #3840 @ encoding: [0x0f,0x1c,0xa2,0xe2] 53*9880d681SAndroid Build Coastguard Worker@ CHECK: adc r1, r2, #61440 @ encoding: [0x0f,0x1a,0xa2,0xe2] 54*9880d681SAndroid Build Coastguard Worker@ CHECK: adc r1, r2, #983040 @ encoding: [0x0f,0x18,0xa2,0xe2] 55*9880d681SAndroid Build Coastguard Worker@ CHECK: adc r1, r2, #15728640 @ encoding: [0x0f,0x16,0xa2,0xe2] 56*9880d681SAndroid Build Coastguard Worker@ CHECK: adc r1, r2, #251658240 @ encoding: [0x0f,0x14,0xa2,0xe2] 57*9880d681SAndroid Build Coastguard Worker@ CHECK: adc r1, r2, #-268435456 @ encoding: [0x0f,0x12,0xa2,0xe2] 58*9880d681SAndroid Build Coastguard Worker@ CHECK: adc r1, r2, #-268435441 @ encoding: [0xff,0x12,0xa2,0xe2] 59*9880d681SAndroid Build Coastguard Worker@ CHECK: adcs r1, r2, #3840 @ encoding: [0x0f,0x1c,0xb2,0xe2] 60*9880d681SAndroid Build Coastguard Worker@ CHECK: adcs r7, r8, #40, #2 @ encoding: [0x28,0x71,0xb8,0xe2] 61*9880d681SAndroid Build Coastguard Worker@ CHECK: adcseq r1, r2, #3840 @ encoding: [0x0f,0x1c,0xb2,0x02] 62*9880d681SAndroid Build Coastguard Worker@ CHECK: adceq r1, r2, #3840 @ encoding: [0x0f,0x1c,0xa2,0x02] 63*9880d681SAndroid Build Coastguard Worker 64*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 65*9880d681SAndroid Build Coastguard Worker@ ADC (register) 66*9880d681SAndroid Build Coastguard Worker@ ADC (shifted register) 67*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 68*9880d681SAndroid Build Coastguard Worker adc r4, r5, r6 69*9880d681SAndroid Build Coastguard Worker @ Constant shifts 70*9880d681SAndroid Build Coastguard Worker adc r4, r5, r6, lsl #1 71*9880d681SAndroid Build Coastguard Worker adc r4, r5, r6, lsl #31 72*9880d681SAndroid Build Coastguard Worker adc r4, r5, r6, lsr #1 73*9880d681SAndroid Build Coastguard Worker adc r4, r5, r6, lsr #31 74*9880d681SAndroid Build Coastguard Worker adc r4, r5, r6, lsr #32 75*9880d681SAndroid Build Coastguard Worker adc r4, r5, r6, asr #1 76*9880d681SAndroid Build Coastguard Worker adc r4, r5, r6, asr #31 77*9880d681SAndroid Build Coastguard Worker adc r4, r5, r6, asr #32 78*9880d681SAndroid Build Coastguard Worker adc r4, r5, r6, ror #1 79*9880d681SAndroid Build Coastguard Worker adc r4, r5, r6, ror #31 80*9880d681SAndroid Build Coastguard Worker 81*9880d681SAndroid Build Coastguard Worker @ Register shifts 82*9880d681SAndroid Build Coastguard Worker adc r6, r7, r8, lsl r9 83*9880d681SAndroid Build Coastguard Worker adc r6, r7, r8, lsr r9 84*9880d681SAndroid Build Coastguard Worker adc r6, r7, r8, asr r9 85*9880d681SAndroid Build Coastguard Worker adc r6, r7, r8, ror r9 86*9880d681SAndroid Build Coastguard Worker adc r4, r5, r6, rrx 87*9880d681SAndroid Build Coastguard Worker 88*9880d681SAndroid Build Coastguard Worker @ Destination register is optional 89*9880d681SAndroid Build Coastguard Worker adc r5, r6 90*9880d681SAndroid Build Coastguard Worker adc r4, r5, lsl #1 91*9880d681SAndroid Build Coastguard Worker adc r4, r5, lsl #31 92*9880d681SAndroid Build Coastguard Worker adc r4, r5, lsr #1 93*9880d681SAndroid Build Coastguard Worker adc r4, r5, lsr #31 94*9880d681SAndroid Build Coastguard Worker adc r4, r5, lsr #32 95*9880d681SAndroid Build Coastguard Worker adc r4, r5, asr #1 96*9880d681SAndroid Build Coastguard Worker adc r4, r5, asr #31 97*9880d681SAndroid Build Coastguard Worker adc r4, r5, asr #32 98*9880d681SAndroid Build Coastguard Worker adc r4, r5, ror #1 99*9880d681SAndroid Build Coastguard Worker adc r4, r5, ror #31 100*9880d681SAndroid Build Coastguard Worker adc r4, r5, rrx 101*9880d681SAndroid Build Coastguard Worker adc r6, r7, lsl r9 102*9880d681SAndroid Build Coastguard Worker adc r6, r7, lsr r9 103*9880d681SAndroid Build Coastguard Worker adc r6, r7, asr r9 104*9880d681SAndroid Build Coastguard Worker adc r6, r7, ror r9 105*9880d681SAndroid Build Coastguard Worker adc r4, r5, rrx 106*9880d681SAndroid Build Coastguard Worker 107*9880d681SAndroid Build Coastguard Worker@ CHECK: adc r4, r5, r6 @ encoding: [0x06,0x40,0xa5,0xe0] 108*9880d681SAndroid Build Coastguard Worker 109*9880d681SAndroid Build Coastguard Worker@ CHECK: adc r4, r5, r6, lsl #1 @ encoding: [0x86,0x40,0xa5,0xe0] 110*9880d681SAndroid Build Coastguard Worker@ CHECK: adc r4, r5, r6, lsl #31 @ encoding: [0x86,0x4f,0xa5,0xe0] 111*9880d681SAndroid Build Coastguard Worker@ CHECK: adc r4, r5, r6, lsr #1 @ encoding: [0xa6,0x40,0xa5,0xe0] 112*9880d681SAndroid Build Coastguard Worker@ CHECK: adc r4, r5, r6, lsr #31 @ encoding: [0xa6,0x4f,0xa5,0xe0] 113*9880d681SAndroid Build Coastguard Worker@ CHECK: adc r4, r5, r6, lsr #32 @ encoding: [0x26,0x40,0xa5,0xe0] 114*9880d681SAndroid Build Coastguard Worker@ CHECK: adc r4, r5, r6, asr #1 @ encoding: [0xc6,0x40,0xa5,0xe0] 115*9880d681SAndroid Build Coastguard Worker@ CHECK: adc r4, r5, r6, asr #31 @ encoding: [0xc6,0x4f,0xa5,0xe0] 116*9880d681SAndroid Build Coastguard Worker@ CHECK: adc r4, r5, r6, asr #32 @ encoding: [0x46,0x40,0xa5,0xe0] 117*9880d681SAndroid Build Coastguard Worker@ CHECK: adc r4, r5, r6, ror #1 @ encoding: [0xe6,0x40,0xa5,0xe0] 118*9880d681SAndroid Build Coastguard Worker@ CHECK: adc r4, r5, r6, ror #31 @ encoding: [0xe6,0x4f,0xa5,0xe0] 119*9880d681SAndroid Build Coastguard Worker 120*9880d681SAndroid Build Coastguard Worker@ CHECK: adc r6, r7, r8, lsl r9 @ encoding: [0x18,0x69,0xa7,0xe0] 121*9880d681SAndroid Build Coastguard Worker@ CHECK: adc r6, r7, r8, lsr r9 @ encoding: [0x38,0x69,0xa7,0xe0] 122*9880d681SAndroid Build Coastguard Worker@ CHECK: adc r6, r7, r8, asr r9 @ encoding: [0x58,0x69,0xa7,0xe0] 123*9880d681SAndroid Build Coastguard Worker@ CHECK: adc r6, r7, r8, ror r9 @ encoding: [0x78,0x69,0xa7,0xe0] 124*9880d681SAndroid Build Coastguard Worker@ CHECK: adc r4, r5, r6, rrx @ encoding: [0x66,0x40,0xa5,0xe0] 125*9880d681SAndroid Build Coastguard Worker 126*9880d681SAndroid Build Coastguard Worker@ CHECK: adc r5, r5, r6 @ encoding: [0x06,0x50,0xa5,0xe0] 127*9880d681SAndroid Build Coastguard Worker@ CHECK: adc r4, r4, r5, lsl #1 @ encoding: [0x85,0x40,0xa4,0xe0] 128*9880d681SAndroid Build Coastguard Worker@ CHECK: adc r4, r4, r5, lsl #31 @ encoding: [0x85,0x4f,0xa4,0xe0] 129*9880d681SAndroid Build Coastguard Worker@ CHECK: adc r4, r4, r5, lsr #1 @ encoding: [0xa5,0x40,0xa4,0xe0] 130*9880d681SAndroid Build Coastguard Worker@ CHECK: adc r4, r4, r5, lsr #31 @ encoding: [0xa5,0x4f,0xa4,0xe0] 131*9880d681SAndroid Build Coastguard Worker@ CHECK: adc r4, r4, r5, lsr #32 @ encoding: [0x25,0x40,0xa4,0xe0] 132*9880d681SAndroid Build Coastguard Worker@ CHECK: adc r4, r4, r5, asr #1 @ encoding: [0xc5,0x40,0xa4,0xe0] 133*9880d681SAndroid Build Coastguard Worker@ CHECK: adc r4, r4, r5, asr #31 @ encoding: [0xc5,0x4f,0xa4,0xe0] 134*9880d681SAndroid Build Coastguard Worker@ CHECK: adc r4, r4, r5, asr #32 @ encoding: [0x45,0x40,0xa4,0xe0] 135*9880d681SAndroid Build Coastguard Worker@ CHECK: adc r4, r4, r5, ror #1 @ encoding: [0xe5,0x40,0xa4,0xe0] 136*9880d681SAndroid Build Coastguard Worker@ CHECK: adc r4, r4, r5, ror #31 @ encoding: [0xe5,0x4f,0xa4,0xe0] 137*9880d681SAndroid Build Coastguard Worker@ CHECK: adc r4, r4, r5, rrx @ encoding: [0x65,0x40,0xa4,0xe0] 138*9880d681SAndroid Build Coastguard Worker@ CHECK: adc r6, r6, r7, lsl r9 @ encoding: [0x17,0x69,0xa6,0xe0] 139*9880d681SAndroid Build Coastguard Worker@ CHECK: adc r6, r6, r7, lsr r9 @ encoding: [0x37,0x69,0xa6,0xe0] 140*9880d681SAndroid Build Coastguard Worker@ CHECK: adc r6, r6, r7, asr r9 @ encoding: [0x57,0x69,0xa6,0xe0] 141*9880d681SAndroid Build Coastguard Worker@ CHECK: adc r6, r6, r7, ror r9 @ encoding: [0x77,0x69,0xa6,0xe0] 142*9880d681SAndroid Build Coastguard Worker@ CHECK: adc r4, r4, r5, rrx @ encoding: [0x65,0x40,0xa4,0xe0] 143*9880d681SAndroid Build Coastguard Worker 144*9880d681SAndroid Build Coastguard Worker 145*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 146*9880d681SAndroid Build Coastguard Worker@ ADR 147*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 148*9880d681SAndroid Build Coastguard WorkerLback: 149*9880d681SAndroid Build Coastguard Worker adr r2, Lback 150*9880d681SAndroid Build Coastguard Worker adr r3, Lforward 151*9880d681SAndroid Build Coastguard WorkerLforward: 152*9880d681SAndroid Build Coastguard Worker adr r2, #3 153*9880d681SAndroid Build Coastguard Worker adr r2, #-3 154*9880d681SAndroid Build Coastguard Worker 155*9880d681SAndroid Build Coastguard Worker@ CHECK: Lback: 156*9880d681SAndroid Build Coastguard Worker@ CHECK: adr r2, Lback @ encoding: [A,0x20'A',0x0f'A',0xe2'A'] 157*9880d681SAndroid Build Coastguard Worker@ CHECK: @ fixup A - offset: 0, value: Lback, kind: fixup_arm_adr_pcrel_12 158*9880d681SAndroid Build Coastguard Worker@ CHECK-BE: adr r2, Lback @ encoding: [0xe2'A',0x0f'A',0x20'A',A] 159*9880d681SAndroid Build Coastguard Worker@ CHECK-BE: @ fixup A - offset: 0, value: Lback, kind: fixup_arm_adr_pcrel_12 160*9880d681SAndroid Build Coastguard Worker@ CHECK: adr r3, Lforward @ encoding: [A,0x30'A',0x0f'A',0xe2'A'] 161*9880d681SAndroid Build Coastguard Worker@ CHECK: @ fixup A - offset: 0, value: Lforward, kind: fixup_arm_adr_pcrel_12 162*9880d681SAndroid Build Coastguard Worker@ CHECK-BE: adr r3, Lforward @ encoding: [0xe2'A',0x0f'A',0x30'A',A] 163*9880d681SAndroid Build Coastguard Worker@ CHECK-BE: @ fixup A - offset: 0, value: Lforward, kind: fixup_arm_adr_pcrel_12 164*9880d681SAndroid Build Coastguard Worker@ CHECK: Lforward: 165*9880d681SAndroid Build Coastguard Worker@ CHECK: adr r2, #3 @ encoding: [0x03,0x20,0x8f,0xe2] 166*9880d681SAndroid Build Coastguard Worker@ CHECK: adr r2, #-3 @ encoding: [0x03,0x20,0x4f,0xe2] 167*9880d681SAndroid Build Coastguard Worker 168*9880d681SAndroid Build Coastguard Worker adr r1, #-0x0 169*9880d681SAndroid Build Coastguard Worker adr r1, #-0x12000000 170*9880d681SAndroid Build Coastguard Worker adr r1, #-0x80000001 171*9880d681SAndroid Build Coastguard Worker adr r1, #0x12000000 172*9880d681SAndroid Build Coastguard Worker adr r1, #0x80000001 173*9880d681SAndroid Build Coastguard Worker 174*9880d681SAndroid Build Coastguard Worker@ CHECK: adr r1, #-0 @ encoding: [0x00,0x10,0x4f,0xe2] 175*9880d681SAndroid Build Coastguard Worker@ CHECK: adr r1, #-301989888 @ encoding: [0x12,0x14,0x4f,0xe2] 176*9880d681SAndroid Build Coastguard Worker@ CHECK: adr r1, #2147483647 @ encoding: [0x06,0x11,0x4f,0xe2] 177*9880d681SAndroid Build Coastguard Worker@ CHECK: adr r1, #301989888 @ encoding: [0x12,0x14,0x8f,0xe2] 178*9880d681SAndroid Build Coastguard Worker@ CHECK: adr r1, #-2147483647 @ encoding: [0x06,0x11,0x8f,0xe2] 179*9880d681SAndroid Build Coastguard Worker 180*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 181*9880d681SAndroid Build Coastguard Worker@ ADD 182*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 183*9880d681SAndroid Build Coastguard Worker add r4, r5, #0xf000 184*9880d681SAndroid Build Coastguard Worker add r4, r5, $0xf000 185*9880d681SAndroid Build Coastguard Worker add r4, r5, 0xf000 186*9880d681SAndroid Build Coastguard Worker add r4, r5, -0xf000 187*9880d681SAndroid Build Coastguard Worker add r7, r8, #(0xff << 16) 188*9880d681SAndroid Build Coastguard Worker add r7, r8, #-2147483638 189*9880d681SAndroid Build Coastguard Worker add r7, r8, #42, #2 190*9880d681SAndroid Build Coastguard Worker add r7, r8, #40, #2 191*9880d681SAndroid Build Coastguard Worker add r7, r8, $40, $2 192*9880d681SAndroid Build Coastguard Worker add r7, r8, 40, 2 193*9880d681SAndroid Build Coastguard Worker add r7, r8, (2 * 20), (1 << 1) 194*9880d681SAndroid Build Coastguard Worker add r4, r5, r6 195*9880d681SAndroid Build Coastguard Worker add r4, r5, r6, lsl #5 196*9880d681SAndroid Build Coastguard Worker add r4, r5, r6, lsr #5 197*9880d681SAndroid Build Coastguard Worker add r4, r5, r6, lsr #5 198*9880d681SAndroid Build Coastguard Worker add r4, r5, r6, asr #5 199*9880d681SAndroid Build Coastguard Worker add r4, r5, r6, ror #5 200*9880d681SAndroid Build Coastguard Worker add r6, r7, r8, lsl r9 201*9880d681SAndroid Build Coastguard Worker add r4, r4, r3, asl r9 202*9880d681SAndroid Build Coastguard Worker add r6, r7, r8, lsr r9 203*9880d681SAndroid Build Coastguard Worker add r6, r7, r8, asr r9 204*9880d681SAndroid Build Coastguard Worker add r6, r7, r8, ror r9 205*9880d681SAndroid Build Coastguard Worker add r4, r5, r6, rrx 206*9880d681SAndroid Build Coastguard Worker 207*9880d681SAndroid Build Coastguard Worker @ destination register is optional 208*9880d681SAndroid Build Coastguard Worker add r5, #0xf000 209*9880d681SAndroid Build Coastguard Worker add r5, $0xf000 210*9880d681SAndroid Build Coastguard Worker add r5, 0xf000 211*9880d681SAndroid Build Coastguard Worker add r5, -0xf000 212*9880d681SAndroid Build Coastguard Worker add r7, #(0xff << 16) 213*9880d681SAndroid Build Coastguard Worker add r7, #-2147483638 214*9880d681SAndroid Build Coastguard Worker add r7, #42, #2 215*9880d681SAndroid Build Coastguard Worker add r7, #40, #2 216*9880d681SAndroid Build Coastguard Worker add r7, $40, $2 217*9880d681SAndroid Build Coastguard Worker add r7, 40, 2 218*9880d681SAndroid Build Coastguard Worker add r7, (2 * 20), (1 << 1) 219*9880d681SAndroid Build Coastguard Worker add r4, r5 220*9880d681SAndroid Build Coastguard Worker add r4, r5, lsl #5 221*9880d681SAndroid Build Coastguard Worker add r4, r5, lsr #5 222*9880d681SAndroid Build Coastguard Worker add r4, r5, lsr #5 223*9880d681SAndroid Build Coastguard Worker add r4, r5, asr #5 224*9880d681SAndroid Build Coastguard Worker add r4, r5, ror #5 225*9880d681SAndroid Build Coastguard Worker add r6, r7, lsl r9 226*9880d681SAndroid Build Coastguard Worker add r6, r7, lsr r9 227*9880d681SAndroid Build Coastguard Worker add r6, r7, asr r9 228*9880d681SAndroid Build Coastguard Worker add r6, r7, ror r9 229*9880d681SAndroid Build Coastguard Worker add r4, r5, rrx 230*9880d681SAndroid Build Coastguard Worker 231*9880d681SAndroid Build Coastguard Worker add r0, #-4 232*9880d681SAndroid Build Coastguard Worker add r4, r5, #-21 233*9880d681SAndroid Build Coastguard Worker add r0, pc, #0xc0000000 234*9880d681SAndroid Build Coastguard Worker addseq r0,pc,#0xc0000000 235*9880d681SAndroid Build Coastguard Worker 236*9880d681SAndroid Build Coastguard Worker 237*9880d681SAndroid Build Coastguard Worker add r0, pc, #(Lback - .) 238*9880d681SAndroid Build Coastguard Worker 239*9880d681SAndroid Build Coastguard Worker@ CHECK: add r4, r5, #61440 @ encoding: [0x0f,0x4a,0x85,0xe2] 240*9880d681SAndroid Build Coastguard Worker@ CHECK: add r4, r5, #61440 @ encoding: [0x0f,0x4a,0x85,0xe2] 241*9880d681SAndroid Build Coastguard Worker@ CHECK: add r4, r5, #61440 @ encoding: [0x0f,0x4a,0x85,0xe2] 242*9880d681SAndroid Build Coastguard Worker@ CHECK: sub r4, r5, #61440 @ encoding: [0x0f,0x4a,0x45,0xe2] 243*9880d681SAndroid Build Coastguard Worker@ CHECK: add r7, r8, #16711680 @ encoding: [0xff,0x78,0x88,0xe2] 244*9880d681SAndroid Build Coastguard Worker@ CHECK: add r7, r8, #-2147483638 @ encoding: [0x2a,0x71,0x88,0xe2] 245*9880d681SAndroid Build Coastguard Worker@ CHECK: add r7, r8, #-2147483638 @ encoding: [0x2a,0x71,0x88,0xe2] 246*9880d681SAndroid Build Coastguard Worker@ CHECK: add r7, r8, #40, #2 @ encoding: [0x28,0x71,0x88,0xe2] 247*9880d681SAndroid Build Coastguard Worker@ CHECK: add r7, r8, #40, #2 @ encoding: [0x28,0x71,0x88,0xe2] 248*9880d681SAndroid Build Coastguard Worker@ CHECK: add r7, r8, #40, #2 @ encoding: [0x28,0x71,0x88,0xe2] 249*9880d681SAndroid Build Coastguard Worker@ CHECK: add r7, r8, #40, #2 @ encoding: [0x28,0x71,0x88,0xe2] 250*9880d681SAndroid Build Coastguard Worker@ CHECK: add r4, r5, r6 @ encoding: [0x06,0x40,0x85,0xe0] 251*9880d681SAndroid Build Coastguard Worker@ CHECK: add r4, r5, r6, lsl #5 @ encoding: [0x86,0x42,0x85,0xe0] 252*9880d681SAndroid Build Coastguard Worker@ CHECK: add r4, r5, r6, lsr #5 @ encoding: [0xa6,0x42,0x85,0xe0] 253*9880d681SAndroid Build Coastguard Worker@ CHECK: add r4, r5, r6, lsr #5 @ encoding: [0xa6,0x42,0x85,0xe0] 254*9880d681SAndroid Build Coastguard Worker@ CHECK: add r4, r5, r6, asr #5 @ encoding: [0xc6,0x42,0x85,0xe0] 255*9880d681SAndroid Build Coastguard Worker@ CHECK: add r4, r5, r6, ror #5 @ encoding: [0xe6,0x42,0x85,0xe0] 256*9880d681SAndroid Build Coastguard Worker@ CHECK: add r6, r7, r8, lsl r9 @ encoding: [0x18,0x69,0x87,0xe0] 257*9880d681SAndroid Build Coastguard Worker@ CHECK: add r4, r4, r3, lsl r9 @ encoding: [0x13,0x49,0x84,0xe0] 258*9880d681SAndroid Build Coastguard Worker@ CHECK: add r6, r7, r8, lsr r9 @ encoding: [0x38,0x69,0x87,0xe0] 259*9880d681SAndroid Build Coastguard Worker@ CHECK: add r6, r7, r8, asr r9 @ encoding: [0x58,0x69,0x87,0xe0] 260*9880d681SAndroid Build Coastguard Worker@ CHECK: add r6, r7, r8, ror r9 @ encoding: [0x78,0x69,0x87,0xe0] 261*9880d681SAndroid Build Coastguard Worker@ CHECK: add r4, r5, r6, rrx @ encoding: [0x66,0x40,0x85,0xe0] 262*9880d681SAndroid Build Coastguard Worker 263*9880d681SAndroid Build Coastguard Worker@ CHECK: add r5, r5, #61440 @ encoding: [0x0f,0x5a,0x85,0xe2] 264*9880d681SAndroid Build Coastguard Worker@ CHECK: add r5, r5, #61440 @ encoding: [0x0f,0x5a,0x85,0xe2] 265*9880d681SAndroid Build Coastguard Worker@ CHECK: add r5, r5, #61440 @ encoding: [0x0f,0x5a,0x85,0xe2] 266*9880d681SAndroid Build Coastguard Worker@ CHECK: sub r5, r5, #61440 @ encoding: [0x0f,0x5a,0x45,0xe2] 267*9880d681SAndroid Build Coastguard Worker@ CHECK: add r7, r7, #16711680 @ encoding: [0xff,0x78,0x87,0xe2] 268*9880d681SAndroid Build Coastguard Worker@ CHECK: add r7, r7, #-2147483638 @ encoding: [0x2a,0x71,0x87,0xe2] 269*9880d681SAndroid Build Coastguard Worker@ CHECK: add r7, r7, #-2147483638 @ encoding: [0x2a,0x71,0x87,0xe2] 270*9880d681SAndroid Build Coastguard Worker@ CHECK: add r7, r7, #40, #2 @ encoding: [0x28,0x71,0x87,0xe2] 271*9880d681SAndroid Build Coastguard Worker@ CHECK: add r7, r7, #40, #2 @ encoding: [0x28,0x71,0x87,0xe2] 272*9880d681SAndroid Build Coastguard Worker@ CHECK: add r7, r7, #40, #2 @ encoding: [0x28,0x71,0x87,0xe2] 273*9880d681SAndroid Build Coastguard Worker@ CHECK: add r7, r7, #40, #2 @ encoding: [0x28,0x71,0x87,0xe2] 274*9880d681SAndroid Build Coastguard Worker@ CHECK: add r4, r4, r5 @ encoding: [0x05,0x40,0x84,0xe0] 275*9880d681SAndroid Build Coastguard Worker@ CHECK: add r4, r4, r5, lsl #5 @ encoding: [0x85,0x42,0x84,0xe0] 276*9880d681SAndroid Build Coastguard Worker@ CHECK: add r4, r4, r5, lsr #5 @ encoding: [0xa5,0x42,0x84,0xe0] 277*9880d681SAndroid Build Coastguard Worker@ CHECK: add r4, r4, r5, lsr #5 @ encoding: [0xa5,0x42,0x84,0xe0] 278*9880d681SAndroid Build Coastguard Worker@ CHECK: add r4, r4, r5, asr #5 @ encoding: [0xc5,0x42,0x84,0xe0] 279*9880d681SAndroid Build Coastguard Worker@ CHECK: add r4, r4, r5, ror #5 @ encoding: [0xe5,0x42,0x84,0xe0] 280*9880d681SAndroid Build Coastguard Worker@ CHECK: add r6, r6, r7, lsl r9 @ encoding: [0x17,0x69,0x86,0xe0] 281*9880d681SAndroid Build Coastguard Worker@ CHECK: add r6, r6, r7, lsr r9 @ encoding: [0x37,0x69,0x86,0xe0] 282*9880d681SAndroid Build Coastguard Worker@ CHECK: add r6, r6, r7, asr r9 @ encoding: [0x57,0x69,0x86,0xe0] 283*9880d681SAndroid Build Coastguard Worker@ CHECK: add r6, r6, r7, ror r9 @ encoding: [0x77,0x69,0x86,0xe0] 284*9880d681SAndroid Build Coastguard Worker@ CHECK: add r4, r4, r5, rrx @ encoding: [0x65,0x40,0x84,0xe0] 285*9880d681SAndroid Build Coastguard Worker 286*9880d681SAndroid Build Coastguard Worker@ CHECK: sub r0, r0, #4 @ encoding: [0x04,0x00,0x40,0xe2] 287*9880d681SAndroid Build Coastguard Worker@ CHECK: sub r4, r5, #21 @ encoding: [0x15,0x40,0x45,0xe2] 288*9880d681SAndroid Build Coastguard Worker@ CHECK: adr r0, #-1073741824 @ encoding: [0x03,0x01,0x8f,0xe2] 289*9880d681SAndroid Build Coastguard Worker@ CHECK: addseq r0, pc, #-1073741824 @ encoding: [0x03,0x01,0x9f,0x02] 290*9880d681SAndroid Build Coastguard Worker@ CHECK: Ltmp0: 291*9880d681SAndroid Build Coastguard Worker@ CHECK-NEXT: Ltmp1: 292*9880d681SAndroid Build Coastguard Worker@ CHECK-NEXT: adr r0, (Ltmp1+8)+(Lback-Ltmp0) @ encoding: [A,A,0x0f'A',0xe2'A'] 293*9880d681SAndroid Build Coastguard Worker@ CHECK-NEXT: @ fixup A - offset: 0, value: (Ltmp1+8)+(Lback-Ltmp0), kind: fixup_arm_adr_pcrel_12 294*9880d681SAndroid Build Coastguard Worker 295*9880d681SAndroid Build Coastguard Worker @ Test right shift by 32, which is encoded as 0 296*9880d681SAndroid Build Coastguard Worker add r3, r1, r2, lsr #32 297*9880d681SAndroid Build Coastguard Worker add r3, r1, r2, asr #32 298*9880d681SAndroid Build Coastguard Worker@ CHECK: add r3, r1, r2, lsr #32 @ encoding: [0x22,0x30,0x81,0xe0] 299*9880d681SAndroid Build Coastguard Worker@ CHECK: add r3, r1, r2, asr #32 @ encoding: [0x42,0x30,0x81,0xe0] 300*9880d681SAndroid Build Coastguard Worker 301*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 302*9880d681SAndroid Build Coastguard Worker@ ADDS 303*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 304*9880d681SAndroid Build Coastguard Worker adds r7, r8, #16711680 305*9880d681SAndroid Build Coastguard Worker adds r7, r8, $16711680 306*9880d681SAndroid Build Coastguard Worker adds r7, r8, 16711680 307*9880d681SAndroid Build Coastguard Worker adds r7, r8, #(0xff << 16) 308*9880d681SAndroid Build Coastguard Worker adds r7, r8, #-2147483638 309*9880d681SAndroid Build Coastguard Worker adds r7, r8, #42, #2 310*9880d681SAndroid Build Coastguard Worker adds r7, r8, #40, #2 311*9880d681SAndroid Build Coastguard Worker adds r7, r8, $40, $2 312*9880d681SAndroid Build Coastguard Worker adds r7, r8, 40, 2 313*9880d681SAndroid Build Coastguard Worker adds r7, r8, (2 * 20), (1 << 1) 314*9880d681SAndroid Build Coastguard Worker 315*9880d681SAndroid Build Coastguard Worker@ CHECK: adds r7, r8, #16711680 @ encoding: [0xff,0x78,0x98,0xe2] 316*9880d681SAndroid Build Coastguard Worker@ CHECK: adds r7, r8, #16711680 @ encoding: [0xff,0x78,0x98,0xe2] 317*9880d681SAndroid Build Coastguard Worker@ CHECK: adds r7, r8, #16711680 @ encoding: [0xff,0x78,0x98,0xe2] 318*9880d681SAndroid Build Coastguard Worker@ CHECK: adds r7, r8, #16711680 @ encoding: [0xff,0x78,0x98,0xe2] 319*9880d681SAndroid Build Coastguard Worker@ CHECK: adds r7, r8, #-2147483638 @ encoding: [0x2a,0x71,0x98,0xe2] 320*9880d681SAndroid Build Coastguard Worker@ CHECK: adds r7, r8, #-2147483638 @ encoding: [0x2a,0x71,0x98,0xe2] 321*9880d681SAndroid Build Coastguard Worker@ CHECK: adds r7, r8, #40, #2 @ encoding: [0x28,0x71,0x98,0xe2] 322*9880d681SAndroid Build Coastguard Worker@ CHECK: adds r7, r8, #40, #2 @ encoding: [0x28,0x71,0x98,0xe2] 323*9880d681SAndroid Build Coastguard Worker@ CHECK: adds r7, r8, #40, #2 @ encoding: [0x28,0x71,0x98,0xe2] 324*9880d681SAndroid Build Coastguard Worker@ CHECK: adds r7, r8, #40, #2 @ encoding: [0x28,0x71,0x98,0xe2] 325*9880d681SAndroid Build Coastguard Worker 326*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 327*9880d681SAndroid Build Coastguard Worker@ AND 328*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 329*9880d681SAndroid Build Coastguard Worker and r10, r1, #0xf 330*9880d681SAndroid Build Coastguard Worker and r10, r1, $0xf 331*9880d681SAndroid Build Coastguard Worker and r10, r1, 0xf 332*9880d681SAndroid Build Coastguard Worker and r10, r1, -0xf 333*9880d681SAndroid Build Coastguard Worker and r7, r8, #(0xff << 16) 334*9880d681SAndroid Build Coastguard Worker and r7, r8, #-2147483638 335*9880d681SAndroid Build Coastguard Worker and r7, r8, #42, #2 336*9880d681SAndroid Build Coastguard Worker and r7, r8, #40, #2 337*9880d681SAndroid Build Coastguard Worker and r7, r8, $40, $2 338*9880d681SAndroid Build Coastguard Worker and r7, r8, 40, 2 339*9880d681SAndroid Build Coastguard Worker and r7, r8, (2 * 20), (1 << 1) 340*9880d681SAndroid Build Coastguard Worker and r10, r1, r6 341*9880d681SAndroid Build Coastguard Worker and r10, r1, r6, lsl #10 342*9880d681SAndroid Build Coastguard Worker and r10, r1, r6, lsr #10 343*9880d681SAndroid Build Coastguard Worker and r10, r1, r6, lsr #10 344*9880d681SAndroid Build Coastguard Worker and r10, r1, r6, asr #10 345*9880d681SAndroid Build Coastguard Worker and r10, r1, r6, ror #10 346*9880d681SAndroid Build Coastguard Worker and r6, r7, r8, lsl r2 347*9880d681SAndroid Build Coastguard Worker and r6, r7, r8, lsr r2 348*9880d681SAndroid Build Coastguard Worker and r6, r7, r8, asr r2 349*9880d681SAndroid Build Coastguard Worker and r6, r7, r8, ror r2 350*9880d681SAndroid Build Coastguard Worker and r10, r1, r6, rrx 351*9880d681SAndroid Build Coastguard Worker and r2, r3, #0x7fffffff 352*9880d681SAndroid Build Coastguard Worker and sp, sp, #0x7fffffff 353*9880d681SAndroid Build Coastguard Worker and pc, pc, #0x7fffffff 354*9880d681SAndroid Build Coastguard Worker 355*9880d681SAndroid Build Coastguard Worker @ destination register is optional 356*9880d681SAndroid Build Coastguard Worker and r1, #0xf 357*9880d681SAndroid Build Coastguard Worker and r1, $0xf 358*9880d681SAndroid Build Coastguard Worker and r1, 0xf 359*9880d681SAndroid Build Coastguard Worker and r1, -0xf 360*9880d681SAndroid Build Coastguard Worker and r7, #(0xff << 16) 361*9880d681SAndroid Build Coastguard Worker and r7, #-2147483638 362*9880d681SAndroid Build Coastguard Worker and r7, #42, #2 363*9880d681SAndroid Build Coastguard Worker and r7, #40, #2 364*9880d681SAndroid Build Coastguard Worker and r7, $40, $2 365*9880d681SAndroid Build Coastguard Worker and r7, 40, 2 366*9880d681SAndroid Build Coastguard Worker and r7, (2 * 20), (1 << 1) 367*9880d681SAndroid Build Coastguard Worker and r10, r1 368*9880d681SAndroid Build Coastguard Worker and r10, r1, lsl #10 369*9880d681SAndroid Build Coastguard Worker and r10, r1, lsr #10 370*9880d681SAndroid Build Coastguard Worker and r10, r1, lsr #10 371*9880d681SAndroid Build Coastguard Worker and r10, r1, asr #10 372*9880d681SAndroid Build Coastguard Worker and r10, r1, ror #10 373*9880d681SAndroid Build Coastguard Worker and r6, r7, lsl r2 374*9880d681SAndroid Build Coastguard Worker and r6, r7, lsr r2 375*9880d681SAndroid Build Coastguard Worker and r6, r7, asr r2 376*9880d681SAndroid Build Coastguard Worker and r6, r7, ror r2 377*9880d681SAndroid Build Coastguard Worker and r10, r1, rrx 378*9880d681SAndroid Build Coastguard Worker 379*9880d681SAndroid Build Coastguard Worker@ CHECK: and r10, r1, #15 @ encoding: [0x0f,0xa0,0x01,0xe2] 380*9880d681SAndroid Build Coastguard Worker@ CHECK: and r10, r1, #15 @ encoding: [0x0f,0xa0,0x01,0xe2] 381*9880d681SAndroid Build Coastguard Worker@ CHECK: and r10, r1, #15 @ encoding: [0x0f,0xa0,0x01,0xe2] 382*9880d681SAndroid Build Coastguard Worker@ CHECK: bic r10, r1, #14 @ encoding: [0x0e,0xa0,0xc1,0xe3] 383*9880d681SAndroid Build Coastguard Worker@ CHECK: and r7, r8, #16711680 @ encoding: [0xff,0x78,0x08,0xe2] 384*9880d681SAndroid Build Coastguard Worker@ CHECK: and r7, r8, #-2147483638 @ encoding: [0x2a,0x71,0x08,0xe2] 385*9880d681SAndroid Build Coastguard Worker@ CHECK: and r7, r8, #-2147483638 @ encoding: [0x2a,0x71,0x08,0xe2] 386*9880d681SAndroid Build Coastguard Worker@ CHECK: and r7, r8, #40, #2 @ encoding: [0x28,0x71,0x08,0xe2] 387*9880d681SAndroid Build Coastguard Worker@ CHECK: and r7, r8, #40, #2 @ encoding: [0x28,0x71,0x08,0xe2] 388*9880d681SAndroid Build Coastguard Worker@ CHECK: and r7, r8, #40, #2 @ encoding: [0x28,0x71,0x08,0xe2] 389*9880d681SAndroid Build Coastguard Worker@ CHECK: and r7, r8, #40, #2 @ encoding: [0x28,0x71,0x08,0xe2] 390*9880d681SAndroid Build Coastguard Worker@ CHECK: and r10, r1, r6 @ encoding: [0x06,0xa0,0x01,0xe0] 391*9880d681SAndroid Build Coastguard Worker@ CHECK: and r10, r1, r6, lsl #10 @ encoding: [0x06,0xa5,0x01,0xe0] 392*9880d681SAndroid Build Coastguard Worker@ CHECK: and r10, r1, r6, lsr #10 @ encoding: [0x26,0xa5,0x01,0xe0] 393*9880d681SAndroid Build Coastguard Worker@ CHECK: and r10, r1, r6, lsr #10 @ encoding: [0x26,0xa5,0x01,0xe0] 394*9880d681SAndroid Build Coastguard Worker@ CHECK: and r10, r1, r6, asr #10 @ encoding: [0x46,0xa5,0x01,0xe0] 395*9880d681SAndroid Build Coastguard Worker@ CHECK: and r10, r1, r6, ror #10 @ encoding: [0x66,0xa5,0x01,0xe0] 396*9880d681SAndroid Build Coastguard Worker@ CHECK: and r6, r7, r8, lsl r2 @ encoding: [0x18,0x62,0x07,0xe0] 397*9880d681SAndroid Build Coastguard Worker@ CHECK: and r6, r7, r8, lsr r2 @ encoding: [0x38,0x62,0x07,0xe0] 398*9880d681SAndroid Build Coastguard Worker@ CHECK: and r6, r7, r8, asr r2 @ encoding: [0x58,0x62,0x07,0xe0] 399*9880d681SAndroid Build Coastguard Worker@ CHECK: and r6, r7, r8, ror r2 @ encoding: [0x78,0x62,0x07,0xe0] 400*9880d681SAndroid Build Coastguard Worker@ CHECK: and r10, r1, r6, rrx @ encoding: [0x66,0xa0,0x01,0xe0] 401*9880d681SAndroid Build Coastguard Worker@ CHECK: bic r2, r3, #-2147483648 @ encoding: [0x02,0x21,0xc3,0xe3] 402*9880d681SAndroid Build Coastguard Worker@ CHECK: bic sp, sp, #-2147483648 @ encoding: [0x02,0xd1,0xcd,0xe3] 403*9880d681SAndroid Build Coastguard Worker@ CHECK: bic pc, pc, #-2147483648 @ encoding: [0x02,0xf1,0xcf,0xe3] 404*9880d681SAndroid Build Coastguard Worker 405*9880d681SAndroid Build Coastguard Worker@ CHECK: and r1, r1, #15 @ encoding: [0x0f,0x10,0x01,0xe2] 406*9880d681SAndroid Build Coastguard Worker@ CHECK: and r1, r1, #15 @ encoding: [0x0f,0x10,0x01,0xe2] 407*9880d681SAndroid Build Coastguard Worker@ CHECK: and r1, r1, #15 @ encoding: [0x0f,0x10,0x01,0xe2] 408*9880d681SAndroid Build Coastguard Worker@ CHECK: bic r1, r1, #14 @ encoding: [0x0e,0x10,0xc1,0xe3] 409*9880d681SAndroid Build Coastguard Worker@ CHECK: and r7, r7, #16711680 @ encoding: [0xff,0x78,0x07,0xe2] 410*9880d681SAndroid Build Coastguard Worker@ CHECK: and r7, r7, #-2147483638 @ encoding: [0x2a,0x71,0x07,0xe2] 411*9880d681SAndroid Build Coastguard Worker@ CHECK: and r7, r7, #-2147483638 @ encoding: [0x2a,0x71,0x07,0xe2] 412*9880d681SAndroid Build Coastguard Worker@ CHECK: and r7, r7, #40, #2 @ encoding: [0x28,0x71,0x07,0xe2] 413*9880d681SAndroid Build Coastguard Worker@ CHECK: and r7, r7, #40, #2 @ encoding: [0x28,0x71,0x07,0xe2] 414*9880d681SAndroid Build Coastguard Worker@ CHECK: and r7, r7, #40, #2 @ encoding: [0x28,0x71,0x07,0xe2] 415*9880d681SAndroid Build Coastguard Worker@ CHECK: and r7, r7, #40, #2 @ encoding: [0x28,0x71,0x07,0xe2] 416*9880d681SAndroid Build Coastguard Worker@ CHECK: and r10, r10, r1 @ encoding: [0x01,0xa0,0x0a,0xe0] 417*9880d681SAndroid Build Coastguard Worker@ CHECK: and r10, r10, r1, lsl #10 @ encoding: [0x01,0xa5,0x0a,0xe0] 418*9880d681SAndroid Build Coastguard Worker@ CHECK: and r10, r10, r1, lsr #10 @ encoding: [0x21,0xa5,0x0a,0xe0] 419*9880d681SAndroid Build Coastguard Worker@ CHECK: and r10, r10, r1, lsr #10 @ encoding: [0x21,0xa5,0x0a,0xe0] 420*9880d681SAndroid Build Coastguard Worker@ CHECK: and r10, r10, r1, asr #10 @ encoding: [0x41,0xa5,0x0a,0xe0] 421*9880d681SAndroid Build Coastguard Worker@ CHECK: and r10, r10, r1, ror #10 @ encoding: [0x61,0xa5,0x0a,0xe0] 422*9880d681SAndroid Build Coastguard Worker@ CHECK: and r6, r6, r7, lsl r2 @ encoding: [0x17,0x62,0x06,0xe0] 423*9880d681SAndroid Build Coastguard Worker@ CHECK: and r6, r6, r7, lsr r2 @ encoding: [0x37,0x62,0x06,0xe0] 424*9880d681SAndroid Build Coastguard Worker@ CHECK: and r6, r6, r7, asr r2 @ encoding: [0x57,0x62,0x06,0xe0] 425*9880d681SAndroid Build Coastguard Worker@ CHECK: and r6, r6, r7, ror r2 @ encoding: [0x77,0x62,0x06,0xe0] 426*9880d681SAndroid Build Coastguard Worker@ CHECK: and r10, r10, r1, rrx @ encoding: [0x61,0xa0,0x0a,0xe0] 427*9880d681SAndroid Build Coastguard Worker 428*9880d681SAndroid Build Coastguard Worker @ Test right shift by 32, which is encoded as 0 429*9880d681SAndroid Build Coastguard Worker and r3, r1, r2, lsr #32 430*9880d681SAndroid Build Coastguard Worker and r3, r1, r2, asr #32 431*9880d681SAndroid Build Coastguard Worker@ CHECK: and r3, r1, r2, lsr #32 @ encoding: [0x22,0x30,0x01,0xe0] 432*9880d681SAndroid Build Coastguard Worker@ CHECK: and r3, r1, r2, asr #32 @ encoding: [0x42,0x30,0x01,0xe0] 433*9880d681SAndroid Build Coastguard Worker 434*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 435*9880d681SAndroid Build Coastguard Worker@ ASR 436*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 437*9880d681SAndroid Build Coastguard Worker asr r2, r4, #32 438*9880d681SAndroid Build Coastguard Worker asr r2, r4, #2 439*9880d681SAndroid Build Coastguard Worker asr r2, r4, #0 440*9880d681SAndroid Build Coastguard Worker asr r4, #2 441*9880d681SAndroid Build Coastguard Worker 442*9880d681SAndroid Build Coastguard Worker@ CHECK: asr r2, r4, #32 @ encoding: [0x44,0x20,0xa0,0xe1] 443*9880d681SAndroid Build Coastguard Worker@ CHECK: asr r2, r4, #2 @ encoding: [0x44,0x21,0xa0,0xe1] 444*9880d681SAndroid Build Coastguard Worker@ CHECK: mov r2, r4 @ encoding: [0x04,0x20,0xa0,0xe1] 445*9880d681SAndroid Build Coastguard Worker@ CHECK: asr r4, r4, #2 @ encoding: [0x44,0x41,0xa0,0xe1] 446*9880d681SAndroid Build Coastguard Worker 447*9880d681SAndroid Build Coastguard Worker 448*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 449*9880d681SAndroid Build Coastguard Worker@ B 450*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 451*9880d681SAndroid Build Coastguard Worker b _bar 452*9880d681SAndroid Build Coastguard Worker beq _baz 453*9880d681SAndroid Build Coastguard Worker 454*9880d681SAndroid Build Coastguard Worker@ CHECK: b _bar @ encoding: [A,A,A,0xea] 455*9880d681SAndroid Build Coastguard Worker@ CHECK: @ fixup A - offset: 0, value: _bar, kind: fixup_arm_uncondbranch 456*9880d681SAndroid Build Coastguard Worker@ CHECK-BE: b _bar @ encoding: [0xea,A,A,A] 457*9880d681SAndroid Build Coastguard Worker@ CHECK-BE: @ fixup A - offset: 0, value: _bar, kind: fixup_arm_uncondbranch 458*9880d681SAndroid Build Coastguard Worker@ CHECK: beq _baz @ encoding: [A,A,A,0x0a] 459*9880d681SAndroid Build Coastguard Worker@ CHECK: @ fixup A - offset: 0, value: _baz, kind: fixup_arm_condbranch 460*9880d681SAndroid Build Coastguard Worker@ CHECK-BE: beq _baz @ encoding: [0x0a,A,A,A] 461*9880d681SAndroid Build Coastguard Worker@ CHECK-BE: @ fixup A - offset: 0, value: _baz, kind: fixup_arm_condbranch 462*9880d681SAndroid Build Coastguard Worker 463*9880d681SAndroid Build Coastguard Worker 464*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 465*9880d681SAndroid Build Coastguard Worker@ BFC 466*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 467*9880d681SAndroid Build Coastguard Worker bfc r5, #3, #17 468*9880d681SAndroid Build Coastguard Worker bfccc r5, #3, #17 469*9880d681SAndroid Build Coastguard Worker 470*9880d681SAndroid Build Coastguard Worker@ CHECK: bfc r5, #3, #17 @ encoding: [0x9f,0x51,0xd3,0xe7] 471*9880d681SAndroid Build Coastguard Worker@ CHECK: bfclo r5, #3, #17 @ encoding: [0x9f,0x51,0xd3,0x37] 472*9880d681SAndroid Build Coastguard Worker 473*9880d681SAndroid Build Coastguard Worker 474*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 475*9880d681SAndroid Build Coastguard Worker@ BFI 476*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 477*9880d681SAndroid Build Coastguard Worker bfi r5, r2, #3, #17 478*9880d681SAndroid Build Coastguard Worker bfine r5, r2, #3, #17 479*9880d681SAndroid Build Coastguard Worker 480*9880d681SAndroid Build Coastguard Worker@ CHECK: bfi r5, r2, #3, #17 @ encoding: [0x92,0x51,0xd3,0xe7] 481*9880d681SAndroid Build Coastguard Worker@ CHECK: bfine r5, r2, #3, #17 @ encoding: [0x92,0x51,0xd3,0x17] 482*9880d681SAndroid Build Coastguard Worker 483*9880d681SAndroid Build Coastguard Worker 484*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 485*9880d681SAndroid Build Coastguard Worker@ BIC 486*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 487*9880d681SAndroid Build Coastguard Worker bic r10, r1, #0xf 488*9880d681SAndroid Build Coastguard Worker bic r10, r1, $0xf 489*9880d681SAndroid Build Coastguard Worker bic r10, r1, 0xf 490*9880d681SAndroid Build Coastguard Worker bic r10, r1, -0xf 491*9880d681SAndroid Build Coastguard Worker bic r7, r8, #(0xff << 16) 492*9880d681SAndroid Build Coastguard Worker bic r7, r8, #-2147483638 493*9880d681SAndroid Build Coastguard Worker bic r7, r8, #42, #2 494*9880d681SAndroid Build Coastguard Worker bic r7, r8, #40, #2 495*9880d681SAndroid Build Coastguard Worker bic r7, r8, $40, $2 496*9880d681SAndroid Build Coastguard Worker bic r7, r8, 40, 2 497*9880d681SAndroid Build Coastguard Worker bic r7, r8, (2 * 20), (1 << 1) 498*9880d681SAndroid Build Coastguard Worker bic r10, r1, r6 499*9880d681SAndroid Build Coastguard Worker bic r10, r1, r6, lsl #10 500*9880d681SAndroid Build Coastguard Worker bic r10, r1, r6, lsr #10 501*9880d681SAndroid Build Coastguard Worker bic r10, r1, r6, lsr #10 502*9880d681SAndroid Build Coastguard Worker bic r10, r1, r6, asr #10 503*9880d681SAndroid Build Coastguard Worker bic r10, r1, r6, ror #10 504*9880d681SAndroid Build Coastguard Worker bic r6, r7, r8, lsl r2 505*9880d681SAndroid Build Coastguard Worker bic r6, r7, r8, lsr r2 506*9880d681SAndroid Build Coastguard Worker bic r6, r7, r8, asr r2 507*9880d681SAndroid Build Coastguard Worker bic r6, r7, r8, ror r2 508*9880d681SAndroid Build Coastguard Worker bic r10, r1, r6, rrx 509*9880d681SAndroid Build Coastguard Worker bic r2, r3, #0x7fffffff 510*9880d681SAndroid Build Coastguard Worker bic sp, sp, #0x7fffffff 511*9880d681SAndroid Build Coastguard Worker bic pc, pc, #0x7fffffff 512*9880d681SAndroid Build Coastguard Worker 513*9880d681SAndroid Build Coastguard Worker 514*9880d681SAndroid Build Coastguard Worker @ destination register is optional 515*9880d681SAndroid Build Coastguard Worker bic r1, #0xf 516*9880d681SAndroid Build Coastguard Worker bic r1, $0xf 517*9880d681SAndroid Build Coastguard Worker bic r1, 0xf 518*9880d681SAndroid Build Coastguard Worker bic r1, -0xf 519*9880d681SAndroid Build Coastguard Worker bic r7, #(0xff << 16) 520*9880d681SAndroid Build Coastguard Worker bic r7, #-2147483638 521*9880d681SAndroid Build Coastguard Worker bic r7, #42, #2 522*9880d681SAndroid Build Coastguard Worker bic r7, #40, #2 523*9880d681SAndroid Build Coastguard Worker bic r7, $40, $2 524*9880d681SAndroid Build Coastguard Worker bic r7, 40, 2 525*9880d681SAndroid Build Coastguard Worker bic r7, (2 * 20), (1 << 1) 526*9880d681SAndroid Build Coastguard Worker bic r10, r1 527*9880d681SAndroid Build Coastguard Worker bic r10, r1, lsl #10 528*9880d681SAndroid Build Coastguard Worker bic r10, r1, lsr #10 529*9880d681SAndroid Build Coastguard Worker bic r10, r1, lsr #10 530*9880d681SAndroid Build Coastguard Worker bic r10, r1, asr #10 531*9880d681SAndroid Build Coastguard Worker bic r10, r1, ror #10 532*9880d681SAndroid Build Coastguard Worker bic r6, r7, lsl r2 533*9880d681SAndroid Build Coastguard Worker bic r6, r7, lsr r2 534*9880d681SAndroid Build Coastguard Worker bic r6, r7, asr r2 535*9880d681SAndroid Build Coastguard Worker bic r6, r7, ror r2 536*9880d681SAndroid Build Coastguard Worker bic r10, r1, rrx 537*9880d681SAndroid Build Coastguard Worker 538*9880d681SAndroid Build Coastguard Worker@ CHECK: bic r10, r1, #15 @ encoding: [0x0f,0xa0,0xc1,0xe3] 539*9880d681SAndroid Build Coastguard Worker@ CHECK: bic r10, r1, #15 @ encoding: [0x0f,0xa0,0xc1,0xe3] 540*9880d681SAndroid Build Coastguard Worker@ CHECK: bic r10, r1, #15 @ encoding: [0x0f,0xa0,0xc1,0xe3] 541*9880d681SAndroid Build Coastguard Worker@ CHECK: and r10, r1, #14 @ encoding: [0x0e,0xa0,0x01,0xe2] 542*9880d681SAndroid Build Coastguard Worker@ CHECK: bic r7, r8, #16711680 @ encoding: [0xff,0x78,0xc8,0xe3] 543*9880d681SAndroid Build Coastguard Worker@ CHECK: bic r7, r8, #-2147483638 @ encoding: [0x2a,0x71,0xc8,0xe3] 544*9880d681SAndroid Build Coastguard Worker@ CHECK: bic r7, r8, #-2147483638 @ encoding: [0x2a,0x71,0xc8,0xe3] 545*9880d681SAndroid Build Coastguard Worker@ CHECK: bic r7, r8, #40, #2 @ encoding: [0x28,0x71,0xc8,0xe3] 546*9880d681SAndroid Build Coastguard Worker@ CHECK: bic r7, r8, #40, #2 @ encoding: [0x28,0x71,0xc8,0xe3] 547*9880d681SAndroid Build Coastguard Worker@ CHECK: bic r7, r8, #40, #2 @ encoding: [0x28,0x71,0xc8,0xe3] 548*9880d681SAndroid Build Coastguard Worker@ CHECK: bic r10, r1, r6 @ encoding: [0x06,0xa0,0xc1,0xe1] 549*9880d681SAndroid Build Coastguard Worker@ CHECK: bic r10, r1, r6, lsl #10 @ encoding: [0x06,0xa5,0xc1,0xe1] 550*9880d681SAndroid Build Coastguard Worker@ CHECK: bic r10, r1, r6, lsr #10 @ encoding: [0x26,0xa5,0xc1,0xe1] 551*9880d681SAndroid Build Coastguard Worker@ CHECK: bic r10, r1, r6, lsr #10 @ encoding: [0x26,0xa5,0xc1,0xe1] 552*9880d681SAndroid Build Coastguard Worker@ CHECK: bic r10, r1, r6, asr #10 @ encoding: [0x46,0xa5,0xc1,0xe1] 553*9880d681SAndroid Build Coastguard Worker@ CHECK: bic r10, r1, r6, ror #10 @ encoding: [0x66,0xa5,0xc1,0xe1] 554*9880d681SAndroid Build Coastguard Worker@ CHECK: bic r6, r7, r8, lsl r2 @ encoding: [0x18,0x62,0xc7,0xe1] 555*9880d681SAndroid Build Coastguard Worker@ CHECK: bic r6, r7, r8, lsr r2 @ encoding: [0x38,0x62,0xc7,0xe1] 556*9880d681SAndroid Build Coastguard Worker@ CHECK: bic r6, r7, r8, asr r2 @ encoding: [0x58,0x62,0xc7,0xe1] 557*9880d681SAndroid Build Coastguard Worker@ CHECK: bic r6, r7, r8, ror r2 @ encoding: [0x78,0x62,0xc7,0xe1] 558*9880d681SAndroid Build Coastguard Worker@ CHECK: bic r10, r1, r6, rrx @ encoding: [0x66,0xa0,0xc1,0xe1] 559*9880d681SAndroid Build Coastguard Worker@ CHECK: and r2, r3, #-2147483648 @ encoding: [0x02,0x21,0x03,0xe2] 560*9880d681SAndroid Build Coastguard Worker@ CHECK: and sp, sp, #-2147483648 @ encoding: [0x02,0xd1,0x0d,0xe2] 561*9880d681SAndroid Build Coastguard Worker@ CHECK: and pc, pc, #-2147483648 @ encoding: [0x02,0xf1,0x0f,0xe2] 562*9880d681SAndroid Build Coastguard Worker 563*9880d681SAndroid Build Coastguard Worker 564*9880d681SAndroid Build Coastguard Worker@ CHECK: bic r1, r1, #15 @ encoding: [0x0f,0x10,0xc1,0xe3] 565*9880d681SAndroid Build Coastguard Worker@ CHECK: bic r1, r1, #15 @ encoding: [0x0f,0x10,0xc1,0xe3] 566*9880d681SAndroid Build Coastguard Worker@ CHECK: bic r1, r1, #15 @ encoding: [0x0f,0x10,0xc1,0xe3] 567*9880d681SAndroid Build Coastguard Worker@ CHECK: and r1, r1, #14 @ encoding: [0x0e,0x10,0x01,0xe2] 568*9880d681SAndroid Build Coastguard Worker@ CHECK: bic r7, r7, #16711680 @ encoding: [0xff,0x78,0xc7,0xe3] 569*9880d681SAndroid Build Coastguard Worker@ CHECK: bic r7, r7, #-2147483638 @ encoding: [0x2a,0x71,0xc7,0xe3] 570*9880d681SAndroid Build Coastguard Worker@ CHECK: bic r7, r7, #-2147483638 @ encoding: [0x2a,0x71,0xc7,0xe3] 571*9880d681SAndroid Build Coastguard Worker@ CHECK: bic r7, r7, #40, #2 @ encoding: [0x28,0x71,0xc7,0xe3] 572*9880d681SAndroid Build Coastguard Worker@ CHECK: bic r7, r7, #40, #2 @ encoding: [0x28,0x71,0xc7,0xe3] 573*9880d681SAndroid Build Coastguard Worker@ CHECK: bic r7, r7, #40, #2 @ encoding: [0x28,0x71,0xc7,0xe3] 574*9880d681SAndroid Build Coastguard Worker@ CHECK: bic r7, r7, #40, #2 @ encoding: [0x28,0x71,0xc7,0xe3] 575*9880d681SAndroid Build Coastguard Worker@ CHECK: bic r10, r10, r1 @ encoding: [0x01,0xa0,0xca,0xe1] 576*9880d681SAndroid Build Coastguard Worker@ CHECK: bic r10, r10, r1, lsl #10 @ encoding: [0x01,0xa5,0xca,0xe1] 577*9880d681SAndroid Build Coastguard Worker@ CHECK: bic r10, r10, r1, lsr #10 @ encoding: [0x21,0xa5,0xca,0xe1] 578*9880d681SAndroid Build Coastguard Worker@ CHECK: bic r10, r10, r1, lsr #10 @ encoding: [0x21,0xa5,0xca,0xe1] 579*9880d681SAndroid Build Coastguard Worker@ CHECK: bic r10, r10, r1, asr #10 @ encoding: [0x41,0xa5,0xca,0xe1] 580*9880d681SAndroid Build Coastguard Worker@ CHECK: bic r10, r10, r1, ror #10 @ encoding: [0x61,0xa5,0xca,0xe1] 581*9880d681SAndroid Build Coastguard Worker@ CHECK: bic r6, r6, r7, lsl r2 @ encoding: [0x17,0x62,0xc6,0xe1] 582*9880d681SAndroid Build Coastguard Worker@ CHECK: bic r6, r6, r7, lsr r2 @ encoding: [0x37,0x62,0xc6,0xe1] 583*9880d681SAndroid Build Coastguard Worker@ CHECK: bic r6, r6, r7, asr r2 @ encoding: [0x57,0x62,0xc6,0xe1] 584*9880d681SAndroid Build Coastguard Worker@ CHECK: bic r6, r6, r7, ror r2 @ encoding: [0x77,0x62,0xc6,0xe1] 585*9880d681SAndroid Build Coastguard Worker@ CHECK: bic r10, r10, r1, rrx @ encoding: [0x61,0xa0,0xca,0xe1] 586*9880d681SAndroid Build Coastguard Worker 587*9880d681SAndroid Build Coastguard Worker @ Test right shift by 32, which is encoded as 0 588*9880d681SAndroid Build Coastguard Worker bic r3, r1, r2, lsr #32 589*9880d681SAndroid Build Coastguard Worker bic r3, r1, r2, asr #32 590*9880d681SAndroid Build Coastguard Worker@ CHECK: bic r3, r1, r2, lsr #32 @ encoding: [0x22,0x30,0xc1,0xe1] 591*9880d681SAndroid Build Coastguard Worker@ CHECK: bic r3, r1, r2, asr #32 @ encoding: [0x42,0x30,0xc1,0xe1] 592*9880d681SAndroid Build Coastguard Worker 593*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 594*9880d681SAndroid Build Coastguard Worker@ BKPT 595*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 596*9880d681SAndroid Build Coastguard Worker bkpt #10 597*9880d681SAndroid Build Coastguard Worker bkpt #65535 598*9880d681SAndroid Build Coastguard Worker 599*9880d681SAndroid Build Coastguard Worker@ CHECK: bkpt #10 @ encoding: [0x7a,0x00,0x20,0xe1] 600*9880d681SAndroid Build Coastguard Worker@ CHECK: bkpt #65535 @ encoding: [0x7f,0xff,0x2f,0xe1] 601*9880d681SAndroid Build Coastguard Worker 602*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 603*9880d681SAndroid Build Coastguard Worker@ BL/BLX (immediate) 604*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 605*9880d681SAndroid Build Coastguard Worker 606*9880d681SAndroid Build Coastguard Worker bl _bar 607*9880d681SAndroid Build Coastguard Worker bleq _bar 608*9880d681SAndroid Build Coastguard Worker blx _bar 609*9880d681SAndroid Build Coastguard Worker blls #28634268 610*9880d681SAndroid Build Coastguard Worker blx #32424576 611*9880d681SAndroid Build Coastguard Worker blx #16212288 612*9880d681SAndroid Build Coastguard Worker 613*9880d681SAndroid Build Coastguard Worker@ CHECK: bl _bar @ encoding: [A,A,A,0xeb] 614*9880d681SAndroid Build Coastguard Worker@ CHECK: @ fixup A - offset: 0, value: _bar, kind: fixup_arm_uncondbl 615*9880d681SAndroid Build Coastguard Worker@ CHECK-BE: bl _bar @ encoding: [0xeb,A,A,A] 616*9880d681SAndroid Build Coastguard Worker@ CHECK-BE: @ fixup A - offset: 0, value: _bar, kind: fixup_arm_uncondbl 617*9880d681SAndroid Build Coastguard Worker@ CHECK: bleq _bar @ encoding: [A,A,A,0x0b] 618*9880d681SAndroid Build Coastguard Worker@ CHECK: @ fixup A - offset: 0, value: _bar, kind: fixup_arm_condbl 619*9880d681SAndroid Build Coastguard Worker@ CHECK-BE: bleq _bar @ encoding: [0x0b,A,A,A] 620*9880d681SAndroid Build Coastguard Worker@ CHECK-BE: @ fixup A - offset: 0, value: _bar, kind: fixup_arm_condbl 621*9880d681SAndroid Build Coastguard Worker@ CHECK: blx _bar @ encoding: [A,A,A,0xfa] 622*9880d681SAndroid Build Coastguard Worker@ CHECK: @ fixup A - offset: 0, value: _bar, kind: fixup_arm_blx 623*9880d681SAndroid Build Coastguard Worker@ CHECK-BE: blx _bar @ encoding: [0xfa,A,A,A] 624*9880d681SAndroid Build Coastguard Worker@ CHECK-BE: @ fixup A - offset: 0, value: _bar, kind: fixup_arm_blx 625*9880d681SAndroid Build Coastguard Worker@ CHECK: blls #28634268 @ encoding: [0x27,0x3b,0x6d,0x9b] 626*9880d681SAndroid Build Coastguard Worker@ CHECK: blx #32424576 @ encoding: [0xa0,0xb0,0x7b,0xfa] 627*9880d681SAndroid Build Coastguard Worker@ CHECK: blx #16212288 @ encoding: [0x50,0xd8,0x3d,0xfa] 628*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 629*9880d681SAndroid Build Coastguard Worker@ BLX (register) 630*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 631*9880d681SAndroid Build Coastguard Worker blx r2 632*9880d681SAndroid Build Coastguard Worker blxne r2 633*9880d681SAndroid Build Coastguard Worker 634*9880d681SAndroid Build Coastguard Worker@ CHECK: blx r2 @ encoding: [0x32,0xff,0x2f,0xe1] 635*9880d681SAndroid Build Coastguard Worker@ CHECK: blxne r2 @ encoding: [0x32,0xff,0x2f,0x11] 636*9880d681SAndroid Build Coastguard Worker 637*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 638*9880d681SAndroid Build Coastguard Worker@ BX 639*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 640*9880d681SAndroid Build Coastguard Worker bx r2 641*9880d681SAndroid Build Coastguard Worker bxne r2 642*9880d681SAndroid Build Coastguard Worker 643*9880d681SAndroid Build Coastguard Worker@ CHECK: bx r2 @ encoding: [0x12,0xff,0x2f,0xe1] 644*9880d681SAndroid Build Coastguard Worker@ CHECK: bxne r2 @ encoding: [0x12,0xff,0x2f,0x11] 645*9880d681SAndroid Build Coastguard Worker 646*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 647*9880d681SAndroid Build Coastguard Worker@ BXJ 648*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 649*9880d681SAndroid Build Coastguard Worker bxj r2 650*9880d681SAndroid Build Coastguard Worker bxjne r2 651*9880d681SAndroid Build Coastguard Worker 652*9880d681SAndroid Build Coastguard Worker@ CHECK: bxj r2 @ encoding: [0x22,0xff,0x2f,0xe1] 653*9880d681SAndroid Build Coastguard Worker@ CHECK: bxjne r2 @ encoding: [0x22,0xff,0x2f,0x11] 654*9880d681SAndroid Build Coastguard Worker 655*9880d681SAndroid Build Coastguard Worker 656*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 657*9880d681SAndroid Build Coastguard Worker@ CDP/CDP2 658*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 659*9880d681SAndroid Build Coastguard Worker cdp p7, #1, c1, c1, c1, #4 660*9880d681SAndroid Build Coastguard Worker cdp2 p7, #1, c1, c1, c1, #4 661*9880d681SAndroid Build Coastguard Worker cdp2 p12, #0, c6, c12, c0, #7 662*9880d681SAndroid Build Coastguard Worker 663*9880d681SAndroid Build Coastguard Worker@ CHECK: cdp p7, #1, c1, c1, c1, #4 @ encoding: [0x81,0x17,0x11,0xee] 664*9880d681SAndroid Build Coastguard Worker@ CHECK: cdp2 p7, #1, c1, c1, c1, #4 @ encoding: [0x81,0x17,0x11,0xfe] 665*9880d681SAndroid Build Coastguard Worker@ CHECK: cdp2 p12, #0, c6, c12, c0, #7 @ encoding: [0xe0,0x6c,0x0c,0xfe] 666*9880d681SAndroid Build Coastguard Worker 667*9880d681SAndroid Build Coastguard Worker cdpne p7, #1, c1, c1, c1, #4 668*9880d681SAndroid Build Coastguard Worker@ CHECK: cdpne p7, #1, c1, c1, c1, #4 @ encoding: [0x81,0x17,0x11,0x1e] 669*9880d681SAndroid Build Coastguard Worker 670*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 671*9880d681SAndroid Build Coastguard Worker@ CLREX 672*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 673*9880d681SAndroid Build Coastguard Worker clrex 674*9880d681SAndroid Build Coastguard Worker 675*9880d681SAndroid Build Coastguard Worker@ CHECK: clrex @ encoding: [0x1f,0xf0,0x7f,0xf5] 676*9880d681SAndroid Build Coastguard Worker 677*9880d681SAndroid Build Coastguard Worker 678*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 679*9880d681SAndroid Build Coastguard Worker@ CLZ 680*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 681*9880d681SAndroid Build Coastguard Worker clz r1, r2 682*9880d681SAndroid Build Coastguard Worker clzeq r1, r2 683*9880d681SAndroid Build Coastguard Worker 684*9880d681SAndroid Build Coastguard Worker@ CHECK: clz r1, r2 @ encoding: [0x12,0x1f,0x6f,0xe1] 685*9880d681SAndroid Build Coastguard Worker@ CHECK: clzeq r1, r2 @ encoding: [0x12,0x1f,0x6f,0x01] 686*9880d681SAndroid Build Coastguard Worker 687*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 688*9880d681SAndroid Build Coastguard Worker@ CMN 689*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 690*9880d681SAndroid Build Coastguard Worker cmn r1, #0xf 691*9880d681SAndroid Build Coastguard Worker cmn r1, $0xf 692*9880d681SAndroid Build Coastguard Worker cmn r1, 0xf 693*9880d681SAndroid Build Coastguard Worker cmn r1, -0xf 694*9880d681SAndroid Build Coastguard Worker cmn r7, #(0xff << 16) 695*9880d681SAndroid Build Coastguard Worker cmn r7, #-2147483638 696*9880d681SAndroid Build Coastguard Worker cmn r7, #42, #2 697*9880d681SAndroid Build Coastguard Worker cmn r7, #40, #2 698*9880d681SAndroid Build Coastguard Worker cmn r7, $40, $2 699*9880d681SAndroid Build Coastguard Worker cmn r7, 40, 2 700*9880d681SAndroid Build Coastguard Worker cmn r7, (20 * 2), (1 << 1) 701*9880d681SAndroid Build Coastguard Worker cmn r1, r6 702*9880d681SAndroid Build Coastguard Worker cmn r1, r6, lsl #10 703*9880d681SAndroid Build Coastguard Worker cmn r1, r6, lsr #10 704*9880d681SAndroid Build Coastguard Worker cmn sp, r6, lsr #10 705*9880d681SAndroid Build Coastguard Worker cmn r1, r6, asr #10 706*9880d681SAndroid Build Coastguard Worker cmn r1, r6, ror #10 707*9880d681SAndroid Build Coastguard Worker cmn r7, r8, lsl r2 708*9880d681SAndroid Build Coastguard Worker cmn sp, r8, lsr r2 709*9880d681SAndroid Build Coastguard Worker cmn r7, r8, asr r2 710*9880d681SAndroid Build Coastguard Worker cmn r7, r8, ror r2 711*9880d681SAndroid Build Coastguard Worker cmn r1, r6, rrx 712*9880d681SAndroid Build Coastguard Worker 713*9880d681SAndroid Build Coastguard Worker@ CHECK: cmn r1, #15 @ encoding: [0x0f,0x00,0x71,0xe3] 714*9880d681SAndroid Build Coastguard Worker@ CHECK: cmn r1, #15 @ encoding: [0x0f,0x00,0x71,0xe3] 715*9880d681SAndroid Build Coastguard Worker@ CHECK: cmn r1, #15 @ encoding: [0x0f,0x00,0x71,0xe3] 716*9880d681SAndroid Build Coastguard Worker@ CHECK: cmp r1, #15 @ encoding: [0x0f,0x00,0x51,0xe3] 717*9880d681SAndroid Build Coastguard Worker@ CHECK: cmn r7, #16711680 @ encoding: [0xff,0x08,0x77,0xe3] 718*9880d681SAndroid Build Coastguard Worker@ CHECK: cmn r7, #-2147483638 @ encoding: [0x2a,0x01,0x77,0xe3] 719*9880d681SAndroid Build Coastguard Worker@ CHECK: cmn r7, #-2147483638 @ encoding: [0x2a,0x01,0x77,0xe3] 720*9880d681SAndroid Build Coastguard Worker@ CHECK: cmn r7, #40, #2 @ encoding: [0x28,0x01,0x77,0xe3] 721*9880d681SAndroid Build Coastguard Worker@ CHECK: cmn r7, #40, #2 @ encoding: [0x28,0x01,0x77,0xe3] 722*9880d681SAndroid Build Coastguard Worker@ CHECK: cmn r7, #40, #2 @ encoding: [0x28,0x01,0x77,0xe3] 723*9880d681SAndroid Build Coastguard Worker@ CHECK: cmn r7, #40, #2 @ encoding: [0x28,0x01,0x77,0xe3] 724*9880d681SAndroid Build Coastguard Worker@ CHECK: cmn r1, r6 @ encoding: [0x06,0x00,0x71,0xe1] 725*9880d681SAndroid Build Coastguard Worker@ CHECK: cmn r1, r6, lsl #10 @ encoding: [0x06,0x05,0x71,0xe1] 726*9880d681SAndroid Build Coastguard Worker@ CHECK: cmn r1, r6, lsr #10 @ encoding: [0x26,0x05,0x71,0xe1] 727*9880d681SAndroid Build Coastguard Worker@ CHECK: cmn sp, r6, lsr #10 @ encoding: [0x26,0x05,0x7d,0xe1] 728*9880d681SAndroid Build Coastguard Worker@ CHECK: cmn r1, r6, asr #10 @ encoding: [0x46,0x05,0x71,0xe1] 729*9880d681SAndroid Build Coastguard Worker@ CHECK: cmn r1, r6, ror #10 @ encoding: [0x66,0x05,0x71,0xe1] 730*9880d681SAndroid Build Coastguard Worker@ CHECK: cmn r7, r8, lsl r2 @ encoding: [0x18,0x02,0x77,0xe1] 731*9880d681SAndroid Build Coastguard Worker@ CHECK: cmn sp, r8, lsr r2 @ encoding: [0x38,0x02,0x7d,0xe1] 732*9880d681SAndroid Build Coastguard Worker@ CHECK: cmn r7, r8, asr r2 @ encoding: [0x58,0x02,0x77,0xe1] 733*9880d681SAndroid Build Coastguard Worker@ CHECK: cmn r7, r8, ror r2 @ encoding: [0x78,0x02,0x77,0xe1] 734*9880d681SAndroid Build Coastguard Worker@ CHECK: cmn r1, r6, rrx @ encoding: [0x66,0x00,0x71,0xe1] 735*9880d681SAndroid Build Coastguard Worker 736*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 737*9880d681SAndroid Build Coastguard Worker@ CMP 738*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 739*9880d681SAndroid Build Coastguard Worker cmp r1, #0xf 740*9880d681SAndroid Build Coastguard Worker cmp r1, $0xf 741*9880d681SAndroid Build Coastguard Worker cmp r1, 0xf 742*9880d681SAndroid Build Coastguard Worker cmp r1, -0xf 743*9880d681SAndroid Build Coastguard Worker cmp r7, #(0xff << 16) 744*9880d681SAndroid Build Coastguard Worker cmp r7, #-2147483638 745*9880d681SAndroid Build Coastguard Worker cmp r7, #42, #2 746*9880d681SAndroid Build Coastguard Worker cmp r7, #40, #2 747*9880d681SAndroid Build Coastguard Worker cmp r7, $40, $2 748*9880d681SAndroid Build Coastguard Worker cmp r7, 40, 2 749*9880d681SAndroid Build Coastguard Worker cmp r7, (2 * 20), (1 << 1) 750*9880d681SAndroid Build Coastguard Worker cmp r1, r6 751*9880d681SAndroid Build Coastguard Worker cmp r1, r6, lsl #10 752*9880d681SAndroid Build Coastguard Worker cmp r1, r6, lsr #10 753*9880d681SAndroid Build Coastguard Worker cmp sp, r6, lsr #10 754*9880d681SAndroid Build Coastguard Worker cmp r1, r6, asr #10 755*9880d681SAndroid Build Coastguard Worker cmp r1, r6, ror #10 756*9880d681SAndroid Build Coastguard Worker cmp r7, r8, lsl r2 757*9880d681SAndroid Build Coastguard Worker cmp sp, r8, lsr r2 758*9880d681SAndroid Build Coastguard Worker cmp r7, r8, asr r2 759*9880d681SAndroid Build Coastguard Worker cmp r7, r8, ror r2 760*9880d681SAndroid Build Coastguard Worker cmp r1, r6, rrx 761*9880d681SAndroid Build Coastguard Worker cmp r0, #-2 762*9880d681SAndroid Build Coastguard Worker cmp lr, #0 763*9880d681SAndroid Build Coastguard Worker 764*9880d681SAndroid Build Coastguard Worker@ CHECK: cmp r1, #15 @ encoding: [0x0f,0x00,0x51,0xe3] 765*9880d681SAndroid Build Coastguard Worker@ CHECK: cmp r1, #15 @ encoding: [0x0f,0x00,0x51,0xe3] 766*9880d681SAndroid Build Coastguard Worker@ CHECK: cmp r1, #15 @ encoding: [0x0f,0x00,0x51,0xe3] 767*9880d681SAndroid Build Coastguard Worker@ CHECK: cmn r1, #15 @ encoding: [0x0f,0x00,0x71,0xe3] 768*9880d681SAndroid Build Coastguard Worker@ CHECK: cmp r7, #16711680 @ encoding: [0xff,0x08,0x57,0xe3] 769*9880d681SAndroid Build Coastguard Worker@ CHECK: cmp r7, #-2147483638 @ encoding: [0x2a,0x01,0x57,0xe3] 770*9880d681SAndroid Build Coastguard Worker@ CHECK: cmp r7, #-2147483638 @ encoding: [0x2a,0x01,0x57,0xe3] 771*9880d681SAndroid Build Coastguard Worker@ CHECK: cmp r7, #40, #2 @ encoding: [0x28,0x01,0x57,0xe3] 772*9880d681SAndroid Build Coastguard Worker@ CHECK: cmp r7, #40, #2 @ encoding: [0x28,0x01,0x57,0xe3] 773*9880d681SAndroid Build Coastguard Worker@ CHECK: cmp r7, #40, #2 @ encoding: [0x28,0x01,0x57,0xe3] 774*9880d681SAndroid Build Coastguard Worker@ CHECK: cmp r7, #40, #2 @ encoding: [0x28,0x01,0x57,0xe3] 775*9880d681SAndroid Build Coastguard Worker@ CHECK: cmp r1, r6 @ encoding: [0x06,0x00,0x51,0xe1] 776*9880d681SAndroid Build Coastguard Worker@ CHECK: cmp r1, r6, lsl #10 @ encoding: [0x06,0x05,0x51,0xe1] 777*9880d681SAndroid Build Coastguard Worker@ CHECK: cmp r1, r6, lsr #10 @ encoding: [0x26,0x05,0x51,0xe1] 778*9880d681SAndroid Build Coastguard Worker@ CHECK: cmp sp, r6, lsr #10 @ encoding: [0x26,0x05,0x5d,0xe1] 779*9880d681SAndroid Build Coastguard Worker@ CHECK: cmp r1, r6, asr #10 @ encoding: [0x46,0x05,0x51,0xe1] 780*9880d681SAndroid Build Coastguard Worker@ CHECK: cmp r1, r6, ror #10 @ encoding: [0x66,0x05,0x51,0xe1] 781*9880d681SAndroid Build Coastguard Worker@ CHECK: cmp r7, r8, lsl r2 @ encoding: [0x18,0x02,0x57,0xe1] 782*9880d681SAndroid Build Coastguard Worker@ CHECK: cmp sp, r8, lsr r2 @ encoding: [0x38,0x02,0x5d,0xe1] 783*9880d681SAndroid Build Coastguard Worker@ CHECK: cmp r7, r8, asr r2 @ encoding: [0x58,0x02,0x57,0xe1] 784*9880d681SAndroid Build Coastguard Worker@ CHECK: cmp r7, r8, ror r2 @ encoding: [0x78,0x02,0x57,0xe1] 785*9880d681SAndroid Build Coastguard Worker@ CHECK: cmp r1, r6, rrx @ encoding: [0x66,0x00,0x51,0xe1] 786*9880d681SAndroid Build Coastguard Worker@ CHECK: cmn r0, #2 @ encoding: [0x02,0x00,0x70,0xe3] 787*9880d681SAndroid Build Coastguard Worker@ CHECK: cmp lr, #0 @ encoding: [0x00,0x00,0x5e,0xe3] 788*9880d681SAndroid Build Coastguard Worker 789*9880d681SAndroid Build Coastguard Worker 790*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 791*9880d681SAndroid Build Coastguard Worker@ CPS 792*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 793*9880d681SAndroid Build Coastguard Worker cpsie aif 794*9880d681SAndroid Build Coastguard Worker cps #15 795*9880d681SAndroid Build Coastguard Worker cpsid if, #10 796*9880d681SAndroid Build Coastguard Worker 797*9880d681SAndroid Build Coastguard Worker@ CHECK: cpsie aif @ encoding: [0xc0,0x01,0x08,0xf1] 798*9880d681SAndroid Build Coastguard Worker@ CHECK: cps #15 @ encoding: [0x0f,0x00,0x02,0xf1] 799*9880d681SAndroid Build Coastguard Worker@ CHECK: cpsid if, #10 @ encoding: [0xca,0x00,0x0e,0xf1] 800*9880d681SAndroid Build Coastguard Worker 801*9880d681SAndroid Build Coastguard Worker 802*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 803*9880d681SAndroid Build Coastguard Worker@ DBG 804*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 805*9880d681SAndroid Build Coastguard Worker dbg #0 806*9880d681SAndroid Build Coastguard Worker dbg #5 807*9880d681SAndroid Build Coastguard Worker dbg #15 808*9880d681SAndroid Build Coastguard Worker 809*9880d681SAndroid Build Coastguard Worker@ CHECK: dbg #0 @ encoding: [0xf0,0xf0,0x20,0xe3] 810*9880d681SAndroid Build Coastguard Worker@ CHECK: dbg #5 @ encoding: [0xf5,0xf0,0x20,0xe3] 811*9880d681SAndroid Build Coastguard Worker@ CHECK: dbg #15 @ encoding: [0xff,0xf0,0x20,0xe3] 812*9880d681SAndroid Build Coastguard Worker 813*9880d681SAndroid Build Coastguard Worker 814*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 815*9880d681SAndroid Build Coastguard Worker@ DMB 816*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 817*9880d681SAndroid Build Coastguard Worker dmb #0xf 818*9880d681SAndroid Build Coastguard Worker dmb #0xe 819*9880d681SAndroid Build Coastguard Worker dmb #0xd 820*9880d681SAndroid Build Coastguard Worker dmb #0xc 821*9880d681SAndroid Build Coastguard Worker dmb #0xb 822*9880d681SAndroid Build Coastguard Worker dmb #0xa 823*9880d681SAndroid Build Coastguard Worker dmb #0x9 824*9880d681SAndroid Build Coastguard Worker dmb #0x8 825*9880d681SAndroid Build Coastguard Worker dmb #0x7 826*9880d681SAndroid Build Coastguard Worker dmb #0x6 827*9880d681SAndroid Build Coastguard Worker dmb #0x5 828*9880d681SAndroid Build Coastguard Worker dmb #0x4 829*9880d681SAndroid Build Coastguard Worker dmb #0x3 830*9880d681SAndroid Build Coastguard Worker dmb #0x2 831*9880d681SAndroid Build Coastguard Worker dmb #0x1 832*9880d681SAndroid Build Coastguard Worker dmb #0x0 833*9880d681SAndroid Build Coastguard Worker 834*9880d681SAndroid Build Coastguard Worker dmb sy 835*9880d681SAndroid Build Coastguard Worker dmb st 836*9880d681SAndroid Build Coastguard Worker dmb sh 837*9880d681SAndroid Build Coastguard Worker dmb ish 838*9880d681SAndroid Build Coastguard Worker dmb shst 839*9880d681SAndroid Build Coastguard Worker dmb ishst 840*9880d681SAndroid Build Coastguard Worker dmb un 841*9880d681SAndroid Build Coastguard Worker dmb nsh 842*9880d681SAndroid Build Coastguard Worker dmb unst 843*9880d681SAndroid Build Coastguard Worker dmb nshst 844*9880d681SAndroid Build Coastguard Worker dmb osh 845*9880d681SAndroid Build Coastguard Worker dmb oshst 846*9880d681SAndroid Build Coastguard Worker dmb 847*9880d681SAndroid Build Coastguard Worker 848*9880d681SAndroid Build Coastguard Worker@ CHECK: dmb sy @ encoding: [0x5f,0xf0,0x7f,0xf5] 849*9880d681SAndroid Build Coastguard Worker@ CHECK: dmb st @ encoding: [0x5e,0xf0,0x7f,0xf5] 850*9880d681SAndroid Build Coastguard Worker@ CHECK: dmb #0xd @ encoding: [0x5d,0xf0,0x7f,0xf5] 851*9880d681SAndroid Build Coastguard Worker@ CHECK: dmb #0xc @ encoding: [0x5c,0xf0,0x7f,0xf5] 852*9880d681SAndroid Build Coastguard Worker@ CHECK: dmb ish @ encoding: [0x5b,0xf0,0x7f,0xf5] 853*9880d681SAndroid Build Coastguard Worker@ CHECK: dmb ishst @ encoding: [0x5a,0xf0,0x7f,0xf5] 854*9880d681SAndroid Build Coastguard Worker@ CHECK: dmb #0x9 @ encoding: [0x59,0xf0,0x7f,0xf5] 855*9880d681SAndroid Build Coastguard Worker@ CHECK: dmb #0x8 @ encoding: [0x58,0xf0,0x7f,0xf5] 856*9880d681SAndroid Build Coastguard Worker@ CHECK: dmb nsh @ encoding: [0x57,0xf0,0x7f,0xf5] 857*9880d681SAndroid Build Coastguard Worker@ CHECK: dmb nshst @ encoding: [0x56,0xf0,0x7f,0xf5] 858*9880d681SAndroid Build Coastguard Worker@ CHECK: dmb #0x5 @ encoding: [0x55,0xf0,0x7f,0xf5] 859*9880d681SAndroid Build Coastguard Worker@ CHECK: dmb #0x4 @ encoding: [0x54,0xf0,0x7f,0xf5] 860*9880d681SAndroid Build Coastguard Worker@ CHECK: dmb osh @ encoding: [0x53,0xf0,0x7f,0xf5] 861*9880d681SAndroid Build Coastguard Worker@ CHECK: dmb oshst @ encoding: [0x52,0xf0,0x7f,0xf5] 862*9880d681SAndroid Build Coastguard Worker@ CHECK: dmb #0x1 @ encoding: [0x51,0xf0,0x7f,0xf5] 863*9880d681SAndroid Build Coastguard Worker@ CHECK: dmb #0x0 @ encoding: [0x50,0xf0,0x7f,0xf5] 864*9880d681SAndroid Build Coastguard Worker 865*9880d681SAndroid Build Coastguard Worker@ CHECK: dmb sy @ encoding: [0x5f,0xf0,0x7f,0xf5] 866*9880d681SAndroid Build Coastguard Worker@ CHECK: dmb st @ encoding: [0x5e,0xf0,0x7f,0xf5] 867*9880d681SAndroid Build Coastguard Worker@ CHECK: dmb ish @ encoding: [0x5b,0xf0,0x7f,0xf5] 868*9880d681SAndroid Build Coastguard Worker@ CHECK: dmb ish @ encoding: [0x5b,0xf0,0x7f,0xf5] 869*9880d681SAndroid Build Coastguard Worker@ CHECK: dmb ishst @ encoding: [0x5a,0xf0,0x7f,0xf5] 870*9880d681SAndroid Build Coastguard Worker@ CHECK: dmb ishst @ encoding: [0x5a,0xf0,0x7f,0xf5] 871*9880d681SAndroid Build Coastguard Worker@ CHECK: dmb nsh @ encoding: [0x57,0xf0,0x7f,0xf5] 872*9880d681SAndroid Build Coastguard Worker@ CHECK: dmb nsh @ encoding: [0x57,0xf0,0x7f,0xf5] 873*9880d681SAndroid Build Coastguard Worker@ CHECK: dmb nshst @ encoding: [0x56,0xf0,0x7f,0xf5] 874*9880d681SAndroid Build Coastguard Worker@ CHECK: dmb nshst @ encoding: [0x56,0xf0,0x7f,0xf5] 875*9880d681SAndroid Build Coastguard Worker@ CHECK: dmb osh @ encoding: [0x53,0xf0,0x7f,0xf5] 876*9880d681SAndroid Build Coastguard Worker@ CHECK: dmb oshst @ encoding: [0x52,0xf0,0x7f,0xf5] 877*9880d681SAndroid Build Coastguard Worker@ CHECK: dmb sy @ encoding: [0x5f,0xf0,0x7f,0xf5] 878*9880d681SAndroid Build Coastguard Worker 879*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 880*9880d681SAndroid Build Coastguard Worker@ DSB 881*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 882*9880d681SAndroid Build Coastguard Worker dsb #0xf 883*9880d681SAndroid Build Coastguard Worker dsb #0xe 884*9880d681SAndroid Build Coastguard Worker dsb #0xd 885*9880d681SAndroid Build Coastguard Worker dsb #0xc 886*9880d681SAndroid Build Coastguard Worker dsb #0xb 887*9880d681SAndroid Build Coastguard Worker dsb #0xa 888*9880d681SAndroid Build Coastguard Worker dsb #0x9 889*9880d681SAndroid Build Coastguard Worker dsb #0x8 890*9880d681SAndroid Build Coastguard Worker dsb #0x7 891*9880d681SAndroid Build Coastguard Worker dsb #0x6 892*9880d681SAndroid Build Coastguard Worker dsb #0x5 893*9880d681SAndroid Build Coastguard Worker dsb #0x4 894*9880d681SAndroid Build Coastguard Worker dsb #0x3 895*9880d681SAndroid Build Coastguard Worker dsb #0x2 896*9880d681SAndroid Build Coastguard Worker dsb #0x1 897*9880d681SAndroid Build Coastguard Worker dsb #0x0 898*9880d681SAndroid Build Coastguard Worker 899*9880d681SAndroid Build Coastguard Worker dsb 8 900*9880d681SAndroid Build Coastguard Worker dsb 7 901*9880d681SAndroid Build Coastguard Worker 902*9880d681SAndroid Build Coastguard Worker dsb sy 903*9880d681SAndroid Build Coastguard Worker dsb st 904*9880d681SAndroid Build Coastguard Worker dsb sh 905*9880d681SAndroid Build Coastguard Worker dsb ish 906*9880d681SAndroid Build Coastguard Worker dsb shst 907*9880d681SAndroid Build Coastguard Worker dsb ishst 908*9880d681SAndroid Build Coastguard Worker dsb un 909*9880d681SAndroid Build Coastguard Worker dsb nsh 910*9880d681SAndroid Build Coastguard Worker dsb unst 911*9880d681SAndroid Build Coastguard Worker dsb nshst 912*9880d681SAndroid Build Coastguard Worker dsb osh 913*9880d681SAndroid Build Coastguard Worker dsb oshst 914*9880d681SAndroid Build Coastguard Worker dsb 915*9880d681SAndroid Build Coastguard Worker 916*9880d681SAndroid Build Coastguard Worker@ CHECK: dsb sy @ encoding: [0x4f,0xf0,0x7f,0xf5] 917*9880d681SAndroid Build Coastguard Worker@ CHECK: dsb st @ encoding: [0x4e,0xf0,0x7f,0xf5] 918*9880d681SAndroid Build Coastguard Worker@ CHECK: dsb #0xd @ encoding: [0x4d,0xf0,0x7f,0xf5] 919*9880d681SAndroid Build Coastguard Worker@ CHECK: dsb #0xc @ encoding: [0x4c,0xf0,0x7f,0xf5] 920*9880d681SAndroid Build Coastguard Worker@ CHECK: dsb ish @ encoding: [0x4b,0xf0,0x7f,0xf5] 921*9880d681SAndroid Build Coastguard Worker@ CHECK: dsb ishst @ encoding: [0x4a,0xf0,0x7f,0xf5] 922*9880d681SAndroid Build Coastguard Worker@ CHECK: dsb #0x9 @ encoding: [0x49,0xf0,0x7f,0xf5] 923*9880d681SAndroid Build Coastguard Worker@ CHECK: dsb #0x8 @ encoding: [0x48,0xf0,0x7f,0xf5] 924*9880d681SAndroid Build Coastguard Worker@ CHECK: dsb nsh @ encoding: [0x47,0xf0,0x7f,0xf5] 925*9880d681SAndroid Build Coastguard Worker@ CHECK: dsb nshst @ encoding: [0x46,0xf0,0x7f,0xf5] 926*9880d681SAndroid Build Coastguard Worker@ CHECK: dsb #0x5 @ encoding: [0x45,0xf0,0x7f,0xf5] 927*9880d681SAndroid Build Coastguard Worker@ CHECK: dsb #0x4 @ encoding: [0x44,0xf0,0x7f,0xf5] 928*9880d681SAndroid Build Coastguard Worker@ CHECK: dsb osh @ encoding: [0x43,0xf0,0x7f,0xf5] 929*9880d681SAndroid Build Coastguard Worker@ CHECK: dsb oshst @ encoding: [0x42,0xf0,0x7f,0xf5] 930*9880d681SAndroid Build Coastguard Worker@ CHECK: dsb #0x1 @ encoding: [0x41,0xf0,0x7f,0xf5] 931*9880d681SAndroid Build Coastguard Worker@ CHECK: dsb #0x0 @ encoding: [0x40,0xf0,0x7f,0xf5] 932*9880d681SAndroid Build Coastguard Worker 933*9880d681SAndroid Build Coastguard Worker@ CHECK: dsb #0x8 @ encoding: [0x48,0xf0,0x7f,0xf5] 934*9880d681SAndroid Build Coastguard Worker@ CHECK: dsb nsh @ encoding: [0x47,0xf0,0x7f,0xf5] 935*9880d681SAndroid Build Coastguard Worker 936*9880d681SAndroid Build Coastguard Worker@ CHECK: dsb sy @ encoding: [0x4f,0xf0,0x7f,0xf5] 937*9880d681SAndroid Build Coastguard Worker@ CHECK: dsb st @ encoding: [0x4e,0xf0,0x7f,0xf5] 938*9880d681SAndroid Build Coastguard Worker@ CHECK: dsb ish @ encoding: [0x4b,0xf0,0x7f,0xf5] 939*9880d681SAndroid Build Coastguard Worker@ CHECK: dsb ish @ encoding: [0x4b,0xf0,0x7f,0xf5] 940*9880d681SAndroid Build Coastguard Worker@ CHECK: dsb ishst @ encoding: [0x4a,0xf0,0x7f,0xf5] 941*9880d681SAndroid Build Coastguard Worker@ CHECK: dsb ishst @ encoding: [0x4a,0xf0,0x7f,0xf5] 942*9880d681SAndroid Build Coastguard Worker@ CHECK: dsb nsh @ encoding: [0x47,0xf0,0x7f,0xf5] 943*9880d681SAndroid Build Coastguard Worker@ CHECK: dsb nsh @ encoding: [0x47,0xf0,0x7f,0xf5] 944*9880d681SAndroid Build Coastguard Worker@ CHECK: dsb nshst @ encoding: [0x46,0xf0,0x7f,0xf5] 945*9880d681SAndroid Build Coastguard Worker@ CHECK: dsb nshst @ encoding: [0x46,0xf0,0x7f,0xf5] 946*9880d681SAndroid Build Coastguard Worker@ CHECK: dsb osh @ encoding: [0x43,0xf0,0x7f,0xf5] 947*9880d681SAndroid Build Coastguard Worker@ CHECK: dsb oshst @ encoding: [0x42,0xf0,0x7f,0xf5] 948*9880d681SAndroid Build Coastguard Worker@ CHECK: dsb sy @ encoding: [0x4f,0xf0,0x7f,0xf5] 949*9880d681SAndroid Build Coastguard Worker 950*9880d681SAndroid Build Coastguard Worker@ With capitals 951*9880d681SAndroid Build Coastguard Worker dsb SY 952*9880d681SAndroid Build Coastguard Worker dsb OSHST 953*9880d681SAndroid Build Coastguard Worker 954*9880d681SAndroid Build Coastguard Worker@ CHECK: dsb sy @ encoding: [0x4f,0xf0,0x7f,0xf5] 955*9880d681SAndroid Build Coastguard Worker@ CHECK: dsb oshst @ encoding: [0x42,0xf0,0x7f,0xf5] 956*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 957*9880d681SAndroid Build Coastguard Worker@ EOR 958*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 959*9880d681SAndroid Build Coastguard Worker eor r4, r5, #0xf000 960*9880d681SAndroid Build Coastguard Worker eor r4, r5, $0xf000 961*9880d681SAndroid Build Coastguard Worker eor r4, r5, 0xf000 962*9880d681SAndroid Build Coastguard Worker eor r7, r8, #(0xff << 16) 963*9880d681SAndroid Build Coastguard Worker eor r7, r8, #-2147483638 964*9880d681SAndroid Build Coastguard Worker eor r7, r8, #42, #2 965*9880d681SAndroid Build Coastguard Worker eor r7, r8, #40, #2 966*9880d681SAndroid Build Coastguard Worker eor r7, r8, $40, $2 967*9880d681SAndroid Build Coastguard Worker eor r7, r8, 40, 2 968*9880d681SAndroid Build Coastguard Worker eor r7, r8, (20 * 2), (1 << 1) 969*9880d681SAndroid Build Coastguard Worker eor r4, r5, r6 970*9880d681SAndroid Build Coastguard Worker eor r4, r5, r6, lsl #5 971*9880d681SAndroid Build Coastguard Worker eor r4, r5, r6, lsr #5 972*9880d681SAndroid Build Coastguard Worker eor r4, r5, r6, lsr #5 973*9880d681SAndroid Build Coastguard Worker eor r4, r5, r6, asr #5 974*9880d681SAndroid Build Coastguard Worker eor r4, r5, r6, ror #5 975*9880d681SAndroid Build Coastguard Worker eor r6, r7, r8, lsl r9 976*9880d681SAndroid Build Coastguard Worker eor r6, r7, r8, lsr r9 977*9880d681SAndroid Build Coastguard Worker eor r6, r7, r8, asr r9 978*9880d681SAndroid Build Coastguard Worker eor r6, r7, r8, ror r9 979*9880d681SAndroid Build Coastguard Worker eor r4, r5, r6, rrx 980*9880d681SAndroid Build Coastguard Worker 981*9880d681SAndroid Build Coastguard Worker @ destination register is optional 982*9880d681SAndroid Build Coastguard Worker eor r5, #0xf000 983*9880d681SAndroid Build Coastguard Worker eor r5, $0xf000 984*9880d681SAndroid Build Coastguard Worker eor r5, 0xf000 985*9880d681SAndroid Build Coastguard Worker eor r7, #(0xff << 16) 986*9880d681SAndroid Build Coastguard Worker eor r7, #-2147483638 987*9880d681SAndroid Build Coastguard Worker eor r7, #42, #2 988*9880d681SAndroid Build Coastguard Worker eor r7, #40, #2 989*9880d681SAndroid Build Coastguard Worker eor r7, $40, $2 990*9880d681SAndroid Build Coastguard Worker eor r7, 40, 2 991*9880d681SAndroid Build Coastguard Worker eor r7, (20 * 2), (1 << 1) 992*9880d681SAndroid Build Coastguard Worker eor r4, r5 993*9880d681SAndroid Build Coastguard Worker eor r4, r5, lsl #5 994*9880d681SAndroid Build Coastguard Worker eor r4, r5, lsr #5 995*9880d681SAndroid Build Coastguard Worker eor r4, r5, lsr #5 996*9880d681SAndroid Build Coastguard Worker eor r4, r5, asr #5 997*9880d681SAndroid Build Coastguard Worker eor r4, r5, ror #5 998*9880d681SAndroid Build Coastguard Worker eor r6, r7, lsl r9 999*9880d681SAndroid Build Coastguard Worker eor r6, r7, lsr r9 1000*9880d681SAndroid Build Coastguard Worker eor r6, r7, asr r9 1001*9880d681SAndroid Build Coastguard Worker eor r6, r7, ror r9 1002*9880d681SAndroid Build Coastguard Worker eor r4, r5, rrx 1003*9880d681SAndroid Build Coastguard Worker 1004*9880d681SAndroid Build Coastguard Worker@ CHECK: eor r4, r5, #61440 @ encoding: [0x0f,0x4a,0x25,0xe2] 1005*9880d681SAndroid Build Coastguard Worker@ CHECK: eor r4, r5, #61440 @ encoding: [0x0f,0x4a,0x25,0xe2] 1006*9880d681SAndroid Build Coastguard Worker@ CHECK: eor r4, r5, #61440 @ encoding: [0x0f,0x4a,0x25,0xe2] 1007*9880d681SAndroid Build Coastguard Worker@ CHECK: eor r7, r8, #16711680 @ encoding: [0xff,0x78,0x28,0xe2] 1008*9880d681SAndroid Build Coastguard Worker@ CHECK: eor r7, r8, #-2147483638 @ encoding: [0x2a,0x71,0x28,0xe2] 1009*9880d681SAndroid Build Coastguard Worker@ CHECK: eor r7, r8, #-2147483638 @ encoding: [0x2a,0x71,0x28,0xe2] 1010*9880d681SAndroid Build Coastguard Worker@ CHECK: eor r7, r8, #40, #2 @ encoding: [0x28,0x71,0x28,0xe2] 1011*9880d681SAndroid Build Coastguard Worker@ CHECK: eor r7, r8, #40, #2 @ encoding: [0x28,0x71,0x28,0xe2] 1012*9880d681SAndroid Build Coastguard Worker@ CHECK: eor r7, r8, #40, #2 @ encoding: [0x28,0x71,0x28,0xe2] 1013*9880d681SAndroid Build Coastguard Worker@ CHECK: eor r7, r8, #40, #2 @ encoding: [0x28,0x71,0x28,0xe2] 1014*9880d681SAndroid Build Coastguard Worker@ CHECK: eor r4, r5, r6 @ encoding: [0x06,0x40,0x25,0xe0] 1015*9880d681SAndroid Build Coastguard Worker@ CHECK: eor r4, r5, r6, lsl #5 @ encoding: [0x86,0x42,0x25,0xe0] 1016*9880d681SAndroid Build Coastguard Worker@ CHECK: eor r4, r5, r6, lsr #5 @ encoding: [0xa6,0x42,0x25,0xe0] 1017*9880d681SAndroid Build Coastguard Worker@ CHECK: eor r4, r5, r6, lsr #5 @ encoding: [0xa6,0x42,0x25,0xe0] 1018*9880d681SAndroid Build Coastguard Worker@ CHECK: eor r4, r5, r6, asr #5 @ encoding: [0xc6,0x42,0x25,0xe0] 1019*9880d681SAndroid Build Coastguard Worker@ CHECK: eor r4, r5, r6, ror #5 @ encoding: [0xe6,0x42,0x25,0xe0] 1020*9880d681SAndroid Build Coastguard Worker@ CHECK: eor r6, r7, r8, lsl r9 @ encoding: [0x18,0x69,0x27,0xe0] 1021*9880d681SAndroid Build Coastguard Worker@ CHECK: eor r6, r7, r8, lsr r9 @ encoding: [0x38,0x69,0x27,0xe0] 1022*9880d681SAndroid Build Coastguard Worker@ CHECK: eor r6, r7, r8, asr r9 @ encoding: [0x58,0x69,0x27,0xe0] 1023*9880d681SAndroid Build Coastguard Worker@ CHECK: eor r6, r7, r8, ror r9 @ encoding: [0x78,0x69,0x27,0xe0] 1024*9880d681SAndroid Build Coastguard Worker@ CHECK: eor r4, r5, r6, rrx @ encoding: [0x66,0x40,0x25,0xe0] 1025*9880d681SAndroid Build Coastguard Worker 1026*9880d681SAndroid Build Coastguard Worker 1027*9880d681SAndroid Build Coastguard Worker@ CHECK: eor r5, r5, #61440 @ encoding: [0x0f,0x5a,0x25,0xe2] 1028*9880d681SAndroid Build Coastguard Worker@ CHECK: eor r5, r5, #61440 @ encoding: [0x0f,0x5a,0x25,0xe2] 1029*9880d681SAndroid Build Coastguard Worker@ CHECK: eor r5, r5, #61440 @ encoding: [0x0f,0x5a,0x25,0xe2] 1030*9880d681SAndroid Build Coastguard Worker@ CHECK: eor r7, r7, #16711680 @ encoding: [0xff,0x78,0x27,0xe2] 1031*9880d681SAndroid Build Coastguard Worker@ CHECK: eor r7, r7, #-2147483638 @ encoding: [0x2a,0x71,0x27,0xe2] 1032*9880d681SAndroid Build Coastguard Worker@ CHECK: eor r7, r7, #-2147483638 @ encoding: [0x2a,0x71,0x27,0xe2] 1033*9880d681SAndroid Build Coastguard Worker@ CHECK: eor r7, r7, #40, #2 @ encoding: [0x28,0x71,0x27,0xe2] 1034*9880d681SAndroid Build Coastguard Worker@ CHECK: eor r7, r7, #40, #2 @ encoding: [0x28,0x71,0x27,0xe2] 1035*9880d681SAndroid Build Coastguard Worker@ CHECK: eor r7, r7, #40, #2 @ encoding: [0x28,0x71,0x27,0xe2] 1036*9880d681SAndroid Build Coastguard Worker@ CHECK: eor r7, r7, #40, #2 @ encoding: [0x28,0x71,0x27,0xe2] 1037*9880d681SAndroid Build Coastguard Worker@ CHECK: eor r4, r4, r5 @ encoding: [0x05,0x40,0x24,0xe0] 1038*9880d681SAndroid Build Coastguard Worker@ CHECK: eor r4, r4, r5, lsl #5 @ encoding: [0x85,0x42,0x24,0xe0] 1039*9880d681SAndroid Build Coastguard Worker@ CHECK: eor r4, r4, r5, lsr #5 @ encoding: [0xa5,0x42,0x24,0xe0] 1040*9880d681SAndroid Build Coastguard Worker@ CHECK: eor r4, r4, r5, lsr #5 @ encoding: [0xa5,0x42,0x24,0xe0] 1041*9880d681SAndroid Build Coastguard Worker@ CHECK: eor r4, r4, r5, asr #5 @ encoding: [0xc5,0x42,0x24,0xe0] 1042*9880d681SAndroid Build Coastguard Worker@ CHECK: eor r4, r4, r5, ror #5 @ encoding: [0xe5,0x42,0x24,0xe0] 1043*9880d681SAndroid Build Coastguard Worker@ CHECK: eor r6, r6, r7, lsl r9 @ encoding: [0x17,0x69,0x26,0xe0] 1044*9880d681SAndroid Build Coastguard Worker@ CHECK: eor r6, r6, r7, lsr r9 @ encoding: [0x37,0x69,0x26,0xe0] 1045*9880d681SAndroid Build Coastguard Worker@ CHECK: eor r6, r6, r7, asr r9 @ encoding: [0x57,0x69,0x26,0xe0] 1046*9880d681SAndroid Build Coastguard Worker@ CHECK: eor r6, r6, r7, ror r9 @ encoding: [0x77,0x69,0x26,0xe0] 1047*9880d681SAndroid Build Coastguard Worker@ CHECK: eor r4, r4, r5, rrx @ encoding: [0x65,0x40,0x24,0xe0] 1048*9880d681SAndroid Build Coastguard Worker 1049*9880d681SAndroid Build Coastguard Worker @ Test right shift by 32, which is encoded as 0 1050*9880d681SAndroid Build Coastguard Worker eor r3, r1, r2, lsr #32 1051*9880d681SAndroid Build Coastguard Worker eor r3, r1, r2, asr #32 1052*9880d681SAndroid Build Coastguard Worker@ CHECK: eor r3, r1, r2, lsr #32 @ encoding: [0x22,0x30,0x21,0xe0] 1053*9880d681SAndroid Build Coastguard Worker@ CHECK: eor r3, r1, r2, asr #32 @ encoding: [0x42,0x30,0x21,0xe0] 1054*9880d681SAndroid Build Coastguard Worker 1055*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 1056*9880d681SAndroid Build Coastguard Worker@ ISB 1057*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 1058*9880d681SAndroid Build Coastguard Worker isb sy 1059*9880d681SAndroid Build Coastguard Worker isb 1060*9880d681SAndroid Build Coastguard Worker isb #15 1061*9880d681SAndroid Build Coastguard Worker isb #1 1062*9880d681SAndroid Build Coastguard Worker 1063*9880d681SAndroid Build Coastguard Worker@ CHECK: isb sy @ encoding: [0x6f,0xf0,0x7f,0xf5] 1064*9880d681SAndroid Build Coastguard Worker@ CHECK: isb sy @ encoding: [0x6f,0xf0,0x7f,0xf5] 1065*9880d681SAndroid Build Coastguard Worker@ CHECK: isb sy @ encoding: [0x6f,0xf0,0x7f,0xf5] 1066*9880d681SAndroid Build Coastguard Worker@ CHECK: isb #0x1 @ encoding: [0x61,0xf0,0x7f,0xf5] 1067*9880d681SAndroid Build Coastguard Worker 1068*9880d681SAndroid Build Coastguard Worker 1069*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 1070*9880d681SAndroid Build Coastguard Worker@ LDC{L}/LDC2{L} 1071*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 1072*9880d681SAndroid Build Coastguard Worker ldc2 p0, c8, [r1, #4] 1073*9880d681SAndroid Build Coastguard Worker ldc2 p1, c7, [r2] 1074*9880d681SAndroid Build Coastguard Worker ldc2 p2, c6, [r3, #-224] 1075*9880d681SAndroid Build Coastguard Worker ldc2 p3, c5, [r4, #-120]! 1076*9880d681SAndroid Build Coastguard Worker ldc2 p4, c4, [r5], #16 1077*9880d681SAndroid Build Coastguard Worker ldc2 p5, c3, [r6], #-72 1078*9880d681SAndroid Build Coastguard Worker ldc2l p6, c2, [r7, #4] 1079*9880d681SAndroid Build Coastguard Worker ldc2l p7, c1, [r8] 1080*9880d681SAndroid Build Coastguard Worker ldc2l p8, c0, [r9, #-224] 1081*9880d681SAndroid Build Coastguard Worker ldc2l p9, c1, [r10, #-120]! 1082*9880d681SAndroid Build Coastguard Worker ldc2l p0, c2, [r11], #16 1083*9880d681SAndroid Build Coastguard Worker ldc2l p1, c3, [r12], #-72 1084*9880d681SAndroid Build Coastguard Worker 1085*9880d681SAndroid Build Coastguard Worker ldc p12, c4, [r0, #4] 1086*9880d681SAndroid Build Coastguard Worker ldc p13, c5, [r1] 1087*9880d681SAndroid Build Coastguard Worker ldc p14, c6, [r2, #-224] 1088*9880d681SAndroid Build Coastguard Worker ldc p15, c7, [r3, #-120]! 1089*9880d681SAndroid Build Coastguard Worker ldc p5, c8, [r4], #16 1090*9880d681SAndroid Build Coastguard Worker ldc p4, c9, [r5], #-72 1091*9880d681SAndroid Build Coastguard Worker ldcl p3, c10, [r6, #4] 1092*9880d681SAndroid Build Coastguard Worker ldcl p2, c11, [r7] 1093*9880d681SAndroid Build Coastguard Worker ldcl p1, c12, [r8, #-224] 1094*9880d681SAndroid Build Coastguard Worker ldcl p0, c13, [r9, #-120]! 1095*9880d681SAndroid Build Coastguard Worker ldcl p6, c14, [r10], #16 1096*9880d681SAndroid Build Coastguard Worker ldcl p7, c15, [r11], #-72 1097*9880d681SAndroid Build Coastguard Worker 1098*9880d681SAndroid Build Coastguard Worker ldclo p12, c4, [r0, #4] 1099*9880d681SAndroid Build Coastguard Worker ldchi p13, c5, [r1] 1100*9880d681SAndroid Build Coastguard Worker ldccs p14, c6, [r2, #-224] 1101*9880d681SAndroid Build Coastguard Worker ldccc p15, c7, [r3, #-120]! 1102*9880d681SAndroid Build Coastguard Worker ldceq p5, c8, [r4], #16 1103*9880d681SAndroid Build Coastguard Worker ldcgt p4, c9, [r5], #-72 1104*9880d681SAndroid Build Coastguard Worker ldcllt p3, c10, [r6, #4] 1105*9880d681SAndroid Build Coastguard Worker ldclge p2, c11, [r7] 1106*9880d681SAndroid Build Coastguard Worker ldclle p1, c12, [r8, #-224] 1107*9880d681SAndroid Build Coastguard Worker ldclne p0, c13, [r9, #-120]! 1108*9880d681SAndroid Build Coastguard Worker ldcleq p6, c14, [r10], #16 1109*9880d681SAndroid Build Coastguard Worker ldclhi p7, c15, [r11], #-72 1110*9880d681SAndroid Build Coastguard Worker 1111*9880d681SAndroid Build Coastguard Worker ldc2 p2, c8, [r1], { 25 } 1112*9880d681SAndroid Build Coastguard Worker 1113*9880d681SAndroid Build Coastguard Worker@ CHECK: ldc2 p0, c8, [r1, #4] @ encoding: [0x01,0x80,0x91,0xfd] 1114*9880d681SAndroid Build Coastguard Worker@ CHECK: ldc2 p1, c7, [r2] @ encoding: [0x00,0x71,0x92,0xfd] 1115*9880d681SAndroid Build Coastguard Worker@ CHECK: ldc2 p2, c6, [r3, #-224] @ encoding: [0x38,0x62,0x13,0xfd] 1116*9880d681SAndroid Build Coastguard Worker@ CHECK: ldc2 p3, c5, [r4, #-120]! @ encoding: [0x1e,0x53,0x34,0xfd] 1117*9880d681SAndroid Build Coastguard Worker@ CHECK: ldc2 p4, c4, [r5], #16 @ encoding: [0x04,0x44,0xb5,0xfc] 1118*9880d681SAndroid Build Coastguard Worker@ CHECK: ldc2 p5, c3, [r6], #-72 @ encoding: [0x12,0x35,0x36,0xfc] 1119*9880d681SAndroid Build Coastguard Worker@ CHECK: ldc2l p6, c2, [r7, #4] @ encoding: [0x01,0x26,0xd7,0xfd] 1120*9880d681SAndroid Build Coastguard Worker@ CHECK: ldc2l p7, c1, [r8] @ encoding: [0x00,0x17,0xd8,0xfd] 1121*9880d681SAndroid Build Coastguard Worker@ CHECK: ldc2l p8, c0, [r9, #-224] @ encoding: [0x38,0x08,0x59,0xfd] 1122*9880d681SAndroid Build Coastguard Worker@ CHECK: ldc2l p9, c1, [r10, #-120]! @ encoding: [0x1e,0x19,0x7a,0xfd] 1123*9880d681SAndroid Build Coastguard Worker@ CHECK: ldc2l p0, c2, [r11], #16 @ encoding: [0x04,0x20,0xfb,0xfc] 1124*9880d681SAndroid Build Coastguard Worker@ CHECK: ldc2l p1, c3, [r12], #-72 @ encoding: [0x12,0x31,0x7c,0xfc] 1125*9880d681SAndroid Build Coastguard Worker 1126*9880d681SAndroid Build Coastguard Worker@ CHECK: ldc p12, c4, [r0, #4] @ encoding: [0x01,0x4c,0x90,0xed] 1127*9880d681SAndroid Build Coastguard Worker@ CHECK: ldc p13, c5, [r1] @ encoding: [0x00,0x5d,0x91,0xed] 1128*9880d681SAndroid Build Coastguard Worker@ CHECK: ldc p14, c6, [r2, #-224] @ encoding: [0x38,0x6e,0x12,0xed] 1129*9880d681SAndroid Build Coastguard Worker@ CHECK: ldc p15, c7, [r3, #-120]! @ encoding: [0x1e,0x7f,0x33,0xed] 1130*9880d681SAndroid Build Coastguard Worker@ CHECK: ldc p5, c8, [r4], #16 @ encoding: [0x04,0x85,0xb4,0xec] 1131*9880d681SAndroid Build Coastguard Worker@ CHECK: ldc p4, c9, [r5], #-72 @ encoding: [0x12,0x94,0x35,0xec] 1132*9880d681SAndroid Build Coastguard Worker@ CHECK: ldcl p3, c10, [r6, #4] @ encoding: [0x01,0xa3,0xd6,0xed] 1133*9880d681SAndroid Build Coastguard Worker@ CHECK: ldcl p2, c11, [r7] @ encoding: [0x00,0xb2,0xd7,0xed] 1134*9880d681SAndroid Build Coastguard Worker@ CHECK: ldcl p1, c12, [r8, #-224] @ encoding: [0x38,0xc1,0x58,0xed] 1135*9880d681SAndroid Build Coastguard Worker@ CHECK: ldcl p0, c13, [r9, #-120]! @ encoding: [0x1e,0xd0,0x79,0xed] 1136*9880d681SAndroid Build Coastguard Worker@ CHECK: ldcl p6, c14, [r10], #16 @ encoding: [0x04,0xe6,0xfa,0xec] 1137*9880d681SAndroid Build Coastguard Worker@ CHECK: ldcl p7, c15, [r11], #-72 @ encoding: [0x12,0xf7,0x7b,0xec] 1138*9880d681SAndroid Build Coastguard Worker 1139*9880d681SAndroid Build Coastguard Worker@ CHECK: ldclo p12, c4, [r0, #4] @ encoding: [0x01,0x4c,0x90,0x3d] 1140*9880d681SAndroid Build Coastguard Worker@ CHECK: ldchi p13, c5, [r1] @ encoding: [0x00,0x5d,0x91,0x8d] 1141*9880d681SAndroid Build Coastguard Worker@ CHECK: ldchs p14, c6, [r2, #-224] @ encoding: [0x38,0x6e,0x12,0x2d] 1142*9880d681SAndroid Build Coastguard Worker@ CHECK: ldclo p15, c7, [r3, #-120]! @ encoding: [0x1e,0x7f,0x33,0x3d] 1143*9880d681SAndroid Build Coastguard Worker@ CHECK: ldceq p5, c8, [r4], #16 @ encoding: [0x04,0x85,0xb4,0x0c] 1144*9880d681SAndroid Build Coastguard Worker@ CHECK: ldcgt p4, c9, [r5], #-72 @ encoding: [0x12,0x94,0x35,0xcc] 1145*9880d681SAndroid Build Coastguard Worker@ CHECK: ldcllt p3, c10, [r6, #4] @ encoding: [0x01,0xa3,0xd6,0xbd] 1146*9880d681SAndroid Build Coastguard Worker@ CHECK: ldclge p2, c11, [r7] @ encoding: [0x00,0xb2,0xd7,0xad] 1147*9880d681SAndroid Build Coastguard Worker@ CHECK: ldclle p1, c12, [r8, #-224] @ encoding: [0x38,0xc1,0x58,0xdd] 1148*9880d681SAndroid Build Coastguard Worker@ CHECK: ldclne p0, c13, [r9, #-120]! @ encoding: [0x1e,0xd0,0x79,0x1d] 1149*9880d681SAndroid Build Coastguard Worker@ CHECK: ldcleq p6, c14, [r10], #16 @ encoding: [0x04,0xe6,0xfa,0x0c] 1150*9880d681SAndroid Build Coastguard Worker@ CHECK: ldclhi p7, c15, [r11], #-72 @ encoding: [0x12,0xf7,0x7b,0x8c] 1151*9880d681SAndroid Build Coastguard Worker 1152*9880d681SAndroid Build Coastguard Worker@ CHECK: ldc2 p2, c8, [r1], {25} @ encoding: [0x19,0x82,0x91,0xfc] 1153*9880d681SAndroid Build Coastguard Worker 1154*9880d681SAndroid Build Coastguard Worker 1155*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 1156*9880d681SAndroid Build Coastguard Worker@ LDM* 1157*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 1158*9880d681SAndroid Build Coastguard Worker ldm r2, {r1,r3-r6,sp} 1159*9880d681SAndroid Build Coastguard Worker ldmia r2, {r1,r3-r6,sp} 1160*9880d681SAndroid Build Coastguard Worker ldmib r2, {r1,r3-r6,sp} 1161*9880d681SAndroid Build Coastguard Worker ldmda r2, {r1,r3-r6,sp} 1162*9880d681SAndroid Build Coastguard Worker ldmdb r2, {r1,r3-r6,sp} 1163*9880d681SAndroid Build Coastguard Worker ldmfd r2, {r1,r3-r6,sp} 1164*9880d681SAndroid Build Coastguard Worker 1165*9880d681SAndroid Build Coastguard Worker @ with update 1166*9880d681SAndroid Build Coastguard Worker ldm r2!, {r1,r3-r6,sp} 1167*9880d681SAndroid Build Coastguard Worker ldmib r2!, {r1,r3-r6,sp} 1168*9880d681SAndroid Build Coastguard Worker ldmda r2!, {r1,r3-r6,sp} 1169*9880d681SAndroid Build Coastguard Worker ldmdb r2!, {r1,r3-r6,sp} 1170*9880d681SAndroid Build Coastguard Worker 1171*9880d681SAndroid Build Coastguard Worker @ system version 1172*9880d681SAndroid Build Coastguard Worker ldm r0, {r0, r2, lr}^ 1173*9880d681SAndroid Build Coastguard Worker ldm sp!, {r0-r3, pc}^ 1174*9880d681SAndroid Build Coastguard Worker 1175*9880d681SAndroid Build Coastguard Worker@ CHECK: ldm r2, {r1, r3, r4, r5, r6, sp} @ encoding: [0x7a,0x20,0x92,0xe8] 1176*9880d681SAndroid Build Coastguard Worker@ CHECK: ldm r2, {r1, r3, r4, r5, r6, sp} @ encoding: [0x7a,0x20,0x92,0xe8] 1177*9880d681SAndroid Build Coastguard Worker@ CHECK: ldmib r2, {r1, r3, r4, r5, r6, sp} @ encoding: [0x7a,0x20,0x92,0xe9] 1178*9880d681SAndroid Build Coastguard Worker@ CHECK: ldmda r2, {r1, r3, r4, r5, r6, sp} @ encoding: [0x7a,0x20,0x12,0xe8] 1179*9880d681SAndroid Build Coastguard Worker@ CHECK: ldmdb r2, {r1, r3, r4, r5, r6, sp} @ encoding: [0x7a,0x20,0x12,0xe9] 1180*9880d681SAndroid Build Coastguard Worker@ CHECK: ldm r2, {r1, r3, r4, r5, r6, sp} @ encoding: [0x7a,0x20,0x92,0xe8] 1181*9880d681SAndroid Build Coastguard Worker 1182*9880d681SAndroid Build Coastguard Worker@ CHECK: ldm r2!, {r1, r3, r4, r5, r6, sp} @ encoding: [0x7a,0x20,0xb2,0xe8] 1183*9880d681SAndroid Build Coastguard Worker@ CHECK: ldmib r2!, {r1, r3, r4, r5, r6, sp} @ encoding: [0x7a,0x20,0xb2,0xe9] 1184*9880d681SAndroid Build Coastguard Worker@ CHECK: ldmda r2!, {r1, r3, r4, r5, r6, sp} @ encoding: [0x7a,0x20,0x32,0xe8] 1185*9880d681SAndroid Build Coastguard Worker@ CHECK: ldmdb r2!, {r1, r3, r4, r5, r6, sp} @ encoding: [0x7a,0x20,0x32,0xe9] 1186*9880d681SAndroid Build Coastguard Worker@ CHECK: ldm r0, {r0, r2, lr} ^ @ encoding: [0x05,0x40,0xd0,0xe8] 1187*9880d681SAndroid Build Coastguard Worker@ CHECK: ldm sp!, {r0, r1, r2, r3, pc} ^ @ encoding: [0x0f,0x80,0xfd,0xe8] 1188*9880d681SAndroid Build Coastguard Worker 1189*9880d681SAndroid Build Coastguard Worker 1190*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 1191*9880d681SAndroid Build Coastguard Worker@ LDREX/LDREXB/LDREXH/LDREXD 1192*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 1193*9880d681SAndroid Build Coastguard Worker ldrexb r3, [r4] 1194*9880d681SAndroid Build Coastguard Worker ldrexh r2, [r5] 1195*9880d681SAndroid Build Coastguard Worker ldrex r1, [r7] 1196*9880d681SAndroid Build Coastguard Worker ldrexd r6, r7, [r8] 1197*9880d681SAndroid Build Coastguard Worker 1198*9880d681SAndroid Build Coastguard Worker@ CHECK: ldrexb r3, [r4] @ encoding: [0x9f,0x3f,0xd4,0xe1] 1199*9880d681SAndroid Build Coastguard Worker@ CHECK: ldrexh r2, [r5] @ encoding: [0x9f,0x2f,0xf5,0xe1] 1200*9880d681SAndroid Build Coastguard Worker@ CHECK: ldrex r1, [r7] @ encoding: [0x9f,0x1f,0x97,0xe1] 1201*9880d681SAndroid Build Coastguard Worker@ CHECK: ldrexd r6, r7, [r8] @ encoding: [0x9f,0x6f,0xb8,0xe1] 1202*9880d681SAndroid Build Coastguard Worker 1203*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 1204*9880d681SAndroid Build Coastguard Worker@ LDRHT 1205*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 1206*9880d681SAndroid Build Coastguard Worker ldrhthi r8, [r11], #-0 1207*9880d681SAndroid Build Coastguard Worker ldrhthi r8, [r11], #0 1208*9880d681SAndroid Build Coastguard Worker 1209*9880d681SAndroid Build Coastguard Worker@ CHECK: ldrhthi r8, [r11], #-0 @ encoding: [0xb0,0x80,0x7b,0x80] 1210*9880d681SAndroid Build Coastguard Worker@ CHECK: ldrhthi r8, [r11], #0 @ encoding: [0xb0,0x80,0xfb,0x80] 1211*9880d681SAndroid Build Coastguard Worker 1212*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 1213*9880d681SAndroid Build Coastguard Worker@ LSL 1214*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 1215*9880d681SAndroid Build Coastguard Worker lsl r2, r4, #31 1216*9880d681SAndroid Build Coastguard Worker lsl r2, r4, #1 1217*9880d681SAndroid Build Coastguard Worker lsl r2, r4, #0 1218*9880d681SAndroid Build Coastguard Worker lsl r4, #1 1219*9880d681SAndroid Build Coastguard Worker 1220*9880d681SAndroid Build Coastguard Worker@ CHECK: lsl r2, r4, #31 @ encoding: [0x84,0x2f,0xa0,0xe1] 1221*9880d681SAndroid Build Coastguard Worker@ CHECK: lsl r2, r4, #1 @ encoding: [0x84,0x20,0xa0,0xe1] 1222*9880d681SAndroid Build Coastguard Worker@ CHECK: mov r2, r4 @ encoding: [0x04,0x20,0xa0,0xe1] 1223*9880d681SAndroid Build Coastguard Worker@ CHECK: lsl r4, r4, #1 @ encoding: [0x84,0x40,0xa0,0xe1] 1224*9880d681SAndroid Build Coastguard Worker 1225*9880d681SAndroid Build Coastguard Worker 1226*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 1227*9880d681SAndroid Build Coastguard Worker@ LSR 1228*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 1229*9880d681SAndroid Build Coastguard Worker lsr r2, r4, #32 1230*9880d681SAndroid Build Coastguard Worker lsr r2, r4, #2 1231*9880d681SAndroid Build Coastguard Worker lsr r2, r4, #0 1232*9880d681SAndroid Build Coastguard Worker lsr r4, #2 1233*9880d681SAndroid Build Coastguard Worker 1234*9880d681SAndroid Build Coastguard Worker@ CHECK: lsr r2, r4, #32 @ encoding: [0x24,0x20,0xa0,0xe1] 1235*9880d681SAndroid Build Coastguard Worker@ CHECK: lsr r2, r4, #2 @ encoding: [0x24,0x21,0xa0,0xe1] 1236*9880d681SAndroid Build Coastguard Worker@ CHECK: mov r2, r4 @ encoding: [0x04,0x20,0xa0,0xe1] 1237*9880d681SAndroid Build Coastguard Worker@ CHECK: lsr r4, r4, #2 @ encoding: [0x24,0x41,0xa0,0xe1] 1238*9880d681SAndroid Build Coastguard Worker 1239*9880d681SAndroid Build Coastguard Worker 1240*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 1241*9880d681SAndroid Build Coastguard Worker@ MCR/MCR2 1242*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 1243*9880d681SAndroid Build Coastguard Worker mcr p7, #1, r5, c1, c1, #4 1244*9880d681SAndroid Build Coastguard Worker mcr2 p7, #1, r5, c1, c1, #4 1245*9880d681SAndroid Build Coastguard Worker 1246*9880d681SAndroid Build Coastguard Worker@ CHECK: mcr p7, #1, r5, c1, c1, #4 @ encoding: [0x91,0x57,0x21,0xee] 1247*9880d681SAndroid Build Coastguard Worker@ CHECK: mcr2 p7, #1, r5, c1, c1, #4 @ encoding: [0x91,0x57,0x21,0xfe] 1248*9880d681SAndroid Build Coastguard Worker 1249*9880d681SAndroid Build Coastguard Worker mcrls p7, #1, r5, c1, c1, #4 1250*9880d681SAndroid Build Coastguard Worker@ CHECK: mcrls p7, #1, r5, c1, c1, #4 @ encoding: [0x91,0x57,0x21,0x9e] 1251*9880d681SAndroid Build Coastguard Worker 1252*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 1253*9880d681SAndroid Build Coastguard Worker@ MCRR/MCRR2 1254*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 1255*9880d681SAndroid Build Coastguard Worker mcrr p7, #15, r5, r4, c1 1256*9880d681SAndroid Build Coastguard Worker mcrr2 p7, #15, r5, r4, c1 1257*9880d681SAndroid Build Coastguard Worker 1258*9880d681SAndroid Build Coastguard Worker@ CHECK: mcrr p7, #15, r5, r4, c1 @ encoding: [0xf1,0x57,0x44,0xec] 1259*9880d681SAndroid Build Coastguard Worker@ CHECK: mcrr2 p7, #15, r5, r4, c1 @ encoding: [0xf1,0x57,0x44,0xfc] 1260*9880d681SAndroid Build Coastguard Worker 1261*9880d681SAndroid Build Coastguard Worker mcrrgt p7, #15, r5, r4, c1 1262*9880d681SAndroid Build Coastguard Worker@ CHECK: mcrrgt p7, #15, r5, r4, c1 @ encoding: [0xf1,0x57,0x44,0xcc] 1263*9880d681SAndroid Build Coastguard Worker 1264*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 1265*9880d681SAndroid Build Coastguard Worker@ MLA 1266*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 1267*9880d681SAndroid Build Coastguard Worker mla r1,r2,r3,r4 1268*9880d681SAndroid Build Coastguard Worker mlas r1,r2,r3,r4 1269*9880d681SAndroid Build Coastguard Worker mlane r1,r2,r3,r4 1270*9880d681SAndroid Build Coastguard Worker mlasne r1,r2,r3,r4 1271*9880d681SAndroid Build Coastguard Worker 1272*9880d681SAndroid Build Coastguard Worker@ CHECK: mla r1, r2, r3, r4 @ encoding: [0x92,0x43,0x21,0xe0] 1273*9880d681SAndroid Build Coastguard Worker@ CHECK: mlas r1, r2, r3, r4 @ encoding: [0x92,0x43,0x31,0xe0] 1274*9880d681SAndroid Build Coastguard Worker@ CHECK: mlane r1, r2, r3, r4 @ encoding: [0x92,0x43,0x21,0x10] 1275*9880d681SAndroid Build Coastguard Worker@ CHECK: mlasne r1, r2, r3, r4 @ encoding: [0x92,0x43,0x31,0x10] 1276*9880d681SAndroid Build Coastguard Worker 1277*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 1278*9880d681SAndroid Build Coastguard Worker@ MLS 1279*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 1280*9880d681SAndroid Build Coastguard Worker mls r2,r5,r6,r3 1281*9880d681SAndroid Build Coastguard Worker mlsne r2,r5,r6,r3 1282*9880d681SAndroid Build Coastguard Worker 1283*9880d681SAndroid Build Coastguard Worker@ CHECK: mls r2, r5, r6, r3 @ encoding: [0x95,0x36,0x62,0xe0] 1284*9880d681SAndroid Build Coastguard Worker@ CHECK: mlsne r2, r5, r6, r3 @ encoding: [0x95,0x36,0x62,0x10] 1285*9880d681SAndroid Build Coastguard Worker 1286*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 1287*9880d681SAndroid Build Coastguard Worker@ MOV (immediate) 1288*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 1289*9880d681SAndroid Build Coastguard Worker mov r3, #7 1290*9880d681SAndroid Build Coastguard Worker mov r3, $7 1291*9880d681SAndroid Build Coastguard Worker mov r3, 7 1292*9880d681SAndroid Build Coastguard Worker mov r3, -7 1293*9880d681SAndroid Build Coastguard Worker mov r4, #0xff0 1294*9880d681SAndroid Build Coastguard Worker mov r5, #0xff0000 1295*9880d681SAndroid Build Coastguard Worker mov r7, #42, #0 1296*9880d681SAndroid Build Coastguard Worker mov r7, #42, #10 1297*9880d681SAndroid Build Coastguard Worker mov r7, #(0xff << 16) 1298*9880d681SAndroid Build Coastguard Worker mov r7, #-2147483638 1299*9880d681SAndroid Build Coastguard Worker mov r7, #42, #2 1300*9880d681SAndroid Build Coastguard Worker mov pc, #42, #2 1301*9880d681SAndroid Build Coastguard Worker mov r7, #0, #2 1302*9880d681SAndroid Build Coastguard Worker mov r7, #40, #2 1303*9880d681SAndroid Build Coastguard Worker mov r7, $40, $2 1304*9880d681SAndroid Build Coastguard Worker mov r7, 40, 2 1305*9880d681SAndroid Build Coastguard Worker mov r7, (2 * 20), (1 << 1) 1306*9880d681SAndroid Build Coastguard Worker mov r7, #42, #30 1307*9880d681SAndroid Build Coastguard Worker mov r6, #0xffff 1308*9880d681SAndroid Build Coastguard Worker movw r9, #0xffff 1309*9880d681SAndroid Build Coastguard Worker movs r3, #7 1310*9880d681SAndroid Build Coastguard Worker moveq r4, #0xff0 1311*9880d681SAndroid Build Coastguard Worker movseq r5, #0xff0000 1312*9880d681SAndroid Build Coastguard Worker 1313*9880d681SAndroid Build Coastguard Worker@ CHECK: mov r3, #7 @ encoding: [0x07,0x30,0xa0,0xe3] 1314*9880d681SAndroid Build Coastguard Worker@ CHECK: mov r3, #7 @ encoding: [0x07,0x30,0xa0,0xe3] 1315*9880d681SAndroid Build Coastguard Worker@ CHECK: mov r3, #7 @ encoding: [0x07,0x30,0xa0,0xe3] 1316*9880d681SAndroid Build Coastguard Worker@ CHECK: mvn r3, #6 @ encoding: [0x06,0x30,0xe0,0xe3] 1317*9880d681SAndroid Build Coastguard Worker@ CHECK: mov r4, #4080 @ encoding: [0xff,0x4e,0xa0,0xe3] 1318*9880d681SAndroid Build Coastguard Worker@ CHECK: mov r5, #16711680 @ encoding: [0xff,0x58,0xa0,0xe3] 1319*9880d681SAndroid Build Coastguard Worker@ CHECK: mov r7, #42 @ encoding: [0x2a,0x70,0xa0,0xe3] 1320*9880d681SAndroid Build Coastguard Worker@ CHECK: mov r7, #176160768 @ encoding: [0x2a,0x75,0xa0,0xe3] 1321*9880d681SAndroid Build Coastguard Worker@ CHECK: mov r7, #16711680 @ encoding: [0xff,0x78,0xa0,0xe3] 1322*9880d681SAndroid Build Coastguard Worker@ CHECK: mov r7, #-2147483638 @ encoding: [0x2a,0x71,0xa0,0xe3] 1323*9880d681SAndroid Build Coastguard Worker@ CHECK: mov r7, #-2147483638 @ encoding: [0x2a,0x71,0xa0,0xe3] 1324*9880d681SAndroid Build Coastguard Worker@ CHECK: mov pc, #2147483658 @ encoding: [0x2a,0xf1,0xa0,0xe3] 1325*9880d681SAndroid Build Coastguard Worker@ CHECK: mov r7, #0, #2 @ encoding: [0x00,0x71,0xa0,0xe3] 1326*9880d681SAndroid Build Coastguard Worker@ CHECK: mov r7, #40, #2 @ encoding: [0x28,0x71,0xa0,0xe3] 1327*9880d681SAndroid Build Coastguard Worker@ CHECK: mov r7, #40, #2 @ encoding: [0x28,0x71,0xa0,0xe3] 1328*9880d681SAndroid Build Coastguard Worker@ CHECK: mov r7, #40, #2 @ encoding: [0x28,0x71,0xa0,0xe3] 1329*9880d681SAndroid Build Coastguard Worker@ CHECK: mov r7, #40, #2 @ encoding: [0x28,0x71,0xa0,0xe3] 1330*9880d681SAndroid Build Coastguard Worker@ CHECK: mov r7, #42, #30 @ encoding: [0x2a,0x7f,0xa0,0xe3] 1331*9880d681SAndroid Build Coastguard Worker@ CHECK: movw r6, #65535 @ encoding: [0xff,0x6f,0x0f,0xe3] 1332*9880d681SAndroid Build Coastguard Worker@ CHECK: movw r9, #65535 @ encoding: [0xff,0x9f,0x0f,0xe3] 1333*9880d681SAndroid Build Coastguard Worker@ CHECK: movs r3, #7 @ encoding: [0x07,0x30,0xb0,0xe3] 1334*9880d681SAndroid Build Coastguard Worker@ CHECK: moveq r4, #4080 @ encoding: [0xff,0x4e,0xa0,0x03] 1335*9880d681SAndroid Build Coastguard Worker@ CHECK: movseq r5, #16711680 @ encoding: [0xff,0x58,0xb0,0x03] 1336*9880d681SAndroid Build Coastguard Worker 1337*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 1338*9880d681SAndroid Build Coastguard Worker@ MOV (register) 1339*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 1340*9880d681SAndroid Build Coastguard Worker mov r2, r3 1341*9880d681SAndroid Build Coastguard Worker movs r2, r3 1342*9880d681SAndroid Build Coastguard Worker moveq r2, r3 1343*9880d681SAndroid Build Coastguard Worker movseq r2, r3 1344*9880d681SAndroid Build Coastguard Worker mov r12, r8, lsl #(2 - 2) 1345*9880d681SAndroid Build Coastguard Worker lsl r2, r3, #(2 - 2) 1346*9880d681SAndroid Build Coastguard Worker mov r12, r8, lsr #(2 - 2) 1347*9880d681SAndroid Build Coastguard Worker lsr r2, r3, #(2 - 2) 1348*9880d681SAndroid Build Coastguard Worker mov r12, r8, asr #(2 - 2) 1349*9880d681SAndroid Build Coastguard Worker asr r2, r3, #(2 - 2) 1350*9880d681SAndroid Build Coastguard Worker mov r12, r8, ror #(2 - 2) 1351*9880d681SAndroid Build Coastguard Worker ror r2, r3, #(2 - 2) 1352*9880d681SAndroid Build Coastguard Worker 1353*9880d681SAndroid Build Coastguard Worker@ CHECK: mov r2, r3 @ encoding: [0x03,0x20,0xa0,0xe1] 1354*9880d681SAndroid Build Coastguard Worker@ CHECK: movs r2, r3 @ encoding: [0x03,0x20,0xb0,0xe1] 1355*9880d681SAndroid Build Coastguard Worker@ CHECK: moveq r2, r3 @ encoding: [0x03,0x20,0xa0,0x01] 1356*9880d681SAndroid Build Coastguard Worker@ CHECK: movseq r2, r3 @ encoding: [0x03,0x20,0xb0,0x01] 1357*9880d681SAndroid Build Coastguard Worker@ CHECK: mov r12, r8 @ encoding: [0x08,0xc0,0xa0,0xe1] 1358*9880d681SAndroid Build Coastguard Worker@ CHECK: mov r2, r3 @ encoding: [0x03,0x20,0xa0,0xe1] 1359*9880d681SAndroid Build Coastguard Worker@ CHECK: mov r12, r8 @ encoding: [0x08,0xc0,0xa0,0xe1] 1360*9880d681SAndroid Build Coastguard Worker@ CHECK: mov r2, r3 @ encoding: [0x03,0x20,0xa0,0xe1] 1361*9880d681SAndroid Build Coastguard Worker@ CHECK: mov r12, r8 @ encoding: [0x08,0xc0,0xa0,0xe1] 1362*9880d681SAndroid Build Coastguard Worker@ CHECK: mov r2, r3 @ encoding: [0x03,0x20,0xa0,0xe1] 1363*9880d681SAndroid Build Coastguard Worker@ CHECK: mov r12, r8 @ encoding: [0x08,0xc0,0xa0,0xe1] 1364*9880d681SAndroid Build Coastguard Worker@ CHECK: mov r2, r3 @ encoding: [0x03,0x20,0xa0,0xe1] 1365*9880d681SAndroid Build Coastguard Worker 1366*9880d681SAndroid Build Coastguard Worker 1367*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 1368*9880d681SAndroid Build Coastguard Worker@ MOVT 1369*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 1370*9880d681SAndroid Build Coastguard Worker movt r3, #7 1371*9880d681SAndroid Build Coastguard Worker movt r6, #0xffff 1372*9880d681SAndroid Build Coastguard Worker movteq r4, #0xff0 1373*9880d681SAndroid Build Coastguard Worker 1374*9880d681SAndroid Build Coastguard Worker@ CHECK: movt r3, #7 @ encoding: [0x07,0x30,0x40,0xe3] 1375*9880d681SAndroid Build Coastguard Worker@ CHECK: movt r6, #65535 @ encoding: [0xff,0x6f,0x4f,0xe3] 1376*9880d681SAndroid Build Coastguard Worker@ CHECK: movteq r4, #4080 @ encoding: [0xf0,0x4f,0x40,0x03] 1377*9880d681SAndroid Build Coastguard Worker 1378*9880d681SAndroid Build Coastguard Worker 1379*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 1380*9880d681SAndroid Build Coastguard Worker@ MRC/MRC2 1381*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 1382*9880d681SAndroid Build Coastguard Worker mrc p14, #0, r1, c1, c2, #4 1383*9880d681SAndroid Build Coastguard Worker mrc p15, #7, apsr_nzcv, c15, c6, #6 1384*9880d681SAndroid Build Coastguard Worker mrc2 p14, #0, r1, c1, c2, #4 1385*9880d681SAndroid Build Coastguard Worker mrc2 p9, #7, apsr_nzcv, c15, c0, #1 1386*9880d681SAndroid Build Coastguard Worker 1387*9880d681SAndroid Build Coastguard Worker@ CHECK: mrc p14, #0, r1, c1, c2, #4 @ encoding: [0x92,0x1e,0x11,0xee] 1388*9880d681SAndroid Build Coastguard Worker@ CHECK: mrc p15, #7, apsr_nzcv, c15, c6, #6 @ encoding: [0xd6,0xff,0xff,0xee] 1389*9880d681SAndroid Build Coastguard Worker@ CHECK: mrc2 p14, #0, r1, c1, c2, #4 @ encoding: [0x92,0x1e,0x11,0xfe] 1390*9880d681SAndroid Build Coastguard Worker@ CHECK: mrc2 p9, #7, apsr_nzcv, c15, c0, #1 @ encoding: [0x30,0xf9,0xff,0xfe] 1391*9880d681SAndroid Build Coastguard Worker 1392*9880d681SAndroid Build Coastguard Worker mrceq p15, #7, apsr_nzcv, c15, c6, #6 1393*9880d681SAndroid Build Coastguard Worker@ CHECK: mrceq p15, #7, apsr_nzcv, c15, c6, #6 @ encoding: [0xd6,0xff,0xff,0x0e] 1394*9880d681SAndroid Build Coastguard Worker 1395*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 1396*9880d681SAndroid Build Coastguard Worker@ MRRC/MRRC2 1397*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 1398*9880d681SAndroid Build Coastguard Worker mrrc p7, #1, r5, r4, c1 1399*9880d681SAndroid Build Coastguard Worker mrrc2 p7, #1, r5, r4, c1 1400*9880d681SAndroid Build Coastguard Worker 1401*9880d681SAndroid Build Coastguard Worker@ CHECK: mrrc p7, #1, r5, r4, c1 @ encoding: [0x11,0x57,0x54,0xec] 1402*9880d681SAndroid Build Coastguard Worker@ CHECK: mrrc2 p7, #1, r5, r4, c1 @ encoding: [0x11,0x57,0x54,0xfc] 1403*9880d681SAndroid Build Coastguard Worker 1404*9880d681SAndroid Build Coastguard Worker mrrclo p7, #1, r5, r4, c1 1405*9880d681SAndroid Build Coastguard Worker@ CHECK: mrrclo p7, #1, r5, r4, c1 @ encoding: [0x11,0x57,0x54,0x3c] 1406*9880d681SAndroid Build Coastguard Worker 1407*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 1408*9880d681SAndroid Build Coastguard Worker@ MRS 1409*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 1410*9880d681SAndroid Build Coastguard Worker mrs r8, apsr 1411*9880d681SAndroid Build Coastguard Worker mrs r8, cpsr 1412*9880d681SAndroid Build Coastguard Worker mrs r8, spsr 1413*9880d681SAndroid Build Coastguard Worker@ CHECK: mrs r8, apsr @ encoding: [0x00,0x80,0x0f,0xe1] 1414*9880d681SAndroid Build Coastguard Worker@ CHECK: mrs r8, apsr @ encoding: [0x00,0x80,0x0f,0xe1] 1415*9880d681SAndroid Build Coastguard Worker@ CHECK: mrs r8, spsr @ encoding: [0x00,0x80,0x4f,0xe1] 1416*9880d681SAndroid Build Coastguard Worker 1417*9880d681SAndroid Build Coastguard Worker 1418*9880d681SAndroid Build Coastguard Worker 1419*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 1420*9880d681SAndroid Build Coastguard Worker@ MSR 1421*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 1422*9880d681SAndroid Build Coastguard Worker 1423*9880d681SAndroid Build Coastguard Worker msr apsr, #5 1424*9880d681SAndroid Build Coastguard Worker msr apsr, $5 1425*9880d681SAndroid Build Coastguard Worker msr apsr, 5 1426*9880d681SAndroid Build Coastguard Worker msr apsr_g, #5 1427*9880d681SAndroid Build Coastguard Worker msr apsr_nzcvq, #5 1428*9880d681SAndroid Build Coastguard Worker msr APSR_nzcvq, #5 1429*9880d681SAndroid Build Coastguard Worker msr apsr_nzcvqg, #5 1430*9880d681SAndroid Build Coastguard Worker msr cpsr_fc, #5 1431*9880d681SAndroid Build Coastguard Worker msr cpsr_c, #5 1432*9880d681SAndroid Build Coastguard Worker msr cpsr_x, #5 1433*9880d681SAndroid Build Coastguard Worker msr cpsr_fc, #5 1434*9880d681SAndroid Build Coastguard Worker msr cpsr_all, #5 1435*9880d681SAndroid Build Coastguard Worker msr cpsr_fsx, #5 1436*9880d681SAndroid Build Coastguard Worker msr spsr_fc, #5 1437*9880d681SAndroid Build Coastguard Worker msr SPSR_fsxc, #5 1438*9880d681SAndroid Build Coastguard Worker msr cpsr_fsxc, #5 1439*9880d681SAndroid Build Coastguard Worker msr apsr_nzcvqg, #(0xff << 16) 1440*9880d681SAndroid Build Coastguard Worker msr APSR_nzcvq, #42, #2 1441*9880d681SAndroid Build Coastguard Worker msr apsr_nzcvqg, #2147483658 1442*9880d681SAndroid Build Coastguard Worker msr SPSR_fsxc, #40, #2 1443*9880d681SAndroid Build Coastguard Worker msr SPSR_fsxc, $40, $2 1444*9880d681SAndroid Build Coastguard Worker msr SPSR_fsxc, 40, 2 1445*9880d681SAndroid Build Coastguard Worker msr SPSR_fsxc, (2 * 20), (1 << 1) 1446*9880d681SAndroid Build Coastguard Worker 1447*9880d681SAndroid Build Coastguard Worker@ CHECK: msr APSR_nzcvq, #5 @ encoding: [0x05,0xf0,0x28,0xe3] 1448*9880d681SAndroid Build Coastguard Worker@ CHECK: msr APSR_nzcvq, #5 @ encoding: [0x05,0xf0,0x28,0xe3] 1449*9880d681SAndroid Build Coastguard Worker@ CHECK: msr APSR_nzcvq, #5 @ encoding: [0x05,0xf0,0x28,0xe3] 1450*9880d681SAndroid Build Coastguard Worker@ CHECK: msr APSR_g, #5 @ encoding: [0x05,0xf0,0x24,0xe3] 1451*9880d681SAndroid Build Coastguard Worker@ CHECK: msr APSR_nzcvq, #5 @ encoding: [0x05,0xf0,0x28,0xe3] 1452*9880d681SAndroid Build Coastguard Worker@ CHECK: msr APSR_nzcvq, #5 @ encoding: [0x05,0xf0,0x28,0xe3] 1453*9880d681SAndroid Build Coastguard Worker@ CHECK: msr APSR_nzcvqg, #5 @ encoding: [0x05,0xf0,0x2c,0xe3] 1454*9880d681SAndroid Build Coastguard Worker@ CHECK: msr CPSR_fc, #5 @ encoding: [0x05,0xf0,0x29,0xe3] 1455*9880d681SAndroid Build Coastguard Worker@ CHECK: msr CPSR_c, #5 @ encoding: [0x05,0xf0,0x21,0xe3] 1456*9880d681SAndroid Build Coastguard Worker@ CHECK: msr CPSR_x, #5 @ encoding: [0x05,0xf0,0x22,0xe3] 1457*9880d681SAndroid Build Coastguard Worker@ CHECK: msr CPSR_fc, #5 @ encoding: [0x05,0xf0,0x29,0xe3] 1458*9880d681SAndroid Build Coastguard Worker@ CHECK: msr CPSR_fc, #5 @ encoding: [0x05,0xf0,0x29,0xe3] 1459*9880d681SAndroid Build Coastguard Worker@ CHECK: msr CPSR_fsx, #5 @ encoding: [0x05,0xf0,0x2e,0xe3] 1460*9880d681SAndroid Build Coastguard Worker@ CHECK: msr SPSR_fc, #5 @ encoding: [0x05,0xf0,0x69,0xe3] 1461*9880d681SAndroid Build Coastguard Worker@ CHECK: msr SPSR_fsxc, #5 @ encoding: [0x05,0xf0,0x6f,0xe3] 1462*9880d681SAndroid Build Coastguard Worker@ CHECK: msr CPSR_fsxc, #5 @ encoding: [0x05,0xf0,0x2f,0xe3] 1463*9880d681SAndroid Build Coastguard Worker@ CHECK: msr APSR_nzcvqg, #16711680 @ encoding: [0xff,0xf8,0x2c,0xe3] 1464*9880d681SAndroid Build Coastguard Worker@ CHECK: msr APSR_nzcvq, #2147483658 @ encoding: [0x2a,0xf1,0x28,0xe3] 1465*9880d681SAndroid Build Coastguard Worker@ CHECK: msr APSR_nzcvqg, #2147483658 @ encoding: [0x2a,0xf1,0x2c,0xe3] 1466*9880d681SAndroid Build Coastguard Worker@ CHECK: msr SPSR_fsxc, #40, #2 @ encoding: [0x28,0xf1,0x6f,0xe3] 1467*9880d681SAndroid Build Coastguard Worker@ CHECK: msr SPSR_fsxc, #40, #2 @ encoding: [0x28,0xf1,0x6f,0xe3] 1468*9880d681SAndroid Build Coastguard Worker@ CHECK: msr SPSR_fsxc, #40, #2 @ encoding: [0x28,0xf1,0x6f,0xe3] 1469*9880d681SAndroid Build Coastguard Worker@ CHECK: msr SPSR_fsxc, #40, #2 @ encoding: [0x28,0xf1,0x6f,0xe3] 1470*9880d681SAndroid Build Coastguard Worker 1471*9880d681SAndroid Build Coastguard Worker msr apsr, r0 1472*9880d681SAndroid Build Coastguard Worker msr apsr_g, r0 1473*9880d681SAndroid Build Coastguard Worker msr apsr_nzcvq, r0 1474*9880d681SAndroid Build Coastguard Worker msr APSR_nzcvq, r0 1475*9880d681SAndroid Build Coastguard Worker msr apsr_nzcvqg, r0 1476*9880d681SAndroid Build Coastguard Worker msr cpsr_fc, r0 1477*9880d681SAndroid Build Coastguard Worker msr cpsr_c, r0 1478*9880d681SAndroid Build Coastguard Worker msr cpsr_x, r0 1479*9880d681SAndroid Build Coastguard Worker msr cpsr_fc, r0 1480*9880d681SAndroid Build Coastguard Worker msr cpsr_all, r0 1481*9880d681SAndroid Build Coastguard Worker msr cpsr_fsx, r0 1482*9880d681SAndroid Build Coastguard Worker msr spsr_fc, r0 1483*9880d681SAndroid Build Coastguard Worker msr SPSR_fsxc, r0 1484*9880d681SAndroid Build Coastguard Worker msr cpsr_fsxc, r0 1485*9880d681SAndroid Build Coastguard Worker 1486*9880d681SAndroid Build Coastguard Worker@ CHECK: msr APSR_nzcvq, r0 @ encoding: [0x00,0xf0,0x28,0xe1] 1487*9880d681SAndroid Build Coastguard Worker@ CHECK: msr APSR_g, r0 @ encoding: [0x00,0xf0,0x24,0xe1] 1488*9880d681SAndroid Build Coastguard Worker@ CHECK: msr APSR_nzcvq, r0 @ encoding: [0x00,0xf0,0x28,0xe1] 1489*9880d681SAndroid Build Coastguard Worker@ CHECK: msr APSR_nzcvq, r0 @ encoding: [0x00,0xf0,0x28,0xe1] 1490*9880d681SAndroid Build Coastguard Worker@ CHECK: msr APSR_nzcvqg, r0 @ encoding: [0x00,0xf0,0x2c,0xe1] 1491*9880d681SAndroid Build Coastguard Worker@ CHECK: msr CPSR_fc, r0 @ encoding: [0x00,0xf0,0x29,0xe1] 1492*9880d681SAndroid Build Coastguard Worker@ CHECK: msr CPSR_c, r0 @ encoding: [0x00,0xf0,0x21,0xe1] 1493*9880d681SAndroid Build Coastguard Worker@ CHECK: msr CPSR_x, r0 @ encoding: [0x00,0xf0,0x22,0xe1] 1494*9880d681SAndroid Build Coastguard Worker@ CHECK: msr CPSR_fc, r0 @ encoding: [0x00,0xf0,0x29,0xe1] 1495*9880d681SAndroid Build Coastguard Worker@ CHECK: msr CPSR_fc, r0 @ encoding: [0x00,0xf0,0x29,0xe1] 1496*9880d681SAndroid Build Coastguard Worker@ CHECK: msr CPSR_fsx, r0 @ encoding: [0x00,0xf0,0x2e,0xe1] 1497*9880d681SAndroid Build Coastguard Worker@ CHECK: msr SPSR_fc, r0 @ encoding: [0x00,0xf0,0x69,0xe1] 1498*9880d681SAndroid Build Coastguard Worker@ CHECK: msr SPSR_fsxc, r0 @ encoding: [0x00,0xf0,0x6f,0xe1] 1499*9880d681SAndroid Build Coastguard Worker@ CHECK: msr CPSR_fsxc, r0 @ encoding: [0x00,0xf0,0x2f,0xe1] 1500*9880d681SAndroid Build Coastguard Worker 1501*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 1502*9880d681SAndroid Build Coastguard Worker@ MUL 1503*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 1504*9880d681SAndroid Build Coastguard Worker mul r5, r6, r7 1505*9880d681SAndroid Build Coastguard Worker muls r5, r6, r7 1506*9880d681SAndroid Build Coastguard Worker mulgt r5, r6, r7 1507*9880d681SAndroid Build Coastguard Worker mulsle r5, r6, r7 1508*9880d681SAndroid Build Coastguard Worker mul r11, r5 1509*9880d681SAndroid Build Coastguard Worker 1510*9880d681SAndroid Build Coastguard Worker@ CHECK: mul r5, r6, r7 @ encoding: [0x96,0x07,0x05,0xe0] 1511*9880d681SAndroid Build Coastguard Worker@ CHECK: muls r5, r6, r7 @ encoding: [0x96,0x07,0x15,0xe0] 1512*9880d681SAndroid Build Coastguard Worker@ CHECK: mulgt r5, r6, r7 @ encoding: [0x96,0x07,0x05,0xc0] 1513*9880d681SAndroid Build Coastguard Worker@ CHECK: mulsle r5, r6, r7 @ encoding: [0x96,0x07,0x15,0xd0] 1514*9880d681SAndroid Build Coastguard Worker 1515*9880d681SAndroid Build Coastguard Worker 1516*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 1517*9880d681SAndroid Build Coastguard Worker@ MVN (immediate) 1518*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 1519*9880d681SAndroid Build Coastguard Worker mvn r3, #7 1520*9880d681SAndroid Build Coastguard Worker mvn r3, $7 1521*9880d681SAndroid Build Coastguard Worker mvn r3, 7 1522*9880d681SAndroid Build Coastguard Worker mvn r3, -7 1523*9880d681SAndroid Build Coastguard Worker mvn r7, #~0xffffff00 1524*9880d681SAndroid Build Coastguard Worker mvn r4, #0xff0 1525*9880d681SAndroid Build Coastguard Worker mvn r5, #0xff0000 1526*9880d681SAndroid Build Coastguard Worker mvn r7, #(0xff << 16) 1527*9880d681SAndroid Build Coastguard Worker mvn r7, #-2147483638 1528*9880d681SAndroid Build Coastguard Worker mvn r7, #42, #2 1529*9880d681SAndroid Build Coastguard Worker mvn r7, #40, #2 1530*9880d681SAndroid Build Coastguard Worker mvn r7, $40, $2 1531*9880d681SAndroid Build Coastguard Worker mvn r7, 40, 2 1532*9880d681SAndroid Build Coastguard Worker mvn r7, (2 * 20), (1 << 1) 1533*9880d681SAndroid Build Coastguard Worker mvns r3, #7 1534*9880d681SAndroid Build Coastguard Worker mvneq r4, #0xff0 1535*9880d681SAndroid Build Coastguard Worker mvnseq r5, #0xff0000 1536*9880d681SAndroid Build Coastguard Worker 1537*9880d681SAndroid Build Coastguard Worker@ CHECK: mvn r3, #7 @ encoding: [0x07,0x30,0xe0,0xe3] 1538*9880d681SAndroid Build Coastguard Worker@ CHECK: mvn r3, #7 @ encoding: [0x07,0x30,0xe0,0xe3] 1539*9880d681SAndroid Build Coastguard Worker@ CHECK: mvn r3, #7 @ encoding: [0x07,0x30,0xe0,0xe3] 1540*9880d681SAndroid Build Coastguard Worker@ CHECK: mov r3, #6 @ encoding: [0x06,0x30,0xa0,0xe3] 1541*9880d681SAndroid Build Coastguard Worker@ CHECK: mvn r7, #255 @ encoding: [0xff,0x70,0xe0,0xe3] 1542*9880d681SAndroid Build Coastguard Worker@ CHECK: mvn r4, #4080 @ encoding: [0xff,0x4e,0xe0,0xe3] 1543*9880d681SAndroid Build Coastguard Worker@ CHECK: mvn r5, #16711680 @ encoding: [0xff,0x58,0xe0,0xe3] 1544*9880d681SAndroid Build Coastguard Worker@ CHECK: mvn r7, #16711680 @ encoding: [0xff,0x78,0xe0,0xe3] 1545*9880d681SAndroid Build Coastguard Worker@ CHECK: mvn r7, #-2147483638 @ encoding: [0x2a,0x71,0xe0,0xe3] 1546*9880d681SAndroid Build Coastguard Worker@ CHECK: mvn r7, #-2147483638 @ encoding: [0x2a,0x71,0xe0,0xe3] 1547*9880d681SAndroid Build Coastguard Worker@ CHECK: mvn r7, #40, #2 @ encoding: [0x28,0x71,0xe0,0xe3] 1548*9880d681SAndroid Build Coastguard Worker@ CHECK: mvn r7, #40, #2 @ encoding: [0x28,0x71,0xe0,0xe3] 1549*9880d681SAndroid Build Coastguard Worker@ CHECK: mvn r7, #40, #2 @ encoding: [0x28,0x71,0xe0,0xe3] 1550*9880d681SAndroid Build Coastguard Worker@ CHECK: mvn r7, #40, #2 @ encoding: [0x28,0x71,0xe0,0xe3] 1551*9880d681SAndroid Build Coastguard Worker@ CHECK: mvns r3, #7 @ encoding: [0x07,0x30,0xf0,0xe3] 1552*9880d681SAndroid Build Coastguard Worker@ CHECK: mvneq r4, #4080 @ encoding: [0xff,0x4e,0xe0,0x03] 1553*9880d681SAndroid Build Coastguard Worker@ CHECK: mvnseq r5, #16711680 @ encoding: [0xff,0x58,0xf0,0x03] 1554*9880d681SAndroid Build Coastguard Worker 1555*9880d681SAndroid Build Coastguard Worker 1556*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 1557*9880d681SAndroid Build Coastguard Worker@ MVN (register) 1558*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 1559*9880d681SAndroid Build Coastguard Worker mvn r2, r3 1560*9880d681SAndroid Build Coastguard Worker mvns r2, r3 1561*9880d681SAndroid Build Coastguard Worker mvn r5, r6, lsl #19 1562*9880d681SAndroid Build Coastguard Worker mvn r5, r6, lsr #9 1563*9880d681SAndroid Build Coastguard Worker mvn r5, r6, asr #4 1564*9880d681SAndroid Build Coastguard Worker mvn r5, r6, ror #6 1565*9880d681SAndroid Build Coastguard Worker mvn r5, r6, rrx 1566*9880d681SAndroid Build Coastguard Worker mvneq r2, r3 1567*9880d681SAndroid Build Coastguard Worker mvnseq r2, r3, lsl #10 1568*9880d681SAndroid Build Coastguard Worker 1569*9880d681SAndroid Build Coastguard Worker@ CHECK: mvn r2, r3 @ encoding: [0x03,0x20,0xe0,0xe1] 1570*9880d681SAndroid Build Coastguard Worker@ CHECK: mvns r2, r3 @ encoding: [0x03,0x20,0xf0,0xe1] 1571*9880d681SAndroid Build Coastguard Worker@ CHECK: mvn r5, r6, lsl #19 @ encoding: [0x86,0x59,0xe0,0xe1] 1572*9880d681SAndroid Build Coastguard Worker@ CHECK: mvn r5, r6, lsr #9 @ encoding: [0xa6,0x54,0xe0,0xe1] 1573*9880d681SAndroid Build Coastguard Worker@ CHECK: mvn r5, r6, asr #4 @ encoding: [0x46,0x52,0xe0,0xe1] 1574*9880d681SAndroid Build Coastguard Worker@ CHECK: mvn r5, r6, ror #6 @ encoding: [0x66,0x53,0xe0,0xe1] 1575*9880d681SAndroid Build Coastguard Worker@ CHECK: mvn r5, r6, rrx @ encoding: [0x66,0x50,0xe0,0xe1] 1576*9880d681SAndroid Build Coastguard Worker@ CHECK: mvneq r2, r3 @ encoding: [0x03,0x20,0xe0,0x01] 1577*9880d681SAndroid Build Coastguard Worker@ CHECK: mvnseq r2, r3, lsl #10 @ encoding: [0x03,0x25,0xf0,0x01] 1578*9880d681SAndroid Build Coastguard Worker 1579*9880d681SAndroid Build Coastguard Worker 1580*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 1581*9880d681SAndroid Build Coastguard Worker@ MVN (shifted register) 1582*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 1583*9880d681SAndroid Build Coastguard Worker mvn r5, r6, lsl r7 1584*9880d681SAndroid Build Coastguard Worker mvns r5, r6, lsr r7 1585*9880d681SAndroid Build Coastguard Worker mvngt r5, r6, asr r7 1586*9880d681SAndroid Build Coastguard Worker mvnslt r5, r6, ror r7 1587*9880d681SAndroid Build Coastguard Worker 1588*9880d681SAndroid Build Coastguard Worker@ CHECK: mvn r5, r6, lsl r7 @ encoding: [0x16,0x57,0xe0,0xe1] 1589*9880d681SAndroid Build Coastguard Worker@ CHECK: mvns r5, r6, lsr r7 @ encoding: [0x36,0x57,0xf0,0xe1] 1590*9880d681SAndroid Build Coastguard Worker@ CHECK: mvngt r5, r6, asr r7 @ encoding: [0x56,0x57,0xe0,0xc1] 1591*9880d681SAndroid Build Coastguard Worker@ CHECK: mvnslt r5, r6, ror r7 @ encoding: [0x76,0x57,0xf0,0xb1] 1592*9880d681SAndroid Build Coastguard Worker 1593*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 1594*9880d681SAndroid Build Coastguard Worker@ NEG 1595*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 1596*9880d681SAndroid Build Coastguard Worker neg r5, r8 1597*9880d681SAndroid Build Coastguard Worker 1598*9880d681SAndroid Build Coastguard Worker@ CHECK: rsb r5, r8, #0 @ encoding: [0x00,0x50,0x68,0xe2] 1599*9880d681SAndroid Build Coastguard Worker 1600*9880d681SAndroid Build Coastguard Worker 1601*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 1602*9880d681SAndroid Build Coastguard Worker@ NOP 1603*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 1604*9880d681SAndroid Build Coastguard Worker nop 1605*9880d681SAndroid Build Coastguard Worker nop.w 1606*9880d681SAndroid Build Coastguard Worker nopgt 1607*9880d681SAndroid Build Coastguard Worker 1608*9880d681SAndroid Build Coastguard Worker@ CHECK: nop @ encoding: [0x00,0xf0,0x20,0xe3] 1609*9880d681SAndroid Build Coastguard Worker@ CHECK: nop @ encoding: [0x00,0xf0,0x20,0xe3] 1610*9880d681SAndroid Build Coastguard Worker@ CHECK: nopgt @ encoding: [0x00,0xf0,0x20,0xc3] 1611*9880d681SAndroid Build Coastguard Worker 1612*9880d681SAndroid Build Coastguard Worker 1613*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 1614*9880d681SAndroid Build Coastguard Worker@ ORR 1615*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 1616*9880d681SAndroid Build Coastguard Worker orr r4, r5, #0xf000 1617*9880d681SAndroid Build Coastguard Worker orr r4, r5, $0xf000 1618*9880d681SAndroid Build Coastguard Worker orr r4, r5, 0xf000 1619*9880d681SAndroid Build Coastguard Worker orr r7, r8, #(0xff << 16) 1620*9880d681SAndroid Build Coastguard Worker orr r7, r8, #-2147483638 1621*9880d681SAndroid Build Coastguard Worker orr r7, r8, #42, #2 1622*9880d681SAndroid Build Coastguard Worker orr r7, r8, #40, #2 1623*9880d681SAndroid Build Coastguard Worker orr r7, r8, $40, $2 1624*9880d681SAndroid Build Coastguard Worker orr r7, r8, 40, 2 1625*9880d681SAndroid Build Coastguard Worker orr r7, r8, (2 * 20), (1 << 1) 1626*9880d681SAndroid Build Coastguard Worker orr r4, r5, r6 1627*9880d681SAndroid Build Coastguard Worker orr r4, r5, r6, lsl #5 1628*9880d681SAndroid Build Coastguard Worker orr r4, r5, r6, lsr #5 1629*9880d681SAndroid Build Coastguard Worker orr r4, r5, r6, lsr #5 1630*9880d681SAndroid Build Coastguard Worker orr r4, r5, r6, asr #5 1631*9880d681SAndroid Build Coastguard Worker orr r4, r5, r6, ror #5 1632*9880d681SAndroid Build Coastguard Worker orr r6, r7, r8, lsl r9 1633*9880d681SAndroid Build Coastguard Worker orr r6, r7, r8, lsr r9 1634*9880d681SAndroid Build Coastguard Worker orr r6, r7, r8, asr r9 1635*9880d681SAndroid Build Coastguard Worker orr r6, r7, r8, ror r9 1636*9880d681SAndroid Build Coastguard Worker orr r4, r5, r6, rrx 1637*9880d681SAndroid Build Coastguard Worker 1638*9880d681SAndroid Build Coastguard Worker @ destination register is optional 1639*9880d681SAndroid Build Coastguard Worker orr r5, #0xf000 1640*9880d681SAndroid Build Coastguard Worker orr r5, $0xf000 1641*9880d681SAndroid Build Coastguard Worker orr r5, 0xf000 1642*9880d681SAndroid Build Coastguard Worker 1643*9880d681SAndroid Build Coastguard Worker orr r7, #(0xff << 16) 1644*9880d681SAndroid Build Coastguard Worker orr r7, #-2147483638 1645*9880d681SAndroid Build Coastguard Worker orr r7, #42, #2 1646*9880d681SAndroid Build Coastguard Worker orr r7, #40, #2 1647*9880d681SAndroid Build Coastguard Worker orr r7, $40, $2 1648*9880d681SAndroid Build Coastguard Worker orr r7, 40, 2 1649*9880d681SAndroid Build Coastguard Worker orr r7, (2 * 20), (1 << 1) 1650*9880d681SAndroid Build Coastguard Worker 1651*9880d681SAndroid Build Coastguard Worker orr r4, r5 1652*9880d681SAndroid Build Coastguard Worker orr r4, r5, lsl #5 1653*9880d681SAndroid Build Coastguard Worker orr r4, r5, lsr #5 1654*9880d681SAndroid Build Coastguard Worker orr r4, r5, lsr #5 1655*9880d681SAndroid Build Coastguard Worker orr r4, r5, asr #5 1656*9880d681SAndroid Build Coastguard Worker orr r4, r5, ror #5 1657*9880d681SAndroid Build Coastguard Worker orr r6, r7, lsl r9 1658*9880d681SAndroid Build Coastguard Worker orr r6, r7, lsr r9 1659*9880d681SAndroid Build Coastguard Worker orr r6, r7, asr r9 1660*9880d681SAndroid Build Coastguard Worker orr r6, r7, ror r9 1661*9880d681SAndroid Build Coastguard Worker orr r4, r5, rrx 1662*9880d681SAndroid Build Coastguard Worker 1663*9880d681SAndroid Build Coastguard Worker@ CHECK: orr r4, r5, #61440 @ encoding: [0x0f,0x4a,0x85,0xe3] 1664*9880d681SAndroid Build Coastguard Worker@ CHECK: orr r4, r5, #61440 @ encoding: [0x0f,0x4a,0x85,0xe3] 1665*9880d681SAndroid Build Coastguard Worker@ CHECK: orr r4, r5, #61440 @ encoding: [0x0f,0x4a,0x85,0xe3] 1666*9880d681SAndroid Build Coastguard Worker@ CHECK: orr r7, r8, #16711680 @ encoding: [0xff,0x78,0x88,0xe3] 1667*9880d681SAndroid Build Coastguard Worker@ CHECK: orr r7, r8, #-2147483638 @ encoding: [0x2a,0x71,0x88,0xe3] 1668*9880d681SAndroid Build Coastguard Worker@ CHECK: orr r7, r8, #-2147483638 @ encoding: [0x2a,0x71,0x88,0xe3] 1669*9880d681SAndroid Build Coastguard Worker@ CHECK: orr r7, r8, #40, #2 @ encoding: [0x28,0x71,0x88,0xe3] 1670*9880d681SAndroid Build Coastguard Worker@ CHECK: orr r7, r8, #40, #2 @ encoding: [0x28,0x71,0x88,0xe3] 1671*9880d681SAndroid Build Coastguard Worker@ CHECK: orr r7, r8, #40, #2 @ encoding: [0x28,0x71,0x88,0xe3] 1672*9880d681SAndroid Build Coastguard Worker@ CHECK: orr r7, r8, #40, #2 @ encoding: [0x28,0x71,0x88,0xe3] 1673*9880d681SAndroid Build Coastguard Worker@ CHECK: orr r4, r5, r6 @ encoding: [0x06,0x40,0x85,0xe1] 1674*9880d681SAndroid Build Coastguard Worker@ CHECK: orr r4, r5, r6, lsl #5 @ encoding: [0x86,0x42,0x85,0xe1] 1675*9880d681SAndroid Build Coastguard Worker@ CHECK: orr r4, r5, r6, lsr #5 @ encoding: [0xa6,0x42,0x85,0xe1] 1676*9880d681SAndroid Build Coastguard Worker@ CHECK: orr r4, r5, r6, lsr #5 @ encoding: [0xa6,0x42,0x85,0xe1] 1677*9880d681SAndroid Build Coastguard Worker@ CHECK: orr r4, r5, r6, asr #5 @ encoding: [0xc6,0x42,0x85,0xe1] 1678*9880d681SAndroid Build Coastguard Worker@ CHECK: orr r4, r5, r6, ror #5 @ encoding: [0xe6,0x42,0x85,0xe1] 1679*9880d681SAndroid Build Coastguard Worker@ CHECK: orr r6, r7, r8, lsl r9 @ encoding: [0x18,0x69,0x87,0xe1] 1680*9880d681SAndroid Build Coastguard Worker@ CHECK: orr r6, r7, r8, lsr r9 @ encoding: [0x38,0x69,0x87,0xe1] 1681*9880d681SAndroid Build Coastguard Worker@ CHECK: orr r6, r7, r8, asr r9 @ encoding: [0x58,0x69,0x87,0xe1] 1682*9880d681SAndroid Build Coastguard Worker@ CHECK: orr r6, r7, r8, ror r9 @ encoding: [0x78,0x69,0x87,0xe1] 1683*9880d681SAndroid Build Coastguard Worker@ CHECK: orr r4, r5, r6, rrx @ encoding: [0x66,0x40,0x85,0xe1] 1684*9880d681SAndroid Build Coastguard Worker 1685*9880d681SAndroid Build Coastguard Worker@ CHECK: orr r5, r5, #61440 @ encoding: [0x0f,0x5a,0x85,0xe3] 1686*9880d681SAndroid Build Coastguard Worker@ CHECK: orr r5, r5, #61440 @ encoding: [0x0f,0x5a,0x85,0xe3] 1687*9880d681SAndroid Build Coastguard Worker@ CHECK: orr r5, r5, #61440 @ encoding: [0x0f,0x5a,0x85,0xe3] 1688*9880d681SAndroid Build Coastguard Worker@ CHECK: orr r7, r7, #16711680 @ encoding: [0xff,0x78,0x87,0xe3] 1689*9880d681SAndroid Build Coastguard Worker@ CHECK: orr r7, r7, #-2147483638 @ encoding: [0x2a,0x71,0x87,0xe3] 1690*9880d681SAndroid Build Coastguard Worker@ CHECK: orr r7, r7, #-2147483638 @ encoding: [0x2a,0x71,0x87,0xe3] 1691*9880d681SAndroid Build Coastguard Worker@ CHECK: orr r7, r7, #40, #2 @ encoding: [0x28,0x71,0x87,0xe3] 1692*9880d681SAndroid Build Coastguard Worker@ CHECK: orr r7, r7, #40, #2 @ encoding: [0x28,0x71,0x87,0xe3] 1693*9880d681SAndroid Build Coastguard Worker@ CHECK: orr r7, r7, #40, #2 @ encoding: [0x28,0x71,0x87,0xe3] 1694*9880d681SAndroid Build Coastguard Worker@ CHECK: orr r7, r7, #40, #2 @ encoding: [0x28,0x71,0x87,0xe3] 1695*9880d681SAndroid Build Coastguard Worker@ CHECK: orr r4, r4, r5 @ encoding: [0x05,0x40,0x84,0xe1] 1696*9880d681SAndroid Build Coastguard Worker@ CHECK: orr r4, r4, r5, lsl #5 @ encoding: [0x85,0x42,0x84,0xe1] 1697*9880d681SAndroid Build Coastguard Worker@ CHECK: orr r4, r4, r5, lsr #5 @ encoding: [0xa5,0x42,0x84,0xe1] 1698*9880d681SAndroid Build Coastguard Worker@ CHECK: orr r4, r4, r5, lsr #5 @ encoding: [0xa5,0x42,0x84,0xe1] 1699*9880d681SAndroid Build Coastguard Worker@ CHECK: orr r4, r4, r5, asr #5 @ encoding: [0xc5,0x42,0x84,0xe1] 1700*9880d681SAndroid Build Coastguard Worker@ CHECK: orr r4, r4, r5, ror #5 @ encoding: [0xe5,0x42,0x84,0xe1] 1701*9880d681SAndroid Build Coastguard Worker@ CHECK: orr r6, r6, r7, lsl r9 @ encoding: [0x17,0x69,0x86,0xe1] 1702*9880d681SAndroid Build Coastguard Worker@ CHECK: orr r6, r6, r7, lsr r9 @ encoding: [0x37,0x69,0x86,0xe1] 1703*9880d681SAndroid Build Coastguard Worker@ CHECK: orr r6, r6, r7, asr r9 @ encoding: [0x57,0x69,0x86,0xe1] 1704*9880d681SAndroid Build Coastguard Worker@ CHECK: orr r6, r6, r7, ror r9 @ encoding: [0x77,0x69,0x86,0xe1] 1705*9880d681SAndroid Build Coastguard Worker@ CHECK: orr r4, r4, r5, rrx @ encoding: [0x65,0x40,0x84,0xe1] 1706*9880d681SAndroid Build Coastguard Worker 1707*9880d681SAndroid Build Coastguard Worker orrseq r4, r5, #0xf000 1708*9880d681SAndroid Build Coastguard Worker orrne r4, r5, r6 1709*9880d681SAndroid Build Coastguard Worker orrseq r4, r5, r6, lsl #5 1710*9880d681SAndroid Build Coastguard Worker orrlo r6, r7, r8, ror r9 1711*9880d681SAndroid Build Coastguard Worker orrshi r4, r5, r6, rrx 1712*9880d681SAndroid Build Coastguard Worker orrcs r5, #0xf000 1713*9880d681SAndroid Build Coastguard Worker orrseq r4, r5 1714*9880d681SAndroid Build Coastguard Worker orrne r6, r7, asr r9 1715*9880d681SAndroid Build Coastguard Worker orrslt r6, r7, ror r9 1716*9880d681SAndroid Build Coastguard Worker orrsgt r4, r5, rrx 1717*9880d681SAndroid Build Coastguard Worker 1718*9880d681SAndroid Build Coastguard Worker@ CHECK: orrseq r4, r5, #61440 @ encoding: [0x0f,0x4a,0x95,0x03] 1719*9880d681SAndroid Build Coastguard Worker@ CHECK: orrne r4, r5, r6 @ encoding: [0x06,0x40,0x85,0x11] 1720*9880d681SAndroid Build Coastguard Worker@ CHECK: orrseq r4, r5, r6, lsl #5 @ encoding: [0x86,0x42,0x95,0x01] 1721*9880d681SAndroid Build Coastguard Worker@ CHECK: orrlo r6, r7, r8, ror r9 @ encoding: [0x78,0x69,0x87,0x31] 1722*9880d681SAndroid Build Coastguard Worker@ CHECK: orrshi r4, r5, r6, rrx @ encoding: [0x66,0x40,0x95,0x81] 1723*9880d681SAndroid Build Coastguard Worker@ CHECK: orrhs r5, r5, #61440 @ encoding: [0x0f,0x5a,0x85,0x23] 1724*9880d681SAndroid Build Coastguard Worker@ CHECK: orrseq r4, r4, r5 @ encoding: [0x05,0x40,0x94,0x01] 1725*9880d681SAndroid Build Coastguard Worker@ CHECK: orrne r6, r6, r7, asr r9 @ encoding: [0x57,0x69,0x86,0x11] 1726*9880d681SAndroid Build Coastguard Worker@ CHECK: orrslt r6, r6, r7, ror r9 @ encoding: [0x77,0x69,0x96,0xb1] 1727*9880d681SAndroid Build Coastguard Worker@ CHECK: orrsgt r4, r4, r5, rrx @ encoding: [0x65,0x40,0x94,0xc1] 1728*9880d681SAndroid Build Coastguard Worker 1729*9880d681SAndroid Build Coastguard Worker @ Test right shift by 32, which is encoded as 0 1730*9880d681SAndroid Build Coastguard Worker orr r3, r1, r2, lsr #32 1731*9880d681SAndroid Build Coastguard Worker orr r3, r1, r2, asr #32 1732*9880d681SAndroid Build Coastguard Worker@ CHECK: orr r3, r1, r2, lsr #32 @ encoding: [0x22,0x30,0x81,0xe1] 1733*9880d681SAndroid Build Coastguard Worker@ CHECK: orr r3, r1, r2, asr #32 @ encoding: [0x42,0x30,0x81,0xe1] 1734*9880d681SAndroid Build Coastguard Worker 1735*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 1736*9880d681SAndroid Build Coastguard Worker@ PKH 1737*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 1738*9880d681SAndroid Build Coastguard Worker pkhbt r2, r2, r3 1739*9880d681SAndroid Build Coastguard Worker pkhbt r2, r2, r3, lsl #31 1740*9880d681SAndroid Build Coastguard Worker pkhbt r2, r2, r3, lsl #0 1741*9880d681SAndroid Build Coastguard Worker pkhbt r2, r2, r3, lsl #15 1742*9880d681SAndroid Build Coastguard Worker 1743*9880d681SAndroid Build Coastguard Worker pkhtb r2, r2, r3 1744*9880d681SAndroid Build Coastguard Worker pkhtb r2, r2, r3, asr #31 1745*9880d681SAndroid Build Coastguard Worker pkhtb r2, r2, r3, asr #15 1746*9880d681SAndroid Build Coastguard Worker 1747*9880d681SAndroid Build Coastguard Worker@ CHECK: pkhbt r2, r2, r3 @ encoding: [0x13,0x20,0x82,0xe6] 1748*9880d681SAndroid Build Coastguard Worker@ CHECK: pkhbt r2, r2, r3, lsl #31 @ encoding: [0x93,0x2f,0x82,0xe6] 1749*9880d681SAndroid Build Coastguard Worker@ CHECK: pkhbt r2, r2, r3 @ encoding: [0x13,0x20,0x82,0xe6] 1750*9880d681SAndroid Build Coastguard Worker@ CHECK: pkhbt r2, r2, r3, lsl #15 @ encoding: [0x93,0x27,0x82,0xe6] 1751*9880d681SAndroid Build Coastguard Worker 1752*9880d681SAndroid Build Coastguard Worker@ CHECK: pkhbt r2, r3, r2 @ encoding: [0x12,0x20,0x83,0xe6] 1753*9880d681SAndroid Build Coastguard Worker@ CHECK: pkhtb r2, r2, r3, asr #31 @ encoding: [0xd3,0x2f,0x82,0xe6] 1754*9880d681SAndroid Build Coastguard Worker@ CHECK: pkhtb r2, r2, r3, asr #15 @ encoding: [0xd3,0x27,0x82,0xe6] 1755*9880d681SAndroid Build Coastguard Worker 1756*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 1757*9880d681SAndroid Build Coastguard Worker@ FIXME: PLD 1758*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 1759*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 1760*9880d681SAndroid Build Coastguard Worker@ FIXME: PLI 1761*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 1762*9880d681SAndroid Build Coastguard Worker 1763*9880d681SAndroid Build Coastguard Worker 1764*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 1765*9880d681SAndroid Build Coastguard Worker@ POP 1766*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 1767*9880d681SAndroid Build Coastguard Worker pop {r7} 1768*9880d681SAndroid Build Coastguard Worker pop {r7, r8, r9, r10} 1769*9880d681SAndroid Build Coastguard Worker 1770*9880d681SAndroid Build Coastguard Worker@ CHECK: pop {r7} @ encoding: [0x04,0x70,0x9d,0xe4] 1771*9880d681SAndroid Build Coastguard Worker@ CHECK: pop {r7, r8, r9, r10} @ encoding: [0x80,0x07,0xbd,0xe8] 1772*9880d681SAndroid Build Coastguard Worker 1773*9880d681SAndroid Build Coastguard Worker 1774*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 1775*9880d681SAndroid Build Coastguard Worker@ PUSH 1776*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 1777*9880d681SAndroid Build Coastguard Worker push {r7} 1778*9880d681SAndroid Build Coastguard Worker push {r7, r8, r9, r10} 1779*9880d681SAndroid Build Coastguard Worker 1780*9880d681SAndroid Build Coastguard Worker@ CHECK: push {r7} @ encoding: [0x04,0x70,0x2d,0xe5] 1781*9880d681SAndroid Build Coastguard Worker@ CHECK: push {r7, r8, r9, r10} @ encoding: [0x80,0x07,0x2d,0xe9] 1782*9880d681SAndroid Build Coastguard Worker 1783*9880d681SAndroid Build Coastguard Worker 1784*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 1785*9880d681SAndroid Build Coastguard Worker@ QADD/QADD16/QADD8 1786*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 1787*9880d681SAndroid Build Coastguard Worker qadd r1, r2, r3 1788*9880d681SAndroid Build Coastguard Worker qaddne r1, r2, r3 1789*9880d681SAndroid Build Coastguard Worker qadd16 r1, r2, r3 1790*9880d681SAndroid Build Coastguard Worker qadd16gt r1, r2, r3 1791*9880d681SAndroid Build Coastguard Worker qadd8 r1, r2, r3 1792*9880d681SAndroid Build Coastguard Worker qadd8le r1, r2, r3 1793*9880d681SAndroid Build Coastguard Worker 1794*9880d681SAndroid Build Coastguard Worker@ CHECK: qadd r1, r2, r3 @ encoding: [0x52,0x10,0x03,0xe1] 1795*9880d681SAndroid Build Coastguard Worker@ CHECK: qaddne r1, r2, r3 @ encoding: [0x52,0x10,0x03,0x11] 1796*9880d681SAndroid Build Coastguard Worker@ CHECK: qadd16 r1, r2, r3 @ encoding: [0x13,0x1f,0x22,0xe6] 1797*9880d681SAndroid Build Coastguard Worker@ CHECK: qadd16gt r1, r2, r3 @ encoding: [0x13,0x1f,0x22,0xc6] 1798*9880d681SAndroid Build Coastguard Worker@ CHECK: qadd8 r1, r2, r3 @ encoding: [0x93,0x1f,0x22,0xe6] 1799*9880d681SAndroid Build Coastguard Worker@ CHECK: qadd8le r1, r2, r3 @ encoding: [0x93,0x1f,0x22,0xd6] 1800*9880d681SAndroid Build Coastguard Worker 1801*9880d681SAndroid Build Coastguard Worker 1802*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 1803*9880d681SAndroid Build Coastguard Worker@ QDADD/QDSUB 1804*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 1805*9880d681SAndroid Build Coastguard Worker qdadd r6, r7, r8 1806*9880d681SAndroid Build Coastguard Worker qdaddhi r6, r7, r8 1807*9880d681SAndroid Build Coastguard Worker qdsub r6, r7, r8 1808*9880d681SAndroid Build Coastguard Worker qdsubhi r6, r7, r8 1809*9880d681SAndroid Build Coastguard Worker 1810*9880d681SAndroid Build Coastguard Worker@ CHECK: qdadd r6, r7, r8 @ encoding: [0x57,0x60,0x48,0xe1] 1811*9880d681SAndroid Build Coastguard Worker@ CHECK: qdaddhi r6, r7, r8 @ encoding: [0x57,0x60,0x48,0x81] 1812*9880d681SAndroid Build Coastguard Worker@ CHECK: qdsub r6, r7, r8 @ encoding: [0x57,0x60,0x68,0xe1] 1813*9880d681SAndroid Build Coastguard Worker@ CHECK: qdsubhi r6, r7, r8 @ encoding: [0x57,0x60,0x68,0x81] 1814*9880d681SAndroid Build Coastguard Worker 1815*9880d681SAndroid Build Coastguard Worker 1816*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 1817*9880d681SAndroid Build Coastguard Worker@ QSAX 1818*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 1819*9880d681SAndroid Build Coastguard Worker qsax r9, r12, r0 1820*9880d681SAndroid Build Coastguard Worker qsaxeq r9, r12, r0 1821*9880d681SAndroid Build Coastguard Worker 1822*9880d681SAndroid Build Coastguard Worker@ CHECK: qsax r9, r12, r0 @ encoding: [0x50,0x9f,0x2c,0xe6] 1823*9880d681SAndroid Build Coastguard Worker@ CHECK: qsaxeq r9, r12, r0 @ encoding: [0x50,0x9f,0x2c,0x06] 1824*9880d681SAndroid Build Coastguard Worker 1825*9880d681SAndroid Build Coastguard Worker 1826*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 1827*9880d681SAndroid Build Coastguard Worker@ QSUB/QSUB16/QSUB8 1828*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 1829*9880d681SAndroid Build Coastguard Worker qsub r1, r2, r3 1830*9880d681SAndroid Build Coastguard Worker qsubne r1, r2, r3 1831*9880d681SAndroid Build Coastguard Worker qsub16 r1, r2, r3 1832*9880d681SAndroid Build Coastguard Worker qsub16gt r1, r2, r3 1833*9880d681SAndroid Build Coastguard Worker qsub8 r1, r2, r3 1834*9880d681SAndroid Build Coastguard Worker qsub8le r1, r2, r3 1835*9880d681SAndroid Build Coastguard Worker 1836*9880d681SAndroid Build Coastguard Worker@ CHECK: qsub r1, r2, r3 @ encoding: [0x52,0x10,0x23,0xe1] 1837*9880d681SAndroid Build Coastguard Worker@ CHECK: qsubne r1, r2, r3 @ encoding: [0x52,0x10,0x23,0x11] 1838*9880d681SAndroid Build Coastguard Worker@ CHECK: qsub16 r1, r2, r3 @ encoding: [0x73,0x1f,0x22,0xe6] 1839*9880d681SAndroid Build Coastguard Worker@ CHECK: qsub16gt r1, r2, r3 @ encoding: [0x73,0x1f,0x22,0xc6] 1840*9880d681SAndroid Build Coastguard Worker@ CHECK: qsub8 r1, r2, r3 @ encoding: [0xf3,0x1f,0x22,0xe6] 1841*9880d681SAndroid Build Coastguard Worker@ CHECK: qsub8le r1, r2, r3 @ encoding: [0xf3,0x1f,0x22,0xd6] 1842*9880d681SAndroid Build Coastguard Worker 1843*9880d681SAndroid Build Coastguard Worker 1844*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 1845*9880d681SAndroid Build Coastguard Worker@ RBIT 1846*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 1847*9880d681SAndroid Build Coastguard Worker rbit r1, r2 1848*9880d681SAndroid Build Coastguard Worker rbitne r1, r2 1849*9880d681SAndroid Build Coastguard Worker 1850*9880d681SAndroid Build Coastguard Worker@ CHECK: rbit r1, r2 @ encoding: [0x32,0x1f,0xff,0xe6] 1851*9880d681SAndroid Build Coastguard Worker@ CHECK: rbitne r1, r2 @ encoding: [0x32,0x1f,0xff,0x16] 1852*9880d681SAndroid Build Coastguard Worker 1853*9880d681SAndroid Build Coastguard Worker 1854*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 1855*9880d681SAndroid Build Coastguard Worker@ REV/REV16/REVSH 1856*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 1857*9880d681SAndroid Build Coastguard Worker rev r1, r9 1858*9880d681SAndroid Build Coastguard Worker revne r1, r5 1859*9880d681SAndroid Build Coastguard Worker rev16 r8, r3 1860*9880d681SAndroid Build Coastguard Worker rev16ne r12, r4 1861*9880d681SAndroid Build Coastguard Worker revsh r4, r9 1862*9880d681SAndroid Build Coastguard Worker revshne r9, r1 1863*9880d681SAndroid Build Coastguard Worker 1864*9880d681SAndroid Build Coastguard Worker@ CHECK: rev r1, r9 @ encoding: [0x39,0x1f,0xbf,0xe6] 1865*9880d681SAndroid Build Coastguard Worker@ CHECK: revne r1, r5 @ encoding: [0x35,0x1f,0xbf,0x16] 1866*9880d681SAndroid Build Coastguard Worker@ CHECK: rev16 r8, r3 @ encoding: [0xb3,0x8f,0xbf,0xe6] 1867*9880d681SAndroid Build Coastguard Worker@ CHECK: rev16ne r12, r4 @ encoding: [0xb4,0xcf,0xbf,0x16] 1868*9880d681SAndroid Build Coastguard Worker@ CHECK: revsh r4, r9 @ encoding: [0xb9,0x4f,0xff,0xe6] 1869*9880d681SAndroid Build Coastguard Worker@ CHECK: revshne r9, r1 @ encoding: [0xb1,0x9f,0xff,0x16] 1870*9880d681SAndroid Build Coastguard Worker 1871*9880d681SAndroid Build Coastguard Worker 1872*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 1873*9880d681SAndroid Build Coastguard Worker@ RFE 1874*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 1875*9880d681SAndroid Build Coastguard Worker rfeda r2 1876*9880d681SAndroid Build Coastguard Worker rfedb r3 1877*9880d681SAndroid Build Coastguard Worker rfeia r5 1878*9880d681SAndroid Build Coastguard Worker rfeib r6 1879*9880d681SAndroid Build Coastguard Worker 1880*9880d681SAndroid Build Coastguard Worker rfeda r4! 1881*9880d681SAndroid Build Coastguard Worker rfedb r7! 1882*9880d681SAndroid Build Coastguard Worker rfeia r9! 1883*9880d681SAndroid Build Coastguard Worker rfeib r8! 1884*9880d681SAndroid Build Coastguard Worker 1885*9880d681SAndroid Build Coastguard Worker rfefa r2 1886*9880d681SAndroid Build Coastguard Worker rfeea r3 1887*9880d681SAndroid Build Coastguard Worker rfefd r5 1888*9880d681SAndroid Build Coastguard Worker rfeed r6 1889*9880d681SAndroid Build Coastguard Worker 1890*9880d681SAndroid Build Coastguard Worker rfefa r4! 1891*9880d681SAndroid Build Coastguard Worker rfeea r7! 1892*9880d681SAndroid Build Coastguard Worker rfefd r9! 1893*9880d681SAndroid Build Coastguard Worker rfeed r8! 1894*9880d681SAndroid Build Coastguard Worker 1895*9880d681SAndroid Build Coastguard Worker rfe r1 1896*9880d681SAndroid Build Coastguard Worker rfe r1! 1897*9880d681SAndroid Build Coastguard Worker 1898*9880d681SAndroid Build Coastguard Worker@ CHECK: rfeda r2 @ encoding: [0x00,0x0a,0x12,0xf8] 1899*9880d681SAndroid Build Coastguard Worker@ CHECK: rfedb r3 @ encoding: [0x00,0x0a,0x13,0xf9] 1900*9880d681SAndroid Build Coastguard Worker@ CHECK: rfeia r5 @ encoding: [0x00,0x0a,0x95,0xf8] 1901*9880d681SAndroid Build Coastguard Worker@ CHECK: rfeib r6 @ encoding: [0x00,0x0a,0x96,0xf9] 1902*9880d681SAndroid Build Coastguard Worker 1903*9880d681SAndroid Build Coastguard Worker@ CHECK: rfeda r4! @ encoding: [0x00,0x0a,0x34,0xf8] 1904*9880d681SAndroid Build Coastguard Worker@ CHECK: rfedb r7! @ encoding: [0x00,0x0a,0x37,0xf9] 1905*9880d681SAndroid Build Coastguard Worker@ CHECK: rfeia r9! @ encoding: [0x00,0x0a,0xb9,0xf8] 1906*9880d681SAndroid Build Coastguard Worker@ CHECK: rfeib r8! @ encoding: [0x00,0x0a,0xb8,0xf9] 1907*9880d681SAndroid Build Coastguard Worker 1908*9880d681SAndroid Build Coastguard Worker@ CHECK: rfeda r2 @ encoding: [0x00,0x0a,0x12,0xf8] 1909*9880d681SAndroid Build Coastguard Worker@ CHECK: rfedb r3 @ encoding: [0x00,0x0a,0x13,0xf9] 1910*9880d681SAndroid Build Coastguard Worker@ CHECK: rfeia r5 @ encoding: [0x00,0x0a,0x95,0xf8] 1911*9880d681SAndroid Build Coastguard Worker@ CHECK: rfeib r6 @ encoding: [0x00,0x0a,0x96,0xf9] 1912*9880d681SAndroid Build Coastguard Worker 1913*9880d681SAndroid Build Coastguard Worker@ CHECK: rfeda r4! @ encoding: [0x00,0x0a,0x34,0xf8] 1914*9880d681SAndroid Build Coastguard Worker@ CHECK: rfedb r7! @ encoding: [0x00,0x0a,0x37,0xf9] 1915*9880d681SAndroid Build Coastguard Worker@ CHECK: rfeia r9! @ encoding: [0x00,0x0a,0xb9,0xf8] 1916*9880d681SAndroid Build Coastguard Worker@ CHECK: rfeib r8! @ encoding: [0x00,0x0a,0xb8,0xf9] 1917*9880d681SAndroid Build Coastguard Worker 1918*9880d681SAndroid Build Coastguard Worker@ CHECK: rfeia r1 @ encoding: [0x00,0x0a,0x91,0xf8] 1919*9880d681SAndroid Build Coastguard Worker@ CHECK: rfeia r1! @ encoding: [0x00,0x0a,0xb1,0xf8] 1920*9880d681SAndroid Build Coastguard Worker 1921*9880d681SAndroid Build Coastguard Worker 1922*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 1923*9880d681SAndroid Build Coastguard Worker@ ROR 1924*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 1925*9880d681SAndroid Build Coastguard Worker ror r2, r4, #31 1926*9880d681SAndroid Build Coastguard Worker ror r2, r4, #1 1927*9880d681SAndroid Build Coastguard Worker ror r2, r4, #0 1928*9880d681SAndroid Build Coastguard Worker ror r4, #1 1929*9880d681SAndroid Build Coastguard Worker 1930*9880d681SAndroid Build Coastguard Worker@ CHECK: ror r2, r4, #31 @ encoding: [0xe4,0x2f,0xa0,0xe1] 1931*9880d681SAndroid Build Coastguard Worker@ CHECK: ror r2, r4, #1 @ encoding: [0xe4,0x20,0xa0,0xe1] 1932*9880d681SAndroid Build Coastguard Worker@ CHECK: mov r2, r4 @ encoding: [0x04,0x20,0xa0,0xe1] 1933*9880d681SAndroid Build Coastguard Worker@ CHECK: ror r4, r4, #1 @ encoding: [0xe4,0x40,0xa0,0xe1] 1934*9880d681SAndroid Build Coastguard Worker 1935*9880d681SAndroid Build Coastguard Worker 1936*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 1937*9880d681SAndroid Build Coastguard Worker@ RSB 1938*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 1939*9880d681SAndroid Build Coastguard Worker rsb r4, r5, #0xf000 1940*9880d681SAndroid Build Coastguard Worker rsb r4, r5, $0xf000 1941*9880d681SAndroid Build Coastguard Worker rsb r4, r5, 0xf000 1942*9880d681SAndroid Build Coastguard Worker rsb r7, r8, #(0xff << 16) 1943*9880d681SAndroid Build Coastguard Worker rsb r7, r8, #-2147483638 1944*9880d681SAndroid Build Coastguard Worker rsb r7, r8, #42, #2 1945*9880d681SAndroid Build Coastguard Worker rsb r7, r8, #40, #2 1946*9880d681SAndroid Build Coastguard Worker rsb r7, r8, $40, $2 1947*9880d681SAndroid Build Coastguard Worker rsb r7, r8, 40, 2 1948*9880d681SAndroid Build Coastguard Worker rsb r7, r8, (2 * 20), (1 << 1) 1949*9880d681SAndroid Build Coastguard Worker rsb r4, r5, r6 1950*9880d681SAndroid Build Coastguard Worker rsb r4, r5, r6, lsl #5 1951*9880d681SAndroid Build Coastguard Worker rsblo r4, r5, r6, lsr #5 1952*9880d681SAndroid Build Coastguard Worker rsb r4, r5, r6, lsr #5 1953*9880d681SAndroid Build Coastguard Worker rsb r4, r5, r6, asr #5 1954*9880d681SAndroid Build Coastguard Worker rsb r4, r5, r6, ror #5 1955*9880d681SAndroid Build Coastguard Worker rsb r6, r7, r8, lsl r9 1956*9880d681SAndroid Build Coastguard Worker rsb r6, r7, r8, lsr r9 1957*9880d681SAndroid Build Coastguard Worker rsb r6, r7, r8, asr r9 1958*9880d681SAndroid Build Coastguard Worker rsble r6, r7, r8, ror r9 1959*9880d681SAndroid Build Coastguard Worker rsb r4, r5, r6, rrx 1960*9880d681SAndroid Build Coastguard Worker 1961*9880d681SAndroid Build Coastguard Worker @ destination register is optional 1962*9880d681SAndroid Build Coastguard Worker rsb r5, #0xf000 1963*9880d681SAndroid Build Coastguard Worker rsb r5, $0xf000 1964*9880d681SAndroid Build Coastguard Worker rsb r5, 0xf000 1965*9880d681SAndroid Build Coastguard Worker rsb r7, #(0xff << 16) 1966*9880d681SAndroid Build Coastguard Worker rsb r7, #-2147483638 1967*9880d681SAndroid Build Coastguard Worker rsb r7, #42, #2 1968*9880d681SAndroid Build Coastguard Worker rsb r7, #40, #2 1969*9880d681SAndroid Build Coastguard Worker rsb r7, $40, $2 1970*9880d681SAndroid Build Coastguard Worker rsb r7, 40, 2 1971*9880d681SAndroid Build Coastguard Worker rsb r7, (2 * 20), (1 << 1) 1972*9880d681SAndroid Build Coastguard Worker rsb r4, r5 1973*9880d681SAndroid Build Coastguard Worker rsb r4, r5, lsl #5 1974*9880d681SAndroid Build Coastguard Worker rsb r4, r5, lsr #5 1975*9880d681SAndroid Build Coastguard Worker rsbne r4, r5, lsr #5 1976*9880d681SAndroid Build Coastguard Worker rsb r4, r5, asr #5 1977*9880d681SAndroid Build Coastguard Worker rsb r4, r5, ror #5 1978*9880d681SAndroid Build Coastguard Worker rsbgt r6, r7, lsl r9 1979*9880d681SAndroid Build Coastguard Worker rsb r6, r7, lsr r9 1980*9880d681SAndroid Build Coastguard Worker rsb r6, r7, asr r9 1981*9880d681SAndroid Build Coastguard Worker rsb r6, r7, ror r9 1982*9880d681SAndroid Build Coastguard Worker rsb r4, r5, rrx 1983*9880d681SAndroid Build Coastguard Worker 1984*9880d681SAndroid Build Coastguard Worker@ CHECK: rsb r4, r5, #61440 @ encoding: [0x0f,0x4a,0x65,0xe2] 1985*9880d681SAndroid Build Coastguard Worker@ CHECK: rsb r4, r5, #61440 @ encoding: [0x0f,0x4a,0x65,0xe2] 1986*9880d681SAndroid Build Coastguard Worker@ CHECK: rsb r4, r5, #61440 @ encoding: [0x0f,0x4a,0x65,0xe2] 1987*9880d681SAndroid Build Coastguard Worker@ CHECK: rsb r7, r8, #16711680 @ encoding: [0xff,0x78,0x68,0xe2] 1988*9880d681SAndroid Build Coastguard Worker@ CHECK: rsb r7, r8, #-2147483638 @ encoding: [0x2a,0x71,0x68,0xe2] 1989*9880d681SAndroid Build Coastguard Worker@ CHECK: rsb r7, r8, #-2147483638 @ encoding: [0x2a,0x71,0x68,0xe2] 1990*9880d681SAndroid Build Coastguard Worker@ CHECK: rsb r7, r8, #40, #2 @ encoding: [0x28,0x71,0x68,0xe2] 1991*9880d681SAndroid Build Coastguard Worker@ CHECK: rsb r7, r8, #40, #2 @ encoding: [0x28,0x71,0x68,0xe2] 1992*9880d681SAndroid Build Coastguard Worker@ CHECK: rsb r7, r8, #40, #2 @ encoding: [0x28,0x71,0x68,0xe2] 1993*9880d681SAndroid Build Coastguard Worker@ CHECK: rsb r7, r8, #40, #2 @ encoding: [0x28,0x71,0x68,0xe2] 1994*9880d681SAndroid Build Coastguard Worker@ CHECK: rsb r4, r5, r6 @ encoding: [0x06,0x40,0x65,0xe0] 1995*9880d681SAndroid Build Coastguard Worker@ CHECK: rsb r4, r5, r6, lsl #5 @ encoding: [0x86,0x42,0x65,0xe0] 1996*9880d681SAndroid Build Coastguard Worker@ CHECK: rsblo r4, r5, r6, lsr #5 @ encoding: [0xa6,0x42,0x65,0x30] 1997*9880d681SAndroid Build Coastguard Worker@ CHECK: rsb r4, r5, r6, lsr #5 @ encoding: [0xa6,0x42,0x65,0xe0] 1998*9880d681SAndroid Build Coastguard Worker@ CHECK: rsb r4, r5, r6, asr #5 @ encoding: [0xc6,0x42,0x65,0xe0] 1999*9880d681SAndroid Build Coastguard Worker@ CHECK: rsb r4, r5, r6, ror #5 @ encoding: [0xe6,0x42,0x65,0xe0] 2000*9880d681SAndroid Build Coastguard Worker@ CHECK: rsb r6, r7, r8, lsl r9 @ encoding: [0x18,0x69,0x67,0xe0] 2001*9880d681SAndroid Build Coastguard Worker@ CHECK: rsb r6, r7, r8, lsr r9 @ encoding: [0x38,0x69,0x67,0xe0] 2002*9880d681SAndroid Build Coastguard Worker@ CHECK: rsb r6, r7, r8, asr r9 @ encoding: [0x58,0x69,0x67,0xe0] 2003*9880d681SAndroid Build Coastguard Worker@ CHECK: rsble r6, r7, r8, ror r9 @ encoding: [0x78,0x69,0x67,0xd0] 2004*9880d681SAndroid Build Coastguard Worker@ CHECK: rsb r4, r5, r6, rrx @ encoding: [0x66,0x40,0x65,0xe0] 2005*9880d681SAndroid Build Coastguard Worker 2006*9880d681SAndroid Build Coastguard Worker@ CHECK: rsb r5, r5, #61440 @ encoding: [0x0f,0x5a,0x65,0xe2] 2007*9880d681SAndroid Build Coastguard Worker@ CHECK: rsb r5, r5, #61440 @ encoding: [0x0f,0x5a,0x65,0xe2] 2008*9880d681SAndroid Build Coastguard Worker@ CHECK: rsb r5, r5, #61440 @ encoding: [0x0f,0x5a,0x65,0xe2] 2009*9880d681SAndroid Build Coastguard Worker@ CHECK: rsb r7, r7, #16711680 @ encoding: [0xff,0x78,0x67,0xe2] 2010*9880d681SAndroid Build Coastguard Worker@ CHECK: rsb r7, r7, #-2147483638 @ encoding: [0x2a,0x71,0x67,0xe2] 2011*9880d681SAndroid Build Coastguard Worker@ CHECK: rsb r7, r7, #-2147483638 @ encoding: [0x2a,0x71,0x67,0xe2] 2012*9880d681SAndroid Build Coastguard Worker@ CHECK: rsb r7, r7, #40, #2 @ encoding: [0x28,0x71,0x67,0xe2] 2013*9880d681SAndroid Build Coastguard Worker@ CHECK: rsb r7, r7, #40, #2 @ encoding: [0x28,0x71,0x67,0xe2] 2014*9880d681SAndroid Build Coastguard Worker@ CHECK: rsb r7, r7, #40, #2 @ encoding: [0x28,0x71,0x67,0xe2] 2015*9880d681SAndroid Build Coastguard Worker@ CHECK: rsb r7, r7, #40, #2 @ encoding: [0x28,0x71,0x67,0xe2] 2016*9880d681SAndroid Build Coastguard Worker@ CHECK: rsb r4, r4, r5 @ encoding: [0x05,0x40,0x64,0xe0] 2017*9880d681SAndroid Build Coastguard Worker@ CHECK: rsb r4, r4, r5, lsl #5 @ encoding: [0x85,0x42,0x64,0xe0] 2018*9880d681SAndroid Build Coastguard Worker@ CHECK: rsb r4, r4, r5, lsr #5 @ encoding: [0xa5,0x42,0x64,0xe0] 2019*9880d681SAndroid Build Coastguard Worker@ CHECK: rsbne r4, r4, r5, lsr #5 @ encoding: [0xa5,0x42,0x64,0x10] 2020*9880d681SAndroid Build Coastguard Worker@ CHECK: rsb r4, r4, r5, asr #5 @ encoding: [0xc5,0x42,0x64,0xe0] 2021*9880d681SAndroid Build Coastguard Worker@ CHECK: rsb r4, r4, r5, ror #5 @ encoding: [0xe5,0x42,0x64,0xe0] 2022*9880d681SAndroid Build Coastguard Worker@ CHECK: rsbgt r6, r6, r7, lsl r9 @ encoding: [0x17,0x69,0x66,0xc0] 2023*9880d681SAndroid Build Coastguard Worker@ CHECK: rsb r6, r6, r7, lsr r9 @ encoding: [0x37,0x69,0x66,0xe0] 2024*9880d681SAndroid Build Coastguard Worker@ CHECK: rsb r6, r6, r7, asr r9 @ encoding: [0x57,0x69,0x66,0xe0] 2025*9880d681SAndroid Build Coastguard Worker@ CHECK: rsb r6, r6, r7, ror r9 @ encoding: [0x77,0x69,0x66,0xe0] 2026*9880d681SAndroid Build Coastguard Worker@ CHECK: rsb r4, r4, r5, rrx @ encoding: [0x65,0x40,0x64,0xe0] 2027*9880d681SAndroid Build Coastguard Worker 2028*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 2029*9880d681SAndroid Build Coastguard Worker@ RSBS 2030*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 2031*9880d681SAndroid Build Coastguard Worker rsbs r7, #16711680 2032*9880d681SAndroid Build Coastguard Worker rsbs r7, $16711680 2033*9880d681SAndroid Build Coastguard Worker rsbs r7, 16711680 2034*9880d681SAndroid Build Coastguard Worker rsbs r7, #(0xff << 16) 2035*9880d681SAndroid Build Coastguard Worker rsbs r7, r8, #-2147483638 2036*9880d681SAndroid Build Coastguard Worker rsbs r7, r8, #42, #2 2037*9880d681SAndroid Build Coastguard Worker rsbs r7, r8, #40, #2 2038*9880d681SAndroid Build Coastguard Worker rsbs r7, r8, $40, $2 2039*9880d681SAndroid Build Coastguard Worker rsbs r7, r8, 40, 2 2040*9880d681SAndroid Build Coastguard Worker rsbs r7, r8, (2 * 20), (1 << 1) 2041*9880d681SAndroid Build Coastguard Worker 2042*9880d681SAndroid Build Coastguard Worker@ CHECK: rsbs r7, r7, #16711680 @ encoding: [0xff,0x78,0x77,0xe2] 2043*9880d681SAndroid Build Coastguard Worker@ CHECK: rsbs r7, r7, #16711680 @ encoding: [0xff,0x78,0x77,0xe2] 2044*9880d681SAndroid Build Coastguard Worker@ CHECK: rsbs r7, r7, #16711680 @ encoding: [0xff,0x78,0x77,0xe2] 2045*9880d681SAndroid Build Coastguard Worker@ CHECK: rsbs r7, r7, #16711680 @ encoding: [0xff,0x78,0x77,0xe2] 2046*9880d681SAndroid Build Coastguard Worker@ CHECK: rsbs r7, r8, #-2147483638 @ encoding: [0x2a,0x71,0x78,0xe2] 2047*9880d681SAndroid Build Coastguard Worker@ CHECK: rsbs r7, r8, #-2147483638 @ encoding: [0x2a,0x71,0x78,0xe2] 2048*9880d681SAndroid Build Coastguard Worker@ CHECK: rsbs r7, r8, #40, #2 @ encoding: [0x28,0x71,0x78,0xe2] 2049*9880d681SAndroid Build Coastguard Worker@ CHECK: rsbs r7, r8, #40, #2 @ encoding: [0x28,0x71,0x78,0xe2] 2050*9880d681SAndroid Build Coastguard Worker@ CHECK: rsbs r7, r8, #40, #2 @ encoding: [0x28,0x71,0x78,0xe2] 2051*9880d681SAndroid Build Coastguard Worker@ CHECK: rsbs r7, r8, #40, #2 @ encoding: [0x28,0x71,0x78,0xe2] 2052*9880d681SAndroid Build Coastguard Worker 2053*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 2054*9880d681SAndroid Build Coastguard Worker@ RSC 2055*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 2056*9880d681SAndroid Build Coastguard Worker rsc r4, r5, #0xf000 2057*9880d681SAndroid Build Coastguard Worker rsc r4, r5, $0xf000 2058*9880d681SAndroid Build Coastguard Worker rsc r4, r5, 0xf000 2059*9880d681SAndroid Build Coastguard Worker rsc r7, r8, #(0xff << 16) 2060*9880d681SAndroid Build Coastguard Worker rsc r7, r8, #-2147483638 2061*9880d681SAndroid Build Coastguard Worker rsc r7, r8, #42, #2 2062*9880d681SAndroid Build Coastguard Worker rsc r7, r8, #40, #2 2063*9880d681SAndroid Build Coastguard Worker rsc r7, r8, $40, $2 2064*9880d681SAndroid Build Coastguard Worker rsc r7, r8, 40, 2 2065*9880d681SAndroid Build Coastguard Worker rsc r7, r8, (2 * 20), (1 << 1) 2066*9880d681SAndroid Build Coastguard Worker rsc r4, r5, r6 2067*9880d681SAndroid Build Coastguard Worker rsc r4, r5, r6, lsl #5 2068*9880d681SAndroid Build Coastguard Worker rsclo r4, r5, r6, lsr #5 2069*9880d681SAndroid Build Coastguard Worker rsc r4, r5, r6, lsr #5 2070*9880d681SAndroid Build Coastguard Worker rsc r4, r5, r6, asr #5 2071*9880d681SAndroid Build Coastguard Worker rsc r4, r5, r6, ror #5 2072*9880d681SAndroid Build Coastguard Worker rsc r6, r7, r8, lsl r9 2073*9880d681SAndroid Build Coastguard Worker rsc r6, r7, r8, lsr r9 2074*9880d681SAndroid Build Coastguard Worker rsc r6, r7, r8, asr r9 2075*9880d681SAndroid Build Coastguard Worker rscle r6, r7, r8, ror r9 2076*9880d681SAndroid Build Coastguard Worker rscs r1, r8, #4064 2077*9880d681SAndroid Build Coastguard Worker 2078*9880d681SAndroid Build Coastguard Worker @ destination register is optional 2079*9880d681SAndroid Build Coastguard Worker rsc r5, #0xf000 2080*9880d681SAndroid Build Coastguard Worker rsc r5, $0xf000 2081*9880d681SAndroid Build Coastguard Worker rsc r5, 0xf000 2082*9880d681SAndroid Build Coastguard Worker rsc r7, #(0xff << 16) 2083*9880d681SAndroid Build Coastguard Worker rsc r7, #-2147483638 2084*9880d681SAndroid Build Coastguard Worker rsc r7, #42, #2 2085*9880d681SAndroid Build Coastguard Worker rsc r7, #40, #2 2086*9880d681SAndroid Build Coastguard Worker rsc r7, $40, $2 2087*9880d681SAndroid Build Coastguard Worker rsc r7, 40, 2 2088*9880d681SAndroid Build Coastguard Worker rsc r7, (2 * 20), (1 << 1) 2089*9880d681SAndroid Build Coastguard Worker rsc r4, r5 2090*9880d681SAndroid Build Coastguard Worker rsc r4, r5, lsl #5 2091*9880d681SAndroid Build Coastguard Worker rsc r4, r5, lsr #5 2092*9880d681SAndroid Build Coastguard Worker rscne r4, r5, lsr #5 2093*9880d681SAndroid Build Coastguard Worker rsc r4, r5, asr #5 2094*9880d681SAndroid Build Coastguard Worker rsc r4, r5, ror #5 2095*9880d681SAndroid Build Coastguard Worker rscgt r6, r7, lsl r9 2096*9880d681SAndroid Build Coastguard Worker rsc r6, r7, lsr r9 2097*9880d681SAndroid Build Coastguard Worker rsc r6, r7, asr r9 2098*9880d681SAndroid Build Coastguard Worker rsc r6, r7, ror r9 2099*9880d681SAndroid Build Coastguard Worker 2100*9880d681SAndroid Build Coastguard Worker@ CHECK: rsc r4, r5, #61440 @ encoding: [0x0f,0x4a,0xe5,0xe2] 2101*9880d681SAndroid Build Coastguard Worker@ CHECK: rsc r4, r5, #61440 @ encoding: [0x0f,0x4a,0xe5,0xe2] 2102*9880d681SAndroid Build Coastguard Worker@ CHECK: rsc r4, r5, #61440 @ encoding: [0x0f,0x4a,0xe5,0xe2] 2103*9880d681SAndroid Build Coastguard Worker@ CHECK: rsc r7, r8, #16711680 @ encoding: [0xff,0x78,0xe8,0xe2] 2104*9880d681SAndroid Build Coastguard Worker@ CHECK: rsc r7, r8, #-2147483638 @ encoding: [0x2a,0x71,0xe8,0xe2] 2105*9880d681SAndroid Build Coastguard Worker@ CHECK: rsc r7, r8, #-2147483638 @ encoding: [0x2a,0x71,0xe8,0xe2] 2106*9880d681SAndroid Build Coastguard Worker@ CHECK: rsc r7, r8, #40, #2 @ encoding: [0x28,0x71,0xe8,0xe2] 2107*9880d681SAndroid Build Coastguard Worker@ CHECK: rsc r7, r8, #40, #2 @ encoding: [0x28,0x71,0xe8,0xe2] 2108*9880d681SAndroid Build Coastguard Worker@ CHECK: rsc r7, r8, #40, #2 @ encoding: [0x28,0x71,0xe8,0xe2] 2109*9880d681SAndroid Build Coastguard Worker@ CHECK: rsc r7, r8, #40, #2 @ encoding: [0x28,0x71,0xe8,0xe2] 2110*9880d681SAndroid Build Coastguard Worker@ CHECK: rsc r4, r5, r6 @ encoding: [0x06,0x40,0xe5,0xe0] 2111*9880d681SAndroid Build Coastguard Worker@ CHECK: rsc r4, r5, r6, lsl #5 @ encoding: [0x86,0x42,0xe5,0xe0] 2112*9880d681SAndroid Build Coastguard Worker@ CHECK: rsclo r4, r5, r6, lsr #5 @ encoding: [0xa6,0x42,0xe5,0x30] 2113*9880d681SAndroid Build Coastguard Worker@ CHECK: rsc r4, r5, r6, lsr #5 @ encoding: [0xa6,0x42,0xe5,0xe0] 2114*9880d681SAndroid Build Coastguard Worker@ CHECK: rsc r4, r5, r6, asr #5 @ encoding: [0xc6,0x42,0xe5,0xe0] 2115*9880d681SAndroid Build Coastguard Worker@ CHECK: rsc r4, r5, r6, ror #5 @ encoding: [0xe6,0x42,0xe5,0xe0] 2116*9880d681SAndroid Build Coastguard Worker@ CHECK: rsc r6, r7, r8, lsl r9 @ encoding: [0x18,0x69,0xe7,0xe0] 2117*9880d681SAndroid Build Coastguard Worker@ CHECK: rsc r6, r7, r8, lsr r9 @ encoding: [0x38,0x69,0xe7,0xe0] 2118*9880d681SAndroid Build Coastguard Worker@ CHECK: rsc r6, r7, r8, asr r9 @ encoding: [0x58,0x69,0xe7,0xe0] 2119*9880d681SAndroid Build Coastguard Worker@ CHECK: rscle r6, r7, r8, ror r9 @ encoding: [0x78,0x69,0xe7,0xd0] 2120*9880d681SAndroid Build Coastguard Worker@ CHECK: rscs r1, r8, #4064 @ encoding: [0xfe,0x1e,0xf8,0xe2] 2121*9880d681SAndroid Build Coastguard Worker 2122*9880d681SAndroid Build Coastguard Worker@ CHECK: rsc r5, r5, #61440 @ encoding: [0x0f,0x5a,0xe5,0xe2] 2123*9880d681SAndroid Build Coastguard Worker@ CHECK: rsc r5, r5, #61440 @ encoding: [0x0f,0x5a,0xe5,0xe2] 2124*9880d681SAndroid Build Coastguard Worker@ CHECK: rsc r5, r5, #61440 @ encoding: [0x0f,0x5a,0xe5,0xe2] 2125*9880d681SAndroid Build Coastguard Worker@ CHECK: rsc r7, r7, #16711680 @ encoding: [0xff,0x78,0xe7,0xe2] 2126*9880d681SAndroid Build Coastguard Worker@ CHECK: rsc r7, r7, #-2147483638 @ encoding: [0x2a,0x71,0xe7,0xe2] 2127*9880d681SAndroid Build Coastguard Worker@ CHECK: rsc r7, r7, #-2147483638 @ encoding: [0x2a,0x71,0xe7,0xe2] 2128*9880d681SAndroid Build Coastguard Worker@ CHECK: rsc r7, r7, #40, #2 @ encoding: [0x28,0x71,0xe7,0xe2] 2129*9880d681SAndroid Build Coastguard Worker@ CHECK: rsc r7, r7, #40, #2 @ encoding: [0x28,0x71,0xe7,0xe2] 2130*9880d681SAndroid Build Coastguard Worker@ CHECK: rsc r7, r7, #40, #2 @ encoding: [0x28,0x71,0xe7,0xe2] 2131*9880d681SAndroid Build Coastguard Worker@ CHECK: rsc r7, r7, #40, #2 @ encoding: [0x28,0x71,0xe7,0xe2] 2132*9880d681SAndroid Build Coastguard Worker@ CHECK: rsc r4, r4, r5 @ encoding: [0x05,0x40,0xe4,0xe0] 2133*9880d681SAndroid Build Coastguard Worker@ CHECK: rsc r4, r4, r5, lsl #5 @ encoding: [0x85,0x42,0xe4,0xe0] 2134*9880d681SAndroid Build Coastguard Worker@ CHECK: rsc r4, r4, r5, lsr #5 @ encoding: [0xa5,0x42,0xe4,0xe0] 2135*9880d681SAndroid Build Coastguard Worker@ CHECK: rscne r4, r4, r5, lsr #5 @ encoding: [0xa5,0x42,0xe4,0x10] 2136*9880d681SAndroid Build Coastguard Worker@ CHECK: rsc r4, r4, r5, asr #5 @ encoding: [0xc5,0x42,0xe4,0xe0] 2137*9880d681SAndroid Build Coastguard Worker@ CHECK: rsc r4, r4, r5, ror #5 @ encoding: [0xe5,0x42,0xe4,0xe0] 2138*9880d681SAndroid Build Coastguard Worker@ CHECK: rscgt r6, r6, r7, lsl r9 @ encoding: [0x17,0x69,0xe6,0xc0] 2139*9880d681SAndroid Build Coastguard Worker@ CHECK: rsc r6, r6, r7, lsr r9 @ encoding: [0x37,0x69,0xe6,0xe0] 2140*9880d681SAndroid Build Coastguard Worker@ CHECK: rsc r6, r6, r7, asr r9 @ encoding: [0x57,0x69,0xe6,0xe0] 2141*9880d681SAndroid Build Coastguard Worker@ CHECK: rsc r6, r6, r7, ror r9 @ encoding: [0x77,0x69,0xe6,0xe0] 2142*9880d681SAndroid Build Coastguard Worker 2143*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 2144*9880d681SAndroid Build Coastguard Worker@ RRX/RRXS 2145*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 2146*9880d681SAndroid Build Coastguard Worker 2147*9880d681SAndroid Build Coastguard Worker rrx r0, r1 2148*9880d681SAndroid Build Coastguard Worker rrx sp, pc 2149*9880d681SAndroid Build Coastguard Worker rrx pc, lr 2150*9880d681SAndroid Build Coastguard Worker rrx lr, sp 2151*9880d681SAndroid Build Coastguard Worker 2152*9880d681SAndroid Build Coastguard Worker@ CHECK: rrx r0, r1 @ encoding: [0x61,0x00,0xa0,0xe1] 2153*9880d681SAndroid Build Coastguard Worker@ CHECK: rrx sp, pc @ encoding: [0x6f,0xd0,0xa0,0xe1] 2154*9880d681SAndroid Build Coastguard Worker@ CHECK: rrx pc, lr @ encoding: [0x6e,0xf0,0xa0,0xe1] 2155*9880d681SAndroid Build Coastguard Worker@ CHECK: rrx lr, sp @ encoding: [0x6d,0xe0,0xa0,0xe1] 2156*9880d681SAndroid Build Coastguard Worker 2157*9880d681SAndroid Build Coastguard Worker rrxs r0, r1 2158*9880d681SAndroid Build Coastguard Worker rrxs sp, pc 2159*9880d681SAndroid Build Coastguard Worker rrxs pc, lr 2160*9880d681SAndroid Build Coastguard Worker rrxs lr, sp 2161*9880d681SAndroid Build Coastguard Worker 2162*9880d681SAndroid Build Coastguard Worker@CHECK: rrxs r0, r1 @ encoding: [0x61,0x00,0xb0,0xe1] 2163*9880d681SAndroid Build Coastguard Worker@CHECK: rrxs sp, pc @ encoding: [0x6f,0xd0,0xb0,0xe1] 2164*9880d681SAndroid Build Coastguard Worker@CHECK: rrxs pc, lr @ encoding: [0x6e,0xf0,0xb0,0xe1] 2165*9880d681SAndroid Build Coastguard Worker@CHECK: rrxs lr, sp @ encoding: [0x6d,0xe0,0xb0,0xe1] 2166*9880d681SAndroid Build Coastguard Worker 2167*9880d681SAndroid Build Coastguard Worker@ ------------------------------------------------------------------------------ 2168*9880d681SAndroid Build Coastguard Worker@ SADD16/SADD8 2169*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 2170*9880d681SAndroid Build Coastguard Worker sadd16 r1, r2, r3 2171*9880d681SAndroid Build Coastguard Worker sadd16gt r1, r2, r3 2172*9880d681SAndroid Build Coastguard Worker sadd8 r1, r2, r3 2173*9880d681SAndroid Build Coastguard Worker sadd8le r1, r2, r3 2174*9880d681SAndroid Build Coastguard Worker 2175*9880d681SAndroid Build Coastguard Worker@ CHECK: sadd16 r1, r2, r3 @ encoding: [0x13,0x1f,0x12,0xe6] 2176*9880d681SAndroid Build Coastguard Worker@ CHECK: sadd16gt r1, r2, r3 @ encoding: [0x13,0x1f,0x12,0xc6] 2177*9880d681SAndroid Build Coastguard Worker@ CHECK: sadd8 r1, r2, r3 @ encoding: [0x93,0x1f,0x12,0xe6] 2178*9880d681SAndroid Build Coastguard Worker@ CHECK: sadd8le r1, r2, r3 @ encoding: [0x93,0x1f,0x12,0xd6] 2179*9880d681SAndroid Build Coastguard Worker 2180*9880d681SAndroid Build Coastguard Worker 2181*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 2182*9880d681SAndroid Build Coastguard Worker@ SASX 2183*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 2184*9880d681SAndroid Build Coastguard Worker sasx r9, r12, r0 2185*9880d681SAndroid Build Coastguard Worker sasxeq r9, r12, r0 2186*9880d681SAndroid Build Coastguard Worker 2187*9880d681SAndroid Build Coastguard Worker@ CHECK: sasx r9, r12, r0 @ encoding: [0x30,0x9f,0x1c,0xe6] 2188*9880d681SAndroid Build Coastguard Worker@ CHECK: sasxeq r9, r12, r0 @ encoding: [0x30,0x9f,0x1c,0x06] 2189*9880d681SAndroid Build Coastguard Worker 2190*9880d681SAndroid Build Coastguard Worker 2191*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 2192*9880d681SAndroid Build Coastguard Worker@ SBC 2193*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 2194*9880d681SAndroid Build Coastguard Worker sbc r4, r5, #0xf000 2195*9880d681SAndroid Build Coastguard Worker sbc r4, r5, $0xf000 2196*9880d681SAndroid Build Coastguard Worker sbc r4, r5, 0xf000 2197*9880d681SAndroid Build Coastguard Worker sbc r7, r8, #(0xff << 16) 2198*9880d681SAndroid Build Coastguard Worker sbc r7, r8, #-2147483638 2199*9880d681SAndroid Build Coastguard Worker sbc r7, r8, #42, #2 2200*9880d681SAndroid Build Coastguard Worker sbc r7, r8, #40, #2 2201*9880d681SAndroid Build Coastguard Worker sbc r7, r8, $40, $2 2202*9880d681SAndroid Build Coastguard Worker sbc r7, r8, 40, 2 2203*9880d681SAndroid Build Coastguard Worker sbc r7, r8, (20 * 2), (1 << 1) 2204*9880d681SAndroid Build Coastguard Worker sbc r4, r5, r6 2205*9880d681SAndroid Build Coastguard Worker sbc r4, r5, r6, lsl #5 2206*9880d681SAndroid Build Coastguard Worker sbc r4, r5, r6, lsr #5 2207*9880d681SAndroid Build Coastguard Worker sbc r4, r5, r6, lsr #5 2208*9880d681SAndroid Build Coastguard Worker sbc r4, r5, r6, asr #5 2209*9880d681SAndroid Build Coastguard Worker sbc r4, r5, r6, ror #5 2210*9880d681SAndroid Build Coastguard Worker sbc r6, r7, r8, lsl r9 2211*9880d681SAndroid Build Coastguard Worker sbc r6, r7, r8, lsr r9 2212*9880d681SAndroid Build Coastguard Worker sbc r6, r7, r8, asr r9 2213*9880d681SAndroid Build Coastguard Worker sbc r6, r7, r8, ror r9 2214*9880d681SAndroid Build Coastguard Worker 2215*9880d681SAndroid Build Coastguard Worker @ destination register is optional 2216*9880d681SAndroid Build Coastguard Worker sbc r5, #0xf000 2217*9880d681SAndroid Build Coastguard Worker sbc r5, $0xf000 2218*9880d681SAndroid Build Coastguard Worker sbc r5, 0xf000 2219*9880d681SAndroid Build Coastguard Worker sbc r7, #(0xff << 16) 2220*9880d681SAndroid Build Coastguard Worker sbc r7, #-2147483638 2221*9880d681SAndroid Build Coastguard Worker sbc r7, #42, #2 2222*9880d681SAndroid Build Coastguard Worker sbc r7, #40, #2 2223*9880d681SAndroid Build Coastguard Worker sbc r7, $40, $2 2224*9880d681SAndroid Build Coastguard Worker sbc r7, 40, 2 2225*9880d681SAndroid Build Coastguard Worker sbc r7, (20 * 2), (1 << 1) 2226*9880d681SAndroid Build Coastguard Worker sbc r4, r5 2227*9880d681SAndroid Build Coastguard Worker sbc r4, r5, lsl #5 2228*9880d681SAndroid Build Coastguard Worker sbc r4, r5, lsr #5 2229*9880d681SAndroid Build Coastguard Worker sbc r4, r5, lsr #5 2230*9880d681SAndroid Build Coastguard Worker sbc r4, r5, asr #5 2231*9880d681SAndroid Build Coastguard Worker sbc r4, r5, ror #5 2232*9880d681SAndroid Build Coastguard Worker sbc r6, r7, lsl r9 2233*9880d681SAndroid Build Coastguard Worker sbc r6, r7, lsr r9 2234*9880d681SAndroid Build Coastguard Worker sbc r6, r7, asr r9 2235*9880d681SAndroid Build Coastguard Worker sbc r6, r7, ror r9 2236*9880d681SAndroid Build Coastguard Worker 2237*9880d681SAndroid Build Coastguard Worker@ CHECK: sbc r4, r5, #61440 @ encoding: [0x0f,0x4a,0xc5,0xe2] 2238*9880d681SAndroid Build Coastguard Worker@ CHECK: sbc r4, r5, #61440 @ encoding: [0x0f,0x4a,0xc5,0xe2] 2239*9880d681SAndroid Build Coastguard Worker@ CHECK: sbc r4, r5, #61440 @ encoding: [0x0f,0x4a,0xc5,0xe2] 2240*9880d681SAndroid Build Coastguard Worker@ CHECK: sbc r7, r8, #16711680 @ encoding: [0xff,0x78,0xc8,0xe2] 2241*9880d681SAndroid Build Coastguard Worker@ CHECK: sbc r7, r8, #-2147483638 @ encoding: [0x2a,0x71,0xc8,0xe2] 2242*9880d681SAndroid Build Coastguard Worker@ CHECK: sbc r7, r8, #-2147483638 @ encoding: [0x2a,0x71,0xc8,0xe2] 2243*9880d681SAndroid Build Coastguard Worker@ CHECK: sbc r7, r8, #40, #2 @ encoding: [0x28,0x71,0xc8,0xe2] 2244*9880d681SAndroid Build Coastguard Worker@ CHECK: sbc r7, r8, #40, #2 @ encoding: [0x28,0x71,0xc8,0xe2] 2245*9880d681SAndroid Build Coastguard Worker@ CHECK: sbc r7, r8, #40, #2 @ encoding: [0x28,0x71,0xc8,0xe2] 2246*9880d681SAndroid Build Coastguard Worker@ CHECK: sbc r7, r8, #40, #2 @ encoding: [0x28,0x71,0xc8,0xe2] 2247*9880d681SAndroid Build Coastguard Worker@ CHECK: sbc r4, r5, r6 @ encoding: [0x06,0x40,0xc5,0xe0] 2248*9880d681SAndroid Build Coastguard Worker@ CHECK: sbc r4, r5, r6, lsl #5 @ encoding: [0x86,0x42,0xc5,0xe0] 2249*9880d681SAndroid Build Coastguard Worker@ CHECK: sbc r4, r5, r6, lsr #5 @ encoding: [0xa6,0x42,0xc5,0xe0] 2250*9880d681SAndroid Build Coastguard Worker@ CHECK: sbc r4, r5, r6, lsr #5 @ encoding: [0xa6,0x42,0xc5,0xe0] 2251*9880d681SAndroid Build Coastguard Worker@ CHECK: sbc r4, r5, r6, asr #5 @ encoding: [0xc6,0x42,0xc5,0xe0] 2252*9880d681SAndroid Build Coastguard Worker@ CHECK: sbc r4, r5, r6, ror #5 @ encoding: [0xe6,0x42,0xc5,0xe0] 2253*9880d681SAndroid Build Coastguard Worker@ CHECK: sbc r6, r7, r8, lsl r9 @ encoding: [0x18,0x69,0xc7,0xe0] 2254*9880d681SAndroid Build Coastguard Worker@ CHECK: sbc r6, r7, r8, lsr r9 @ encoding: [0x38,0x69,0xc7,0xe0] 2255*9880d681SAndroid Build Coastguard Worker@ CHECK: sbc r6, r7, r8, asr r9 @ encoding: [0x58,0x69,0xc7,0xe0] 2256*9880d681SAndroid Build Coastguard Worker@ CHECK: sbc r6, r7, r8, ror r9 @ encoding: [0x78,0x69,0xc7,0xe0] 2257*9880d681SAndroid Build Coastguard Worker 2258*9880d681SAndroid Build Coastguard Worker@ CHECK: sbc r5, r5, #61440 @ encoding: [0x0f,0x5a,0xc5,0xe2] 2259*9880d681SAndroid Build Coastguard Worker@ CHECK: sbc r5, r5, #61440 @ encoding: [0x0f,0x5a,0xc5,0xe2] 2260*9880d681SAndroid Build Coastguard Worker@ CHECK: sbc r5, r5, #61440 @ encoding: [0x0f,0x5a,0xc5,0xe2] 2261*9880d681SAndroid Build Coastguard Worker@ CHECK: sbc r7, r7, #16711680 @ encoding: [0xff,0x78,0xc7,0xe2] 2262*9880d681SAndroid Build Coastguard Worker@ CHECK: sbc r7, r7, #-2147483638 @ encoding: [0x2a,0x71,0xc7,0xe2] 2263*9880d681SAndroid Build Coastguard Worker@ CHECK: sbc r7, r7, #-2147483638 @ encoding: [0x2a,0x71,0xc7,0xe2] 2264*9880d681SAndroid Build Coastguard Worker@ CHECK: sbc r7, r7, #40, #2 @ encoding: [0x28,0x71,0xc7,0xe2] 2265*9880d681SAndroid Build Coastguard Worker@ CHECK: sbc r7, r7, #40, #2 @ encoding: [0x28,0x71,0xc7,0xe2] 2266*9880d681SAndroid Build Coastguard Worker@ CHECK: sbc r7, r7, #40, #2 @ encoding: [0x28,0x71,0xc7,0xe2] 2267*9880d681SAndroid Build Coastguard Worker@ CHECK: sbc r7, r7, #40, #2 @ encoding: [0x28,0x71,0xc7,0xe2] 2268*9880d681SAndroid Build Coastguard Worker@ CHECK: sbc r4, r4, r5 @ encoding: [0x05,0x40,0xc4,0xe0] 2269*9880d681SAndroid Build Coastguard Worker@ CHECK: sbc r4, r4, r5, lsl #5 @ encoding: [0x85,0x42,0xc4,0xe0] 2270*9880d681SAndroid Build Coastguard Worker@ CHECK: sbc r4, r4, r5, lsr #5 @ encoding: [0xa5,0x42,0xc4,0xe0] 2271*9880d681SAndroid Build Coastguard Worker@ CHECK: sbc r4, r4, r5, lsr #5 @ encoding: [0xa5,0x42,0xc4,0xe0] 2272*9880d681SAndroid Build Coastguard Worker@ CHECK: sbc r4, r4, r5, asr #5 @ encoding: [0xc5,0x42,0xc4,0xe0] 2273*9880d681SAndroid Build Coastguard Worker@ CHECK: sbc r4, r4, r5, ror #5 @ encoding: [0xe5,0x42,0xc4,0xe0] 2274*9880d681SAndroid Build Coastguard Worker@ CHECK: sbc r6, r6, r7, lsl r9 @ encoding: [0x17,0x69,0xc6,0xe0] 2275*9880d681SAndroid Build Coastguard Worker@ CHECK: sbc r6, r6, r7, lsr r9 @ encoding: [0x37,0x69,0xc6,0xe0] 2276*9880d681SAndroid Build Coastguard Worker@ CHECK: sbc r6, r6, r7, asr r9 @ encoding: [0x57,0x69,0xc6,0xe0] 2277*9880d681SAndroid Build Coastguard Worker@ CHECK: sbc r6, r6, r7, ror r9 @ encoding: [0x77,0x69,0xc6,0xe0] 2278*9880d681SAndroid Build Coastguard Worker 2279*9880d681SAndroid Build Coastguard Worker 2280*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 2281*9880d681SAndroid Build Coastguard Worker@ SBFX 2282*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 2283*9880d681SAndroid Build Coastguard Worker sbfx r4, r5, #16, #1 2284*9880d681SAndroid Build Coastguard Worker sbfxgt r4, r5, #16, #16 2285*9880d681SAndroid Build Coastguard Worker 2286*9880d681SAndroid Build Coastguard Worker@ CHECK: sbfx r4, r5, #16, #1 @ encoding: [0x55,0x48,0xa0,0xe7] 2287*9880d681SAndroid Build Coastguard Worker@ CHECK: sbfxgt r4, r5, #16, #16 @ encoding: [0x55,0x48,0xaf,0xc7] 2288*9880d681SAndroid Build Coastguard Worker 2289*9880d681SAndroid Build Coastguard Worker 2290*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 2291*9880d681SAndroid Build Coastguard Worker@ SEL 2292*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 2293*9880d681SAndroid Build Coastguard Worker sel r9, r2, r1 2294*9880d681SAndroid Build Coastguard Worker selne r9, r2, r1 2295*9880d681SAndroid Build Coastguard Worker 2296*9880d681SAndroid Build Coastguard Worker@ CHECK: sel r9, r2, r1 @ encoding: [0xb1,0x9f,0x82,0xe6] 2297*9880d681SAndroid Build Coastguard Worker@ CHECK: selne r9, r2, r1 @ encoding: [0xb1,0x9f,0x82,0x16] 2298*9880d681SAndroid Build Coastguard Worker 2299*9880d681SAndroid Build Coastguard Worker 2300*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 2301*9880d681SAndroid Build Coastguard Worker@ SETEND 2302*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 2303*9880d681SAndroid Build Coastguard Worker setend be 2304*9880d681SAndroid Build Coastguard Worker setend BE 2305*9880d681SAndroid Build Coastguard Worker setend le 2306*9880d681SAndroid Build Coastguard Worker setend LE 2307*9880d681SAndroid Build Coastguard Worker 2308*9880d681SAndroid Build Coastguard Worker@ CHECK: setend be @ encoding: [0x00,0x02,0x01,0xf1] 2309*9880d681SAndroid Build Coastguard Worker@ CHECK: setend be @ encoding: [0x00,0x02,0x01,0xf1] 2310*9880d681SAndroid Build Coastguard Worker@ CHECK: setend le @ encoding: [0x00,0x00,0x01,0xf1] 2311*9880d681SAndroid Build Coastguard Worker@ CHECK: setend le @ encoding: [0x00,0x00,0x01,0xf1] 2312*9880d681SAndroid Build Coastguard Worker 2313*9880d681SAndroid Build Coastguard Worker 2314*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 2315*9880d681SAndroid Build Coastguard Worker@ SEV 2316*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 2317*9880d681SAndroid Build Coastguard Worker sev 2318*9880d681SAndroid Build Coastguard Worker seveq 2319*9880d681SAndroid Build Coastguard Worker 2320*9880d681SAndroid Build Coastguard Worker@ CHECK: sev @ encoding: [0x04,0xf0,0x20,0xe3] 2321*9880d681SAndroid Build Coastguard Worker@ CHECK: seveq @ encoding: [0x04,0xf0,0x20,0x03] 2322*9880d681SAndroid Build Coastguard Worker 2323*9880d681SAndroid Build Coastguard Worker 2324*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 2325*9880d681SAndroid Build Coastguard Worker@ SHADD16/SHADD8 2326*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 2327*9880d681SAndroid Build Coastguard Worker shadd16 r4, r8, r2 2328*9880d681SAndroid Build Coastguard Worker shadd16gt r4, r8, r2 2329*9880d681SAndroid Build Coastguard Worker shadd8 r4, r8, r2 2330*9880d681SAndroid Build Coastguard Worker shadd8gt r4, r8, r2 2331*9880d681SAndroid Build Coastguard Worker 2332*9880d681SAndroid Build Coastguard Worker@ CHECK: shadd16 r4, r8, r2 @ encoding: [0x12,0x4f,0x38,0xe6] 2333*9880d681SAndroid Build Coastguard Worker@ CHECK: shadd16gt r4, r8, r2 @ encoding: [0x12,0x4f,0x38,0xc6] 2334*9880d681SAndroid Build Coastguard Worker@ CHECK: shadd8 r4, r8, r2 @ encoding: [0x92,0x4f,0x38,0xe6] 2335*9880d681SAndroid Build Coastguard Worker@ CHECK: shadd8gt r4, r8, r2 @ encoding: [0x92,0x4f,0x38,0xc6] 2336*9880d681SAndroid Build Coastguard Worker 2337*9880d681SAndroid Build Coastguard Worker 2338*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 2339*9880d681SAndroid Build Coastguard Worker@ SHASX 2340*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 2341*9880d681SAndroid Build Coastguard Worker shasx r4, r8, r2 2342*9880d681SAndroid Build Coastguard Worker shasxgt r4, r8, r2 2343*9880d681SAndroid Build Coastguard Worker 2344*9880d681SAndroid Build Coastguard Worker@ CHECK: shasx r4, r8, r2 @ encoding: [0x32,0x4f,0x38,0xe6] 2345*9880d681SAndroid Build Coastguard Worker@ CHECK: shasxgt r4, r8, r2 @ encoding: [0x32,0x4f,0x38,0xc6] 2346*9880d681SAndroid Build Coastguard Worker 2347*9880d681SAndroid Build Coastguard Worker 2348*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 2349*9880d681SAndroid Build Coastguard Worker@ SHSUB16/SHSUB8 2350*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 2351*9880d681SAndroid Build Coastguard Worker shsub16 r4, r8, r2 2352*9880d681SAndroid Build Coastguard Worker shsub16gt r4, r8, r2 2353*9880d681SAndroid Build Coastguard Worker shsub8 r4, r8, r2 2354*9880d681SAndroid Build Coastguard Worker shsub8gt r4, r8, r2 2355*9880d681SAndroid Build Coastguard Worker 2356*9880d681SAndroid Build Coastguard Worker@ CHECK: shsub16 r4, r8, r2 @ encoding: [0x72,0x4f,0x38,0xe6] 2357*9880d681SAndroid Build Coastguard Worker@ CHECK: shsub16gt r4, r8, r2 @ encoding: [0x72,0x4f,0x38,0xc6] 2358*9880d681SAndroid Build Coastguard Worker@ CHECK: shsub8 r4, r8, r2 @ encoding: [0xf2,0x4f,0x38,0xe6] 2359*9880d681SAndroid Build Coastguard Worker@ CHECK: shsub8gt r4, r8, r2 @ encoding: [0xf2,0x4f,0x38,0xc6] 2360*9880d681SAndroid Build Coastguard Worker 2361*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 2362*9880d681SAndroid Build Coastguard Worker@ SMLABB/SMLABT/SMLATB/SMLATT 2363*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 2364*9880d681SAndroid Build Coastguard Worker smlabb r3, r1, r9, r0 2365*9880d681SAndroid Build Coastguard Worker smlabt r5, r6, r4, r1 2366*9880d681SAndroid Build Coastguard Worker smlatb r4, r2, r3, r2 2367*9880d681SAndroid Build Coastguard Worker smlatt r8, r3, r8, r4 2368*9880d681SAndroid Build Coastguard Worker smlabbge r3, r1, r9, r0 2369*9880d681SAndroid Build Coastguard Worker smlabtle r5, r6, r4, r1 2370*9880d681SAndroid Build Coastguard Worker smlatbne r4, r2, r3, r2 2371*9880d681SAndroid Build Coastguard Worker smlatteq r8, r3, r8, r4 2372*9880d681SAndroid Build Coastguard Worker 2373*9880d681SAndroid Build Coastguard Worker@ CHECK: smlabb r3, r1, r9, r0 @ encoding: [0x81,0x09,0x03,0xe1] 2374*9880d681SAndroid Build Coastguard Worker@ CHECK: smlabt r5, r6, r4, r1 @ encoding: [0xc6,0x14,0x05,0xe1] 2375*9880d681SAndroid Build Coastguard Worker@ CHECK: smlatb r4, r2, r3, r2 @ encoding: [0xa2,0x23,0x04,0xe1] 2376*9880d681SAndroid Build Coastguard Worker@ CHECK: smlatt r8, r3, r8, r4 @ encoding: [0xe3,0x48,0x08,0xe1] 2377*9880d681SAndroid Build Coastguard Worker@ CHECK: smlabbge r3, r1, r9, r0 @ encoding: [0x81,0x09,0x03,0xa1] 2378*9880d681SAndroid Build Coastguard Worker@ CHECK: smlabtle r5, r6, r4, r1 @ encoding: [0xc6,0x14,0x05,0xd1] 2379*9880d681SAndroid Build Coastguard Worker@ CHECK: smlatbne r4, r2, r3, r2 @ encoding: [0xa2,0x23,0x04,0x11] 2380*9880d681SAndroid Build Coastguard Worker@ CHECK: smlatteq r8, r3, r8, r4 @ encoding: [0xe3,0x48,0x08,0x01] 2381*9880d681SAndroid Build Coastguard Worker 2382*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 2383*9880d681SAndroid Build Coastguard Worker@ SMLAD/SMLADX 2384*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 2385*9880d681SAndroid Build Coastguard Worker smlad r2, r3, r5, r8 2386*9880d681SAndroid Build Coastguard Worker smladx r2, r3, r5, r8 2387*9880d681SAndroid Build Coastguard Worker smladeq r2, r3, r5, r8 2388*9880d681SAndroid Build Coastguard Worker smladxhi r2, r3, r5, r8 2389*9880d681SAndroid Build Coastguard Worker 2390*9880d681SAndroid Build Coastguard Worker@ CHECK: smlad r2, r3, r5, r8 @ encoding: [0x13,0x85,0x02,0xe7] 2391*9880d681SAndroid Build Coastguard Worker@ CHECK: smladx r2, r3, r5, r8 @ encoding: [0x33,0x85,0x02,0xe7] 2392*9880d681SAndroid Build Coastguard Worker@ CHECK: smladeq r2, r3, r5, r8 @ encoding: [0x13,0x85,0x02,0x07] 2393*9880d681SAndroid Build Coastguard Worker@ CHECK: smladxhi r2, r3, r5, r8 @ encoding: [0x33,0x85,0x02,0x87] 2394*9880d681SAndroid Build Coastguard Worker 2395*9880d681SAndroid Build Coastguard Worker 2396*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 2397*9880d681SAndroid Build Coastguard Worker@ SMLAL 2398*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 2399*9880d681SAndroid Build Coastguard Worker smlal r2, r3, r5, r8 2400*9880d681SAndroid Build Coastguard Worker smlals r2, r3, r5, r8 2401*9880d681SAndroid Build Coastguard Worker smlaleq r2, r3, r5, r8 2402*9880d681SAndroid Build Coastguard Worker smlalshi r2, r3, r5, r8 2403*9880d681SAndroid Build Coastguard Worker 2404*9880d681SAndroid Build Coastguard Worker@ CHECK: smlal r2, r3, r5, r8 @ encoding: [0x95,0x28,0xe3,0xe0] 2405*9880d681SAndroid Build Coastguard Worker@ CHECK: smlals r2, r3, r5, r8 @ encoding: [0x95,0x28,0xf3,0xe0] 2406*9880d681SAndroid Build Coastguard Worker@ CHECK: smlaleq r2, r3, r5, r8 @ encoding: [0x95,0x28,0xe3,0x00] 2407*9880d681SAndroid Build Coastguard Worker@ CHECK: smlalshi r2, r3, r5, r8 @ encoding: [0x95,0x28,0xf3,0x80] 2408*9880d681SAndroid Build Coastguard Worker 2409*9880d681SAndroid Build Coastguard Worker 2410*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 2411*9880d681SAndroid Build Coastguard Worker@ SMLALBB/SMLALBT/SMLALTB/SMLALTT 2412*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 2413*9880d681SAndroid Build Coastguard Worker smlalbb r3, r1, r9, r0 2414*9880d681SAndroid Build Coastguard Worker smlalbt r5, r6, r4, r1 2415*9880d681SAndroid Build Coastguard Worker smlaltb r4, r2, r3, r2 2416*9880d681SAndroid Build Coastguard Worker smlaltt r8, r3, r8, r4 2417*9880d681SAndroid Build Coastguard Worker smlalbbge r3, r1, r9, r0 2418*9880d681SAndroid Build Coastguard Worker smlalbtle r5, r6, r4, r1 2419*9880d681SAndroid Build Coastguard Worker smlaltbne r4, r2, r3, r2 2420*9880d681SAndroid Build Coastguard Worker smlaltteq r8, r3, r8, r4 2421*9880d681SAndroid Build Coastguard Worker 2422*9880d681SAndroid Build Coastguard Worker@ CHECK: smlalbb r3, r1, r9, r0 @ encoding: [0x89,0x30,0x41,0xe1] 2423*9880d681SAndroid Build Coastguard Worker@ CHECK: smlalbt r5, r6, r4, r1 @ encoding: [0xc4,0x51,0x46,0xe1] 2424*9880d681SAndroid Build Coastguard Worker@ CHECK: smlaltb r4, r2, r3, r2 @ encoding: [0xa3,0x42,0x42,0xe1] 2425*9880d681SAndroid Build Coastguard Worker@ CHECK: smlaltt r8, r3, r8, r4 @ encoding: [0xe8,0x84,0x43,0xe1] 2426*9880d681SAndroid Build Coastguard Worker@ CHECK: smlalbbge r3, r1, r9, r0 @ encoding: [0x89,0x30,0x41,0xa1] 2427*9880d681SAndroid Build Coastguard Worker@ CHECK: smlalbtle r5, r6, r4, r1 @ encoding: [0xc4,0x51,0x46,0xd1] 2428*9880d681SAndroid Build Coastguard Worker@ CHECK: smlaltbne r4, r2, r3, r2 @ encoding: [0xa3,0x42,0x42,0x11] 2429*9880d681SAndroid Build Coastguard Worker@ CHECK: smlaltteq r8, r3, r8, r4 @ encoding: [0xe8,0x84,0x43,0x01] 2430*9880d681SAndroid Build Coastguard Worker 2431*9880d681SAndroid Build Coastguard Worker 2432*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 2433*9880d681SAndroid Build Coastguard Worker@ SMLALD/SMLALDX 2434*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 2435*9880d681SAndroid Build Coastguard Worker smlald r2, r3, r5, r8 2436*9880d681SAndroid Build Coastguard Worker smlaldx r2, r3, r5, r8 2437*9880d681SAndroid Build Coastguard Worker smlaldeq r2, r3, r5, r8 2438*9880d681SAndroid Build Coastguard Worker smlaldxhi r2, r3, r5, r8 2439*9880d681SAndroid Build Coastguard Worker 2440*9880d681SAndroid Build Coastguard Worker@ CHECK: smlald r2, r3, r5, r8 @ encoding: [0x15,0x28,0x43,0xe7] 2441*9880d681SAndroid Build Coastguard Worker@ CHECK: smlaldx r2, r3, r5, r8 @ encoding: [0x35,0x28,0x43,0xe7] 2442*9880d681SAndroid Build Coastguard Worker@ CHECK: smlaldeq r2, r3, r5, r8 @ encoding: [0x15,0x28,0x43,0x07] 2443*9880d681SAndroid Build Coastguard Worker@ CHECK: smlaldxhi r2, r3, r5, r8 @ encoding: [0x35,0x28,0x43,0x87] 2444*9880d681SAndroid Build Coastguard Worker 2445*9880d681SAndroid Build Coastguard Worker 2446*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 2447*9880d681SAndroid Build Coastguard Worker@ SMLAWB/SMLAWT 2448*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 2449*9880d681SAndroid Build Coastguard Worker smlawb r2, r3, r10, r8 2450*9880d681SAndroid Build Coastguard Worker smlawt r8, r3, r5, r9 2451*9880d681SAndroid Build Coastguard Worker smlawbeq r2, r7, r5, r8 2452*9880d681SAndroid Build Coastguard Worker smlawthi r1, r3, r0, r8 2453*9880d681SAndroid Build Coastguard Worker 2454*9880d681SAndroid Build Coastguard Worker@ CHECK: smlawb r2, r3, r10, r8 @ encoding: [0x83,0x8a,0x22,0xe1] 2455*9880d681SAndroid Build Coastguard Worker@ CHECK: smlawt r8, r3, r5, r9 @ encoding: [0xc3,0x95,0x28,0xe1] 2456*9880d681SAndroid Build Coastguard Worker@ CHECK: smlawbeq r2, r7, r5, r8 @ encoding: [0x87,0x85,0x22,0x01] 2457*9880d681SAndroid Build Coastguard Worker@ CHECK: smlawthi r1, r3, r0, r8 @ encoding: [0xc3,0x80,0x21,0x81] 2458*9880d681SAndroid Build Coastguard Worker 2459*9880d681SAndroid Build Coastguard Worker 2460*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 2461*9880d681SAndroid Build Coastguard Worker@ SMLSD/SMLSDX 2462*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 2463*9880d681SAndroid Build Coastguard Worker smlsd r2, r3, r5, r8 2464*9880d681SAndroid Build Coastguard Worker smlsdx r2, r3, r5, r8 2465*9880d681SAndroid Build Coastguard Worker smlsdeq r2, r3, r5, r8 2466*9880d681SAndroid Build Coastguard Worker smlsdxhi r2, r3, r5, r8 2467*9880d681SAndroid Build Coastguard Worker 2468*9880d681SAndroid Build Coastguard Worker@ CHECK: smlsd r2, r3, r5, r8 @ encoding: [0x53,0x85,0x02,0xe7] 2469*9880d681SAndroid Build Coastguard Worker@ CHECK: smlsdx r2, r3, r5, r8 @ encoding: [0x73,0x85,0x02,0xe7] 2470*9880d681SAndroid Build Coastguard Worker@ CHECK: smlsdeq r2, r3, r5, r8 @ encoding: [0x53,0x85,0x02,0x07] 2471*9880d681SAndroid Build Coastguard Worker@ CHECK: smlsdxhi r2, r3, r5, r8 @ encoding: [0x73,0x85,0x02,0x87] 2472*9880d681SAndroid Build Coastguard Worker 2473*9880d681SAndroid Build Coastguard Worker 2474*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 2475*9880d681SAndroid Build Coastguard Worker@ SMLSLD/SMLSLDX 2476*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 2477*9880d681SAndroid Build Coastguard Worker smlsld r2, r9, r5, r1 2478*9880d681SAndroid Build Coastguard Worker smlsldx r4, r11, r2, r8 2479*9880d681SAndroid Build Coastguard Worker smlsldeq r8, r2, r5, r6 2480*9880d681SAndroid Build Coastguard Worker smlsldxhi r1, r0, r3, r8 2481*9880d681SAndroid Build Coastguard Worker 2482*9880d681SAndroid Build Coastguard Worker@ CHECK: smlsld r2, r9, r5, r1 @ encoding: [0x55,0x21,0x49,0xe7] 2483*9880d681SAndroid Build Coastguard Worker@ CHECK: smlsldx r4, r11, r2, r8 @ encoding: [0x72,0x48,0x4b,0xe7] 2484*9880d681SAndroid Build Coastguard Worker@ CHECK: smlsldeq r8, r2, r5, r6 @ encoding: [0x55,0x86,0x42,0x07] 2485*9880d681SAndroid Build Coastguard Worker@ CHECK: smlsldxhi r1, r0, r3, r8 @ encoding: [0x73,0x18,0x40,0x87] 2486*9880d681SAndroid Build Coastguard Worker 2487*9880d681SAndroid Build Coastguard Worker 2488*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 2489*9880d681SAndroid Build Coastguard Worker@ SMMLA/SMMLAR 2490*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 2491*9880d681SAndroid Build Coastguard Worker smmla r1, r2, r3, r4 2492*9880d681SAndroid Build Coastguard Worker smmlar r4, r3, r2, r1 2493*9880d681SAndroid Build Coastguard Worker smmlalo r1, r2, r3, r4 2494*9880d681SAndroid Build Coastguard Worker smmlarcs r4, r3, r2, r1 2495*9880d681SAndroid Build Coastguard Worker 2496*9880d681SAndroid Build Coastguard Worker@ CHECK: smmla r1, r2, r3, r4 @ encoding: [0x12,0x43,0x51,0xe7] 2497*9880d681SAndroid Build Coastguard Worker@ CHECK: smmlar r4, r3, r2, r1 @ encoding: [0x33,0x12,0x54,0xe7] 2498*9880d681SAndroid Build Coastguard Worker@ CHECK: smmlalo r1, r2, r3, r4 @ encoding: [0x12,0x43,0x51,0x37] 2499*9880d681SAndroid Build Coastguard Worker@ CHECK: smmlarhs r4, r3, r2, r1 @ encoding: [0x33,0x12,0x54,0x27] 2500*9880d681SAndroid Build Coastguard Worker 2501*9880d681SAndroid Build Coastguard Worker 2502*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 2503*9880d681SAndroid Build Coastguard Worker@ SMMLS/SMMLSR 2504*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 2505*9880d681SAndroid Build Coastguard Worker smmls r1, r2, r3, r4 2506*9880d681SAndroid Build Coastguard Worker smmlsr r4, r3, r2, r1 2507*9880d681SAndroid Build Coastguard Worker smmlslo r1, r2, r3, r4 2508*9880d681SAndroid Build Coastguard Worker smmlsrcs r4, r3, r2, r1 2509*9880d681SAndroid Build Coastguard Worker 2510*9880d681SAndroid Build Coastguard Worker@ CHECK: smmls r1, r2, r3, r4 @ encoding: [0xd2,0x43,0x51,0xe7] 2511*9880d681SAndroid Build Coastguard Worker@ CHECK: smmlsr r4, r3, r2, r1 @ encoding: [0xf3,0x12,0x54,0xe7] 2512*9880d681SAndroid Build Coastguard Worker@ CHECK: smmlslo r1, r2, r3, r4 @ encoding: [0xd2,0x43,0x51,0x37] 2513*9880d681SAndroid Build Coastguard Worker@ CHECK: smmlsrhs r4, r3, r2, r1 @ encoding: [0xf3,0x12,0x54,0x27] 2514*9880d681SAndroid Build Coastguard Worker 2515*9880d681SAndroid Build Coastguard Worker 2516*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 2517*9880d681SAndroid Build Coastguard Worker@ SMMUL/SMMULR 2518*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 2519*9880d681SAndroid Build Coastguard Worker smmul r2, r3, r4 2520*9880d681SAndroid Build Coastguard Worker smmulr r3, r2, r1 2521*9880d681SAndroid Build Coastguard Worker smmulcc r2, r3, r4 2522*9880d681SAndroid Build Coastguard Worker smmulrhs r3, r2, r1 2523*9880d681SAndroid Build Coastguard Worker 2524*9880d681SAndroid Build Coastguard Worker@ CHECK: smmul r2, r3, r4 @ encoding: [0x13,0xf4,0x52,0xe7] 2525*9880d681SAndroid Build Coastguard Worker@ CHECK: smmulr r3, r2, r1 @ encoding: [0x32,0xf1,0x53,0xe7] 2526*9880d681SAndroid Build Coastguard Worker@ CHECK: smmullo r2, r3, r4 @ encoding: [0x13,0xf4,0x52,0x37] 2527*9880d681SAndroid Build Coastguard Worker@ CHECK: smmulrhs r3, r2, r1 @ encoding: [0x32,0xf1,0x53,0x27] 2528*9880d681SAndroid Build Coastguard Worker 2529*9880d681SAndroid Build Coastguard Worker 2530*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 2531*9880d681SAndroid Build Coastguard Worker@ SMUAD/SMUADX 2532*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 2533*9880d681SAndroid Build Coastguard Worker smuad r2, r3, r4 2534*9880d681SAndroid Build Coastguard Worker smuadx r3, r2, r1 2535*9880d681SAndroid Build Coastguard Worker smuadlt r2, r3, r4 2536*9880d681SAndroid Build Coastguard Worker smuadxge r3, r2, r1 2537*9880d681SAndroid Build Coastguard Worker 2538*9880d681SAndroid Build Coastguard Worker@ CHECK: smuad r2, r3, r4 @ encoding: [0x13,0xf4,0x02,0xe7] 2539*9880d681SAndroid Build Coastguard Worker@ CHECK: smuadx r3, r2, r1 @ encoding: [0x32,0xf1,0x03,0xe7] 2540*9880d681SAndroid Build Coastguard Worker@ CHECK: smuadlt r2, r3, r4 @ encoding: [0x13,0xf4,0x02,0xb7] 2541*9880d681SAndroid Build Coastguard Worker@ CHECK: smuadxge r3, r2, r1 @ encoding: [0x32,0xf1,0x03,0xa7] 2542*9880d681SAndroid Build Coastguard Worker 2543*9880d681SAndroid Build Coastguard Worker 2544*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 2545*9880d681SAndroid Build Coastguard Worker@ SMULBB/SMULBT/SMULTB/SMULTT 2546*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 2547*9880d681SAndroid Build Coastguard Worker smulbb r3, r9, r0 2548*9880d681SAndroid Build Coastguard Worker smulbt r5, r4, r1 2549*9880d681SAndroid Build Coastguard Worker smultb r4, r2, r2 2550*9880d681SAndroid Build Coastguard Worker smultt r8, r3, r4 2551*9880d681SAndroid Build Coastguard Worker smulbbge r1, r9, r0 2552*9880d681SAndroid Build Coastguard Worker smulbtle r5, r6, r4 2553*9880d681SAndroid Build Coastguard Worker smultbne r2, r3, r2 2554*9880d681SAndroid Build Coastguard Worker smultteq r8, r3, r4 2555*9880d681SAndroid Build Coastguard Worker 2556*9880d681SAndroid Build Coastguard Worker@ CHECK: smulbb r3, r9, r0 @ encoding: [0x89,0x00,0x63,0xe1] 2557*9880d681SAndroid Build Coastguard Worker@ CHECK: smulbt r5, r4, r1 @ encoding: [0xc4,0x01,0x65,0xe1] 2558*9880d681SAndroid Build Coastguard Worker@ CHECK: smultb r4, r2, r2 @ encoding: [0xa2,0x02,0x64,0xe1] 2559*9880d681SAndroid Build Coastguard Worker@ CHECK: smultt r8, r3, r4 @ encoding: [0xe3,0x04,0x68,0xe1] 2560*9880d681SAndroid Build Coastguard Worker@ CHECK: smulbbge r1, r9, r0 @ encoding: [0x89,0x00,0x61,0xa1] 2561*9880d681SAndroid Build Coastguard Worker@ CHECK: smulbtle r5, r6, r4 @ encoding: [0xc6,0x04,0x65,0xd1] 2562*9880d681SAndroid Build Coastguard Worker@ CHECK: smultbne r2, r3, r2 @ encoding: [0xa3,0x02,0x62,0x11] 2563*9880d681SAndroid Build Coastguard Worker@ CHECK: smultteq r8, r3, r4 @ encoding: [0xe3,0x04,0x68,0x01] 2564*9880d681SAndroid Build Coastguard Worker 2565*9880d681SAndroid Build Coastguard Worker 2566*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 2567*9880d681SAndroid Build Coastguard Worker@ SMULL 2568*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 2569*9880d681SAndroid Build Coastguard Worker smull r3, r9, r0, r1 2570*9880d681SAndroid Build Coastguard Worker smulls r3, r9, r0, r2 2571*9880d681SAndroid Build Coastguard Worker smulleq r8, r3, r4, r5 2572*9880d681SAndroid Build Coastguard Worker smullseq r8, r3, r4, r3 2573*9880d681SAndroid Build Coastguard Worker 2574*9880d681SAndroid Build Coastguard Worker@ CHECK: smull r3, r9, r0, r1 @ encoding: [0x90,0x31,0xc9,0xe0] 2575*9880d681SAndroid Build Coastguard Worker@ CHECK: smulls r3, r9, r0, r2 @ encoding: [0x90,0x32,0xd9,0xe0] 2576*9880d681SAndroid Build Coastguard Worker@ CHECK: smulleq r8, r3, r4, r5 @ encoding: [0x94,0x85,0xc3,0x00] 2577*9880d681SAndroid Build Coastguard Worker@ CHECK: smullseq r8, r3, r4, r3 @ encoding: [0x94,0x83,0xd3,0x00] 2578*9880d681SAndroid Build Coastguard Worker 2579*9880d681SAndroid Build Coastguard Worker 2580*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 2581*9880d681SAndroid Build Coastguard Worker@ SMULWB/SMULWT 2582*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 2583*9880d681SAndroid Build Coastguard Worker smulwb r3, r9, r0 2584*9880d681SAndroid Build Coastguard Worker smulwt r3, r9, r2 2585*9880d681SAndroid Build Coastguard Worker 2586*9880d681SAndroid Build Coastguard Worker@ CHECK: smulwb r3, r9, r0 @ encoding: [0xa9,0x00,0x23,0xe1] 2587*9880d681SAndroid Build Coastguard Worker@ CHECK: smulwt r3, r9, r2 @ encoding: [0xe9,0x02,0x23,0xe1] 2588*9880d681SAndroid Build Coastguard Worker 2589*9880d681SAndroid Build Coastguard Worker 2590*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 2591*9880d681SAndroid Build Coastguard Worker@ SMUSD/SMUSDX 2592*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 2593*9880d681SAndroid Build Coastguard Worker smusd r3, r0, r1 2594*9880d681SAndroid Build Coastguard Worker smusdx r3, r9, r2 2595*9880d681SAndroid Build Coastguard Worker smusdeq r8, r3, r2 2596*9880d681SAndroid Build Coastguard Worker smusdxne r7, r4, r3 2597*9880d681SAndroid Build Coastguard Worker 2598*9880d681SAndroid Build Coastguard Worker@ CHECK: smusd r3, r0, r1 @ encoding: [0x50,0xf1,0x03,0xe7] 2599*9880d681SAndroid Build Coastguard Worker@ CHECK: smusdx r3, r9, r2 @ encoding: [0x79,0xf2,0x03,0xe7] 2600*9880d681SAndroid Build Coastguard Worker@ CHECK: smusdeq r8, r3, r2 @ encoding: [0x53,0xf2,0x08,0x07] 2601*9880d681SAndroid Build Coastguard Worker@ CHECK: smusdxne r7, r4, r3 @ encoding: [0x74,0xf3,0x07,0x17] 2602*9880d681SAndroid Build Coastguard Worker 2603*9880d681SAndroid Build Coastguard Worker 2604*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 2605*9880d681SAndroid Build Coastguard Worker@ SRS 2606*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 2607*9880d681SAndroid Build Coastguard Worker srsda sp, #5 2608*9880d681SAndroid Build Coastguard Worker srsdb sp, #1 2609*9880d681SAndroid Build Coastguard Worker srsia sp, #0 2610*9880d681SAndroid Build Coastguard Worker srsib sp, #15 2611*9880d681SAndroid Build Coastguard Worker 2612*9880d681SAndroid Build Coastguard Worker srsda sp!, #31 2613*9880d681SAndroid Build Coastguard Worker srsdb sp!, #19 2614*9880d681SAndroid Build Coastguard Worker srsia sp!, #2 2615*9880d681SAndroid Build Coastguard Worker srsib sp!, #14 2616*9880d681SAndroid Build Coastguard Worker 2617*9880d681SAndroid Build Coastguard Worker srsfa sp, #11 2618*9880d681SAndroid Build Coastguard Worker srsea sp, #10 2619*9880d681SAndroid Build Coastguard Worker srsfd sp, #9 2620*9880d681SAndroid Build Coastguard Worker srsed sp, #5 2621*9880d681SAndroid Build Coastguard Worker 2622*9880d681SAndroid Build Coastguard Worker srsfa sp!, #5 2623*9880d681SAndroid Build Coastguard Worker srsea sp!, #5 2624*9880d681SAndroid Build Coastguard Worker srsfd sp!, #5 2625*9880d681SAndroid Build Coastguard Worker srsed sp!, #5 2626*9880d681SAndroid Build Coastguard Worker 2627*9880d681SAndroid Build Coastguard Worker srs sp, #5 2628*9880d681SAndroid Build Coastguard Worker srs sp!, #5 2629*9880d681SAndroid Build Coastguard Worker 2630*9880d681SAndroid Build Coastguard Worker@ CHECK: srsda sp, #5 @ encoding: [0x05,0x05,0x4d,0xf8] 2631*9880d681SAndroid Build Coastguard Worker@ CHECK: srsdb sp, #1 @ encoding: [0x01,0x05,0x4d,0xf9] 2632*9880d681SAndroid Build Coastguard Worker@ CHECK: srsia sp, #0 @ encoding: [0x00,0x05,0xcd,0xf8] 2633*9880d681SAndroid Build Coastguard Worker@ CHECK: srsib sp, #15 @ encoding: [0x0f,0x05,0xcd,0xf9] 2634*9880d681SAndroid Build Coastguard Worker 2635*9880d681SAndroid Build Coastguard Worker@ CHECK: srsda sp!, #31 @ encoding: [0x1f,0x05,0x6d,0xf8] 2636*9880d681SAndroid Build Coastguard Worker@ CHECK: srsdb sp!, #19 @ encoding: [0x13,0x05,0x6d,0xf9] 2637*9880d681SAndroid Build Coastguard Worker@ CHECK: srsia sp!, #2 @ encoding: [0x02,0x05,0xed,0xf8] 2638*9880d681SAndroid Build Coastguard Worker@ CHECK: srsib sp!, #14 @ encoding: [0x0e,0x05,0xed,0xf9] 2639*9880d681SAndroid Build Coastguard Worker 2640*9880d681SAndroid Build Coastguard Worker@ CHECK: srsib sp, #11 @ encoding: [0x0b,0x05,0xcd,0xf9] 2641*9880d681SAndroid Build Coastguard Worker@ CHECK: srsia sp, #10 @ encoding: [0x0a,0x05,0xcd,0xf8] 2642*9880d681SAndroid Build Coastguard Worker@ CHECK: srsdb sp, #9 @ encoding: [0x09,0x05,0x4d,0xf9] 2643*9880d681SAndroid Build Coastguard Worker@ CHECK: srsda sp, #5 @ encoding: [0x05,0x05,0x4d,0xf8] 2644*9880d681SAndroid Build Coastguard Worker 2645*9880d681SAndroid Build Coastguard Worker@ CHECK: srsib sp!, #5 @ encoding: [0x05,0x05,0xed,0xf9] 2646*9880d681SAndroid Build Coastguard Worker@ CHECK: srsia sp!, #5 @ encoding: [0x05,0x05,0xed,0xf8] 2647*9880d681SAndroid Build Coastguard Worker@ CHECK: srsdb sp!, #5 @ encoding: [0x05,0x05,0x6d,0xf9] 2648*9880d681SAndroid Build Coastguard Worker@ CHECK: srsda sp!, #5 @ encoding: [0x05,0x05,0x6d,0xf8] 2649*9880d681SAndroid Build Coastguard Worker 2650*9880d681SAndroid Build Coastguard Worker@ CHECK: srsia sp, #5 @ encoding: [0x05,0x05,0xcd,0xf8] 2651*9880d681SAndroid Build Coastguard Worker@ CHECK: srsia sp!, #5 @ encoding: [0x05,0x05,0xed,0xf8] 2652*9880d681SAndroid Build Coastguard Worker 2653*9880d681SAndroid Build Coastguard Worker@ Compatibility aliases. 2654*9880d681SAndroid Build Coastguard Worker srsda #5 2655*9880d681SAndroid Build Coastguard Worker srsdb #1 2656*9880d681SAndroid Build Coastguard Worker srsia #0 2657*9880d681SAndroid Build Coastguard Worker srsib #15 2658*9880d681SAndroid Build Coastguard Worker 2659*9880d681SAndroid Build Coastguard Worker srsda #31! 2660*9880d681SAndroid Build Coastguard Worker srsdb #19! 2661*9880d681SAndroid Build Coastguard Worker srsia #2! 2662*9880d681SAndroid Build Coastguard Worker srsib #14! 2663*9880d681SAndroid Build Coastguard Worker 2664*9880d681SAndroid Build Coastguard Worker srsfa #11 2665*9880d681SAndroid Build Coastguard Worker srsea #10 2666*9880d681SAndroid Build Coastguard Worker srsfd #9 2667*9880d681SAndroid Build Coastguard Worker srsed #5 2668*9880d681SAndroid Build Coastguard Worker 2669*9880d681SAndroid Build Coastguard Worker srsfa #5! 2670*9880d681SAndroid Build Coastguard Worker srsea #5! 2671*9880d681SAndroid Build Coastguard Worker srsfd #5! 2672*9880d681SAndroid Build Coastguard Worker srsed #5! 2673*9880d681SAndroid Build Coastguard Worker 2674*9880d681SAndroid Build Coastguard Worker srs #5 2675*9880d681SAndroid Build Coastguard Worker srs #5! 2676*9880d681SAndroid Build Coastguard Worker 2677*9880d681SAndroid Build Coastguard Worker@ CHECK: srsda sp, #5 @ encoding: [0x05,0x05,0x4d,0xf8] 2678*9880d681SAndroid Build Coastguard Worker@ CHECK: srsdb sp, #1 @ encoding: [0x01,0x05,0x4d,0xf9] 2679*9880d681SAndroid Build Coastguard Worker@ CHECK: srsia sp, #0 @ encoding: [0x00,0x05,0xcd,0xf8] 2680*9880d681SAndroid Build Coastguard Worker@ CHECK: srsib sp, #15 @ encoding: [0x0f,0x05,0xcd,0xf9] 2681*9880d681SAndroid Build Coastguard Worker@ CHECK: srsda sp!, #31 @ encoding: [0x1f,0x05,0x6d,0xf8] 2682*9880d681SAndroid Build Coastguard Worker@ CHECK: srsdb sp!, #19 @ encoding: [0x13,0x05,0x6d,0xf9] 2683*9880d681SAndroid Build Coastguard Worker@ CHECK: srsia sp!, #2 @ encoding: [0x02,0x05,0xed,0xf8] 2684*9880d681SAndroid Build Coastguard Worker@ CHECK: srsib sp!, #14 @ encoding: [0x0e,0x05,0xed,0xf9] 2685*9880d681SAndroid Build Coastguard Worker@ CHECK: srsib sp, #11 @ encoding: [0x0b,0x05,0xcd,0xf9] 2686*9880d681SAndroid Build Coastguard Worker@ CHECK: srsia sp, #10 @ encoding: [0x0a,0x05,0xcd,0xf8] 2687*9880d681SAndroid Build Coastguard Worker@ CHECK: srsdb sp, #9 @ encoding: [0x09,0x05,0x4d,0xf9] 2688*9880d681SAndroid Build Coastguard Worker@ CHECK: srsda sp, #5 @ encoding: [0x05,0x05,0x4d,0xf8] 2689*9880d681SAndroid Build Coastguard Worker@ CHECK: srsib sp!, #5 @ encoding: [0x05,0x05,0xed,0xf9] 2690*9880d681SAndroid Build Coastguard Worker@ CHECK: srsia sp!, #5 @ encoding: [0x05,0x05,0xed,0xf8] 2691*9880d681SAndroid Build Coastguard Worker@ CHECK: srsdb sp!, #5 @ encoding: [0x05,0x05,0x6d,0xf9] 2692*9880d681SAndroid Build Coastguard Worker@ CHECK: srsda sp!, #5 @ encoding: [0x05,0x05,0x6d,0xf8] 2693*9880d681SAndroid Build Coastguard Worker@ CHECK: srsia sp, #5 @ encoding: [0x05,0x05,0xcd,0xf8] 2694*9880d681SAndroid Build Coastguard Worker@ CHECK: srsia sp!, #5 @ encoding: [0x05,0x05,0xed,0xf8] 2695*9880d681SAndroid Build Coastguard Worker 2696*9880d681SAndroid Build Coastguard Worker 2697*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 2698*9880d681SAndroid Build Coastguard Worker@ SSAT 2699*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 2700*9880d681SAndroid Build Coastguard Worker ssat r8, #1, r10 2701*9880d681SAndroid Build Coastguard Worker ssat r8, #1, r10, lsl #0 2702*9880d681SAndroid Build Coastguard Worker ssat r8, #1, r10, lsl #31 2703*9880d681SAndroid Build Coastguard Worker ssat r8, #1, r10, asr #32 2704*9880d681SAndroid Build Coastguard Worker ssat r8, #1, r10, asr #1 2705*9880d681SAndroid Build Coastguard Worker 2706*9880d681SAndroid Build Coastguard Worker@ CHECK: ssat r8, #1, r10 @ encoding: [0x1a,0x80,0xa0,0xe6] 2707*9880d681SAndroid Build Coastguard Worker@ CHECK: ssat r8, #1, r10 @ encoding: [0x1a,0x80,0xa0,0xe6] 2708*9880d681SAndroid Build Coastguard Worker@ CHECK: ssat r8, #1, r10, lsl #31 @ encoding: [0x9a,0x8f,0xa0,0xe6] 2709*9880d681SAndroid Build Coastguard Worker@ CHECK: ssat r8, #1, r10, asr #32 @ encoding: [0x5a,0x80,0xa0,0xe6] 2710*9880d681SAndroid Build Coastguard Worker@ CHECK: ssat r8, #1, r10, asr #1 @ encoding: [0xda,0x80,0xa0,0xe6] 2711*9880d681SAndroid Build Coastguard Worker 2712*9880d681SAndroid Build Coastguard Worker 2713*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 2714*9880d681SAndroid Build Coastguard Worker@ SSAT16 2715*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 2716*9880d681SAndroid Build Coastguard Worker ssat16 r2, #1, r7 2717*9880d681SAndroid Build Coastguard Worker ssat16 r3, #16, r5 2718*9880d681SAndroid Build Coastguard Worker 2719*9880d681SAndroid Build Coastguard Worker@ CHECK: ssat16 r2, #1, r7 @ encoding: [0x37,0x2f,0xa0,0xe6] 2720*9880d681SAndroid Build Coastguard Worker@ CHECK: ssat16 r3, #16, r5 @ encoding: [0x35,0x3f,0xaf,0xe6] 2721*9880d681SAndroid Build Coastguard Worker 2722*9880d681SAndroid Build Coastguard Worker 2723*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 2724*9880d681SAndroid Build Coastguard Worker@ SSAX 2725*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 2726*9880d681SAndroid Build Coastguard Worker ssax r2, r3, r4 2727*9880d681SAndroid Build Coastguard Worker ssaxlt r2, r3, r4 2728*9880d681SAndroid Build Coastguard Worker 2729*9880d681SAndroid Build Coastguard Worker@ CHECK: ssax r2, r3, r4 @ encoding: [0x54,0x2f,0x13,0xe6] 2730*9880d681SAndroid Build Coastguard Worker@ CHECK: ssaxlt r2, r3, r4 @ encoding: [0x54,0x2f,0x13,0xb6] 2731*9880d681SAndroid Build Coastguard Worker 2732*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 2733*9880d681SAndroid Build Coastguard Worker@ SSUB16/SSUB8 2734*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 2735*9880d681SAndroid Build Coastguard Worker ssub16 r1, r0, r6 2736*9880d681SAndroid Build Coastguard Worker ssub16ne r5, r3, r2 2737*9880d681SAndroid Build Coastguard Worker ssub8 r9, r2, r4 2738*9880d681SAndroid Build Coastguard Worker ssub8eq r5, r1, r2 2739*9880d681SAndroid Build Coastguard Worker 2740*9880d681SAndroid Build Coastguard Worker@ CHECK: ssub16 r1, r0, r6 @ encoding: [0x76,0x1f,0x10,0xe6] 2741*9880d681SAndroid Build Coastguard Worker@ CHECK: ssub16ne r5, r3, r2 @ encoding: [0x72,0x5f,0x13,0x16] 2742*9880d681SAndroid Build Coastguard Worker@ CHECK: ssub8 r9, r2, r4 @ encoding: [0xf4,0x9f,0x12,0xe6] 2743*9880d681SAndroid Build Coastguard Worker@ CHECK: ssub8eq r5, r1, r2 @ encoding: [0xf2,0x5f,0x11,0x06] 2744*9880d681SAndroid Build Coastguard Worker 2745*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 2746*9880d681SAndroid Build Coastguard Worker@ STC{L}/STC2{L} 2747*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 2748*9880d681SAndroid Build Coastguard Worker stc2 p0, c8, [r1, #4] 2749*9880d681SAndroid Build Coastguard Worker stc2 p1, c7, [r2] 2750*9880d681SAndroid Build Coastguard Worker stc2 p2, c6, [r3, #-224] 2751*9880d681SAndroid Build Coastguard Worker stc2 p3, c5, [r4, #-120]! 2752*9880d681SAndroid Build Coastguard Worker stc2 p4, c4, [r5], #16 2753*9880d681SAndroid Build Coastguard Worker stc2 p5, c3, [r6], #-72 2754*9880d681SAndroid Build Coastguard Worker stc2l p6, c2, [r7, #4] 2755*9880d681SAndroid Build Coastguard Worker stc2l p7, c1, [r8] 2756*9880d681SAndroid Build Coastguard Worker stc2l p8, c0, [r9, #-224] 2757*9880d681SAndroid Build Coastguard Worker stc2l p9, c1, [r10, #-120]! 2758*9880d681SAndroid Build Coastguard Worker stc2l p0, c2, [r11], #16 2759*9880d681SAndroid Build Coastguard Worker stc2l p1, c3, [r12], #-72 2760*9880d681SAndroid Build Coastguard Worker 2761*9880d681SAndroid Build Coastguard Worker stc p12, c4, [r0, #4] 2762*9880d681SAndroid Build Coastguard Worker stc p13, c5, [r1] 2763*9880d681SAndroid Build Coastguard Worker stc p14, c6, [r2, #-224] 2764*9880d681SAndroid Build Coastguard Worker stc p15, c7, [r3, #-120]! 2765*9880d681SAndroid Build Coastguard Worker stc p5, c8, [r4], #16 2766*9880d681SAndroid Build Coastguard Worker stc p4, c9, [r5], #-72 2767*9880d681SAndroid Build Coastguard Worker stcl p3, c10, [r6, #4] 2768*9880d681SAndroid Build Coastguard Worker stcl p2, c11, [r7] 2769*9880d681SAndroid Build Coastguard Worker stcl p1, c12, [r8, #-224] 2770*9880d681SAndroid Build Coastguard Worker stcl p0, c13, [r9, #-120]! 2771*9880d681SAndroid Build Coastguard Worker stcl p6, c14, [r10], #16 2772*9880d681SAndroid Build Coastguard Worker stcl p7, c15, [r11], #-72 2773*9880d681SAndroid Build Coastguard Worker 2774*9880d681SAndroid Build Coastguard Worker stclo p12, c4, [r0, #4] 2775*9880d681SAndroid Build Coastguard Worker stchi p13, c5, [r1] 2776*9880d681SAndroid Build Coastguard Worker stccs p14, c6, [r2, #-224] 2777*9880d681SAndroid Build Coastguard Worker stccc p15, c7, [r3, #-120]! 2778*9880d681SAndroid Build Coastguard Worker stceq p5, c8, [r4], #16 2779*9880d681SAndroid Build Coastguard Worker stcgt p4, c9, [r5], #-72 2780*9880d681SAndroid Build Coastguard Worker stcllt p3, c10, [r6, #4] 2781*9880d681SAndroid Build Coastguard Worker stclge p2, c11, [r7] 2782*9880d681SAndroid Build Coastguard Worker stclle p1, c12, [r8, #-224] 2783*9880d681SAndroid Build Coastguard Worker stclne p0, c13, [r9, #-120]! 2784*9880d681SAndroid Build Coastguard Worker stcleq p6, c14, [r10], #16 2785*9880d681SAndroid Build Coastguard Worker stclhi p7, c15, [r11], #-72 2786*9880d681SAndroid Build Coastguard Worker 2787*9880d681SAndroid Build Coastguard Worker stc2 p2, c8, [r1], { 25 } 2788*9880d681SAndroid Build Coastguard Worker 2789*9880d681SAndroid Build Coastguard Worker@ CHECK: stc2 p0, c8, [r1, #4] @ encoding: [0x01,0x80,0x81,0xfd] 2790*9880d681SAndroid Build Coastguard Worker@ CHECK: stc2 p1, c7, [r2] @ encoding: [0x00,0x71,0x82,0xfd] 2791*9880d681SAndroid Build Coastguard Worker@ CHECK: stc2 p2, c6, [r3, #-224] @ encoding: [0x38,0x62,0x03,0xfd] 2792*9880d681SAndroid Build Coastguard Worker@ CHECK: stc2 p3, c5, [r4, #-120]! @ encoding: [0x1e,0x53,0x24,0xfd] 2793*9880d681SAndroid Build Coastguard Worker@ CHECK: stc2 p4, c4, [r5], #16 @ encoding: [0x04,0x44,0xa5,0xfc] 2794*9880d681SAndroid Build Coastguard Worker@ CHECK: stc2 p5, c3, [r6], #-72 @ encoding: [0x12,0x35,0x26,0xfc] 2795*9880d681SAndroid Build Coastguard Worker@ CHECK: stc2l p6, c2, [r7, #4] @ encoding: [0x01,0x26,0xc7,0xfd] 2796*9880d681SAndroid Build Coastguard Worker@ CHECK: stc2l p7, c1, [r8] @ encoding: [0x00,0x17,0xc8,0xfd] 2797*9880d681SAndroid Build Coastguard Worker@ CHECK: stc2l p8, c0, [r9, #-224] @ encoding: [0x38,0x08,0x49,0xfd] 2798*9880d681SAndroid Build Coastguard Worker@ CHECK: stc2l p9, c1, [r10, #-120]! @ encoding: [0x1e,0x19,0x6a,0xfd] 2799*9880d681SAndroid Build Coastguard Worker@ CHECK: stc2l p0, c2, [r11], #16 @ encoding: [0x04,0x20,0xeb,0xfc] 2800*9880d681SAndroid Build Coastguard Worker@ CHECK: stc2l p1, c3, [r12], #-72 @ encoding: [0x12,0x31,0x6c,0xfc] 2801*9880d681SAndroid Build Coastguard Worker 2802*9880d681SAndroid Build Coastguard Worker@ CHECK: stc p12, c4, [r0, #4] @ encoding: [0x01,0x4c,0x80,0xed] 2803*9880d681SAndroid Build Coastguard Worker@ CHECK: stc p13, c5, [r1] @ encoding: [0x00,0x5d,0x81,0xed] 2804*9880d681SAndroid Build Coastguard Worker@ CHECK: stc p14, c6, [r2, #-224] @ encoding: [0x38,0x6e,0x02,0xed] 2805*9880d681SAndroid Build Coastguard Worker@ CHECK: stc p15, c7, [r3, #-120]! @ encoding: [0x1e,0x7f,0x23,0xed] 2806*9880d681SAndroid Build Coastguard Worker@ CHECK: stc p5, c8, [r4], #16 @ encoding: [0x04,0x85,0xa4,0xec] 2807*9880d681SAndroid Build Coastguard Worker@ CHECK: stc p4, c9, [r5], #-72 @ encoding: [0x12,0x94,0x25,0xec] 2808*9880d681SAndroid Build Coastguard Worker@ CHECK: stcl p3, c10, [r6, #4] @ encoding: [0x01,0xa3,0xc6,0xed] 2809*9880d681SAndroid Build Coastguard Worker@ CHECK: stcl p2, c11, [r7] @ encoding: [0x00,0xb2,0xc7,0xed] 2810*9880d681SAndroid Build Coastguard Worker@ CHECK: stcl p1, c12, [r8, #-224] @ encoding: [0x38,0xc1,0x48,0xed] 2811*9880d681SAndroid Build Coastguard Worker@ CHECK: stcl p0, c13, [r9, #-120]! @ encoding: [0x1e,0xd0,0x69,0xed] 2812*9880d681SAndroid Build Coastguard Worker@ CHECK: stcl p6, c14, [r10], #16 @ encoding: [0x04,0xe6,0xea,0xec] 2813*9880d681SAndroid Build Coastguard Worker@ CHECK: stcl p7, c15, [r11], #-72 @ encoding: [0x12,0xf7,0x6b,0xec] 2814*9880d681SAndroid Build Coastguard Worker 2815*9880d681SAndroid Build Coastguard Worker@ CHECK: stclo p12, c4, [r0, #4] @ encoding: [0x01,0x4c,0x80,0x3d] 2816*9880d681SAndroid Build Coastguard Worker@ CHECK: stchi p13, c5, [r1] @ encoding: [0x00,0x5d,0x81,0x8d] 2817*9880d681SAndroid Build Coastguard Worker@ CHECK: stchs p14, c6, [r2, #-224] @ encoding: [0x38,0x6e,0x02,0x2d] 2818*9880d681SAndroid Build Coastguard Worker@ CHECK: stclo p15, c7, [r3, #-120]! @ encoding: [0x1e,0x7f,0x23,0x3d] 2819*9880d681SAndroid Build Coastguard Worker@ CHECK: stceq p5, c8, [r4], #16 @ encoding: [0x04,0x85,0xa4,0x0c] 2820*9880d681SAndroid Build Coastguard Worker@ CHECK: stcgt p4, c9, [r5], #-72 @ encoding: [0x12,0x94,0x25,0xcc] 2821*9880d681SAndroid Build Coastguard Worker@ CHECK: stcllt p3, c10, [r6, #4] @ encoding: [0x01,0xa3,0xc6,0xbd] 2822*9880d681SAndroid Build Coastguard Worker@ CHECK: stclge p2, c11, [r7] @ encoding: [0x00,0xb2,0xc7,0xad] 2823*9880d681SAndroid Build Coastguard Worker@ CHECK: stclle p1, c12, [r8, #-224] @ encoding: [0x38,0xc1,0x48,0xdd] 2824*9880d681SAndroid Build Coastguard Worker@ CHECK: stclne p0, c13, [r9, #-120]! @ encoding: [0x1e,0xd0,0x69,0x1d] 2825*9880d681SAndroid Build Coastguard Worker@ CHECK: stcleq p6, c14, [r10], #16 @ encoding: [0x04,0xe6,0xea,0x0c] 2826*9880d681SAndroid Build Coastguard Worker@ CHECK: stclhi p7, c15, [r11], #-72 @ encoding: [0x12,0xf7,0x6b,0x8c] 2827*9880d681SAndroid Build Coastguard Worker 2828*9880d681SAndroid Build Coastguard Worker@ CHECK: stc2 p2, c8, [r1], {25} @ encoding: [0x19,0x82,0x81,0xfc] 2829*9880d681SAndroid Build Coastguard Worker 2830*9880d681SAndroid Build Coastguard Worker 2831*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 2832*9880d681SAndroid Build Coastguard Worker@ STM* 2833*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 2834*9880d681SAndroid Build Coastguard Worker stm r2, {r1,r3-r6,sp} 2835*9880d681SAndroid Build Coastguard Worker stmia r3, {r1,r3-r6,lr} 2836*9880d681SAndroid Build Coastguard Worker stmib r4, {r1,r3-r6,sp} 2837*9880d681SAndroid Build Coastguard Worker stmda r5, {r1,r3-r6,sp} 2838*9880d681SAndroid Build Coastguard Worker stmdb r6, {r1,r3-r6,r8} 2839*9880d681SAndroid Build Coastguard Worker stmfd sp, {r1,r3-r6,sp} 2840*9880d681SAndroid Build Coastguard Worker 2841*9880d681SAndroid Build Coastguard Worker @ with update 2842*9880d681SAndroid Build Coastguard Worker stm r8!, {r1,r3-r6,sp} 2843*9880d681SAndroid Build Coastguard Worker stmib r9!, {r1,r3-r6,sp} 2844*9880d681SAndroid Build Coastguard Worker stmda sp!, {r1,r3-r6} 2845*9880d681SAndroid Build Coastguard Worker stmdb r0!, {r1,r5,r7,sp} 2846*9880d681SAndroid Build Coastguard Worker 2847*9880d681SAndroid Build Coastguard Worker@ CHECK: stm r2, {r1, r3, r4, r5, r6, sp} @ encoding: [0x7a,0x20,0x82,0xe8] 2848*9880d681SAndroid Build Coastguard Worker@ CHECK: stm r3, {r1, r3, r4, r5, r6, lr} @ encoding: [0x7a,0x40,0x83,0xe8] 2849*9880d681SAndroid Build Coastguard Worker@ CHECK: stmib r4, {r1, r3, r4, r5, r6, sp} @ encoding: [0x7a,0x20,0x84,0xe9] 2850*9880d681SAndroid Build Coastguard Worker@ CHECK: stmda r5, {r1, r3, r4, r5, r6, sp} @ encoding: [0x7a,0x20,0x05,0xe8] 2851*9880d681SAndroid Build Coastguard Worker@ CHECK: stmdb r6, {r1, r3, r4, r5, r6, r8} @ encoding: [0x7a,0x01,0x06,0xe9] 2852*9880d681SAndroid Build Coastguard Worker@ CHECK: stmdb sp, {r1, r3, r4, r5, r6, sp} @ encoding: [0x7a,0x20,0x0d,0xe9] 2853*9880d681SAndroid Build Coastguard Worker 2854*9880d681SAndroid Build Coastguard Worker@ CHECK: stm r8!, {r1, r3, r4, r5, r6, sp} @ encoding: [0x7a,0x20,0xa8,0xe8] 2855*9880d681SAndroid Build Coastguard Worker@ CHECK: stmib r9!, {r1, r3, r4, r5, r6, sp} @ encoding: [0x7a,0x20,0xa9,0xe9] 2856*9880d681SAndroid Build Coastguard Worker@ CHECK: stmda sp!, {r1, r3, r4, r5, r6} @ encoding: [0x7a,0x00,0x2d,0xe8] 2857*9880d681SAndroid Build Coastguard Worker@ CHECK: stmdb r0!, {r1, r5, r7, sp} @ encoding: [0xa2,0x20,0x20,0xe9] 2858*9880d681SAndroid Build Coastguard Worker 2859*9880d681SAndroid Build Coastguard Worker 2860*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 2861*9880d681SAndroid Build Coastguard Worker@ STREX/STREXB/STREXH/STREXD 2862*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 2863*9880d681SAndroid Build Coastguard Worker strexb r1, r3, [r4] 2864*9880d681SAndroid Build Coastguard Worker strexh r4, r2, [r5] 2865*9880d681SAndroid Build Coastguard Worker strex r2, r1, [r7] 2866*9880d681SAndroid Build Coastguard Worker strexd r6, r2, r3, [r8] 2867*9880d681SAndroid Build Coastguard Worker 2868*9880d681SAndroid Build Coastguard Worker@ CHECK: strexb r1, r3, [r4] @ encoding: [0x93,0x1f,0xc4,0xe1] 2869*9880d681SAndroid Build Coastguard Worker@ CHECK: strexh r4, r2, [r5] @ encoding: [0x92,0x4f,0xe5,0xe1] 2870*9880d681SAndroid Build Coastguard Worker@ CHECK: strex r2, r1, [r7] @ encoding: [0x91,0x2f,0x87,0xe1] 2871*9880d681SAndroid Build Coastguard Worker@ CHECK: strexd r6, r2, r3, [r8] @ encoding: [0x92,0x6f,0xa8,0xe1] 2872*9880d681SAndroid Build Coastguard Worker 2873*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 2874*9880d681SAndroid Build Coastguard Worker@ STR 2875*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 2876*9880d681SAndroid Build Coastguard Worker strpl r3, [r10, #-0]! 2877*9880d681SAndroid Build Coastguard Worker strpl r3, [r10, #0]! 2878*9880d681SAndroid Build Coastguard Worker 2879*9880d681SAndroid Build Coastguard Worker@ CHECK: strpl r3, [r10, #-0]! @ encoding: [0x00,0x30,0x2a,0x55] 2880*9880d681SAndroid Build Coastguard Worker@ CHECK: strpl r3, [r10, #0]! @ encoding: [0x00,0x30,0xaa,0x55] 2881*9880d681SAndroid Build Coastguard Worker 2882*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 2883*9880d681SAndroid Build Coastguard Worker@ SUB 2884*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 2885*9880d681SAndroid Build Coastguard Worker sub r4, r5, #0xf000 2886*9880d681SAndroid Build Coastguard Worker sub r4, r5, $0xf000 2887*9880d681SAndroid Build Coastguard Worker sub r4, r5, 0xf000 2888*9880d681SAndroid Build Coastguard Worker sub r7, r8, #(0xff << 16) 2889*9880d681SAndroid Build Coastguard Worker sub r7, r8, #-2147483638 2890*9880d681SAndroid Build Coastguard Worker sub r7, r8, #42, #2 2891*9880d681SAndroid Build Coastguard Worker sub r7, r8, #40, #2 2892*9880d681SAndroid Build Coastguard Worker sub r7, r8, $40, $2 2893*9880d681SAndroid Build Coastguard Worker sub r7, r8, 40, 2 2894*9880d681SAndroid Build Coastguard Worker sub r7, r8, (20 * 2), (1 << 1) 2895*9880d681SAndroid Build Coastguard Worker sub r4, r5, r6 2896*9880d681SAndroid Build Coastguard Worker sub r4, r5, r6, lsl #5 2897*9880d681SAndroid Build Coastguard Worker sub r4, r5, r6, lsr #5 2898*9880d681SAndroid Build Coastguard Worker sub r4, r5, r6, lsr #5 2899*9880d681SAndroid Build Coastguard Worker sub r4, r5, r6, asr #5 2900*9880d681SAndroid Build Coastguard Worker sub r4, r5, r6, ror #5 2901*9880d681SAndroid Build Coastguard Worker sub r6, r7, r8, lsl r9 2902*9880d681SAndroid Build Coastguard Worker sub r6, r7, r8, lsr r9 2903*9880d681SAndroid Build Coastguard Worker sub r6, r7, r8, asr r9 2904*9880d681SAndroid Build Coastguard Worker sub r6, r7, r8, ror r9 2905*9880d681SAndroid Build Coastguard Worker 2906*9880d681SAndroid Build Coastguard Worker @ destination register is optional 2907*9880d681SAndroid Build Coastguard Worker sub r5, #0xf000 2908*9880d681SAndroid Build Coastguard Worker sub r5, $0xf000 2909*9880d681SAndroid Build Coastguard Worker sub r5, 0xf000 2910*9880d681SAndroid Build Coastguard Worker sub r7, #(0xff << 16) 2911*9880d681SAndroid Build Coastguard Worker sub r7, #-2147483638 2912*9880d681SAndroid Build Coastguard Worker sub r7, #42, #2 2913*9880d681SAndroid Build Coastguard Worker sub r7, #40, #2 2914*9880d681SAndroid Build Coastguard Worker sub r7, $40, $2 2915*9880d681SAndroid Build Coastguard Worker sub r7, 40, 2 2916*9880d681SAndroid Build Coastguard Worker sub r7, (20 * 2), (1 << 1) 2917*9880d681SAndroid Build Coastguard Worker sub r4, r5 2918*9880d681SAndroid Build Coastguard Worker sub r4, r5, lsl #5 2919*9880d681SAndroid Build Coastguard Worker sub r4, r5, lsr #5 2920*9880d681SAndroid Build Coastguard Worker sub r4, r5, lsr #5 2921*9880d681SAndroid Build Coastguard Worker sub r4, r5, asr #5 2922*9880d681SAndroid Build Coastguard Worker sub r4, r5, ror #5 2923*9880d681SAndroid Build Coastguard Worker sub r6, r7, lsl r9 2924*9880d681SAndroid Build Coastguard Worker sub r6, r7, lsr r9 2925*9880d681SAndroid Build Coastguard Worker sub r6, r7, asr r9 2926*9880d681SAndroid Build Coastguard Worker sub r6, r7, ror r9 2927*9880d681SAndroid Build Coastguard Worker 2928*9880d681SAndroid Build Coastguard Worker@ CHECK: sub r4, r5, #61440 @ encoding: [0x0f,0x4a,0x45,0xe2] 2929*9880d681SAndroid Build Coastguard Worker@ CHECK: sub r4, r5, #61440 @ encoding: [0x0f,0x4a,0x45,0xe2] 2930*9880d681SAndroid Build Coastguard Worker@ CHECK: sub r4, r5, #61440 @ encoding: [0x0f,0x4a,0x45,0xe2] 2931*9880d681SAndroid Build Coastguard Worker@ CHECK: sub r7, r8, #16711680 @ encoding: [0xff,0x78,0x48,0xe2] 2932*9880d681SAndroid Build Coastguard Worker@ CHECK: sub r7, r8, #-2147483638 @ encoding: [0x2a,0x71,0x48,0xe2] 2933*9880d681SAndroid Build Coastguard Worker@ CHECK: sub r7, r8, #-2147483638 @ encoding: [0x2a,0x71,0x48,0xe2] 2934*9880d681SAndroid Build Coastguard Worker@ CHECK: sub r7, r8, #40, #2 @ encoding: [0x28,0x71,0x48,0xe2] 2935*9880d681SAndroid Build Coastguard Worker@ CHECK: sub r7, r8, #40, #2 @ encoding: [0x28,0x71,0x48,0xe2] 2936*9880d681SAndroid Build Coastguard Worker@ CHECK: sub r7, r8, #40, #2 @ encoding: [0x28,0x71,0x48,0xe2] 2937*9880d681SAndroid Build Coastguard Worker@ CHECK: sub r7, r8, #40, #2 @ encoding: [0x28,0x71,0x48,0xe2] 2938*9880d681SAndroid Build Coastguard Worker@ CHECK: sub r4, r5, r6 @ encoding: [0x06,0x40,0x45,0xe0] 2939*9880d681SAndroid Build Coastguard Worker@ CHECK: sub r4, r5, r6, lsl #5 @ encoding: [0x86,0x42,0x45,0xe0] 2940*9880d681SAndroid Build Coastguard Worker@ CHECK: sub r4, r5, r6, lsr #5 @ encoding: [0xa6,0x42,0x45,0xe0] 2941*9880d681SAndroid Build Coastguard Worker@ CHECK: sub r4, r5, r6, lsr #5 @ encoding: [0xa6,0x42,0x45,0xe0] 2942*9880d681SAndroid Build Coastguard Worker@ CHECK: sub r4, r5, r6, asr #5 @ encoding: [0xc6,0x42,0x45,0xe0] 2943*9880d681SAndroid Build Coastguard Worker@ CHECK: sub r4, r5, r6, ror #5 @ encoding: [0xe6,0x42,0x45,0xe0] 2944*9880d681SAndroid Build Coastguard Worker@ CHECK: sub r6, r7, r8, lsl r9 @ encoding: [0x18,0x69,0x47,0xe0] 2945*9880d681SAndroid Build Coastguard Worker@ CHECK: sub r6, r7, r8, lsr r9 @ encoding: [0x38,0x69,0x47,0xe0] 2946*9880d681SAndroid Build Coastguard Worker@ CHECK: sub r6, r7, r8, asr r9 @ encoding: [0x58,0x69,0x47,0xe0] 2947*9880d681SAndroid Build Coastguard Worker@ CHECK: sub r6, r7, r8, ror r9 @ encoding: [0x78,0x69,0x47,0xe0] 2948*9880d681SAndroid Build Coastguard Worker 2949*9880d681SAndroid Build Coastguard Worker 2950*9880d681SAndroid Build Coastguard Worker@ CHECK: sub r5, r5, #61440 @ encoding: [0x0f,0x5a,0x45,0xe2] 2951*9880d681SAndroid Build Coastguard Worker@ CHECK: sub r5, r5, #61440 @ encoding: [0x0f,0x5a,0x45,0xe2] 2952*9880d681SAndroid Build Coastguard Worker@ CHECK: sub r5, r5, #61440 @ encoding: [0x0f,0x5a,0x45,0xe2] 2953*9880d681SAndroid Build Coastguard Worker@ CHECK: sub r7, r7, #16711680 @ encoding: [0xff,0x78,0x47,0xe2] 2954*9880d681SAndroid Build Coastguard Worker@ CHECK: sub r7, r7, #-2147483638 @ encoding: [0x2a,0x71,0x47,0xe2] 2955*9880d681SAndroid Build Coastguard Worker@ CHECK: sub r7, r7, #-2147483638 @ encoding: [0x2a,0x71,0x47,0xe2] 2956*9880d681SAndroid Build Coastguard Worker@ CHECK: sub r7, r7, #40, #2 @ encoding: [0x28,0x71,0x47,0xe2] 2957*9880d681SAndroid Build Coastguard Worker@ CHECK: sub r7, r7, #40, #2 @ encoding: [0x28,0x71,0x47,0xe2 2958*9880d681SAndroid Build Coastguard Worker@ CHECK: sub r7, r7, #40, #2 @ encoding: [0x28,0x71,0x47,0xe2] 2959*9880d681SAndroid Build Coastguard Worker@ CHECK: sub r7, r7, #40, #2 @ encoding: [0x28,0x71,0x47,0xe2] 2960*9880d681SAndroid Build Coastguard Worker@ CHECK: sub r4, r4, r5 @ encoding: [0x05,0x40,0x44,0xe0] 2961*9880d681SAndroid Build Coastguard Worker@ CHECK: sub r4, r4, r5, lsl #5 @ encoding: [0x85,0x42,0x44,0xe0] 2962*9880d681SAndroid Build Coastguard Worker@ CHECK: sub r4, r4, r5, lsr #5 @ encoding: [0xa5,0x42,0x44,0xe0] 2963*9880d681SAndroid Build Coastguard Worker@ CHECK: sub r4, r4, r5, lsr #5 @ encoding: [0xa5,0x42,0x44,0xe0] 2964*9880d681SAndroid Build Coastguard Worker@ CHECK: sub r4, r4, r5, asr #5 @ encoding: [0xc5,0x42,0x44,0xe0] 2965*9880d681SAndroid Build Coastguard Worker@ CHECK: sub r4, r4, r5, ror #5 @ encoding: [0xe5,0x42,0x44,0xe0] 2966*9880d681SAndroid Build Coastguard Worker@ CHECK: sub r6, r6, r7, lsl r9 @ encoding: [0x17,0x69,0x46,0xe0] 2967*9880d681SAndroid Build Coastguard Worker@ CHECK: sub r6, r6, r7, lsr r9 @ encoding: [0x37,0x69,0x46,0xe0] 2968*9880d681SAndroid Build Coastguard Worker@ CHECK: sub r6, r6, r7, asr r9 @ encoding: [0x57,0x69,0x46,0xe0] 2969*9880d681SAndroid Build Coastguard Worker@ CHECK: sub r6, r6, r7, ror r9 @ encoding: [0x77,0x69,0x46,0xe0] 2970*9880d681SAndroid Build Coastguard Worker 2971*9880d681SAndroid Build Coastguard Worker @ Test right shift by 32, which is encoded as 0 2972*9880d681SAndroid Build Coastguard Worker sub r3, r1, r2, lsr #32 2973*9880d681SAndroid Build Coastguard Worker sub r3, r1, r2, asr #32 2974*9880d681SAndroid Build Coastguard Worker@ CHECK: sub r3, r1, r2, lsr #32 @ encoding: [0x22,0x30,0x41,0xe0] 2975*9880d681SAndroid Build Coastguard Worker@ CHECK: sub r3, r1, r2, asr #32 @ encoding: [0x42,0x30,0x41,0xe0] 2976*9880d681SAndroid Build Coastguard Worker 2977*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 2978*9880d681SAndroid Build Coastguard Worker@ SUBS 2979*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 2980*9880d681SAndroid Build Coastguard Worker subs r7, r8, #16711680 2981*9880d681SAndroid Build Coastguard Worker subs r7, r8, $16711680 2982*9880d681SAndroid Build Coastguard Worker subs r7, r8, 16711680 2983*9880d681SAndroid Build Coastguard Worker subs r7, r8, #(0xff << 16) 2984*9880d681SAndroid Build Coastguard Worker subs r7, r8, #-2147483638 2985*9880d681SAndroid Build Coastguard Worker subs r7, r8, #42, #2 2986*9880d681SAndroid Build Coastguard Worker subs r7, r8, #40, #2 2987*9880d681SAndroid Build Coastguard Worker subs r7, r8, $40, $2 2988*9880d681SAndroid Build Coastguard Worker subs r7, r8, 40, 2 2989*9880d681SAndroid Build Coastguard Worker subs r7, r8, (20 * 2), (1 << 1) 2990*9880d681SAndroid Build Coastguard Worker 2991*9880d681SAndroid Build Coastguard Worker@ CHECK: subs r7, r8, #16711680 @ encoding: [0xff,0x78,0x58,0xe2] 2992*9880d681SAndroid Build Coastguard Worker@ CHECK: subs r7, r8, #16711680 @ encoding: [0xff,0x78,0x58,0xe2] 2993*9880d681SAndroid Build Coastguard Worker@ CHECK: subs r7, r8, #16711680 @ encoding: [0xff,0x78,0x58,0xe2] 2994*9880d681SAndroid Build Coastguard Worker@ CHECK: subs r7, r8, #16711680 @ encoding: [0xff,0x78,0x58,0xe2] 2995*9880d681SAndroid Build Coastguard Worker@ CHECK: subs r7, r8, #-2147483638 @ encoding: [0x2a,0x71,0x58,0xe2] 2996*9880d681SAndroid Build Coastguard Worker@ CHECK: subs r7, r8, #-2147483638 @ encoding: [0x2a,0x71,0x58,0xe2] 2997*9880d681SAndroid Build Coastguard Worker@ CHECK: subs r7, r8, #40, #2 @ encoding: [0x28,0x71,0x58,0xe2] 2998*9880d681SAndroid Build Coastguard Worker@ CHECK: subs r7, r8, #40, #2 @ encoding: [0x28,0x71,0x58,0xe2] 2999*9880d681SAndroid Build Coastguard Worker@ CHECK: subs r7, r8, #40, #2 @ encoding: [0x28,0x71,0x58,0xe2] 3000*9880d681SAndroid Build Coastguard Worker@ CHECK: subs r7, r8, #40, #2 @ encoding: [0x28,0x71,0x58,0xe2] 3001*9880d681SAndroid Build Coastguard Worker 3002*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 3003*9880d681SAndroid Build Coastguard Worker@ SVC 3004*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 3005*9880d681SAndroid Build Coastguard Worker svc #16 3006*9880d681SAndroid Build Coastguard Worker svc #0 3007*9880d681SAndroid Build Coastguard Worker svc #0xffffff 3008*9880d681SAndroid Build Coastguard Worker 3009*9880d681SAndroid Build Coastguard Worker@ CHECK: svc #16 @ encoding: [0x10,0x00,0x00,0xef] 3010*9880d681SAndroid Build Coastguard Worker@ CHECK: svc #0 @ encoding: [0x00,0x00,0x00,0xef] 3011*9880d681SAndroid Build Coastguard Worker@ CHECK: svc #16777215 @ encoding: [0xff,0xff,0xff,0xef] 3012*9880d681SAndroid Build Coastguard Worker 3013*9880d681SAndroid Build Coastguard Worker 3014*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 3015*9880d681SAndroid Build Coastguard Worker@ SWP/SWPB 3016*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 3017*9880d681SAndroid Build Coastguard Worker swp r1, r2, [r3] 3018*9880d681SAndroid Build Coastguard Worker swp r4, r4, [r6] 3019*9880d681SAndroid Build Coastguard Worker swpb r5, r1, [r9] 3020*9880d681SAndroid Build Coastguard Worker 3021*9880d681SAndroid Build Coastguard Worker@ CHECK: swp r1, r2, [r3] @ encoding: [0x92,0x10,0x03,0xe1] 3022*9880d681SAndroid Build Coastguard Worker@ CHECK: swp r4, r4, [r6] @ encoding: [0x94,0x40,0x06,0xe1] 3023*9880d681SAndroid Build Coastguard Worker@ CHECK: swpb r5, r1, [r9] @ encoding: [0x91,0x50,0x49,0xe1] 3024*9880d681SAndroid Build Coastguard Worker 3025*9880d681SAndroid Build Coastguard Worker 3026*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 3027*9880d681SAndroid Build Coastguard Worker@ SXTAB 3028*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 3029*9880d681SAndroid Build Coastguard Worker sxtab r2, r3, r4 3030*9880d681SAndroid Build Coastguard Worker sxtab r4, r5, r6, ror #0 3031*9880d681SAndroid Build Coastguard Worker sxtablt r6, r2, r9, ror #8 3032*9880d681SAndroid Build Coastguard Worker sxtab r5, r1, r4, ror #16 3033*9880d681SAndroid Build Coastguard Worker sxtab r7, r8, r3, ror #24 3034*9880d681SAndroid Build Coastguard Worker 3035*9880d681SAndroid Build Coastguard Worker@ CHECK: sxtab r2, r3, r4 @ encoding: [0x74,0x20,0xa3,0xe6] 3036*9880d681SAndroid Build Coastguard Worker@ CHECK: sxtab r4, r5, r6 @ encoding: [0x76,0x40,0xa5,0xe6] 3037*9880d681SAndroid Build Coastguard Worker@ CHECK: sxtablt r6, r2, r9, ror #8 @ encoding: [0x79,0x64,0xa2,0xb6] 3038*9880d681SAndroid Build Coastguard Worker@ CHECK: sxtab r5, r1, r4, ror #16 @ encoding: [0x74,0x58,0xa1,0xe6] 3039*9880d681SAndroid Build Coastguard Worker@ CHECK: sxtab r7, r8, r3, ror #24 @ encoding: [0x73,0x7c,0xa8,0xe6] 3040*9880d681SAndroid Build Coastguard Worker 3041*9880d681SAndroid Build Coastguard Worker 3042*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 3043*9880d681SAndroid Build Coastguard Worker@ SXTAB16 3044*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 3045*9880d681SAndroid Build Coastguard Worker sxtab16ge r0, r1, r4 3046*9880d681SAndroid Build Coastguard Worker sxtab16 r6, r2, r7, ror #0 3047*9880d681SAndroid Build Coastguard Worker sxtab16 r3, r5, r8, ror #8 3048*9880d681SAndroid Build Coastguard Worker sxtab16 r3, r2, r1, ror #16 3049*9880d681SAndroid Build Coastguard Worker sxtab16eq r1, r2, r3, ror #24 3050*9880d681SAndroid Build Coastguard Worker 3051*9880d681SAndroid Build Coastguard Worker@ CHECK: sxtab16ge r0, r1, r4 @ encoding: [0x74,0x00,0x81,0xa6] 3052*9880d681SAndroid Build Coastguard Worker@ CHECK: sxtab16 r6, r2, r7 @ encoding: [0x77,0x60,0x82,0xe6] 3053*9880d681SAndroid Build Coastguard Worker@ CHECK: sxtab16 r3, r5, r8, ror #8 @ encoding: [0x78,0x34,0x85,0xe6] 3054*9880d681SAndroid Build Coastguard Worker@ CHECK: sxtab16 r3, r2, r1, ror #16 @ encoding: [0x71,0x38,0x82,0xe6] 3055*9880d681SAndroid Build Coastguard Worker@ CHECK: sxtab16eq r1, r2, r3, ror #24 @ encoding: [0x73,0x1c,0x82,0x06] 3056*9880d681SAndroid Build Coastguard Worker 3057*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 3058*9880d681SAndroid Build Coastguard Worker@ SXTAH 3059*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 3060*9880d681SAndroid Build Coastguard Worker sxtah r1, r3, r9 3061*9880d681SAndroid Build Coastguard Worker sxtahhi r6, r1, r6, ror #0 3062*9880d681SAndroid Build Coastguard Worker sxtah r3, r8, r3, ror #8 3063*9880d681SAndroid Build Coastguard Worker sxtahlo r2, r2, r4, ror #16 3064*9880d681SAndroid Build Coastguard Worker sxtah r9, r3, r3, ror #24 3065*9880d681SAndroid Build Coastguard Worker 3066*9880d681SAndroid Build Coastguard Worker@ CHECK: sxtah r1, r3, r9 @ encoding: [0x79,0x10,0xb3,0xe6] 3067*9880d681SAndroid Build Coastguard Worker@ CHECK: sxtahhi r6, r1, r6 @ encoding: [0x76,0x60,0xb1,0x86] 3068*9880d681SAndroid Build Coastguard Worker@ CHECK: sxtah r3, r8, r3, ror #8 @ encoding: [0x73,0x34,0xb8,0xe6] 3069*9880d681SAndroid Build Coastguard Worker@ CHECK: sxtahlo r2, r2, r4, ror #16 @ encoding: [0x74,0x28,0xb2,0x36] 3070*9880d681SAndroid Build Coastguard Worker@ CHECK: sxtah r9, r3, r3, ror #24 @ encoding: [0x73,0x9c,0xb3,0xe6] 3071*9880d681SAndroid Build Coastguard Worker 3072*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 3073*9880d681SAndroid Build Coastguard Worker@ SXTB 3074*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 3075*9880d681SAndroid Build Coastguard Worker sxtbge r2, r4 3076*9880d681SAndroid Build Coastguard Worker sxtb r5, r6, ror #0 3077*9880d681SAndroid Build Coastguard Worker sxtb r6, r9, ror #8 3078*9880d681SAndroid Build Coastguard Worker sxtbcc r5, r1, ror #16 3079*9880d681SAndroid Build Coastguard Worker sxtb r8, r3, ror #24 3080*9880d681SAndroid Build Coastguard Worker 3081*9880d681SAndroid Build Coastguard Worker@ CHECK: sxtbge r2, r4 @ encoding: [0x74,0x20,0xaf,0xa6] 3082*9880d681SAndroid Build Coastguard Worker@ CHECK: sxtb r5, r6 @ encoding: [0x76,0x50,0xaf,0xe6] 3083*9880d681SAndroid Build Coastguard Worker@ CHECK: sxtb r6, r9, ror #8 @ encoding: [0x79,0x64,0xaf,0xe6] 3084*9880d681SAndroid Build Coastguard Worker@ CHECK: sxtblo r5, r1, ror #16 @ encoding: [0x71,0x58,0xaf,0x36] 3085*9880d681SAndroid Build Coastguard Worker@ CHECK: sxtb r8, r3, ror #24 @ encoding: [0x73,0x8c,0xaf,0xe6] 3086*9880d681SAndroid Build Coastguard Worker 3087*9880d681SAndroid Build Coastguard Worker 3088*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 3089*9880d681SAndroid Build Coastguard Worker@ SXTB16 3090*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 3091*9880d681SAndroid Build Coastguard Worker sxtb16 r1, r4 3092*9880d681SAndroid Build Coastguard Worker sxtb16 r6, r7, ror #0 3093*9880d681SAndroid Build Coastguard Worker sxtb16cs r3, r5, ror #8 3094*9880d681SAndroid Build Coastguard Worker sxtb16 r3, r1, ror #16 3095*9880d681SAndroid Build Coastguard Worker sxtb16ge r2, r3, ror #24 3096*9880d681SAndroid Build Coastguard Worker 3097*9880d681SAndroid Build Coastguard Worker@ CHECK: sxtb16 r1, r4 @ encoding: [0x74,0x10,0x8f,0xe6] 3098*9880d681SAndroid Build Coastguard Worker@ CHECK: sxtb16 r6, r7 @ encoding: [0x77,0x60,0x8f,0xe6] 3099*9880d681SAndroid Build Coastguard Worker@ CHECK: sxtb16hs r3, r5, ror #8 @ encoding: [0x75,0x34,0x8f,0x26] 3100*9880d681SAndroid Build Coastguard Worker@ CHECK: sxtb16 r3, r1, ror #16 @ encoding: [0x71,0x38,0x8f,0xe6] 3101*9880d681SAndroid Build Coastguard Worker@ CHECK: sxtb16ge r2, r3, ror #24 @ encoding: [0x73,0x2c,0x8f,0xa6] 3102*9880d681SAndroid Build Coastguard Worker 3103*9880d681SAndroid Build Coastguard Worker 3104*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 3105*9880d681SAndroid Build Coastguard Worker@ SXTH 3106*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 3107*9880d681SAndroid Build Coastguard Worker sxthne r3, r9 3108*9880d681SAndroid Build Coastguard Worker sxth r1, r6, ror #0 3109*9880d681SAndroid Build Coastguard Worker sxth r3, r8, ror #8 3110*9880d681SAndroid Build Coastguard Worker sxthle r2, r2, ror #16 3111*9880d681SAndroid Build Coastguard Worker sxth r9, r3, ror #24 3112*9880d681SAndroid Build Coastguard Worker 3113*9880d681SAndroid Build Coastguard Worker@ CHECK: sxthne r3, r9 @ encoding: [0x79,0x30,0xbf,0x16] 3114*9880d681SAndroid Build Coastguard Worker@ CHECK: sxth r1, r6 @ encoding: [0x76,0x10,0xbf,0xe6] 3115*9880d681SAndroid Build Coastguard Worker@ CHECK: sxth r3, r8, ror #8 @ encoding: [0x78,0x34,0xbf,0xe6] 3116*9880d681SAndroid Build Coastguard Worker@ CHECK: sxthle r2, r2, ror #16 @ encoding: [0x72,0x28,0xbf,0xd6] 3117*9880d681SAndroid Build Coastguard Worker@ CHECK: sxth r9, r3, ror #24 @ encoding: [0x73,0x9c,0xbf,0xe6] 3118*9880d681SAndroid Build Coastguard Worker 3119*9880d681SAndroid Build Coastguard Worker 3120*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 3121*9880d681SAndroid Build Coastguard Worker@ TEQ 3122*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 3123*9880d681SAndroid Build Coastguard Worker teq r5, #0xf000 3124*9880d681SAndroid Build Coastguard Worker teq r5, $0xf000 3125*9880d681SAndroid Build Coastguard Worker teq r5, 0xf000 3126*9880d681SAndroid Build Coastguard Worker teq r7, #(0xff << 16) 3127*9880d681SAndroid Build Coastguard Worker teq r7, #-2147483638 3128*9880d681SAndroid Build Coastguard Worker teq r7, #42, #2 3129*9880d681SAndroid Build Coastguard Worker teq r7, #40, #2 3130*9880d681SAndroid Build Coastguard Worker teq r7, $40, $2 3131*9880d681SAndroid Build Coastguard Worker teq r7, 40, 2 3132*9880d681SAndroid Build Coastguard Worker teq r7, (20 * 2), (1 << 1) 3133*9880d681SAndroid Build Coastguard Worker teq r4, r5 3134*9880d681SAndroid Build Coastguard Worker teq r4, r5, lsl #5 3135*9880d681SAndroid Build Coastguard Worker teq r4, r5, lsr #5 3136*9880d681SAndroid Build Coastguard Worker teq r4, r5, lsr #5 3137*9880d681SAndroid Build Coastguard Worker teq r4, r5, asr #5 3138*9880d681SAndroid Build Coastguard Worker teq r4, r5, ror #5 3139*9880d681SAndroid Build Coastguard Worker teq r6, r7, lsl r9 3140*9880d681SAndroid Build Coastguard Worker teq r6, r7, lsr r9 3141*9880d681SAndroid Build Coastguard Worker teq r6, r7, asr r9 3142*9880d681SAndroid Build Coastguard Worker teq r6, r7, ror r9 3143*9880d681SAndroid Build Coastguard Worker 3144*9880d681SAndroid Build Coastguard Worker@ CHECK: teq r5, #61440 @ encoding: [0x0f,0x0a,0x35,0xe3] 3145*9880d681SAndroid Build Coastguard Worker@ CHECK: teq r5, #61440 @ encoding: [0x0f,0x0a,0x35,0xe3] 3146*9880d681SAndroid Build Coastguard Worker@ CHECK: teq r5, #61440 @ encoding: [0x0f,0x0a,0x35,0xe3] 3147*9880d681SAndroid Build Coastguard Worker@ CHECK: teq r7, #16711680 @ encoding: [0xff,0x08,0x37,0xe3] 3148*9880d681SAndroid Build Coastguard Worker@ CHECK: teq r7, #-2147483638 @ encoding: [0x2a,0x01,0x37,0xe3] 3149*9880d681SAndroid Build Coastguard Worker@ CHECK: teq r7, #-2147483638 @ encoding: [0x2a,0x01,0x37,0xe3] 3150*9880d681SAndroid Build Coastguard Worker@ CHECK: teq r7, #40, #2 @ encoding: [0x28,0x01,0x37,0xe3] 3151*9880d681SAndroid Build Coastguard Worker@ CHECK: teq r7, #40, #2 @ encoding: [0x28,0x01,0x37,0xe3] 3152*9880d681SAndroid Build Coastguard Worker@ CHECK: teq r7, #40, #2 @ encoding: [0x28,0x01,0x37,0xe3] 3153*9880d681SAndroid Build Coastguard Worker@ CHECK: teq r7, #40, #2 @ encoding: [0x28,0x01,0x37,0xe3] 3154*9880d681SAndroid Build Coastguard Worker@ CHECK: teq r4, r5 @ encoding: [0x05,0x00,0x34,0xe1] 3155*9880d681SAndroid Build Coastguard Worker@ CHECK: teq r4, r5, lsl #5 @ encoding: [0x85,0x02,0x34,0xe1] 3156*9880d681SAndroid Build Coastguard Worker@ CHECK: teq r4, r5, lsr #5 @ encoding: [0xa5,0x02,0x34,0xe1] 3157*9880d681SAndroid Build Coastguard Worker@ CHECK: teq r4, r5, lsr #5 @ encoding: [0xa5,0x02,0x34,0xe1] 3158*9880d681SAndroid Build Coastguard Worker@ CHECK: teq r4, r5, asr #5 @ encoding: [0xc5,0x02,0x34,0xe1] 3159*9880d681SAndroid Build Coastguard Worker@ CHECK: teq r4, r5, ror #5 @ encoding: [0xe5,0x02,0x34,0xe1] 3160*9880d681SAndroid Build Coastguard Worker@ CHECK: teq r6, r7, lsl r9 @ encoding: [0x17,0x09,0x36,0xe1] 3161*9880d681SAndroid Build Coastguard Worker@ CHECK: teq r6, r7, lsr r9 @ encoding: [0x37,0x09,0x36,0xe1] 3162*9880d681SAndroid Build Coastguard Worker@ CHECK: teq r6, r7, asr r9 @ encoding: [0x57,0x09,0x36,0xe1] 3163*9880d681SAndroid Build Coastguard Worker@ CHECK: teq r6, r7, ror r9 @ encoding: [0x77,0x09,0x36,0xe1] 3164*9880d681SAndroid Build Coastguard Worker 3165*9880d681SAndroid Build Coastguard Worker 3166*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 3167*9880d681SAndroid Build Coastguard Worker@ TST 3168*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 3169*9880d681SAndroid Build Coastguard Worker tst r5, #0xf000 3170*9880d681SAndroid Build Coastguard Worker tst r5, $0xf000 3171*9880d681SAndroid Build Coastguard Worker tst r5, 0xf000 3172*9880d681SAndroid Build Coastguard Worker tst r7, #(0xff << 16) 3173*9880d681SAndroid Build Coastguard Worker tst r7, #-2147483638 3174*9880d681SAndroid Build Coastguard Worker tst r7, #42, #2 3175*9880d681SAndroid Build Coastguard Worker tst r7, #40, #2 3176*9880d681SAndroid Build Coastguard Worker tst r7, $40, $2 3177*9880d681SAndroid Build Coastguard Worker tst r7, 40, 2 3178*9880d681SAndroid Build Coastguard Worker tst r7, (20 * 2), (1 << 1) 3179*9880d681SAndroid Build Coastguard Worker tst r4, r5 3180*9880d681SAndroid Build Coastguard Worker tst r4, r5, lsl #5 3181*9880d681SAndroid Build Coastguard Worker tst r4, r5, lsr #5 3182*9880d681SAndroid Build Coastguard Worker tst r4, r5, lsr #5 3183*9880d681SAndroid Build Coastguard Worker tst r4, r5, asr #5 3184*9880d681SAndroid Build Coastguard Worker tst r4, r5, ror #5 3185*9880d681SAndroid Build Coastguard Worker tst r6, r7, lsl r9 3186*9880d681SAndroid Build Coastguard Worker tst r6, r7, lsr r9 3187*9880d681SAndroid Build Coastguard Worker tst r6, r7, asr r9 3188*9880d681SAndroid Build Coastguard Worker tst r6, r7, ror r9 3189*9880d681SAndroid Build Coastguard Worker 3190*9880d681SAndroid Build Coastguard Worker@ CHECK: tst r5, #61440 @ encoding: [0x0f,0x0a,0x15,0xe3] 3191*9880d681SAndroid Build Coastguard Worker@ CHECK: tst r5, #61440 @ encoding: [0x0f,0x0a,0x15,0xe3] 3192*9880d681SAndroid Build Coastguard Worker@ CHECK: tst r5, #61440 @ encoding: [0x0f,0x0a,0x15,0xe3] 3193*9880d681SAndroid Build Coastguard Worker@ CHECK: tst r7, #16711680 @ encoding: [0xff,0x08,0x17,0xe3] 3194*9880d681SAndroid Build Coastguard Worker@ CHECK: tst r7, #-2147483638 @ encoding: [0x2a,0x01,0x17,0xe3] 3195*9880d681SAndroid Build Coastguard Worker@ CHECK: tst r7, #-2147483638 @ encoding: [0x2a,0x01,0x17,0xe3] 3196*9880d681SAndroid Build Coastguard Worker@ CHECK: tst r7, #40, #2 @ encoding: [0x28,0x01,0x17,0xe3] 3197*9880d681SAndroid Build Coastguard Worker@ CHECK: tst r7, #40, #2 @ encoding: [0x28,0x01,0x17,0xe3] 3198*9880d681SAndroid Build Coastguard Worker@ CHECK: tst r7, #40, #2 @ encoding: [0x28,0x01,0x17,0xe3] 3199*9880d681SAndroid Build Coastguard Worker@ CHECK: tst r7, #40, #2 @ encoding: [0x28,0x01,0x17,0xe3] 3200*9880d681SAndroid Build Coastguard Worker@ CHECK: tst r4, r5 @ encoding: [0x05,0x00,0x14,0xe1] 3201*9880d681SAndroid Build Coastguard Worker@ CHECK: tst r4, r5, lsl #5 @ encoding: [0x85,0x02,0x14,0xe1] 3202*9880d681SAndroid Build Coastguard Worker@ CHECK: tst r4, r5, lsr #5 @ encoding: [0xa5,0x02,0x14,0xe1] 3203*9880d681SAndroid Build Coastguard Worker@ CHECK: tst r4, r5, lsr #5 @ encoding: [0xa5,0x02,0x14,0xe1] 3204*9880d681SAndroid Build Coastguard Worker@ CHECK: tst r4, r5, asr #5 @ encoding: [0xc5,0x02,0x14,0xe1] 3205*9880d681SAndroid Build Coastguard Worker@ CHECK: tst r4, r5, ror #5 @ encoding: [0xe5,0x02,0x14,0xe1] 3206*9880d681SAndroid Build Coastguard Worker@ CHECK: tst r6, r7, lsl r9 @ encoding: [0x17,0x09,0x16,0xe1] 3207*9880d681SAndroid Build Coastguard Worker@ CHECK: tst r6, r7, lsr r9 @ encoding: [0x37,0x09,0x16,0xe1] 3208*9880d681SAndroid Build Coastguard Worker@ CHECK: tst r6, r7, asr r9 @ encoding: [0x57,0x09,0x16,0xe1] 3209*9880d681SAndroid Build Coastguard Worker@ CHECK: tst r6, r7, ror r9 @ encoding: [0x77,0x09,0x16,0xe1] 3210*9880d681SAndroid Build Coastguard Worker 3211*9880d681SAndroid Build Coastguard Worker 3212*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 3213*9880d681SAndroid Build Coastguard Worker@ UADD16/UADD8 3214*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 3215*9880d681SAndroid Build Coastguard Worker uadd16 r1, r2, r3 3216*9880d681SAndroid Build Coastguard Worker uadd16gt r1, r2, r3 3217*9880d681SAndroid Build Coastguard Worker uadd8 r1, r2, r3 3218*9880d681SAndroid Build Coastguard Worker uadd8le r1, r2, r3 3219*9880d681SAndroid Build Coastguard Worker 3220*9880d681SAndroid Build Coastguard Worker@ CHECK: uadd16 r1, r2, r3 @ encoding: [0x13,0x1f,0x52,0xe6] 3221*9880d681SAndroid Build Coastguard Worker@ CHECK: uadd16gt r1, r2, r3 @ encoding: [0x13,0x1f,0x52,0xc6] 3222*9880d681SAndroid Build Coastguard Worker@ CHECK: uadd8 r1, r2, r3 @ encoding: [0x93,0x1f,0x52,0xe6] 3223*9880d681SAndroid Build Coastguard Worker@ CHECK: uadd8le r1, r2, r3 @ encoding: [0x93,0x1f,0x52,0xd6] 3224*9880d681SAndroid Build Coastguard Worker 3225*9880d681SAndroid Build Coastguard Worker 3226*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 3227*9880d681SAndroid Build Coastguard Worker@ UASX 3228*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 3229*9880d681SAndroid Build Coastguard Worker uasx r9, r12, r0 3230*9880d681SAndroid Build Coastguard Worker uasxeq r9, r12, r0 3231*9880d681SAndroid Build Coastguard Worker 3232*9880d681SAndroid Build Coastguard Worker@ CHECK: uasx r9, r12, r0 @ encoding: [0x30,0x9f,0x5c,0xe6] 3233*9880d681SAndroid Build Coastguard Worker@ CHECK: uasxeq r9, r12, r0 @ encoding: [0x30,0x9f,0x5c,0x06] 3234*9880d681SAndroid Build Coastguard Worker 3235*9880d681SAndroid Build Coastguard Worker 3236*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 3237*9880d681SAndroid Build Coastguard Worker@ UBFX 3238*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 3239*9880d681SAndroid Build Coastguard Worker ubfx r4, r5, #16, #1 3240*9880d681SAndroid Build Coastguard Worker ubfxgt r4, r5, #16, #16 3241*9880d681SAndroid Build Coastguard Worker 3242*9880d681SAndroid Build Coastguard Worker@ CHECK: ubfx r4, r5, #16, #1 @ encoding: [0x55,0x48,0xe0,0xe7] 3243*9880d681SAndroid Build Coastguard Worker@ CHECK: ubfxgt r4, r5, #16, #16 @ encoding: [0x55,0x48,0xef,0xc7] 3244*9880d681SAndroid Build Coastguard Worker 3245*9880d681SAndroid Build Coastguard Worker 3246*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 3247*9880d681SAndroid Build Coastguard Worker@ UHADD16/UHADD8 3248*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 3249*9880d681SAndroid Build Coastguard Worker uhadd16 r4, r8, r2 3250*9880d681SAndroid Build Coastguard Worker uhadd16gt r4, r8, r2 3251*9880d681SAndroid Build Coastguard Worker uhadd8 r4, r8, r2 3252*9880d681SAndroid Build Coastguard Worker uhadd8gt r4, r8, r2 3253*9880d681SAndroid Build Coastguard Worker 3254*9880d681SAndroid Build Coastguard Worker@ CHECK: uhadd16 r4, r8, r2 @ encoding: [0x12,0x4f,0x78,0xe6] 3255*9880d681SAndroid Build Coastguard Worker@ CHECK: uhadd16gt r4, r8, r2 @ encoding: [0x12,0x4f,0x78,0xc6] 3256*9880d681SAndroid Build Coastguard Worker@ CHECK: uhadd8 r4, r8, r2 @ encoding: [0x92,0x4f,0x78,0xe6] 3257*9880d681SAndroid Build Coastguard Worker@ CHECK: uhadd8gt r4, r8, r2 @ encoding: [0x92,0x4f,0x78,0xc6] 3258*9880d681SAndroid Build Coastguard Worker 3259*9880d681SAndroid Build Coastguard Worker 3260*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 3261*9880d681SAndroid Build Coastguard Worker@ UHASX 3262*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 3263*9880d681SAndroid Build Coastguard Worker uhasx r4, r8, r2 3264*9880d681SAndroid Build Coastguard Worker uhasxgt r4, r8, r2 3265*9880d681SAndroid Build Coastguard Worker 3266*9880d681SAndroid Build Coastguard Worker@ CHECK: uhasx r4, r8, r2 @ encoding: [0x32,0x4f,0x78,0xe6] 3267*9880d681SAndroid Build Coastguard Worker@ CHECK: uhasxgt r4, r8, r2 @ encoding: [0x32,0x4f,0x78,0xc6] 3268*9880d681SAndroid Build Coastguard Worker 3269*9880d681SAndroid Build Coastguard Worker 3270*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 3271*9880d681SAndroid Build Coastguard Worker@ UHSUB16/UHSUB8 3272*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 3273*9880d681SAndroid Build Coastguard Worker uhsub16 r4, r8, r2 3274*9880d681SAndroid Build Coastguard Worker uhsub16gt r4, r8, r2 3275*9880d681SAndroid Build Coastguard Worker uhsub8 r4, r8, r2 3276*9880d681SAndroid Build Coastguard Worker uhsub8gt r4, r8, r2 3277*9880d681SAndroid Build Coastguard Worker 3278*9880d681SAndroid Build Coastguard Worker@ CHECK: uhsub16 r4, r8, r2 @ encoding: [0x72,0x4f,0x78,0xe6] 3279*9880d681SAndroid Build Coastguard Worker@ CHECK: uhsub16gt r4, r8, r2 @ encoding: [0x72,0x4f,0x78,0xc6] 3280*9880d681SAndroid Build Coastguard Worker@ CHECK: uhsub8 r4, r8, r2 @ encoding: [0xf2,0x4f,0x78,0xe6] 3281*9880d681SAndroid Build Coastguard Worker@ CHECK: uhsub8gt r4, r8, r2 @ encoding: [0xf2,0x4f,0x78,0xc6] 3282*9880d681SAndroid Build Coastguard Worker 3283*9880d681SAndroid Build Coastguard Worker 3284*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 3285*9880d681SAndroid Build Coastguard Worker@ UMAAL 3286*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 3287*9880d681SAndroid Build Coastguard Worker umaal r3, r4, r5, r6 3288*9880d681SAndroid Build Coastguard Worker umaallt r3, r4, r5, r6 3289*9880d681SAndroid Build Coastguard Worker 3290*9880d681SAndroid Build Coastguard Worker@ CHECK: umaal r3, r4, r5, r6 @ encoding: [0x95,0x36,0x44,0xe0] 3291*9880d681SAndroid Build Coastguard Worker@ CHECK: umaallt r3, r4, r5, r6 @ encoding: [0x95,0x36,0x44,0xb0] 3292*9880d681SAndroid Build Coastguard Worker 3293*9880d681SAndroid Build Coastguard Worker 3294*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 3295*9880d681SAndroid Build Coastguard Worker@ UMLAL 3296*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 3297*9880d681SAndroid Build Coastguard Worker umlal r2, r4, r6, r8 3298*9880d681SAndroid Build Coastguard Worker umlalgt r6, r1, r2, r6 3299*9880d681SAndroid Build Coastguard Worker umlals r2, r9, r2, r3 3300*9880d681SAndroid Build Coastguard Worker umlalseq r3, r5, r1, r2 3301*9880d681SAndroid Build Coastguard Worker 3302*9880d681SAndroid Build Coastguard Worker@ CHECK: umlal r2, r4, r6, r8 @ encoding: [0x96,0x28,0xa4,0xe0] 3303*9880d681SAndroid Build Coastguard Worker@ CHECK: umlalgt r6, r1, r2, r6 @ encoding: [0x92,0x66,0xa1,0xc0] 3304*9880d681SAndroid Build Coastguard Worker@ CHECK: umlals r2, r9, r2, r3 @ encoding: [0x92,0x23,0xb9,0xe0] 3305*9880d681SAndroid Build Coastguard Worker@ CHECK: umlalseq r3, r5, r1, r2 @ encoding: [0x91,0x32,0xb5,0x00] 3306*9880d681SAndroid Build Coastguard Worker 3307*9880d681SAndroid Build Coastguard Worker 3308*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 3309*9880d681SAndroid Build Coastguard Worker@ UMULL 3310*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 3311*9880d681SAndroid Build Coastguard Worker umull r2, r4, r6, r8 3312*9880d681SAndroid Build Coastguard Worker umullgt r6, r1, r2, r6 3313*9880d681SAndroid Build Coastguard Worker umulls r2, r9, r2, r3 3314*9880d681SAndroid Build Coastguard Worker umullseq r3, r5, r1, r2 3315*9880d681SAndroid Build Coastguard Worker 3316*9880d681SAndroid Build Coastguard Worker@ CHECK: umull r2, r4, r6, r8 @ encoding: [0x96,0x28,0x84,0xe0] 3317*9880d681SAndroid Build Coastguard Worker@ CHECK: umullgt r6, r1, r2, r6 @ encoding: [0x92,0x66,0x81,0xc0] 3318*9880d681SAndroid Build Coastguard Worker@ CHECK: umulls r2, r9, r2, r3 @ encoding: [0x92,0x23,0x99,0xe0] 3319*9880d681SAndroid Build Coastguard Worker@ CHECK: umullseq r3, r5, r1, r2 @ encoding: [0x91,0x32,0x95,0x00] 3320*9880d681SAndroid Build Coastguard Worker 3321*9880d681SAndroid Build Coastguard Worker 3322*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 3323*9880d681SAndroid Build Coastguard Worker@ UQADD16/UQADD8 3324*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 3325*9880d681SAndroid Build Coastguard Worker uqadd16 r1, r2, r3 3326*9880d681SAndroid Build Coastguard Worker uqadd16gt r4, r7, r9 3327*9880d681SAndroid Build Coastguard Worker uqadd8 r3, r4, r8 3328*9880d681SAndroid Build Coastguard Worker uqadd8le r8, r1, r2 3329*9880d681SAndroid Build Coastguard Worker 3330*9880d681SAndroid Build Coastguard Worker 3331*9880d681SAndroid Build Coastguard Worker@ CHECK: uqadd16 r1, r2, r3 @ encoding: [0x13,0x1f,0x62,0xe6] 3332*9880d681SAndroid Build Coastguard Worker@ CHECK: uqadd16gt r4, r7, r9 @ encoding: [0x19,0x4f,0x67,0xc6] 3333*9880d681SAndroid Build Coastguard Worker@ CHECK: uqadd8 r3, r4, r8 @ encoding: [0x98,0x3f,0x64,0xe6] 3334*9880d681SAndroid Build Coastguard Worker@ CHECK: uqadd8le r8, r1, r2 @ encoding: [0x92,0x8f,0x61,0xd6] 3335*9880d681SAndroid Build Coastguard Worker 3336*9880d681SAndroid Build Coastguard Worker 3337*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 3338*9880d681SAndroid Build Coastguard Worker@ UQASX 3339*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 3340*9880d681SAndroid Build Coastguard Worker uqasx r2, r4, r1 3341*9880d681SAndroid Build Coastguard Worker uqasxhi r5, r2, r9 3342*9880d681SAndroid Build Coastguard Worker 3343*9880d681SAndroid Build Coastguard Worker@ CHECK: uqasx r2, r4, r1 @ encoding: [0x31,0x2f,0x64,0xe6] 3344*9880d681SAndroid Build Coastguard Worker@ CHECK: uqasxhi r5, r2, r9 @ encoding: [0x39,0x5f,0x62,0x86] 3345*9880d681SAndroid Build Coastguard Worker 3346*9880d681SAndroid Build Coastguard Worker 3347*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 3348*9880d681SAndroid Build Coastguard Worker@ UQSAX 3349*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 3350*9880d681SAndroid Build Coastguard Worker uqsax r1, r3, r7 3351*9880d681SAndroid Build Coastguard Worker uqsaxal r3, r6, r2 3352*9880d681SAndroid Build Coastguard Worker 3353*9880d681SAndroid Build Coastguard Worker@ CHECK: uqsax r1, r3, r7 @ encoding: [0x57,0x1f,0x63,0xe6] 3354*9880d681SAndroid Build Coastguard Worker@ CHECK: uqsax r3, r6, r2 @ encoding: [0x52,0x3f,0x66,0xe6] 3355*9880d681SAndroid Build Coastguard Worker 3356*9880d681SAndroid Build Coastguard Worker 3357*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 3358*9880d681SAndroid Build Coastguard Worker@ UQSUB16/UQSUB8 3359*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 3360*9880d681SAndroid Build Coastguard Worker uqsub16 r1, r5, r3 3361*9880d681SAndroid Build Coastguard Worker uqsub16gt r3, r2, r5 3362*9880d681SAndroid Build Coastguard Worker uqsub8 r2, r1, r4 3363*9880d681SAndroid Build Coastguard Worker uqsub8le r4, r6, r9 3364*9880d681SAndroid Build Coastguard Worker 3365*9880d681SAndroid Build Coastguard Worker@ CHECK: uqsub16 r1, r5, r3 @ encoding: [0x73,0x1f,0x65,0xe6] 3366*9880d681SAndroid Build Coastguard Worker@ CHECK: uqsub16gt r3, r2, r5 @ encoding: [0x75,0x3f,0x62,0xc6] 3367*9880d681SAndroid Build Coastguard Worker@ CHECK: uqsub8 r2, r1, r4 @ encoding: [0xf4,0x2f,0x61,0xe6] 3368*9880d681SAndroid Build Coastguard Worker@ CHECK: uqsub8le r4, r6, r9 @ encoding: [0xf9,0x4f,0x66,0xd6] 3369*9880d681SAndroid Build Coastguard Worker 3370*9880d681SAndroid Build Coastguard Worker 3371*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 3372*9880d681SAndroid Build Coastguard Worker@ USADA8/USAD8 3373*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 3374*9880d681SAndroid Build Coastguard Worker usad8 r2, r1, r4 3375*9880d681SAndroid Build Coastguard Worker usad8le r4, r6, r9 3376*9880d681SAndroid Build Coastguard Worker usada8 r1, r5, r3, r7 3377*9880d681SAndroid Build Coastguard Worker usada8gt r3, r2, r5, r1 3378*9880d681SAndroid Build Coastguard Worker 3379*9880d681SAndroid Build Coastguard Worker@ CHECK: usad8 r2, r1, r4 @ encoding: [0x11,0xf4,0x82,0xe7] 3380*9880d681SAndroid Build Coastguard Worker@ CHECK: usad8le r4, r6, r9 @ encoding: [0x16,0xf9,0x84,0xd7] 3381*9880d681SAndroid Build Coastguard Worker@ CHECK: usada8 r1, r5, r3, r7 @ encoding: [0x15,0x73,0x81,0xe7] 3382*9880d681SAndroid Build Coastguard Worker@ CHECK: usada8gt r3, r2, r5, r1 @ encoding: [0x12,0x15,0x83,0xc7] 3383*9880d681SAndroid Build Coastguard Worker 3384*9880d681SAndroid Build Coastguard Worker 3385*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 3386*9880d681SAndroid Build Coastguard Worker@ USAT 3387*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 3388*9880d681SAndroid Build Coastguard Worker usat r8, #1, r10 3389*9880d681SAndroid Build Coastguard Worker usat r8, #4, r10, lsl #0 3390*9880d681SAndroid Build Coastguard Worker usat r8, #5, r10, lsl #31 3391*9880d681SAndroid Build Coastguard Worker usat r8, #31, r10, asr #32 3392*9880d681SAndroid Build Coastguard Worker usat r8, #16, r10, asr #1 3393*9880d681SAndroid Build Coastguard Worker 3394*9880d681SAndroid Build Coastguard Worker@ CHECK: usat r8, #1, r10 @ encoding: [0x1a,0x80,0xe1,0xe6] 3395*9880d681SAndroid Build Coastguard Worker@ CHECK: usat r8, #4, r10 @ encoding: [0x1a,0x80,0xe4,0xe6] 3396*9880d681SAndroid Build Coastguard Worker@ CHECK: usat r8, #5, r10, lsl #31 @ encoding: [0x9a,0x8f,0xe5,0xe6] 3397*9880d681SAndroid Build Coastguard Worker@ CHECK: usat r8, #31, r10, asr #32 @ encoding: [0x5a,0x80,0xff,0xe6] 3398*9880d681SAndroid Build Coastguard Worker@ CHECK: usat r8, #16, r10, asr #1 @ encoding: [0xda,0x80,0xf0,0xe6] 3399*9880d681SAndroid Build Coastguard Worker 3400*9880d681SAndroid Build Coastguard Worker 3401*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 3402*9880d681SAndroid Build Coastguard Worker@ USAT16 3403*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 3404*9880d681SAndroid Build Coastguard Worker usat16 r2, #2, r7 3405*9880d681SAndroid Build Coastguard Worker usat16 r3, #15, r5 3406*9880d681SAndroid Build Coastguard Worker 3407*9880d681SAndroid Build Coastguard Worker@ CHECK: usat16 r2, #2, r7 @ encoding: [0x37,0x2f,0xe2,0xe6] 3408*9880d681SAndroid Build Coastguard Worker@ CHECK: usat16 r3, #15, r5 @ encoding: [0x35,0x3f,0xef,0xe6] 3409*9880d681SAndroid Build Coastguard Worker 3410*9880d681SAndroid Build Coastguard Worker 3411*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 3412*9880d681SAndroid Build Coastguard Worker@ USAX 3413*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 3414*9880d681SAndroid Build Coastguard Worker usax r2, r3, r4 3415*9880d681SAndroid Build Coastguard Worker usaxne r2, r3, r4 3416*9880d681SAndroid Build Coastguard Worker 3417*9880d681SAndroid Build Coastguard Worker@ CHECK: usax r2, r3, r4 @ encoding: [0x54,0x2f,0x53,0xe6] 3418*9880d681SAndroid Build Coastguard Worker@ CHECK: usaxne r2, r3, r4 @ encoding: [0x54,0x2f,0x53,0x16] 3419*9880d681SAndroid Build Coastguard Worker 3420*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 3421*9880d681SAndroid Build Coastguard Worker@ USUB16/USUB8 3422*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 3423*9880d681SAndroid Build Coastguard Worker usub16 r4, r2, r7 3424*9880d681SAndroid Build Coastguard Worker usub16hi r1, r1, r3 3425*9880d681SAndroid Build Coastguard Worker usub8 r1, r8, r5 3426*9880d681SAndroid Build Coastguard Worker usub8le r9, r2, r3 3427*9880d681SAndroid Build Coastguard Worker 3428*9880d681SAndroid Build Coastguard Worker@ CHECK: usub16 r4, r2, r7 @ encoding: [0x77,0x4f,0x52,0xe6] 3429*9880d681SAndroid Build Coastguard Worker@ CHECK: usub16hi r1, r1, r3 @ encoding: [0x73,0x1f,0x51,0x86] 3430*9880d681SAndroid Build Coastguard Worker@ CHECK: usub8 r1, r8, r5 @ encoding: [0xf5,0x1f,0x58,0xe6] 3431*9880d681SAndroid Build Coastguard Worker@ CHECK: usub8le r9, r2, r3 @ encoding: [0xf3,0x9f,0x52,0xd6] 3432*9880d681SAndroid Build Coastguard Worker 3433*9880d681SAndroid Build Coastguard Worker 3434*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 3435*9880d681SAndroid Build Coastguard Worker@ UXTAB 3436*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 3437*9880d681SAndroid Build Coastguard Worker uxtab r2, r3, r4 3438*9880d681SAndroid Build Coastguard Worker uxtab r4, r5, r6, ror #0 3439*9880d681SAndroid Build Coastguard Worker uxtablt r6, r2, r9, ror #8 3440*9880d681SAndroid Build Coastguard Worker uxtab r5, r1, r4, ror #16 3441*9880d681SAndroid Build Coastguard Worker uxtab r7, r8, r3, ror #24 3442*9880d681SAndroid Build Coastguard Worker 3443*9880d681SAndroid Build Coastguard Worker@ CHECK: uxtab r2, r3, r4 @ encoding: [0x74,0x20,0xe3,0xe6] 3444*9880d681SAndroid Build Coastguard Worker@ CHECK: uxtab r4, r5, r6 @ encoding: [0x76,0x40,0xe5,0xe6] 3445*9880d681SAndroid Build Coastguard Worker@ CHECK: uxtablt r6, r2, r9, ror #8 @ encoding: [0x79,0x64,0xe2,0xb6] 3446*9880d681SAndroid Build Coastguard Worker@ CHECK: uxtab r5, r1, r4, ror #16 @ encoding: [0x74,0x58,0xe1,0xe6] 3447*9880d681SAndroid Build Coastguard Worker@ CHECK: uxtab r7, r8, r3, ror #24 @ encoding: [0x73,0x7c,0xe8,0xe6] 3448*9880d681SAndroid Build Coastguard Worker 3449*9880d681SAndroid Build Coastguard Worker 3450*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 3451*9880d681SAndroid Build Coastguard Worker@ UXTAB16 3452*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 3453*9880d681SAndroid Build Coastguard Worker uxtab16ge r0, r1, r4 3454*9880d681SAndroid Build Coastguard Worker uxtab16 r6, r2, r7, ror #0 3455*9880d681SAndroid Build Coastguard Worker uxtab16 r3, r5, r8, ror #8 3456*9880d681SAndroid Build Coastguard Worker uxtab16 r3, r2, r1, ror #16 3457*9880d681SAndroid Build Coastguard Worker uxtab16eq r1, r2, r3, ror #24 3458*9880d681SAndroid Build Coastguard Worker 3459*9880d681SAndroid Build Coastguard Worker@ CHECK: uxtab16ge r0, r1, r4 @ encoding: [0x74,0x00,0xc1,0xa6] 3460*9880d681SAndroid Build Coastguard Worker@ CHECK: uxtab16 r6, r2, r7 @ encoding: [0x77,0x60,0xc2,0xe6] 3461*9880d681SAndroid Build Coastguard Worker@ CHECK: uxtab16 r3, r5, r8, ror #8 @ encoding: [0x78,0x34,0xc5,0xe6] 3462*9880d681SAndroid Build Coastguard Worker@ CHECK: uxtab16 r3, r2, r1, ror #16 @ encoding: [0x71,0x38,0xc2,0xe6] 3463*9880d681SAndroid Build Coastguard Worker@ CHECK: uxtab16eq r1, r2, r3, ror #24 @ encoding: [0x73,0x1c,0xc2,0x06] 3464*9880d681SAndroid Build Coastguard Worker 3465*9880d681SAndroid Build Coastguard Worker 3466*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 3467*9880d681SAndroid Build Coastguard Worker@ UXTAH 3468*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 3469*9880d681SAndroid Build Coastguard Worker uxtah r1, r3, r9 3470*9880d681SAndroid Build Coastguard Worker uxtahhi r6, r1, r6, ror #0 3471*9880d681SAndroid Build Coastguard Worker uxtah r3, r8, r3, ror #8 3472*9880d681SAndroid Build Coastguard Worker uxtahlo r2, r2, r4, ror #16 3473*9880d681SAndroid Build Coastguard Worker uxtah r9, r3, r3, ror #24 3474*9880d681SAndroid Build Coastguard Worker 3475*9880d681SAndroid Build Coastguard Worker@ CHECK: uxtah r1, r3, r9 @ encoding: [0x79,0x10,0xf3,0xe6] 3476*9880d681SAndroid Build Coastguard Worker@ CHECK: uxtahhi r6, r1, r6 @ encoding: [0x76,0x60,0xf1,0x86] 3477*9880d681SAndroid Build Coastguard Worker@ CHECK: uxtah r3, r8, r3, ror #8 @ encoding: [0x73,0x34,0xf8,0xe6] 3478*9880d681SAndroid Build Coastguard Worker@ CHECK: uxtahlo r2, r2, r4, ror #16 @ encoding: [0x74,0x28,0xf2,0x36] 3479*9880d681SAndroid Build Coastguard Worker@ CHECK: uxtah r9, r3, r3, ror #24 @ encoding: [0x73,0x9c,0xf3,0xe6] 3480*9880d681SAndroid Build Coastguard Worker 3481*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 3482*9880d681SAndroid Build Coastguard Worker@ UXTB 3483*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 3484*9880d681SAndroid Build Coastguard Worker uxtbge r2, r4 3485*9880d681SAndroid Build Coastguard Worker uxtb r5, r6, ror #0 3486*9880d681SAndroid Build Coastguard Worker uxtb r6, r9, ror #8 3487*9880d681SAndroid Build Coastguard Worker uxtbcc r5, r1, ror #16 3488*9880d681SAndroid Build Coastguard Worker uxtb r8, r3, ror #24 3489*9880d681SAndroid Build Coastguard Worker 3490*9880d681SAndroid Build Coastguard Worker@ CHECK: uxtbge r2, r4 @ encoding: [0x74,0x20,0xef,0xa6] 3491*9880d681SAndroid Build Coastguard Worker@ CHECK: uxtb r5, r6 @ encoding: [0x76,0x50,0xef,0xe6] 3492*9880d681SAndroid Build Coastguard Worker@ CHECK: uxtb r6, r9, ror #8 @ encoding: [0x79,0x64,0xef,0xe6] 3493*9880d681SAndroid Build Coastguard Worker@ CHECK: uxtblo r5, r1, ror #16 @ encoding: [0x71,0x58,0xef,0x36] 3494*9880d681SAndroid Build Coastguard Worker@ CHECK: uxtb r8, r3, ror #24 @ encoding: [0x73,0x8c,0xef,0xe6] 3495*9880d681SAndroid Build Coastguard Worker 3496*9880d681SAndroid Build Coastguard Worker 3497*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 3498*9880d681SAndroid Build Coastguard Worker@ UXTB16 3499*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 3500*9880d681SAndroid Build Coastguard Worker uxtb16 r1, r4 3501*9880d681SAndroid Build Coastguard Worker uxtb16 r6, r7, ror #0 3502*9880d681SAndroid Build Coastguard Worker uxtb16cs r3, r5, ror #8 3503*9880d681SAndroid Build Coastguard Worker uxtb16 r3, r1, ror #16 3504*9880d681SAndroid Build Coastguard Worker uxtb16ge r2, r3, ror #24 3505*9880d681SAndroid Build Coastguard Worker 3506*9880d681SAndroid Build Coastguard Worker@ CHECK: uxtb16 r1, r4 @ encoding: [0x74,0x10,0xcf,0xe6] 3507*9880d681SAndroid Build Coastguard Worker@ CHECK: uxtb16 r6, r7 @ encoding: [0x77,0x60,0xcf,0xe6] 3508*9880d681SAndroid Build Coastguard Worker@ CHECK: uxtb16hs r3, r5, ror #8 @ encoding: [0x75,0x34,0xcf,0x26] 3509*9880d681SAndroid Build Coastguard Worker@ CHECK: uxtb16 r3, r1, ror #16 @ encoding: [0x71,0x38,0xcf,0xe6] 3510*9880d681SAndroid Build Coastguard Worker@ CHECK: uxtb16ge r2, r3, ror #24 @ encoding: [0x73,0x2c,0xcf,0xa6] 3511*9880d681SAndroid Build Coastguard Worker 3512*9880d681SAndroid Build Coastguard Worker 3513*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 3514*9880d681SAndroid Build Coastguard Worker@ UXTH 3515*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 3516*9880d681SAndroid Build Coastguard Worker uxthne r3, r9 3517*9880d681SAndroid Build Coastguard Worker uxth r1, r6, ror #0 3518*9880d681SAndroid Build Coastguard Worker uxth r3, r8, ror #8 3519*9880d681SAndroid Build Coastguard Worker uxthle r2, r2, ror #16 3520*9880d681SAndroid Build Coastguard Worker uxth r9, r3, ror #24 3521*9880d681SAndroid Build Coastguard Worker 3522*9880d681SAndroid Build Coastguard Worker@ CHECK: uxthne r3, r9 @ encoding: [0x79,0x30,0xff,0x16] 3523*9880d681SAndroid Build Coastguard Worker@ CHECK: uxth r1, r6 @ encoding: [0x76,0x10,0xff,0xe6] 3524*9880d681SAndroid Build Coastguard Worker@ CHECK: uxth r3, r8, ror #8 @ encoding: [0x78,0x34,0xff,0xe6] 3525*9880d681SAndroid Build Coastguard Worker@ CHECK: uxthle r2, r2, ror #16 @ encoding: [0x72,0x28,0xff,0xd6] 3526*9880d681SAndroid Build Coastguard Worker@ CHECK: uxth r9, r3, ror #24 @ encoding: [0x73,0x9c,0xff,0xe6] 3527*9880d681SAndroid Build Coastguard Worker 3528*9880d681SAndroid Build Coastguard Worker 3529*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 3530*9880d681SAndroid Build Coastguard Worker@ WFE/WFI/YIELD 3531*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------ 3532*9880d681SAndroid Build Coastguard Worker wfe 3533*9880d681SAndroid Build Coastguard Worker wfehi 3534*9880d681SAndroid Build Coastguard Worker wfi 3535*9880d681SAndroid Build Coastguard Worker wfilt 3536*9880d681SAndroid Build Coastguard Worker yield 3537*9880d681SAndroid Build Coastguard Worker yieldne 3538*9880d681SAndroid Build Coastguard Worker hint #4 3539*9880d681SAndroid Build Coastguard Worker hint #3 3540*9880d681SAndroid Build Coastguard Worker hint #2 3541*9880d681SAndroid Build Coastguard Worker hint #1 3542*9880d681SAndroid Build Coastguard Worker hint #0 3543*9880d681SAndroid Build Coastguard Worker hintgt #239 3544*9880d681SAndroid Build Coastguard Worker 3545*9880d681SAndroid Build Coastguard Worker@ CHECK: wfe @ encoding: [0x02,0xf0,0x20,0xe3] 3546*9880d681SAndroid Build Coastguard Worker@ CHECK: wfehi @ encoding: [0x02,0xf0,0x20,0x83] 3547*9880d681SAndroid Build Coastguard Worker@ CHECK: wfi @ encoding: [0x03,0xf0,0x20,0xe3] 3548*9880d681SAndroid Build Coastguard Worker@ CHECK: wfilt @ encoding: [0x03,0xf0,0x20,0xb3] 3549*9880d681SAndroid Build Coastguard Worker@ CHECK: yield @ encoding: [0x01,0xf0,0x20,0xe3] 3550*9880d681SAndroid Build Coastguard Worker@ CHECK: yieldne @ encoding: [0x01,0xf0,0x20,0x13] 3551*9880d681SAndroid Build Coastguard Worker@ CHECK: sev @ encoding: [0x04,0xf0,0x20,0xe3] 3552*9880d681SAndroid Build Coastguard Worker@ CHECK: wfi @ encoding: [0x03,0xf0,0x20,0xe3] 3553*9880d681SAndroid Build Coastguard Worker@ CHECK: wfe @ encoding: [0x02,0xf0,0x20,0xe3] 3554*9880d681SAndroid Build Coastguard Worker@ CHECK: yield @ encoding: [0x01,0xf0,0x20,0xe3] 3555*9880d681SAndroid Build Coastguard Worker@ CHECK: nop @ encoding: [0x00,0xf0,0x20,0xe3] 3556*9880d681SAndroid Build Coastguard Worker@ CHECK: hintgt #239 @ encoding: [0xef,0xf0,0x20,0xc3] 3557