1*9880d681SAndroid Build Coastguard Worker@ RUN: not llvm-mc -triple=armv7-apple-darwin < %s 2> %t 2*9880d681SAndroid Build Coastguard Worker@ RUN: FileCheck --check-prefix=CHECK-ERRORS --check-prefix=CHECK-ERRORS-V7 < %t %s 3*9880d681SAndroid Build Coastguard Worker@ RUN: not llvm-mc -triple=armv8 < %s 2> %t 4*9880d681SAndroid Build Coastguard Worker@ RUN: FileCheck --check-prefix=CHECK-ERRORS --check-prefix=CHECK-ERRORS-V8 < %t %s 5*9880d681SAndroid Build Coastguard Worker 6*9880d681SAndroid Build Coastguard Worker@ Check for various assembly diagnostic messages on invalid input. 7*9880d681SAndroid Build Coastguard Worker 8*9880d681SAndroid Build Coastguard Worker@ 's' bit on an instruction that can't accept it. 9*9880d681SAndroid Build Coastguard Worker mlss r1, r2, r3, r4 10*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: error: instruction 'mls' can not set flags, 11*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: but 's' suffix specified 12*9880d681SAndroid Build Coastguard Worker 13*9880d681SAndroid Build Coastguard Worker 14*9880d681SAndroid Build Coastguard Worker @ Out of range shift immediate values. 15*9880d681SAndroid Build Coastguard Worker adc r1, r2, r3, lsl #invalid 16*9880d681SAndroid Build Coastguard Worker adc r4, r5, r6, lsl #-1 17*9880d681SAndroid Build Coastguard Worker adc r4, r5, r6, lsl #32 18*9880d681SAndroid Build Coastguard Worker adc r4, r5, r6, lsr #-1 19*9880d681SAndroid Build Coastguard Worker adc r4, r5, r6, lsr #33 20*9880d681SAndroid Build Coastguard Worker adc r4, r5, r6, asr #-1 21*9880d681SAndroid Build Coastguard Worker adc r4, r5, r6, asr #33 22*9880d681SAndroid Build Coastguard Worker adc r4, r5, r6, ror #-1 23*9880d681SAndroid Build Coastguard Worker adc r4, r5, r6, ror #32 24*9880d681SAndroid Build Coastguard Worker 25*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: error: invalid immediate shift value 26*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: adc r1, r2, r3, lsl #invalid 27*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: ^ 28*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: error: immediate shift value out of range 29*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: adc r4, r5, r6, lsl #-1 30*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: ^ 31*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: error: immediate shift value out of range 32*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: adc r4, r5, r6, lsl #32 33*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: ^ 34*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: error: immediate shift value out of range 35*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: adc r4, r5, r6, lsr #-1 36*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: ^ 37*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: error: immediate shift value out of range 38*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: adc r4, r5, r6, lsr #33 39*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: ^ 40*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: error: immediate shift value out of range 41*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: adc r4, r5, r6, asr #-1 42*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: ^ 43*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: error: immediate shift value out of range 44*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: adc r4, r5, r6, asr #33 45*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: ^ 46*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: error: immediate shift value out of range 47*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: adc r4, r5, r6, ror #-1 48*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: ^ 49*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: error: immediate shift value out of range 50*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: adc r4, r5, r6, ror #32 51*9880d681SAndroid Build Coastguard Worker 52*9880d681SAndroid Build Coastguard Worker @ Out of range shift immediate values for load/store. 53*9880d681SAndroid Build Coastguard Worker str r1, [r2, r3, lsl #invalid] 54*9880d681SAndroid Build Coastguard Worker ldr r4, [r5], r6, lsl #-1 55*9880d681SAndroid Build Coastguard Worker pld r4, [r5, r6, lsl #32] 56*9880d681SAndroid Build Coastguard Worker str r4, [r5], r6, lsr #-1 57*9880d681SAndroid Build Coastguard Worker ldr r4, [r5, r6, lsr #33] 58*9880d681SAndroid Build Coastguard Worker pld r4, [r5, r6, asr #-1] 59*9880d681SAndroid Build Coastguard Worker str r4, [r5, r6, asr #33] 60*9880d681SAndroid Build Coastguard Worker ldr r4, [r5, r6, ror #-1] 61*9880d681SAndroid Build Coastguard Worker pld r4, [r5, r6, ror #32] 62*9880d681SAndroid Build Coastguard Worker pld r4, [r5, r6, rrx #0] 63*9880d681SAndroid Build Coastguard Worker 64*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: error: shift amount must be an immediate 65*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: str r1, [r2, r3, lsl #invalid] 66*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: ^ 67*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: error: immediate shift value out of range 68*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: ldr r4, [r5], r6, lsl #-1 69*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: ^ 70*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: error: immediate shift value out of range 71*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: pld r4, [r5, r6, lsl #32] 72*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: ^ 73*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: error: immediate shift value out of range 74*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: str r4, [r5], r6, lsr #-1 75*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: ^ 76*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: error: immediate shift value out of range 77*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: ldr r4, [r5, r6, lsr #33] 78*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: ^ 79*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: error: immediate shift value out of range 80*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: pld r4, [r5, r6, asr #-1] 81*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: ^ 82*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: error: immediate shift value out of range 83*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: str r4, [r5, r6, asr #33] 84*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: ^ 85*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: error: immediate shift value out of range 86*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: ldr r4, [r5, r6, ror #-1] 87*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: ^ 88*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: error: immediate shift value out of range 89*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: pld r4, [r5, r6, ror #32] 90*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: error: ']' expected 91*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: pld r4, [r5, r6, rrx #0] 92*9880d681SAndroid Build Coastguard Worker 93*9880d681SAndroid Build Coastguard Worker @ Out of range 16-bit immediate on BKPT 94*9880d681SAndroid Build Coastguard Worker bkpt #65536 95*9880d681SAndroid Build Coastguard Worker 96*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: error: invalid operand for instruction 97*9880d681SAndroid Build Coastguard Worker 98*9880d681SAndroid Build Coastguard Worker @ Out of range immediates for v8 HLT instruction. 99*9880d681SAndroid Build Coastguard Worker hlt #65536 100*9880d681SAndroid Build Coastguard Worker hlt #-1 101*9880d681SAndroid Build Coastguard Worker@CHECK-ERRORS: error: invalid operand for instruction 102*9880d681SAndroid Build Coastguard Worker@CHECK-ERRORS: hlt #65536 103*9880d681SAndroid Build Coastguard Worker@CHECK-ERRORS: ^ 104*9880d681SAndroid Build Coastguard Worker@CHECK-ERRORS: error: invalid operand for instruction 105*9880d681SAndroid Build Coastguard Worker@CHECK-ERRORS: hlt #-1 106*9880d681SAndroid Build Coastguard Worker@CHECK-ERRORS: ^ 107*9880d681SAndroid Build Coastguard Worker 108*9880d681SAndroid Build Coastguard Worker @ Illegal condition code for v8 HLT instruction. 109*9880d681SAndroid Build Coastguard Worker hlteq #2 110*9880d681SAndroid Build Coastguard Worker hltlt #23 111*9880d681SAndroid Build Coastguard Worker@CHECK-ERRORS: error: instruction 'hlt' is not predicable, but condition code specified 112*9880d681SAndroid Build Coastguard Worker@CHECK-ERRORS: hlteq #2 113*9880d681SAndroid Build Coastguard Worker@CHECK-ERRORS: ^ 114*9880d681SAndroid Build Coastguard Worker@CHECK-ERRORS: error: instruction 'hlt' is not predicable, but condition code specified 115*9880d681SAndroid Build Coastguard Worker@CHECK-ERRORS: hltlt #23 116*9880d681SAndroid Build Coastguard Worker@CHECK-ERRORS: ^ 117*9880d681SAndroid Build Coastguard Worker 118*9880d681SAndroid Build Coastguard Worker @ Out of range 4 and 3 bit immediates on CDP[2] 119*9880d681SAndroid Build Coastguard Worker 120*9880d681SAndroid Build Coastguard Worker @ Out of range immediates for CDP/CDP2 121*9880d681SAndroid Build Coastguard Worker cdp p7, #2, c1, c1, c1, #8 122*9880d681SAndroid Build Coastguard Worker cdp p7, #1, c1, c1, c1, #8 123*9880d681SAndroid Build Coastguard Worker cdp2 p7, #2, c1, c1, c1, #8 124*9880d681SAndroid Build Coastguard Worker cdp2 p7, #1, c1, c1, c1, #8 125*9880d681SAndroid Build Coastguard Worker 126*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: error: invalid operand for instruction 127*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: error: invalid operand for instruction 128*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: error: invalid operand for instruction 129*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: error: invalid operand for instruction 130*9880d681SAndroid Build Coastguard Worker 131*9880d681SAndroid Build Coastguard Worker @ Out of range immediates for DBG 132*9880d681SAndroid Build Coastguard Worker dbg #-1 133*9880d681SAndroid Build Coastguard Worker dbg #16 134*9880d681SAndroid Build Coastguard Worker 135*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: error: immediate operand must be in the range [0,15] 136*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: error: immediate operand must be in the range [0,15] 137*9880d681SAndroid Build Coastguard Worker@ Double-check that we're synced up with the right diagnostics. 138*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: dbg #16 139*9880d681SAndroid Build Coastguard Worker 140*9880d681SAndroid Build Coastguard Worker @ Out of range immediate for MCR/MCR2/MCRR/MCRR2 141*9880d681SAndroid Build Coastguard Worker mcr p7, #8, r5, c1, c1, #4 142*9880d681SAndroid Build Coastguard Worker mcr p7, #2, r5, c1, c1, #8 143*9880d681SAndroid Build Coastguard Worker mcr2 p7, #8, r5, c1, c1, #4 144*9880d681SAndroid Build Coastguard Worker mcr2 p7, #1, r5, c1, c1, #8 145*9880d681SAndroid Build Coastguard Worker mcrr p7, #16, r5, r4, c1 146*9880d681SAndroid Build Coastguard Worker mcrr2 p7, #16, r5, r4, c1 147*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: error: invalid operand for instruction 148*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: error: invalid operand for instruction 149*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: error: invalid operand for instruction 150*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: error: invalid operand for instruction 151*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: error: immediate operand must be in the range [0,15] 152*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS-V7: error: immediate operand must be in the range [0,15] 153*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS-V8: error: invalid operand for instruction 154*9880d681SAndroid Build Coastguard Worker 155*9880d681SAndroid Build Coastguard Worker @ p10 and p11 are reserved for NEON 156*9880d681SAndroid Build Coastguard Worker mcr p10, #2, r5, c1, c1, #4 157*9880d681SAndroid Build Coastguard Worker mcrr p11, #8, r5, r4, c1 158*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: error: invalid operand for instruction 159*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: error: invalid operand for instruction 160*9880d681SAndroid Build Coastguard Worker 161*9880d681SAndroid Build Coastguard Worker @ Out of range immediate for MOV 162*9880d681SAndroid Build Coastguard Worker movw r9, 0x10000 163*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: error: invalid operand for instruction 164*9880d681SAndroid Build Coastguard Worker 165*9880d681SAndroid Build Coastguard Worker @ Invalid 's' bit usage for MOVW 166*9880d681SAndroid Build Coastguard Worker movs r6, #0xffff 167*9880d681SAndroid Build Coastguard Worker movwseq r9, #0xffff 168*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: error: invalid operand for instruction 169*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: error: instruction 'movw' can not set flags, but 's' suffix specified 170*9880d681SAndroid Build Coastguard Worker 171*9880d681SAndroid Build Coastguard Worker @ Out of range immediate for MOVT 172*9880d681SAndroid Build Coastguard Worker movt r9, 0x10000 173*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: error: invalid operand for instruction 174*9880d681SAndroid Build Coastguard Worker 175*9880d681SAndroid Build Coastguard Worker @ Out of range immediates for MRC/MRC2/MRRC/MRRC2 176*9880d681SAndroid Build Coastguard Worker mrc p14, #8, r1, c1, c2, #4 177*9880d681SAndroid Build Coastguard Worker mrc p14, #1, r1, c1, c2, #8 178*9880d681SAndroid Build Coastguard Worker mrc2 p14, #8, r1, c1, c2, #4 179*9880d681SAndroid Build Coastguard Worker mrc2 p14, #0, r1, c1, c2, #9 180*9880d681SAndroid Build Coastguard Worker mrrc p7, #16, r5, r4, c1 181*9880d681SAndroid Build Coastguard Worker mrrc2 p7, #17, r5, r4, c1 182*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: error: invalid operand for instruction 183*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: error: invalid operand for instruction 184*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: error: invalid operand for instruction 185*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: error: invalid operand for instruction 186*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: error: immediate operand must be in the range [0,15] 187*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS-V7: error: immediate operand must be in the range [0,15] 188*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS-V8: error: invalid operand for instruction 189*9880d681SAndroid Build Coastguard Worker 190*9880d681SAndroid Build Coastguard Worker @ Shifter operand validation for PKH instructions. 191*9880d681SAndroid Build Coastguard Worker pkhbt r2, r2, r3, lsl #-1 192*9880d681SAndroid Build Coastguard Worker pkhbt r2, r2, r3, lsl #32 193*9880d681SAndroid Build Coastguard Worker pkhtb r2, r2, r3, asr #0 194*9880d681SAndroid Build Coastguard Worker pkhtb r2, r2, r3, asr #33 195*9880d681SAndroid Build Coastguard Worker pkhbt r2, r2, r3, asr #3 196*9880d681SAndroid Build Coastguard Worker pkhtb r2, r2, r3, lsl #3 197*9880d681SAndroid Build Coastguard Worker 198*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: error: immediate value out of range 199*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: pkhbt r2, r2, r3, lsl #-1 200*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: ^ 201*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: error: immediate value out of range 202*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: pkhbt r2, r2, r3, lsl #32 203*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: ^ 204*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: error: immediate value out of range 205*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: pkhtb r2, r2, r3, asr #0 206*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: ^ 207*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: error: immediate value out of range 208*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: pkhtb r2, r2, r3, asr #33 209*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: ^ 210*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: error: lsl operand expected. 211*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: pkhbt r2, r2, r3, asr #3 212*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: ^ 213*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: error: asr operand expected. 214*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: pkhtb r2, r2, r3, lsl #3 215*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: ^ 216*9880d681SAndroid Build Coastguard Worker 217*9880d681SAndroid Build Coastguard Worker 218*9880d681SAndroid Build Coastguard Worker @ bad values for SETEND 219*9880d681SAndroid Build Coastguard Worker setendne be 220*9880d681SAndroid Build Coastguard Worker setend me 221*9880d681SAndroid Build Coastguard Worker setend 1 222*9880d681SAndroid Build Coastguard Worker 223*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: error: instruction 'setend' is not predicable, but condition code specified 224*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: setendne be 225*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: ^ 226*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: error: 'be' or 'le' operand expected 227*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: setend me 228*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: ^ 229*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: error: 'be' or 'le' operand expected 230*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: setend 1 231*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: ^ 232*9880d681SAndroid Build Coastguard Worker 233*9880d681SAndroid Build Coastguard Worker 234*9880d681SAndroid Build Coastguard Worker @ Out of range immediates and bad shift types for SSAT 235*9880d681SAndroid Build Coastguard Worker ssat r8, #0, r10, lsl #8 236*9880d681SAndroid Build Coastguard Worker ssat r8, #33, r10, lsl #8 237*9880d681SAndroid Build Coastguard Worker ssat r8, #1, r10, lsl #-1 238*9880d681SAndroid Build Coastguard Worker ssat r8, #1, r10, lsl #32 239*9880d681SAndroid Build Coastguard Worker ssat r8, #1, r10, asr #0 240*9880d681SAndroid Build Coastguard Worker ssat r8, #1, r10, asr #33 241*9880d681SAndroid Build Coastguard Worker ssat r8, #1, r10, lsr #5 242*9880d681SAndroid Build Coastguard Worker ssat r8, #1, r10, lsl fred 243*9880d681SAndroid Build Coastguard Worker ssat r8, #1, r10, lsl #fred 244*9880d681SAndroid Build Coastguard Worker 245*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: error: invalid operand for instruction 246*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: ssat r8, #0, r10, lsl #8 247*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: ^ 248*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: error: invalid operand for instruction 249*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: ssat r8, #33, r10, lsl #8 250*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: ^ 251*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: error: 'lsr' shift amount must be in range [0,31] 252*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: ssat r8, #1, r10, lsl #-1 253*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: ^ 254*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: error: 'lsr' shift amount must be in range [0,31] 255*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: ssat r8, #1, r10, lsl #32 256*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: ^ 257*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: error: 'asr' shift amount must be in range [1,32] 258*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: ssat r8, #1, r10, asr #0 259*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: ^ 260*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: error: 'asr' shift amount must be in range [1,32] 261*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: ssat r8, #1, r10, asr #33 262*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: ^ 263*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: error: shift operator 'asr' or 'lsl' expected 264*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: ssat r8, #1, r10, lsr #5 265*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: ^ 266*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: error: '#' expected 267*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: ssat r8, #1, r10, lsl fred 268*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: ^ 269*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: error: shift amount must be an immediate 270*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: ssat r8, #1, r10, lsl #fred 271*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: ^ 272*9880d681SAndroid Build Coastguard Worker 273*9880d681SAndroid Build Coastguard Worker @ Out of range immediates for SSAT16 274*9880d681SAndroid Build Coastguard Worker ssat16 r2, #0, r7 275*9880d681SAndroid Build Coastguard Worker ssat16 r3, #17, r5 276*9880d681SAndroid Build Coastguard Worker 277*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: error: invalid operand for instruction 278*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: ssat16 r2, #0, r7 279*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: ^ 280*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: error: invalid operand for instruction 281*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: ssat16 r3, #17, r5 282*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: ^ 283*9880d681SAndroid Build Coastguard Worker 284*9880d681SAndroid Build Coastguard Worker 285*9880d681SAndroid Build Coastguard Worker @ Out of order STM registers 286*9880d681SAndroid Build Coastguard Worker stmda sp!, {r5, r2} 287*9880d681SAndroid Build Coastguard Worker 288*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: warning: register list not in ascending order 289*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: stmda sp!, {r5, r2} 290*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: ^ 291*9880d681SAndroid Build Coastguard Worker 292*9880d681SAndroid Build Coastguard Worker 293*9880d681SAndroid Build Coastguard Worker @ Out of range immediate on SVC 294*9880d681SAndroid Build Coastguard Worker svc #0x1000000 295*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: error: invalid operand for instruction 296*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: svc #0x1000000 297*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: ^ 298*9880d681SAndroid Build Coastguard Worker 299*9880d681SAndroid Build Coastguard Worker 300*9880d681SAndroid Build Coastguard Worker @ Out of order Rt/Rt2 operands for ldrexd/strexd 301*9880d681SAndroid Build Coastguard Worker ldrexd r4, r3, [r8] 302*9880d681SAndroid Build Coastguard Worker strexd r6, r5, r3, [r8] 303*9880d681SAndroid Build Coastguard Worker 304*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: error: destination operands must be sequential 305*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: ldrexd r4, r3, [r8] 306*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: ^ 307*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: error: source operands must be sequential 308*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: strexd r6, r5, r3, [r8] 309*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: ^ 310*9880d681SAndroid Build Coastguard Worker 311*9880d681SAndroid Build Coastguard Worker @ Illegal rotate operators for extend instructions 312*9880d681SAndroid Build Coastguard Worker sxtb r8, r3, #8 313*9880d681SAndroid Build Coastguard Worker sxtb r8, r3, ror 24 314*9880d681SAndroid Build Coastguard Worker sxtb r8, r3, ror #8 - 315*9880d681SAndroid Build Coastguard Worker sxtab r3, r8, r3, ror #(fred - wilma) 316*9880d681SAndroid Build Coastguard Worker sxtab r7, r8, r3, ror #25 317*9880d681SAndroid Build Coastguard Worker sxtah r9, r3, r3, ror #-8 318*9880d681SAndroid Build Coastguard Worker sxtb16ge r2, r3, lsr #24 319*9880d681SAndroid Build Coastguard Worker 320*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: error: invalid operand for instruction 321*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: sxtb r8, r3, #8 322*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: ^ 323*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: error: '#' expected 324*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: sxtb r8, r3, ror 24 325*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: ^ 326*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: error: unknown token in expression 327*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: sxtb r8, r3, ror #8 - 328*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: ^ 329*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: error: malformed rotate expression 330*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: sxtb r8, r3, ror #8 - 331*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: ^ 332*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: error: rotate amount must be an immediate 333*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: sxtab r3, r8, r3, ror #(fred - wilma) 334*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: ^ 335*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: error: 'ror' rotate amount must be 8, 16, or 24 336*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: sxtab r7, r8, r3, ror #25 337*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: ^ 338*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: error: 'ror' rotate amount must be 8, 16, or 24 339*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: sxtah r9, r3, r3, ror #-8 340*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: ^ 341*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: error: invalid operand for instruction 342*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: sxtb16ge r2, r3, lsr #24 343*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: ^ 344*9880d681SAndroid Build Coastguard Worker 345*9880d681SAndroid Build Coastguard Worker @ Out of range width for SBFX/UBFX 346*9880d681SAndroid Build Coastguard Worker sbfx r4, r5, #31, #2 347*9880d681SAndroid Build Coastguard Worker ubfxgt r4, r5, #16, #17 348*9880d681SAndroid Build Coastguard Worker 349*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: error: bitfield width must be in range [1,32-lsb] 350*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: sbfx r4, r5, #31, #2 351*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: ^ 352*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: error: bitfield width must be in range [1,32-lsb] 353*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: ubfxgt r4, r5, #16, #17 354*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: ^ 355*9880d681SAndroid Build Coastguard Worker 356*9880d681SAndroid Build Coastguard Worker @ Using pc for SBFX/UBFX 357*9880d681SAndroid Build Coastguard Worker sbfx pc, r2, #1, #3 358*9880d681SAndroid Build Coastguard Worker sbfx sp, pc, #4, #5 359*9880d681SAndroid Build Coastguard Worker ubfx pc, r0, #0, #31 360*9880d681SAndroid Build Coastguard Worker ubfx r14, pc, #1, #2 361*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: error: invalid operand for instruction 362*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: sbfx pc, r2, #1, #3 363*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: ^ 364*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: error: invalid operand for instruction 365*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: sbfx sp, pc, #4, #5 366*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: ^ 367*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: error: invalid operand for instruction 368*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: ubfx pc, r0, #0, #31 369*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: ^ 370*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: error: invalid operand for instruction 371*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: ubfx r14, pc, #1, #2 372*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: ^ 373*9880d681SAndroid Build Coastguard Worker 374*9880d681SAndroid Build Coastguard Worker @ Out of order Rt/Rt2 operands for ldrd 375*9880d681SAndroid Build Coastguard Worker ldrd r4, r3, [r8] 376*9880d681SAndroid Build Coastguard Worker ldrd r4, r3, [r8, #8]! 377*9880d681SAndroid Build Coastguard Worker ldrd r4, r3, [r8], #8 378*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: error: destination operands must be sequential 379*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: ldrd r4, r3, [r8] 380*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: ^ 381*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: error: destination operands must be sequential 382*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: ldrd r4, r3, [r8, #8]! 383*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: ^ 384*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: error: destination operands must be sequential 385*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: ldrd r4, r3, [r8], #8 386*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: ^ 387*9880d681SAndroid Build Coastguard Worker 388*9880d681SAndroid Build Coastguard Worker 389*9880d681SAndroid Build Coastguard Worker @ Bad register lists for VFP. 390*9880d681SAndroid Build Coastguard Worker vpush {s0, s3} 391*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: error: non-contiguous register range 392*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: vpush {s0, s3} 393*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: ^ 394*9880d681SAndroid Build Coastguard Worker 395*9880d681SAndroid Build Coastguard Worker @ Out of range coprocessor option immediate. 396*9880d681SAndroid Build Coastguard Worker ldc2 p2, c8, [r1], { 256 } 397*9880d681SAndroid Build Coastguard Worker ldc2 p2, c8, [r1], { -1 } 398*9880d681SAndroid Build Coastguard Worker 399*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS-V7: error: coprocessor option must be an immediate in range [0, 255] 400*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS-V7: ldc2 p2, c8, [r1], { 256 } 401*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS-V7: ^ 402*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS-V8: error: register expected 403*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS-V7: error: coprocessor option must be an immediate in range [0, 255] 404*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS-V7: ldc2 p2, c8, [r1], { -1 } 405*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS-V7: ^ 406*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS-V8: error: register expected 407*9880d681SAndroid Build Coastguard Worker 408*9880d681SAndroid Build Coastguard Worker @ Bad CPS instruction format. 409*9880d681SAndroid Build Coastguard Worker cps f,#1 410*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: error: invalid operand for instruction 411*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: cps f,#1 412*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: ^ 413*9880d681SAndroid Build Coastguard Worker 414*9880d681SAndroid Build Coastguard Worker @ Bad operands for msr 415*9880d681SAndroid Build Coastguard Worker msr #0, #0 416*9880d681SAndroid Build Coastguard Worker msr foo, #0 417*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: error: invalid operand for instruction 418*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: msr #0, #0 419*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: ^ 420*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: error: invalid operand for instruction 421*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: msr foo, #0 422*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: ^ 423*9880d681SAndroid Build Coastguard Worker 424*9880d681SAndroid Build Coastguard Worker isb #-1 425*9880d681SAndroid Build Coastguard Worker isb #16 426*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: error: immediate value out of range 427*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: error: immediate value out of range 428*9880d681SAndroid Build Coastguard Worker 429*9880d681SAndroid Build Coastguard Worker nop.n 430*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: error: instruction with .n (narrow) qualifier not allowed in arm mode 431*9880d681SAndroid Build Coastguard Worker 432*9880d681SAndroid Build Coastguard Worker dmbeq #5 433*9880d681SAndroid Build Coastguard Worker dsble #15 434*9880d681SAndroid Build Coastguard Worker isblo #7 435*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: error: instruction 'dmb' is not predicable, but condition code specified 436*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: error: instruction 'dsb' is not predicable, but condition code specified 437*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: error: instruction 'isb' is not predicable, but condition code specified 438*9880d681SAndroid Build Coastguard Worker 439*9880d681SAndroid Build Coastguard Worker dmblt 440*9880d681SAndroid Build Coastguard Worker dsbne 441*9880d681SAndroid Build Coastguard Worker isbeq 442*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: error: instruction 'dmb' is not predicable, but condition code specified 443*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: error: instruction 'dsb' is not predicable, but condition code specified 444*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: error: instruction 'isb' is not predicable, but condition code specified 445*9880d681SAndroid Build Coastguard Worker 446*9880d681SAndroid Build Coastguard Worker mcr2le p7, #1, r5, c1, c1, #4 447*9880d681SAndroid Build Coastguard Worker mcrr2ne p7, #15, r5, r4, c1 448*9880d681SAndroid Build Coastguard Worker mrc2lo p14, #0, r1, c1, c2, #4 449*9880d681SAndroid Build Coastguard Worker mrrc2lo p7, #1, r5, r4, c1 450*9880d681SAndroid Build Coastguard Worker cdp2hi p10, #0, c6, c12, c0, #7 451*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: error: instruction 'mcr2' is not predicable, but condition code specified 452*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: error: instruction 'mcrr2' is not predicable, but condition code specified 453*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: error: instruction 'mrc2' is not predicable, but condition code specified 454*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: error: instruction 'mrrc2' is not predicable, but condition code specified 455*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: error: instruction 'cdp2' is not predicable, but condition code specified 456*9880d681SAndroid Build Coastguard Worker 457*9880d681SAndroid Build Coastguard Worker bkpteq #7 458*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: error: instruction 'bkpt' is not predicable, but condition code specified 459*9880d681SAndroid Build Coastguard Worker 460*9880d681SAndroid Build Coastguard Worker ldm r2!, {r2, r3} 461*9880d681SAndroid Build Coastguard Worker ldmdb r2!, {r2, r3} 462*9880d681SAndroid Build Coastguard Worker ldmda r2!, {r2, r3} 463*9880d681SAndroid Build Coastguard Worker popeq {sp} 464*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: error: writeback register not allowed in register list 465*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: error: writeback register not allowed in register list 466*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: error: writeback register not allowed in register list 467*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: error: writeback register not allowed in register list 468*9880d681SAndroid Build Coastguard Worker 469*9880d681SAndroid Build Coastguard Worker vrintz.f32.f32 s0, s1 470*9880d681SAndroid Build Coastguard Worker vrintr.f32 s0, s1 471*9880d681SAndroid Build Coastguard Worker vrintx.f64.f64 d2, d5 472*9880d681SAndroid Build Coastguard Worker vrintz.f64 d10, d9 473*9880d681SAndroid Build Coastguard Worker vrinta.f32.f32 s6, s7 474*9880d681SAndroid Build Coastguard Worker vrintn.f32 s8, s9 475*9880d681SAndroid Build Coastguard Worker vrintp.f64.f64 d10, d11 476*9880d681SAndroid Build Coastguard Worker vrintm.f64 d12, d13 477*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS-V7: error: instruction requires: FPARMv8 478*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS-V7: error: instruction requires: FPARMv8 479*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS-V7: error: instruction requires: FPARMv8 480*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS-V7: error: instruction requires: FPARMv8 481*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS-V7: error: instruction requires: FPARMv8 482*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS-V7: error: instruction requires: FPARMv8 483*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS-V7: error: instruction requires: FPARMv8 484*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS-V7: error: instruction requires: FPARMv8 485*9880d681SAndroid Build Coastguard Worker 486*9880d681SAndroid Build Coastguard Worker stm sp!, {r0, pc}^ 487*9880d681SAndroid Build Coastguard Worker ldm sp!, {r0}^ 488*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: error: system STM cannot have writeback register 489*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: error: writeback register only allowed on system LDM if PC in register-list 490*9880d681SAndroid Build Coastguard Worker 491*9880d681SAndroid Build Coastguard Workerfoo2: 492*9880d681SAndroid Build Coastguard Worker mov r0, foo2 493*9880d681SAndroid Build Coastguard Worker movw r0, foo2 494*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: error: immediate expression for mov requires :lower16: or :upper16 495*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: ^ 496*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: error: immediate expression for mov requires :lower16: or :upper16 497*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: ^ 498*9880d681SAndroid Build Coastguard Worker 499*9880d681SAndroid Build Coastguard Worker str r0, [r0, #4]! 500*9880d681SAndroid Build Coastguard Worker str r0, [r0, r1]! 501*9880d681SAndroid Build Coastguard Worker str r0, [r0], #4 502*9880d681SAndroid Build Coastguard Worker str r0, [r0], r1 503*9880d681SAndroid Build Coastguard Worker strh r0, [r0, #2]! 504*9880d681SAndroid Build Coastguard Worker strh r0, [r0, r1]! 505*9880d681SAndroid Build Coastguard Worker strh r0, [r0], #2 506*9880d681SAndroid Build Coastguard Worker strh r0, [r0], r1 507*9880d681SAndroid Build Coastguard Worker strb r0, [r0, #1]! 508*9880d681SAndroid Build Coastguard Worker strb r0, [r0, r1]! 509*9880d681SAndroid Build Coastguard Worker strb r0, [r0], #1 510*9880d681SAndroid Build Coastguard Worker strb r0, [r0], r1 511*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: error: source register and base register can't be identical 512*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: str r0, [r0, #4]! 513*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: ^ 514*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: error: source register and base register can't be identical 515*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: str r0, [r0, r1]! 516*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: ^ 517*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: error: source register and base register can't be identical 518*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: str r0, [r0], #4 519*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: ^ 520*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: error: source register and base register can't be identical 521*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: str r0, [r0], r1 522*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: ^ 523*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: error: source register and base register can't be identical 524*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: strh r0, [r0, #2]! 525*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: ^ 526*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: error: source register and base register can't be identical 527*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: strh r0, [r0, r1]! 528*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: ^ 529*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: error: source register and base register can't be identical 530*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: strh r0, [r0], #2 531*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: ^ 532*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: error: source register and base register can't be identical 533*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: strh r0, [r0], r1 534*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: ^ 535*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: error: source register and base register can't be identical 536*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: strb r0, [r0, #1]! 537*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: ^ 538*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: error: source register and base register can't be identical 539*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: strb r0, [r0, r1]! 540*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: ^ 541*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: error: source register and base register can't be identical 542*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: strb r0, [r0], #1 543*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: ^ 544*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: error: source register and base register can't be identical 545*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: strb r0, [r0], r1 546*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: ^ 547*9880d681SAndroid Build Coastguard Worker 548*9880d681SAndroid Build Coastguard Worker ldr r0, [r0, #4]! 549*9880d681SAndroid Build Coastguard Worker ldr r0, [r0, r1]! 550*9880d681SAndroid Build Coastguard Worker ldr r0, [r0], #4 551*9880d681SAndroid Build Coastguard Worker ldr r0, [r0], r1 552*9880d681SAndroid Build Coastguard Worker ldrh r0, [r0, #2]! 553*9880d681SAndroid Build Coastguard Worker ldrh r0, [r0, r1]! 554*9880d681SAndroid Build Coastguard Worker ldrh r0, [r0], #2 555*9880d681SAndroid Build Coastguard Worker ldrh r0, [r0], r1 556*9880d681SAndroid Build Coastguard Worker ldrsh r0, [r0, #2]! 557*9880d681SAndroid Build Coastguard Worker ldrsh r0, [r0, r1]! 558*9880d681SAndroid Build Coastguard Worker ldrsh r0, [r0], #2 559*9880d681SAndroid Build Coastguard Worker ldrsh r0, [r0], r1 560*9880d681SAndroid Build Coastguard Worker ldrb r0, [r0, #1]! 561*9880d681SAndroid Build Coastguard Worker ldrb r0, [r0, r1]! 562*9880d681SAndroid Build Coastguard Worker ldrb r0, [r0], #1 563*9880d681SAndroid Build Coastguard Worker ldrb r0, [r0], r1 564*9880d681SAndroid Build Coastguard Worker ldrsb r0, [r0, #1]! 565*9880d681SAndroid Build Coastguard Worker ldrsb r0, [r0, r1]! 566*9880d681SAndroid Build Coastguard Worker ldrsb r0, [r0], #1 567*9880d681SAndroid Build Coastguard Worker ldrsb r0, [r0], r1 568*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: error: destination register and base register can't be identical 569*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: ldr r0, [r0, #4]! 570*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: ^ 571*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: error: destination register and base register can't be identical 572*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: ldr r0, [r0, r1]! 573*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: ^ 574*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: error: destination register and base register can't be identical 575*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: ldr r0, [r0], #4 576*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: ^ 577*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: error: destination register and base register can't be identical 578*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: ldr r0, [r0], r1 579*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: ^ 580*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: error: destination register and base register can't be identical 581*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: ldrh r0, [r0, #2]! 582*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: ^ 583*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: error: destination register and base register can't be identical 584*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: ldrh r0, [r0, r1]! 585*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: ^ 586*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: error: destination register and base register can't be identical 587*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: ldrh r0, [r0], #2 588*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: ^ 589*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: error: destination register and base register can't be identical 590*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: ldrh r0, [r0], r1 591*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: ^ 592*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: error: destination register and base register can't be identical 593*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: ldrsh r0, [r0, #2]! 594*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: ^ 595*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: error: destination register and base register can't be identical 596*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: ldrsh r0, [r0, r1]! 597*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: ^ 598*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: error: destination register and base register can't be identical 599*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: ldrsh r0, [r0], #2 600*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: ^ 601*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: error: destination register and base register can't be identical 602*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: ldrsh r0, [r0], r1 603*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: ^ 604*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: error: destination register and base register can't be identical 605*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: ldrb r0, [r0, #1]! 606*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: ^ 607*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: error: destination register and base register can't be identical 608*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: ldrb r0, [r0, r1]! 609*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: ^ 610*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: error: destination register and base register can't be identical 611*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: ldrb r0, [r0], #1 612*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: ^ 613*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: error: destination register and base register can't be identical 614*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: ldrb r0, [r0], r1 615*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: ^ 616*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: error: destination register and base register can't be identical 617*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: ldrsb r0, [r0, #1]! 618*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: ^ 619*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: error: destination register and base register can't be identical 620*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: ldrsb r0, [r0, r1]! 621*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: ^ 622*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: error: destination register and base register can't be identical 623*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: ldrsb r0, [r0], #1 624*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: ^ 625*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: error: destination register and base register can't be identical 626*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: ldrsb r0, [r0], r1 627*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: ^ 628*9880d681SAndroid Build Coastguard Worker 629*9880d681SAndroid Build Coastguard Worker @ Out of range modified immediate values 630*9880d681SAndroid Build Coastguard Worker mov r5, #-256, #6 631*9880d681SAndroid Build Coastguard Worker mov r6, #42, #7 632*9880d681SAndroid Build Coastguard Worker mvn r5, #256, #6 633*9880d681SAndroid Build Coastguard Worker mvn r6, #42, #298 634*9880d681SAndroid Build Coastguard Worker cmp r5, #65535, #6 635*9880d681SAndroid Build Coastguard Worker cmp r6, #42, #31 636*9880d681SAndroid Build Coastguard Worker cmn r5, #-1, #6 637*9880d681SAndroid Build Coastguard Worker cmn r6, #42, #32 638*9880d681SAndroid Build Coastguard Worker msr APSR_nzcvq, #-128, #2 639*9880d681SAndroid Build Coastguard Worker msr apsr_nzcvqg, #0, #1 640*9880d681SAndroid Build Coastguard Worker adc r7, r8, #-256, #2 641*9880d681SAndroid Build Coastguard Worker adc r7, r8, #128, #1 642*9880d681SAndroid Build Coastguard Worker sbc r7, r8, #-256, #2 643*9880d681SAndroid Build Coastguard Worker sbc r7, r8, #128, #1 644*9880d681SAndroid Build Coastguard Worker add r7, r8, #-2149, #0 645*9880d681SAndroid Build Coastguard Worker add r7, r8, #100, #1 646*9880d681SAndroid Build Coastguard Worker sub r7, r8, #-2149, #0 647*9880d681SAndroid Build Coastguard Worker sub r7, r8, #100, #1 648*9880d681SAndroid Build Coastguard Worker and r7, r8, #-2149, #0 649*9880d681SAndroid Build Coastguard Worker and r7, r8, #100, #1 650*9880d681SAndroid Build Coastguard Worker orr r7, r8, #-2149, #0 651*9880d681SAndroid Build Coastguard Worker orr r7, r8, #100, #1 652*9880d681SAndroid Build Coastguard Worker eor r7, r8, #-2149, #0 653*9880d681SAndroid Build Coastguard Worker eor r7, r8, #100, #1 654*9880d681SAndroid Build Coastguard Worker bic r7, r8, #-2149, #0 655*9880d681SAndroid Build Coastguard Worker bic r7, r8, #100, #1 656*9880d681SAndroid Build Coastguard Worker rsb r7, r8, #-2149, #0 657*9880d681SAndroid Build Coastguard Worker rsb r7, r8, #100, #1 658*9880d681SAndroid Build Coastguard Worker adds r7, r8, #-2149, #0 659*9880d681SAndroid Build Coastguard Worker adds r7, r8, #100, #1 660*9880d681SAndroid Build Coastguard Worker subs r7, r8, #-2149, #0 661*9880d681SAndroid Build Coastguard Worker subs r7, r8, #100, #1 662*9880d681SAndroid Build Coastguard Worker rsbs r7, r8, #-2149, #0 663*9880d681SAndroid Build Coastguard Worker rsbs r7, r8, #100, #1 664*9880d681SAndroid Build Coastguard Worker rsc r7, r8, #-2149, #0 665*9880d681SAndroid Build Coastguard Worker rsc r7, r8, #100, #1 666*9880d681SAndroid Build Coastguard Worker TST r7, #-2149, #0 667*9880d681SAndroid Build Coastguard Worker TST r7, #100, #1 668*9880d681SAndroid Build Coastguard Worker TEQ r7, #-2149, #0 669*9880d681SAndroid Build Coastguard Worker TEQ r7, #100, #1 670*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: error: immediate operand must a number in the range [0, 255] 671*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: error: immediate operand must an even number in the range [0, 30] 672*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: error: immediate operand must a number in the range [0, 255] 673*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: error: immediate operand must an even number in the range [0, 30] 674*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: error: immediate operand must a number in the range [0, 255] 675*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: error: immediate operand must an even number in the range [0, 30] 676*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: error: immediate operand must a number in the range [0, 255] 677*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: error: immediate operand must an even number in the range [0, 30] 678*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: error: immediate operand must a number in the range [0, 255] 679*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: error: immediate operand must an even number in the range [0, 30] 680*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: error: immediate operand must a number in the range [0, 255] 681*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: error: immediate operand must an even number in the range [0, 30] 682*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: error: immediate operand must a number in the range [0, 255] 683*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: error: immediate operand must an even number in the range [0, 30] 684*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: error: immediate operand must a number in the range [0, 255] 685*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: error: immediate operand must an even number in the range [0, 30] 686*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: error: immediate operand must a number in the range [0, 255] 687*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: error: immediate operand must an even number in the range [0, 30] 688*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: error: immediate operand must a number in the range [0, 255] 689*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: error: immediate operand must an even number in the range [0, 30] 690*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: error: immediate operand must a number in the range [0, 255] 691*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: error: immediate operand must an even number in the range [0, 30] 692*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: error: immediate operand must a number in the range [0, 255] 693*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: error: immediate operand must an even number in the range [0, 30] 694*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: error: immediate operand must a number in the range [0, 255] 695*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: error: immediate operand must an even number in the range [0, 30] 696*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: error: immediate operand must a number in the range [0, 255] 697*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: error: immediate operand must an even number in the range [0, 30] 698*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: error: immediate operand must a number in the range [0, 255] 699*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: error: immediate operand must an even number in the range [0, 30] 700*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: error: immediate operand must a number in the range [0, 255] 701*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: error: immediate operand must an even number in the range [0, 30] 702*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: error: immediate operand must a number in the range [0, 255] 703*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: error: immediate operand must an even number in the range [0, 30] 704*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: error: immediate operand must a number in the range [0, 255] 705*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: error: immediate operand must an even number in the range [0, 30] 706*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: error: immediate operand must a number in the range [0, 255] 707*9880d681SAndroid Build Coastguard Worker@ CHECK-ERRORS: error: immediate operand must an even number in the range [0, 30] 708