1// RUN: not llvm-mc -triple=thumbv8.1m.main-none-eabi -show-encoding < %s 2>%t \
2// RUN:   | FileCheck --check-prefix=CHECK %s
3// RUN:     FileCheck --check-prefix=ERROR < %t %s
4// RUN: not llvm-mc -triple=thumbv8.1m.main-none-eabi -mattr=+fp-armv8d16sp,+fullfp16 -show-encoding < %s 2>%t \
5// RUN:   | FileCheck --check-prefix=CHECK-FP %s
6// RUN:     FileCheck --check-prefix=ERROR-FP < %t %s
7// RUN: not llvm-mc -triple=thumbv8.1m.main-none-eabi -mattr=-lob -show-encoding < %s 2>%t \
8// RUN:   | FileCheck --check-prefix=CHECK-NOLOB %s
9// RUN:     FileCheck --check-prefix=ERROR-NOLOB < %t %s
10
11// Check that .arm is invalid
12// ERROR: target does not support ARM mode
13// ERROR-FP: target does not support ARM mode
14.arm
15
16// Make sure the addition of CLRM does not mess up normal register lists
17// ERROR: invalid operand for instruction
18// ERROR-FP: invalid operand for instruction
19push {r0, apsr}
20
21// Instruction availibility checks
22
23// 'Branch Future and Low Overhead Loop instructions'
24
25// For tests where the LOB extension is turned off, we can't always
26// depend on the nice diagnostic 'error: instruction requires: lob',
27// because if AsmMatcher can find anything else wrong with the
28// instruction, it won't report a specific cause of failure ('multiple
29// types of mismatch, so not reporting near-miss'). This can happen in
30// the error cases below where the instruction deliberately has
31// something else wrong with it, and it can also happen when the
32// instruction takes a condition-code argument, because with LOB
33// turned off, the operand parsing will reinterpret 'eq' or 'ne' or
34// similar as a SymbolRef, and then it won't even match against
35// MCK_CondCodeNoAL. So that counts as a second cause of failure from
36// AsmMatcher's point of view as well. Hence, a lot of the NOLOB error
37// checks just check for "error:", enforcing that MC found *something*
38// wrong with the instruction.
39
40// ERROR: :[[@LINE+3]]:{{[0-9]+}}: error: branch location out of range or not a multiple of 2
41// ERROR-FP: :[[@LINE+2]]:{{[0-9]+}}: error: branch location out of range or not a multiple of 2
42// ERROR-NOLOB: :[[@LINE+1]]:{{[0-9]+}}: error:
43bf #-2, #10
44
45// ERROR: :[[@LINE+3]]:{{[0-9]+}}: error: branch location out of range or not a multiple of 2
46// ERROR-FP: :[[@LINE+2]]:{{[0-9]+}}: error: branch location out of range or not a multiple of 2
47// ERROR-NOLOB: :[[@LINE+1]]:{{[0-9]+}}: error:
48bf #0, #10
49
50// ERROR: :[[@LINE+3]]:{{[0-9]+}}: error: branch location out of range or not a multiple of 2
51// ERROR-FP: :[[@LINE+2]]:{{[0-9]+}}: error: branch location out of range or not a multiple of 2
52// ERROR-NOLOB: :[[@LINE+1]]:{{[0-9]+}}: error:
53bf #7, #10
54
55// ERROR: :[[@LINE+3]]:{{[0-9]+}}: error: branch location out of range or not a multiple of 2
56// ERROR-FP: :[[@LINE+2]]:{{[0-9]+}}: error: branch location out of range or not a multiple of 2
57// ERROR-NOLOB: :[[@LINE+1]]:{{[0-9]+}}: error:
58bfx #-4, r3
59
60// ERROR: :[[@LINE+3]]:{{[0-9]+}}: error: branch location out of range or not a multiple of 2
61// ERROR-FP: :[[@LINE+2]]:{{[0-9]+}}: error: branch location out of range or not a multiple of 2
62// ERROR-NOLOB: :[[@LINE+1]]:{{[0-9]+}}: error:
63bfx #0, r3
64
65// ERROR: :[[@LINE+3]]:{{[0-9]+}}: error: branch location out of range or not a multiple of 2
66// ERROR-FP: :[[@LINE+2]]:{{[0-9]+}}: error: branch location out of range or not a multiple of 2
67// ERROR-NOLOB: :[[@LINE+1]]:{{[0-9]+}}: error:
68bfx #13, r3
69
70// ERROR: :[[@LINE+3]]:{{[0-9]+}}: error: branch location out of range or not a multiple of 2
71// ERROR-FP: :[[@LINE+2]]:{{[0-9]+}}: error: branch location out of range or not a multiple of 2
72// ERROR-NOLOB: :[[@LINE+1]]:{{[0-9]+}}: error:
73bfl #-2, #20
74
75// ERROR: :[[@LINE+3]]:{{[0-9]+}}: error: branch location out of range or not a multiple of 2
76// ERROR-FP: :[[@LINE+2]]:{{[0-9]+}}: error: branch location out of range or not a multiple of 2
77// ERROR-NOLOB: :[[@LINE+1]]:{{[0-9]+}}: error:
78bfl #0, #20
79
80// ERROR: :[[@LINE+3]]:{{[0-9]+}}: error: branch location out of range or not a multiple of 2
81// ERROR-FP: :[[@LINE+2]]:{{[0-9]+}}: error: branch location out of range or not a multiple of 2
82// ERROR-NOLOB: :[[@LINE+1]]:{{[0-9]+}}: error:
83bfl #13, #20
84
85// ERROR: :[[@LINE+3]]:{{[0-9]+}}: error: branch target out of range or not a multiple of 2
86// ERROR-FP: :[[@LINE+2]]:{{[0-9]+}}: error: branch target out of range or not a multiple of 2
87// ERROR-NOLOB: :[[@LINE+1]]:{{[0-9]+}}: error:
88bf #4, #65536
89
90// ERROR: :[[@LINE+3]]:{{[0-9]+}}: error: branch target out of range or not a multiple of 2
91// ERROR-FP: :[[@LINE+2]]:{{[0-9]+}}: error: branch target out of range or not a multiple of 2
92// ERROR-NOLOB: :[[@LINE+1]]:{{[0-9]+}}: error:
93bf #4, #-65538
94
95// CHECK: bf #4, #0
96// CHECK-FP: bf #4, #0
97// ERROR-NOLOB: :[[@LINE+1]]:{{[0-9]+}}: error:
98bf #4, #0
99
100// ERROR: :[[@LINE+3]]:{{[0-9]+}}: error: branch target out of range or not a multiple of 2
101// ERROR-FP: :[[@LINE+2]]:{{[0-9]+}}: error: branch target out of range or not a multiple of 2
102// ERROR-NOLOB: :[[@LINE+1]]:{{[0-9]+}}: error:
103bfl #4, #262144
104
105// ERROR: :[[@LINE+3]]:{{[0-9]+}}: error: branch target out of range or not a multiple of 2
106// ERROR-FP: :[[@LINE+2]]:{{[0-9]+}}: error: branch target out of range or not a multiple of 2
107// ERROR-NOLOB: :[[@LINE+1]]:{{[0-9]+}}: error:
108bfl #4, #-262146
109
110// CHECK: bfl #4, #0
111// CHECK-FP: bfl #4, #0
112// ERROR-NOLOB: :[[@LINE+1]]:{{[0-9]+}}: error:
113bfl #4, #0
114
115// ERROR: :[[@LINE+3]]:{{[0-9]+}}: error: branch location out of range or not a multiple of 2
116// ERROR-FP: :[[@LINE+2]]:{{[0-9]+}}: error: branch location out of range or not a multiple of 2
117// ERROR-NOLOB: :[[@LINE+1]]:{{[0-9]+}}: error:
118bfcsel #-2, #10, #2, eq
119
120// ERROR: :[[@LINE+3]]:{{[0-9]+}}: error: branch location out of range or not a multiple of 2
121// ERROR-FP: :[[@LINE+2]]:{{[0-9]+}}: error: branch location out of range or not a multiple of 2
122// ERROR-NOLOB: :[[@LINE+1]]:{{[0-9]+}}: error:
123bfcsel #0, #10, #2, eq
124
125// ERROR: :[[@LINE+3]]:{{[0-9]+}}: error: branch location out of range or not a multiple of 2
126// ERROR-FP: :[[@LINE+2]]:{{[0-9]+}}: error: branch location out of range or not a multiple of 2
127// ERROR-NOLOB: :[[@LINE+1]]:{{[0-9]+}}: error:
128bfcsel #13, #10, #15, eq
129
130// ERROR: :[[@LINE+3]]:{{[0-9]+}}: error: branch target out of range or not a multiple of 2
131// ERROR-FP: :[[@LINE+2]]:{{[0-9]+}}: error: branch target out of range or not a multiple of 2
132// ERROR-NOLOB: :[[@LINE+1]]:{{[0-9]+}}: error:
133bfcsel #4, #65536, #6, eq
134
135// ERROR: :[[@LINE+3]]:{{[0-9]+}}: error: branch target out of range or not a multiple of 2
136// ERROR-FP: :[[@LINE+2]]:{{[0-9]+}}: error: branch target out of range or not a multiple of 2
137// ERROR-NOLOB: :[[@LINE+1]]:{{[0-9]+}}: error:
138bfcsel #4, #-65538, #8, eq
139
140// ERROR: :[[@LINE+3]]:{{[0-9]+}}: error: else branch target must be 2 or 4 greater than the branch location
141// ERROR-FP: :[[@LINE+2]]:{{[0-9]+}}: error: else branch target must be 2 or 4 greater than the branch location
142// ERROR-NOLOB: :[[@LINE+1]]:{{[0-9]+}}: error:
143bfcsel #4, #65534, #10, eq
144
145// CHECK: bfcsel #4, #0, #8, eq
146// CHECK-FP: bfcsel #4, #0, #8, eq
147// ERROR-NOLOB: :[[@LINE+1]]:{{[0-9]+}}: error:
148bfcsel #4, #0, #8, eq
149
150// CHECK: bf  .Lbranch, .Ltarget      @ encoding: [0x40'B',0xf0'B',0x01'B',0xe0'B']
151// CHECK-FP: bf  .Lbranch, .Ltarget      @ encoding: [0x40'B',0xf0'B',0x01'B',0xe0'B']
152// ERROR-NOLOB: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires: lob
153bf  .Lbranch, .Ltarget
154
155// CHECK: bfcsel  .Lbranch, .Lthen, .Lelse, ne @ encoding: [0x04'C',0xf0'C',0x01'C',0xe0'C']
156// CHECK-FP: bfcsel  .Lbranch, .Lthen, .Lelse, ne @ encoding: [0x04'C',0xf0'C',0x01'C',0xe0'C']
157// ERROR-NOLOB: :[[@LINE+1]]:{{[0-9]+}}: error:
158bfcsel  .Lbranch, .Lthen, .Lelse, ne
159
160// CHECK: bfx .Lbranch, r3            @ encoding: [0x63'A',0xf0'A',0x01'A',0xe0'A']
161// CHECK-FP: bfx .Lbranch, r3            @ encoding: [0x63'A',0xf0'A',0x01'A',0xe0'A']
162// ERROR-NOLOB: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires: lob
163bfx .Lbranch, r3
164
165// CHECK: bfl .Lbranch, .Ltarget      @ encoding: [B,0xf0'B',0x01'B',0xc0'B']
166// CHECK-FP: bfl .Lbranch, .Ltarget      @ encoding: [B,0xf0'B',0x01'B',0xc0'B']
167// ERROR-NOLOB: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires: lob
168bfl .Lbranch, .Ltarget
169
170// CHECK: bflx .Lbranch, r7           @ encoding: [0x77'A',0xf0'A',0x01'A',0xe0'A']
171// CHECK-FP: bflx .Lbranch, r7           @ encoding: [0x77'A',0xf0'A',0x01'A',0xe0'A']
172// ERROR-NOLOB: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires: lob
173bflx .Lbranch, r7
174
175// CHECK: wls lr, r2, .Lend           @ encoding: [0x42'A',0xf0'A',0x01'A',0xc0'A']
176// CHECK-FP: wls lr, r2, .Lend           @ encoding: [0x42'A',0xf0'A',0x01'A',0xc0'A']
177// ERROR-NOLOB: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires: lob
178wls lr, r2, .Lend
179
180// CHECK: wls lr, r2, #0
181// CHECK-FP: wls lr, r2, #0
182// ERROR-NOLOB: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires: lob
183wls lr, r2, #0
184
185// CHECK: dls lr, r2                  @ encoding: [0x42,0xf0,0x01,0xe0]
186// CHECK-FP: dls lr, r2                  @ encoding: [0x42,0xf0,0x01,0xe0]
187// ERROR-NOLOB: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires: lob
188dls lr, r2
189
190// CHECK: le lr, .Lstart              @ encoding: [0x0f'A',0xf0'A',0x01'A',0xc0'A']
191// CHECK-FP: le lr, .Lstart              @ encoding: [0x0f'A',0xf0'A',0x01'A',0xc0'A']
192// ERROR-NOLOB: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires: lob
193le lr, .Lstart
194
195// CHECK: le  .Lstart                 @ encoding: [0x2f'A',0xf0'A',0x01'A',0xc0'A']
196// CHECK-FP: le  .Lstart                 @ encoding: [0x2f'A',0xf0'A',0x01'A',0xc0'A']
197// ERROR-NOLOB: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires: lob
198le .Lstart
199
200// CHECK: dls     lr, lr  @ encoding: [0x4e,0xf0,0x01,0xe0]
201// CHECK-FP: dls     lr, lr  @ encoding: [0x4e,0xf0,0x01,0xe0]
202// ERROR-NOLOB: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires: lob
203dls     lr, lr
204
205// CHECK: dls     lr, r0  @ encoding: [0x40,0xf0,0x01,0xe0]
206// CHECK-FP: dls     lr, r0  @ encoding: [0x40,0xf0,0x01,0xe0]
207// ERROR-NOLOB: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires: lob
208dls     lr, r0
209
210// CHECK: dls     lr, r1  @ encoding: [0x41,0xf0,0x01,0xe0]
211// CHECK-FP: dls     lr, r1  @ encoding: [0x41,0xf0,0x01,0xe0]
212// ERROR-NOLOB: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires: lob
213dls     lr, r1
214
215// CHECK: dls     lr, r10  @ encoding: [0x4a,0xf0,0x01,0xe0]
216// CHECK-FP: dls     lr, r10  @ encoding: [0x4a,0xf0,0x01,0xe0]
217// ERROR-NOLOB: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires: lob
218dls     lr, r10
219
220// CHECK: dls     lr, r11  @ encoding: [0x4b,0xf0,0x01,0xe0]
221// CHECK-FP: dls     lr, r11  @ encoding: [0x4b,0xf0,0x01,0xe0]
222// ERROR-NOLOB: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires: lob
223dls     lr, r11
224
225// CHECK: dls     lr, r12  @ encoding: [0x4c,0xf0,0x01,0xe0]
226// CHECK-FP: dls     lr, r12  @ encoding: [0x4c,0xf0,0x01,0xe0]
227// ERROR-NOLOB: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires: lob
228dls     lr, r12
229
230// CHECK: dls     lr, r2  @ encoding: [0x42,0xf0,0x01,0xe0]
231// CHECK-FP: dls     lr, r2  @ encoding: [0x42,0xf0,0x01,0xe0]
232// ERROR-NOLOB: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires: lob
233dls     lr, r2
234
235// CHECK: dls     lr, r3  @ encoding: [0x43,0xf0,0x01,0xe0]
236// CHECK-FP: dls     lr, r3  @ encoding: [0x43,0xf0,0x01,0xe0]
237// ERROR-NOLOB: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires: lob
238dls     lr, r3
239
240// CHECK: dls     lr, r5  @ encoding: [0x45,0xf0,0x01,0xe0]
241// CHECK-FP: dls     lr, r5  @ encoding: [0x45,0xf0,0x01,0xe0]
242// ERROR-NOLOB: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires: lob
243dls     lr, r5
244
245// CHECK: dls     lr, r6  @ encoding: [0x46,0xf0,0x01,0xe0]
246// CHECK-FP: dls     lr, r6  @ encoding: [0x46,0xf0,0x01,0xe0]
247// ERROR-NOLOB: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires: lob
248dls     lr, r6
249
250// CHECK: dls     lr, r7  @ encoding: [0x47,0xf0,0x01,0xe0]
251// CHECK-FP: dls     lr, r7  @ encoding: [0x47,0xf0,0x01,0xe0]
252// ERROR-NOLOB: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires: lob
253dls     lr, r7
254
255// CHECK: dls     lr, r8  @ encoding: [0x48,0xf0,0x01,0xe0]
256// CHECK-FP: dls     lr, r8  @ encoding: [0x48,0xf0,0x01,0xe0]
257// ERROR-NOLOB: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires: lob
258dls     lr, r8
259
260// CHECK: dls     lr, r9  @ encoding: [0x49,0xf0,0x01,0xe0]
261// CHECK-FP: dls     lr, r9  @ encoding: [0x49,0xf0,0x01,0xe0]
262// ERROR-NOLOB: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires: lob
263dls     lr, r9
264
265// CHECK: le      #-106  @ encoding: [0x2f,0xf0,0x35,0xc8]
266// CHECK-FP: le      #-106  @ encoding: [0x2f,0xf0,0x35,0xc8]
267// ERROR-NOLOB: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires: lob
268le      #-106
269
270// CHECK: le      #-1172  @ encoding: [0x2f,0xf0,0x4b,0xc2]
271// CHECK-FP: le      #-1172  @ encoding: [0x2f,0xf0,0x4b,0xc2]
272// ERROR-NOLOB: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires: lob
273le      #-1172
274
275// CHECK: le      #-1210  @ encoding: [0x2f,0xf0,0x5d,0xca]
276// CHECK-FP: le      #-1210  @ encoding: [0x2f,0xf0,0x5d,0xca]
277// ERROR-NOLOB: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires: lob
278le      #-1210
279
280// CHECK: le      #-1260  @ encoding: [0x2f,0xf0,0x77,0xc2]
281// CHECK-FP: le      #-1260  @ encoding: [0x2f,0xf0,0x77,0xc2]
282// ERROR-NOLOB: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires: lob
283le      #-1260
284
285// CHECK: le      #-1262  @ encoding: [0x2f,0xf0,0x77,0xca]
286// CHECK-FP: le      #-1262  @ encoding: [0x2f,0xf0,0x77,0xca]
287// ERROR-NOLOB: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires: lob
288le      #-1262
289
290// CHECK: le      #-1284  @ encoding: [0x2f,0xf0,0x83,0xc2]
291// CHECK-FP: le      #-1284  @ encoding: [0x2f,0xf0,0x83,0xc2]
292// ERROR-NOLOB: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires: lob
293le      #-1284
294
295// CHECK: le      #-1286  @ encoding: [0x2f,0xf0,0x83,0xca]
296// CHECK-FP: le      #-1286  @ encoding: [0x2f,0xf0,0x83,0xca]
297// ERROR-NOLOB: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires: lob
298le      #-1286
299
300// CHECK: le      #-1556  @ encoding: [0x2f,0xf0,0x0b,0xc3]
301// CHECK-FP: le      #-1556  @ encoding: [0x2f,0xf0,0x0b,0xc3]
302// ERROR-NOLOB: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires: lob
303le      #-1556
304
305// CHECK: le      #-178  @ encoding: [0x2f,0xf0,0x59,0xc8]
306// CHECK-FP: le      #-178  @ encoding: [0x2f,0xf0,0x59,0xc8]
307// ERROR-NOLOB: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires: lob
308le      #-178
309
310// CHECK: le      #-1882  @ encoding: [0x2f,0xf0,0xad,0xcb]
311// CHECK-FP: le      #-1882  @ encoding: [0x2f,0xf0,0xad,0xcb]
312// ERROR-NOLOB: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires: lob
313le      #-1882
314
315// CHECK: le      #-1900  @ encoding: [0x2f,0xf0,0xb7,0xc3]
316// CHECK-FP: le      #-1900  @ encoding: [0x2f,0xf0,0xb7,0xc3]
317// ERROR-NOLOB: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires: lob
318le      #-1900
319
320// CHECK: le      #-1910  @ encoding: [0x2f,0xf0,0xbb,0xcb]
321// CHECK-FP: le      #-1910  @ encoding: [0x2f,0xf0,0xbb,0xcb]
322// ERROR-NOLOB: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires: lob
323le      #-1910
324
325// CHECK: le      #-2076  @ encoding: [0x2f,0xf0,0x0f,0xc4]
326// CHECK-FP: le      #-2076  @ encoding: [0x2f,0xf0,0x0f,0xc4]
327// ERROR-NOLOB: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires: lob
328le      #-2076
329
330// CHECK: le      #-2266  @ encoding: [0x2f,0xf0,0x6d,0xcc]
331// CHECK-FP: le      #-2266  @ encoding: [0x2f,0xf0,0x6d,0xcc]
332// ERROR-NOLOB: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires: lob
333le      #-2266
334
335// CHECK: le      #-2324  @ encoding: [0x2f,0xf0,0x8b,0xc4]
336// CHECK-FP: le      #-2324  @ encoding: [0x2f,0xf0,0x8b,0xc4]
337// ERROR-NOLOB: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires: lob
338le      #-2324
339
340// CHECK: le      #-2328  @ encoding: [0x2f,0xf0,0x8d,0xc4]
341// CHECK-FP: le      #-2328  @ encoding: [0x2f,0xf0,0x8d,0xc4]
342// ERROR-NOLOB: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires: lob
343le      #-2328
344
345// CHECK: le      #-2456  @ encoding: [0x2f,0xf0,0xcd,0xc4]
346// CHECK-FP: le      #-2456  @ encoding: [0x2f,0xf0,0xcd,0xc4]
347// ERROR-NOLOB: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires: lob
348le      #-2456
349
350// CHECK: le      #-246  @ encoding: [0x2f,0xf0,0x7b,0xc8]
351// CHECK-FP: le      #-246  @ encoding: [0x2f,0xf0,0x7b,0xc8]
352// ERROR-NOLOB: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires: lob
353le      #-246
354
355// CHECK: le      #-2476  @ encoding: [0x2f,0xf0,0xd7,0xc4]
356// CHECK-FP: le      #-2476  @ encoding: [0x2f,0xf0,0xd7,0xc4]
357// ERROR-NOLOB: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires: lob
358le      #-2476
359
360// CHECK: le      #-2578  @ encoding: [0x2f,0xf0,0x09,0xcd]
361// CHECK-FP: le      #-2578  @ encoding: [0x2f,0xf0,0x09,0xcd]
362// ERROR-NOLOB: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires: lob
363le      #-2578
364
365// CHECK: le      #-262  @ encoding: [0x2f,0xf0,0x83,0xc8]
366// CHECK-FP: le      #-262  @ encoding: [0x2f,0xf0,0x83,0xc8]
367// ERROR-NOLOB: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires: lob
368le      #-262
369
370// CHECK: le      #-2660  @ encoding: [0x2f,0xf0,0x33,0xc5]
371// CHECK-FP: le      #-2660  @ encoding: [0x2f,0xf0,0x33,0xc5]
372// ERROR-NOLOB: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires: lob
373le      #-2660
374
375// CHECK: le      #-2722  @ encoding: [0x2f,0xf0,0x51,0xcd]
376// CHECK-FP: le      #-2722  @ encoding: [0x2f,0xf0,0x51,0xcd]
377// ERROR-NOLOB: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires: lob
378le      #-2722
379
380// CHECK: le      #-2868  @ encoding: [0x2f,0xf0,0x9b,0xc5]
381// CHECK-FP: le      #-2868  @ encoding: [0x2f,0xf0,0x9b,0xc5]
382// ERROR-NOLOB: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires: lob
383le      #-2868
384
385// CHECK: le      #-2882  @ encoding: [0x2f,0xf0,0xa1,0xcd]
386// CHECK-FP: le      #-2882  @ encoding: [0x2f,0xf0,0xa1,0xcd]
387// ERROR-NOLOB: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires: lob
388le      #-2882
389
390// CHECK: le      #-3154  @ encoding: [0x2f,0xf0,0x29,0xce]
391// CHECK-FP: le      #-3154  @ encoding: [0x2f,0xf0,0x29,0xce]
392// ERROR-NOLOB: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires: lob
393le      #-3154
394
395// CHECK: le      #-3274  @ encoding: [0x2f,0xf0,0x65,0xce]
396// CHECK-FP: le      #-3274  @ encoding: [0x2f,0xf0,0x65,0xce]
397// ERROR-NOLOB: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires: lob
398le      #-3274
399
400// CHECK: le      #-3352  @ encoding: [0x2f,0xf0,0x8d,0xc6]
401// CHECK-FP: le      #-3352  @ encoding: [0x2f,0xf0,0x8d,0xc6]
402// ERROR-NOLOB: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires: lob
403le      #-3352
404
405// CHECK: le      #-338  @ encoding: [0x2f,0xf0,0xa9,0xc8]
406// CHECK-FP: le      #-338  @ encoding: [0x2f,0xf0,0xa9,0xc8]
407// ERROR-NOLOB: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires: lob
408le      #-338
409
410// CHECK: le      #-3458  @ encoding: [0x2f,0xf0,0xc1,0xce]
411// CHECK-FP: le      #-3458  @ encoding: [0x2f,0xf0,0xc1,0xce]
412// ERROR-NOLOB: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires: lob
413le      #-3458
414
415// CHECK: le      #-3480  @ encoding: [0x2f,0xf0,0xcd,0xc6]
416// CHECK-FP: le      #-3480  @ encoding: [0x2f,0xf0,0xcd,0xc6]
417// ERROR-NOLOB: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires: lob
418le      #-3480
419
420// CHECK: le      #-3542  @ encoding: [0x2f,0xf0,0xeb,0xce]
421// CHECK-FP: le      #-3542  @ encoding: [0x2f,0xf0,0xeb,0xce]
422// ERROR-NOLOB: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires: lob
423le      #-3542
424
425// CHECK: le      #-3644  @ encoding: [0x2f,0xf0,0x1f,0xc7]
426// CHECK-FP: le      #-3644  @ encoding: [0x2f,0xf0,0x1f,0xc7]
427// ERROR-NOLOB: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires: lob
428le      #-3644
429
430// CHECK: le      #-3676  @ encoding: [0x2f,0xf0,0x2f,0xc7]
431// CHECK-FP: le      #-3676  @ encoding: [0x2f,0xf0,0x2f,0xc7]
432// ERROR-NOLOB: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires: lob
433le      #-3676
434
435// CHECK: le      #-3692  @ encoding: [0x2f,0xf0,0x37,0xc7]
436// CHECK-FP: le      #-3692  @ encoding: [0x2f,0xf0,0x37,0xc7]
437// ERROR-NOLOB: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires: lob
438le      #-3692
439
440// CHECK: le      #-3860  @ encoding: [0x2f,0xf0,0x8b,0xc7]
441// CHECK-FP: le      #-3860  @ encoding: [0x2f,0xf0,0x8b,0xc7]
442// ERROR-NOLOB: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires: lob
443le      #-3860
444
445// CHECK: le      #-3986  @ encoding: [0x2f,0xf0,0xc9,0xcf]
446// CHECK-FP: le      #-3986  @ encoding: [0x2f,0xf0,0xc9,0xcf]
447// ERROR-NOLOB: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires: lob
448le      #-3986
449
450// CHECK: le      #-4006  @ encoding: [0x2f,0xf0,0xd3,0xcf]
451// CHECK-FP: le      #-4006  @ encoding: [0x2f,0xf0,0xd3,0xcf]
452// ERROR-NOLOB: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires: lob
453le      #-4006
454
455// CHECK: le      #-4034  @ encoding: [0x2f,0xf0,0xe1,0xcf]
456// CHECK-FP: le      #-4034  @ encoding: [0x2f,0xf0,0xe1,0xcf]
457// ERROR-NOLOB: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires: lob
458le      #-4034
459
460// CHECK: le      #-4060  @ encoding: [0x2f,0xf0,0xef,0xc7]
461// CHECK-FP: le      #-4060  @ encoding: [0x2f,0xf0,0xef,0xc7]
462// ERROR-NOLOB: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires: lob
463le      #-4060
464
465// CHECK: le      #-4068  @ encoding: [0x2f,0xf0,0xf3,0xc7]
466// CHECK-FP: le      #-4068  @ encoding: [0x2f,0xf0,0xf3,0xc7]
467// ERROR-NOLOB: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires: lob
468le      #-4068
469
470// CHECK: le      #-478  @ encoding: [0x2f,0xf0,0xef,0xc8]
471// CHECK-FP: le      #-478  @ encoding: [0x2f,0xf0,0xef,0xc8]
472// ERROR-NOLOB: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires: lob
473le      #-478
474
475// CHECK: le      #-544  @ encoding: [0x2f,0xf0,0x11,0xc1]
476// CHECK-FP: le      #-544  @ encoding: [0x2f,0xf0,0x11,0xc1]
477// ERROR-NOLOB: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires: lob
478le      #-544
479
480// CHECK: le      #-586  @ encoding: [0x2f,0xf0,0x25,0xc9]
481// CHECK-FP: le      #-586  @ encoding: [0x2f,0xf0,0x25,0xc9]
482// ERROR-NOLOB: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires: lob
483le      #-586
484
485// CHECK: le      #-606  @ encoding: [0x2f,0xf0,0x2f,0xc9]
486// CHECK-FP: le      #-606  @ encoding: [0x2f,0xf0,0x2f,0xc9]
487// ERROR-NOLOB: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires: lob
488le      #-606
489
490// CHECK: le      #-656  @ encoding: [0x2f,0xf0,0x49,0xc1]
491// CHECK-FP: le      #-656  @ encoding: [0x2f,0xf0,0x49,0xc1]
492// ERROR-NOLOB: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires: lob
493le      #-656
494
495// CHECK: le      #-740  @ encoding: [0x2f,0xf0,0x73,0xc1]
496// CHECK-FP: le      #-740  @ encoding: [0x2f,0xf0,0x73,0xc1]
497// ERROR-NOLOB: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires: lob
498le      #-740
499
500// CHECK: le      #-762  @ encoding: [0x2f,0xf0,0x7d,0xc9]
501// CHECK-FP: le      #-762  @ encoding: [0x2f,0xf0,0x7d,0xc9]
502// ERROR-NOLOB: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires: lob
503le      #-762
504
505// CHECK: le      #-862  @ encoding: [0x2f,0xf0,0xaf,0xc9]
506// CHECK-FP: le      #-862  @ encoding: [0x2f,0xf0,0xaf,0xc9]
507// ERROR-NOLOB: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires: lob
508le      #-862
509
510// CHECK: le      #-870  @ encoding: [0x2f,0xf0,0xb3,0xc9]
511// CHECK-FP: le      #-870  @ encoding: [0x2f,0xf0,0xb3,0xc9]
512// ERROR-NOLOB: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires: lob
513le      #-870
514
515// CHECK: le      lr, #-1080  @ encoding: [0x0f,0xf0,0x1d,0xc2]
516// CHECK-FP: le      lr, #-1080  @ encoding: [0x0f,0xf0,0x1d,0xc2]
517// ERROR-NOLOB: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires: lob
518le      lr, #-1080
519
520// CHECK: le      lr, #-1104  @ encoding: [0x0f,0xf0,0x29,0xc2]
521// CHECK-FP: le      lr, #-1104  @ encoding: [0x0f,0xf0,0x29,0xc2]
522// ERROR-NOLOB: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires: lob
523le      lr, #-1104
524
525// CHECK: le      lr, #-1152  @ encoding: [0x0f,0xf0,0x41,0xc2]
526// CHECK-FP: le      lr, #-1152  @ encoding: [0x0f,0xf0,0x41,0xc2]
527// ERROR-NOLOB: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires: lob
528le      lr, #-1152
529
530// CHECK: le      lr, #-1462  @ encoding: [0x0f,0xf0,0xdb,0xca]
531// CHECK-FP: le      lr, #-1462  @ encoding: [0x0f,0xf0,0xdb,0xca]
532// ERROR-NOLOB: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires: lob
533le      lr, #-1462
534
535// CHECK: le      lr, #-1470  @ encoding: [0x0f,0xf0,0xdf,0xca]
536// CHECK-FP: le      lr, #-1470  @ encoding: [0x0f,0xf0,0xdf,0xca]
537// ERROR-NOLOB: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires: lob
538le      lr, #-1470
539
540// CHECK: le      lr, #-1612  @ encoding: [0x0f,0xf0,0x27,0xc3]
541// CHECK-FP: le      lr, #-1612  @ encoding: [0x0f,0xf0,0x27,0xc3]
542// ERROR-NOLOB: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires: lob
543le      lr, #-1612
544
545// CHECK: le      lr, #-1632  @ encoding: [0x0f,0xf0,0x31,0xc3]
546// CHECK-FP: le      lr, #-1632  @ encoding: [0x0f,0xf0,0x31,0xc3]
547// ERROR-NOLOB: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires: lob
548le      lr, #-1632
549
550// CHECK: le      lr, #-1694  @ encoding: [0x0f,0xf0,0x4f,0xcb]
551// CHECK-FP: le      lr, #-1694  @ encoding: [0x0f,0xf0,0x4f,0xcb]
552// ERROR-NOLOB: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires: lob
553le      lr, #-1694
554
555// CHECK: le      lr, #-1714  @ encoding: [0x0f,0xf0,0x59,0xcb]
556// CHECK-FP: le      lr, #-1714  @ encoding: [0x0f,0xf0,0x59,0xcb]
557// ERROR-NOLOB: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires: lob
558le      lr, #-1714
559
560// CHECK: le      lr, #-1850  @ encoding: [0x0f,0xf0,0x9d,0xcb]
561// CHECK-FP: le      lr, #-1850  @ encoding: [0x0f,0xf0,0x9d,0xcb]
562// ERROR-NOLOB: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires: lob
563le      lr, #-1850
564
565// CHECK: le      lr, #-1878  @ encoding: [0x0f,0xf0,0xab,0xcb]
566// CHECK-FP: le      lr, #-1878  @ encoding: [0x0f,0xf0,0xab,0xcb]
567// ERROR-NOLOB: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires: lob
568le      lr, #-1878
569
570// CHECK: le      lr, #-1896  @ encoding: [0x0f,0xf0,0xb5,0xc3]
571// CHECK-FP: le      lr, #-1896  @ encoding: [0x0f,0xf0,0xb5,0xc3]
572// ERROR-NOLOB: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires: lob
573le      lr, #-1896
574
575// CHECK: le      lr, #-1922  @ encoding: [0x0f,0xf0,0xc1,0xcb]
576// CHECK-FP: le      lr, #-1922  @ encoding: [0x0f,0xf0,0xc1,0xcb]
577// ERROR-NOLOB: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires: lob
578le      lr, #-1922
579
580// CHECK: le      lr, #-1926  @ encoding: [0x0f,0xf0,0xc3,0xcb]
581// CHECK-FP: le      lr, #-1926  @ encoding: [0x0f,0xf0,0xc3,0xcb]
582// ERROR-NOLOB: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires: lob
583le      lr, #-1926
584
585// CHECK: le      lr, #-2  @ encoding: [0x0f,0xf0,0x01,0xc8]
586// CHECK-FP: le      lr, #-2  @ encoding: [0x0f,0xf0,0x01,0xc8]
587// ERROR-NOLOB: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires: lob
588le      lr, #-2
589
590// CHECK: le      lr, #-2104  @ encoding: [0x0f,0xf0,0x1d,0xc4]
591// CHECK-FP: le      lr, #-2104  @ encoding: [0x0f,0xf0,0x1d,0xc4]
592// ERROR-NOLOB: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires: lob
593le      lr, #-2104
594
595// CHECK: le      lr, #-2116  @ encoding: [0x0f,0xf0,0x23,0xc4]
596// CHECK-FP: le      lr, #-2116  @ encoding: [0x0f,0xf0,0x23,0xc4]
597// ERROR-NOLOB: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires: lob
598le      lr, #-2116
599
600// CHECK: le      lr, #-2144  @ encoding: [0x0f,0xf0,0x31,0xc4]
601// CHECK-FP: le      lr, #-2144  @ encoding: [0x0f,0xf0,0x31,0xc4]
602// ERROR-NOLOB: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires: lob
603le      lr, #-2144
604
605// CHECK: le      lr, #-2188  @ encoding: [0x0f,0xf0,0x47,0xc4]
606// CHECK-FP: le      lr, #-2188  @ encoding: [0x0f,0xf0,0x47,0xc4]
607// ERROR-NOLOB: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires: lob
608le      lr, #-2188
609
610// CHECK: le      lr, #-2344  @ encoding: [0x0f,0xf0,0x95,0xc4]
611// CHECK-FP: le      lr, #-2344  @ encoding: [0x0f,0xf0,0x95,0xc4]
612// ERROR-NOLOB: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires: lob
613le      lr, #-2344
614
615// CHECK: le      lr, #-2456  @ encoding: [0x0f,0xf0,0xcd,0xc4]
616// CHECK-FP: le      lr, #-2456  @ encoding: [0x0f,0xf0,0xcd,0xc4]
617// ERROR-NOLOB: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires: lob
618le      lr, #-2456
619
620// CHECK: le      lr, #-2608  @ encoding: [0x0f,0xf0,0x19,0xc5]
621// CHECK-FP: le      lr, #-2608  @ encoding: [0x0f,0xf0,0x19,0xc5]
622// ERROR-NOLOB: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires: lob
623le      lr, #-2608
624
625// CHECK: le      lr, #-2616  @ encoding: [0x0f,0xf0,0x1d,0xc5]
626// CHECK-FP: le      lr, #-2616  @ encoding: [0x0f,0xf0,0x1d,0xc5]
627// ERROR-NOLOB: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires: lob
628le      lr, #-2616
629
630// CHECK: le      lr, #-2622  @ encoding: [0x0f,0xf0,0x1f,0xcd]
631// CHECK-FP: le      lr, #-2622  @ encoding: [0x0f,0xf0,0x1f,0xcd]
632// ERROR-NOLOB: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires: lob
633le      lr, #-2622
634
635// CHECK: le      lr, #-2680  @ encoding: [0x0f,0xf0,0x3d,0xc5]
636// CHECK-FP: le      lr, #-2680  @ encoding: [0x0f,0xf0,0x3d,0xc5]
637// ERROR-NOLOB: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires: lob
638le      lr, #-2680
639
640// CHECK: le      lr, #-2694  @ encoding: [0x0f,0xf0,0x43,0xcd]
641// CHECK-FP: le      lr, #-2694  @ encoding: [0x0f,0xf0,0x43,0xcd]
642// ERROR-NOLOB: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires: lob
643le      lr, #-2694
644
645// CHECK: le      lr, #-2850  @ encoding: [0x0f,0xf0,0x91,0xcd]
646// CHECK-FP: le      lr, #-2850  @ encoding: [0x0f,0xf0,0x91,0xcd]
647// ERROR-NOLOB: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires: lob
648le      lr, #-2850
649
650// CHECK: le      lr, #-2860  @ encoding: [0x0f,0xf0,0x97,0xc5]
651// CHECK-FP: le      lr, #-2860  @ encoding: [0x0f,0xf0,0x97,0xc5]
652// ERROR-NOLOB: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires: lob
653le      lr, #-2860
654
655// CHECK: le      lr, #-3004  @ encoding: [0x0f,0xf0,0xdf,0xc5]
656// CHECK-FP: le      lr, #-3004  @ encoding: [0x0f,0xf0,0xdf,0xc5]
657// ERROR-NOLOB: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires: lob
658le      lr, #-3004
659
660// CHECK: le      lr, #-3018  @ encoding: [0x0f,0xf0,0xe5,0xcd]
661// CHECK-FP: le      lr, #-3018  @ encoding: [0x0f,0xf0,0xe5,0xcd]
662// ERROR-NOLOB: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires: lob
663le      lr, #-3018
664
665// CHECK: le      lr, #-304  @ encoding: [0x0f,0xf0,0x99,0xc0]
666// CHECK-FP: le      lr, #-304  @ encoding: [0x0f,0xf0,0x99,0xc0]
667// ERROR-NOLOB: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires: lob
668le      lr, #-304
669
670// CHECK: le      lr, #-3098  @ encoding: [0x0f,0xf0,0x0d,0xce]
671// CHECK-FP: le      lr, #-3098  @ encoding: [0x0f,0xf0,0x0d,0xce]
672// ERROR-NOLOB: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires: lob
673le      lr, #-3098
674
675// CHECK: le      lr, #-3228  @ encoding: [0x0f,0xf0,0x4f,0xc6]
676// CHECK-FP: le      lr, #-3228  @ encoding: [0x0f,0xf0,0x4f,0xc6]
677// ERROR-NOLOB: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires: lob
678le      lr, #-3228
679
680// CHECK: le      lr, #-3316  @ encoding: [0x0f,0xf0,0x7b,0xc6]
681// CHECK-FP: le      lr, #-3316  @ encoding: [0x0f,0xf0,0x7b,0xc6]
682// ERROR-NOLOB: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires: lob
683le      lr, #-3316
684
685// CHECK: le      lr, #-3332  @ encoding: [0x0f,0xf0,0x83,0xc6]
686// CHECK-FP: le      lr, #-3332  @ encoding: [0x0f,0xf0,0x83,0xc6]
687// ERROR-NOLOB: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires: lob
688le      lr, #-3332
689
690// CHECK: le      lr, #-3354  @ encoding: [0x0f,0xf0,0x8d,0xce]
691// CHECK-FP: le      lr, #-3354  @ encoding: [0x0f,0xf0,0x8d,0xce]
692// ERROR-NOLOB: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires: lob
693le      lr, #-3354
694
695// CHECK: le      lr, #-3962  @ encoding: [0x0f,0xf0,0xbd,0xcf]
696// CHECK-FP: le      lr, #-3962  @ encoding: [0x0f,0xf0,0xbd,0xcf]
697// ERROR-NOLOB: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires: lob
698le      lr, #-3962
699
700// CHECK: le      lr, #-4042  @ encoding: [0x0f,0xf0,0xe5,0xcf]
701// CHECK-FP: le      lr, #-4042  @ encoding: [0x0f,0xf0,0xe5,0xcf]
702// ERROR-NOLOB: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires: lob
703le      lr, #-4042
704
705// CHECK: le      lr, #-4052  @ encoding: [0x0f,0xf0,0xeb,0xc7]
706// CHECK-FP: le      lr, #-4052  @ encoding: [0x0f,0xf0,0xeb,0xc7]
707// ERROR-NOLOB: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires: lob
708le      lr, #-4052
709
710// CHECK: le      lr, #-458  @ encoding: [0x0f,0xf0,0xe5,0xc8]
711// CHECK-FP: le      lr, #-458  @ encoding: [0x0f,0xf0,0xe5,0xc8]
712// ERROR-NOLOB: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires: lob
713le      lr, #-458
714
715// CHECK: le      lr, #-56  @ encoding: [0x0f,0xf0,0x1d,0xc0]
716// CHECK-FP: le      lr, #-56  @ encoding: [0x0f,0xf0,0x1d,0xc0]
717// ERROR-NOLOB: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires: lob
718le      lr, #-56
719
720// CHECK: le      lr, #-582  @ encoding: [0x0f,0xf0,0x23,0xc9]
721// CHECK-FP: le      lr, #-582  @ encoding: [0x0f,0xf0,0x23,0xc9]
722// ERROR-NOLOB: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires: lob
723le      lr, #-582
724
725// CHECK: le      lr, #-676  @ encoding: [0x0f,0xf0,0x53,0xc1]
726// CHECK-FP: le      lr, #-676  @ encoding: [0x0f,0xf0,0x53,0xc1]
727// ERROR-NOLOB: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires: lob
728le      lr, #-676
729
730// CHECK: le      lr, #-752  @ encoding: [0x0f,0xf0,0x79,0xc1]
731// CHECK-FP: le      lr, #-752  @ encoding: [0x0f,0xf0,0x79,0xc1]
732// ERROR-NOLOB: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires: lob
733le      lr, #-752
734
735// CHECK: le      lr, #-76  @ encoding: [0x0f,0xf0,0x27,0xc0]
736// CHECK-FP: le      lr, #-76  @ encoding: [0x0f,0xf0,0x27,0xc0]
737// ERROR-NOLOB: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires: lob
738le      lr, #-76
739
740// CHECK: le      lr, #-802  @ encoding: [0x0f,0xf0,0x91,0xc9]
741// CHECK-FP: le      lr, #-802  @ encoding: [0x0f,0xf0,0x91,0xc9]
742// ERROR-NOLOB: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires: lob
743le      lr, #-802
744
745// CHECK: le      lr, #-862  @ encoding: [0x0f,0xf0,0xaf,0xc9]
746// CHECK-FP: le      lr, #-862  @ encoding: [0x0f,0xf0,0xaf,0xc9]
747// ERROR-NOLOB: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires: lob
748le      lr, #-862
749
750// CHECK: le      lr, #-902  @ encoding: [0x0f,0xf0,0xc3,0xc9]
751// CHECK-FP: le      lr, #-902  @ encoding: [0x0f,0xf0,0xc3,0xc9]
752// ERROR-NOLOB: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires: lob
753le      lr, #-902
754
755// CHECK: le      lr, #-968  @ encoding: [0x0f,0xf0,0xe5,0xc1]
756// CHECK-FP: le      lr, #-968  @ encoding: [0x0f,0xf0,0xe5,0xc1]
757// ERROR-NOLOB: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires: lob
758le      lr, #-968
759
760// CHECK: wls     lr, lr, #1192  @ encoding: [0x4e,0xf0,0x55,0xc2]
761// CHECK-FP: wls     lr, lr, #1192  @ encoding: [0x4e,0xf0,0x55,0xc2]
762// ERROR-NOLOB: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires: lob
763wls     lr, lr, #1192
764
765// CHECK: wls     lr, lr, #2134  @ encoding: [0x4e,0xf0,0x2b,0xcc]
766// CHECK-FP: wls     lr, lr, #2134  @ encoding: [0x4e,0xf0,0x2b,0xcc]
767// ERROR-NOLOB: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires: lob
768wls     lr, lr, #2134
769
770// CHECK: wls     lr, lr, #962  @ encoding: [0x4e,0xf0,0xe1,0xc9]
771// CHECK-FP: wls     lr, lr, #962  @ encoding: [0x4e,0xf0,0xe1,0xc9]
772// ERROR-NOLOB: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires: lob
773wls     lr, lr, #962
774
775// CHECK: wls     lr, r0, #1668  @ encoding: [0x40,0xf0,0x43,0xc3]
776// CHECK-FP: wls     lr, r0, #1668  @ encoding: [0x40,0xf0,0x43,0xc3]
777// ERROR-NOLOB: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires: lob
778wls     lr, r0, #1668
779
780// CHECK: wls     lr, r0, #2706  @ encoding: [0x40,0xf0,0x49,0xcd]
781// CHECK-FP: wls     lr, r0, #2706  @ encoding: [0x40,0xf0,0x49,0xcd]
782// ERROR-NOLOB: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires: lob
783wls     lr, r0, #2706
784
785// CHECK: wls     lr, r0, #3026  @ encoding: [0x40,0xf0,0xe9,0xcd]
786// CHECK-FP: wls     lr, r0, #3026  @ encoding: [0x40,0xf0,0xe9,0xcd]
787// ERROR-NOLOB: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires: lob
788wls     lr, r0, #3026
789
790// CHECK: wls     lr, r0, #3436  @ encoding: [0x40,0xf0,0xb7,0xc6]
791// CHECK-FP: wls     lr, r0, #3436  @ encoding: [0x40,0xf0,0xb7,0xc6]
792// ERROR-NOLOB: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires: lob
793wls     lr, r0, #3436
794
795// CHECK: wls     lr, r1, #1060  @ encoding: [0x41,0xf0,0x13,0xc2]
796// CHECK-FP: wls     lr, r1, #1060  @ encoding: [0x41,0xf0,0x13,0xc2]
797// ERROR-NOLOB: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires: lob
798wls     lr, r1, #1060
799
800// CHECK: wls     lr, r1, #4036  @ encoding: [0x41,0xf0,0xe3,0xc7]
801// CHECK-FP: wls     lr, r1, #4036  @ encoding: [0x41,0xf0,0xe3,0xc7]
802// ERROR-NOLOB: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires: lob
803wls     lr, r1, #4036
804
805// CHECK: wls     lr, r1, #538  @ encoding: [0x41,0xf0,0x0d,0xc9]
806// CHECK-FP: wls     lr, r1, #538  @ encoding: [0x41,0xf0,0x0d,0xc9]
807// ERROR-NOLOB: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires: lob
808wls     lr, r1, #538
809
810// CHECK: wls     lr, r10, #1404  @ encoding: [0x4a,0xf0,0xbf,0xc2]
811// CHECK-FP: wls     lr, r10, #1404  @ encoding: [0x4a,0xf0,0xbf,0xc2]
812// ERROR-NOLOB: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires: lob
813wls     lr, r10, #1404
814
815// CHECK: wls     lr, r10, #1408  @ encoding: [0x4a,0xf0,0xc1,0xc2]
816// CHECK-FP: wls     lr, r10, #1408  @ encoding: [0x4a,0xf0,0xc1,0xc2]
817// ERROR-NOLOB: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires: lob
818wls     lr, r10, #1408
819
820// CHECK: wls     lr, r10, #2358  @ encoding: [0x4a,0xf0,0x9b,0xcc]
821// CHECK-FP: wls     lr, r10, #2358  @ encoding: [0x4a,0xf0,0x9b,0xcc]
822// ERROR-NOLOB: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires: lob
823wls     lr, r10, #2358
824
825// CHECK: wls     lr, r10, #4086  @ encoding: [0x4a,0xf0,0xfb,0xcf]
826// CHECK-FP: wls     lr, r10, #4086  @ encoding: [0x4a,0xf0,0xfb,0xcf]
827// ERROR-NOLOB: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires: lob
828wls     lr, r10, #4086
829
830// CHECK: wls     lr, r11, #1442  @ encoding: [0x4b,0xf0,0xd1,0xca]
831// CHECK-FP: wls     lr, r11, #1442  @ encoding: [0x4b,0xf0,0xd1,0xca]
832// ERROR-NOLOB: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires: lob
833wls     lr, r11, #1442
834
835// CHECK: wls     lr, r11, #2678  @ encoding: [0x4b,0xf0,0x3b,0xcd]
836// CHECK-FP: wls     lr, r11, #2678  @ encoding: [0x4b,0xf0,0x3b,0xcd]
837// ERROR-NOLOB: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires: lob
838wls     lr, r11, #2678
839
840// CHECK: wls     lr, r11, #3610  @ encoding: [0x4b,0xf0,0x0d,0xcf]
841// CHECK-FP: wls     lr, r11, #3610  @ encoding: [0x4b,0xf0,0x0d,0xcf]
842// ERROR-NOLOB: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires: lob
843wls     lr, r11, #3610
844
845// CHECK: wls     lr, r12, #206  @ encoding: [0x4c,0xf0,0x67,0xc8]
846// CHECK-FP: wls     lr, r12, #206  @ encoding: [0x4c,0xf0,0x67,0xc8]
847// ERROR-NOLOB: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires: lob
848wls     lr, r12, #206
849
850// CHECK: wls     lr, r12, #2896  @ encoding: [0x4c,0xf0,0xa9,0xc5]
851// CHECK-FP: wls     lr, r12, #2896  @ encoding: [0x4c,0xf0,0xa9,0xc5]
852// ERROR-NOLOB: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires: lob
853wls     lr, r12, #2896
854
855// CHECK: wls     lr, r12, #3258  @ encoding: [0x4c,0xf0,0x5d,0xce]
856// CHECK-FP: wls     lr, r12, #3258  @ encoding: [0x4c,0xf0,0x5d,0xce]
857// ERROR-NOLOB: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires: lob
858wls     lr, r12, #3258
859
860// CHECK: wls     lr, r2, #3242  @ encoding: [0x42,0xf0,0x55,0xce]
861// CHECK-FP: wls     lr, r2, #3242  @ encoding: [0x42,0xf0,0x55,0xce]
862// ERROR-NOLOB: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires: lob
863wls     lr, r2, #3242
864
865// CHECK: wls     lr, r2, #3832  @ encoding: [0x42,0xf0,0x7d,0xc7]
866// CHECK-FP: wls     lr, r2, #3832  @ encoding: [0x42,0xf0,0x7d,0xc7]
867// ERROR-NOLOB: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires: lob
868wls     lr, r2, #3832
869
870// CHECK: wls     lr, r2, #872  @ encoding: [0x42,0xf0,0xb5,0xc1]
871// CHECK-FP: wls     lr, r2, #872  @ encoding: [0x42,0xf0,0xb5,0xc1]
872// ERROR-NOLOB: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires: lob
873wls     lr, r2, #872
874
875// CHECK: wls     lr, r3, #3514  @ encoding: [0x43,0xf0,0xdd,0xce]
876// CHECK-FP: wls     lr, r3, #3514  @ encoding: [0x43,0xf0,0xdd,0xce]
877// ERROR-NOLOB: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires: lob
878wls     lr, r3, #3514
879
880// CHECK: wls     lr, r3, #3636  @ encoding: [0x43,0xf0,0x1b,0xc7]
881// CHECK-FP: wls     lr, r3, #3636  @ encoding: [0x43,0xf0,0x1b,0xc7]
882// ERROR-NOLOB: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires: lob
883wls     lr, r3, #3636
884
885// CHECK: wls     lr, r3, #3942  @ encoding: [0x43,0xf0,0xb3,0xcf]
886// CHECK-FP: wls     lr, r3, #3942  @ encoding: [0x43,0xf0,0xb3,0xcf]
887// ERROR-NOLOB: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires: lob
888wls     lr, r3, #3942
889
890// CHECK: wls     lr, r3, #712  @ encoding: [0x43,0xf0,0x65,0xc1]
891// CHECK-FP: wls     lr, r3, #712  @ encoding: [0x43,0xf0,0x65,0xc1]
892// ERROR-NOLOB: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires: lob
893wls     lr, r3, #712
894
895// CHECK: wls     lr, r4, #2146  @ encoding: [0x44,0xf0,0x31,0xcc]
896// CHECK-FP: wls     lr, r4, #2146  @ encoding: [0x44,0xf0,0x31,0xcc]
897// ERROR-NOLOB: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires: lob
898wls     lr, r4, #2146
899
900// CHECK: wls     lr, r4, #2486  @ encoding: [0x44,0xf0,0xdb,0xcc]
901// CHECK-FP: wls     lr, r4, #2486  @ encoding: [0x44,0xf0,0xdb,0xcc]
902// ERROR-NOLOB: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires: lob
903wls     lr, r4, #2486
904
905// CHECK: wls     lr, r5, #1906  @ encoding: [0x45,0xf0,0xb9,0xcb]
906// CHECK-FP: wls     lr, r5, #1906  @ encoding: [0x45,0xf0,0xb9,0xcb]
907// ERROR-NOLOB: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires: lob
908wls     lr, r5, #1906
909
910// CHECK: wls     lr, r5, #3396  @ encoding: [0x45,0xf0,0xa3,0xc6]
911// CHECK-FP: wls     lr, r5, #3396  @ encoding: [0x45,0xf0,0xa3,0xc6]
912// ERROR-NOLOB: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires: lob
913wls     lr, r5, #3396
914
915// CHECK: wls     lr, r6, #3326  @ encoding: [0x46,0xf0,0x7f,0xce]
916// CHECK-FP: wls     lr, r6, #3326  @ encoding: [0x46,0xf0,0x7f,0xce]
917// ERROR-NOLOB: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires: lob
918wls     lr, r6, #3326
919
920// CHECK: wls     lr, r6, #416  @ encoding: [0x46,0xf0,0xd1,0xc0]
921// CHECK-FP: wls     lr, r6, #416  @ encoding: [0x46,0xf0,0xd1,0xc0]
922// ERROR-NOLOB: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires: lob
923wls     lr, r6, #416
924
925// CHECK: wls     lr, r6, #422  @ encoding: [0x46,0xf0,0xd3,0xc8]
926// CHECK-FP: wls     lr, r6, #422  @ encoding: [0x46,0xf0,0xd3,0xc8]
927// ERROR-NOLOB: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires: lob
928wls     lr, r6, #422
929
930// CHECK: wls     lr, r7, #3474  @ encoding: [0x47,0xf0,0xc9,0xce]
931// CHECK-FP: wls     lr, r7, #3474  @ encoding: [0x47,0xf0,0xc9,0xce]
932// ERROR-NOLOB: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires: lob
933wls     lr, r7, #3474
934
935// CHECK: wls     lr, r7, #3640  @ encoding: [0x47,0xf0,0x1d,0xc7]
936// CHECK-FP: wls     lr, r7, #3640  @ encoding: [0x47,0xf0,0x1d,0xc7]
937// ERROR-NOLOB: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires: lob
938wls     lr, r7, #3640
939
940// CHECK: wls     lr, r8, #2700  @ encoding: [0x48,0xf0,0x47,0xc5]
941// CHECK-FP: wls     lr, r8, #2700  @ encoding: [0x48,0xf0,0x47,0xc5]
942// ERROR-NOLOB: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires: lob
943wls     lr, r8, #2700
944
945// CHECK: wls     lr, r9, #1114  @ encoding: [0x49,0xf0,0x2d,0xca]
946// CHECK-FP: wls     lr, r9, #1114  @ encoding: [0x49,0xf0,0x2d,0xca]
947// ERROR-NOLOB: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires: lob
948wls     lr, r9, #1114
949
950// CHECK: wls     lr, r9, #1984  @ encoding: [0x49,0xf0,0xe1,0xc3]
951// CHECK-FP: wls     lr, r9, #1984  @ encoding: [0x49,0xf0,0xe1,0xc3]
952// ERROR-NOLOB: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires: lob
953wls     lr, r9, #1984
954
955// CHECK: wls     lr, r9, #3758  @ encoding: [0x49,0xf0,0x57,0xcf]
956// CHECK-FP: wls     lr, r9, #3758  @ encoding: [0x49,0xf0,0x57,0xcf]
957// ERROR-NOLOB: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires: lob
958wls     lr, r9, #3758
959
960// CHECK: wls     lr, r9, #3796  @ encoding: [0x49,0xf0,0x6b,0xc7]
961// CHECK-FP: wls     lr, r9, #3796  @ encoding: [0x49,0xf0,0x6b,0xc7]
962// ERROR-NOLOB: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires: lob
963wls     lr, r9, #3796
964
965// ERROR: :[[@LINE+3]]:{{[0-9]+}}: error: invalid operand for instruction
966// ERROR-FP: :[[@LINE+2]]:{{[0-9]+}}: error: invalid operand for instruction
967// ERROR-NOLOB: :[[@LINE+1]]:{{[0-9]+}}: error:
968wls r10, r9, #2
969
970// ERROR: :[[@LINE+3]]:{{[0-9]+}}: error: loop end is out of range or not a positive multiple of 2
971// ERROR-FP: :[[@LINE+2]]:{{[0-9]+}}: error: loop end is out of range or not a positive multiple of 2
972// ERROR-NOLOB: :[[@LINE+1]]:{{[0-9]+}}: error:
973wls lr, r9, #1
974
975// ERROR: :[[@LINE+3]]:{{[0-9]+}}: error: loop end is out of range or not a positive multiple of 2
976// ERROR-FP: :[[@LINE+2]]:{{[0-9]+}}: error: loop end is out of range or not a positive multiple of 2
977// ERROR-NOLOB: :[[@LINE+1]]:{{[0-9]+}}: error:
978wls lr, r9, #-2
979
980// ERROR: :[[@LINE+3]]:{{[0-9]+}}: error: loop end is out of range or not a positive multiple of 2
981// ERROR-FP: :[[@LINE+2]]:{{[0-9]+}}: error: loop end is out of range or not a positive multiple of 2
982// ERROR-NOLOB: :[[@LINE+1]]:{{[0-9]+}}: error:
983wls lr, r9, #4096
984
985// ERROR: :[[@LINE+3]]:{{[0-9]+}}: error: loop start is out of range or not a negative multiple of 2
986// ERROR-FP: :[[@LINE+2]]:{{[0-9]+}}: error: loop start is out of range or not a negative multiple of 2
987// ERROR-NOLOB: :[[@LINE+1]]:{{[0-9]+}}: error:
988le lr, #-1
989
990// ERROR: :[[@LINE+3]]:{{[0-9]+}}: error: loop start is out of range or not a negative multiple of 2
991// ERROR-FP: :[[@LINE+2]]:{{[0-9]+}}: error: loop start is out of range or not a negative multiple of 2
992// ERROR-NOLOB: :[[@LINE+1]]:{{[0-9]+}}: error:
993le lr, #2
994
995// ERROR: :[[@LINE+3]]:{{[0-9]+}}: error: loop start is out of range or not a negative multiple of 2
996// ERROR-FP: :[[@LINE+2]]:{{[0-9]+}}: error: loop start is out of range or not a negative multiple of 2
997// ERROR-NOLOB: :[[@LINE+1]]:{{[0-9]+}}: error:
998le lr, #-4096
999
1000// ERROR: :[[@LINE+3]]:{{[0-9]+}}: error: invalid operand for instruction
1001// ERROR-FP: :[[@LINE+2]]:{{[0-9]+}}: error: invalid operand for instruction
1002// ERROR-NOLOB: :[[@LINE+1]]:{{[0-9]+}}:
1003le r10, #-4
1004
1005# ERROR: :[[@LINE+3]]:{{[0-9]+}}: error: instruction requires: 16-bit fp registers
1006# ERROR-NOLOB: :[[@LINE+2]]:{{[0-9]+}}: error: instruction requires: 16-bit fp registers
1007# CHECK-FP: vmov.f16 s7, r8 @ encoding: [0x03,0xee,0x90,0x89]
1008vmov.f16 s7, r8
1009
1010# ERROR: :[[@LINE+3]]:{{[0-9]+}}: error: instruction requires: 16-bit fp registers
1011# ERROR-NOLOB: :[[@LINE+2]]:{{[0-9]+}}: error: instruction requires: 16-bit fp registers
1012# CHECK-FP: vmov.f16 s10, r5 @ encoding: [0x05,0xee,0x10,0x59]
1013vmov.f16 s10, r5
1014
1015# ERROR: :[[@LINE+3]]:{{[0-9]+}}: error: instruction requires: 16-bit fp registers
1016# ERROR-NOLOB: :[[@LINE+2]]:{{[0-9]+}}: error: instruction requires: 16-bit fp registers
1017# CHECK-FP: vmov.f16 s31, r10 @ encoding: [0x0f,0xee,0x90,0xa9]
1018vmov.f16 s31, r10
1019
1020# ERROR: :[[@LINE+3]]:{{[0-9]+}}: error: instruction requires: 16-bit fp registers
1021# ERROR-NOLOB: :[[@LINE+2]]:{{[0-9]+}}: error: instruction requires: 16-bit fp registers
1022# CHECK-FP: vmov.f16 r8, s7 @ encoding: [0x13,0xee,0x90,0x89]
1023vmov.f16 r8, s7
1024
1025# ERROR: :[[@LINE+3]]:{{[0-9]+}}: error: instruction requires: 16-bit fp registers
1026# ERROR-NOLOB: :[[@LINE+2]]:{{[0-9]+}}: error: instruction requires: 16-bit fp registers
1027# CHECK-FP: vmov.f16 r5, s10 @ encoding: [0x15,0xee,0x10,0x59]
1028vmov.f16 r5, s10
1029
1030# ERROR: :[[@LINE+3]]:{{[0-9]+}}: error: instruction requires: 16-bit fp registers
1031# ERROR-NOLOB: :[[@LINE+2]]:{{[0-9]+}}: error: instruction requires: 16-bit fp registers
1032# CHECK-FP: vmov.f16 r10, s31        @ encoding: [0x1f,0xee,0x90,0xa9]
1033vmov.f16 r10, s31
1034
1035# ERROR: :[[@LINE+3]]:{{[0-9]+}}: error: invalid instruction
1036# ERROR-NOLOB: :[[@LINE+2]]:{{[0-9]+}}: error: invalid instruction
1037# ERROR-FP: operand must be a register in range [r0, r12] or r14
1038vmov.f16 sp, s10
1039
1040# ERROR: :[[@LINE+3]]:{{[0-9]+}}: error: invalid instruction
1041# ERROR-NOLOB: :[[@LINE+2]]:{{[0-9]+}}: error: invalid instruction
1042# ERROR-FP: operand must be a register in range [r0, r12] or r14
1043vmov.f16 s10, sp
1044
1045# ERROR: :[[@LINE+3]]:{{[0-9]+}}: error: invalid instruction
1046# ERROR-NOLOB: :[[@LINE+2]]:{{[0-9]+}}: error: invalid instruction
1047# ERROR-FP: operand must be a register in range [s0, s31]
1048vmov.f16 r10, d1
1049
1050# ERROR: :[[@LINE+3]]:{{[0-9]+}}: error: invalid instruction
1051# ERROR-NOLOB: :[[@LINE+2]]:{{[0-9]+}}: error: invalid instruction
1052# ERROR-FP: operand must be a register in range [s0, s31]
1053vmov.f16 r10, s32
1054
1055# ERROR: :[[@LINE+3]]:{{[0-9]+}}: error: invalid instruction
1056# ERROR-NOLOB: :[[@LINE+2]]:{{[0-9]+}}: error: invalid instruction
1057# ERROR-FP: operand must be a register in range [s0, s31]
1058vmov.f16 d1, r10
1059
1060# ERROR: :[[@LINE+3]]:{{[0-9]+}}: error: invalid instruction
1061# ERROR-NOLOB: :[[@LINE+2]]:{{[0-9]+}}: error: invalid instruction
1062# ERROR-FP: operand must be a register in range [s0, s31]
1063vmov.f16 s32, r10
1064
1065# CHECK: cinc    lr, r2, lo  @ encoding: [0x52,0xea,0x22,0x9e]
1066# CHECK-FP: cinc    lr, r2, lo  @ encoding: [0x52,0xea,0x22,0x9e]
1067# CHECK-NOLOB: cinc    lr, r2, lo  @ encoding: [0x52,0xea,0x22,0x9e]
1068csinc   lr, r2, r2, hs
1069
1070# CHECK: cinc    lr, r7, pl  @ encoding: [0x57,0xea,0x47,0x9e]
1071# CHECK-FP: cinc    lr, r7, pl  @ encoding: [0x57,0xea,0x47,0x9e]
1072# CHECK-NOLOB: cinc    lr, r7, pl  @ encoding: [0x57,0xea,0x47,0x9e]
1073cinc    lr, r7, pl
1074
1075# CHECK: cinv    lr, r12, hs  @ encoding: [0x5c,0xea,0x3c,0xae]
1076# CHECK-FP: cinv    lr, r12, hs  @ encoding: [0x5c,0xea,0x3c,0xae]
1077# CHECK-NOLOB: cinv    lr, r12, hs  @ encoding: [0x5c,0xea,0x3c,0xae]
1078cinv    lr, r12, hs
1079
1080# CHECK: cneg    lr, r10, hs  @ encoding: [0x5a,0xea,0x3a,0xbe]
1081# CHECK-FP: cneg    lr, r10, hs  @ encoding: [0x5a,0xea,0x3a,0xbe]
1082# CHECK-NOLOB: cneg    lr, r10, hs  @ encoding: [0x5a,0xea,0x3a,0xbe]
1083csneg   lr, r10, r10, lo
1084
1085# CHECK: csel    r9, r9, r11, vc  @ encoding: [0x59,0xea,0x7b,0x89]
1086# CHECK-FP: csel    r9, r9, r11, vc  @ encoding: [0x59,0xea,0x7b,0x89]
1087# CHECK-NOLOB: csel    r9, r9, r11, vc  @ encoding: [0x59,0xea,0x7b,0x89]
1088csel    r9, r9, r11, vc
1089
1090# CHECK: cset    lr, eq  @ encoding: [0x5f,0xea,0x1f,0x9e]
1091# CHECK-FP: cset    lr, eq  @ encoding: [0x5f,0xea,0x1f,0x9e]
1092# CHECK-NOLOB: cset    lr, eq  @ encoding: [0x5f,0xea,0x1f,0x9e]
1093cset    lr, eq
1094
1095# CHECK: csetm   lr, hs  @ encoding: [0x5f,0xea,0x3f,0xae]
1096# CHECK-FP: csetm   lr, hs  @ encoding: [0x5f,0xea,0x3f,0xae]
1097# CHECK-NOLOB: csetm   lr, hs  @ encoding: [0x5f,0xea,0x3f,0xae]
1098csetm   lr, hs
1099
1100# CHECK: csinc   lr, r10, r7, le  @ encoding: [0x5a,0xea,0xd7,0x9e]
1101# CHECK-FP: csinc   lr, r10, r7, le  @ encoding: [0x5a,0xea,0xd7,0x9e]
1102# CHECK-NOLOB: csinc   lr, r10, r7, le  @ encoding: [0x5a,0xea,0xd7,0x9e]
1103csinc   lr, r10, r7, le
1104
1105# CHECK: csinv   lr, r5, zr, hs  @ encoding: [0x55,0xea,0x2f,0xae]
1106# CHECK-FP: csinv   lr, r5, zr, hs  @ encoding: [0x55,0xea,0x2f,0xae]
1107# CHECK-NOLOB: csinv   lr, r5, zr, hs  @ encoding: [0x55,0xea,0x2f,0xae]
1108csinv   lr, r5, zr, hs
1109
1110# CHECK: cinv    lr, r2, pl  @ encoding: [0x52,0xea,0x42,0xae]
1111# CHECK-FP: cinv    lr, r2, pl  @ encoding: [0x52,0xea,0x42,0xae]
1112# CHECK-NOLOB: cinv    lr, r2, pl  @ encoding: [0x52,0xea,0x42,0xae]
1113csinv   lr, r2, r2, mi
1114
1115# CHECK: csel r0, r0, r1, eq @ encoding: [0x50,0xea,0x01,0x80]
1116# CHECK-FP: csel r0, r0, r1, eq @ encoding: [0x50,0xea,0x01,0x80]
1117# CHECK-NOLOB: csel r0, r0, r1, eq @ encoding: [0x50,0xea,0x01,0x80]
1118csel r0, r0, r1, eq
1119
1120// ERROR: :[[@LINE+1]]:{{[0-9]+}}: error: operand must be a register in range [r0, r12] or r14
1121csel sp, r0, r1, eq
1122// ERROR: :[[@LINE+1]]:{{[0-9]+}}: error: operand must be a register in range [r0, r12] or r14
1123csel pc, r0, r1, eq
1124
1125// ERROR: :[[@LINE+1]]:{{[0-9]+}}: error: operand must be a register in range [r0, r12] or r14 or zr
1126csel r0, sp, r1, eq
1127// ERROR: :[[@LINE+1]]:{{[0-9]+}}: error: operand must be a register in range [r0, r12] or r14 or zr
1128csel r0, pc, r1, eq
1129
1130// ERROR: :[[@LINE+1]]:{{[0-9]+}}: error: operand must be a register in range [r0, r12] or r14 or zr
1131csinc r0, sp, r1, eq
1132// ERROR: :[[@LINE+1]]:{{[0-9]+}}: error: operand must be a register in range [r0, r12] or r14 or zr
1133csinc r0, pc, r1, eq
1134
1135// ERROR: :[[@LINE+1]]:{{[0-9]+}}: error: operand must be a register in range [r0, r12] or r14 or zr
1136csinv r0, sp, r1, eq
1137// ERROR: :[[@LINE+1]]:{{[0-9]+}}: error: operand must be a register in range [r0, r12] or r14 or zr
1138csinv r0, pc, r1, eq
1139
1140// ERROR: :[[@LINE+1]]:{{[0-9]+}}: error: operand must be a register in range [r0, r12] or r14 or zr
1141csneg r0, sp, r1, eq
1142// ERROR: :[[@LINE+1]]:{{[0-9]+}}: error: operand must be a register in range [r0, r12] or r14 or zr
1143csneg r0, pc, r1, eq
1144
1145// ERROR: :[[@LINE+1]]:{{[0-9]+}}: error: operand must be a register in range [r0, r12] or r14 or zr
1146csel r0, r0, sp, eq
1147// ERROR: :[[@LINE+1]]:{{[0-9]+}}: error: operand must be a register in range [r0, r12] or r14 or zr
1148csel r0, r0, pc, eq
1149
1150// ERROR: :[[@LINE+2]]:{{[0-9]+}}: error: instructions in IT block must be predicable
1151it eq
1152csel r0, r0, r1, eq
1153
1154// ERROR: :[[@LINE+2]]:{{[0-9]+}}: error: instructions in IT block must be predicable
1155it eq
1156csinc r0, r0, r1, ne
1157
1158// ERROR: :[[@LINE+2]]:{{[0-9]+}}: error: instructions in IT block must be predicable
1159it gt
1160csinv r0, r0, r1, ge
1161
1162// ERROR: :[[@LINE+2]]:{{[0-9]+}}: error: instructions in IT block must be predicable
1163it lt
1164csneg r0, r0, r1, gt
1165