1 // RUN: not llvm-mc -triple=aarch64 -mattr=+neon,-fullfp16 -show-encoding < %s 2>&1 | FileCheck %s
2 // RUN: not llvm-mc -triple=aarch64 -mattr=-neon,+fullfp16 -show-encoding < %s 2>&1 | FileCheck %s
5 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires:
7 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires:
9 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires:
11 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires:
13 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires:
15 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires:
17 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires:
19 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires:
21 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires:
23 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires:
25 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires:
27 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires:
29 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires:
31 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires:
33 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires:
35 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires:
37 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires:
39 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires:
41 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires:
43 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires:
45 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires:
47 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires:
49 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires:
51 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires:
53 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires:
54 fmla v0.4h, v1.4h, v2.h[2]
55 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires:
56 fmla v3.8h, v8.8h, v2.h[1]
57 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires:
58 fmls v0.4h, v1.4h, v2.h[2]
59 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires:
60 fmls v3.8h, v8.8h, v2.h[1]
61 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires:
62 fmul v0.4h, v1.4h, v2.h[2]
63 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires:
64 fmul v0.8h, v1.8h, v2.h[2]
65 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires:
66 fmulx v0.4h, v1.4h, v2.h[2]
67 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires:
68 fmulx v0.8h, v1.8h, v2.h[2]
69 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires:
70 fabd v0.4h, v1.4h, v2.4h
71 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires:
73 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires:
75 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires:
77 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires:
79 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires:
80 faddp v0.4h, v1.4h, v2.4h
81 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires:
82 faddp v0.8h, v1.8h, v2.8h
83 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires:
84 fadd v0.4h, v1.4h, v2.4h
85 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires:
86 fadd v0.8h, v1.8h, v2.8h
87 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires:
88 fsub v0.4h, v1.4h, v2.4h
89 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires:
90 fsub v0.8h, v1.8h, v2.8h
91 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires:
92 fcmeq v0.4h, v31.4h, v16.4h
93 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires:
94 fcmeq v4.8h, v7.8h, v15.8h
95 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires:
96 fcmge v3.4h, v8.4h, v12.4h
97 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires:
98 fcmge v31.8h, v29.8h, v28.8h
99 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires:
100 fcmle v3.4h, v12.4h, v8.4h
101 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires:
102 fcmle v31.8h, v28.8h, v29.8h
103 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires:
104 fcmgt v0.4h, v31.4h, v16.4h
105 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires:
106 fcmgt v4.8h, v7.8h, v15.8h
107 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires:
108 fcmlt v0.4h, v16.4h, v31.4h
109 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires:
110 fcmlt v4.8h, v15.8h, v7.8h
111 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires:
112 fcmeq v0.4h, v31.4h, #0.0
113 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires:
114 fcmeq v4.8h, v7.8h, #0.0
115 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires:
116 fcmeq v0.4h, v31.4h, #0
117 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires:
118 fcmeq v4.8h, v7.8h, #0
119 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires:
120 fcmge v3.4h, v8.4h, #0.0
121 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires:
122 fcmge v31.8h, v29.8h, #0.0
123 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires:
124 fcmge v3.4h, v8.4h, #0
125 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires:
126 fcmge v31.8h, v29.8h, #0
127 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires:
128 fcmgt v0.4h, v31.4h, #0.0
129 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires:
130 fcmgt v4.8h, v7.8h, #0.0
131 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires:
132 fcmgt v0.4h, v31.4h, #0
133 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires:
134 fcmgt v4.8h, v7.8h, #0
135 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires:
136 fcmle v3.4h, v20.4h, #0.0
137 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires:
138 fcmle v1.8h, v8.8h, #0.0
139 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires:
140 fcmle v3.4h, v20.4h, #0
141 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires:
142 fcmle v1.8h, v8.8h, #0
143 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires:
144 fcmlt v16.4h, v2.4h, #0.0
145 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires:
146 fcmlt v15.8h, v4.8h, #0.0
147 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires:
148 fcmlt v16.4h, v2.4h, #0
149 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires:
150 fcmlt v15.8h, v4.8h, #0
151 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires:
152 facge v0.4h, v31.4h, v16.4h
153 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires:
154 facge v4.8h, v7.8h, v15.8h
155 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires:
156 facle v0.4h, v16.4h, v31.4h
157 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires:
158 facle v4.8h, v15.8h, v7.8h
159 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires:
160 facgt v3.4h, v8.4h, v12.4h
161 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires:
162 facgt v31.8h, v29.8h, v28.8h
163 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires:
164 faclt v3.4h, v12.4h, v8.4h
165 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires:
166 faclt v31.8h, v28.8h, v29.8h
167 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires:
168 frsqrts v0.4h, v31.4h, v16.4h
169 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires:
170 frsqrts v4.8h, v7.8h, v15.8h
171 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires:
172 frecps v3.4h, v8.4h, v12.4h
173 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires:
174 frecps v31.8h, v29.8h, v28.8h
175 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires:
176 fmaxp v0.4h, v1.4h, v2.4h
177 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires:
178 fmaxp v31.8h, v15.8h, v16.8h
179 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires:
180 fminp v10.4h, v15.4h, v22.4h
181 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires:
182 fminp v3.8h, v5.8h, v6.8h
183 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires:
184 fmaxnmp v0.4h, v1.4h, v2.4h
185 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires:
186 fmaxnmp v31.8h, v15.8h, v16.8h
187 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires:
188 fminnmp v10.4h, v15.4h, v22.4h
189 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires:
190 fminnmp v3.8h, v5.8h, v6.8h
191 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires:
192 fmax v0.4h, v1.4h, v2.4h
193 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires:
194 fmax v0.8h, v1.8h, v2.8h
195 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires:
196 fmin v10.4h, v15.4h, v22.4h
197 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires:
198 fmin v10.8h, v15.8h, v22.8h
199 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires:
200 fmaxnm v0.4h, v1.4h, v2.4h
201 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires:
202 fmaxnm v0.8h, v1.8h, v2.8h
203 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires:
204 fminnm v10.4h, v15.4h, v22.4h
205 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires:
206 fminnm v10.8h, v15.8h, v22.8h
207 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires:
208 fmla v0.4h, v1.4h, v2.4h
209 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires:
210 fmla v0.8h, v1.8h, v2.8h
211 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires:
212 fmls v0.4h, v1.4h, v2.4h
213 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires:
214 fmls v0.8h, v1.8h, v2.8h
215 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires:
217 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires:
219 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires:
221 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires:
223 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires:
224 fmulx h6, h2, v8.h[5]
225 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires:
227 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires:
229 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires:
231 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires:
233 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires:
235 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires:
237 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires:
239 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires:
241 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires:
243 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires:
245 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires:
247 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires:
249 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires:
251 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires:
253 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires:
255 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires:
257 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires:
259 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires:
261 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires:
263 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires:
265 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires:
267 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires:
269 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires:
271 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires:
273 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires:
275 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires:
277 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires:
279 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires:
281 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires:
283 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires:
285 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires:
287 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires:
289 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires:
291 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires:
293 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires:
295 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires:
297 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires:
299 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires:
301 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires:
303 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires:
305 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires:
307 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires:
309 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires:
311 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires:
313 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires:
315 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires:
317 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires:
319 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires:
321 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires:
323 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires:
325 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires:
327 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires:
329 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires:
331 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires:
333 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires:
335 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires:
337 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires:
339 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires:
341 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires:
343 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires:
345 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires:
347 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires:
349 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires:
351 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires:
353 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires:
355 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires:
357 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires:
359 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires:
361 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires:
363 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires:
365 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires:
367 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires:
369 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires:
371 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires:
373 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires:
375 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires:
377 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires:
379 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires:
382 // CHECK-NOT: :[[@LINE+1]]:{{[0-9]+}}: error: instruction requires: