1 # RUN: not llvm-mc -triple=riscv64 --mattr=+experimental-v --mattr=+f %s 2>&1 \
2 # RUN: | FileCheck %s --check-prefix=CHECK-ERROR
5 # CHECK-ERROR: immediate must be an integer in the range [0, 31]
7 vsetivli a2
, zero
, e8
,m1
8 # CHECK-ERROR: immediate must be an integer in the range [0, 31]
11 # CHECK-ERROR: operand must be e[8|16|32|64|128|256|512|1024],m[1|2|4|8|f2|f4|f8],[ta|tu],[ma|mu]
14 # CHECK-ERROR: operand must be e[8|16|32|64|128|256|512|1024],m[1|2|4|8|f2|f4|f8],[ta|tu],[ma|mu]
16 vsetvli a2
, a0
, e32
,m3
17 # CHECK-ERROR: operand must be e[8|16|32|64|128|256|512|1024],m[1|2|4|8|f2|f4|f8],[ta|tu],[ma|mu]
19 vsetvli a2
, a0
, m1
,e32
20 # CHECK-ERROR: operand must be e[8|16|32|64|128|256|512|1024],m[1|2|4|8|f2|f4|f8],[ta|tu],[ma|mu]
22 vsetvli a2
, a0
, e32
,m16
23 # CHECK-ERROR: operand must be e[8|16|32|64|128|256|512|1024],m[1|2|4|8|f2|f4|f8],[ta|tu],[ma|mu]
25 vsetvli a2
, a0
, e2048
,m8
26 # CHECK-ERROR: operand must be e[8|16|32|64|128|256|512|1024],m[1|2|4|8|f2|f4|f8],[ta|tu],[ma|mu]
29 # CHECK-ERROR: operand must be e[8|16|32|64|128|256|512|1024],m[1|2|4|8|f2|f4|f8],[ta|tu],[ma|mu]
31 vsetvli a2
, a0
, e8
,m1
,tx
32 # CHECK-ERROR: operand must be e[8|16|32|64|128|256|512|1024],m[1|2|4|8|f2|f4|f8],[ta|tu],[ma|mu]
34 vsetvli a2
, a0
, e8
,m1
,ta
,mx
35 # CHECK-ERROR: operand must be e[8|16|32|64|128|256|512|1024],m[1|2|4|8|f2|f4|f8],[ta|tu],[ma|mu]
37 vsetvli a2
, a0
, e8
,m1
,ma
38 # CHECK-ERROR: operand must be e[8|16|32|64|128|256|512|1024],m[1|2|4|8|f2|f4|f8],[ta|tu],[ma|mu]
40 vsetvli a2
, a0
, e8
,m1
,mu
41 # CHECK-ERROR: operand must be e[8|16|32|64|128|256|512|1024],m[1|2|4|8|f2|f4|f8],[ta|tu],[ma|mu]
43 vsetvli a2
, a0
, e8x
,m1
,tu
,mu
44 # CHECK-ERROR: operand must be e[8|16|32|64|128|256|512|1024],m[1|2|4|8|f2|f4|f8],[ta|tu],[ma|mu]
46 vsetvli a2
, a0
, e8
,m1z
,tu
,mu
47 # CHECK-ERROR: operand must be e[8|16|32|64|128|256|512|1024],m[1|2|4|8|f2|f4|f8],[ta|tu],[ma|mu]
49 vsetvli a2
, a0
, e8
,mf1
,tu
,mu
50 # CHECK-ERROR: operand must be e[8|16|32|64|128|256|512|1024],m[1|2|4|8|f2|f4|f8],[ta|tu],[ma|mu]
52 vsetvli a2
, a0
, e8
,m1
,tu
,mut
53 # CHECK-ERROR: operand must be e[8|16|32|64|128|256|512|1024],m[1|2|4|8|f2|f4|f8],[ta|tu],[ma|mu]
55 vsetvli a2
, a0
, e8
,m1
,tut
,mu
56 # CHECK-ERROR: operand must be e[8|16|32|64|128|256|512|1024],m[1|2|4|8|f2|f4|f8],[ta|tu],[ma|mu]
59 # CHECK-ERROR: operand must be e[8|16|32|64|128|256|512|1024],m[1|2|4|8|f2|f4|f8],[ta|tu],[ma|mu]
62 # CHECK-ERROR: operand must be e[8|16|32|64|128|256|512|1024],m[1|2|4|8|f2|f4|f8],[ta|tu],[ma|mu]
64 vsetvli a2
, a0
, e8
,m1
,ta
65 # CHECK-ERROR: operand must be e[8|16|32|64|128|256|512|1024],m[1|2|4|8|f2|f4|f8],[ta|tu],[ma|mu]
67 vadd.vv v1
, v3
, v2
, v4.
t
68 # CHECK-ERROR: operand must be v0.t
70 vadd.vv v1
, v3
, v2
, v0
71 # CHECK-ERROR: expected '.t' suffix
74 # CHECK-ERROR: invalid operand for instruction
77 # CHECK-ERROR: immediate must be in the range [-15, 16]
80 # CHECK-ERROR: immediate must be in the range [-15, 16]
83 # CHECK-ERROR: The destination vector register group cannot overlap the mask register.
84 # CHECK-ERROR-LABEL: viota.m v0, v2, v0.t
87 # CHECK-ERROR: The destination vector register group cannot overlap the source vector register group.
88 # CHECK-ERROR-LABEL: viota.m v2, v2
90 vfwcvt.xu.f.v v0
, v2
, v0.
t
91 # CHECK-ERROR: The destination vector register group cannot overlap the mask register.
92 # CHECK-ERROR-LABEL: vfwcvt.xu.f.v v0, v2, v0.t
95 # CHECK-ERROR: The destination vector register group cannot overlap the source vector register group.
96 # CHECK-ERROR-LABEL: vfwcvt.xu.f.v v2, v2
98 vfwcvt.x.f.v v0
, v2
, v0.
t
99 # CHECK-ERROR: The destination vector register group cannot overlap the mask register.
100 # CHECK-ERROR-LABEL: vfwcvt.x.f.v v0, v2, v0.t
103 # CHECK-ERROR: The destination vector register group cannot overlap the source vector register group.
104 # CHECK-ERROR-LABEL: vfwcvt.x.f.v v2, v2
106 vfwcvt.f.xu.v v0
, v2
, v0.
t
107 # CHECK-ERROR: The destination vector register group cannot overlap the mask register.
108 # CHECK-ERROR-LABEL: vfwcvt.f.xu.v v0, v2, v0.t
111 # CHECK-ERROR: The destination vector register group cannot overlap the source vector register group.
112 # CHECK-ERROR-LABEL: vfwcvt.f.xu.v v2, v2
114 vfwcvt.f.x.v v0
, v2
, v0.
t
115 # CHECK-ERROR: The destination vector register group cannot overlap the mask register.
116 # CHECK-ERROR-LABEL: vfwcvt.f.x.v v0, v2, v0.t
119 # CHECK-ERROR: The destination vector register group cannot overlap the source vector register group.
120 # CHECK-ERROR-LABEL: vfwcvt.f.x.v v2, v2
122 vfwcvt.f.f.v v0
, v2
, v0.
t
123 # CHECK-ERROR: The destination vector register group cannot overlap the mask register.
124 # CHECK-ERROR-LABEL: vfwcvt.f.f.v v0, v2, v0.t
127 # CHECK-ERROR: The destination vector register group cannot overlap the source vector register group.
128 # CHECK-ERROR-LABEL: vfwcvt.f.f.v v2, v2
130 vslideup.vx v0
, v2
, a0
, v0.
t
131 # CHECK-ERROR: The destination vector register group cannot overlap the mask register.
132 # CHECK-ERROR-LABEL: vslideup.vx v0, v2, a0, v0.t
134 vslideup.vx v2
, v2
, a0
135 # CHECK-ERROR: The destination vector register group cannot overlap the source vector register group.
136 # CHECK-ERROR-LABEL: vslideup.vx v2, v2, a0
138 vslideup.vi v0
, v2
, 31, v0.
t
139 # CHECK-ERROR: The destination vector register group cannot overlap the mask register.
140 # CHECK-ERROR-LABEL: vslideup.vi v0, v2, 31, v0.t
142 vslideup.vi v2
, v2
, 31
143 # CHECK-ERROR: The destination vector register group cannot overlap the source vector register group.
144 # CHECK-ERROR-LABEL: vslideup.vi v2, v2, 31
146 vslide1up.vx v0
, v2
, a0
, v0.
t
147 # CHECK-ERROR: The destination vector register group cannot overlap the mask register.
148 # CHECK-ERROR-LABEL: vslide1up.vx v0, v2, a0, v0.t
150 vslide1up.vx v2
, v2
, a0
151 # CHECK-ERROR: The destination vector register group cannot overlap the source vector register group.
152 # CHECK-ERROR-LABEL: vslide1up.vx v2, v2, a0
154 vrgather.vv v0
, v2
, v4
, v0.
t
155 # CHECK-ERROR: The destination vector register group cannot overlap the mask register.
156 # CHECK-ERROR-LABEL: vrgather.vv v0, v2, v4, v0.t
158 vrgather.vv v2
, v2
, v4
159 # CHECK-ERROR: The destination vector register group cannot overlap the source vector register group.
160 # CHECK-ERROR-LABEL: vrgather.vv v2, v2, v4
162 vrgather.vx v0
, v2
, a0
, v0.
t
163 # CHECK-ERROR: The destination vector register group cannot overlap the mask register.
164 # CHECK-ERROR-LABEL: vrgather.vx v0, v2, a0, v0.t
166 vrgather.vx v2
, v2
, a0
167 # CHECK-ERROR: The destination vector register group cannot overlap the source vector register group.
168 # CHECK-ERROR-LABEL: vrgather.vx v2, v2, a0
170 vrgather.vi v0
, v2
, 31, v0.
t
171 # CHECK-ERROR: The destination vector register group cannot overlap the mask register.
172 # CHECK-ERROR-LABEL: vrgather.vi v0, v2, 31, v0.t
174 vrgather.vi v2
, v2
, 31
175 # CHECK-ERROR: The destination vector register group cannot overlap the source vector register group.
176 # CHECK-ERROR-LABEL: vrgather.vi v2, v2, 31
178 vwaddu.vv v0
, v2
, v4
, v0.
t
179 # CHECK-ERROR: The destination vector register group cannot overlap the mask register.
180 # CHECK-ERROR-LABEL: vwaddu.vv v0, v2, v4, v0.t
183 # CHECK-ERROR: The destination vector register group cannot overlap the source vector register group.
184 # CHECK-ERROR-LABEL: vwaddu.vv v2, v2, v4
186 vwsubu.vv v0
, v2
, v4
, v0.
t
187 # CHECK-ERROR: The destination vector register group cannot overlap the mask register.
188 # CHECK-ERROR-LABEL: vwsubu.vv v0, v2, v4, v0.t
191 # CHECK-ERROR: The destination vector register group cannot overlap the source vector register group.
192 # CHECK-ERROR-LABEL: vwsubu.vv v2, v2, v4
194 vwadd.vv v0
, v2
, v4
, v0.
t
195 # CHECK-ERROR: The destination vector register group cannot overlap the mask register.
196 # CHECK-ERROR-LABEL: vwadd.vv v0, v2, v4, v0.t
199 # CHECK-ERROR: The destination vector register group cannot overlap the source vector register group.
200 # CHECK-ERROR-LABEL: vwadd.vv v2, v2, v4
202 vwsub.vv v0
, v2
, v4
, v0.
t
203 # CHECK-ERROR: The destination vector register group cannot overlap the mask register.
204 # CHECK-ERROR-LABEL: vwsub.vv v0, v2, v4, v0.t
207 # CHECK-ERROR: The destination vector register group cannot overlap the source vector register group.
208 # CHECK-ERROR-LABEL: vwsub.vv v2, v2, v4
210 vwmul.vv v0
, v2
, v4
, v0.
t
211 # CHECK-ERROR: The destination vector register group cannot overlap the mask register.
212 # CHECK-ERROR-LABEL: vwmul.vv v0, v2, v4, v0.t
215 # CHECK-ERROR: The destination vector register group cannot overlap the source vector register group.
216 # CHECK-ERROR-LABEL: vwmul.vv v2, v2, v4
218 vwmulu.vv v0
, v2
, v4
, v0.
t
219 # CHECK-ERROR: The destination vector register group cannot overlap the mask register.
220 # CHECK-ERROR-LABEL: vwmulu.vv v0, v2, v4, v0.t
223 # CHECK-ERROR: The destination vector register group cannot overlap the source vector register group.
224 # CHECK-ERROR-LABEL: vwmulu.vv v2, v2, v4
226 vwmulsu.vv v0
, v2
, v4
, v0.
t
227 # CHECK-ERROR: The destination vector register group cannot overlap the mask register.
228 # CHECK-ERROR-LABEL: vwmulsu.vv v0, v2, v4, v0.t
230 vwmulsu.vv v2
, v2
, v4
231 # CHECK-ERROR: The destination vector register group cannot overlap the source vector register group.
232 # CHECK-ERROR-LABEL: vwmulsu.vv v2, v2, v4
234 vwmaccu.vv v0
, v4
, v2
, v0.
t
235 # CHECK-ERROR: The destination vector register group cannot overlap the mask register.
236 # CHECK-ERROR-LABEL: vwmaccu.vv v0, v4, v2, v0.t
238 vwmaccu.vv v2
, v4
, v2
239 # CHECK-ERROR: The destination vector register group cannot overlap the source vector register group.
240 # CHECK-ERROR-LABEL: vwmaccu.vv v2, v4, v2
242 vwmacc.vv v0
, v4
, v2
, v0.
t
243 # CHECK-ERROR: The destination vector register group cannot overlap the mask register.
244 # CHECK-ERROR-LABEL: vwmacc.vv v0, v4, v2, v0.t
247 # CHECK-ERROR: The destination vector register group cannot overlap the source vector register group.
248 # CHECK-ERROR-LABEL: vwmacc.vv v2, v4, v2
250 vwmaccsu.vv v0
, v4
, v2
, v0.
t
251 # CHECK-ERROR: The destination vector register group cannot overlap the mask register.
252 # CHECK-ERROR-LABEL: vwmaccsu.vv v0, v4, v2, v0.t
254 vwmaccsu.vv v2
, v4
, v2
255 # CHECK-ERROR: The destination vector register group cannot overlap the source vector register group.
256 # CHECK-ERROR-LABEL: vwmaccsu.vv v2, v4, v2
258 vfwadd.vv v0
, v2
, v4
, v0.
t
259 # CHECK-ERROR: The destination vector register group cannot overlap the mask register.
260 # CHECK-ERROR-LABEL: vfwadd.vv v0, v2, v4, v0.t
263 # CHECK-ERROR: The destination vector register group cannot overlap the source vector register group.
264 # CHECK-ERROR-LABEL: vfwadd.vv v2, v2, v4
266 vfwsub.vv v0
, v2
, v4
, v0.
t
267 # CHECK-ERROR: The destination vector register group cannot overlap the mask register.
268 # CHECK-ERROR-LABEL: vfwsub.vv v0, v2, v4, v0.t
271 # CHECK-ERROR: The destination vector register group cannot overlap the source vector register group.
272 # CHECK-ERROR-LABEL: vfwsub.vv v2, v2, v4
274 vfwmul.vv v0
, v2
, v4
, v0.
t
275 # CHECK-ERROR: The destination vector register group cannot overlap the mask register.
276 # CHECK-ERROR-LABEL: vfwmul.vv v0, v2, v4, v0.t
279 # CHECK-ERROR: The destination vector register group cannot overlap the source vector register group.
280 # CHECK-ERROR-LABEL: vfwmul.vv v2, v2, v4
282 vfwmacc.vv v0
, v4
, v2
, v0.
t
283 # CHECK-ERROR: The destination vector register group cannot overlap the mask register.
284 # CHECK-ERROR-LABEL: vfwmacc.vv v0, v4, v2, v0.t
286 vfwmacc.vv v2
, v4
, v2
287 # CHECK-ERROR: The destination vector register group cannot overlap the source vector register group.
288 # CHECK-ERROR-LABEL: vfwmacc.vv v2, v4, v2
290 vfwnmacc.vv v0
, v4
, v2
, v0.
t
291 # CHECK-ERROR: The destination vector register group cannot overlap the mask register.
292 # CHECK-ERROR-LABEL: vfwnmacc.vv v0, v4, v2, v0.t
294 vfwnmacc.vv v2
, v4
, v2
295 # CHECK-ERROR: The destination vector register group cannot overlap the source vector register group.
296 # CHECK-ERROR-LABEL: vfwnmacc.vv v2, v4, v2
298 vfwmsac.vv v0
, v4
, v2
, v0.
t
299 # CHECK-ERROR: The destination vector register group cannot overlap the mask register.
300 # CHECK-ERROR-LABEL: vfwmsac.vv v0, v4, v2, v0.t
302 vfwmsac.vv v2
, v4
, v2
303 # CHECK-ERROR: The destination vector register group cannot overlap the source vector register group.
304 # CHECK-ERROR-LABEL: vfwmsac.vv v2, v4, v2
306 vfwnmsac.vv v0
, v4
, v2
, v0.
t
307 # CHECK-ERROR: The destination vector register group cannot overlap the mask register.
308 # CHECK-ERROR-LABEL: vfwnmsac.vv v0, v4, v2, v0.t
310 vfwnmsac.vv v2
, v4
, v2
311 # CHECK-ERROR: The destination vector register group cannot overlap the source vector register group.
312 # CHECK-ERROR-LABEL: vfwnmsac.vv v2, v4, v2
314 vwaddu.vx v0
, v2
, a0
, v0.
t
315 # CHECK-ERROR: The destination vector register group cannot overlap the mask register.
316 # CHECK-ERROR-LABEL: vwaddu.vx v0, v2, a0, v0.t
319 # CHECK-ERROR: The destination vector register group cannot overlap the source vector register group.
320 # CHECK-ERROR-LABEL: vwaddu.vx v2, v2, a0
322 vwsubu.vx v0
, v2
, a0
, v0.
t
323 # CHECK-ERROR: The destination vector register group cannot overlap the mask register.
324 # CHECK-ERROR-LABEL: vwsubu.vx v0, v2, a0, v0.t
327 # CHECK-ERROR: The destination vector register group cannot overlap the source vector register group.
328 # CHECK-ERROR-LABEL: vwsubu.vx v2, v2, a0
330 vwadd.vx v0
, v2
, a0
, v0.
t
331 # CHECK-ERROR: The destination vector register group cannot overlap the mask register.
332 # CHECK-ERROR-LABEL: vwadd.vx v0, v2, a0, v0.t
335 # CHECK-ERROR: The destination vector register group cannot overlap the source vector register group.
336 # CHECK-ERROR-LABEL: vwadd.vx v2, v2, a0
338 vwsub.vx v0
, v2
, a0
, v0.
t
339 # CHECK-ERROR: The destination vector register group cannot overlap the mask register.
340 # CHECK-ERROR-LABEL: vwsub.vx v0, v2, a0, v0.t
343 # CHECK-ERROR: The destination vector register group cannot overlap the source vector register group.
344 # CHECK-ERROR-LABEL: vwsub.vx v2, v2, a0
346 vwmul.vx v0
, v2
, a0
, v0.
t
347 # CHECK-ERROR: The destination vector register group cannot overlap the mask register.
348 # CHECK-ERROR-LABEL: vwmul.vx v0, v2, a0, v0.t
351 # CHECK-ERROR: The destination vector register group cannot overlap the source vector register group.
352 # CHECK-ERROR-LABEL: vwmul.vx v2, v2, a0
354 vwmulu.vx v0
, v2
, a0
, v0.
t
355 # CHECK-ERROR: The destination vector register group cannot overlap the mask register.
356 # CHECK-ERROR-LABEL: vwmulu.vx v0, v2, a0, v0.t
359 # CHECK-ERROR: The destination vector register group cannot overlap the source vector register group.
360 # CHECK-ERROR-LABEL: vwmulu.vx v2, v2, a0
362 vwmulsu.vx v0
, v2
, a0
, v0.
t
363 # CHECK-ERROR: The destination vector register group cannot overlap the mask register.
364 # CHECK-ERROR-LABEL: vwmulsu.vx v0, v2, a0, v0.t
366 vwmulsu.vx v2
, v2
, a0
367 # CHECK-ERROR: The destination vector register group cannot overlap the source vector register group.
368 # CHECK-ERROR-LABEL: vwmulsu.vx v2, v2, a0
370 vwmaccu.vx v0
, a0
, v2
, v0.
t
371 # CHECK-ERROR: The destination vector register group cannot overlap the mask register.
372 # CHECK-ERROR-LABEL: vwmaccu.vx v0, a0, v2, v0.t
374 vwmaccu.vx v2
, a0
, v2
375 # CHECK-ERROR: The destination vector register group cannot overlap the source vector register group.
376 # CHECK-ERROR-LABEL: vwmaccu.vx v2, a0, v2
378 vwmacc.vx v0
, a0
, v2
, v0.
t
379 # CHECK-ERROR: The destination vector register group cannot overlap the mask register.
380 # CHECK-ERROR-LABEL: vwmacc.vx v0, a0, v2, v0.t
383 # CHECK-ERROR: The destination vector register group cannot overlap the source vector register group.
384 # CHECK-ERROR-LABEL: vwmacc.vx v2, a0, v2
386 vwmaccsu.vx v0
, a0
, v2
, v0.
t
387 # CHECK-ERROR: The destination vector register group cannot overlap the mask register.
388 # CHECK-ERROR-LABEL: vwmaccsu.vx v0, a0, v2, v0.t
390 vwmaccsu.vx v2
, a0
, v2
391 # CHECK-ERROR: The destination vector register group cannot overlap the source vector register group.
392 # CHECK-ERROR-LABEL: vwmaccsu.vx v2, a0, v2
394 vwmaccus.vx v0
, a0
, v2
, v0.
t
395 # CHECK-ERROR: The destination vector register group cannot overlap the mask register.
396 # CHECK-ERROR-LABEL: vwmaccus.vx v0, a0, v2, v0.t
398 vwmaccus.vx v2
, a0
, v2
399 # CHECK-ERROR: The destination vector register group cannot overlap the source vector register group.
400 # CHECK-ERROR-LABEL: vwmaccus.vx v2, a0, v2
402 vfwadd.vf v0
, v2
, fa0
, v0.
t
403 # CHECK-ERROR: The destination vector register group cannot overlap the mask register.
404 # CHECK-ERROR-LABEL: vfwadd.vf v0, v2, fa0, v0.t
406 vfwadd.vf v2
, v2
, fa0
407 # CHECK-ERROR: The destination vector register group cannot overlap the source vector register group.
408 # CHECK-ERROR-LABEL: vfwadd.vf v2, v2, fa0
410 vfwsub.vf v0
, v2
, fa0
, v0.
t
411 # CHECK-ERROR: The destination vector register group cannot overlap the mask register.
412 # CHECK-ERROR-LABEL: vfwsub.vf v0, v2, fa0, v0.t
414 vfwsub.vf v2
, v2
, fa0
415 # CHECK-ERROR: The destination vector register group cannot overlap the source vector register group.
416 # CHECK-ERROR-LABEL: vfwsub.vf v2, v2, fa0
418 vfwmul.vf v0
, v2
, fa0
, v0.
t
419 # CHECK-ERROR: The destination vector register group cannot overlap the mask register.
420 # CHECK-ERROR-LABEL: vfwmul.vf v0, v2, fa0, v0.t
422 vfwmul.vf v2
, v2
, fa0
423 # CHECK-ERROR: The destination vector register group cannot overlap the source vector register group.
424 # CHECK-ERROR-LABEL: vfwmul.vf v2, v2, fa0
426 vfwmacc.vf v0
, fa0
, v2
, v0.
t
427 # CHECK-ERROR: The destination vector register group cannot overlap the mask register.
428 # CHECK-ERROR-LABEL: vfwmacc.vf v0, fa0, v2, v0.t
430 vfwmacc.vf v2
, fa0
, v2
431 # CHECK-ERROR: The destination vector register group cannot overlap the source vector register group.
432 # CHECK-ERROR-LABEL: vfwmacc.vf v2, fa0, v2
434 vfwnmacc.vf v0
, fa0
, v2
, v0.
t
435 # CHECK-ERROR: The destination vector register group cannot overlap the mask register.
436 # CHECK-ERROR-LABEL: vfwnmacc.vf v0, fa0, v2, v0.t
438 vfwnmacc.vf v2
, fa0
, v2
439 # CHECK-ERROR: The destination vector register group cannot overlap the source vector register group.
440 # CHECK-ERROR-LABEL: vfwnmacc.vf v2, fa0, v2
442 vfwmsac.vf v0
, fa0
, v2
, v0.
t
443 # CHECK-ERROR: The destination vector register group cannot overlap the mask register.
444 # CHECK-ERROR-LABEL: vfwmsac.vf v0, fa0, v2, v0.t
446 vfwmsac.vf v2
, fa0
, v2
447 # CHECK-ERROR: The destination vector register group cannot overlap the source vector register group.
448 # CHECK-ERROR-LABEL: vfwmsac.vf v2, fa0, v2
450 vfwnmsac.vf v0
, fa0
, v2
, v0.
t
451 # CHECK-ERROR: The destination vector register group cannot overlap the mask register.
452 # CHECK-ERROR-LABEL: vfwnmsac.vf v0, fa0, v2, v0.t
454 vfwnmsac.vf v2
, fa0
, v2
455 # CHECK-ERROR: The destination vector register group cannot overlap the source vector register group.
456 # CHECK-ERROR-LABEL: vfwnmsac.vf v2, fa0, v2
458 vcompress.vm v2
, v2
, v4
459 # CHECK-ERROR: The destination vector register group cannot overlap the source vector register group.
460 # CHECK-ERROR-LABEL: vcompress.vm v2, v2, v4
462 vwaddu.wv v0
, v2
, v4
, v0.
t
463 # CHECK-ERROR: The destination vector register group cannot overlap the mask register.
464 # CHECK-ERROR-LABEL: vwaddu.wv v0, v2, v4, v0.t
467 # CHECK-ERROR: The destination vector register group cannot overlap the source vector register group.
468 # CHECK-ERROR-LABEL: vwaddu.wv v2, v4, v2
470 vwsubu.wv v0
, v2
, v4
, v0.
t
471 # CHECK-ERROR: The destination vector register group cannot overlap the mask register.
472 # CHECK-ERROR-LABEL: vwsubu.wv v0, v2, v4, v0.t
475 # CHECK-ERROR: The destination vector register group cannot overlap the source vector register group.
476 # CHECK-ERROR-LABEL: vwsubu.wv v2, v4, v2
478 vwadd.wv v0
, v2
, v4
, v0.
t
479 # CHECK-ERROR: The destination vector register group cannot overlap the mask register.
480 # CHECK-ERROR-LABEL: vwadd.wv v0, v2, v4, v0.t
483 # CHECK-ERROR: The destination vector register group cannot overlap the source vector register group.
484 # CHECK-ERROR-LABEL: vwadd.wv v2, v4, v2
486 vwsub.wv v0
, v2
, v4
, v0.
t
487 # CHECK-ERROR: The destination vector register group cannot overlap the mask register.
488 # CHECK-ERROR-LABEL: vwsub.wv v0, v2, v4, v0.t
491 # CHECK-ERROR: The destination vector register group cannot overlap the source vector register group.
492 # CHECK-ERROR-LABEL: vwsub.wv v2, v4, v2
494 vfwadd.wv v0
, v2
, v4
, v0.
t
495 # CHECK-ERROR: The destination vector register group cannot overlap the mask register.
496 # CHECK-ERROR-LABEL: vfwadd.wv v0, v2, v4, v0.t
499 # CHECK-ERROR: The destination vector register group cannot overlap the source vector register group.
500 # CHECK-ERROR-LABEL: vfwadd.wv v2, v4, v2
502 vfwsub.wv v0
, v2
, v4
, v0.
t
503 # CHECK-ERROR: The destination vector register group cannot overlap the mask register.
504 # CHECK-ERROR-LABEL: vfwsub.wv v0, v2, v4, v0.t
507 # CHECK-ERROR: The destination vector register group cannot overlap the source vector register group.
508 # CHECK-ERROR-LABEL: vfwsub.wv v2, v4, v2
510 vwaddu.wx v0
, v2
, a0
, v0.
t
511 # CHECK-ERROR: The destination vector register group cannot overlap the mask register.
512 # CHECK-ERROR-LABEL: vwaddu.wx v0, v2, a0, v0.t
514 vwsubu.wx v0
, v2
, a0
, v0.
t
515 # CHECK-ERROR: The destination vector register group cannot overlap the mask register.
516 # CHECK-ERROR-LABEL: vwsubu.wx v0, v2, a0, v0.t
518 vwadd.wx v0
, v2
, a0
, v0.
t
519 # CHECK-ERROR: The destination vector register group cannot overlap the mask register.
520 # CHECK-ERROR-LABEL: vwadd.wx v0, v2, a0, v0.t
522 vwsub.wx v0
, v2
, a0
, v0.
t
523 # CHECK-ERROR: The destination vector register group cannot overlap the mask register.
524 # CHECK-ERROR-LABEL: vwsub.wx v0, v2, a0, v0.t
526 vfwadd.wf v0
, v2
, fa0
, v0.
t
527 # CHECK-ERROR: The destination vector register group cannot overlap the mask register.
528 # CHECK-ERROR-LABEL: vfwadd.wf v0, v2, fa0, v0.t
530 vfwsub.wf v0
, v2
, fa0
, v0.
t
531 # CHECK-ERROR: The destination vector register group cannot overlap the mask register.
532 # CHECK-ERROR-LABEL: vfwsub.wf v0, v2, fa0, v0.t
534 vadc.vvm v0
, v2
, v4
, v0
535 # CHECK-ERROR: The destination vector register group cannot be V0.
536 # CHECK-ERROR-LABEL: vadc.vvm v0, v2, v4, v0
538 vadd.vv v0
, v2
, v4
, v0.
t
539 # CHECK-ERROR: The destination vector register group cannot overlap the mask register.
540 # CHECK-ERROR-LABEL: vadd.vv v0, v2, v4, v0.t
542 vadd.vx v0
, v2
, a0
, v0.
t
543 # CHECK-ERROR: The destination vector register group cannot overlap the mask register.
544 # CHECK-ERROR-LABEL: vadd.vx v0, v2, a0, v0.t
546 vadd.vi v0
, v2
, 1, v0.
t
547 # CHECK-ERROR: The destination vector register group cannot overlap the mask register.
548 # CHECK-ERROR-LABEL: vadd.vi v0, v2, 1, v0.t
550 vmsge.vx v0
, v4
, a0
, v0.
t
551 # CHECK-ERROR: too few operands for instruction
552 # CHECK-ERROR-LABEL: vmsge.vx v0, v4, a0, v0.t
554 vmerge.vim v0
, v1
, 1, v0
555 # CHECK-ERROR: The destination vector register group cannot be V0.
556 # CHECK-ERROR-LABEL: vmerge.vim v0, v1, 1, v0
558 vmerge.vvm v0
, v1
, v2
, v0
559 # CHECK-ERROR: The destination vector register group cannot be V0.
560 # CHECK-ERROR-LABEL: vmerge.vvm v0, v1, v2, v0
562 vmerge.vxm v0
, v1
, x1
, v0
563 # CHECK-ERROR: The destination vector register group cannot be V0.
564 # CHECK-ERROR-LABEL: vmerge.vxm v0, v1, x1, v0
566 vfmerge.vfm v0
, v1
, f1, v0
567 # CHECK-ERROR: The destination vector register group cannot be V0.
568 # CHECK-ERROR-LABEL: vfmerge.vfm v0, v1, f1, v0
570 vle8.v v0
, (a0
), v0.
t
571 # CHECK-ERROR: The destination vector register group cannot overlap the mask register.
572 # CHECK-ERROR-LABEL: vle8.v v0, (a0), v0.t
574 vfclass.v v0
, v1
, v0.
t
575 # CHECK-ERROR: The destination vector register group cannot overlap the mask register.
576 # CHECK-ERROR-LABEL: vfclass.v v0, v1, v0.t
578 vfsqrt.v v0
, v1
, v0.
t
579 # CHECK-ERROR: The destination vector register group cannot overlap the mask register.
580 # CHECK-ERROR-LABEL: vfsqrt.v v0, v1, v0.t
582 vzext.vf2 v0
, v1
, v0.
t
583 # CHECK-ERROR: The destination vector register group cannot overlap the mask register.
584 # CHECK-ERROR-LABEL: vzext.vf2 v0, v1, v0.t
587 # CHECK-ERROR: The destination vector register group cannot overlap the mask register.
588 # CHECK-ERROR-LABEL: vid.v v0, v0.t
590 vnsrl.wv v0
, v4
, v20
, v0.
t
591 # CHECK-ERROR: The destination vector register group cannot overlap the mask register.
592 # CHECK-ERROR-LABEL: vnsrl.wv v0, v4, v20, v0.t
594 vfncvt.xu.f.w v0
, v4
, v0.
t
595 # CHECK-ERROR: The destination vector register group cannot overlap the mask register.
596 # CHECK-ERROR-LABEL: vfncvt.xu.f.w v0, v4, v0.t
599 # CHECK-ERROR: invalid operand for instruction
602 # CHECK-ERROR: invalid operand for instruction
605 # CHECK-ERROR: invalid operand for instruction
608 # CHECK-ERROR: invalid operand for instruction
611 # CHECK-ERROR: invalid operand for instruction
614 # CHECK-ERROR: invalid operand for instruction
617 # CHECK-ERROR: invalid operand for instruction
620 # CHECK-ERROR: invalid operand for instruction
623 # CHECK-ERROR: invalid operand for instruction
626 # CHECK-ERROR: invalid operand for instruction
629 # CHECK-ERROR: invalid operand for instruction
632 # CHECK-ERROR: invalid operand for instruction
635 # CHECK-ERROR: invalid operand for instruction
638 # CHECK-ERROR: invalid operand for instruction
641 # CHECK-ERROR: invalid operand for instruction
644 # CHECK-ERROR: invalid operand for instruction
647 # CHECK-ERROR: invalid operand for instruction
650 # CHECK-ERROR: invalid operand for instruction
653 # CHECK-ERROR: invalid operand for instruction
656 # CHECK-ERROR: invalid operand for instruction
659 # CHECK-ERROR: invalid operand for instruction
662 # CHECK-ERROR: invalid operand for instruction
664 vmsge.vx v2
, v4
, a0
, v0.
t, v0
665 # CHECK-ERROR: invalid operand for instruction
667 vmsgeu.vx v2
, v4
, a0
, v0.
t, v0
668 # CHECK-ERROR: invalid operand for instruction
670 vmsge.vx v2
, v4
, a0
, v0.
t, v2
671 # CHECK-ERROR: The temporary vector register cannot be the same as the destination register.
673 vmsgeu.vx v2
, v4
, a0
, v0.
t, v2
674 # CHECK-ERROR: The temporary vector register cannot be the same as the destination register.