xref: /aosp_15_r20/external/llvm/test/MC/AArch64/basic-a64-diagnostics.s (revision 9880d6810fe72a1726cb53787c6711e909410d58)
1*9880d681SAndroid Build Coastguard Worker// RUN: not llvm-mc -triple aarch64-none-linux-gnu < %s 2> %t
2*9880d681SAndroid Build Coastguard Worker// RUN: FileCheck --check-prefix=CHECK-ERROR --check-prefix=CHECK-ERROR-ARM64 < %t %s
3*9880d681SAndroid Build Coastguard Worker
4*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------
5*9880d681SAndroid Build Coastguard Worker// Add/sub (extended register)
6*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------
7*9880d681SAndroid Build Coastguard Worker
8*9880d681SAndroid Build Coastguard Worker        // Mismatched final register and extend
9*9880d681SAndroid Build Coastguard Worker        add x2, x3, x5, sxtb
10*9880d681SAndroid Build Coastguard Worker        add x2, x4, w2, uxtx
11*9880d681SAndroid Build Coastguard Worker        add w5, w7, x9, sxtx
12*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR: error: expected 'sxtx' 'uxtx' or 'lsl' with optional integer in range [0, 4]
13*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR:         add x2, x3, x5, sxtb
14*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR:                         ^
15*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR: error: expected '[su]xt[bhw]' or 'lsl' with optional integer in range [0, 4]
16*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR:         add x2, x4, w2, uxtx
17*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR:                         ^
18*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR: error: expected compatible register, symbol or integer in range [0, 4095]
19*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR:         add w5, w7, x9, sxtx
20*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR:                     ^
21*9880d681SAndroid Build Coastguard Worker
22*9880d681SAndroid Build Coastguard Worker        // Out of range extends
23*9880d681SAndroid Build Coastguard Worker        add x9, x10, w11, uxtb #-1
24*9880d681SAndroid Build Coastguard Worker        add x3, x5, w7, uxtb #5
25*9880d681SAndroid Build Coastguard Worker        sub x9, x15, x2, uxth #5
26*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR: error: expected integer shift amount
27*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR:         add x9, x10, w11, uxtb #-1
28*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR:                                 ^
29*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR: error: expected '[su]xt[bhw]' or 'lsl' with optional integer in range [0, 4]
30*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR:         add x3, x5, w7, uxtb #5
31*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR:                         ^
32*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR: error: expected 'sxtx' 'uxtx' or 'lsl' with optional integer in range [0, 4]
33*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR:         sub x9, x15, x2, uxth #5
34*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR:                          ^
35*9880d681SAndroid Build Coastguard Worker
36*9880d681SAndroid Build Coastguard Worker        // Wrong registers on normal variants
37*9880d681SAndroid Build Coastguard Worker        add xzr, x3, x5, uxtx
38*9880d681SAndroid Build Coastguard Worker        sub x3, xzr, w9, sxth #1
39*9880d681SAndroid Build Coastguard Worker        add x1, x2, sp, uxtx
40*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR: error: expected 'lsl', 'lsr' or 'asr' with optional integer in range [0, 63]
41*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR:         add xzr, x3, x5, uxtx
42*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR:                          ^
43*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR: error: invalid operand for instruction
44*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR:         sub x3, xzr, w9, sxth #1
45*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR:                 ^
46*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR: error: expected compatible register, symbol or integer in range [0, 4095]
47*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR:         add x1, x2, sp, uxtx
48*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR:                     ^
49*9880d681SAndroid Build Coastguard Worker
50*9880d681SAndroid Build Coastguard Worker        // Wrong registers on flag-setting variants
51*9880d681SAndroid Build Coastguard Worker        adds sp, x3, w2, uxtb
52*9880d681SAndroid Build Coastguard Worker        adds x3, xzr, x9, uxtx
53*9880d681SAndroid Build Coastguard Worker        subs x2, x1, sp, uxtx
54*9880d681SAndroid Build Coastguard Worker        adds x2, x1, sp, uxtb #2
55*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR: error: invalid operand for instruction
56*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR:         adds sp, x3, w2, uxtb
57*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR:              ^
58*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR: error: expected 'lsl', 'lsr' or 'asr' with optional integer in range [0, 63]
59*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR:         adds x3, xzr, x9, uxtx
60*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR:                           ^
61*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR: error: expected compatible register, symbol or integer in range [0, 4095]
62*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR:         subs x2, x1, sp, uxtx
63*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR:                      ^
64*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR: error: expected compatible register, symbol or integer in range [0, 4095]
65*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR:         adds x2, x1, sp, uxtb #2
66*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR:                      ^
67*9880d681SAndroid Build Coastguard Worker
68*9880d681SAndroid Build Coastguard Worker        // Amount not optional if lsl valid and used
69*9880d681SAndroid Build Coastguard Worker        add sp, x5, x7, lsl
70*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR: error: expected #imm after shift specifier
71*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR:         add sp, x5, x7, lsl
72*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR:                             ^
73*9880d681SAndroid Build Coastguard Worker
74*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------
75*9880d681SAndroid Build Coastguard Worker// Add/sub (immediate)
76*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------
77*9880d681SAndroid Build Coastguard Worker
78*9880d681SAndroid Build Coastguard Worker// Out of range immediates: more than 12 bits
79*9880d681SAndroid Build Coastguard Worker        add w4, w5, #-4096
80*9880d681SAndroid Build Coastguard Worker        add w5, w6, #0x1000
81*9880d681SAndroid Build Coastguard Worker        add w4, w5, #-4096, lsl #12
82*9880d681SAndroid Build Coastguard Worker        add w5, w6, #0x1000, lsl #12
83*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR: error: expected compatible register, symbol or integer in range [0, 4095]
84*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         add w4, w5, #-4096
85*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                     ^
86*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-AARCH64-NEXT: error: expected compatible register, symbol or integer in range [0, 4095]
87*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-AARCH64-NEXT:         add w5, w6, #0x1000
88*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-AARCH64-NEXT:                     ^
89*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: expected compatible register, symbol or integer in range [0, 4095]
90*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         add w4, w5, #-4096, lsl #12
91*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                     ^
92*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: expected compatible register, symbol or integer in range [0, 4095]
93*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         add w5, w6, #0x1000, lsl #12
94*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                     ^
95*9880d681SAndroid Build Coastguard Worker
96*9880d681SAndroid Build Coastguard Worker// Only lsl #0 and lsl #12 are allowed
97*9880d681SAndroid Build Coastguard Worker        add w2, w3, #0x1, lsl #1
98*9880d681SAndroid Build Coastguard Worker        add w5, w17, #0xfff, lsl #13
99*9880d681SAndroid Build Coastguard Worker        add w17, w20, #0x1000, lsl #12
100*9880d681SAndroid Build Coastguard Worker        sub xsp, x34, #0x100, lsl #-1
101*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR: error: expected compatible register, symbol or integer in range [0, 4095]
102*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         add w2, w3, #0x1, lsl #1
103*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                                ^
104*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: expected compatible register, symbol or integer in range [0, 4095]
105*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         add w5, w17, #0xfff, lsl #13
106*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                                   ^
107*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: expected compatible register, symbol or integer in range [0, 4095]
108*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         add w17, w20, #0x1000, lsl #12
109*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                       ^
110*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: only 'lsl #+N' valid after immediate
111*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         sub xsp, x34, #0x100, lsl #-1
112*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                                    ^
113*9880d681SAndroid Build Coastguard Worker
114*9880d681SAndroid Build Coastguard Worker// Incorrect registers (w31 doesn't exist at all, and 31 decodes to sp for these).
115*9880d681SAndroid Build Coastguard Worker        add w31, w20, #1234
116*9880d681SAndroid Build Coastguard Worker        add wzr, w20, #0x123
117*9880d681SAndroid Build Coastguard Worker        add w20, wzr, #0x321
118*9880d681SAndroid Build Coastguard Worker        add wzr, wzr, #0xfff
119*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR: error: invalid operand for instruction
120*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         add w31, w20, #1234
121*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:             ^
122*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: invalid operand for instruction
123*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         add wzr, w20, #0x123
124*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:             ^
125*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: invalid operand for instruction
126*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         add w20, wzr, #0x321
127*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                  ^
128*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: invalid operand for instruction
129*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         add wzr, wzr, #0xfff
130*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:             ^
131*9880d681SAndroid Build Coastguard Worker
132*9880d681SAndroid Build Coastguard Worker// Mixed register classes
133*9880d681SAndroid Build Coastguard Worker        add xsp, w2, #123
134*9880d681SAndroid Build Coastguard Worker        sub w2, x30, #32
135*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR: error: invalid operand for instruction
136*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         add xsp, w2, #123
137*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:             ^
138*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: invalid operand for instruction
139*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         sub w2, x30, #32
140*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                 ^
141*9880d681SAndroid Build Coastguard Worker
142*9880d681SAndroid Build Coastguard Worker// Out of range immediate
143*9880d681SAndroid Build Coastguard Worker        adds w0, w5, #0x10000
144*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-AARCH64: error: expected compatible register, symbol or integer in range [0, 4095]
145*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-AARCH64-NEXT:         adds w0, w5, #0x10000
146*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-AARCH64-NEXT:                      ^
147*9880d681SAndroid Build Coastguard Worker
148*9880d681SAndroid Build Coastguard Worker// Wn|WSP should be in second place
149*9880d681SAndroid Build Coastguard Worker        adds w4, wzr, #0x123
150*9880d681SAndroid Build Coastguard Worker// ...but wzr is the 31 destination
151*9880d681SAndroid Build Coastguard Worker        subs wsp, w5, #123
152*9880d681SAndroid Build Coastguard Worker        subs x5, xzr, #0x456, lsl #12
153*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR: error: invalid operand for instruction
154*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         adds w4, wzr, #0x123
155*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                  ^
156*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: invalid operand for instruction
157*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         subs wsp, w5, #123
158*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:              ^
159*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: invalid operand for instruction
160*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         subs x5, xzr, #0x456, lsl #12
161*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                  ^
162*9880d681SAndroid Build Coastguard Worker
163*9880d681SAndroid Build Coastguard Worker        // MOV alias should not accept any fiddling
164*9880d681SAndroid Build Coastguard Worker        mov x2, xsp, #123
165*9880d681SAndroid Build Coastguard Worker        mov wsp, w27, #0xfff, lsl #12
166*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR: error: expected compatible register or logical immediate
167*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         mov x2, xsp, #123
168*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                 ^
169*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: invalid operand for instruction
170*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         mov wsp, w27, #0xfff, lsl #12
171*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                       ^
172*9880d681SAndroid Build Coastguard Worker
173*9880d681SAndroid Build Coastguard Worker        // A relocation should be provided for symbols
174*9880d681SAndroid Build Coastguard Worker        add x3, x9, #variable
175*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR: error: expected compatible register, symbol or integer in range [0, 4095]
176*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         add x3, x9, #variable
177*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                      ^
178*9880d681SAndroid Build Coastguard Worker
179*9880d681SAndroid Build Coastguard Worker
180*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------
181*9880d681SAndroid Build Coastguard Worker// Add-subtract (shifted register)
182*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------
183*9880d681SAndroid Build Coastguard Worker
184*9880d681SAndroid Build Coastguard Worker        add wsp, w1, w2, lsr #3
185*9880d681SAndroid Build Coastguard Worker        add x4, sp, x9, asr #5
186*9880d681SAndroid Build Coastguard Worker        add x9, x10, x5, ror #3
187*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR: error: expected 'sxtx' 'uxtx' or 'lsl' with optional integer in range [0, 4]
188*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         add wsp, w1, w2, lsr #3
189*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                          ^
190*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: expected 'sxtx' 'uxtx' or 'lsl' with optional integer in range [0, 4]
191*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         add x4, sp, x9, asr #5
192*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                         ^
193*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: expected 'sxtx' 'uxtx' or 'lsl' with optional integer in range [0, 4]
194*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         add x9, x10, x5, ror #3
195*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                          ^
196*9880d681SAndroid Build Coastguard Worker
197*9880d681SAndroid Build Coastguard Worker        add w1, w2, w3, lsl #-1
198*9880d681SAndroid Build Coastguard Worker        add w1, w2, w3, lsl #32
199*9880d681SAndroid Build Coastguard Worker        add w1, w2, w3, lsr #-1
200*9880d681SAndroid Build Coastguard Worker        add w1, w2, w3, lsr #32
201*9880d681SAndroid Build Coastguard Worker        add w1, w2, w3, asr #-1
202*9880d681SAndroid Build Coastguard Worker        add w1, w2, w3, asr #32
203*9880d681SAndroid Build Coastguard Worker        add x1, x2, x3, lsl #-1
204*9880d681SAndroid Build Coastguard Worker        add x1, x2, x3, lsl #64
205*9880d681SAndroid Build Coastguard Worker        add x1, x2, x3, lsr #-1
206*9880d681SAndroid Build Coastguard Worker        add x1, x2, x3, lsr #64
207*9880d681SAndroid Build Coastguard Worker        add x1, x2, x3, asr #-1
208*9880d681SAndroid Build Coastguard Worker        add x1, x2, x3, asr #64
209*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR: error: expected integer shift amount
210*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         add w1, w2, w3, lsl #-1
211*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                              ^
212*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: expected 'sxtx' 'uxtx' or 'lsl' with optional integer in range [0, 4]
213*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         add w1, w2, w3, lsl #32
214*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                         ^
215*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: expected integer shift amount
216*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         add w1, w2, w3, lsr #-1
217*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                              ^
218*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: expected 'sxtx' 'uxtx' or 'lsl' with optional integer in range [0, 4]
219*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         add w1, w2, w3, lsr #32
220*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                         ^
221*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: expected integer shift amount
222*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         add w1, w2, w3, asr #-1
223*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                              ^
224*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: expected 'sxtx' 'uxtx' or 'lsl' with optional integer in range [0, 4]
225*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         add w1, w2, w3, asr #32
226*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                         ^
227*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: expected integer shift amount
228*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         add x1, x2, x3, lsl #-1
229*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                              ^
230*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: expected 'sxtx' 'uxtx' or 'lsl' with optional integer in range [0, 4]
231*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         add x1, x2, x3, lsl #64
232*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                         ^
233*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: expected integer shift amount
234*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         add x1, x2, x3, lsr #-1
235*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                              ^
236*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: expected 'sxtx' 'uxtx' or 'lsl' with optional integer in range [0, 4]
237*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         add x1, x2, x3, lsr #64
238*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                         ^
239*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: expected integer shift amount
240*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         add x1, x2, x3, asr #-1
241*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                              ^
242*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: expected 'sxtx' 'uxtx' or 'lsl' with optional integer in range [0, 4]
243*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         add x1, x2, x3, asr #64
244*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                         ^
245*9880d681SAndroid Build Coastguard Worker
246*9880d681SAndroid Build Coastguard Worker        adds w1, w2, w3, lsl #-1
247*9880d681SAndroid Build Coastguard Worker        adds w1, w2, w3, lsl #32
248*9880d681SAndroid Build Coastguard Worker        adds w1, w2, w3, lsr #-1
249*9880d681SAndroid Build Coastguard Worker        adds w1, w2, w3, lsr #32
250*9880d681SAndroid Build Coastguard Worker        adds w1, w2, w3, asr #-1
251*9880d681SAndroid Build Coastguard Worker        adds w1, w2, w3, asr #32
252*9880d681SAndroid Build Coastguard Worker        adds x1, x2, x3, lsl #-1
253*9880d681SAndroid Build Coastguard Worker        adds x1, x2, x3, lsl #64
254*9880d681SAndroid Build Coastguard Worker        adds x1, x2, x3, lsr #-1
255*9880d681SAndroid Build Coastguard Worker        adds x1, x2, x3, lsr #64
256*9880d681SAndroid Build Coastguard Worker        adds x1, x2, x3, asr #-1
257*9880d681SAndroid Build Coastguard Worker        adds x1, x2, x3, asr #64
258*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR: error: expected integer shift amount
259*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         adds w1, w2, w3, lsl #-1
260*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                               ^
261*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: expected 'sxtx' 'uxtx' or 'lsl' with optional integer in range [0, 4]
262*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         adds w1, w2, w3, lsl #32
263*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                          ^
264*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: expected integer shift amount
265*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         adds w1, w2, w3, lsr #-1
266*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                               ^
267*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: expected 'sxtx' 'uxtx' or 'lsl' with optional integer in range [0, 4]
268*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         adds w1, w2, w3, lsr #32
269*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                          ^
270*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: expected integer shift amount
271*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         adds w1, w2, w3, asr #-1
272*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                               ^
273*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: expected 'sxtx' 'uxtx' or 'lsl' with optional integer in range [0, 4]
274*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         adds w1, w2, w3, asr #32
275*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                          ^
276*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: expected integer shift amount
277*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         adds x1, x2, x3, lsl #-1
278*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                               ^
279*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: expected 'sxtx' 'uxtx' or 'lsl' with optional integer in range [0, 4]
280*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         adds x1, x2, x3, lsl #64
281*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                          ^
282*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: expected integer shift amount
283*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         adds x1, x2, x3, lsr #-1
284*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                               ^
285*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: expected 'sxtx' 'uxtx' or 'lsl' with optional integer in range [0, 4]
286*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         adds x1, x2, x3, lsr #64
287*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                          ^
288*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: expected integer shift amount
289*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         adds x1, x2, x3, asr #-1
290*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                               ^
291*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: expected 'sxtx' 'uxtx' or 'lsl' with optional integer in range [0, 4]
292*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         adds x1, x2, x3, asr #64
293*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                          ^
294*9880d681SAndroid Build Coastguard Worker
295*9880d681SAndroid Build Coastguard Worker        sub w1, w2, w3, lsl #-1
296*9880d681SAndroid Build Coastguard Worker        sub w1, w2, w3, lsl #32
297*9880d681SAndroid Build Coastguard Worker        sub w1, w2, w3, lsr #-1
298*9880d681SAndroid Build Coastguard Worker        sub w1, w2, w3, lsr #32
299*9880d681SAndroid Build Coastguard Worker        sub w1, w2, w3, asr #-1
300*9880d681SAndroid Build Coastguard Worker        sub w1, w2, w3, asr #32
301*9880d681SAndroid Build Coastguard Worker        sub x1, x2, x3, lsl #-1
302*9880d681SAndroid Build Coastguard Worker        sub x1, x2, x3, lsl #64
303*9880d681SAndroid Build Coastguard Worker        sub x1, x2, x3, lsr #-1
304*9880d681SAndroid Build Coastguard Worker        sub x1, x2, x3, lsr #64
305*9880d681SAndroid Build Coastguard Worker        sub x1, x2, x3, asr #-1
306*9880d681SAndroid Build Coastguard Worker        sub x1, x2, x3, asr #64
307*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR: error: expected integer shift amount
308*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         sub w1, w2, w3, lsl #-1
309*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                              ^
310*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: expected 'sxtx' 'uxtx' or 'lsl' with optional integer in range [0, 4]
311*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         sub w1, w2, w3, lsl #32
312*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                         ^
313*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: expected integer shift amount
314*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         sub w1, w2, w3, lsr #-1
315*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                              ^
316*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: expected 'sxtx' 'uxtx' or 'lsl' with optional integer in range [0, 4]
317*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         sub w1, w2, w3, lsr #32
318*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                         ^
319*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: expected integer shift amount
320*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         sub w1, w2, w3, asr #-1
321*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                              ^
322*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: expected 'sxtx' 'uxtx' or 'lsl' with optional integer in range [0, 4]
323*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         sub w1, w2, w3, asr #32
324*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                         ^
325*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: expected integer shift amount
326*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         sub x1, x2, x3, lsl #-1
327*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                              ^
328*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: expected 'sxtx' 'uxtx' or 'lsl' with optional integer in range [0, 4]
329*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         sub x1, x2, x3, lsl #64
330*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                         ^
331*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: expected integer shift amount
332*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         sub x1, x2, x3, lsr #-1
333*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                              ^
334*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: expected 'sxtx' 'uxtx' or 'lsl' with optional integer in range [0, 4]
335*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         sub x1, x2, x3, lsr #64
336*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                         ^
337*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: expected integer shift amount
338*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         sub x1, x2, x3, asr #-1
339*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                              ^
340*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: expected 'sxtx' 'uxtx' or 'lsl' with optional integer in range [0, 4]
341*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         sub x1, x2, x3, asr #64
342*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                         ^
343*9880d681SAndroid Build Coastguard Worker
344*9880d681SAndroid Build Coastguard Worker        subs w1, w2, w3, lsl #-1
345*9880d681SAndroid Build Coastguard Worker        subs w1, w2, w3, lsl #32
346*9880d681SAndroid Build Coastguard Worker        subs w1, w2, w3, lsr #-1
347*9880d681SAndroid Build Coastguard Worker        subs w1, w2, w3, lsr #32
348*9880d681SAndroid Build Coastguard Worker        subs w1, w2, w3, asr #-1
349*9880d681SAndroid Build Coastguard Worker        subs w1, w2, w3, asr #32
350*9880d681SAndroid Build Coastguard Worker        subs x1, x2, x3, lsl #-1
351*9880d681SAndroid Build Coastguard Worker        subs x1, x2, x3, lsl #64
352*9880d681SAndroid Build Coastguard Worker        subs x1, x2, x3, lsr #-1
353*9880d681SAndroid Build Coastguard Worker        subs x1, x2, x3, lsr #64
354*9880d681SAndroid Build Coastguard Worker        subs x1, x2, x3, asr #-1
355*9880d681SAndroid Build Coastguard Worker        subs x1, x2, x3, asr #64
356*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR: error: expected integer shift amount
357*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         subs w1, w2, w3, lsl #-1
358*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                               ^
359*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: expected 'sxtx' 'uxtx' or 'lsl' with optional integer in range [0, 4]
360*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         subs w1, w2, w3, lsl #32
361*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                          ^
362*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: expected integer shift amount
363*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         subs w1, w2, w3, lsr #-1
364*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                               ^
365*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: expected 'sxtx' 'uxtx' or 'lsl' with optional integer in range [0, 4]
366*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         subs w1, w2, w3, lsr #32
367*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                          ^
368*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: expected integer shift amount
369*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         subs w1, w2, w3, asr #-1
370*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                               ^
371*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: expected 'sxtx' 'uxtx' or 'lsl' with optional integer in range [0, 4]
372*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         subs w1, w2, w3, asr #32
373*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                          ^
374*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: expected integer shift amount
375*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         subs x1, x2, x3, lsl #-1
376*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                               ^
377*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: expected 'sxtx' 'uxtx' or 'lsl' with optional integer in range [0, 4]
378*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         subs x1, x2, x3, lsl #64
379*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                          ^
380*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: expected integer shift amount
381*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         subs x1, x2, x3, lsr #-1
382*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                               ^
383*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: expected 'sxtx' 'uxtx' or 'lsl' with optional integer in range [0, 4]
384*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         subs x1, x2, x3, lsr #64
385*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                          ^
386*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: expected integer shift amount
387*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         subs x1, x2, x3, asr #-1
388*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                               ^
389*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: expected 'sxtx' 'uxtx' or 'lsl' with optional integer in range [0, 4]
390*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         subs x1, x2, x3, asr #64
391*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                          ^
392*9880d681SAndroid Build Coastguard Worker
393*9880d681SAndroid Build Coastguard Worker        cmn w9, w10, lsl #-1
394*9880d681SAndroid Build Coastguard Worker        cmn w9, w10, lsl #32
395*9880d681SAndroid Build Coastguard Worker        cmn w11, w12, lsr #-1
396*9880d681SAndroid Build Coastguard Worker        cmn w11, w12, lsr #32
397*9880d681SAndroid Build Coastguard Worker        cmn w19, wzr, asr #-1
398*9880d681SAndroid Build Coastguard Worker        cmn wzr, wzr, asr #32
399*9880d681SAndroid Build Coastguard Worker        cmn x9, x10, lsl #-1
400*9880d681SAndroid Build Coastguard Worker        cmn x9, x10, lsl #64
401*9880d681SAndroid Build Coastguard Worker        cmn x11, x12, lsr #-1
402*9880d681SAndroid Build Coastguard Worker        cmn x11, x12, lsr #64
403*9880d681SAndroid Build Coastguard Worker        cmn x19, xzr, asr #-1
404*9880d681SAndroid Build Coastguard Worker        cmn xzr, xzr, asr #64
405*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR: error: expected integer shift amount
406*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         cmn w9, w10, lsl #-1
407*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                           ^
408*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: expected 'sxtx' 'uxtx' or 'lsl' with optional integer in range [0, 4]
409*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         cmn w9, w10, lsl #32
410*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                      ^
411*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: expected integer shift amount
412*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         cmn w11, w12, lsr #-1
413*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                            ^
414*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: expected 'sxtx' 'uxtx' or 'lsl' with optional integer in range [0, 4]
415*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         cmn w11, w12, lsr #32
416*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                       ^
417*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: expected integer shift amount
418*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         cmn w19, wzr, asr #-1
419*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                            ^
420*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: expected 'lsl', 'lsr' or 'asr' with optional integer in range [0, 31]
421*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         cmn wzr, wzr, asr #32
422*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                       ^
423*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: expected integer shift amount
424*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         cmn x9, x10, lsl #-1
425*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                           ^
426*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: expected 'sxtx' 'uxtx' or 'lsl' with optional integer in range [0, 4]
427*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         cmn x9, x10, lsl #64
428*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                      ^
429*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: expected integer shift amount
430*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         cmn x11, x12, lsr #-1
431*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                            ^
432*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: expected 'sxtx' 'uxtx' or 'lsl' with optional integer in range [0, 4]
433*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         cmn x11, x12, lsr #64
434*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                       ^
435*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: expected integer shift amount
436*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         cmn x19, xzr, asr #-1
437*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                            ^
438*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: expected 'lsl', 'lsr' or 'asr' with optional integer in range [0, 63]
439*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         cmn xzr, xzr, asr #64
440*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                       ^
441*9880d681SAndroid Build Coastguard Worker
442*9880d681SAndroid Build Coastguard Worker        cmp w9, w10, lsl #-1
443*9880d681SAndroid Build Coastguard Worker        cmp w9, w10, lsl #32
444*9880d681SAndroid Build Coastguard Worker        cmp w11, w12, lsr #-1
445*9880d681SAndroid Build Coastguard Worker        cmp w11, w12, lsr #32
446*9880d681SAndroid Build Coastguard Worker        cmp w19, wzr, asr #-1
447*9880d681SAndroid Build Coastguard Worker        cmp wzr, wzr, asr #32
448*9880d681SAndroid Build Coastguard Worker        cmp x9, x10, lsl #-1
449*9880d681SAndroid Build Coastguard Worker        cmp x9, x10, lsl #64
450*9880d681SAndroid Build Coastguard Worker        cmp x11, x12, lsr #-1
451*9880d681SAndroid Build Coastguard Worker        cmp x11, x12, lsr #64
452*9880d681SAndroid Build Coastguard Worker        cmp x19, xzr, asr #-1
453*9880d681SAndroid Build Coastguard Worker        cmp xzr, xzr, asr #64
454*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR: error: expected integer shift amount
455*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         cmp w9, w10, lsl #-1
456*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                           ^
457*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: expected 'sxtx' 'uxtx' or 'lsl' with optional integer in range [0, 4]
458*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         cmp w9, w10, lsl #32
459*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                      ^
460*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: expected integer shift amount
461*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         cmp w11, w12, lsr #-1
462*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                            ^
463*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: expected 'sxtx' 'uxtx' or 'lsl' with optional integer in range [0, 4]
464*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         cmp w11, w12, lsr #32
465*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                       ^
466*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: expected integer shift amount
467*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         cmp w19, wzr, asr #-1
468*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                            ^
469*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: expected 'lsl', 'lsr' or 'asr' with optional integer in range [0, 31]
470*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         cmp wzr, wzr, asr #32
471*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                       ^
472*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: expected integer shift amount
473*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         cmp x9, x10, lsl #-1
474*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                           ^
475*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: expected 'sxtx' 'uxtx' or 'lsl' with optional integer in range [0, 4]
476*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         cmp x9, x10, lsl #64
477*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                      ^
478*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: expected integer shift amount
479*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         cmp x11, x12, lsr #-1
480*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                            ^
481*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: expected 'sxtx' 'uxtx' or 'lsl' with optional integer in range [0, 4]
482*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         cmp x11, x12, lsr #64
483*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                       ^
484*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: expected integer shift amount
485*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         cmp x19, xzr, asr #-1
486*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                            ^
487*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: expected 'lsl', 'lsr' or 'asr' with optional integer in range [0, 63]
488*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         cmp xzr, xzr, asr #64
489*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                       ^
490*9880d681SAndroid Build Coastguard Worker
491*9880d681SAndroid Build Coastguard Worker        neg w9, w10, lsl #-1
492*9880d681SAndroid Build Coastguard Worker        neg w9, w10, lsl #32
493*9880d681SAndroid Build Coastguard Worker        neg w11, w12, lsr #-1
494*9880d681SAndroid Build Coastguard Worker        neg w11, w12, lsr #32
495*9880d681SAndroid Build Coastguard Worker        neg w19, wzr, asr #-1
496*9880d681SAndroid Build Coastguard Worker        neg wzr, wzr, asr #32
497*9880d681SAndroid Build Coastguard Worker        neg x9, x10, lsl #-1
498*9880d681SAndroid Build Coastguard Worker        neg x9, x10, lsl #64
499*9880d681SAndroid Build Coastguard Worker        neg x11, x12, lsr #-1
500*9880d681SAndroid Build Coastguard Worker        neg x11, x12, lsr #64
501*9880d681SAndroid Build Coastguard Worker        neg x19, xzr, asr #-1
502*9880d681SAndroid Build Coastguard Worker        neg xzr, xzr, asr #64
503*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR: error: expected integer shift amount
504*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         neg w9, w10, lsl #-1
505*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                           ^
506*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: expected 'lsl', 'lsr' or 'asr' with optional integer in range [0, 31]
507*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         neg w9, w10, lsl #32
508*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                      ^
509*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: expected integer shift amount
510*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         neg w11, w12, lsr #-1
511*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                            ^
512*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: expected 'lsl', 'lsr' or 'asr' with optional integer in range [0, 31]
513*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         neg w11, w12, lsr #32
514*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                       ^
515*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: expected integer shift amount
516*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         neg w19, wzr, asr #-1
517*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                            ^
518*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: expected 'lsl', 'lsr' or 'asr' with optional integer in range [0, 31]
519*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         neg wzr, wzr, asr #32
520*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                       ^
521*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: expected integer shift amount
522*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         neg x9, x10, lsl #-1
523*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                           ^
524*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: expected 'lsl', 'lsr' or 'asr' with optional integer in range [0, 63]
525*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         neg x9, x10, lsl #64
526*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                      ^
527*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: expected integer shift amount
528*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         neg x11, x12, lsr #-1
529*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                            ^
530*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: expected 'lsl', 'lsr' or 'asr' with optional integer in range [0, 63]
531*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         neg x11, x12, lsr #64
532*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                       ^
533*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: expected integer shift amount
534*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         neg x19, xzr, asr #-1
535*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                            ^
536*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: expected 'lsl', 'lsr' or 'asr' with optional integer in range [0, 63]
537*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         neg xzr, xzr, asr #64
538*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                       ^
539*9880d681SAndroid Build Coastguard Worker
540*9880d681SAndroid Build Coastguard Worker        negs w9, w10, lsl #-1
541*9880d681SAndroid Build Coastguard Worker        negs w9, w10, lsl #32
542*9880d681SAndroid Build Coastguard Worker        negs w11, w12, lsr #-1
543*9880d681SAndroid Build Coastguard Worker        negs w11, w12, lsr #32
544*9880d681SAndroid Build Coastguard Worker        negs w19, wzr, asr #-1
545*9880d681SAndroid Build Coastguard Worker        negs wzr, wzr, asr #32
546*9880d681SAndroid Build Coastguard Worker        negs x9, x10, lsl #-1
547*9880d681SAndroid Build Coastguard Worker        negs x9, x10, lsl #64
548*9880d681SAndroid Build Coastguard Worker        negs x11, x12, lsr #-1
549*9880d681SAndroid Build Coastguard Worker        negs x11, x12, lsr #64
550*9880d681SAndroid Build Coastguard Worker        negs x19, xzr, asr #-1
551*9880d681SAndroid Build Coastguard Worker        negs xzr, xzr, asr #64
552*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR: error: expected integer shift amount
553*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         negs w9, w10, lsl #-1
554*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                            ^
555*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: expected 'lsl', 'lsr' or 'asr' with optional integer in range [0, 31]
556*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         negs w9, w10, lsl #32
557*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                       ^
558*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: expected integer shift amount
559*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         negs w11, w12, lsr #-1
560*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                             ^
561*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: expected 'lsl', 'lsr' or 'asr' with optional integer in range [0, 31]
562*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         negs w11, w12, lsr #32
563*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                        ^
564*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: expected integer shift amount
565*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         negs w19, wzr, asr #-1
566*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                             ^
567*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: expected 'lsl', 'lsr' or 'asr' with optional integer in range [0, 31]
568*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         negs wzr, wzr, asr #32
569*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                        ^
570*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: expected integer shift amount
571*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         negs x9, x10, lsl #-1
572*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                            ^
573*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: expected 'lsl', 'lsr' or 'asr' with optional integer in range [0, 63]
574*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         negs x9, x10, lsl #64
575*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                       ^
576*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: expected integer shift amount
577*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         negs x11, x12, lsr #-1
578*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                             ^
579*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: expected 'lsl', 'lsr' or 'asr' with optional integer in range [0, 63]
580*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         negs x11, x12, lsr #64
581*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                        ^
582*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: expected integer shift amount
583*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         negs x19, xzr, asr #-1
584*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                             ^
585*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: expected 'lsl', 'lsr' or 'asr' with optional integer in range [0, 63]
586*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         negs xzr, xzr, asr #64
587*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                        ^
588*9880d681SAndroid Build Coastguard Worker
589*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------
590*9880d681SAndroid Build Coastguard Worker// Add-subtract (shifted register)
591*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------
592*9880d681SAndroid Build Coastguard Worker
593*9880d681SAndroid Build Coastguard Worker        adc wsp, w3, w5
594*9880d681SAndroid Build Coastguard Worker        adc w1, wsp, w2
595*9880d681SAndroid Build Coastguard Worker        adc w0, w10, wsp
596*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR: error: invalid operand for instruction
597*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:        adc wsp, w3, w5
598*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:            ^
599*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: invalid operand for instruction
600*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         adc w1, wsp, w2
601*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                 ^
602*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: invalid operand for instruction
603*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         adc w0, w10, wsp
604*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                      ^
605*9880d681SAndroid Build Coastguard Worker
606*9880d681SAndroid Build Coastguard Worker        adc sp, x3, x5
607*9880d681SAndroid Build Coastguard Worker        adc x1, sp, x2
608*9880d681SAndroid Build Coastguard Worker        adc x0, x10, sp
609*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR: error: invalid operand for instruction
610*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         adc sp, x3, x5
611*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:             ^
612*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: invalid operand for instruction
613*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         adc x1, sp, x2
614*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                 ^
615*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: invalid operand for instruction
616*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         adc x0, x10, sp
617*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                      ^
618*9880d681SAndroid Build Coastguard Worker
619*9880d681SAndroid Build Coastguard Worker        adcs wsp, w3, w5
620*9880d681SAndroid Build Coastguard Worker        adcs w1, wsp, w2
621*9880d681SAndroid Build Coastguard Worker        adcs w0, w10, wsp
622*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR: error: invalid operand for instruction
623*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         adcs wsp, w3, w5
624*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:              ^
625*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: invalid operand for instruction
626*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         adcs w1, wsp, w2
627*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                  ^
628*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: invalid operand for instruction
629*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         adcs w0, w10, wsp
630*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                       ^
631*9880d681SAndroid Build Coastguard Worker
632*9880d681SAndroid Build Coastguard Worker        adcs sp, x3, x5
633*9880d681SAndroid Build Coastguard Worker        adcs x1, sp, x2
634*9880d681SAndroid Build Coastguard Worker        adcs x0, x10, sp
635*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR: error: invalid operand for instruction
636*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         adcs sp, x3, x5
637*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:              ^
638*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: invalid operand for instruction
639*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         adcs x1, sp, x2
640*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                  ^
641*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: invalid operand for instruction
642*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         adcs x0, x10, sp
643*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                       ^
644*9880d681SAndroid Build Coastguard Worker
645*9880d681SAndroid Build Coastguard Worker        sbc wsp, w3, w5
646*9880d681SAndroid Build Coastguard Worker        sbc w1, wsp, w2
647*9880d681SAndroid Build Coastguard Worker        sbc w0, w10, wsp
648*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR: error: invalid operand for instruction
649*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         sbc wsp, w3, w5
650*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:             ^
651*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: invalid operand for instruction
652*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         sbc w1, wsp, w2
653*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                 ^
654*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: invalid operand for instruction
655*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         sbc w0, w10, wsp
656*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                      ^
657*9880d681SAndroid Build Coastguard Worker
658*9880d681SAndroid Build Coastguard Worker        sbc sp, x3, x5
659*9880d681SAndroid Build Coastguard Worker        sbc x1, sp, x2
660*9880d681SAndroid Build Coastguard Worker        sbc x0, x10, sp
661*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR: error: invalid operand for instruction
662*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         sbc sp, x3, x5
663*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:             ^
664*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: invalid operand for instruction
665*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         sbc x1, sp, x2
666*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                 ^
667*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: invalid operand for instruction
668*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         sbc x0, x10, sp
669*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                      ^
670*9880d681SAndroid Build Coastguard Worker
671*9880d681SAndroid Build Coastguard Worker        sbcs wsp, w3, w5
672*9880d681SAndroid Build Coastguard Worker        sbcs w1, wsp, w2
673*9880d681SAndroid Build Coastguard Worker        sbcs w0, w10, wsp
674*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR: error: invalid operand for instruction
675*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         sbcs wsp, w3, w5
676*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:              ^
677*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: invalid operand for instruction
678*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         sbcs w1, wsp, w2
679*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                  ^
680*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: invalid operand for instruction
681*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         sbcs w0, w10, wsp
682*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                       ^
683*9880d681SAndroid Build Coastguard Worker
684*9880d681SAndroid Build Coastguard Worker        sbcs sp, x3, x5
685*9880d681SAndroid Build Coastguard Worker        sbcs x1, sp, x2
686*9880d681SAndroid Build Coastguard Worker        sbcs x0, x10, sp
687*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR: error: invalid operand for instruction
688*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         sbcs sp, x3, x5
689*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:              ^
690*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: invalid operand for instruction
691*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         sbcs x1, sp, x2
692*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                  ^
693*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: invalid operand for instruction
694*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         sbcs x0, x10, sp
695*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                       ^
696*9880d681SAndroid Build Coastguard Worker
697*9880d681SAndroid Build Coastguard Worker        ngc wsp, w3
698*9880d681SAndroid Build Coastguard Worker        ngc w9, wsp
699*9880d681SAndroid Build Coastguard Worker        ngc sp, x9
700*9880d681SAndroid Build Coastguard Worker        ngc x2, sp
701*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR: error: invalid operand for instruction
702*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         ngc wsp, w3
703*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:             ^
704*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: invalid operand for instruction
705*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         ngc w9, wsp
706*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                 ^
707*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: invalid operand for instruction
708*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         ngc sp, x9
709*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:             ^
710*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: invalid operand for instruction
711*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         ngc x2, sp
712*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                 ^
713*9880d681SAndroid Build Coastguard Worker
714*9880d681SAndroid Build Coastguard Worker        ngcs wsp, w3
715*9880d681SAndroid Build Coastguard Worker        ngcs w9, wsp
716*9880d681SAndroid Build Coastguard Worker        ngcs sp, x9
717*9880d681SAndroid Build Coastguard Worker        ngcs x2, sp
718*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR: error: invalid operand for instruction
719*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         ngcs wsp, w3
720*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:              ^
721*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: invalid operand for instruction
722*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         ngcs w9, wsp
723*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                  ^
724*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: invalid operand for instruction
725*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         ngcs sp, x9
726*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:              ^
727*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: invalid operand for instruction
728*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         ngcs x2, sp
729*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                  ^
730*9880d681SAndroid Build Coastguard Worker
731*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------
732*9880d681SAndroid Build Coastguard Worker// Logical (immediates)
733*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------
734*9880d681SAndroid Build Coastguard Worker
735*9880d681SAndroid Build Coastguard Worker        and w2, w3, #4294967296
736*9880d681SAndroid Build Coastguard Worker        eor w2, w3, #4294967296
737*9880d681SAndroid Build Coastguard Worker        orr w2, w3, #4294967296
738*9880d681SAndroid Build Coastguard Worker        ands w2, w3, #4294967296
739*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR: error: expected compatible register or logical immediate
740*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         and w2, w3, #4294967296
741*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                     ^
742*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: expected compatible register or logical immediate
743*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         eor w2, w3, #4294967296
744*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                     ^
745*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: expected compatible register or logical immediate
746*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         orr w2, w3, #4294967296
747*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                     ^
748*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: expected compatible register or logical immediate
749*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         ands w2, w3, #4294967296
750*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                      ^
751*9880d681SAndroid Build Coastguard Worker
752*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------
753*9880d681SAndroid Build Coastguard Worker// Bitfield
754*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------
755*9880d681SAndroid Build Coastguard Worker
756*9880d681SAndroid Build Coastguard Worker        sbfm x3, w13, #0, #0
757*9880d681SAndroid Build Coastguard Worker        sbfm w12, x9, #0, #0
758*9880d681SAndroid Build Coastguard Worker        sbfm sp, x3, #3, #5
759*9880d681SAndroid Build Coastguard Worker        sbfm w3, wsp, #1, #9
760*9880d681SAndroid Build Coastguard Worker        sbfm x9, x5, #-1, #0
761*9880d681SAndroid Build Coastguard Worker        sbfm x9, x5, #0, #-1
762*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR: error: invalid operand for instruction
763*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         sbfm x3, w13, #0, #0
764*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                  ^
765*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: invalid operand for instruction
766*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         sbfm w12, x9, #0, #0
767*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                   ^
768*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: invalid operand for instruction
769*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         sbfm sp, x3, #3, #5
770*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:              ^
771*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: invalid operand for instruction
772*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         sbfm w3, wsp, #1, #9
773*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                  ^
774*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 63]
775*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         sbfm x9, x5, #-1, #0
776*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                      ^
777*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 63]
778*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         sbfm x9, x5, #0, #-1
779*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                          ^
780*9880d681SAndroid Build Coastguard Worker
781*9880d681SAndroid Build Coastguard Worker        sbfm w3, w5, #32, #1
782*9880d681SAndroid Build Coastguard Worker        sbfm w7, w11, #19, #32
783*9880d681SAndroid Build Coastguard Worker        sbfm x29, x30, #64, #0
784*9880d681SAndroid Build Coastguard Worker        sbfm x10, x20, #63, #64
785*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR: error: {{expected|immediate must be an}} integer in range [0, 31]
786*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         sbfm w3, w5, #32, #1
787*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                      ^
788*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 31]
789*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         sbfm w7, w11, #19, #32
790*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                            ^
791*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 63]
792*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         sbfm x29, x30, #64, #0
793*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                        ^
794*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 63]
795*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         sbfm x10, x20, #63, #64
796*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                             ^
797*9880d681SAndroid Build Coastguard Worker
798*9880d681SAndroid Build Coastguard Worker        ubfm w3, w5, #32, #1
799*9880d681SAndroid Build Coastguard Worker        ubfm w7, w11, #19, #32
800*9880d681SAndroid Build Coastguard Worker        ubfm x29, x30, #64, #0
801*9880d681SAndroid Build Coastguard Worker        ubfm x10, x20, #63, #64
802*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR: error: {{expected|immediate must be an}} integer in range [0, 31]
803*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         ubfm w3, w5, #32, #1
804*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                      ^
805*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 31]
806*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         ubfm w7, w11, #19, #32
807*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                            ^
808*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 63]
809*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         ubfm x29, x30, #64, #0
810*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                        ^
811*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 63]
812*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         ubfm x10, x20, #63, #64
813*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                             ^
814*9880d681SAndroid Build Coastguard Worker
815*9880d681SAndroid Build Coastguard Worker        bfm w3, w5, #32, #1
816*9880d681SAndroid Build Coastguard Worker        bfm w7, w11, #19, #32
817*9880d681SAndroid Build Coastguard Worker        bfm x29, x30, #64, #0
818*9880d681SAndroid Build Coastguard Worker        bfm x10, x20, #63, #64
819*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR: error: {{expected|immediate must be an}} integer in range [0, 31]
820*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         bfm w3, w5, #32, #1
821*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                      ^
822*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 31]
823*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         bfm w7, w11, #19, #32
824*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                            ^
825*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 63]
826*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         bfm x29, x30, #64, #0
827*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                        ^
828*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 63]
829*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         bfm x10, x20, #63, #64
830*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                             ^
831*9880d681SAndroid Build Coastguard Worker
832*9880d681SAndroid Build Coastguard Worker        sxtb x3, x2
833*9880d681SAndroid Build Coastguard Worker        sxth xzr, xzr
834*9880d681SAndroid Build Coastguard Worker        sxtw x3, x5
835*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-AARCH64: error: invalid operand for instruction
836*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-AARCH64-NEXT:         sxtb x3, x2
837*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-AARCH64-NEXT:                  ^
838*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-AARCH64-NEXT: error: invalid operand for instruction
839*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-AARCH64-NEXT:         sxth xzr, xzr
840*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-AARCH64-NEXT:                   ^
841*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-AARCH64-NEXT: error: invalid operand for instruction
842*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-AARCH64-NEXT:         sxtw x3, x5
843*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-AARCH64-NEXT:                  ^
844*9880d681SAndroid Build Coastguard Worker
845*9880d681SAndroid Build Coastguard Worker        uxtb x3, x12
846*9880d681SAndroid Build Coastguard Worker        uxth x5, x9
847*9880d681SAndroid Build Coastguard Worker        uxtw x3, x5
848*9880d681SAndroid Build Coastguard Worker        uxtb x2, sp
849*9880d681SAndroid Build Coastguard Worker        uxtb sp, xzr
850*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR: error: invalid operand for instruction
851*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         uxtb x3, x12
852*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                  ^
853*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: invalid operand for instruction
854*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         uxth x5, x9
855*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                  ^
856*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-AARCH64-NEXT: error: invalid instruction
857*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-AARCH64-NEXT:         uxtw x3, x5
858*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-AARCH64-NEXT:         ^
859*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: invalid operand for instruction
860*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         uxtb x2, sp
861*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                  ^
862*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: invalid operand for instruction
863*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         uxtb sp, xzr
864*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:              ^
865*9880d681SAndroid Build Coastguard Worker
866*9880d681SAndroid Build Coastguard Worker        asr x3, w2, #1
867*9880d681SAndroid Build Coastguard Worker        asr sp, x2, #1
868*9880d681SAndroid Build Coastguard Worker        asr x25, x26, #-1
869*9880d681SAndroid Build Coastguard Worker        asr x25, x26, #64
870*9880d681SAndroid Build Coastguard Worker        asr w9, w8, #32
871*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR: error: invalid operand for instruction
872*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         asr x3, w2, #1
873*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                 ^
874*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: invalid operand for instruction
875*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         asr sp, x2, #1
876*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:             ^
877*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 63]
878*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         asr x25, x26, #-1
879*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                       ^
880*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 63]
881*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         asr x25, x26, #64
882*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                       ^
883*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 31]
884*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         asr w9, w8, #32
885*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                     ^
886*9880d681SAndroid Build Coastguard Worker
887*9880d681SAndroid Build Coastguard Worker        sbfiz w1, w2, #0, #0
888*9880d681SAndroid Build Coastguard Worker        sbfiz wsp, w9, #0, #1
889*9880d681SAndroid Build Coastguard Worker        sbfiz w9, w10, #32, #1
890*9880d681SAndroid Build Coastguard Worker        sbfiz w11, w12, #32, #0
891*9880d681SAndroid Build Coastguard Worker        sbfiz w9, w10, #10, #23
892*9880d681SAndroid Build Coastguard Worker        sbfiz x3, x5, #12, #53
893*9880d681SAndroid Build Coastguard Worker        sbfiz sp, x3, #7, #6
894*9880d681SAndroid Build Coastguard Worker        sbfiz w3, wsp, #10, #8
895*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-AARCH64: error: expected integer in range [<lsb>, 31]
896*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-ARM64: error: expected integer in range [1, 32]
897*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         sbfiz w1, w2, #0, #0
898*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                           ^
899*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: invalid operand for instruction
900*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         sbfiz wsp, w9, #0, #1
901*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:               ^
902*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 31]
903*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         sbfiz w9, w10, #32, #1
904*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                        ^
905*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 31]
906*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         sbfiz w11, w12, #32, #0
907*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                         ^
908*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: requested insert overflows register
909*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         sbfiz w9, w10, #10, #23
910*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                             ^
911*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: requested insert overflows register
912*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         sbfiz x3, x5, #12, #53
913*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                            ^
914*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: invalid operand for instruction
915*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         sbfiz sp, x3, #7, #6
916*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:               ^
917*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: invalid operand for instruction
918*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         sbfiz w3, wsp, #10, #8
919*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                   ^
920*9880d681SAndroid Build Coastguard Worker
921*9880d681SAndroid Build Coastguard Worker        sbfx w1, w2, #0, #0
922*9880d681SAndroid Build Coastguard Worker        sbfx wsp, w9, #0, #1
923*9880d681SAndroid Build Coastguard Worker        sbfx w9, w10, #32, #1
924*9880d681SAndroid Build Coastguard Worker        sbfx w11, w12, #32, #0
925*9880d681SAndroid Build Coastguard Worker        sbfx w9, w10, #10, #23
926*9880d681SAndroid Build Coastguard Worker        sbfx x3, x5, #12, #53
927*9880d681SAndroid Build Coastguard Worker        sbfx sp, x3, #7, #6
928*9880d681SAndroid Build Coastguard Worker        sbfx w3, wsp, #10, #8
929*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-AARCH64: error: expected integer in range [<lsb>, 31]
930*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-ARM64: error: expected integer in range [1, 32]
931*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         sbfx w1, w2, #0, #0
932*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                          ^
933*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: invalid operand for instruction
934*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         sbfx wsp, w9, #0, #1
935*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:              ^
936*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 31]
937*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         sbfx w9, w10, #32, #1
938*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                       ^
939*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 31]
940*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         sbfx w11, w12, #32, #0
941*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                        ^
942*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: requested extract overflows register
943*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         sbfx w9, w10, #10, #23
944*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                            ^
945*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: requested extract overflows register
946*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         sbfx x3, x5, #12, #53
947*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                           ^
948*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: invalid operand for instruction
949*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         sbfx sp, x3, #7, #6
950*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:              ^
951*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: invalid operand for instruction
952*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         sbfx w3, wsp, #10, #8
953*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                  ^
954*9880d681SAndroid Build Coastguard Worker
955*9880d681SAndroid Build Coastguard Worker        bfi w1, w2, #0, #0
956*9880d681SAndroid Build Coastguard Worker        bfi wsp, w9, #0, #1
957*9880d681SAndroid Build Coastguard Worker        bfi w9, w10, #32, #1
958*9880d681SAndroid Build Coastguard Worker        bfi w11, w12, #32, #0
959*9880d681SAndroid Build Coastguard Worker        bfi w9, w10, #10, #23
960*9880d681SAndroid Build Coastguard Worker        bfi x3, x5, #12, #53
961*9880d681SAndroid Build Coastguard Worker        bfi sp, x3, #7, #6
962*9880d681SAndroid Build Coastguard Worker        bfi w3, wsp, #10, #8
963*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-AARCH64: error: expected integer in range [<lsb>, 31]
964*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-ARM64: error: expected integer in range [1, 32]
965*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         bfi w1, w2, #0, #0
966*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                         ^
967*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: invalid operand for instruction
968*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         bfi wsp, w9, #0, #1
969*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:             ^
970*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 31]
971*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         bfi w9, w10, #32, #1
972*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                      ^
973*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 31]
974*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         bfi w11, w12, #32, #0
975*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                       ^
976*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: requested insert overflows register
977*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         bfi w9, w10, #10, #23
978*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                           ^
979*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: requested insert overflows register
980*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         bfi x3, x5, #12, #53
981*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                          ^
982*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: invalid operand for instruction
983*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         bfi sp, x3, #7, #6
984*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:             ^
985*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: invalid operand for instruction
986*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         bfi w3, wsp, #10, #8
987*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                 ^
988*9880d681SAndroid Build Coastguard Worker
989*9880d681SAndroid Build Coastguard Worker        bfxil w1, w2, #0, #0
990*9880d681SAndroid Build Coastguard Worker        bfxil wsp, w9, #0, #1
991*9880d681SAndroid Build Coastguard Worker        bfxil w9, w10, #32, #1
992*9880d681SAndroid Build Coastguard Worker        bfxil w11, w12, #32, #0
993*9880d681SAndroid Build Coastguard Worker        bfxil w9, w10, #10, #23
994*9880d681SAndroid Build Coastguard Worker        bfxil x3, x5, #12, #53
995*9880d681SAndroid Build Coastguard Worker        bfxil sp, x3, #7, #6
996*9880d681SAndroid Build Coastguard Worker        bfxil w3, wsp, #10, #8
997*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-AARCH64: error: expected integer in range [<lsb>, 31]
998*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-ARM64: error: expected integer in range [1, 32]
999*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         bfxil w1, w2, #0, #0
1000*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                           ^
1001*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: invalid operand for instruction
1002*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         bfxil wsp, w9, #0, #1
1003*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:               ^
1004*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 31]
1005*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         bfxil w9, w10, #32, #1
1006*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                        ^
1007*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 31]
1008*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         bfxil w11, w12, #32, #0
1009*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                         ^
1010*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: requested extract overflows register
1011*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         bfxil w9, w10, #10, #23
1012*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                             ^
1013*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: requested extract overflows register
1014*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         bfxil x3, x5, #12, #53
1015*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                            ^
1016*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: invalid operand for instruction
1017*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         bfxil sp, x3, #7, #6
1018*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:               ^
1019*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: invalid operand for instruction
1020*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         bfxil w3, wsp, #10, #8
1021*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                   ^
1022*9880d681SAndroid Build Coastguard Worker
1023*9880d681SAndroid Build Coastguard Worker        ubfiz w1, w2, #0, #0
1024*9880d681SAndroid Build Coastguard Worker        ubfiz wsp, w9, #0, #1
1025*9880d681SAndroid Build Coastguard Worker        ubfiz w9, w10, #32, #1
1026*9880d681SAndroid Build Coastguard Worker        ubfiz w11, w12, #32, #0
1027*9880d681SAndroid Build Coastguard Worker        ubfiz w9, w10, #10, #23
1028*9880d681SAndroid Build Coastguard Worker        ubfiz x3, x5, #12, #53
1029*9880d681SAndroid Build Coastguard Worker        ubfiz sp, x3, #7, #6
1030*9880d681SAndroid Build Coastguard Worker        ubfiz w3, wsp, #10, #8
1031*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-AARCH64: error: expected integer in range [<lsb>, 31]
1032*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-ARM64: error: expected integer in range [1, 32]
1033*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         ubfiz w1, w2, #0, #0
1034*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                           ^
1035*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: invalid operand for instruction
1036*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         ubfiz wsp, w9, #0, #1
1037*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:               ^
1038*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 31]
1039*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         ubfiz w9, w10, #32, #1
1040*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                        ^
1041*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 31]
1042*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         ubfiz w11, w12, #32, #0
1043*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                         ^
1044*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: requested insert overflows register
1045*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         ubfiz w9, w10, #10, #23
1046*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                             ^
1047*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: requested insert overflows register
1048*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         ubfiz x3, x5, #12, #53
1049*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                            ^
1050*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: invalid operand for instruction
1051*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         ubfiz sp, x3, #7, #6
1052*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:               ^
1053*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: invalid operand for instruction
1054*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         ubfiz w3, wsp, #10, #8
1055*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                   ^
1056*9880d681SAndroid Build Coastguard Worker
1057*9880d681SAndroid Build Coastguard Worker        ubfx w1, w2, #0, #0
1058*9880d681SAndroid Build Coastguard Worker        ubfx wsp, w9, #0, #1
1059*9880d681SAndroid Build Coastguard Worker        ubfx w9, w10, #32, #1
1060*9880d681SAndroid Build Coastguard Worker        ubfx w11, w12, #32, #0
1061*9880d681SAndroid Build Coastguard Worker        ubfx w9, w10, #10, #23
1062*9880d681SAndroid Build Coastguard Worker        ubfx x3, x5, #12, #53
1063*9880d681SAndroid Build Coastguard Worker        ubfx sp, x3, #7, #6
1064*9880d681SAndroid Build Coastguard Worker        ubfx w3, wsp, #10, #8
1065*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-AARCH64: error: expected integer in range [<lsb>, 31]
1066*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-ARM64: error: expected integer in range [1, 32]
1067*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         ubfx w1, w2, #0, #0
1068*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                      ^
1069*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: invalid operand for instruction
1070*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         ubfx wsp, w9, #0, #1
1071*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:              ^
1072*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 31]
1073*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         ubfx w9, w10, #32, #1
1074*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                       ^
1075*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 31]
1076*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         ubfx w11, w12, #32, #0
1077*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                        ^
1078*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: requested extract overflows register
1079*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         ubfx w9, w10, #10, #23
1080*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                            ^
1081*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: requested extract overflows register
1082*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         ubfx x3, x5, #12, #53
1083*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                           ^
1084*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: invalid operand for instruction
1085*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         ubfx sp, x3, #7, #6
1086*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:              ^
1087*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: invalid operand for instruction
1088*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         ubfx w3, wsp, #10, #8
1089*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                  ^
1090*9880d681SAndroid Build Coastguard Worker
1091*9880d681SAndroid Build Coastguard Worker        bfc wsp, #3, #6
1092*9880d681SAndroid Build Coastguard Worker        bfc w4, #2, #31
1093*9880d681SAndroid Build Coastguard Worker        bfc sp, #0, #1
1094*9880d681SAndroid Build Coastguard Worker        bfc x6, #0, #0
1095*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR: error: invalid operand for instruction
1096*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:        bfc wsp, #3, #6
1097*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:            ^
1098*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: requested insert overflows register
1099*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         bfc w4, #2, #31
1100*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                     ^
1101*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: invalid operand for instruction
1102*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         bfc sp, #0, #1
1103*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:             ^
1104*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: expected integer in range [1, 32]
1105*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         bfc x6, #0, #0
1106*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                     ^
1107*9880d681SAndroid Build Coastguard Worker
1108*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------
1109*9880d681SAndroid Build Coastguard Worker// Compare & branch (immediate)
1110*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------
1111*9880d681SAndroid Build Coastguard Worker
1112*9880d681SAndroid Build Coastguard Worker        cbnz wsp, lbl
1113*9880d681SAndroid Build Coastguard Worker        cbz  sp, lbl
1114*9880d681SAndroid Build Coastguard Worker        cbz  x3, x5
1115*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR: error: invalid operand for instruction
1116*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:           cbnz wsp, lbl
1117*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                ^
1118*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: invalid operand for instruction
1119*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:           cbz sp, lbl
1120*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:               ^
1121*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: expected label or encodable integer pc offset
1122*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:           cbz x3, x5
1123*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                   ^
1124*9880d681SAndroid Build Coastguard Worker
1125*9880d681SAndroid Build Coastguard Worker        cbz w20, #1048576
1126*9880d681SAndroid Build Coastguard Worker        cbnz xzr, #-1048580
1127*9880d681SAndroid Build Coastguard Worker        cbz x29, #1
1128*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR: error: expected label or encodable integer pc offset
1129*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:           cbz w20, #1048576
1130*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                     ^
1131*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: expected label or encodable integer pc offset
1132*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:           cbnz xzr, #-1048580
1133*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                    ^
1134*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: expected label or encodable integer pc offset
1135*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:           cbz x29, #1
1136*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                    ^
1137*9880d681SAndroid Build Coastguard Worker
1138*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------
1139*9880d681SAndroid Build Coastguard Worker// Conditional branch (immediate)
1140*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------
1141*9880d681SAndroid Build Coastguard Worker
1142*9880d681SAndroid Build Coastguard Worker        b.zf lbl
1143*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR: error: invalid condition code
1144*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:           b.zf lbl
1145*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:             ^
1146*9880d681SAndroid Build Coastguard Worker
1147*9880d681SAndroid Build Coastguard Worker        b.eq #1048576
1148*9880d681SAndroid Build Coastguard Worker        b.ge #-1048580
1149*9880d681SAndroid Build Coastguard Worker        b.cc #1
1150*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR: error: expected label or encodable integer pc offset
1151*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:           b.eq #1048576
1152*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                ^
1153*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: expected label or encodable integer pc offset
1154*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:           b.ge #-1048580
1155*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                ^
1156*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: expected label or encodable integer pc offset
1157*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:           b.cc #1
1158*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                ^
1159*9880d681SAndroid Build Coastguard Worker
1160*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------
1161*9880d681SAndroid Build Coastguard Worker// Conditional compare (immediate)
1162*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------
1163*9880d681SAndroid Build Coastguard Worker
1164*9880d681SAndroid Build Coastguard Worker        ccmp wsp, #4, #2, ne
1165*9880d681SAndroid Build Coastguard Worker        ccmp w25, #-1, #15, hs
1166*9880d681SAndroid Build Coastguard Worker        ccmp w3, #32, #0, ge
1167*9880d681SAndroid Build Coastguard Worker        ccmp w19, #5, #-1, lt
1168*9880d681SAndroid Build Coastguard Worker        ccmp w20, #7, #16, hs
1169*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR: error: invalid operand for instruction
1170*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:        ccmp wsp, #4, #2, ne
1171*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:             ^
1172*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 31]
1173*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:        ccmp w25, #-1, #15, hs
1174*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                  ^
1175*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 31]
1176*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:        ccmp w3, #32, #0, ge
1177*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                 ^
1178*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 15]
1179*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:        ccmp w19, #5, #-1, lt
1180*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                      ^
1181*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 15]
1182*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:        ccmp w20, #7, #16, hs
1183*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                      ^
1184*9880d681SAndroid Build Coastguard Worker
1185*9880d681SAndroid Build Coastguard Worker        ccmp sp, #4, #2, ne
1186*9880d681SAndroid Build Coastguard Worker        ccmp x25, #-1, #15, hs
1187*9880d681SAndroid Build Coastguard Worker        ccmp x3, #32, #0, ge
1188*9880d681SAndroid Build Coastguard Worker        ccmp x19, #5, #-1, lt
1189*9880d681SAndroid Build Coastguard Worker        ccmp x20, #7, #16, hs
1190*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR: error: invalid operand for instruction
1191*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:        ccmp sp, #4, #2, ne
1192*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:             ^
1193*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 31]
1194*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:        ccmp x25, #-1, #15, hs
1195*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                  ^
1196*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 31]
1197*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:        ccmp x3, #32, #0, ge
1198*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                 ^
1199*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 15]
1200*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:        ccmp x19, #5, #-1, lt
1201*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                      ^
1202*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 15]
1203*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:        ccmp x20, #7, #16, hs
1204*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                      ^
1205*9880d681SAndroid Build Coastguard Worker
1206*9880d681SAndroid Build Coastguard Worker        ccmn wsp, #4, #2, ne
1207*9880d681SAndroid Build Coastguard Worker        ccmn w25, #-1, #15, hs
1208*9880d681SAndroid Build Coastguard Worker        ccmn w3, #32, #0, ge
1209*9880d681SAndroid Build Coastguard Worker        ccmn w19, #5, #-1, lt
1210*9880d681SAndroid Build Coastguard Worker        ccmn w20, #7, #16, hs
1211*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR: error: invalid operand for instruction
1212*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:        ccmn wsp, #4, #2, ne
1213*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:             ^
1214*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 31]
1215*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:        ccmn w25, #-1, #15, hs
1216*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                  ^
1217*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 31]
1218*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:        ccmn w3, #32, #0, ge
1219*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                 ^
1220*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 15]
1221*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:        ccmn w19, #5, #-1, lt
1222*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                      ^
1223*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 15]
1224*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:        ccmn w20, #7, #16, hs
1225*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                      ^
1226*9880d681SAndroid Build Coastguard Worker
1227*9880d681SAndroid Build Coastguard Worker        ccmn sp, #4, #2, ne
1228*9880d681SAndroid Build Coastguard Worker        ccmn x25, #-1, #15, hs
1229*9880d681SAndroid Build Coastguard Worker        ccmn x3, #32, #0, ge
1230*9880d681SAndroid Build Coastguard Worker        ccmn x19, #5, #-1, lt
1231*9880d681SAndroid Build Coastguard Worker        ccmn x20, #7, #16, hs
1232*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR: error: invalid operand for instruction
1233*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:        ccmn sp, #4, #2, ne
1234*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:             ^
1235*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 31]
1236*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:        ccmn x25, #-1, #15, hs
1237*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                  ^
1238*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 31]
1239*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:        ccmn x3, #32, #0, ge
1240*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                 ^
1241*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 15]
1242*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:        ccmn x19, #5, #-1, lt
1243*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                      ^
1244*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 15]
1245*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:        ccmn x20, #7, #16, hs
1246*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                      ^
1247*9880d681SAndroid Build Coastguard Worker
1248*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------
1249*9880d681SAndroid Build Coastguard Worker// Conditional compare (register)
1250*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------
1251*9880d681SAndroid Build Coastguard Worker
1252*9880d681SAndroid Build Coastguard Worker        ccmp wsp, w4, #2, ne
1253*9880d681SAndroid Build Coastguard Worker        ccmp w3, wsp, #0, ge
1254*9880d681SAndroid Build Coastguard Worker        ccmp w19, w5, #-1, lt
1255*9880d681SAndroid Build Coastguard Worker        ccmp w20, w7, #16, hs
1256*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR: error: invalid operand for instruction
1257*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:        ccmp wsp, w4, #2, ne
1258*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:             ^
1259*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 31]
1260*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:        ccmp w3, wsp, #0, ge
1261*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                 ^
1262*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 15]
1263*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:        ccmp w19, w5, #-1, lt
1264*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                      ^
1265*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 15]
1266*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:        ccmp w20, w7, #16, hs
1267*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                      ^
1268*9880d681SAndroid Build Coastguard Worker
1269*9880d681SAndroid Build Coastguard Worker        ccmp sp, x4, #2, ne
1270*9880d681SAndroid Build Coastguard Worker        ccmp x25, sp, #15, hs
1271*9880d681SAndroid Build Coastguard Worker        ccmp x19, x5, #-1, lt
1272*9880d681SAndroid Build Coastguard Worker        ccmp x20, x7, #16, hs
1273*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR: error: invalid operand for instruction
1274*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:        ccmp sp, x4, #2, ne
1275*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:             ^
1276*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 31]
1277*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:        ccmp x25, sp, #15, hs
1278*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                  ^
1279*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 15]
1280*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:        ccmp x19, x5, #-1, lt
1281*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                      ^
1282*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 15]
1283*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:        ccmp x20, x7, #16, hs
1284*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                      ^
1285*9880d681SAndroid Build Coastguard Worker
1286*9880d681SAndroid Build Coastguard Worker        ccmn wsp, w4, #2, ne
1287*9880d681SAndroid Build Coastguard Worker        ccmn w25, wsp, #15, hs
1288*9880d681SAndroid Build Coastguard Worker        ccmn w19, w5, #-1, lt
1289*9880d681SAndroid Build Coastguard Worker        ccmn w20, w7, #16, hs
1290*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR: error: invalid operand for instruction
1291*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:        ccmn wsp, w4, #2, ne
1292*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:             ^
1293*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 31]
1294*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:        ccmn w25, wsp, #15, hs
1295*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                  ^
1296*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 15]
1297*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:        ccmn w19, w5, #-1, lt
1298*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                      ^
1299*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 15]
1300*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:        ccmn w20, w7, #16, hs
1301*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                      ^
1302*9880d681SAndroid Build Coastguard Worker
1303*9880d681SAndroid Build Coastguard Worker        ccmn sp, x4, #2, ne
1304*9880d681SAndroid Build Coastguard Worker        ccmn x25, sp, #15, hs
1305*9880d681SAndroid Build Coastguard Worker        ccmn x19, x5, #-1, lt
1306*9880d681SAndroid Build Coastguard Worker        ccmn x20, x7, #16, hs
1307*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR: error: invalid operand for instruction
1308*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:        ccmn sp, x4, #2, ne
1309*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:             ^
1310*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 31]
1311*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:        ccmn x25, sp, #15, hs
1312*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                  ^
1313*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 15]
1314*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:        ccmn x19, x5, #-1, lt
1315*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                      ^
1316*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 15]
1317*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:        ccmn x20, x7, #16, hs
1318*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                      ^
1319*9880d681SAndroid Build Coastguard Worker
1320*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------
1321*9880d681SAndroid Build Coastguard Worker// Conditional select
1322*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------
1323*9880d681SAndroid Build Coastguard Worker
1324*9880d681SAndroid Build Coastguard Worker        csel w4, wsp, w9, eq
1325*9880d681SAndroid Build Coastguard Worker        csel wsp, w2, w3, ne
1326*9880d681SAndroid Build Coastguard Worker        csel w10, w11, wsp, ge
1327*9880d681SAndroid Build Coastguard Worker        csel w1, w2, w3, #3
1328*9880d681SAndroid Build Coastguard Worker        csel x4, sp, x9, eq
1329*9880d681SAndroid Build Coastguard Worker        csel sp, x2, x3, ne
1330*9880d681SAndroid Build Coastguard Worker        csel x10, x11, sp, ge
1331*9880d681SAndroid Build Coastguard Worker        csel x1, x2, x3, #3
1332*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR: error: invalid operand for instruction
1333*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:        csel w4, wsp, w9, eq
1334*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                 ^
1335*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: invalid operand for instruction
1336*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:        csel wsp, w2, w3, ne
1337*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:             ^
1338*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: invalid operand for instruction
1339*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:        csel w10, w11, wsp, ge
1340*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                       ^
1341*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: expected AArch64 condition code
1342*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:        csel w1, w2, w3, #3
1343*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                         ^
1344*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: invalid operand for instruction
1345*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:        csel x4, sp, x9, eq
1346*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                 ^
1347*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: invalid operand for instruction
1348*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:        csel sp, x2, x3, ne
1349*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:             ^
1350*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: invalid operand for instruction
1351*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:        csel x10, x11, sp, ge
1352*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                       ^
1353*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: expected AArch64 condition code
1354*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:        csel x1, x2, x3, #3
1355*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                         ^
1356*9880d681SAndroid Build Coastguard Worker
1357*9880d681SAndroid Build Coastguard Worker        csinc w20, w21, wsp, mi
1358*9880d681SAndroid Build Coastguard Worker        csinc sp, x30, x29, eq
1359*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR: error: invalid operand for instruction
1360*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:        csinc w20, w21, wsp, mi
1361*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                        ^
1362*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: invalid operand for instruction
1363*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:        csinc sp, x30, x29, eq
1364*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:              ^
1365*9880d681SAndroid Build Coastguard Worker
1366*9880d681SAndroid Build Coastguard Worker        csinv w20, wsp, wsp, mi
1367*9880d681SAndroid Build Coastguard Worker        csinv sp, x30, x29, le
1368*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR: error: invalid operand for instruction
1369*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:        csinv w20, wsp, wsp, mi
1370*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                   ^
1371*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: invalid operand for instruction
1372*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:        csinv sp, x30, x29, le
1373*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:              ^
1374*9880d681SAndroid Build Coastguard Worker
1375*9880d681SAndroid Build Coastguard Worker        csneg w20, w21, wsp, mi
1376*9880d681SAndroid Build Coastguard Worker        csneg x0, sp, x29, le
1377*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR: error: invalid operand for instruction
1378*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:        csneg w20, w21, wsp, mi
1379*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                        ^
1380*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: invalid operand for instruction
1381*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:        csneg x0, sp, x29, le
1382*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                  ^
1383*9880d681SAndroid Build Coastguard Worker
1384*9880d681SAndroid Build Coastguard Worker        cset wsp, lt
1385*9880d681SAndroid Build Coastguard Worker        csetm sp, ge
1386*9880d681SAndroid Build Coastguard Worker        cset w1, al
1387*9880d681SAndroid Build Coastguard Worker        csetm x6, nv
1388*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR: error: invalid operand for instruction
1389*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:        cset wsp, lt
1390*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:             ^
1391*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: invalid operand for instruction
1392*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:        csetm sp, ge
1393*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:              ^
1394*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: condition codes AL and NV are invalid for this instruction
1395*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:        cset w1, al
1396*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                   ^
1397*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: condition codes AL and NV are invalid for this instruction
1398*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:        csetm x6, nv
1399*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                    ^
1400*9880d681SAndroid Build Coastguard Worker
1401*9880d681SAndroid Build Coastguard Worker        cinc w3, wsp, ne
1402*9880d681SAndroid Build Coastguard Worker        cinc sp, x9, eq
1403*9880d681SAndroid Build Coastguard Worker        cinc x2, x0, nv
1404*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR: error: invalid operand for instruction
1405*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:        cinc w3, wsp, ne
1406*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                 ^
1407*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: invalid operand for instruction
1408*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:        cinc sp, x9, eq
1409*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:             ^
1410*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: condition codes AL and NV are invalid for this instruction
1411*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:        cinc x2, x0, nv
1412*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                       ^
1413*9880d681SAndroid Build Coastguard Worker
1414*9880d681SAndroid Build Coastguard Worker        cinv w3, wsp, ne
1415*9880d681SAndroid Build Coastguard Worker        cinv sp, x9, eq
1416*9880d681SAndroid Build Coastguard Worker        cinv w8, x7, nv
1417*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR: error: invalid operand for instruction
1418*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:        cinv w3, wsp, ne
1419*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                 ^
1420*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: invalid operand for instruction
1421*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:        cinv sp, x9, eq
1422*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:             ^
1423*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: condition codes AL and NV are invalid for this instruction
1424*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:        cinv w8, x7, nv
1425*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                       ^
1426*9880d681SAndroid Build Coastguard Worker
1427*9880d681SAndroid Build Coastguard Worker        cneg w3, wsp, ne
1428*9880d681SAndroid Build Coastguard Worker        cneg sp, x9, eq
1429*9880d681SAndroid Build Coastguard Worker        cneg x4, x5, al
1430*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR: error: invalid operand for instruction
1431*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:        cneg w3, wsp, ne
1432*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                 ^
1433*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: invalid operand for instruction
1434*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:        cneg sp, x9, eq
1435*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:             ^
1436*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: condition codes AL and NV are invalid for this instruction
1437*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:        cneg x4, x5, al
1438*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                       ^
1439*9880d681SAndroid Build Coastguard Worker
1440*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------
1441*9880d681SAndroid Build Coastguard Worker// Data Processing (1 source)
1442*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------
1443*9880d681SAndroid Build Coastguard Worker        rbit x23, w2
1444*9880d681SAndroid Build Coastguard Worker//CHECK-ERROR: error: invalid operand for instruction
1445*9880d681SAndroid Build Coastguard Worker//CHECK-ERROR-NEXT:     rbit x23, w2
1446*9880d681SAndroid Build Coastguard Worker
1447*9880d681SAndroid Build Coastguard Worker        cls sp, x2
1448*9880d681SAndroid Build Coastguard Worker//CHECK-ERROR: error: invalid operand for instruction
1449*9880d681SAndroid Build Coastguard Worker//CHECK-ERROR-NEXT:     cls sp, x2
1450*9880d681SAndroid Build Coastguard Worker
1451*9880d681SAndroid Build Coastguard Worker        clz wsp, w3
1452*9880d681SAndroid Build Coastguard Worker//CHECK-ERROR: error: invalid operand for instruction
1453*9880d681SAndroid Build Coastguard Worker//CHECK-ERROR-NEXT:     clz wsp, w3
1454*9880d681SAndroid Build Coastguard Worker
1455*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------
1456*9880d681SAndroid Build Coastguard Worker// Data Processing (2 sources)
1457*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------
1458*9880d681SAndroid Build Coastguard Worker        udiv x23, w2, x18
1459*9880d681SAndroid Build Coastguard Worker//CHECK-ERROR: error: invalid operand for instruction
1460*9880d681SAndroid Build Coastguard Worker//CHECK-ERROR-NEXT:     udiv x23, w2, x18
1461*9880d681SAndroid Build Coastguard Worker
1462*9880d681SAndroid Build Coastguard Worker        lsl sp, x2, x4
1463*9880d681SAndroid Build Coastguard Worker//CHECK-ERROR: error: invalid operand for instruction
1464*9880d681SAndroid Build Coastguard Worker//CHECK-ERROR-NEXT:     lsl sp, x2, x4
1465*9880d681SAndroid Build Coastguard Worker
1466*9880d681SAndroid Build Coastguard Worker        asr wsp, w3, w9
1467*9880d681SAndroid Build Coastguard Worker//CHECK-ERROR: error: invalid operand for instruction
1468*9880d681SAndroid Build Coastguard Worker//CHECK-ERROR-NEXT:     asr wsp, w3, w9
1469*9880d681SAndroid Build Coastguard Worker
1470*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------
1471*9880d681SAndroid Build Coastguard Worker// Data Processing (3 sources)
1472*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------
1473*9880d681SAndroid Build Coastguard Worker
1474*9880d681SAndroid Build Coastguard Worker        madd sp, x3, x9, x10
1475*9880d681SAndroid Build Coastguard Worker//CHECK-ERROR: error: invalid operand for instruction
1476*9880d681SAndroid Build Coastguard Worker//CHECK-ERROR-NEXT:     madd sp, x3, x9, x10
1477*9880d681SAndroid Build Coastguard Worker
1478*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------
1479*9880d681SAndroid Build Coastguard Worker// Exception generation
1480*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------
1481*9880d681SAndroid Build Coastguard Worker        svc #-1
1482*9880d681SAndroid Build Coastguard Worker        hlt #65536
1483*9880d681SAndroid Build Coastguard Worker        dcps4 #43
1484*9880d681SAndroid Build Coastguard Worker        dcps4
1485*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR: error: {{expected|immediate must be an}} integer in range [0, 65535]
1486*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         svc #-1
1487*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:             ^
1488*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 65535]
1489*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         hlt #65536
1490*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:             ^
1491*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{invalid instruction|unrecognized instruction mnemonic}}
1492*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         dcps4 #43
1493*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         ^
1494*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{invalid instruction|unrecognized instruction mnemonic}}
1495*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         dcps4
1496*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         ^
1497*9880d681SAndroid Build Coastguard Worker
1498*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------
1499*9880d681SAndroid Build Coastguard Worker// Extract (immediate)
1500*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------
1501*9880d681SAndroid Build Coastguard Worker
1502*9880d681SAndroid Build Coastguard Worker        extr w2, w20, w30, #-1
1503*9880d681SAndroid Build Coastguard Worker        extr w9, w19, w20, #32
1504*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 31]
1505*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         extr w2, w20, w30, #-1
1506*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                            ^
1507*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 31]
1508*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         extr w9, w19, w20, #32
1509*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                            ^
1510*9880d681SAndroid Build Coastguard Worker
1511*9880d681SAndroid Build Coastguard Worker        extr x10, x15, x20, #-1
1512*9880d681SAndroid Build Coastguard Worker        extr x20, x25, x30, #64
1513*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 63]
1514*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         extr x10, x15, x20, #-1
1515*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                             ^
1516*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 63]
1517*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         extr x20, x25, x30, #64
1518*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                             ^
1519*9880d681SAndroid Build Coastguard Worker
1520*9880d681SAndroid Build Coastguard Worker        ror w9, w10, #32
1521*9880d681SAndroid Build Coastguard Worker        ror x10, x11, #64
1522*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 31]
1523*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         ror w9, w10, #32
1524*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                      ^
1525*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 63]
1526*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         ror x10, x11, #64
1527*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                       ^
1528*9880d681SAndroid Build Coastguard Worker
1529*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------
1530*9880d681SAndroid Build Coastguard Worker// Floating-point compare
1531*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------
1532*9880d681SAndroid Build Coastguard Worker
1533*9880d681SAndroid Build Coastguard Worker        fcmp s3, d2
1534*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-AARCH64: error: expected floating-point constant #0.0
1535*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-ARM64: error: invalid operand for instruction
1536*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         fcmp s3, d2
1537*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                  ^
1538*9880d681SAndroid Build Coastguard Worker
1539*9880d681SAndroid Build Coastguard Worker        fcmp s9, #-0.0
1540*9880d681SAndroid Build Coastguard Worker        fcmp d3, #-0.0
1541*9880d681SAndroid Build Coastguard Worker        fcmp s1, #1.0
1542*9880d681SAndroid Build Coastguard Worker        fcmpe s30, #-0.0
1543*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR: error: expected floating-point constant #0.0
1544*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         fcmp s9, #-0.0
1545*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                  ^
1546*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: expected floating-point constant #0.0
1547*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         fcmp d3, #-0.0
1548*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                  ^
1549*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: expected floating-point constant #0.0
1550*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         fcmp s1, #1.0
1551*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                  ^
1552*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: expected floating-point constant #0.0
1553*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         fcmpe s30, #-0.0
1554*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                    ^
1555*9880d681SAndroid Build Coastguard Worker
1556*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------
1557*9880d681SAndroid Build Coastguard Worker// Floating-point conditional compare
1558*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------
1559*9880d681SAndroid Build Coastguard Worker
1560*9880d681SAndroid Build Coastguard Worker        fccmp s19, s5, #-1, lt
1561*9880d681SAndroid Build Coastguard Worker        fccmp s20, s7, #16, hs
1562*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 15]
1563*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:        fccmp s19, s5, #-1, lt
1564*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                      ^
1565*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 15]
1566*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:        fccmp s20, s7, #16, hs
1567*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                      ^
1568*9880d681SAndroid Build Coastguard Worker
1569*9880d681SAndroid Build Coastguard Worker        fccmp d19, d5, #-1, lt
1570*9880d681SAndroid Build Coastguard Worker        fccmp d20, d7, #16, hs
1571*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 15]
1572*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:        fccmp d19, d5, #-1, lt
1573*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                      ^
1574*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 15]
1575*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:        fccmp d20, d7, #16, hs
1576*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                      ^
1577*9880d681SAndroid Build Coastguard Worker
1578*9880d681SAndroid Build Coastguard Worker        fccmpe s19, s5, #-1, lt
1579*9880d681SAndroid Build Coastguard Worker        fccmpe s20, s7, #16, hs
1580*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 15]
1581*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:        fccmpe s19, s5, #-1, lt
1582*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                      ^
1583*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 15]
1584*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:        fccmpe s20, s7, #16, hs
1585*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                      ^
1586*9880d681SAndroid Build Coastguard Worker
1587*9880d681SAndroid Build Coastguard Worker        fccmpe d19, d5, #-1, lt
1588*9880d681SAndroid Build Coastguard Worker        fccmpe d20, d7, #16, hs
1589*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 15]
1590*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:        fccmpe d19, d5, #-1, lt
1591*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                      ^
1592*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 15]
1593*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:        fccmpe d20, d7, #16, hs
1594*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                      ^
1595*9880d681SAndroid Build Coastguard Worker
1596*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------
1597*9880d681SAndroid Build Coastguard Worker// Floating-point conditional compare
1598*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------
1599*9880d681SAndroid Build Coastguard Worker
1600*9880d681SAndroid Build Coastguard Worker        fcsel q3, q20, q9, pl
1601*9880d681SAndroid Build Coastguard Worker        fcsel h9, h10, h11, mi
1602*9880d681SAndroid Build Coastguard Worker        fcsel b9, b10, b11, mi
1603*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR: error: invalid operand for instruction
1604*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         fcsel q3, q20, q9, pl
1605*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:               ^
1606*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: instruction requires: fullfp16
1607*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         fcsel h9, h10, h11, mi
1608*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:               ^
1609*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: invalid operand for instruction
1610*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         fcsel b9, b10, b11, mi
1611*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:               ^
1612*9880d681SAndroid Build Coastguard Worker
1613*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------
1614*9880d681SAndroid Build Coastguard Worker// Floating-point data-processing (1 source)
1615*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------
1616*9880d681SAndroid Build Coastguard Worker
1617*9880d681SAndroid Build Coastguard Worker        fmov d0, s3
1618*9880d681SAndroid Build Coastguard Worker        fcvt d0, d1
1619*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR: error: expected compatible register or floating-point constant
1620*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:           fmov d0, s3
1621*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                    ^
1622*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: invalid operand for instruction
1623*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:           fcvt d0, d1
1624*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                    ^
1625*9880d681SAndroid Build Coastguard Worker
1626*9880d681SAndroid Build Coastguard Worker
1627*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------
1628*9880d681SAndroid Build Coastguard Worker// Floating-point data-processing (2 sources)
1629*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------
1630*9880d681SAndroid Build Coastguard Worker
1631*9880d681SAndroid Build Coastguard Worker        fadd s0, d3, d7
1632*9880d681SAndroid Build Coastguard Worker        fmaxnm d3, s19, d12
1633*9880d681SAndroid Build Coastguard Worker        fnmul d1, d9, s18
1634*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR: error: invalid operand for instruction
1635*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:           fadd s0, d3, d7
1636*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: ^
1637*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: invalid operand for instruction
1638*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:           fmaxnm d3, s19, d12
1639*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: ^
1640*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: invalid operand for instruction
1641*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:           fnmul d1, d9, s18
1642*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: ^
1643*9880d681SAndroid Build Coastguard Worker
1644*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------
1645*9880d681SAndroid Build Coastguard Worker// Floating-point data-processing (3 sources)
1646*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------
1647*9880d681SAndroid Build Coastguard Worker
1648*9880d681SAndroid Build Coastguard Worker        fmadd b3, b4, b5, b6
1649*9880d681SAndroid Build Coastguard Worker        fmsub h1, h2, h3, h4
1650*9880d681SAndroid Build Coastguard Worker        fnmadd q3, q5, q6, q7
1651*9880d681SAndroid Build Coastguard Worker        fnmsub s2, s4, d5, h9
1652*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR: error: invalid operand for instruction
1653*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         fmadd b3, b4, b5, b6
1654*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:               ^
1655*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: instruction requires: fullfp16
1656*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         fmsub h1, h2, h3, h4
1657*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:               ^
1658*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: invalid operand for instruction
1659*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         fnmadd q3, q5, q6, q7
1660*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                ^
1661*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: invalid operand for instruction
1662*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         fnmsub s2, s4, d5, h9
1663*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                ^
1664*9880d681SAndroid Build Coastguard Worker
1665*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------
1666*9880d681SAndroid Build Coastguard Worker// Floating-point conditional compare
1667*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------
1668*9880d681SAndroid Build Coastguard Worker
1669*9880d681SAndroid Build Coastguard Worker        fcvtzs w13, s31, #0
1670*9880d681SAndroid Build Coastguard Worker        fcvtzs w19, s20, #33
1671*9880d681SAndroid Build Coastguard Worker        fcvtzs wsp, s19, #14
1672*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [1, 32]
1673*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:        fcvtzs w13, s31, #0
1674*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                         ^
1675*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [1, 32]
1676*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:        fcvtzs w19, s20, #33
1677*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                         ^
1678*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: invalid operand for instruction
1679*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:        fcvtzs wsp, s19, #14
1680*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:               ^
1681*9880d681SAndroid Build Coastguard Worker
1682*9880d681SAndroid Build Coastguard Worker        fcvtzs x13, s31, #0
1683*9880d681SAndroid Build Coastguard Worker        fcvtzs x19, s20, #65
1684*9880d681SAndroid Build Coastguard Worker        fcvtzs sp, s19, #14
1685*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [1, 64]
1686*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:        fcvtzs x13, s31, #0
1687*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                         ^
1688*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [1, 64]
1689*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:        fcvtzs x19, s20, #65
1690*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                         ^
1691*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: invalid operand for instruction
1692*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:        fcvtzs sp, s19, #14
1693*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:               ^
1694*9880d681SAndroid Build Coastguard Worker
1695*9880d681SAndroid Build Coastguard Worker        fcvtzu w13, s31, #0
1696*9880d681SAndroid Build Coastguard Worker        fcvtzu w19, s20, #33
1697*9880d681SAndroid Build Coastguard Worker        fcvtzu wsp, s19, #14
1698*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [1, 32]
1699*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:        fcvtzu w13, s31, #0
1700*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                         ^
1701*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [1, 32]
1702*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:        fcvtzu w19, s20, #33
1703*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                         ^
1704*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: invalid operand for instruction
1705*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:        fcvtzu wsp, s19, #14
1706*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:               ^
1707*9880d681SAndroid Build Coastguard Worker
1708*9880d681SAndroid Build Coastguard Worker        fcvtzu x13, s31, #0
1709*9880d681SAndroid Build Coastguard Worker        fcvtzu x19, s20, #65
1710*9880d681SAndroid Build Coastguard Worker        fcvtzu sp, s19, #14
1711*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [1, 64]
1712*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:        fcvtzu x13, s31, #0
1713*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                         ^
1714*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [1, 64]
1715*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:        fcvtzu x19, s20, #65
1716*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                         ^
1717*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: invalid operand for instruction
1718*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:        fcvtzu sp, s19, #14
1719*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:               ^
1720*9880d681SAndroid Build Coastguard Worker
1721*9880d681SAndroid Build Coastguard Worker        scvtf w13, s31, #0
1722*9880d681SAndroid Build Coastguard Worker        scvtf w19, s20, #33
1723*9880d681SAndroid Build Coastguard Worker        scvtf wsp, s19, #14
1724*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: invalid operand for instruction
1725*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:        scvtf w13, s31, #0
1726*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:              ^
1727*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: invalid operand for instruction
1728*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:        scvtf w19, s20, #33
1729*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:              ^
1730*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: invalid operand for instruction
1731*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:        scvtf wsp, s19, #14
1732*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:              ^
1733*9880d681SAndroid Build Coastguard Worker
1734*9880d681SAndroid Build Coastguard Worker        scvtf x13, s31, #0
1735*9880d681SAndroid Build Coastguard Worker        scvtf x19, s20, #65
1736*9880d681SAndroid Build Coastguard Worker        scvtf sp, s19, #14
1737*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: invalid operand for instruction
1738*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:        scvtf x13, s31, #0
1739*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:              ^
1740*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: invalid operand for instruction
1741*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:        scvtf x19, s20, #65
1742*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:              ^
1743*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: invalid operand for instruction
1744*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:        scvtf sp, s19, #14
1745*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:              ^
1746*9880d681SAndroid Build Coastguard Worker
1747*9880d681SAndroid Build Coastguard Worker        ucvtf w13, s31, #0
1748*9880d681SAndroid Build Coastguard Worker        ucvtf w19, s20, #33
1749*9880d681SAndroid Build Coastguard Worker        ucvtf wsp, s19, #14
1750*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: invalid operand for instruction
1751*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:        ucvtf w13, s31, #0
1752*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:              ^
1753*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: invalid operand for instruction
1754*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:        ucvtf w19, s20, #33
1755*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:              ^
1756*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: invalid operand for instruction
1757*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:        ucvtf wsp, s19, #14
1758*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:              ^
1759*9880d681SAndroid Build Coastguard Worker
1760*9880d681SAndroid Build Coastguard Worker        ucvtf x13, s31, #0
1761*9880d681SAndroid Build Coastguard Worker        ucvtf x19, s20, #65
1762*9880d681SAndroid Build Coastguard Worker        ucvtf sp, s19, #14
1763*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: invalid operand for instruction
1764*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:        ucvtf x13, s31, #0
1765*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:              ^
1766*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: invalid operand for instruction
1767*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:        ucvtf x19, s20, #65
1768*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:              ^
1769*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: invalid operand for instruction
1770*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:        ucvtf sp, s19, #14
1771*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:              ^
1772*9880d681SAndroid Build Coastguard Worker
1773*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------
1774*9880d681SAndroid Build Coastguard Worker// Floating-point immediate
1775*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------
1776*9880d681SAndroid Build Coastguard Worker        ;; Exponent too large
1777*9880d681SAndroid Build Coastguard Worker        fmov d3, #0.0625
1778*9880d681SAndroid Build Coastguard Worker        fmov s2, #32.0
1779*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR: error: expected compatible register or floating-point constant
1780*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:           fmov d3, #0.0625
1781*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                    ^
1782*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: expected compatible register or floating-point constant
1783*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:           fmov s2, #32.0
1784*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                    ^
1785*9880d681SAndroid Build Coastguard Worker
1786*9880d681SAndroid Build Coastguard Worker        ;; Fraction too precise
1787*9880d681SAndroid Build Coastguard Worker        fmov s9, #1.03125
1788*9880d681SAndroid Build Coastguard Worker        fmov s28, #1.96875
1789*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR: error: expected compatible register or floating-point constant
1790*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:           fmov s9, #1.03125
1791*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                    ^
1792*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: expected compatible register or floating-point constant
1793*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:           fmov s28, #1.96875
1794*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                     ^
1795*9880d681SAndroid Build Coastguard Worker
1796*9880d681SAndroid Build Coastguard Worker        ;; No particular reason, but a striking omission
1797*9880d681SAndroid Build Coastguard Worker        fmov d0, #0.0
1798*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-AARCH64: error: expected compatible register or floating-point constant
1799*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-AARCH64-NEXT:           fmov d0, #0.0
1800*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-AARCH64-NEXT:                    ^
1801*9880d681SAndroid Build Coastguard Worker
1802*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------
1803*9880d681SAndroid Build Coastguard Worker// Floating-point <-> integer conversion
1804*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------
1805*9880d681SAndroid Build Coastguard Worker
1806*9880d681SAndroid Build Coastguard Worker        fmov x3, v0.d[0]
1807*9880d681SAndroid Build Coastguard Worker        fmov v29.1d[1], x2
1808*9880d681SAndroid Build Coastguard Worker        fmov x7, v0.d[2]
1809*9880d681SAndroid Build Coastguard Worker        fcvtns sp, s5
1810*9880d681SAndroid Build Coastguard Worker        scvtf s6, wsp
1811*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR: error: expected lane specifier '[1]'
1812*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         fmov x3, v0.d[0]
1813*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                       ^
1814*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-AARCH64-NEXT: error: lane number incompatible with layout
1815*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-ARM64-NEXT: error: invalid operand for instruction
1816*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: fmov v29.1d[1], x2
1817*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:             ^
1818*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-AARCH64-NEXT: error: lane number incompatible with layout
1819*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-ARM64-NEXT: error: expected lane specifier '[1]'
1820*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: fmov x7, v0.d[2]
1821*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:               ^
1822*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: invalid operand for instruction
1823*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         fcvtns sp, s5
1824*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                ^
1825*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: invalid operand for instruction
1826*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         scvtf s6, wsp
1827*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                   ^
1828*9880d681SAndroid Build Coastguard Worker
1829*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------
1830*9880d681SAndroid Build Coastguard Worker// Load-register (literal)
1831*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------
1832*9880d681SAndroid Build Coastguard Worker
1833*9880d681SAndroid Build Coastguard Worker        ldr sp, some_label
1834*9880d681SAndroid Build Coastguard Worker        ldrsw w3, somewhere
1835*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR: error: invalid operand for instruction
1836*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         ldr sp, some_label
1837*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:             ^
1838*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: invalid operand for instruction
1839*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         ldrsw w3, somewhere
1840*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:               ^
1841*9880d681SAndroid Build Coastguard Worker
1842*9880d681SAndroid Build Coastguard Worker        ldrsw x2, #1048576
1843*9880d681SAndroid Build Coastguard Worker        ldr q0, #-1048580
1844*9880d681SAndroid Build Coastguard Worker        ldr x0, #2
1845*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR: error: expected label or encodable integer pc offset
1846*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         ldrsw x2, #1048576
1847*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                   ^
1848*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: expected label or encodable integer pc offset
1849*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         ldr q0, #-1048580
1850*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                   ^
1851*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: expected label or encodable integer pc offset
1852*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         ldr x0, #2
1853*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                 ^
1854*9880d681SAndroid Build Coastguard Worker
1855*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------
1856*9880d681SAndroid Build Coastguard Worker// Load/store exclusive
1857*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------
1858*9880d681SAndroid Build Coastguard Worker
1859*9880d681SAndroid Build Coastguard Worker       stxrb w2, w3, [x4, #20]
1860*9880d681SAndroid Build Coastguard Worker       stlxrh w10, w11, [w2]
1861*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-AARCH64: error: expected '#0'
1862*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-ARM64: error: index must be absent or #0
1863*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         stxrb w2, w3, [x4, #20]
1864*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                       ^
1865*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR: error: invalid operand for instruction
1866*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         stlxrh w10, w11, [w2]
1867*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                           ^
1868*9880d681SAndroid Build Coastguard Worker
1869*9880d681SAndroid Build Coastguard Worker       stlxr  x20, w21, [sp]
1870*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR: error: invalid operand for instruction
1871*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         stlxr  x20, w21, [sp]
1872*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                ^
1873*9880d681SAndroid Build Coastguard Worker
1874*9880d681SAndroid Build Coastguard Worker       ldxr   sp, [sp]
1875*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR: error: invalid operand for instruction
1876*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         ldxr   sp, [sp]
1877*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                ^
1878*9880d681SAndroid Build Coastguard Worker
1879*9880d681SAndroid Build Coastguard Worker       stxp x1, x2, x3, [x4]
1880*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR: error: invalid operand for instruction
1881*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         stxp x1, x2,  x3, [x4]
1882*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:              ^
1883*9880d681SAndroid Build Coastguard Worker
1884*9880d681SAndroid Build Coastguard Worker       stlxp w5, x1, w4, [x5]
1885*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR: error: invalid operand for instruction
1886*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         stlxp w5, x1, w4, [x5]
1887*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                       ^
1888*9880d681SAndroid Build Coastguard Worker
1889*9880d681SAndroid Build Coastguard Worker       stlxp w17, w6, x7, [x22]
1890*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR: error: invalid operand for instruction
1891*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         stlxp w17, w6, x7, [x22]
1892*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                        ^
1893*9880d681SAndroid Build Coastguard Worker
1894*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------
1895*9880d681SAndroid Build Coastguard Worker// Load/store (unscaled immediate)
1896*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------
1897*9880d681SAndroid Build Coastguard Worker
1898*9880d681SAndroid Build Coastguard Worker        ldurb w2, [sp, #256]
1899*9880d681SAndroid Build Coastguard Worker        sturh w17, [x1, #256]
1900*9880d681SAndroid Build Coastguard Worker        ldursw x20, [x1, #256]
1901*9880d681SAndroid Build Coastguard Worker        ldur x12, [sp, #256]
1902*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR: error: {{expected|index must be an}} integer in range [-256, 255]
1903*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:        ldurb w2, [sp, #256]
1904*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                  ^
1905*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected|index must be an}} integer in range [-256, 255]
1906*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         sturh w17, [x1, #256]
1907*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                    ^
1908*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected|index must be an}} integer in range [-256, 255]
1909*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         ldursw x20, [x1, #256]
1910*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                     ^
1911*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected|index must be an}} integer in range [-256, 255]
1912*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         ldur x12, [sp, #256]
1913*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                   ^
1914*9880d681SAndroid Build Coastguard Worker
1915*9880d681SAndroid Build Coastguard Worker        stur h2, [x2, #-257]
1916*9880d681SAndroid Build Coastguard Worker        stur b2, [x2, #-257]
1917*9880d681SAndroid Build Coastguard Worker        ldursb x9, [sp, #-257]
1918*9880d681SAndroid Build Coastguard Worker        ldur w2, [x30, #-257]
1919*9880d681SAndroid Build Coastguard Worker        stur q9, [x20, #-257]
1920*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR: error: {{expected|index must be an}} integer in range [-256, 255]
1921*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         stur h2, [x2, #-257]
1922*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                  ^
1923*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected|index must be an}} integer in range [-256, 255]
1924*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         stur b2, [x2, #-257]
1925*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                  ^
1926*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected|index must be an}} integer in range [-256, 255]
1927*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         ldursb x9, [sp, #-257]
1928*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                    ^
1929*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected|index must be an}} integer in range [-256, 255]
1930*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         ldur w2, [x30, #-257]
1931*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                  ^
1932*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected|index must be an}} integer in range [-256, 255]
1933*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         stur q9, [x20, #-257]
1934*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                  ^
1935*9880d681SAndroid Build Coastguard Worker
1936*9880d681SAndroid Build Coastguard Worker        prfum pstl3strm, [xzr]
1937*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR: error: invalid operand for instruction
1938*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         prfum pstl3strm, [xzr]
1939*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                           ^
1940*9880d681SAndroid Build Coastguard Worker
1941*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------
1942*9880d681SAndroid Build Coastguard Worker// Load-store register (immediate post-indexed)
1943*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------
1944*9880d681SAndroid Build Coastguard Worker        ldr x3, [x4, #25], #0
1945*9880d681SAndroid Build Coastguard Worker        ldr x4, [x9, #0], #4
1946*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-AARCH64: error: {{expected symbolic reference or integer|index must be a multiple of 8}} in range [0, 32760]
1947*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-ARM64: error: invalid operand for instruction
1948*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         ldr x3, [x4, #25], #0
1949*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                 ^
1950*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-AARCH64-NEXT: error: invalid operand for instruction
1951*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-AARCH64-NEXT:         ldr x4, [x9, #0], #4
1952*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-AARCH64-NEXT:                           ^
1953*9880d681SAndroid Build Coastguard Worker
1954*9880d681SAndroid Build Coastguard Worker        strb w1, [x19], #256
1955*9880d681SAndroid Build Coastguard Worker        strb w9, [sp], #-257
1956*9880d681SAndroid Build Coastguard Worker        strh w1, [x19], #256
1957*9880d681SAndroid Build Coastguard Worker        strh w9, [sp], #-257
1958*9880d681SAndroid Build Coastguard Worker        str w1, [x19], #256
1959*9880d681SAndroid Build Coastguard Worker        str w9, [sp], #-257
1960*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR: error: {{expected|index must be an}} integer in range [-256, 255]
1961*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         strb w1, [x19], #256
1962*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                         ^
1963*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected|index must be an}} integer in range [-256, 255]
1964*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         strb w9, [sp], #-257
1965*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                        ^
1966*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected|index must be an}} integer in range [-256, 255]
1967*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         strh w1, [x19], #256
1968*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                         ^
1969*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected|index must be an}} integer in range [-256, 255]
1970*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         strh w9, [sp], #-257
1971*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                        ^
1972*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected|index must be an}} integer in range [-256, 255]
1973*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         str w1, [x19], #256
1974*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                        ^
1975*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected|index must be an}} integer in range [-256, 255]
1976*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         str w9, [sp], #-257
1977*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                       ^
1978*9880d681SAndroid Build Coastguard Worker
1979*9880d681SAndroid Build Coastguard Worker        ldrb w1, [x19], #256
1980*9880d681SAndroid Build Coastguard Worker        ldrb w9, [sp], #-257
1981*9880d681SAndroid Build Coastguard Worker        ldrh w1, [x19], #256
1982*9880d681SAndroid Build Coastguard Worker        ldrh w9, [sp], #-257
1983*9880d681SAndroid Build Coastguard Worker        ldr w1, [x19], #256
1984*9880d681SAndroid Build Coastguard Worker        ldr w9, [sp], #-257
1985*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR: error: {{expected|index must be an}} integer in range [-256, 255]
1986*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         ldrb w1, [x19], #256
1987*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                         ^
1988*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected|index must be an}} integer in range [-256, 255]
1989*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         ldrb w9, [sp], #-257
1990*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                        ^
1991*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected|index must be an}} integer in range [-256, 255]
1992*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         ldrh w1, [x19], #256
1993*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                         ^
1994*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected|index must be an}} integer in range [-256, 255]
1995*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         ldrh w9, [sp], #-257
1996*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                        ^
1997*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected|index must be an}} integer in range [-256, 255]
1998*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         ldr w1, [x19], #256
1999*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                        ^
2000*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected|index must be an}} integer in range [-256, 255]
2001*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         ldr w9, [sp], #-257
2002*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                       ^
2003*9880d681SAndroid Build Coastguard Worker
2004*9880d681SAndroid Build Coastguard Worker        ldrsb x2, [x3], #256
2005*9880d681SAndroid Build Coastguard Worker        ldrsb x22, [x13], #-257
2006*9880d681SAndroid Build Coastguard Worker        ldrsh x2, [x3], #256
2007*9880d681SAndroid Build Coastguard Worker        ldrsh x22, [x13], #-257
2008*9880d681SAndroid Build Coastguard Worker        ldrsw x2, [x3], #256
2009*9880d681SAndroid Build Coastguard Worker        ldrsw x22, [x13], #-257
2010*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR: error: {{expected|index must be an}} integer in range [-256, 255]
2011*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         ldrsb x2, [x3], #256
2012*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                         ^
2013*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected|index must be an}} integer in range [-256, 255]
2014*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         ldrsb x22, [x13], #-257
2015*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                           ^
2016*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected|index must be an}} integer in range [-256, 255]
2017*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         ldrsh x2, [x3], #256
2018*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                         ^
2019*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected|index must be an}} integer in range [-256, 255]
2020*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         ldrsh x22, [x13], #-257
2021*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                           ^
2022*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected|index must be an}} integer in range [-256, 255]
2023*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         ldrsw x2, [x3], #256
2024*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                         ^
2025*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected|index must be an}} integer in range [-256, 255]
2026*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         ldrsw x22, [x13], #-257
2027*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                           ^
2028*9880d681SAndroid Build Coastguard Worker
2029*9880d681SAndroid Build Coastguard Worker        ldrsb w2, [x3], #256
2030*9880d681SAndroid Build Coastguard Worker        ldrsb w22, [x13], #-257
2031*9880d681SAndroid Build Coastguard Worker        ldrsh w2, [x3], #256
2032*9880d681SAndroid Build Coastguard Worker        ldrsh w22, [x13], #-257
2033*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR: error: {{expected|index must be an}} integer in range [-256, 255]
2034*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         ldrsb w2, [x3], #256
2035*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                         ^
2036*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected|index must be an}} integer in range [-256, 255]
2037*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         ldrsb w22, [x13], #-257
2038*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                           ^
2039*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected|index must be an}} integer in range [-256, 255]
2040*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         ldrsh w2, [x3], #256
2041*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                         ^
2042*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected|index must be an}} integer in range [-256, 255]
2043*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         ldrsh w22, [x13], #-257
2044*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                           ^
2045*9880d681SAndroid Build Coastguard Worker
2046*9880d681SAndroid Build Coastguard Worker        str b3, [x3], #256
2047*9880d681SAndroid Build Coastguard Worker        str b3, [x13], #-257
2048*9880d681SAndroid Build Coastguard Worker        str h3, [x3], #256
2049*9880d681SAndroid Build Coastguard Worker        str h3, [x13], #-257
2050*9880d681SAndroid Build Coastguard Worker        str s3, [x3], #256
2051*9880d681SAndroid Build Coastguard Worker        str s3, [x13], #-257
2052*9880d681SAndroid Build Coastguard Worker        str d3, [x3], #256
2053*9880d681SAndroid Build Coastguard Worker        str d3, [x13], #-257
2054*9880d681SAndroid Build Coastguard Worker        str q3, [x3], #256
2055*9880d681SAndroid Build Coastguard Worker        str q3, [x13], #-257
2056*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR: error: {{expected|index must be an}} integer in range [-256, 255]
2057*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         str b3, [x3], #256
2058*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                       ^
2059*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected|index must be an}} integer in range [-256, 255]
2060*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         str b3, [x13], #-257
2061*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                        ^
2062*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected|index must be an}} integer in range [-256, 255]
2063*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         str h3, [x3], #256
2064*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                       ^
2065*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected|index must be an}} integer in range [-256, 255]
2066*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         str h3, [x13], #-257
2067*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                        ^
2068*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected|index must be an}} integer in range [-256, 255]
2069*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         str s3, [x3], #256
2070*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                       ^
2071*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected|index must be an}} integer in range [-256, 255]
2072*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         str s3, [x13], #-257
2073*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                        ^
2074*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected|index must be an}} integer in range [-256, 255]
2075*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         str d3, [x3], #256
2076*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                       ^
2077*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected|index must be an}} integer in range [-256, 255]
2078*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         str d3, [x13], #-257
2079*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                        ^
2080*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected|index must be an}} integer in range [-256, 255]
2081*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         str q3, [x3], #256
2082*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                       ^
2083*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected|index must be an}} integer in range [-256, 255]
2084*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         str q3, [x13], #-257
2085*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                        ^
2086*9880d681SAndroid Build Coastguard Worker
2087*9880d681SAndroid Build Coastguard Worker        ldr b3, [x3], #256
2088*9880d681SAndroid Build Coastguard Worker        ldr b3, [x13], #-257
2089*9880d681SAndroid Build Coastguard Worker        ldr h3, [x3], #256
2090*9880d681SAndroid Build Coastguard Worker        ldr h3, [x13], #-257
2091*9880d681SAndroid Build Coastguard Worker        ldr s3, [x3], #256
2092*9880d681SAndroid Build Coastguard Worker        ldr s3, [x13], #-257
2093*9880d681SAndroid Build Coastguard Worker        ldr d3, [x3], #256
2094*9880d681SAndroid Build Coastguard Worker        ldr d3, [x13], #-257
2095*9880d681SAndroid Build Coastguard Worker        ldr q3, [x3], #256
2096*9880d681SAndroid Build Coastguard Worker        ldr q3, [x13], #-257
2097*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR: error: {{expected|index must be an}} integer in range [-256, 255]
2098*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         ldr b3, [x3], #256
2099*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                       ^
2100*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected|index must be an}} integer in range [-256, 255]
2101*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         ldr b3, [x13], #-257
2102*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                        ^
2103*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected|index must be an}} integer in range [-256, 255]
2104*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         ldr h3, [x3], #256
2105*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                       ^
2106*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected|index must be an}} integer in range [-256, 255]
2107*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         ldr h3, [x13], #-257
2108*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                        ^
2109*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected|index must be an}} integer in range [-256, 255]
2110*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         ldr s3, [x3], #256
2111*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                       ^
2112*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected|index must be an}} integer in range [-256, 255]
2113*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         ldr s3, [x13], #-257
2114*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                        ^
2115*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected|index must be an}} integer in range [-256, 255]
2116*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         ldr d3, [x3], #256
2117*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                       ^
2118*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected|index must be an}} integer in range [-256, 255]
2119*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         ldr d3, [x13], #-257
2120*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                        ^
2121*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected|index must be an}} integer in range [-256, 255]
2122*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         ldr q3, [x3], #256
2123*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                       ^
2124*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected|index must be an}} integer in range [-256, 255]
2125*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         ldr q3, [x13], #-257
2126*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                        ^
2127*9880d681SAndroid Build Coastguard Worker
2128*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------
2129*9880d681SAndroid Build Coastguard Worker// Load-store register (immediate pre-indexed)
2130*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------
2131*9880d681SAndroid Build Coastguard Worker
2132*9880d681SAndroid Build Coastguard Worker        ldr x3, [x4]!
2133*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR: error:
2134*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         ldr x3, [x4]!
2135*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                     ^
2136*9880d681SAndroid Build Coastguard Worker
2137*9880d681SAndroid Build Coastguard Worker        strb w1, [x19, #256]!
2138*9880d681SAndroid Build Coastguard Worker        strb w9, [sp, #-257]!
2139*9880d681SAndroid Build Coastguard Worker        strh w1, [x19, #256]!
2140*9880d681SAndroid Build Coastguard Worker        strh w9, [sp, #-257]!
2141*9880d681SAndroid Build Coastguard Worker        str w1, [x19, #256]!
2142*9880d681SAndroid Build Coastguard Worker        str w9, [sp, #-257]!
2143*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR: error: invalid operand for instruction
2144*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         strb w1, [x19, #256]!
2145*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                             ^
2146*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected|index must be an}} integer in range [-256, 255]
2147*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         strb w9, [sp, #-257]!
2148*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                  ^
2149*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: invalid operand for instruction
2150*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         strh w1, [x19, #256]!
2151*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                             ^
2152*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected|index must be an}} integer in range [-256, 255]
2153*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         strh w9, [sp, #-257]!
2154*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                  ^
2155*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: invalid operand for instruction
2156*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         str w1, [x19, #256]!
2157*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                            ^
2158*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected|index must be an}} integer in range [-256, 255]
2159*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         str w9, [sp, #-257]!
2160*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                 ^
2161*9880d681SAndroid Build Coastguard Worker
2162*9880d681SAndroid Build Coastguard Worker        ldrb w1, [x19, #256]!
2163*9880d681SAndroid Build Coastguard Worker        ldrb w9, [sp, #-257]!
2164*9880d681SAndroid Build Coastguard Worker        ldrh w1, [x19, #256]!
2165*9880d681SAndroid Build Coastguard Worker        ldrh w9, [sp, #-257]!
2166*9880d681SAndroid Build Coastguard Worker        ldr w1, [x19, #256]!
2167*9880d681SAndroid Build Coastguard Worker        ldr w9, [sp, #-257]!
2168*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR: error: invalid operand for instruction
2169*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         ldrb w1, [x19, #256]!
2170*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                             ^
2171*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected|index must be an}} integer in range [-256, 255]
2172*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         ldrb w9, [sp, #-257]!
2173*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                  ^
2174*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: invalid operand for instruction
2175*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         ldrh w1, [x19, #256]!
2176*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                             ^
2177*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected|index must be an}} integer in range [-256, 255]
2178*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         ldrh w9, [sp, #-257]!
2179*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                  ^
2180*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: invalid operand for instruction
2181*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         ldr w1, [x19, #256]!
2182*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                            ^
2183*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected|index must be an}} integer in range [-256, 255]
2184*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         ldr w9, [sp, #-257]!
2185*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                 ^
2186*9880d681SAndroid Build Coastguard Worker
2187*9880d681SAndroid Build Coastguard Worker        ldrsb x2, [x3, #256]!
2188*9880d681SAndroid Build Coastguard Worker        ldrsb x22, [x13, #-257]!
2189*9880d681SAndroid Build Coastguard Worker        ldrsh x2, [x3, #256]!
2190*9880d681SAndroid Build Coastguard Worker        ldrsh x22, [x13, #-257]!
2191*9880d681SAndroid Build Coastguard Worker        ldrsw x2, [x3, #256]!
2192*9880d681SAndroid Build Coastguard Worker        ldrsw x22, [x13, #-257]!
2193*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR: error: invalid operand for instruction
2194*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         ldrsb x2, [x3, #256]!
2195*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                             ^
2196*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected|index must be an}} integer in range [-256, 255]
2197*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         ldrsb x22, [x13, #-257]!
2198*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                    ^
2199*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: invalid operand for instruction
2200*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         ldrsh x2, [x3, #256]!
2201*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                             ^
2202*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected|index must be an}} integer in range [-256, 255]
2203*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         ldrsh x22, [x13, #-257]!
2204*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                    ^
2205*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: invalid operand for instruction
2206*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         ldrsw x2, [x3, #256]!
2207*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                             ^
2208*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected|index must be an}} integer in range [-256, 255]
2209*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         ldrsw x22, [x13, #-257]!
2210*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                    ^
2211*9880d681SAndroid Build Coastguard Worker
2212*9880d681SAndroid Build Coastguard Worker        ldrsb w2, [x3, #256]!
2213*9880d681SAndroid Build Coastguard Worker        ldrsb w22, [x13, #-257]!
2214*9880d681SAndroid Build Coastguard Worker        ldrsh w2, [x3, #256]!
2215*9880d681SAndroid Build Coastguard Worker        ldrsh w22, [x13, #-257]!
2216*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR: error: invalid operand for instruction
2217*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         ldrsb w2, [x3, #256]!
2218*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                             ^
2219*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected|index must be an}} integer in range [-256, 255]
2220*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         ldrsb w22, [x13, #-257]!
2221*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                    ^
2222*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: invalid operand for instruction
2223*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         ldrsh w2, [x3, #256]!
2224*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                             ^
2225*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected|index must be an}} integer in range [-256, 255]
2226*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         ldrsh w22, [x13, #-257]!
2227*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                    ^
2228*9880d681SAndroid Build Coastguard Worker
2229*9880d681SAndroid Build Coastguard Worker        str b3, [x3, #256]!
2230*9880d681SAndroid Build Coastguard Worker        str b3, [x13, #-257]!
2231*9880d681SAndroid Build Coastguard Worker        str h3, [x3, #256]!
2232*9880d681SAndroid Build Coastguard Worker        str h3, [x13, #-257]!
2233*9880d681SAndroid Build Coastguard Worker        str s3, [x3, #256]!
2234*9880d681SAndroid Build Coastguard Worker        str s3, [x13, #-257]!
2235*9880d681SAndroid Build Coastguard Worker        str d3, [x3, #256]!
2236*9880d681SAndroid Build Coastguard Worker        str d3, [x13, #-257]!
2237*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR: error: invalid operand for instruction
2238*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         str b3, [x3, #256]!
2239*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                           ^
2240*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected|index must be an}} integer in range [-256, 255]
2241*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         str b3, [x13, #-257]!
2242*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                 ^
2243*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: invalid operand for instruction
2244*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         str h3, [x3, #256]!
2245*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                           ^
2246*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected|index must be an}} integer in range [-256, 255]
2247*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         str h3, [x13, #-257]!
2248*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                 ^
2249*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: invalid operand for instruction
2250*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         str s3, [x3, #256]!
2251*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                           ^
2252*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected|index must be an}} integer in range [-256, 255]
2253*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         str s3, [x13, #-257]!
2254*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                 ^
2255*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: invalid operand for instruction
2256*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         str d3, [x3, #256]!
2257*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                           ^
2258*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected|index must be an}} integer in range [-256, 255]
2259*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         str d3, [x13, #-257]!
2260*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                 ^
2261*9880d681SAndroid Build Coastguard Worker
2262*9880d681SAndroid Build Coastguard Worker        ldr b3, [x3, #256]!
2263*9880d681SAndroid Build Coastguard Worker        ldr b3, [x13, #-257]!
2264*9880d681SAndroid Build Coastguard Worker        ldr h3, [x3, #256]!
2265*9880d681SAndroid Build Coastguard Worker        ldr h3, [x13, #-257]!
2266*9880d681SAndroid Build Coastguard Worker        ldr s3, [x3, #256]!
2267*9880d681SAndroid Build Coastguard Worker        ldr s3, [x13, #-257]!
2268*9880d681SAndroid Build Coastguard Worker        ldr d3, [x3, #256]!
2269*9880d681SAndroid Build Coastguard Worker        ldr d3, [x13, #-257]!
2270*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR: error: invalid operand for instruction
2271*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         ldr b3, [x3, #256]!
2272*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                           ^
2273*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected|index must be an}} integer in range [-256, 255]
2274*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         ldr b3, [x13, #-257]!
2275*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                 ^
2276*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: invalid operand for instruction
2277*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         ldr h3, [x3, #256]!
2278*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                           ^
2279*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected|index must be an}} integer in range [-256, 255]
2280*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         ldr h3, [x13, #-257]!
2281*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                 ^
2282*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: invalid operand for instruction
2283*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         ldr s3, [x3, #256]!
2284*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                           ^
2285*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected|index must be an}} integer in range [-256, 255]
2286*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         ldr s3, [x13, #-257]!
2287*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                 ^
2288*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: invalid operand for instruction
2289*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         ldr d3, [x3, #256]!
2290*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                           ^
2291*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected|index must be an}} integer in range [-256, 255]
2292*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         ldr d3, [x13, #-257]!
2293*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                 ^
2294*9880d681SAndroid Build Coastguard Worker
2295*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------
2296*9880d681SAndroid Build Coastguard Worker// Load/store (unprivileged)
2297*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------
2298*9880d681SAndroid Build Coastguard Worker
2299*9880d681SAndroid Build Coastguard Worker        ldtrb w2, [sp, #256]
2300*9880d681SAndroid Build Coastguard Worker        sttrh w17, [x1, #256]
2301*9880d681SAndroid Build Coastguard Worker        ldtrsw x20, [x1, #256]
2302*9880d681SAndroid Build Coastguard Worker        ldtr x12, [sp, #256]
2303*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR: error: {{expected|index must be an}} integer in range [-256, 255]
2304*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:        ldtrb w2, [sp, #256]
2305*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                  ^
2306*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected|index must be an}} integer in range [-256, 255]
2307*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         sttrh w17, [x1, #256]
2308*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                    ^
2309*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected|index must be an}} integer in range [-256, 255]
2310*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         ldtrsw x20, [x1, #256]
2311*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                     ^
2312*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected|index must be an}} integer in range [-256, 255]
2313*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         ldtr x12, [sp, #256]
2314*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                   ^
2315*9880d681SAndroid Build Coastguard Worker
2316*9880d681SAndroid Build Coastguard Worker        sttr h2, [x2, #-257]
2317*9880d681SAndroid Build Coastguard Worker        sttr b2, [x2, #-257]
2318*9880d681SAndroid Build Coastguard Worker        ldtrsb x9, [sp, #-257]
2319*9880d681SAndroid Build Coastguard Worker        ldtr w2, [x30, #-257]
2320*9880d681SAndroid Build Coastguard Worker        sttr q9, [x20, #-257]
2321*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR: error: invalid operand for instruction
2322*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         sttr h2, [x2, #-257]
2323*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:              ^
2324*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: invalid operand for instruction
2325*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         sttr b2, [x2, #-257]
2326*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:              ^
2327*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected|index must be an}} integer in range [-256, 255]
2328*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         ldtrsb x9, [sp, #-257]
2329*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                    ^
2330*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected|index must be an}} integer in range [-256, 255]
2331*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         ldtr w2, [x30, #-257]
2332*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                  ^
2333*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: invalid operand for instruction
2334*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         sttr q9, [x20, #-257]
2335*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                  ^
2336*9880d681SAndroid Build Coastguard Worker
2337*9880d681SAndroid Build Coastguard Worker
2338*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------
2339*9880d681SAndroid Build Coastguard Worker// Load/store (unsigned immediate)
2340*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------
2341*9880d681SAndroid Build Coastguard Worker
2342*9880d681SAndroid Build Coastguard Worker//// Out of range immediates
2343*9880d681SAndroid Build Coastguard Worker        ldr q0, [x11, #65536]
2344*9880d681SAndroid Build Coastguard Worker        ldr x0, [sp, #32768]
2345*9880d681SAndroid Build Coastguard Worker        ldr w0, [x4, #16384]
2346*9880d681SAndroid Build Coastguard Worker        ldrh w2, [x21, #8192]
2347*9880d681SAndroid Build Coastguard Worker        ldrb w3, [x12, #4096]
2348*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR: error: {{expected|index must be an}} integer in range [-256, 255]
2349*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         ldr q0, [x11, #65536]
2350*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                 ^
2351*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected|index must be an}} integer in range [-256, 255]
2352*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         ldr x0, [sp, #32768]
2353*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                 ^
2354*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected|index must be an}} integer in range [-256, 255]
2355*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         ldr w0, [x4, #16384]
2356*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                 ^
2357*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected|index must be an}} integer in range [-256, 255]
2358*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         ldrh w2, [x21, #8192]
2359*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                  ^
2360*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected|index must be an}} integer in range [-256, 255]
2361*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         ldrb w3, [x12, #4096]
2362*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                  ^
2363*9880d681SAndroid Build Coastguard Worker
2364*9880d681SAndroid Build Coastguard Worker//// Misaligned addresses
2365*9880d681SAndroid Build Coastguard Worker        ldr w0, [x0, #2]
2366*9880d681SAndroid Build Coastguard Worker        ldrsh w2, [x0, #123]
2367*9880d681SAndroid Build Coastguard Worker        str q0, [x0, #8]
2368*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-AARCH64: error: too few operands for instruction
2369*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-AARCH64-NEXT:         ldr w0, [x0, #2]
2370*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-AARCH64-NEXT:                 ^
2371*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-AARCH64-NEXT: error: too few operands for instruction
2372*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-AARCH64-NEXT:         ldrsh w2, [x0, #123]
2373*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-AARCH64-NEXT:                   ^
2374*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-AARCH64-NEXT: error: too few operands for instruction
2375*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-AARCH64-NEXT:         str q0, [x0, #8]
2376*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-AARCH64-NEXT:                 ^
2377*9880d681SAndroid Build Coastguard Worker
2378*9880d681SAndroid Build Coastguard Worker//// 32-bit addresses
2379*9880d681SAndroid Build Coastguard Worker        ldr w0, [w20]
2380*9880d681SAndroid Build Coastguard Worker        ldrsh x3, [wsp]
2381*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR: error: invalid operand for instruction
2382*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         ldr w0, [w20]
2383*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                  ^
2384*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: invalid operand for instruction
2385*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         ldrsh x3, [wsp]
2386*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                    ^
2387*9880d681SAndroid Build Coastguard Worker
2388*9880d681SAndroid Build Coastguard Worker//// Store things
2389*9880d681SAndroid Build Coastguard Worker        strb w0, [wsp]
2390*9880d681SAndroid Build Coastguard Worker        strh w31, [x23, #1]
2391*9880d681SAndroid Build Coastguard Worker        str x5, [x22, #12]
2392*9880d681SAndroid Build Coastguard Worker        str w7, [x12, #16384]
2393*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR: error: invalid operand for instruction
2394*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: strb w0, [wsp]
2395*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:           ^
2396*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-AARCH64: error: invalid operand for instruction
2397*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-AARCH64-NEXT:         strh w31, [x23, #1]
2398*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-AARCH64-NEXT:              ^
2399*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-AARCH64-NEXT: error: too few operands for instruction
2400*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-AARCH64-NEXT:         str x5, [x22, #12]
2401*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-AARCH64-NEXT:                 ^
2402*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected|index must be an}} integer in range [-256, 255]
2403*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         str w7, [x12, #16384]
2404*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                 ^
2405*9880d681SAndroid Build Coastguard Worker
2406*9880d681SAndroid Build Coastguard Worker//// Bad PRFMs
2407*9880d681SAndroid Build Coastguard Worker        prfm #-1, [sp]
2408*9880d681SAndroid Build Coastguard Worker        prfm #32, [sp, #8]
2409*9880d681SAndroid Build Coastguard Worker        prfm pldl1strm, [w3, #8]
2410*9880d681SAndroid Build Coastguard Worker        prfm wibble, [sp]
2411*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-AARCH64: error: Invalid immediate for instruction
2412*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-ARM64: error: prefetch operand out of range, [0,31] expected
2413*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:        prfm #-1, [sp]
2414*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:             ^
2415*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-AARCH64-NEXT: error: Invalid immediate for instruction
2416*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-ARM64-NEXT: error: prefetch operand out of range, [0,31] expected
2417*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:        prfm #32, [sp, #8]
2418*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:             ^
2419*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: invalid operand for instruction
2420*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:        prfm pldl1strm, [w3, #8]
2421*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                         ^
2422*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-AARCH64-NEXT: error: operand specifier not recognised
2423*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-ARM64-NEXT: error: pre-fetch hint expected
2424*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:        prfm wibble, [sp]
2425*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:             ^
2426*9880d681SAndroid Build Coastguard Worker
2427*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------
2428*9880d681SAndroid Build Coastguard Worker// Load/store register (register offset)
2429*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------
2430*9880d681SAndroid Build Coastguard Worker
2431*9880d681SAndroid Build Coastguard Worker        ldr w3, [xzr, x3]
2432*9880d681SAndroid Build Coastguard Worker        ldr w4, [x0, x4, lsl]
2433*9880d681SAndroid Build Coastguard Worker        ldr w9, [x5, x5, uxtw]
2434*9880d681SAndroid Build Coastguard Worker        ldr w10, [x6, x9, sxtw #2]
2435*9880d681SAndroid Build Coastguard Worker        ldr w11, [x7, w2, lsl #2]
2436*9880d681SAndroid Build Coastguard Worker        ldr w12, [x8, w1, sxtx]
2437*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: invalid operand for instruction
2438*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:        ldr w3, [xzr, x3]
2439*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                 ^
2440*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: expected #imm after shift specifier
2441*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         ldr w4, [x0, x4, lsl]
2442*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                             ^
2443*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: expected 'lsl' or 'sxtx' with optional shift of #0 or #2
2444*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         ldr w9, [x5, x5, uxtw]
2445*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                          ^
2446*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: expected 'lsl' or 'sxtx' with optional shift of #0 or #2
2447*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         ldr w10, [x6, x9, sxtw #2]
2448*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                           ^
2449*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: expected 'uxtw' or 'sxtw' with optional shift of #0 or #2
2450*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         ldr w11, [x7, w2, lsl #2]
2451*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                           ^
2452*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: expected 'uxtw' or 'sxtw' with optional shift of #0 or #2
2453*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         ldr w12, [x8, w1, sxtx]
2454*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                           ^
2455*9880d681SAndroid Build Coastguard Worker
2456*9880d681SAndroid Build Coastguard Worker        ldrsb w9, [x4, x2, lsl #-1]
2457*9880d681SAndroid Build Coastguard Worker        strb w9, [x4, x2, lsl #1]
2458*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: expected integer shift amount
2459*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         ldrsb w9, [x4, x2, lsl #-1]
2460*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                                 ^
2461*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: expected 'lsl' or 'sxtx' with optional shift of #0
2462*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         strb w9, [x4, x2, lsl #1]
2463*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                  ^
2464*9880d681SAndroid Build Coastguard Worker
2465*9880d681SAndroid Build Coastguard Worker        ldrsh w9, [x4, x2, lsl #-1]
2466*9880d681SAndroid Build Coastguard Worker        ldr h13, [x4, w2, uxtw #2]
2467*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: expected integer shift amount
2468*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         ldrsh w9, [x4, x2, lsl #-1]
2469*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                                 ^
2470*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: expected 'uxtw' or 'sxtw' with optional shift of #0 or #1
2471*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         ldr h13, [x4, w2, uxtw #2]
2472*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                           ^
2473*9880d681SAndroid Build Coastguard Worker
2474*9880d681SAndroid Build Coastguard Worker        str w9, [x5, w9, sxtw #-1]
2475*9880d681SAndroid Build Coastguard Worker        str s3, [sp, w9, uxtw #1]
2476*9880d681SAndroid Build Coastguard Worker        ldrsw x9, [x15, x4, sxtx #3]
2477*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: expected integer shift amount
2478*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         str w9, [x5, w9, sxtw #-1]
2479*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                                ^
2480*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: expected 'uxtw' or 'sxtw' with optional shift of #0 or #2
2481*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         str s3, [sp, w9, uxtw #1]
2482*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                          ^
2483*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: expected 'lsl' or 'sxtx' with optional shift of #0 or #2
2484*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         ldrsw x9, [x15, x4, sxtx #3]
2485*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                             ^
2486*9880d681SAndroid Build Coastguard Worker
2487*9880d681SAndroid Build Coastguard Worker        str xzr, [x5, x9, sxtx #-1]
2488*9880d681SAndroid Build Coastguard Worker        prfm pldl3keep, [sp, x20, lsl #2]
2489*9880d681SAndroid Build Coastguard Worker        ldr d3, [x20, wzr, uxtw #4]
2490*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: expected integer shift amount
2491*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         str xzr, [x5, x9, sxtx #-1]
2492*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                                 ^
2493*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: expected 'lsl' or 'sxtx' with optional shift of #0 or #3
2494*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         prfm pldl3keep, [sp, x20, lsl #2]
2495*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                         ^
2496*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: expected 'uxtw' or 'sxtw' with optional shift of #0 or #3
2497*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         ldr d3, [x20, wzr, uxtw #4]
2498*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                 ^
2499*9880d681SAndroid Build Coastguard Worker
2500*9880d681SAndroid Build Coastguard Worker        ldr q5, [sp, x2, lsl #-1]
2501*9880d681SAndroid Build Coastguard Worker        ldr q10, [x20, w4, uxtw #2]
2502*9880d681SAndroid Build Coastguard Worker        str q21, [x20, w4, uxtw #5]
2503*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: expected integer shift amount
2504*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         ldr q5, [sp, x2, lsl #-1]
2505*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                               ^
2506*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-AARCH64-NEXT: error: expected 'lsl' or 'sxtw' with optional shift of #0 or #4
2507*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-ARM64-NEXT: error: expected 'uxtw' or 'sxtw' with optional shift of #0 or #4
2508*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         ldr q10, [x20, w4, uxtw #2]
2509*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                  ^
2510*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-AARCH64-NEXT: error: expected 'lsl' or 'sxtw' with optional shift of #0 or #4
2511*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-ARM64-NEXT: error: expected 'uxtw' or 'sxtw' with optional shift of #0 or #4
2512*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         str q21, [x20, w4, uxtw #5]
2513*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                  ^
2514*9880d681SAndroid Build Coastguard Worker
2515*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------
2516*9880d681SAndroid Build Coastguard Worker// Load/store register pair (offset)
2517*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------
2518*9880d681SAndroid Build Coastguard Worker        ldp w3, w2, [x4, #1]
2519*9880d681SAndroid Build Coastguard Worker        stp w1, w2, [x3, #253]
2520*9880d681SAndroid Build Coastguard Worker        stp w9, w10, [x5, #256]
2521*9880d681SAndroid Build Coastguard Worker        ldp w11, w12, [x9, #-260]
2522*9880d681SAndroid Build Coastguard Worker        stp wsp, w9, [sp]
2523*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR: error: {{expected integer|index must be a}} multiple of 4 in range [-256, 252]
2524*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         ldp w3, w2, [x4, #1]
2525*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                          ^
2526*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected integer|index must be a}} multiple of 4 in range [-256, 252]
2527*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         stp w1, w2, [x3, #253]
2528*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                     ^
2529*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected integer|index must be a}} multiple of 4 in range [-256, 252]
2530*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         stp w9, w10, [x5, #256]
2531*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                      ^
2532*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected integer|index must be a}} multiple of 4 in range [-256, 252]
2533*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         ldp w11, w12, [x9, #-260]
2534*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                       ^
2535*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: invalid operand for instruction
2536*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         stp wsp, w9, [sp]
2537*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:             ^
2538*9880d681SAndroid Build Coastguard Worker
2539*9880d681SAndroid Build Coastguard Worker        ldpsw x9, x2, [sp, #2]
2540*9880d681SAndroid Build Coastguard Worker        ldpsw x1, x2, [x10, #256]
2541*9880d681SAndroid Build Coastguard Worker        ldpsw x3, x4, [x11, #-260]
2542*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR: error: {{expected integer|index must be a}} multiple of 4 in range [-256, 252]
2543*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         ldpsw x9, x2, [sp, #2]
2544*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                       ^
2545*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected integer|index must be a}} multiple of 4 in range [-256, 252]
2546*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         ldpsw x1, x2, [x10, #256]
2547*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                       ^
2548*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected integer|index must be a}} multiple of 4 in range [-256, 252]
2549*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         ldpsw x3, x4, [x11, #-260]
2550*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                       ^
2551*9880d681SAndroid Build Coastguard Worker
2552*9880d681SAndroid Build Coastguard Worker        ldp x2, x5, [sp, #4]
2553*9880d681SAndroid Build Coastguard Worker        ldp x5, x6, [x9, #512]
2554*9880d681SAndroid Build Coastguard Worker        stp x7, x8, [x10, #-520]
2555*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR: error: {{expected integer|index must be a}} multiple of 8 in range [-512, 504]
2556*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         ldp x2, x5, [sp, #4]
2557*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                     ^
2558*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected integer|index must be a}} multiple of 8 in range [-512, 504]
2559*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         ldp x5, x6, [x9, #512]
2560*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                     ^
2561*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected integer|index must be a}} multiple of 8 in range [-512, 504]
2562*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         stp x7, x8, [x10, #-520]
2563*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                     ^
2564*9880d681SAndroid Build Coastguard Worker
2565*9880d681SAndroid Build Coastguard Worker        ldp sp, x3, [x10]
2566*9880d681SAndroid Build Coastguard Worker        stp x3, sp, [x9]
2567*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR: error: invalid operand for instruction
2568*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         ldp sp, x3, [x10]
2569*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:             ^
2570*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: invalid operand for instruction
2571*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         stp x3, sp, [x9]
2572*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                 ^
2573*9880d681SAndroid Build Coastguard Worker
2574*9880d681SAndroid Build Coastguard Worker        stp s3, s5, [sp, #-2]
2575*9880d681SAndroid Build Coastguard Worker        ldp s6, s26, [x4, #-260]
2576*9880d681SAndroid Build Coastguard Worker        stp s13, s19, [x5, #256]
2577*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR: error: {{expected integer|index must be a}} multiple of 4 in range [-256, 252]
2578*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         stp s3, s5, [sp, #-2]
2579*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                     ^
2580*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected integer|index must be a}} multiple of 4 in range [-256, 252]
2581*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         ldp s6, s26, [x4, #-260]
2582*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                      ^
2583*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected integer|index must be a}} multiple of 4 in range [-256, 252]
2584*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         stp s13, s19, [x5, #256]
2585*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                       ^
2586*9880d681SAndroid Build Coastguard Worker
2587*9880d681SAndroid Build Coastguard Worker        ldp d3, d4, [xzr]
2588*9880d681SAndroid Build Coastguard Worker        ldp d5, d6, [x0, #512]
2589*9880d681SAndroid Build Coastguard Worker        stp d7, d8, [x0, #-520]
2590*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR: error: invalid operand for instruction
2591*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         ldp d3, d4, [xzr]
2592*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                      ^
2593*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected integer|index must be a}} multiple of 8 in range [-512, 504]
2594*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         ldp d5, d6, [x0, #512]
2595*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                     ^
2596*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected integer|index must be a}} multiple of 8 in range [-512, 504]
2597*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         stp d7, d8, [x0, #-520]
2598*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                     ^
2599*9880d681SAndroid Build Coastguard Worker
2600*9880d681SAndroid Build Coastguard Worker        ldp d3, q2, [sp]
2601*9880d681SAndroid Build Coastguard Worker        ldp q3, q5, [sp, #8]
2602*9880d681SAndroid Build Coastguard Worker        stp q20, q25, [x5, #1024]
2603*9880d681SAndroid Build Coastguard Worker        ldp q30, q15, [x23, #-1040]
2604*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR: error: invalid operand for instruction
2605*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         ldp d3, q2, [sp]
2606*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                 ^
2607*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected integer|index must be a}} multiple of 16 in range [-1024, 1008]
2608*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         ldp q3, q5, [sp, #8]
2609*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                     ^
2610*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected integer|index must be a}} multiple of 16 in range [-1024, 1008]
2611*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         stp q20, q25, [x5, #1024]
2612*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                       ^
2613*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected integer|index must be a}} multiple of 16 in range [-1024, 1008]
2614*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         ldp q30, q15, [x23, #-1040]
2615*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                       ^
2616*9880d681SAndroid Build Coastguard Worker
2617*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------
2618*9880d681SAndroid Build Coastguard Worker// Load/store register pair (post-indexed)
2619*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------
2620*9880d681SAndroid Build Coastguard Worker
2621*9880d681SAndroid Build Coastguard Worker        ldp w3, w2, [x4], #1
2622*9880d681SAndroid Build Coastguard Worker        stp w1, w2, [x3], #253
2623*9880d681SAndroid Build Coastguard Worker        stp w9, w10, [x5], #256
2624*9880d681SAndroid Build Coastguard Worker        ldp w11, w12, [x9], #-260
2625*9880d681SAndroid Build Coastguard Worker        stp wsp, w9, [sp], #0
2626*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR: error: {{expected integer|index must be a}} multiple of 4 in range [-256, 252]
2627*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         ldp w3, w2, [x4], #1
2628*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                           ^
2629*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected integer|index must be a}} multiple of 4 in range [-256, 252]
2630*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         stp w1, w2, [x3], #253
2631*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                     ^
2632*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected integer|index must be a}} multiple of 4 in range [-256, 252]
2633*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         stp w9, w10, [x5], #256
2634*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                      ^
2635*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected integer|index must be a}} multiple of 4 in range [-256, 252]
2636*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         ldp w11, w12, [x9], #-260
2637*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                       ^
2638*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: invalid operand for instruction
2639*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         stp wsp, w9, [sp], #0
2640*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:             ^
2641*9880d681SAndroid Build Coastguard Worker
2642*9880d681SAndroid Build Coastguard Worker        ldpsw x9, x2, [sp], #2
2643*9880d681SAndroid Build Coastguard Worker        ldpsw x1, x2, [x10], #256
2644*9880d681SAndroid Build Coastguard Worker        ldpsw x3, x4, [x11], #-260
2645*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR: error: {{expected integer|index must be a}} multiple of 4 in range [-256, 252]
2646*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         ldpsw x9, x2, [sp], #2
2647*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                       ^
2648*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected integer|index must be a}} multiple of 4 in range [-256, 252]
2649*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         ldpsw x1, x2, [x10], #256
2650*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                       ^
2651*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected integer|index must be a}} multiple of 4 in range [-256, 252]
2652*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         ldpsw x3, x4, [x11], #-260
2653*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                       ^
2654*9880d681SAndroid Build Coastguard Worker
2655*9880d681SAndroid Build Coastguard Worker        ldp x2, x5, [sp], #4
2656*9880d681SAndroid Build Coastguard Worker        ldp x5, x6, [x9], #512
2657*9880d681SAndroid Build Coastguard Worker        stp x7, x8, [x10], #-520
2658*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR: error: {{expected integer|index must be a}} multiple of 8 in range [-512, 504]
2659*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         ldp x2, x5, [sp], #4
2660*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                           ^
2661*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected integer|index must be a}} multiple of 8 in range [-512, 504]
2662*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         ldp x5, x6, [x9], #512
2663*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                           ^
2664*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected integer|index must be a}} multiple of 8 in range [-512, 504]
2665*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         stp x7, x8, [x10], #-520
2666*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                            ^
2667*9880d681SAndroid Build Coastguard Worker
2668*9880d681SAndroid Build Coastguard Worker        ldp sp, x3, [x10], #0
2669*9880d681SAndroid Build Coastguard Worker        stp x3, sp, [x9], #0
2670*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR: error: invalid operand for instruction
2671*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         ldp sp, x3, [x10], #0
2672*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:             ^
2673*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: invalid operand for instruction
2674*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         stp x3, sp, [x9], #0
2675*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                 ^
2676*9880d681SAndroid Build Coastguard Worker
2677*9880d681SAndroid Build Coastguard Worker        stp s3, s5, [sp], #-2
2678*9880d681SAndroid Build Coastguard Worker        ldp s6, s26, [x4], #-260
2679*9880d681SAndroid Build Coastguard Worker        stp s13, s19, [x5], #256
2680*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR: error: {{expected integer|index must be a}} multiple of 4 in range [-256, 252]
2681*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         stp s3, s5, [sp], #-2
2682*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                     ^
2683*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected integer|index must be a}} multiple of 4 in range [-256, 252]
2684*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         ldp s6, s26, [x4], #-260
2685*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                      ^
2686*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected integer|index must be a}} multiple of 4 in range [-256, 252]
2687*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         stp s13, s19, [x5], #256
2688*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                       ^
2689*9880d681SAndroid Build Coastguard Worker
2690*9880d681SAndroid Build Coastguard Worker        ldp d3, d4, [xzr], #0
2691*9880d681SAndroid Build Coastguard Worker        ldp d5, d6, [x0], #512
2692*9880d681SAndroid Build Coastguard Worker        stp d7, d8, [x0], #-520
2693*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR: error: invalid operand for instruction
2694*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         ldp d3, d4, [xzr], #0
2695*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                      ^
2696*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected integer|index must be a}} multiple of 8 in range [-512, 504]
2697*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         ldp d5, d6, [x0], #512
2698*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                     ^
2699*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected integer|index must be a}} multiple of 8 in range [-512, 504]
2700*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         stp d7, d8, [x0], #-520
2701*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                     ^
2702*9880d681SAndroid Build Coastguard Worker
2703*9880d681SAndroid Build Coastguard Worker        ldp d3, q2, [sp], #0
2704*9880d681SAndroid Build Coastguard Worker        ldp q3, q5, [sp], #8
2705*9880d681SAndroid Build Coastguard Worker        stp q20, q25, [x5], #1024
2706*9880d681SAndroid Build Coastguard Worker        ldp q30, q15, [x23], #-1040
2707*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR: error: invalid operand for instruction
2708*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         ldp d3, q2, [sp], #0
2709*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                 ^
2710*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected integer|index must be a}} multiple of 16 in range [-1024, 1008]
2711*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         ldp q3, q5, [sp], #8
2712*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                     ^
2713*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected integer|index must be a}} multiple of 16 in range [-1024, 1008]
2714*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         stp q20, q25, [x5], #1024
2715*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                       ^
2716*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected integer|index must be a}} multiple of 16 in range [-1024, 1008]
2717*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         ldp q30, q15, [x23], #-1040
2718*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                       ^
2719*9880d681SAndroid Build Coastguard Worker
2720*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------
2721*9880d681SAndroid Build Coastguard Worker// Load/store register pair (pre-indexed)
2722*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------
2723*9880d681SAndroid Build Coastguard Worker
2724*9880d681SAndroid Build Coastguard Worker        ldp w3, w2, [x4, #1]!
2725*9880d681SAndroid Build Coastguard Worker        stp w1, w2, [x3, #253]!
2726*9880d681SAndroid Build Coastguard Worker        stp w9, w10, [x5, #256]!
2727*9880d681SAndroid Build Coastguard Worker        ldp w11, w12, [x9, #-260]!
2728*9880d681SAndroid Build Coastguard Worker        stp wsp, w9, [sp, #0]!
2729*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR: error: {{expected integer|index must be a}} multiple of 4 in range [-256, 252]
2730*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         ldp w3, w2, [x4, #1]!
2731*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                           ^
2732*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected integer|index must be a}} multiple of 4 in range [-256, 252]
2733*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         stp w1, w2, [x3, #253]!
2734*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                     ^
2735*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected integer|index must be a}} multiple of 4 in range [-256, 252]
2736*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         stp w9, w10, [x5, #256]!
2737*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                      ^
2738*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected integer|index must be a}} multiple of 4 in range [-256, 252]
2739*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         ldp w11, w12, [x9, #-260]!
2740*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                       ^
2741*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: invalid operand for instruction
2742*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         stp wsp, w9, [sp, #0]!
2743*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:             ^
2744*9880d681SAndroid Build Coastguard Worker
2745*9880d681SAndroid Build Coastguard Worker        ldpsw x9, x2, [sp, #2]!
2746*9880d681SAndroid Build Coastguard Worker        ldpsw x1, x2, [x10, #256]!
2747*9880d681SAndroid Build Coastguard Worker        ldpsw x3, x4, [x11, #-260]!
2748*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR: error: {{expected integer|index must be a}} multiple of 4 in range [-256, 252]
2749*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         ldpsw x9, x2, [sp, #2]!
2750*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                       ^
2751*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected integer|index must be a}} multiple of 4 in range [-256, 252]
2752*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         ldpsw x1, x2, [x10, #256]!
2753*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                       ^
2754*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected integer|index must be a}} multiple of 4 in range [-256, 252]
2755*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         ldpsw x3, x4, [x11, #-260]!
2756*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                       ^
2757*9880d681SAndroid Build Coastguard Worker
2758*9880d681SAndroid Build Coastguard Worker        ldp x2, x5, [sp, #4]!
2759*9880d681SAndroid Build Coastguard Worker        ldp x5, x6, [x9, #512]!
2760*9880d681SAndroid Build Coastguard Worker        stp x7, x8, [x10, #-520]!
2761*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR: error: {{expected integer|index must be a}} multiple of 8 in range [-512, 504]
2762*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         ldp x2, x5, [sp, #4]!
2763*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                     ^
2764*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected integer|index must be a}} multiple of 8 in range [-512, 504]
2765*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         ldp x5, x6, [x9, #512]!
2766*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                     ^
2767*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected integer|index must be a}} multiple of 8 in range [-512, 504]
2768*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         stp x7, x8, [x10, #-520]!
2769*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                     ^
2770*9880d681SAndroid Build Coastguard Worker
2771*9880d681SAndroid Build Coastguard Worker        ldp sp, x3, [x10, #0]!
2772*9880d681SAndroid Build Coastguard Worker        stp x3, sp, [x9, #0]!
2773*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR: error: invalid operand for instruction
2774*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         ldp sp, x3, [x10, #0]!
2775*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:             ^
2776*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: invalid operand for instruction
2777*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         stp x3, sp, [x9, #0]!
2778*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                 ^
2779*9880d681SAndroid Build Coastguard Worker
2780*9880d681SAndroid Build Coastguard Worker        stp s3, s5, [sp, #-2]!
2781*9880d681SAndroid Build Coastguard Worker        ldp s6, s26, [x4, #-260]!
2782*9880d681SAndroid Build Coastguard Worker        stp s13, s19, [x5, #256]!
2783*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR: error: {{expected integer|index must be a}} multiple of 4 in range [-256, 252]
2784*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         stp s3, s5, [sp, #-2]!
2785*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                     ^
2786*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected integer|index must be a}} multiple of 4 in range [-256, 252]
2787*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         ldp s6, s26, [x4, #-260]!
2788*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                      ^
2789*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected integer|index must be a}} multiple of 4 in range [-256, 252]
2790*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         stp s13, s19, [x5, #256]!
2791*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                       ^
2792*9880d681SAndroid Build Coastguard Worker
2793*9880d681SAndroid Build Coastguard Worker        ldp d3, d4, [xzr, #0]!
2794*9880d681SAndroid Build Coastguard Worker        ldp d5, d6, [x0, #512]!
2795*9880d681SAndroid Build Coastguard Worker        stp d7, d8, [x0, #-520]!
2796*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR: error: invalid operand for instruction
2797*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         ldp d3, d4, [xzr, #0]!
2798*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                      ^
2799*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected integer|index must be a}} multiple of 8 in range [-512, 504]
2800*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         ldp d5, d6, [x0, #512]!
2801*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                     ^
2802*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected integer|index must be a}} multiple of 8 in range [-512, 504]
2803*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         stp d7, d8, [x0, #-520]!
2804*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                     ^
2805*9880d681SAndroid Build Coastguard Worker
2806*9880d681SAndroid Build Coastguard Worker        ldp d3, q2, [sp, #0]!
2807*9880d681SAndroid Build Coastguard Worker        ldp q3, q5, [sp, #8]!
2808*9880d681SAndroid Build Coastguard Worker        stp q20, q25, [x5, #1024]!
2809*9880d681SAndroid Build Coastguard Worker        ldp q30, q15, [x23, #-1040]!
2810*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR: error: invalid operand for instruction
2811*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         ldp d3, q2, [sp, #0]!
2812*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                 ^
2813*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected integer|index must be a}} multiple of 16 in range [-1024, 1008]
2814*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         ldp q3, q5, [sp, #8]!
2815*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                     ^
2816*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected integer|index must be a}} multiple of 16 in range [-1024, 1008]
2817*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         stp q20, q25, [x5, #1024]!
2818*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                       ^
2819*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected integer|index must be a}} multiple of 16 in range [-1024, 1008]
2820*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         ldp q30, q15, [x23, #-1040]!
2821*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                       ^
2822*9880d681SAndroid Build Coastguard Worker
2823*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------
2824*9880d681SAndroid Build Coastguard Worker// Load/store register pair (offset)
2825*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------
2826*9880d681SAndroid Build Coastguard Worker        ldnp w3, w2, [x4, #1]
2827*9880d681SAndroid Build Coastguard Worker        stnp w1, w2, [x3, #253]
2828*9880d681SAndroid Build Coastguard Worker        stnp w9, w10, [x5, #256]
2829*9880d681SAndroid Build Coastguard Worker        ldnp w11, w12, [x9, #-260]
2830*9880d681SAndroid Build Coastguard Worker        stnp wsp, w9, [sp]
2831*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR: error: {{expected integer|index must be a}} multiple of 4 in range [-256, 252]
2832*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         ldnp w3, w2, [x4, #1]
2833*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                           ^
2834*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected integer|index must be a}} multiple of 4 in range [-256, 252]
2835*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         stnp w1, w2, [x3, #253]
2836*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                           ^
2837*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected integer|index must be a}} multiple of 4 in range [-256, 252]
2838*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         stnp w9, w10, [x5, #256]
2839*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                            ^
2840*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected integer|index must be a}} multiple of 4 in range [-256, 252]
2841*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         ldnp w11, w12, [x9, #-260]
2842*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                             ^
2843*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: invalid operand for instruction
2844*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         stnp wsp, w9, [sp]
2845*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:              ^
2846*9880d681SAndroid Build Coastguard Worker
2847*9880d681SAndroid Build Coastguard Worker        ldnp x2, x5, [sp, #4]
2848*9880d681SAndroid Build Coastguard Worker        ldnp x5, x6, [x9, #512]
2849*9880d681SAndroid Build Coastguard Worker        stnp x7, x8, [x10, #-520]
2850*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR: error: {{expected integer|index must be a}} multiple of 8 in range [-512, 504]
2851*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         ldnp x2, x5, [sp, #4]
2852*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                           ^
2853*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected integer|index must be a}} multiple of 8 in range [-512, 504]
2854*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         ldnp x5, x6, [x9, #512]
2855*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                           ^
2856*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected integer|index must be a}} multiple of 8 in range [-512, 504]
2857*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         stnp x7, x8, [x10, #-520]
2858*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                            ^
2859*9880d681SAndroid Build Coastguard Worker
2860*9880d681SAndroid Build Coastguard Worker        ldnp sp, x3, [x10]
2861*9880d681SAndroid Build Coastguard Worker        stnp x3, sp, [x9]
2862*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR: error: invalid operand for instruction
2863*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         ldnp sp, x3, [x10]
2864*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:             ^
2865*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: invalid operand for instruction
2866*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         stnp x3, sp, [x9]
2867*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                 ^
2868*9880d681SAndroid Build Coastguard Worker
2869*9880d681SAndroid Build Coastguard Worker        stnp s3, s5, [sp, #-2]
2870*9880d681SAndroid Build Coastguard Worker        ldnp s6, s26, [x4, #-260]
2871*9880d681SAndroid Build Coastguard Worker        stnp s13, s19, [x5, #256]
2872*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR: error: {{expected integer|index must be a}} multiple of 4 in range [-256, 252]
2873*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         stnp s3, s5, [sp, #-2]
2874*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                     ^
2875*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected integer|index must be a}} multiple of 4 in range [-256, 252]
2876*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         ldnp s6, s26, [x4, #-260]
2877*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                      ^
2878*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected integer|index must be a}} multiple of 4 in range [-256, 252]
2879*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         stnp s13, s19, [x5, #256]
2880*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                       ^
2881*9880d681SAndroid Build Coastguard Worker
2882*9880d681SAndroid Build Coastguard Worker        ldnp d3, d4, [xzr]
2883*9880d681SAndroid Build Coastguard Worker        ldnp d5, d6, [x0, #512]
2884*9880d681SAndroid Build Coastguard Worker        stnp d7, d8, [x0, #-520]
2885*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR: error: invalid operand for instruction
2886*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         ldnp d3, d4, [xzr]
2887*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                      ^
2888*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected integer|index must be a}} multiple of 8 in range [-512, 504]
2889*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         ldnp d5, d6, [x0, #512]
2890*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                     ^
2891*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected integer|index must be a}} multiple of 8 in range [-512, 504]
2892*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         stnp d7, d8, [x0, #-520]
2893*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                     ^
2894*9880d681SAndroid Build Coastguard Worker
2895*9880d681SAndroid Build Coastguard Worker        ldnp d3, q2, [sp]
2896*9880d681SAndroid Build Coastguard Worker        ldnp q3, q5, [sp, #8]
2897*9880d681SAndroid Build Coastguard Worker        stnp q20, q25, [x5, #1024]
2898*9880d681SAndroid Build Coastguard Worker        ldnp q30, q15, [x23, #-1040]
2899*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR: error: invalid operand for instruction
2900*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         ldnp d3, q2, [sp]
2901*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                 ^
2902*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected integer|index must be a}} multiple of 16 in range [-1024, 1008]
2903*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         ldnp q3, q5, [sp, #8]
2904*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                     ^
2905*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected integer|index must be a}} multiple of 16 in range [-1024, 1008]
2906*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         stnp q20, q25, [x5, #1024]
2907*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                       ^
2908*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected integer|index must be a}} multiple of 16 in range [-1024, 1008]
2909*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         ldnp q30, q15, [x23, #-1040]
2910*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                       ^
2911*9880d681SAndroid Build Coastguard Worker
2912*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------
2913*9880d681SAndroid Build Coastguard Worker// Logical (shifted register)
2914*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------
2915*9880d681SAndroid Build Coastguard Worker        orr w0, w1, #0xffffffff
2916*9880d681SAndroid Build Coastguard Worker        and x3, x5, #0xffffffffffffffff
2917*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR: error: expected compatible register or logical immediate
2918*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         orr w0, w1, #0xffffffff
2919*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                     ^
2920*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: expected compatible register or logical immediate
2921*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         and x3, x5, #0xffffffffffffffff
2922*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                     ^
2923*9880d681SAndroid Build Coastguard Worker
2924*9880d681SAndroid Build Coastguard Worker        ands w3, w9, #0x0
2925*9880d681SAndroid Build Coastguard Worker        eor x2, x0, #0x0
2926*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR: error: expected compatible register or logical immediate
2927*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         ands w3, w9, #0x0
2928*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                      ^
2929*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: expected compatible register or logical immediate
2930*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         eor x2, x0, #0x0
2931*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                     ^
2932*9880d681SAndroid Build Coastguard Worker
2933*9880d681SAndroid Build Coastguard Worker        eor w3, w5, #0x83
2934*9880d681SAndroid Build Coastguard Worker        eor x9, x20, #0x1234
2935*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR: error: expected compatible register or logical immediate
2936*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         eor w3, w5, #0x83
2937*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                     ^
2938*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: expected compatible register or logical immediate
2939*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         eor x9, x20, #0x1234
2940*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                      ^
2941*9880d681SAndroid Build Coastguard Worker
2942*9880d681SAndroid Build Coastguard Worker        and wzr, w4, 0xffff0000
2943*9880d681SAndroid Build Coastguard Worker        eor xzr, x9, #0xffff0000ffff0000
2944*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR: error: invalid operand for instruction
2945*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         and wzr, w4, 0xffff0000
2946*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                      ^
2947*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: invalid operand for instruction
2948*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         eor xzr, x9, #0xffff0000ffff0000
2949*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                      ^
2950*9880d681SAndroid Build Coastguard Worker
2951*9880d681SAndroid Build Coastguard Worker        orr w3, wsp, #0xf0f0f0f0
2952*9880d681SAndroid Build Coastguard Worker        ands x3, sp, #0xaaaaaaaaaaaaaaaa
2953*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR: error: invalid operand for instruction
2954*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         orr w3, wsp, #0xf0f0f0f0
2955*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                 ^
2956*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: invalid operand for instruction
2957*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         ands x3, sp, #0xaaaaaaaaaaaaaaaa
2958*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                  ^
2959*9880d681SAndroid Build Coastguard Worker
2960*9880d681SAndroid Build Coastguard Worker        tst sp, #0xe0e0e0e0e0e0e0e0
2961*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR: error: invalid operand for instruction
2962*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         tst sp, #0xe0e0e0e0e0e0e0e0
2963*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:             ^
2964*9880d681SAndroid Build Coastguard Worker
2965*9880d681SAndroid Build Coastguard Worker        // movi has been removed from the specification. Make sure it's really gone.
2966*9880d681SAndroid Build Coastguard Worker        movi wzr, #0x44444444
2967*9880d681SAndroid Build Coastguard Worker        movi w3, #0xffff
2968*9880d681SAndroid Build Coastguard Worker        movi x9, #0x0000ffff00000000
2969*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR: error: invalid operand for instruction
2970*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         movi wzr, #0x44444444
2971*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         ^
2972*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR: error: invalid operand for instruction
2973*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         movi w3, #0xffff
2974*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         ^
2975*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR: error: invalid operand for instruction
2976*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         movi x9, #0x0000ffff00000000
2977*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         ^
2978*9880d681SAndroid Build Coastguard Worker
2979*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------
2980*9880d681SAndroid Build Coastguard Worker// Logical (shifted register)
2981*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------
2982*9880d681SAndroid Build Coastguard Worker
2983*9880d681SAndroid Build Coastguard Worker        //// Out of range shifts
2984*9880d681SAndroid Build Coastguard Worker        and w2, w24, w6, lsl #-1
2985*9880d681SAndroid Build Coastguard Worker        and w4, w6, w12, lsl #32
2986*9880d681SAndroid Build Coastguard Worker        and x4, x6, x12, lsl #64
2987*9880d681SAndroid Build Coastguard Worker        and x2, x5, x11, asr
2988*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR: error: expected integer shift amount
2989*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         and w2, w24, w6, lsl #-1
2990*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                               ^
2991*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: expected 'lsl', 'lsr' or 'asr' with optional integer in range [0, 31]
2992*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         and w4, w6, w12, lsl #32
2993*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                          ^
2994*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: expected 'lsl', 'lsr' or 'asr' with optional integer in range [0, 63]
2995*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         and x4, x6, x12, lsl #64
2996*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                          ^
2997*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: expected #imm after shift specifier
2998*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         and x2, x5, x11, asr
2999*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                             ^
3000*9880d681SAndroid Build Coastguard Worker
3001*9880d681SAndroid Build Coastguard Worker        //// sp not allowed
3002*9880d681SAndroid Build Coastguard Worker        orn wsp, w3, w5
3003*9880d681SAndroid Build Coastguard Worker        bics x20, sp, x9, lsr #0
3004*9880d681SAndroid Build Coastguard Worker        orn x2, x6, sp, lsl #3
3005*9880d681SAndroid Build Coastguard Worker// FIXME: the diagnostic we get for 'orn wsp, w3, w5' is from the orn alias,
3006*9880d681SAndroid Build Coastguard Worker// which is a better match than the genuine ORNWri, whereas it would be better
3007*9880d681SAndroid Build Coastguard Worker// to get the ORNWri diagnostic when the alias did not match, i.e. the
3008*9880d681SAndroid Build Coastguard Worker// alias' diagnostics should have a lower priority.
3009*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR: error: expected compatible register or logical immediate
3010*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         orn wsp, w3, w5
3011*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                      ^
3012*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: invalid operand for instruction
3013*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         bics x20, sp, x9, lsr #0
3014*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                   ^
3015*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: expected compatible register or logical immediate
3016*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         orn x2, x6, sp, lsl #3
3017*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                     ^
3018*9880d681SAndroid Build Coastguard Worker
3019*9880d681SAndroid Build Coastguard Worker        //// Mismatched registers
3020*9880d681SAndroid Build Coastguard Worker        and x3, w2, w1
3021*9880d681SAndroid Build Coastguard Worker        ands w1, x12, w2
3022*9880d681SAndroid Build Coastguard Worker        and x4, x5, w6, lsl #12
3023*9880d681SAndroid Build Coastguard Worker        orr w2, w5, x7, asr #0
3024*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR: error: invalid operand for instruction
3025*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         and x3, w2, w1
3026*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                 ^
3027*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: invalid operand for instruction
3028*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         ands w1, x12, w2
3029*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                  ^
3030*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: expected compatible register or logical immediate
3031*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         and x4, x5, w6, lsl #12
3032*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                     ^
3033*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: expected compatible register or logical immediate
3034*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         orr w2, w5, x7, asr #0
3035*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                     ^
3036*9880d681SAndroid Build Coastguard Worker
3037*9880d681SAndroid Build Coastguard Worker        //// Shifts should not be allowed on mov
3038*9880d681SAndroid Build Coastguard Worker        mov w3, w7, lsl #13
3039*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR: error: invalid operand for instruction
3040*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         mov w3, w7, lsl #13
3041*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                     ^
3042*9880d681SAndroid Build Coastguard Worker
3043*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------
3044*9880d681SAndroid Build Coastguard Worker// Move wide (immediate)
3045*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------
3046*9880d681SAndroid Build Coastguard Worker
3047*9880d681SAndroid Build Coastguard Worker        movz w3, #65536, lsl #0
3048*9880d681SAndroid Build Coastguard Worker        movz w4, #65536
3049*9880d681SAndroid Build Coastguard Worker        movn w1, #2, lsl #1
3050*9880d681SAndroid Build Coastguard Worker        movk w3, #0, lsl #-1
3051*9880d681SAndroid Build Coastguard Worker        movn w2, #-1, lsl #0
3052*9880d681SAndroid Build Coastguard Worker        movz x3, #-1
3053*9880d681SAndroid Build Coastguard Worker        movk w3, #1, lsl #32
3054*9880d681SAndroid Build Coastguard Worker        movn x2, #12, lsl #64
3055*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR: error: {{expected relocated symbol or|immediate must be an}} integer in range [0, 65535]
3056*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         movz w3, #65536, lsl #0
3057*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                  ^
3058*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected relocated symbol or|immediate must be an}} integer in range [0, 65535]
3059*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         movz w4, #65536
3060*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                  ^
3061*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-AARCH64-NEXT: error: expected relocated symbol or integer in range [0, 65535]
3062*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-ARM64-NEXT: error: expected 'lsl' with optional integer 0 or 16
3063*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         movn w1, #2, lsl #1
3064*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                  ^
3065*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-AARCH64-NEXT: error: only 'lsl #+N' valid after immediate
3066*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-ARM64-NEXT: error: expected integer shift amount
3067*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         movk w3, #0, lsl #-1
3068*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                           ^
3069*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected relocated symbol or|immediate must be an}} integer in range [0, 65535]
3070*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         movn w2, #-1, lsl #0
3071*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                  ^
3072*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected relocated symbol or|immediate must be an}} integer in range [0, 65535]
3073*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         movz x3, #-1
3074*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                  ^
3075*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-AARCH64-NEXT: error: expected relocated symbol or integer in range [0, 65535]
3076*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-ARM64-NEXT: error: expected 'lsl' with optional integer 0 or 16
3077*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         movk w3, #1, lsl #32
3078*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                  ^
3079*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-AARCH64-NEXT: error: expected relocated symbol or integer in range [0, 65535]
3080*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-ARM64-NEXT: error: expected 'lsl' with optional integer 0, 16, 32 or 48
3081*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         movn x2, #12, lsl #64
3082*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                  ^
3083*9880d681SAndroid Build Coastguard Worker
3084*9880d681SAndroid Build Coastguard Worker        movz x12, #:abs_g0:sym, lsl #16
3085*9880d681SAndroid Build Coastguard Worker        movz x12, #:abs_g0:sym, lsl #0
3086*9880d681SAndroid Build Coastguard Worker        movn x2, #:abs_g0:sym
3087*9880d681SAndroid Build Coastguard Worker        movk w3, #:abs_g0:sym
3088*9880d681SAndroid Build Coastguard Worker        movz x3, #:abs_g0_nc:sym
3089*9880d681SAndroid Build Coastguard Worker        movn x4, #:abs_g0_nc:sym
3090*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR: error: {{expected relocated symbol or|immediate must be an}} integer in range [0, 65535]
3091*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         movz x12, #:abs_g0:sym, lsl #16
3092*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                                 ^
3093*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected relocated symbol or|immediate must be an}} integer in range [0, 65535]
3094*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         movz x12, #:abs_g0:sym, lsl #0
3095*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                                 ^
3096*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-AARCH64-NEXT: error: {{expected relocated symbol or|immediate must be an}} integer in range [0, 65535]
3097*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-AARCH64-NEXT:         movn x2, #:abs_g0:sym
3098*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-AARCH64-NEXT:                  ^
3099*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected relocated symbol or|immediate must be an}} integer in range [0, 65535]
3100*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         movk w3, #:abs_g0:sym
3101*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                  ^
3102*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected relocated symbol or|immediate must be an}} integer in range [0, 65535]
3103*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         movz x3, #:abs_g0_nc:sym
3104*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                  ^
3105*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected relocated symbol or|immediate must be an}} integer in range [0, 65535]
3106*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         movn x4, #:abs_g0_nc:sym
3107*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                  ^
3108*9880d681SAndroid Build Coastguard Worker
3109*9880d681SAndroid Build Coastguard Worker        movn x2, #:abs_g1:sym
3110*9880d681SAndroid Build Coastguard Worker        movk w3, #:abs_g1:sym
3111*9880d681SAndroid Build Coastguard Worker        movz x3, #:abs_g1_nc:sym
3112*9880d681SAndroid Build Coastguard Worker        movn x4, #:abs_g1_nc:sym
3113*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-AARCH64: error: {{expected relocated symbol or|immediate must be an}} integer in range [0, 65535]
3114*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-AARCH64-NEXT:         movn x2, #:abs_g1:sym
3115*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-AARCH64-NEXT:                  ^
3116*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected relocated symbol or|immediate must be an}} integer in range [0, 65535]
3117*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         movk w3, #:abs_g1:sym
3118*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                  ^
3119*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected relocated symbol or|immediate must be an}} integer in range [0, 65535]
3120*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         movz x3, #:abs_g1_nc:sym
3121*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                  ^
3122*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected relocated symbol or|immediate must be an}} integer in range [0, 65535]
3123*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         movn x4, #:abs_g1_nc:sym
3124*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                  ^
3125*9880d681SAndroid Build Coastguard Worker
3126*9880d681SAndroid Build Coastguard Worker        movz w12, #:abs_g2:sym
3127*9880d681SAndroid Build Coastguard Worker        movn x12, #:abs_g2:sym
3128*9880d681SAndroid Build Coastguard Worker        movk x13, #:abs_g2:sym
3129*9880d681SAndroid Build Coastguard Worker        movk w3, #:abs_g2_nc:sym
3130*9880d681SAndroid Build Coastguard Worker        movz x13, #:abs_g2_nc:sym
3131*9880d681SAndroid Build Coastguard Worker        movn x24, #:abs_g2_nc:sym
3132*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR: error: {{expected relocated symbol or|immediate must be an}} integer in range [0, 65535]
3133*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         movz w12, #:abs_g2:sym
3134*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                   ^
3135*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-AARCH64-NEXT: error: {{expected relocated symbol or|immediate must be an}} integer in range [0, 65535]
3136*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-AARCH64-NEXT:         movn x12, #:abs_g2:sym
3137*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-AARCH64-NEXT:                   ^
3138*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected relocated symbol or|immediate must be an}} integer in range [0, 65535]
3139*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         movk x13, #:abs_g2:sym
3140*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                   ^
3141*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected relocated symbol or|immediate must be an}} integer in range [0, 65535]
3142*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         movk w3, #:abs_g2_nc:sym
3143*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                  ^
3144*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected relocated symbol or|immediate must be an}} integer in range [0, 65535]
3145*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         movz x13, #:abs_g2_nc:sym
3146*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                   ^
3147*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected relocated symbol or|immediate must be an}} integer in range [0, 65535]
3148*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         movn x24, #:abs_g2_nc:sym
3149*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                   ^
3150*9880d681SAndroid Build Coastguard Worker
3151*9880d681SAndroid Build Coastguard Worker        movn x19, #:abs_g3:sym
3152*9880d681SAndroid Build Coastguard Worker        movz w20, #:abs_g3:sym
3153*9880d681SAndroid Build Coastguard Worker        movk w21, #:abs_g3:sym
3154*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-AARCH64: error: {{expected relocated symbol or|immediate must be an}} integer in range [0, 65535]
3155*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-AARCH64-NEXT:         movn x19, #:abs_g3:sym
3156*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-AARCH64-NEXT:                   ^
3157*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected relocated symbol or|immediate must be an}} integer in range [0, 65535]
3158*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         movz w20, #:abs_g3:sym
3159*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                   ^
3160*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected relocated symbol or|immediate must be an}} integer in range [0, 65535]
3161*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         movk w21, #:abs_g3:sym
3162*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                   ^
3163*9880d681SAndroid Build Coastguard Worker
3164*9880d681SAndroid Build Coastguard Worker        movk x19, #:abs_g0_s:sym
3165*9880d681SAndroid Build Coastguard Worker        movk w23, #:abs_g0_s:sym
3166*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR: error: {{expected relocated symbol or|immediate must be an}} integer in range [0, 65535]
3167*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         movk x19, #:abs_g0_s:sym
3168*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                   ^
3169*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected relocated symbol or|immediate must be an}} integer in range [0, 65535]
3170*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         movk w23, #:abs_g0_s:sym
3171*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                   ^
3172*9880d681SAndroid Build Coastguard Worker
3173*9880d681SAndroid Build Coastguard Worker        movk x19, #:abs_g1_s:sym
3174*9880d681SAndroid Build Coastguard Worker        movk w23, #:abs_g1_s:sym
3175*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR: error: {{expected relocated symbol or|immediate must be an}} integer in range [0, 65535]
3176*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         movk x19, #:abs_g1_s:sym
3177*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                   ^
3178*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected relocated symbol or|immediate must be an}} integer in range [0, 65535]
3179*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         movk w23, #:abs_g1_s:sym
3180*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                   ^
3181*9880d681SAndroid Build Coastguard Worker
3182*9880d681SAndroid Build Coastguard Worker        movz w2, #:abs_g2_s:sym
3183*9880d681SAndroid Build Coastguard Worker        movn w29, #:abs_g2_s:sym
3184*9880d681SAndroid Build Coastguard Worker        movk x19, #:abs_g2_s:sym
3185*9880d681SAndroid Build Coastguard Worker        movk w23, #:abs_g2_s:sym
3186*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR: error: {{expected relocated symbol or|immediate must be an}} integer in range [0, 65535]
3187*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         movz w2, #:abs_g2_s:sym
3188*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                    ^
3189*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected relocated symbol or|immediate must be an}} integer in range [0, 65535]
3190*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         movn w29, #:abs_g2_s:sym
3191*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                   ^
3192*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected relocated symbol or|immediate must be an}} integer in range [0, 65535]
3193*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         movk x19, #:abs_g2_s:sym
3194*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                   ^
3195*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected relocated symbol or|immediate must be an}} integer in range [0, 65535]
3196*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         movk w23, #:abs_g2_s:sym
3197*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                   ^
3198*9880d681SAndroid Build Coastguard Worker
3199*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------
3200*9880d681SAndroid Build Coastguard Worker// PC-relative addressing
3201*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------
3202*9880d681SAndroid Build Coastguard Worker
3203*9880d681SAndroid Build Coastguard Worker        adr sp, loc             // expects xzr
3204*9880d681SAndroid Build Coastguard Worker        adrp x3, #20            // Immediate unaligned
3205*9880d681SAndroid Build Coastguard Worker        adrp w2, loc            // 64-bit register needed
3206*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR: error: invalid operand for instruction
3207*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         adr sp, loc
3208*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:             ^
3209*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: expected label or encodable integer pc offset
3210*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         adrp x3, #20
3211*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                  ^
3212*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: invalid operand for instruction
3213*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         adrp w2, loc
3214*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:              ^
3215*9880d681SAndroid Build Coastguard Worker
3216*9880d681SAndroid Build Coastguard Worker        adr x9, #1048576
3217*9880d681SAndroid Build Coastguard Worker        adr x2, #-1048577
3218*9880d681SAndroid Build Coastguard Worker        adrp x9, #4294967296
3219*9880d681SAndroid Build Coastguard Worker        adrp x20, #-4294971392
3220*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR: error: expected label or encodable integer pc offset
3221*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         adr x9, #1048576
3222*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                 ^
3223*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: expected label or encodable integer pc offset
3224*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         adr x2, #-1048577
3225*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                  ^
3226*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: expected label or encodable integer pc offset
3227*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         adrp x9, #4294967296
3228*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                  ^
3229*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: expected label or encodable integer pc offset
3230*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         adrp x20, #-4294971392
3231*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                   ^
3232*9880d681SAndroid Build Coastguard Worker
3233*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------
3234*9880d681SAndroid Build Coastguard Worker// System
3235*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------
3236*9880d681SAndroid Build Coastguard Worker
3237*9880d681SAndroid Build Coastguard Worker        hint #-1
3238*9880d681SAndroid Build Coastguard Worker        hint #128
3239*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR: error: {{expected|immediate must be an}} integer in range [0, 127]
3240*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         hint #-1
3241*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:              ^
3242*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 127]
3243*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         hint #128
3244*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:              ^
3245*9880d681SAndroid Build Coastguard Worker
3246*9880d681SAndroid Build Coastguard Worker        clrex #-1
3247*9880d681SAndroid Build Coastguard Worker        clrex #16
3248*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 15]
3249*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         clrex #-1
3250*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:               ^
3251*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 15]
3252*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         clrex #16
3253*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:               ^
3254*9880d681SAndroid Build Coastguard Worker
3255*9880d681SAndroid Build Coastguard Worker        dsb #-1
3256*9880d681SAndroid Build Coastguard Worker        dsb #16
3257*9880d681SAndroid Build Coastguard Worker        dmb #-1
3258*9880d681SAndroid Build Coastguard Worker        dmb #16
3259*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{Invalid immediate for instruction|barrier operand out of range}}
3260*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         dsb #-1
3261*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:             ^
3262*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{Invalid immediate for instruction|barrier operand out of range}}
3263*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         dsb #16
3264*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:             ^
3265*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{Invalid immediate for instruction|barrier operand out of range}}
3266*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         dmb #-1
3267*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:             ^
3268*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{Invalid immediate for instruction|barrier operand out of range}}
3269*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         dmb #16
3270*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:             ^
3271*9880d681SAndroid Build Coastguard Worker
3272*9880d681SAndroid Build Coastguard Worker        isb #-1
3273*9880d681SAndroid Build Coastguard Worker        isb #16
3274*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{Invalid immediate for instruction|barrier operand out of range}}
3275*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         isb #-1
3276*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:             ^
3277*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{Invalid immediate for instruction|barrier operand out of range}}
3278*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         isb #16
3279*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:             ^
3280*9880d681SAndroid Build Coastguard Worker
3281*9880d681SAndroid Build Coastguard Worker        msr daifset, x4
3282*9880d681SAndroid Build Coastguard Worker        msr spsel, #-1
3283*9880d681SAndroid Build Coastguard Worker        msr spsel #-1
3284*9880d681SAndroid Build Coastguard Worker        msr daifclr, #16
3285*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 15]
3286*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         msr daifset, x4
3287*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                      ^
3288*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 15]
3289*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         msr spsel, #-1
3290*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                    ^
3291*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected comma before next operand|unexpected token in argument list}}
3292*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         msr spsel #-1
3293*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                   ^
3294*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 15]
3295*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         msr daifclr, #16
3296*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                      ^
3297*9880d681SAndroid Build Coastguard Worker
3298*9880d681SAndroid Build Coastguard Worker        sys #8, c1, c2, #7, x9
3299*9880d681SAndroid Build Coastguard Worker        sys #3, c16, c2, #3, x10
3300*9880d681SAndroid Build Coastguard Worker        sys #2, c11, c16, #5
3301*9880d681SAndroid Build Coastguard Worker        sys #4, c9, c8, #8, xzr
3302*9880d681SAndroid Build Coastguard Worker        sysl x11, #8, c1, c2, #7
3303*9880d681SAndroid Build Coastguard Worker        sysl x13, #3, c16, c2, #3
3304*9880d681SAndroid Build Coastguard Worker        sysl x9, #2, c11, c16, #5
3305*9880d681SAndroid Build Coastguard Worker        sysl x4, #4, c9, c8, #8
3306*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error:  {{expected|immediate must be an}} integer in range [0, 7]
3307*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         sys #8, c1, c2, #7, x9
3308*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:             ^
3309*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: Expected cN operand where 0 <= N <= 15
3310*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         sys #3, c16, c2, #3, x10
3311*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                 ^
3312*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: Expected cN operand where 0 <= N <= 15
3313*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         sys #2, c11, c16, #5
3314*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                      ^
3315*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 7]
3316*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         sys #4, c9, c8, #8, xzr
3317*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                         ^
3318*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 7]
3319*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         sysl x11, #8, c1, c2, #7
3320*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                   ^
3321*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: Expected cN operand where 0 <= N <= 15
3322*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         sysl x13, #3, c16, c2, #3
3323*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                       ^
3324*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: Expected cN operand where 0 <= N <= 15
3325*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         sysl x9, #2, c11, c16, #5
3326*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                           ^
3327*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 7]
3328*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         sysl x4, #4, c9, c8, #8
3329*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                              ^
3330*9880d681SAndroid Build Coastguard Worker
3331*9880d681SAndroid Build Coastguard Worker        ic ialluis, x2
3332*9880d681SAndroid Build Coastguard Worker        ic allu, x7
3333*9880d681SAndroid Build Coastguard Worker        ic ivau
3334*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: specified {{IC|ic}} op does not use a register
3335*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         ic ialluis, x2
3336*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                     ^
3337*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-AARCH64-NEXT: error: operand specifier not recognised
3338*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-ARM64-NEXT: error: invalid operand for IC instruction
3339*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         ic allu, x7
3340*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:            ^
3341*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: specified {{IC|ic}} op requires a register
3342*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         ic ivau
3343*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:            ^
3344*9880d681SAndroid Build Coastguard Worker
3345*9880d681SAndroid Build Coastguard Worker        tlbi IPAS2E1IS
3346*9880d681SAndroid Build Coastguard Worker        tlbi IPAS2LE1IS
3347*9880d681SAndroid Build Coastguard Worker        tlbi VMALLE1IS, x12
3348*9880d681SAndroid Build Coastguard Worker        tlbi ALLE2IS, x11
3349*9880d681SAndroid Build Coastguard Worker        tlbi ALLE3IS, x20
3350*9880d681SAndroid Build Coastguard Worker        tlbi VAE1IS
3351*9880d681SAndroid Build Coastguard Worker        tlbi VAE2IS
3352*9880d681SAndroid Build Coastguard Worker        tlbi VAE3IS
3353*9880d681SAndroid Build Coastguard Worker        tlbi ASIDE1IS
3354*9880d681SAndroid Build Coastguard Worker        tlbi VAAE1IS
3355*9880d681SAndroid Build Coastguard Worker        tlbi ALLE1IS, x0
3356*9880d681SAndroid Build Coastguard Worker        tlbi VALE1IS
3357*9880d681SAndroid Build Coastguard Worker        tlbi VALE2IS
3358*9880d681SAndroid Build Coastguard Worker        tlbi VALE3IS
3359*9880d681SAndroid Build Coastguard Worker        tlbi VMALLS12E1IS, xzr
3360*9880d681SAndroid Build Coastguard Worker        tlbi VAALE1IS
3361*9880d681SAndroid Build Coastguard Worker        tlbi IPAS2E1
3362*9880d681SAndroid Build Coastguard Worker        tlbi IPAS2LE1
3363*9880d681SAndroid Build Coastguard Worker        tlbi VMALLE1, x9
3364*9880d681SAndroid Build Coastguard Worker        tlbi ALLE2, x10
3365*9880d681SAndroid Build Coastguard Worker        tlbi ALLE3, x11
3366*9880d681SAndroid Build Coastguard Worker        tlbi VAE1
3367*9880d681SAndroid Build Coastguard Worker        tlbi VAE2
3368*9880d681SAndroid Build Coastguard Worker        tlbi VAE3
3369*9880d681SAndroid Build Coastguard Worker        tlbi ASIDE1
3370*9880d681SAndroid Build Coastguard Worker        tlbi VAAE1
3371*9880d681SAndroid Build Coastguard Worker        tlbi ALLE1, x25
3372*9880d681SAndroid Build Coastguard Worker        tlbi VALE1
3373*9880d681SAndroid Build Coastguard Worker        tlbi VALE2
3374*9880d681SAndroid Build Coastguard Worker        tlbi VALE3
3375*9880d681SAndroid Build Coastguard Worker        tlbi VMALLS12E1, x15
3376*9880d681SAndroid Build Coastguard Worker        tlbi VAALE1
3377*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: specified {{TLBI|tlbi}} op requires a register
3378*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         tlbi IPAS2E1IS
3379*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:              ^
3380*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: specified {{TLBI|tlbi}} op requires a register
3381*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         tlbi IPAS2LE1IS
3382*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:              ^
3383*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: specified {{TLBI|tlbi}} op does not use a register
3384*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         tlbi VMALLE1IS, x12
3385*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                         ^
3386*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: specified {{TLBI|tlbi}} op does not use a register
3387*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         tlbi ALLE2IS, x11
3388*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                       ^
3389*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: specified {{TLBI|tlbi}} op does not use a register
3390*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         tlbi ALLE3IS, x20
3391*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                       ^
3392*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: specified {{TLBI|tlbi}} op requires a register
3393*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         tlbi VAE1IS
3394*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:              ^
3395*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: specified {{TLBI|tlbi}} op requires a register
3396*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         tlbi VAE2IS
3397*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:              ^
3398*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: specified {{TLBI|tlbi}} op requires a register
3399*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         tlbi VAE3IS
3400*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:              ^
3401*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: specified {{TLBI|tlbi}} op requires a register
3402*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         tlbi ASIDE1IS
3403*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:              ^
3404*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: specified {{TLBI|tlbi}} op requires a register
3405*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         tlbi VAAE1IS
3406*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:              ^
3407*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: specified {{TLBI|tlbi}} op does not use a register
3408*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         tlbi ALLE1IS, x0
3409*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                       ^
3410*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: specified {{TLBI|tlbi}} op requires a register
3411*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         tlbi VALE1IS
3412*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:              ^
3413*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: specified {{TLBI|tlbi}} op requires a register
3414*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         tlbi VALE2IS
3415*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:              ^
3416*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: specified {{TLBI|tlbi}} op requires a register
3417*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         tlbi VALE3IS
3418*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:              ^
3419*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: specified {{TLBI|tlbi}} op does not use a register
3420*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         tlbi VMALLS12E1IS, xzr
3421*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                            ^
3422*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: specified {{TLBI|tlbi}} op requires a register
3423*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         tlbi VAALE1IS
3424*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:              ^
3425*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: specified {{TLBI|tlbi}} op requires a register
3426*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         tlbi IPAS2E1
3427*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:              ^
3428*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: specified {{TLBI|tlbi}} op requires a register
3429*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         tlbi IPAS2LE1
3430*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:              ^
3431*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: specified {{TLBI|tlbi}} op does not use a register
3432*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         tlbi VMALLE1, x9
3433*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                       ^
3434*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: specified {{TLBI|tlbi}} op does not use a register
3435*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         tlbi ALLE2, x10
3436*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                     ^
3437*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: specified {{TLBI|tlbi}} op does not use a register
3438*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         tlbi ALLE3, x11
3439*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                     ^
3440*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: specified {{TLBI|tlbi}} op requires a register
3441*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         tlbi VAE1
3442*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:              ^
3443*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: specified {{TLBI|tlbi}} op requires a register
3444*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         tlbi VAE2
3445*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:              ^
3446*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: specified {{TLBI|tlbi}} op requires a register
3447*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         tlbi VAE3
3448*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:              ^
3449*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: specified {{TLBI|tlbi}} op requires a register
3450*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         tlbi ASIDE1
3451*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:              ^
3452*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: specified {{TLBI|tlbi}} op requires a register
3453*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         tlbi VAAE1
3454*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:              ^
3455*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: specified {{TLBI|tlbi}} op does not use a register
3456*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         tlbi ALLE1, x25
3457*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                     ^
3458*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: specified {{TLBI|tlbi}} op requires a register
3459*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         tlbi VALE1
3460*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:              ^
3461*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: specified {{TLBI|tlbi}} op requires a register
3462*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         tlbi VALE2
3463*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:              ^
3464*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: specified {{TLBI|tlbi}} op requires a register
3465*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         tlbi VALE3
3466*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:              ^
3467*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: specified {{TLBI|tlbi}} op does not use a register
3468*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         tlbi VMALLS12E1, x15
3469*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                          ^
3470*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: specified {{TLBI|tlbi}} op requires a register
3471*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         tlbi VAALE1
3472*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:              ^
3473*9880d681SAndroid Build Coastguard Worker
3474*9880d681SAndroid Build Coastguard Worker// For the MSR/MRS instructions, first make sure read-only and
3475*9880d681SAndroid Build Coastguard Worker// write-only registers actually are.
3476*9880d681SAndroid Build Coastguard Worker        msr MDCCSR_EL0, x12
3477*9880d681SAndroid Build Coastguard Worker        msr DBGDTRRX_EL0, x12
3478*9880d681SAndroid Build Coastguard Worker        msr MDRAR_EL1, x12
3479*9880d681SAndroid Build Coastguard Worker        msr OSLSR_EL1, x12
3480*9880d681SAndroid Build Coastguard Worker        msr DBGAUTHSTATUS_EL1, x12
3481*9880d681SAndroid Build Coastguard Worker        msr MIDR_EL1, x12
3482*9880d681SAndroid Build Coastguard Worker        msr CCSIDR_EL1, x12
3483*9880d681SAndroid Build Coastguard Worker        msr CLIDR_EL1, x12
3484*9880d681SAndroid Build Coastguard Worker        msr CTR_EL0, x12
3485*9880d681SAndroid Build Coastguard Worker        msr MPIDR_EL1, x12
3486*9880d681SAndroid Build Coastguard Worker        msr REVIDR_EL1, x12
3487*9880d681SAndroid Build Coastguard Worker        msr AIDR_EL1, x12
3488*9880d681SAndroid Build Coastguard Worker        msr DCZID_EL0, x12
3489*9880d681SAndroid Build Coastguard Worker        msr ID_PFR0_EL1, x12
3490*9880d681SAndroid Build Coastguard Worker        msr ID_PFR1_EL1, x12
3491*9880d681SAndroid Build Coastguard Worker        msr ID_DFR0_EL1, x12
3492*9880d681SAndroid Build Coastguard Worker        msr ID_AFR0_EL1, x12
3493*9880d681SAndroid Build Coastguard Worker        msr ID_MMFR0_EL1, x12
3494*9880d681SAndroid Build Coastguard Worker        msr ID_MMFR1_EL1, x12
3495*9880d681SAndroid Build Coastguard Worker        msr ID_MMFR2_EL1, x12
3496*9880d681SAndroid Build Coastguard Worker        msr ID_MMFR3_EL1, x12
3497*9880d681SAndroid Build Coastguard Worker        msr ID_MMFR4_EL1, x12
3498*9880d681SAndroid Build Coastguard Worker        msr ID_ISAR0_EL1, x12
3499*9880d681SAndroid Build Coastguard Worker        msr ID_ISAR1_EL1, x12
3500*9880d681SAndroid Build Coastguard Worker        msr ID_ISAR2_EL1, x12
3501*9880d681SAndroid Build Coastguard Worker        msr ID_ISAR3_EL1, x12
3502*9880d681SAndroid Build Coastguard Worker        msr ID_ISAR4_EL1, x12
3503*9880d681SAndroid Build Coastguard Worker        msr ID_ISAR5_EL1, x12
3504*9880d681SAndroid Build Coastguard Worker        msr MVFR0_EL1, x12
3505*9880d681SAndroid Build Coastguard Worker        msr MVFR1_EL1, x12
3506*9880d681SAndroid Build Coastguard Worker        msr MVFR2_EL1, x12
3507*9880d681SAndroid Build Coastguard Worker        msr ID_AA64PFR0_EL1, x12
3508*9880d681SAndroid Build Coastguard Worker        msr ID_AA64PFR1_EL1, x12
3509*9880d681SAndroid Build Coastguard Worker        msr ID_AA64DFR0_EL1, x12
3510*9880d681SAndroid Build Coastguard Worker        msr ID_AA64DFR1_EL1, x12
3511*9880d681SAndroid Build Coastguard Worker        msr ID_AA64AFR0_EL1, x12
3512*9880d681SAndroid Build Coastguard Worker        msr ID_AA64AFR1_EL1, x12
3513*9880d681SAndroid Build Coastguard Worker        msr ID_AA64ISAR0_EL1, x12
3514*9880d681SAndroid Build Coastguard Worker        msr ID_AA64ISAR1_EL1, x12
3515*9880d681SAndroid Build Coastguard Worker        msr ID_AA64MMFR0_EL1, x12
3516*9880d681SAndroid Build Coastguard Worker        msr ID_AA64MMFR1_EL1, x12
3517*9880d681SAndroid Build Coastguard Worker        msr PMCEID0_EL0, x12
3518*9880d681SAndroid Build Coastguard Worker        msr PMCEID1_EL0, x12
3519*9880d681SAndroid Build Coastguard Worker        msr RVBAR_EL1, x12
3520*9880d681SAndroid Build Coastguard Worker        msr RVBAR_EL2, x12
3521*9880d681SAndroid Build Coastguard Worker        msr RVBAR_EL3, x12
3522*9880d681SAndroid Build Coastguard Worker        msr ISR_EL1, x12
3523*9880d681SAndroid Build Coastguard Worker        msr CNTPCT_EL0, x12
3524*9880d681SAndroid Build Coastguard Worker        msr CNTVCT_EL0, x12
3525*9880d681SAndroid Build Coastguard Worker        msr PMEVCNTR31_EL0, x12
3526*9880d681SAndroid Build Coastguard Worker        msr PMEVTYPER31_EL0, x12
3527*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR: error: expected writable system register or pstate
3528*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         msr MDCCSR_EL0, x12
3529*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:             ^
3530*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: expected writable system register or pstate
3531*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         msr DBGDTRRX_EL0, x12
3532*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:             ^
3533*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: expected writable system register or pstate
3534*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         msr MDRAR_EL1, x12
3535*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:             ^
3536*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: expected writable system register or pstate
3537*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         msr OSLSR_EL1, x12
3538*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:             ^
3539*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: expected writable system register or pstate
3540*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         msr DBGAUTHSTATUS_EL1, x12
3541*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:             ^
3542*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: expected writable system register or pstate
3543*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         msr MIDR_EL1, x12
3544*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:             ^
3545*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: expected writable system register or pstate
3546*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         msr CCSIDR_EL1, x12
3547*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:             ^
3548*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: expected writable system register or pstate
3549*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         msr CLIDR_EL1, x12
3550*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:             ^
3551*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: expected writable system register or pstate
3552*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         msr CTR_EL0, x12
3553*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:             ^
3554*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: expected writable system register or pstate
3555*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         msr MPIDR_EL1, x12
3556*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:             ^
3557*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: expected writable system register or pstate
3558*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         msr REVIDR_EL1, x12
3559*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:             ^
3560*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: expected writable system register or pstate
3561*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         msr AIDR_EL1, x12
3562*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:             ^
3563*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: expected writable system register or pstate
3564*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         msr DCZID_EL0, x12
3565*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:             ^
3566*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: expected writable system register or pstate
3567*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         msr ID_PFR0_EL1, x12
3568*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:             ^
3569*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: expected writable system register or pstate
3570*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         msr ID_PFR1_EL1, x12
3571*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:             ^
3572*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: expected writable system register or pstate
3573*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         msr ID_DFR0_EL1, x12
3574*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:             ^
3575*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: expected writable system register or pstate
3576*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         msr ID_AFR0_EL1, x12
3577*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:             ^
3578*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: expected writable system register or pstate
3579*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         msr ID_MMFR0_EL1, x12
3580*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:             ^
3581*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: expected writable system register or pstate
3582*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         msr ID_MMFR1_EL1, x12
3583*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:             ^
3584*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: expected writable system register or pstate
3585*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         msr ID_MMFR2_EL1, x12
3586*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:             ^
3587*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: expected writable system register or pstate
3588*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         msr ID_MMFR3_EL1, x12
3589*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:             ^
3590*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: expected writable system register or pstate
3591*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         msr ID_MMFR4_EL1, x12
3592*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:             ^
3593*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: expected writable system register or pstate
3594*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         msr ID_ISAR0_EL1, x12
3595*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:             ^
3596*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: expected writable system register or pstate
3597*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         msr ID_ISAR1_EL1, x12
3598*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:             ^
3599*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: expected writable system register or pstate
3600*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         msr ID_ISAR2_EL1, x12
3601*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:             ^
3602*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: expected writable system register or pstate
3603*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         msr ID_ISAR3_EL1, x12
3604*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:             ^
3605*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: expected writable system register or pstate
3606*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         msr ID_ISAR4_EL1, x12
3607*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:             ^
3608*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: expected writable system register or pstate
3609*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         msr ID_ISAR5_EL1, x12
3610*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:             ^
3611*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: expected writable system register or pstate
3612*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         msr MVFR0_EL1, x12
3613*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:             ^
3614*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: expected writable system register or pstate
3615*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         msr MVFR1_EL1, x12
3616*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:             ^
3617*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: expected writable system register or pstate
3618*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         msr MVFR2_EL1, x12
3619*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:             ^
3620*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: expected writable system register or pstate
3621*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         msr ID_AA64PFR0_EL1, x12
3622*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:             ^
3623*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: expected writable system register or pstate
3624*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         msr ID_AA64PFR1_EL1, x12
3625*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:             ^
3626*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: expected writable system register or pstate
3627*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         msr ID_AA64DFR0_EL1, x12
3628*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:             ^
3629*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: expected writable system register or pstate
3630*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         msr ID_AA64DFR1_EL1, x12
3631*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:             ^
3632*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: expected writable system register or pstate
3633*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         msr ID_AA64AFR0_EL1, x12
3634*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:             ^
3635*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: expected writable system register or pstate
3636*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         msr ID_AA64AFR1_EL1, x12
3637*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:             ^
3638*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: expected writable system register or pstate
3639*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         msr ID_AA64ISAR0_EL1, x12
3640*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:             ^
3641*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: expected writable system register or pstate
3642*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         msr ID_AA64ISAR1_EL1, x12
3643*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:             ^
3644*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: expected writable system register or pstate
3645*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         msr ID_AA64MMFR0_EL1, x12
3646*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:             ^
3647*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: expected writable system register or pstate
3648*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         msr ID_AA64MMFR1_EL1, x12
3649*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:             ^
3650*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: expected writable system register or pstate
3651*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         msr PMCEID0_EL0, x12
3652*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:             ^
3653*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: expected writable system register or pstate
3654*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         msr PMCEID1_EL0, x12
3655*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:             ^
3656*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: expected writable system register or pstate
3657*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         msr RVBAR_EL1, x12
3658*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:             ^
3659*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: expected writable system register or pstate
3660*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         msr RVBAR_EL2, x12
3661*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:             ^
3662*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: expected writable system register or pstate
3663*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         msr RVBAR_EL3, x12
3664*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:             ^
3665*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: expected writable system register or pstate
3666*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         msr ISR_EL1, x12
3667*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:             ^
3668*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: expected writable system register or pstate
3669*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         msr CNTPCT_EL0, x12
3670*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:             ^
3671*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: expected writable system register or pstate
3672*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         msr CNTVCT_EL0, x12
3673*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:             ^
3674*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: expected writable system register or pstate
3675*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         msr PMEVCNTR31_EL0, x12
3676*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:             ^
3677*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: expected writable system register or pstate
3678*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         msr PMEVTYPER31_EL0, x12
3679*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:             ^
3680*9880d681SAndroid Build Coastguard Worker
3681*9880d681SAndroid Build Coastguard Worker        mrs x9, DBGDTRTX_EL0
3682*9880d681SAndroid Build Coastguard Worker        mrs x9, OSLAR_EL1
3683*9880d681SAndroid Build Coastguard Worker        mrs x9, PMSWINC_EL0
3684*9880d681SAndroid Build Coastguard Worker        mrs x9, PMEVCNTR31_EL0
3685*9880d681SAndroid Build Coastguard Worker        mrs x9, PMEVTYPER31_EL0
3686*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR: error: expected readable system register
3687*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         mrs x9, DBGDTRTX_EL0
3688*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                 ^
3689*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: expected readable system register
3690*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         mrs x9, OSLAR_EL1
3691*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                 ^
3692*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: expected readable system register
3693*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         mrs x9, PMSWINC_EL0
3694*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                 ^
3695*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: expected readable system register
3696*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         mrs x9, PMEVCNTR31_EL0
3697*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                 ^
3698*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: expected readable system register
3699*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         mrs x9, PMEVTYPER31_EL0
3700*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                 ^
3701*9880d681SAndroid Build Coastguard Worker
3702*9880d681SAndroid Build Coastguard Worker// Now check some invalid generic names
3703*9880d681SAndroid Build Coastguard Worker        mrs x12, s3_8_c11_c13_2
3704*9880d681SAndroid Build Coastguard Worker        mrs x19, s3_2_c15_c16_2
3705*9880d681SAndroid Build Coastguard Worker        mrs x30, s3_2_c15_c1_8
3706*9880d681SAndroid Build Coastguard Worker        mrs x4, s4_7_c15_c15_7
3707*9880d681SAndroid Build Coastguard Worker        mrs x14, s3_7_c16_c15_7
3708*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: expected readable system register
3709*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         mrs x12, s3_8_c11_c13_2
3710*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                  ^
3711*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: expected readable system register
3712*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         mrs x19, s3_2_c15_c16_2
3713*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                  ^
3714*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: expected readable system register
3715*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         mrs x30, s3_2_c15_c1_8
3716*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                  ^
3717*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: expected readable system register
3718*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         mrs x4, s4_7_c15_c15_7
3719*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                 ^
3720*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: expected readable system register
3721*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         mrs x14, s3_7_c16_c15_7
3722*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                  ^
3723*9880d681SAndroid Build Coastguard Worker
3724*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------
3725*9880d681SAndroid Build Coastguard Worker// Test and branch (immediate)
3726*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------
3727*9880d681SAndroid Build Coastguard Worker
3728*9880d681SAndroid Build Coastguard Worker        tbz w3, #-1, addr
3729*9880d681SAndroid Build Coastguard Worker        tbz w3, #32, nowhere
3730*9880d681SAndroid Build Coastguard Worker        tbz x9, #-1, there
3731*9880d681SAndroid Build Coastguard Worker        tbz x20, #64, dont
3732*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR: error: {{expected|immediate must be an}} integer in range [0, 31]
3733*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:     tbz w3, #-1, addr
3734*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:             ^
3735*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 31]
3736*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:        tbz w3, #32, nowhere
3737*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                ^
3738*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 63]
3739*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:        tbz x9, #-1, there
3740*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                ^
3741*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 63]
3742*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:        tbz x20, #64, dont
3743*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                 ^
3744*9880d681SAndroid Build Coastguard Worker
3745*9880d681SAndroid Build Coastguard Worker        tbnz w3, #-1, addr
3746*9880d681SAndroid Build Coastguard Worker        tbnz w3, #32, nowhere
3747*9880d681SAndroid Build Coastguard Worker        tbnz x9, #-1, there
3748*9880d681SAndroid Build Coastguard Worker        tbnz x20, #64, dont
3749*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 31]
3750*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:        tbnz w3, #-1, addr
3751*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                 ^
3752*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 31]
3753*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:        tbnz w3, #32, nowhere
3754*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                 ^
3755*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 63]
3756*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:        tbnz x9, #-1, there
3757*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:                 ^
3758*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 63]
3759*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:        tbnz x20, #64, dont
3760*9880d681SAndroid Build Coastguard Worker
3761*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------
3762*9880d681SAndroid Build Coastguard Worker// Unconditional branch (immediate)
3763*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------
3764*9880d681SAndroid Build Coastguard Worker
3765*9880d681SAndroid Build Coastguard Worker        b #134217728
3766*9880d681SAndroid Build Coastguard Worker        b #-134217732
3767*9880d681SAndroid Build Coastguard Worker        b #1
3768*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR: error: expected label or encodable integer pc offset
3769*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         b #134217728
3770*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:           ^
3771*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: expected label or encodable integer pc offset
3772*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         b #-134217732
3773*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:           ^
3774*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: expected label or encodable integer pc offset
3775*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         b #1
3776*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:           ^
3777*9880d681SAndroid Build Coastguard Worker
3778*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------
3779*9880d681SAndroid Build Coastguard Worker// Unconditional branch (register)
3780*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------
3781*9880d681SAndroid Build Coastguard Worker
3782*9880d681SAndroid Build Coastguard Worker        br w2
3783*9880d681SAndroid Build Coastguard Worker        br sp
3784*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR: error: invalid operand for instruction
3785*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         br w2
3786*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:            ^
3787*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: invalid operand for instruction
3788*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         br sp
3789*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:            ^
3790*9880d681SAndroid Build Coastguard Worker
3791*9880d681SAndroid Build Coastguard Worker        //// These ones shouldn't allow any registers
3792*9880d681SAndroid Build Coastguard Worker        eret x2
3793*9880d681SAndroid Build Coastguard Worker        drps x2
3794*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR: error: invalid operand for instruction
3795*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         eret x2
3796*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:              ^
3797*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT: error: invalid operand for instruction
3798*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:         drps x2
3799*9880d681SAndroid Build Coastguard Worker// CHECK-ERROR-NEXT:              ^
3800*9880d681SAndroid Build Coastguard Worker
3801