1 @ RUN: not llvm-mc -triple armv7-eabi -filetype asm -o /dev/null 2>&1 %s \
2 @ RUN: | FileCheck %s -check-prefix CHECK-V7
3 @ RUN: not llvm-mc -triple armv8-eabi -filetype asm -o /dev/null 2>&1 %s \
4 @ RUN: | FileCheck %s -check-prefix CHECK-V8
5 @ RUN: not llvm-mc -triple thumbv7-eabi -filetype asm -o /dev/null 2>&1 %s \
6 @ RUN: | FileCheck %s -check-prefix CHECK-V7
7 @ RUN: not llvm-mc -triple thumbv8-eabi -filetype asm -o /dev/null 2>&1 %s \
8 @ RUN: | FileCheck %s -check-prefix CHECK-V8
13 @ CHECK-V7: error: architectural extension 'fp' is not allowed for the current base architecture
14 @ CHECK-V7-NEXT: .arch_extension fp
20 @ CHECK-V7: error: instruction requires: FPARMv8
23 @ CHECK-V7: error: instruction requires: FPARMv8
25 @ CHECK-V7: error: instruction requires: FPARMv8
27 @ CHECK-V7: error: instruction requires: FPARMv8
29 @ CHECK-V7: error: instruction requires: FPARMv8
31 @ CHECK-V7: error: instruction requires: FPARMv8
33 @ CHECK-V7: error: instruction requires: FPARMv8
36 @ CHECK-V7: error: instruction requires: FPARMv8
38 @ CHECK-V7: error: instruction requires: FPARMv8
40 @ CHECK-V7: error: instruction requires: FPARMv8
42 @ CHECK-V7: error: instruction requires: FPARMv8
44 @ CHECK-V7: error: instruction requires: FPARMv8
46 @ CHECK-V7: error: instruction requires: FPARMv8
49 @ CHECK-V7: error: instruction requires: FPARMv8
51 @ CHECK-V7: error: instruction requires: FPARMv8
53 @ CHECK-V7: error: instruction requires: FPARMv8
55 @ CHECK-V7: error: instruction requires: FPARMv8
58 @ CHECK-V7: error: instruction requires: FPARMv8
60 @ CHECK-V7: error: instruction requires: FPARMv8
62 @ CHECK-V7: error: instruction requires: FPARMv8
64 @ CHECK-V7: error: instruction requires: FPARMv8
66 @ CHECK-V7: error: instruction requires: FPARMv8
68 @ CHECK-V7: error: instruction requires: FPARMv8
70 @ CHECK-V7: error: instruction requires: FPARMv8
72 @ CHECK-V7: error: instruction requires: FPARMv8
74 @ CHECK-V7: error: instruction requires: FPARMv8
76 @ CHECK-V7: error: instruction requires: FPARMv8
78 @ CHECK-V7: error: instruction requires: FPARMv8
80 @ CHECK-V7: error: instruction requires: FPARMv8
82 @ CHECK-V7: error: instruction requires: FPARMv8
84 @ CHECK-V7: error: instruction requires: FPARMv8
86 @ CHECK-V7: error: instruction requires: FPARMv8
88 @ CHECK-V7: error: instruction requires: FPARMv8
91 @ CHECK-V7: error: instruction requires: FPARMv8
93 @ CHECK-V7: error: instruction requires: FPARMv8
95 @ CHECK-V7: error: instruction requires: FPARMv8
97 @ CHECK-V7: error: instruction requires: FPARMv8
99 @ CHECK-V7: error: instruction requires: FPARMv8
101 @ CHECK-V7: error: instruction requires: FPARMv8
102 vrintr.f32.f32 s0, s0
103 @ CHECK-V7: error: instruction requires: FPARMv8
104 vrintr.f64.f64 d0, d0
105 @ CHECK-V7: error: instruction requires: FPARMv8
107 @ CHECK-V7: error: instruction requires: FPARMv8
109 @ CHECK-V7: error: instruction requires: FPARMv8
110 vrintx.f32.f32 s0, s0
111 @ CHECK-V7: error: instruction requires: FPARMv8
112 vrintx.f64.f64 d0, d0
113 @ CHECK-V7: error: instruction requires: FPARMv8
116 @ CHECK-V7: error: instruction requires: FPARMv8
118 @ CHECK-V7: error: instruction requires: FPARMv8
119 vrinta.f32.f32 s0, s0
120 @ CHECK-V7: error: instruction requires: FPARMv8
121 vrinta.f64.f64 d0, d0
122 @ CHECK-V7: error: instruction requires: FPARMv8
124 @ CHECK-V7: error: instruction requires: FPARMv8
126 @ CHECK-V7: error: instruction requires: FPARMv8
127 vrintn.f32.f32 s0, s0
128 @ CHECK-V7: error: instruction requires: FPARMv8
129 vrintn.f64.f64 d0, d0
130 @ CHECK-V7: error: instruction requires: FPARMv8
132 @ CHECK-V7: error: instruction requires: FPARMv8
134 @ CHECK-V7: error: instruction requires: FPARMv8
135 vrintp.f32.f32 s0, s0
136 @ CHECK-V7: error: instruction requires: FPARMv8
137 vrintp.f64.f64 d0, d0
138 @ CHECK-V7: error: instruction requires: FPARMv8
140 @ CHECK-V7: error: instruction requires: FPARMv8
142 @ CHECK-V7: error: instruction requires: FPARMv8
143 vrintm.f32.f32 s0, s0
144 @ CHECK-V7: error: instruction requires: FPARMv8
145 vrintm.f64.f64 d0, d0
146 @ CHECK-V7: error: instruction requires: FPARMv8
149 @ CHECK-V7: error: architectural extension 'fp' is not allowed for the current base architecture
150 @ CHECK-V7-NEXT: .arch_extension nofp
156 @ CHECK-V7: error: instruction requires: FPARMv8
157 @ CHECK-V8: error: instruction requires: FPARMv8
159 vselgt.f32 s0, s0, s0
160 @ CHECK-V7: error: instruction requires: FPARMv8
161 @ CHECK-V8: error: instruction requires: FPARMv8
162 vselge.f32 s0, s0, s0
163 @ CHECK-V7: error: instruction requires: FPARMv8
164 @ CHECK-V8: error: instruction requires: FPARMv8
165 vseleq.f32 s0, s0, s0
166 @ CHECK-V7: error: instruction requires: FPARMv8
167 @ CHECK-V8: error: instruction requires: FPARMv8
168 vselvs.f32 s0, s0, s0
169 @ CHECK-V7: error: instruction requires: FPARMv8
170 @ CHECK-V8: error: instruction requires: FPARMv8
171 vmaxnm.f32 s0, s0, s0
172 @ CHECK-V7: error: instruction requires: FPARMv8
173 @ CHECK-V8: error: instruction requires: FPARMv8
174 vminnm.f32 s0, s0, s0
175 @ CHECK-V7: error: instruction requires: FPARMv8
176 @ CHECK-V8: error: instruction requires: FPARMv8
178 vselgt.f64 d0, d0, d0
179 @ CHECK-V7: error: instruction requires: FPARMv8
180 @ CHECK-V8: error: instruction requires: double precision VFP FPARMv8
181 vselge.f64 d0, d0, d0
182 @ CHECK-V7: error: instruction requires: FPARMv8
183 @ CHECK-V8: error: instruction requires: double precision VFP FPARMv8
184 vseleq.f64 d0, d0, d0
185 @ CHECK-V7: error: instruction requires: FPARMv8
186 @ CHECK-V8: error: instruction requires: double precision VFP FPARMv8
187 vselvs.f64 d0, d0, d0
188 @ CHECK-V7: error: instruction requires: FPARMv8
189 @ CHECK-V8: error: instruction requires: double precision VFP FPARMv8
190 vmaxnm.f64 d0, d0, d0
191 @ CHECK-V7: error: instruction requires: FPARMv8
192 @ CHECK-V8: error: instruction requires: double precision VFP FPARMv8
193 vminnm.f64 d0, d0, d0
194 @ CHECK-V7: error: instruction requires: FPARMv8
195 @ CHECK-V8: error: instruction requires: double precision VFP FPARMv8
198 @ CHECK-V7: error: instruction requires: FPARMv8
199 @ CHECK-V8: error: instruction requires: double precision VFP FPARMv8
201 @ CHECK-V7: error: instruction requires: FPARMv8
202 @ CHECK-V8: error: instruction requires: double precision VFP FPARMv8
204 @ CHECK-V7: error: instruction requires: FPARMv8
205 @ CHECK-V8: error: instruction requires: double precision VFP FPARMv8
207 @ CHECK-V7: error: instruction requires: FPARMv8
208 @ CHECK-V8: error: instruction requires: double precision VFP FPARMv8
211 @ CHECK-V7: error: instruction requires: FPARMv8
212 @ CHECK-V8: error: instruction requires: FPARMv8
214 @ CHECK-V7: error: instruction requires: FPARMv8
215 @ CHECK-V8: error: instruction requires: FPARMv8
217 @ CHECK-V7: error: instruction requires: FPARMv8
218 @ CHECK-V8: error: instruction requires: double precision VFP FPARMv8
220 @ CHECK-V7: error: instruction requires: FPARMv8
221 @ CHECK-V8: error: instruction requires: double precision VFP FPARMv8
223 @ CHECK-V7: error: instruction requires: FPARMv8
224 @ CHECK-V8: error: instruction requires: FPARMv8
226 @ CHECK-V7: error: instruction requires: FPARMv8
227 @ CHECK-V8: error: instruction requires: FPARMv8
229 @ CHECK-V7: error: instruction requires: FPARMv8
230 @ CHECK-V8: error: instruction requires: double precision VFP FPARMv8
232 @ CHECK-V7: error: instruction requires: FPARMv8
233 @ CHECK-V8: error: instruction requires: double precision VFP FPARMv8
235 @ CHECK-V7: error: instruction requires: FPARMv8
236 @ CHECK-V8: error: instruction requires: FPARMv8
238 @ CHECK-V7: error: instruction requires: FPARMv8
239 @ CHECK-V8: error: instruction requires: FPARMv8
241 @ CHECK-V7: error: instruction requires: FPARMv8
242 @ CHECK-V8: error: instruction requires: double precision VFP FPARMv8
244 @ CHECK-V7: error: instruction requires: FPARMv8
245 @ CHECK-V8: error: instruction requires: double precision VFP FPARMv8
247 @ CHECK-V7: error: instruction requires: FPARMv8
248 @ CHECK-V8: error: instruction requires: FPARMv8
250 @ CHECK-V7: error: instruction requires: FPARMv8
251 @ CHECK-V8: error: instruction requires: FPARMv8
253 @ CHECK-V7: error: instruction requires: FPARMv8
254 @ CHECK-V8: error: instruction requires: double precision VFP FPARMv8
256 @ CHECK-V7: error: instruction requires: FPARMv8
257 @ CHECK-V8: error: instruction requires: double precision VFP FPARMv8
260 @ CHECK-V7: error: instruction requires: FPARMv8
261 @ CHECK-V8: error: instruction requires: FPARMv8
263 @ CHECK-V7: error: instruction requires: FPARMv8
264 @ CHECK-V8: error: instruction requires: double precision VFP FPARMv8
265 vrintz.f32.f32 s0, s0
266 @ CHECK-V7: error: instruction requires: FPARMv8
267 @ CHECK-V8: error: instruction requires: FPARMv8
268 vrintz.f64.f64 d0, d0
269 @ CHECK-V7: error: instruction requires: FPARMv8
270 @ CHECK-V8: error: instruction requires: double precision VFP FPARMv8
272 @ CHECK-V7: error: instruction requires: FPARMv8
273 @ CHECK-V8: error: instruction requires: FPARMv8
275 @ CHECK-V7: error: instruction requires: FPARMv8
276 @ CHECK-V8: error: instruction requires: double precision VFP FPARMv8
277 vrintr.f32.f32 s0, s0
278 @ CHECK-V7: error: instruction requires: FPARMv8
279 @ CHECK-V8: error: instruction requires: FPARMv8
280 vrintr.f64.f64 d0, d0
281 @ CHECK-V7: error: instruction requires: FPARMv8
282 @ CHECK-V8: error: instruction requires: double precision VFP FPARMv8
284 @ CHECK-V7: error: instruction requires: FPARMv8
285 @ CHECK-V8: error: instruction requires: FPARMv8
287 @ CHECK-V7: error: instruction requires: FPARMv8
288 @ CHECK-V8: error: instruction requires: double precision VFP FPARMv8
289 vrintx.f32.f32 s0, s0
290 @ CHECK-V7: error: instruction requires: FPARMv8
291 @ CHECK-V8: error: instruction requires: FPARMv8
292 vrintx.f64.f64 d0, d0
293 @ CHECK-V7: error: instruction requires: FPARMv8
294 @ CHECK-V8: error: instruction requires: double precision VFP FPARMv8
297 @ CHECK-V7: error: instruction requires: FPARMv8
298 @ CHECK-V8: error: instruction requires: FPARMv8
300 @ CHECK-V7: error: instruction requires: FPARMv8
301 @ CHECK-V8: error: instruction requires: double precision VFP FPARMv8
302 vrinta.f32.f32 s0, s0
303 @ CHECK-V7: error: instruction requires: FPARMv8
304 @ CHECK-V8: error: instruction requires: FPARMv8
305 vrinta.f64.f64 d0, d0
306 @ CHECK-V7: error: instruction requires: FPARMv8
307 @ CHECK-V8: error: instruction requires: double precision VFP FPARMv8
309 @ CHECK-V7: error: instruction requires: FPARMv8
310 @ CHECK-V8: error: instruction requires: FPARMv8
312 @ CHECK-V7: error: instruction requires: FPARMv8
313 @ CHECK-V8: error: instruction requires: double precision VFP FPARMv8
314 vrintn.f32.f32 s0, s0
315 @ CHECK-V7: error: instruction requires: FPARMv8
316 @ CHECK-V8: error: instruction requires: FPARMv8
317 vrintn.f64.f64 d0, d0
318 @ CHECK-V7: error: instruction requires: FPARMv8
319 @ CHECK-V8: error: instruction requires: double precision VFP FPARMv8
321 @ CHECK-V7: error: instruction requires: FPARMv8
322 @ CHECK-V8: error: instruction requires: FPARMv8
324 @ CHECK-V7: error: instruction requires: FPARMv8
325 @ CHECK-V8: error: instruction requires: double precision VFP FPARMv8
326 vrintp.f32.f32 s0, s0
327 @ CHECK-V7: error: instruction requires: FPARMv8
328 @ CHECK-V8: error: instruction requires: FPARMv8
329 vrintp.f64.f64 d0, d0
330 @ CHECK-V7: error: instruction requires: FPARMv8
331 @ CHECK-V8: error: instruction requires: double precision VFP FPARMv8
333 @ CHECK-V7: error: instruction requires: FPARMv8
334 @ CHECK-V8: error: instruction requires: FPARMv8
336 @ CHECK-V7: error: instruction requires: FPARMv8
337 @ CHECK-V8: error: instruction requires: double precision VFP FPARMv8
338 vrintm.f32.f32 s0, s0
339 @ CHECK-V7: error: instruction requires: FPARMv8
340 @ CHECK-V8: error: instruction requires: FPARMv8
341 vrintm.f64.f64 d0, d0
342 @ CHECK-V7: error: instruction requires: FPARMv8
343 @ CHECK-V8: error: instruction requires: double precision VFP FPARMv8