1*9880d681SAndroid Build Coastguard Worker// RUN: not llvm-mc -triple=thumbv8m.base -show-encoding < %s 2>%t \ 2*9880d681SAndroid Build Coastguard Worker// RUN: | FileCheck --check-prefix=CHECK-BASELINE --check-prefix=CHECK %s 3*9880d681SAndroid Build Coastguard Worker// RUN: FileCheck --check-prefix=UNDEF-BASELINE --check-prefix=UNDEF < %t %s 4*9880d681SAndroid Build Coastguard Worker// RUN: not llvm-mc -triple=thumbv8m.main -show-encoding < %s 2>%t \ 5*9880d681SAndroid Build Coastguard Worker// RUN: | FileCheck --check-prefix=CHECK-MAINLINE --check-prefix=CHECK %s 6*9880d681SAndroid Build Coastguard Worker// RUN: FileCheck --check-prefix=UNDEF-MAINLINE --check-prefix=UNDEF < %t %s 7*9880d681SAndroid Build Coastguard Worker// RUN: not llvm-mc -triple=thumbv8m.main -mattr=+dsp,+t2xtpk -show-encoding < %s 2>%t \ 8*9880d681SAndroid Build Coastguard Worker// RUN: | FileCheck --check-prefix=CHECK-MAINLINE_DSP --check-prefix=CHECK %s 9*9880d681SAndroid Build Coastguard Worker// RUN: FileCheck --check-prefix=UNDEF-MAINLINE_DSP --check-prefix=UNDEF < %t %s 10*9880d681SAndroid Build Coastguard Worker 11*9880d681SAndroid Build Coastguard Worker// Simple check that baseline is v6M and mainline is v7M 12*9880d681SAndroid Build Coastguard Worker// UNDEF-BASELINE: error: instruction requires: thumb2 13*9880d681SAndroid Build Coastguard Worker// UNDEF-MAINLINE-NOT: error: instruction requires: 14*9880d681SAndroid Build Coastguard Worker// UNDEF-MAINLINE_DSP-NOT: error: instruction requires: 15*9880d681SAndroid Build Coastguard Workermov.w r0, r0 16*9880d681SAndroid Build Coastguard Worker 17*9880d681SAndroid Build Coastguard Worker// Check that .arm is invalid 18*9880d681SAndroid Build Coastguard Worker// UNDEF: target does not support ARM mode 19*9880d681SAndroid Build Coastguard Worker.arm 20*9880d681SAndroid Build Coastguard Worker 21*9880d681SAndroid Build Coastguard Worker// And only +dsp,+t2xtpk has DSP and t2xtpk instructions 22*9880d681SAndroid Build Coastguard Worker// UNDEF-BASELINE: error: instruction requires: arm-mode 23*9880d681SAndroid Build Coastguard Worker// UNDEF-MAINLINE: error: instruction requires: arm-mode 24*9880d681SAndroid Build Coastguard Worker// UNDEF-MAINLINE_DSP-NOT: error: instruction requires: 25*9880d681SAndroid Build Coastguard Workerqadd16 r0, r0, r0 26*9880d681SAndroid Build Coastguard Worker// UNDEF-BASELINE: error: instruction requires: arm-mode 27*9880d681SAndroid Build Coastguard Worker// UNDEF-MAINLINE: error: instruction requires: arm-mode 28*9880d681SAndroid Build Coastguard Worker// UNDEF-MAINLINE_DSP-NOT: error: instruction requires: 29*9880d681SAndroid Build Coastguard Workeruxtab16 r0, r1, r2 30*9880d681SAndroid Build Coastguard Worker 31*9880d681SAndroid Build Coastguard Worker// Instruction availibility checks 32*9880d681SAndroid Build Coastguard Worker 33*9880d681SAndroid Build Coastguard Worker// 'Barrier instructions' 34*9880d681SAndroid Build Coastguard Worker 35*9880d681SAndroid Build Coastguard Worker// CHECK: isb sy @ encoding: [0xbf,0xf3,0x6f,0x8f] 36*9880d681SAndroid Build Coastguard Workerisb sy 37*9880d681SAndroid Build Coastguard Worker 38*9880d681SAndroid Build Coastguard Worker// 'Code optimization' 39*9880d681SAndroid Build Coastguard Worker 40*9880d681SAndroid Build Coastguard Worker// CHECK: cbz r3, .Ltmp0 @ encoding: [0x03'A',0xb1'A'] 41*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: @ fixup A - offset: 0, value: .Ltmp0, kind: fixup_arm_thumb_cb 42*9880d681SAndroid Build Coastguard Workercbz r3, 1f 43*9880d681SAndroid Build Coastguard Worker 44*9880d681SAndroid Build Coastguard Worker// CHECK: cbnz r3, .Ltmp0 @ encoding: [0x03'A',0xb9'A'] 45*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: @ fixup A - offset: 0, value: .Ltmp0, kind: fixup_arm_thumb_cb 46*9880d681SAndroid Build Coastguard Workercbnz r3, 1f 47*9880d681SAndroid Build Coastguard Worker 48*9880d681SAndroid Build Coastguard Worker// CHECK: b.w .Ltmp0 @ encoding: [A,0xf0'A',A,0x90'A'] 49*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: @ fixup A - offset: 0, value: .Ltmp0, kind: fixup_t2_uncondbranch 50*9880d681SAndroid Build Coastguard Workerb.w 1f 51*9880d681SAndroid Build Coastguard Worker 52*9880d681SAndroid Build Coastguard Worker// CHECK: sdiv r1, r2, r3 @ encoding: [0x92,0xfb,0xf3,0xf1] 53*9880d681SAndroid Build Coastguard Workersdiv r1, r2, r3 54*9880d681SAndroid Build Coastguard Worker 55*9880d681SAndroid Build Coastguard Worker// CHECK: udiv r1, r2, r3 @ encoding: [0xb2,0xfb,0xf3,0xf1] 56*9880d681SAndroid Build Coastguard Workerudiv r1, r2, r3 57*9880d681SAndroid Build Coastguard Worker 58*9880d681SAndroid Build Coastguard Worker// 'Exclusives from ARMv7-M' 59*9880d681SAndroid Build Coastguard Worker 60*9880d681SAndroid Build Coastguard Worker// CHECK: clrex @ encoding: [0xbf,0xf3,0x2f,0x8f] 61*9880d681SAndroid Build Coastguard Workerclrex 62*9880d681SAndroid Build Coastguard Worker 63*9880d681SAndroid Build Coastguard Worker// CHECK: ldrex r1, [r2, #4] @ encoding: [0x52,0xe8,0x01,0x1f] 64*9880d681SAndroid Build Coastguard Workerldrex r1, [r2, #4] 65*9880d681SAndroid Build Coastguard Worker 66*9880d681SAndroid Build Coastguard Worker// CHECK: ldrexb r1, [r2] @ encoding: [0xd2,0xe8,0x4f,0x1f] 67*9880d681SAndroid Build Coastguard Workerldrexb r1, [r2] 68*9880d681SAndroid Build Coastguard Worker 69*9880d681SAndroid Build Coastguard Worker// CHECK: ldrexh r1, [r2] @ encoding: [0xd2,0xe8,0x5f,0x1f] 70*9880d681SAndroid Build Coastguard Workerldrexh r1, [r2] 71*9880d681SAndroid Build Coastguard Worker 72*9880d681SAndroid Build Coastguard Worker// UNDEF-BASELINE: error: instruction requires: !armv*m thumb2 73*9880d681SAndroid Build Coastguard Worker// UNDEF-MAINLINE: error: instruction requires: !armv*m 74*9880d681SAndroid Build Coastguard Workerldrexd r0, r1, [r2] 75*9880d681SAndroid Build Coastguard Worker 76*9880d681SAndroid Build Coastguard Worker// CHECK: strex r1, r2, [r3, #4] @ encoding: [0x43,0xe8,0x01,0x21] 77*9880d681SAndroid Build Coastguard Workerstrex r1, r2, [r3, #4] 78*9880d681SAndroid Build Coastguard Worker 79*9880d681SAndroid Build Coastguard Worker// CHECK: strexb r1, r2, [r3] @ encoding: [0xc3,0xe8,0x41,0x2f] 80*9880d681SAndroid Build Coastguard Workerstrexb r1, r2, [r3] 81*9880d681SAndroid Build Coastguard Worker 82*9880d681SAndroid Build Coastguard Worker// CHECK: strexh r1, r2, [r3] @ encoding: [0xc3,0xe8,0x51,0x2f] 83*9880d681SAndroid Build Coastguard Workerstrexh r1, r2, [r3] 84*9880d681SAndroid Build Coastguard Worker 85*9880d681SAndroid Build Coastguard Worker// UNDEF-BASELINE: error: instruction requires: !armv*m thumb2 86*9880d681SAndroid Build Coastguard Worker// UNDEF-MAINLINE: error: instruction requires: !armv*m 87*9880d681SAndroid Build Coastguard Workerstrexd r0, r1, r2, [r3] 88*9880d681SAndroid Build Coastguard Worker 89*9880d681SAndroid Build Coastguard Worker// 'XO generation' 90*9880d681SAndroid Build Coastguard Worker 91*9880d681SAndroid Build Coastguard Worker// CHECK: movw r1, #65535 @ encoding: [0x4f,0xf6,0xff,0x71] 92*9880d681SAndroid Build Coastguard Workermovw r1, #0xffff 93*9880d681SAndroid Build Coastguard Worker 94*9880d681SAndroid Build Coastguard Worker// CHECK: movt r1, #65535 @ encoding: [0xcf,0xf6,0xff,0x71] 95*9880d681SAndroid Build Coastguard Workermovt r1, #0xffff 96*9880d681SAndroid Build Coastguard Worker 97*9880d681SAndroid Build Coastguard Worker// 'Acquire/Release from ARMv8-A' 98*9880d681SAndroid Build Coastguard Worker 99*9880d681SAndroid Build Coastguard Worker// CHECK: lda r1, [r2] @ encoding: [0xd2,0xe8,0xaf,0x1f] 100*9880d681SAndroid Build Coastguard Workerlda r1, [r2] 101*9880d681SAndroid Build Coastguard Worker 102*9880d681SAndroid Build Coastguard Worker// CHECK: ldab r1, [r2] @ encoding: [0xd2,0xe8,0x8f,0x1f] 103*9880d681SAndroid Build Coastguard Workerldab r1, [r2] 104*9880d681SAndroid Build Coastguard Worker 105*9880d681SAndroid Build Coastguard Worker// CHECK: ldah r1, [r2] @ encoding: [0xd2,0xe8,0x9f,0x1f] 106*9880d681SAndroid Build Coastguard Workerldah r1, [r2] 107*9880d681SAndroid Build Coastguard Worker 108*9880d681SAndroid Build Coastguard Worker// CHECK: stl r1, [r3] @ encoding: [0xc3,0xe8,0xaf,0x1f] 109*9880d681SAndroid Build Coastguard Workerstl r1, [r3] 110*9880d681SAndroid Build Coastguard Worker 111*9880d681SAndroid Build Coastguard Worker// CHECK: stlb r1, [r3] @ encoding: [0xc3,0xe8,0x8f,0x1f] 112*9880d681SAndroid Build Coastguard Workerstlb r1, [r3] 113*9880d681SAndroid Build Coastguard Worker 114*9880d681SAndroid Build Coastguard Worker// CHECK: stlh r1, [r3] @ encoding: [0xc3,0xe8,0x9f,0x1f] 115*9880d681SAndroid Build Coastguard Workerstlh r1, [r3] 116*9880d681SAndroid Build Coastguard Worker 117*9880d681SAndroid Build Coastguard Worker// CHECK: ldaex r1, [r2] @ encoding: [0xd2,0xe8,0xef,0x1f] 118*9880d681SAndroid Build Coastguard Workerldaex r1, [r2] 119*9880d681SAndroid Build Coastguard Worker 120*9880d681SAndroid Build Coastguard Worker// CHECK: ldaexb r1, [r2] @ encoding: [0xd2,0xe8,0xcf,0x1f] 121*9880d681SAndroid Build Coastguard Workerldaexb r1, [r2] 122*9880d681SAndroid Build Coastguard Worker 123*9880d681SAndroid Build Coastguard Worker// CHECK: ldaexh r1, [r2] @ encoding: [0xd2,0xe8,0xdf,0x1f] 124*9880d681SAndroid Build Coastguard Workerldaexh r1, [r2] 125*9880d681SAndroid Build Coastguard Worker 126*9880d681SAndroid Build Coastguard Worker// UNDEF: error: instruction requires: !armv*m 127*9880d681SAndroid Build Coastguard Workerldaexd r0, r1, [r2] 128*9880d681SAndroid Build Coastguard Worker 129*9880d681SAndroid Build Coastguard Worker// CHECK: stlex r1, r2, [r3] @ encoding: [0xc3,0xe8,0xe1,0x2f] 130*9880d681SAndroid Build Coastguard Workerstlex r1, r2, [r3] 131*9880d681SAndroid Build Coastguard Worker 132*9880d681SAndroid Build Coastguard Worker// CHECK: stlexb r1, r2, [r3] @ encoding: [0xc3,0xe8,0xc1,0x2f] 133*9880d681SAndroid Build Coastguard Workerstlexb r1, r2, [r3] 134*9880d681SAndroid Build Coastguard Worker 135*9880d681SAndroid Build Coastguard Worker// CHECK: stlexh r1, r2, [r3] @ encoding: [0xc3,0xe8,0xd1,0x2f] 136*9880d681SAndroid Build Coastguard Workerstlexh r1, r2, [r3] 137*9880d681SAndroid Build Coastguard Worker 138*9880d681SAndroid Build Coastguard Worker// UNDEF: error: instruction requires: !armv*m 139*9880d681SAndroid Build Coastguard Workerstlexd r0, r1, r2, [r2] 140*9880d681SAndroid Build Coastguard Worker 141*9880d681SAndroid Build Coastguard Worker// ARMv8-M Security Extensions 142*9880d681SAndroid Build Coastguard Worker 143*9880d681SAndroid Build Coastguard Worker// CHECK: sg @ encoding: [0x7f,0xe9,0x7f,0xe9] 144*9880d681SAndroid Build Coastguard Workersg 145*9880d681SAndroid Build Coastguard Worker 146*9880d681SAndroid Build Coastguard Worker// CHECK: bxns r0 @ encoding: [0x04,0x47] 147*9880d681SAndroid Build Coastguard Workerbxns r0 148*9880d681SAndroid Build Coastguard Worker 149*9880d681SAndroid Build Coastguard Worker// UNDEF-BASELINE: error: invalid operand for instruction 150*9880d681SAndroid Build Coastguard Worker// UNDEF-BASELINE: error: conditional execution not supported in Thumb1 151*9880d681SAndroid Build Coastguard Worker// CHECK-MAINLINE: it eq @ encoding: [0x08,0xbf] 152*9880d681SAndroid Build Coastguard Worker// CHECK-MAINLINE: bxnseq r1 @ encoding: [0x0c,0x47] 153*9880d681SAndroid Build Coastguard Workerit eq 154*9880d681SAndroid Build Coastguard Workerbxnseq r1 155*9880d681SAndroid Build Coastguard Worker 156*9880d681SAndroid Build Coastguard Worker// CHECK: bxns lr @ encoding: [0x74,0x47] 157*9880d681SAndroid Build Coastguard Workerbxns lr 158*9880d681SAndroid Build Coastguard Worker 159*9880d681SAndroid Build Coastguard Worker// CHECK: blxns r0 @ encoding: [0x84,0x47] 160*9880d681SAndroid Build Coastguard Workerblxns r0 161*9880d681SAndroid Build Coastguard Worker 162*9880d681SAndroid Build Coastguard Worker// UNDEF-BASELINE: error: invalid operand for instruction 163*9880d681SAndroid Build Coastguard Worker// UNDEF-BASELINE: error: conditional execution not supported in Thumb1 164*9880d681SAndroid Build Coastguard Worker// CHECK-MAINLINE: it eq @ encoding: [0x08,0xbf] 165*9880d681SAndroid Build Coastguard Worker// CHECK-MAINLINE: blxnseq r1 @ encoding: [0x8c,0x47] 166*9880d681SAndroid Build Coastguard Workerit eq 167*9880d681SAndroid Build Coastguard Workerblxnseq r1 168*9880d681SAndroid Build Coastguard Worker 169*9880d681SAndroid Build Coastguard Worker// CHECK: tt r0, r1 @ encoding: [0x41,0xe8,0x00,0xf0] 170*9880d681SAndroid Build Coastguard Workertt r0, r1 171*9880d681SAndroid Build Coastguard Worker 172*9880d681SAndroid Build Coastguard Worker// CHECK: tt r0, sp @ encoding: [0x4d,0xe8,0x00,0xf0] 173*9880d681SAndroid Build Coastguard Workertt r0, sp 174*9880d681SAndroid Build Coastguard Worker 175*9880d681SAndroid Build Coastguard Worker// CHECK: tta r0, r1 @ encoding: [0x41,0xe8,0x80,0xf0] 176*9880d681SAndroid Build Coastguard Workertta r0, r1 177*9880d681SAndroid Build Coastguard Worker 178*9880d681SAndroid Build Coastguard Worker// CHECK: ttt r0, r1 @ encoding: [0x41,0xe8,0x40,0xf0] 179*9880d681SAndroid Build Coastguard Workerttt r0, r1 180*9880d681SAndroid Build Coastguard Worker 181*9880d681SAndroid Build Coastguard Worker// CHECK: ttat r0, r1 @ encoding: [0x41,0xe8,0xc0,0xf0] 182*9880d681SAndroid Build Coastguard Workerttat r0, r1 183*9880d681SAndroid Build Coastguard Worker 184*9880d681SAndroid Build Coastguard Worker// 'Lazy Load/Store Multiple' 185*9880d681SAndroid Build Coastguard Worker 186*9880d681SAndroid Build Coastguard Worker// UNDEF-BASELINE: error: instruction requires: armv8m.main 187*9880d681SAndroid Build Coastguard Worker// CHECK-MAINLINE: vlldm r5 @ encoding: [0x35,0xec,0x00,0x0a] 188*9880d681SAndroid Build Coastguard Worker// CHECK-MAINLINE_DSP: vlldm r5 @ encoding: [0x35,0xec,0x00,0x0a] 189*9880d681SAndroid Build Coastguard Workervlldm r5 190*9880d681SAndroid Build Coastguard Worker 191*9880d681SAndroid Build Coastguard Worker// UNDEF-BASELINE: error: instruction requires: armv8m.main 192*9880d681SAndroid Build Coastguard Worker// CHECK-MAINLINE: vlstm r10 @ encoding: [0x2a,0xec,0x00,0x0a] 193*9880d681SAndroid Build Coastguard Worker// CHECK-MAINLINE_DSP: vlstm r10 @ encoding: [0x2a,0xec,0x00,0x0a] 194*9880d681SAndroid Build Coastguard Workervlstm r10 195*9880d681SAndroid Build Coastguard Worker 196*9880d681SAndroid Build Coastguard Worker// New SYSm's 197*9880d681SAndroid Build Coastguard Worker 198*9880d681SAndroid Build Coastguard WorkerMRS r1, MSP_NS 199*9880d681SAndroid Build Coastguard Worker// CHECK: mrs r1, msp_ns @ encoding: [0xef,0xf3,0x88,0x81] 200*9880d681SAndroid Build Coastguard WorkerMSR PSP_NS, r2 201*9880d681SAndroid Build Coastguard Worker// CHECK: msr psp_ns, r2 @ encoding: [0x82,0xf3,0x89,0x88] 202*9880d681SAndroid Build Coastguard WorkerMRS r3, PRIMASK_NS 203*9880d681SAndroid Build Coastguard Worker// CHECK: mrs r3, primask_ns @ encoding: [0xef,0xf3,0x90,0x83] 204*9880d681SAndroid Build Coastguard WorkerMSR CONTROL_NS, r4 205*9880d681SAndroid Build Coastguard Worker// CHECK: msr control_ns, r4 @ encoding: [0x84,0xf3,0x94,0x88] 206*9880d681SAndroid Build Coastguard WorkerMRS r5, SP_NS 207*9880d681SAndroid Build Coastguard Worker// CHECK: mrs r5, sp_ns @ encoding: [0xef,0xf3,0x98,0x85] 208*9880d681SAndroid Build Coastguard WorkerMRS r6,MSPLIM 209*9880d681SAndroid Build Coastguard Worker// CHECK: mrs r6, msplim @ encoding: [0xef,0xf3,0x0a,0x86] 210*9880d681SAndroid Build Coastguard WorkerMRS r7,PSPLIM 211*9880d681SAndroid Build Coastguard Worker// CHECK: mrs r7, psplim @ encoding: [0xef,0xf3,0x0b,0x87] 212*9880d681SAndroid Build Coastguard WorkerMSR MSPLIM,r8 213*9880d681SAndroid Build Coastguard Worker// CHECK: msr msplim, r8 @ encoding: [0x88,0xf3,0x0a,0x88] 214*9880d681SAndroid Build Coastguard WorkerMSR PSPLIM,r9 215*9880d681SAndroid Build Coastguard Worker// CHECK: msr psplim, r9 @ encoding: [0x89,0xf3,0x0b,0x88] 216*9880d681SAndroid Build Coastguard Worker 217*9880d681SAndroid Build Coastguard WorkerMRS r10, MSPLIM_NS 218*9880d681SAndroid Build Coastguard Worker// CHECK-MAINLINE: mrs r10, msplim_ns @ encoding: [0xef,0xf3,0x8a,0x8a] 219*9880d681SAndroid Build Coastguard Worker// UNDEF-BASELINE: error: invalid operand for instruction 220*9880d681SAndroid Build Coastguard WorkerMSR PSPLIM_NS, r11 221*9880d681SAndroid Build Coastguard Worker// CHECK-MAINLINE: msr psplim_ns, r11 @ encoding: [0x8b,0xf3,0x8b,0x88] 222*9880d681SAndroid Build Coastguard Worker// UNDEF-BASELINE: error: invalid operand for instruction 223*9880d681SAndroid Build Coastguard WorkerMRS r12, BASEPRI_NS 224*9880d681SAndroid Build Coastguard Worker// CHECK-MAINLINE: mrs r12, basepri_ns @ encoding: [0xef,0xf3,0x91,0x8c] 225*9880d681SAndroid Build Coastguard Worker// UNDEF-BASELINE: error: invalid operand for instruction 226*9880d681SAndroid Build Coastguard WorkerMRS r12, BASEPRI_MAX_NS 227*9880d681SAndroid Build Coastguard Worker// CHECK-MAINLINE: mrs r12, basepri_max_ns @ encoding: [0xef,0xf3,0x92,0x8c] 228*9880d681SAndroid Build Coastguard Worker// UNDEF-BASELINE: error: invalid operand for instruction 229*9880d681SAndroid Build Coastguard WorkerMSR FAULTMASK_NS, r14 230*9880d681SAndroid Build Coastguard Worker// CHECK-MAINLINE: msr faultmask_ns, lr @ encoding: [0x8e,0xf3,0x93,0x88] 231*9880d681SAndroid Build Coastguard Worker// UNDEF-BASELINE: error: invalid operand for instruction 232*9880d681SAndroid Build Coastguard Worker 233*9880d681SAndroid Build Coastguard Worker// Invalid operand tests 234*9880d681SAndroid Build Coastguard Worker// UNDEF: error: invalid operand for instruction 235*9880d681SAndroid Build Coastguard Worker// UNDEF: sg #0 236*9880d681SAndroid Build Coastguard Workersg #0 237*9880d681SAndroid Build Coastguard Worker// UNDEF: error: invalid operand for instruction 238*9880d681SAndroid Build Coastguard Worker// UNDEF: sg r0 239*9880d681SAndroid Build Coastguard Workersg r0 240*9880d681SAndroid Build Coastguard Worker// UNDEF: error: invalid operand for instruction 241*9880d681SAndroid Build Coastguard Worker// UNDEF: bxns r0, r1 242*9880d681SAndroid Build Coastguard Workerbxns r0, r1 243*9880d681SAndroid Build Coastguard Worker// UNDEF: error: invalid operand for instruction 244*9880d681SAndroid Build Coastguard Worker// UNDEF: blxns r0, #0 245*9880d681SAndroid Build Coastguard Workerblxns r0, #0 246*9880d681SAndroid Build Coastguard Worker// UNDEF: error: invalid operand for instruction 247*9880d681SAndroid Build Coastguard Worker// UNDEF: blxns label 248*9880d681SAndroid Build Coastguard Workerblxns label 249*9880d681SAndroid Build Coastguard Worker// UNDEF: error: invalid operand for instruction 250*9880d681SAndroid Build Coastguard Worker// UNDEF: tt r0, r1, r2 251*9880d681SAndroid Build Coastguard Workertt r0, r1, r2 252*9880d681SAndroid Build Coastguard Worker// UNDEF: error: invalid operand for instruction 253*9880d681SAndroid Build Coastguard Worker// UNDEF: tt r0, [r1] 254*9880d681SAndroid Build Coastguard Workertt r0, [r1] 255*9880d681SAndroid Build Coastguard Worker// UNDEF: error: invalid operand for instruction 256*9880d681SAndroid Build Coastguard Worker// UNDEF: tt r0, r1, #4 257*9880d681SAndroid Build Coastguard Workertt r0, r1, #4 258*9880d681SAndroid Build Coastguard Worker// UNDEF: error: invalid operand for instruction 259*9880d681SAndroid Build Coastguard Worker// UNDEF: tt r0, #4 260*9880d681SAndroid Build Coastguard Workertt r0, #4 261*9880d681SAndroid Build Coastguard Worker 262*9880d681SAndroid Build Coastguard Worker// Unpredictable operands 263*9880d681SAndroid Build Coastguard Worker// UNDEF: error: invalid operand for instruction 264*9880d681SAndroid Build Coastguard Worker// UNDEF: blxns pc 265*9880d681SAndroid Build Coastguard Workerblxns pc 266*9880d681SAndroid Build Coastguard Worker// UNDEF: error: invalid operand for instruction 267*9880d681SAndroid Build Coastguard Worker// UNDEF: tt sp, r0 268*9880d681SAndroid Build Coastguard Workertt sp, r0 269*9880d681SAndroid Build Coastguard Worker// UNDEF: error: invalid operand for instruction 270*9880d681SAndroid Build Coastguard Worker// UNDEF: tt pc, r0 271*9880d681SAndroid Build Coastguard Workertt pc, r0 272*9880d681SAndroid Build Coastguard Worker// UNDEF: error: invalid operand for instruction 273*9880d681SAndroid Build Coastguard Worker// UNDEF: tt r0, pc 274*9880d681SAndroid Build Coastguard Workertt r0, pc 275*9880d681SAndroid Build Coastguard Worker 276*9880d681SAndroid Build Coastguard Worker// UNDEF: error: invalid operand for instruction 277*9880d681SAndroid Build Coastguard Worker// UNDEF: vlldm pc 278*9880d681SAndroid Build Coastguard Workervlldm pc 279*9880d681SAndroid Build Coastguard Worker 280*9880d681SAndroid Build Coastguard Worker// UNDEF: error: invalid operand for instruction 281*9880d681SAndroid Build Coastguard Worker// UNDEF: vlstm pc 282*9880d681SAndroid Build Coastguard Workervlstm pc 283