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 'simd' is not allowed for the current base architecture
14 @ CHECK-V7-NEXT: .arch_extension simd
20 @ CHECK-V7: error: instruction requires: FPARMv8
22 @ CHECK-V7: error: instruction requires: FPARMv8
25 @ CHECK-V7: error: instruction requires: FPARMv8
27 @ CHECK-V7: error: instruction requires: FPARMv8
30 @ CHECK-V7: error: instruction requires: FPARMv8
32 @ CHECK-V7: error: instruction requires: FPARMv8
34 @ 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
48 @ CHECK-V7: error: instruction requires: FPARMv8
50 @ CHECK-V7: error: instruction requires: FPARMv8
52 @ CHECK-V7: error: instruction requires: FPARMv8
54 @ CHECK-V7: error: instruction requires: FPARMv8
56 @ CHECK-V7: error: instruction requires: FPARMv8
58 @ CHECK-V7: error: instruction requires: FPARMv8
60 @ CHECK-V7: error: instruction requires: FPARMv8
63 @ CHECK-V7: error: instruction requires: FPARMv8
65 @ CHECK-V7: error: instruction requires: FPARMv8
67 @ CHECK-V7: error: instruction requires: FPARMv8
69 @ CHECK-V7: error: instruction requires: FPARMv8
71 @ CHECK-V7: error: instruction requires: FPARMv8
73 @ CHECK-V7: error: instruction requires: FPARMv8
75 @ CHECK-V7: error: instruction requires: FPARMv8
77 @ CHECK-V7: error: instruction requires: FPARMv8
79 @ CHECK-V7: error: instruction requires: FPARMv8
81 @ CHECK-V7: error: instruction requires: FPARMv8
83 @ CHECK-V7: error: instruction requires: FPARMv8
85 @ CHECK-V7: error: instruction requires: FPARMv8
88 @ CHECK-V7: error: instruction requires: FPARMv8
90 @ CHECK-V7: error: instruction requires: FPARMv8
92 @ CHECK-V7: error: instruction requires: FPARMv8
94 @ CHECK-V7: error: instruction requires: FPARMv8
96 @ CHECK-V7: error: instruction requires: FPARMv8
98 @ CHECK-V7: error: instruction requires: FPARMv8
100 @ CHECK-V7: error: instruction requires: FPARMv8
101 vrintn.f64.f64 d0, d0
102 @ CHECK-V7: error: instruction requires: FPARMv8
104 @ CHECK-V7: error: instruction requires: FPARMv8
106 @ CHECK-V7: error: instruction requires: FPARMv8
107 vrintp.f32.f32 s0, s0
108 @ CHECK-V7: error: instruction requires: FPARMv8
109 vrintp.f64.f64 d0, d0
110 @ CHECK-V7: error: instruction requires: FPARMv8
112 @ CHECK-V7: error: instruction requires: FPARMv8
114 @ CHECK-V7: error: instruction requires: FPARMv8
115 vrintm.f32.f32 s0, s0
116 @ CHECK-V7: error: instruction requires: FPARMv8
117 vrintm.f64.f64 d0, d0
118 @ CHECK-V7: error: instruction requires: FPARMv8
120 .arch_extension nosimd
121 @ CHECK-V7: error: architectural extension 'simd' is not allowed for the current base architecture
122 @ CHECK-V7-NEXT: .arch_extension nosimd
125 .type nosimd,%function
127 vmaxnm.f32 s0, s0, s0
128 @ CHECK-V7: error: instruction requires: FPARMv8
129 @ CHECK-V8: error: instruction requires: FPARMv8
130 vminnm.f32 s0, s0, s0
131 @ CHECK-V7: error: instruction requires: FPARMv8
132 @ CHECK-V8: error: instruction requires: FPARMv8
134 vmaxnm.f64 d0, d0, d0
135 @ CHECK-V7: error: instruction requires: FPARMv8
136 @ CHECK-V8: error: instruction requires: double precision VFP FPARMv8
137 vminnm.f64 d0, d0, d0
138 @ CHECK-V7: error: instruction requires: FPARMv8
139 @ CHECK-V8: error: instruction requires: double precision VFP FPARMv8
142 @ CHECK-V7: error: instruction requires: FPARMv8
143 @ CHECK-V8: error: instruction requires: FPARMv8
145 @ CHECK-V7: error: instruction requires: FPARMv8
146 @ CHECK-V8: error: instruction requires: FPARMv8
148 @ CHECK-V7: error: instruction requires: FPARMv8
149 @ CHECK-V8: error: instruction requires: double precision VFP FPARMv8
151 @ CHECK-V7: error: instruction requires: FPARMv8
152 @ CHECK-V8: error: instruction requires: double precision VFP FPARMv8
154 @ CHECK-V7: error: instruction requires: FPARMv8
155 @ CHECK-V8: error: instruction requires: FPARMv8
157 @ CHECK-V7: error: instruction requires: FPARMv8
158 @ CHECK-V8: error: instruction requires: FPARMv8
160 @ CHECK-V7: error: instruction requires: FPARMv8
161 @ CHECK-V8: error: instruction requires: double precision VFP FPARMv8
163 @ CHECK-V7: error: instruction requires: FPARMv8
164 @ CHECK-V8: error: instruction requires: double precision VFP FPARMv8
166 @ CHECK-V7: error: instruction requires: FPARMv8
167 @ CHECK-V8: error: instruction requires: FPARMv8
169 @ CHECK-V7: error: instruction requires: FPARMv8
170 @ CHECK-V8: error: instruction requires: FPARMv8
172 @ CHECK-V7: error: instruction requires: FPARMv8
173 @ CHECK-V8: error: instruction requires: double precision VFP FPARMv8
175 @ CHECK-V7: error: instruction requires: FPARMv8
176 @ CHECK-V8: error: instruction requires: double precision VFP FPARMv8
178 @ CHECK-V7: error: instruction requires: FPARMv8
179 @ CHECK-V8: error: instruction requires: FPARMv8
181 @ CHECK-V7: error: instruction requires: FPARMv8
182 @ CHECK-V8: error: instruction requires: FPARMv8
184 @ CHECK-V7: error: instruction requires: FPARMv8
185 @ CHECK-V8: error: instruction requires: double precision VFP FPARMv8
187 @ CHECK-V7: error: instruction requires: FPARMv8
188 @ CHECK-V8: error: instruction requires: double precision VFP FPARMv8
191 @ CHECK-V7: error: instruction requires: FPARMv8
192 @ CHECK-V8: error: instruction requires: FPARMv8
194 @ CHECK-V7: error: instruction requires: FPARMv8
195 @ CHECK-V8: error: instruction requires: double precision VFP FPARMv8
196 vrintz.f32.f32 s0, s0
197 @ CHECK-V7: error: instruction requires: FPARMv8
198 @ CHECK-V8: error: instruction requires: FPARMv8
199 vrintz.f64.f64 d0, d0
200 @ CHECK-V7: error: instruction requires: FPARMv8
201 @ CHECK-V8: error: instruction requires: double precision VFP FPARMv8
203 @ CHECK-V7: error: instruction requires: FPARMv8
204 @ CHECK-V8: error: instruction requires: FPARMv8
206 @ CHECK-V7: error: instruction requires: FPARMv8
207 @ CHECK-V8: error: instruction requires: double precision VFP FPARMv8
208 vrintr.f32.f32 s0, s0
209 @ CHECK-V7: error: instruction requires: FPARMv8
210 @ CHECK-V8: error: instruction requires: FPARMv8
211 vrintr.f64.f64 d0, d0
212 @ CHECK-V7: error: instruction requires: FPARMv8
213 @ CHECK-V8: error: instruction requires: double precision VFP FPARMv8
215 @ CHECK-V7: error: instruction requires: FPARMv8
216 @ CHECK-V8: error: instruction requires: FPARMv8
218 @ CHECK-V7: error: instruction requires: FPARMv8
219 @ CHECK-V8: error: instruction requires: double precision VFP FPARMv8
220 vrintx.f32.f32 s0, s0
221 @ CHECK-V7: error: instruction requires: FPARMv8
222 @ CHECK-V8: error: instruction requires: FPARMv8
223 vrintx.f64.f64 d0, d0
224 @ CHECK-V7: error: instruction requires: FPARMv8
225 @ CHECK-V8: error: instruction requires: double precision VFP FPARMv8
228 @ CHECK-V7: error: instruction requires: FPARMv8
229 @ CHECK-V8: error: instruction requires: FPARMv8
231 @ CHECK-V7: error: instruction requires: FPARMv8
232 @ CHECK-V8: error: instruction requires: double precision VFP FPARMv8
233 vrinta.f32.f32 s0, s0
234 @ CHECK-V7: error: instruction requires: FPARMv8
235 @ CHECK-V8: error: instruction requires: FPARMv8
236 vrinta.f64.f64 d0, d0
237 @ CHECK-V7: error: instruction requires: FPARMv8
238 @ CHECK-V8: error: instruction requires: double precision VFP FPARMv8
240 @ CHECK-V7: error: instruction requires: FPARMv8
241 @ CHECK-V8: error: instruction requires: FPARMv8
243 @ CHECK-V7: error: instruction requires: FPARMv8
244 @ CHECK-V8: error: instruction requires: double precision VFP FPARMv8
245 vrintn.f32.f32 s0, s0
246 @ CHECK-V7: error: instruction requires: FPARMv8
247 @ CHECK-V8: error: instruction requires: FPARMv8
248 vrintn.f64.f64 d0, d0
249 @ CHECK-V7: error: instruction requires: FPARMv8
250 @ CHECK-V8: error: instruction requires: double precision VFP FPARMv8
252 @ CHECK-V7: error: instruction requires: FPARMv8
253 @ CHECK-V8: error: instruction requires: FPARMv8
255 @ CHECK-V7: error: instruction requires: FPARMv8
256 @ CHECK-V8: error: instruction requires: double precision VFP FPARMv8
257 vrintp.f32.f32 s0, s0
258 @ CHECK-V7: error: instruction requires: FPARMv8
259 @ CHECK-V8: error: instruction requires: FPARMv8
260 vrintp.f64.f64 d0, d0
261 @ CHECK-V7: error: instruction requires: FPARMv8
262 @ CHECK-V8: error: instruction requires: double precision VFP FPARMv8
264 @ CHECK-V7: error: instruction requires: FPARMv8
265 @ CHECK-V8: error: instruction requires: FPARMv8
267 @ CHECK-V7: error: instruction requires: FPARMv8
268 @ CHECK-V8: error: instruction requires: double precision VFP FPARMv8
269 vrintm.f32.f32 s0, s0
270 @ CHECK-V7: error: instruction requires: FPARMv8
271 @ CHECK-V8: error: instruction requires: FPARMv8
272 vrintm.f64.f64 d0, d0
273 @ CHECK-V7: error: instruction requires: FPARMv8
274 @ CHECK-V8: error: instruction requires: double precision VFP FPARMv8