| # RUN: not llvm-mc -triple=riscv64 --mattr=+experimental-v --mattr=+f %s 2>&1 \ |
| # RUN: | FileCheck %s --check-prefix=CHECK-ERROR |
| |
| vsetivli a2, 32, e8,m1 |
| # CHECK-ERROR: unknown operand |
| |
| vsetivli a2, zero, e8,m1 |
| # CHECK-ERROR: unknown operand |
| |
| vsetivli a2, 5, e31 |
| # 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] |
| |
| vsetvli a2, a0, e31 |
| # 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] |
| |
| vsetvli a2, a0, e32,m3 |
| # 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] |
| |
| vsetvli a2, a0, m1,e32 |
| # 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] |
| |
| vsetvli a2, a0, e32,m16 |
| # 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] |
| |
| vsetvli a2, a0, e2048,m8 |
| # 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] |
| |
| vsetvli a2, a0, e1,m8 |
| # 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] |
| |
| vsetvli a2, a0, e8,m1,tx |
| # 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] |
| |
| vsetvli a2, a0, e8,m1,ta,mx |
| # 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] |
| |
| vsetvli a2, a0, e8,m1,ma |
| # 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] |
| |
| vsetvli a2, a0, e8,m1,mu |
| # 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] |
| |
| vsetvli a2, a0, e8x,m1,tu,mu |
| # 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] |
| |
| vsetvli a2, a0, e8,m1z,tu,mu |
| # 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] |
| |
| vsetvli a2, a0, e8,mf1,tu,mu |
| # 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] |
| |
| vsetvli a2, a0, e8,m1,tu,mut |
| # 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] |
| |
| vsetvli a2, a0, e8,m1,tut,mu |
| # 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] |
| |
| vadd.vv v1, v3, v2, v4.t |
| # CHECK-ERROR: operand must be v0.t |
| |
| vadd.vv v1, v3, v2, v0 |
| # CHECK-ERROR: expected '.t' suffix |
| |
| vadd.vv v1, v3, a0 |
| # CHECK-ERROR: invalid operand for instruction |
| |
| vmslt.vi v1, v2, -16 |
| # CHECK-ERROR: immediate must be in the range [-15, 16] |
| |
| vmslt.vi v1, v2, 17 |
| # CHECK-ERROR: immediate must be in the range [-15, 16] |
| |
| viota.m v0, v2, v0.t |
| # CHECK-ERROR: The destination vector register group cannot overlap the mask register. |
| # CHECK-ERROR-LABEL: viota.m v0, v2, v0.t |
| |
| viota.m v2, v2 |
| # CHECK-ERROR: The destination vector register group cannot overlap the source vector register group. |
| # CHECK-ERROR-LABEL: viota.m v2, v2 |
| |
| vfwcvt.xu.f.v v0, v2, v0.t |
| # CHECK-ERROR: The destination vector register group cannot overlap the mask register. |
| # CHECK-ERROR-LABEL: vfwcvt.xu.f.v v0, v2, v0.t |
| |
| vfwcvt.xu.f.v v2, v2 |
| # CHECK-ERROR: The destination vector register group cannot overlap the source vector register group. |
| # CHECK-ERROR-LABEL: vfwcvt.xu.f.v v2, v2 |
| |
| vfwcvt.x.f.v v0, v2, v0.t |
| # CHECK-ERROR: The destination vector register group cannot overlap the mask register. |
| # CHECK-ERROR-LABEL: vfwcvt.x.f.v v0, v2, v0.t |
| |
| vfwcvt.x.f.v v2, v2 |
| # CHECK-ERROR: The destination vector register group cannot overlap the source vector register group. |
| # CHECK-ERROR-LABEL: vfwcvt.x.f.v v2, v2 |
| |
| vfwcvt.f.xu.v v0, v2, v0.t |
| # CHECK-ERROR: The destination vector register group cannot overlap the mask register. |
| # CHECK-ERROR-LABEL: vfwcvt.f.xu.v v0, v2, v0.t |
| |
| vfwcvt.f.xu.v v2, v2 |
| # CHECK-ERROR: The destination vector register group cannot overlap the source vector register group. |
| # CHECK-ERROR-LABEL: vfwcvt.f.xu.v v2, v2 |
| |
| vfwcvt.f.x.v v0, v2, v0.t |
| # CHECK-ERROR: The destination vector register group cannot overlap the mask register. |
| # CHECK-ERROR-LABEL: vfwcvt.f.x.v v0, v2, v0.t |
| |
| vfwcvt.f.x.v v2, v2 |
| # CHECK-ERROR: The destination vector register group cannot overlap the source vector register group. |
| # CHECK-ERROR-LABEL: vfwcvt.f.x.v v2, v2 |
| |
| vfwcvt.f.f.v v0, v2, v0.t |
| # CHECK-ERROR: The destination vector register group cannot overlap the mask register. |
| # CHECK-ERROR-LABEL: vfwcvt.f.f.v v0, v2, v0.t |
| |
| vfwcvt.f.f.v v2, v2 |
| # CHECK-ERROR: The destination vector register group cannot overlap the source vector register group. |
| # CHECK-ERROR-LABEL: vfwcvt.f.f.v v2, v2 |
| |
| vslideup.vx v0, v2, a0, v0.t |
| # CHECK-ERROR: The destination vector register group cannot overlap the mask register. |
| # CHECK-ERROR-LABEL: vslideup.vx v0, v2, a0, v0.t |
| |
| vslideup.vx v2, v2, a0 |
| # CHECK-ERROR: The destination vector register group cannot overlap the source vector register group. |
| # CHECK-ERROR-LABEL: vslideup.vx v2, v2, a0 |
| |
| vslideup.vi v0, v2, 31, v0.t |
| # CHECK-ERROR: The destination vector register group cannot overlap the mask register. |
| # CHECK-ERROR-LABEL: vslideup.vi v0, v2, 31, v0.t |
| |
| vslideup.vi v2, v2, 31 |
| # CHECK-ERROR: The destination vector register group cannot overlap the source vector register group. |
| # CHECK-ERROR-LABEL: vslideup.vi v2, v2, 31 |
| |
| vslide1up.vx v0, v2, a0, v0.t |
| # CHECK-ERROR: The destination vector register group cannot overlap the mask register. |
| # CHECK-ERROR-LABEL: vslide1up.vx v0, v2, a0, v0.t |
| |
| vslide1up.vx v2, v2, a0 |
| # CHECK-ERROR: The destination vector register group cannot overlap the source vector register group. |
| # CHECK-ERROR-LABEL: vslide1up.vx v2, v2, a0 |
| |
| vrgather.vv v0, v2, v4, v0.t |
| # CHECK-ERROR: The destination vector register group cannot overlap the mask register. |
| # CHECK-ERROR-LABEL: vrgather.vv v0, v2, v4, v0.t |
| |
| vrgather.vv v2, v2, v4 |
| # CHECK-ERROR: The destination vector register group cannot overlap the source vector register group. |
| # CHECK-ERROR-LABEL: vrgather.vv v2, v2, v4 |
| |
| vrgather.vx v0, v2, a0, v0.t |
| # CHECK-ERROR: The destination vector register group cannot overlap the mask register. |
| # CHECK-ERROR-LABEL: vrgather.vx v0, v2, a0, v0.t |
| |
| vrgather.vx v2, v2, a0 |
| # CHECK-ERROR: The destination vector register group cannot overlap the source vector register group. |
| # CHECK-ERROR-LABEL: vrgather.vx v2, v2, a0 |
| |
| vrgather.vi v0, v2, 31, v0.t |
| # CHECK-ERROR: The destination vector register group cannot overlap the mask register. |
| # CHECK-ERROR-LABEL: vrgather.vi v0, v2, 31, v0.t |
| |
| vrgather.vi v2, v2, 31 |
| # CHECK-ERROR: The destination vector register group cannot overlap the source vector register group. |
| # CHECK-ERROR-LABEL: vrgather.vi v2, v2, 31 |
| |
| vwaddu.vv v0, v2, v4, v0.t |
| # CHECK-ERROR: The destination vector register group cannot overlap the mask register. |
| # CHECK-ERROR-LABEL: vwaddu.vv v0, v2, v4, v0.t |
| |
| vwaddu.vv v2, v2, v4 |
| # CHECK-ERROR: The destination vector register group cannot overlap the source vector register group. |
| # CHECK-ERROR-LABEL: vwaddu.vv v2, v2, v4 |
| |
| vwsubu.vv v0, v2, v4, v0.t |
| # CHECK-ERROR: The destination vector register group cannot overlap the mask register. |
| # CHECK-ERROR-LABEL: vwsubu.vv v0, v2, v4, v0.t |
| |
| vwsubu.vv v2, v2, v4 |
| # CHECK-ERROR: The destination vector register group cannot overlap the source vector register group. |
| # CHECK-ERROR-LABEL: vwsubu.vv v2, v2, v4 |
| |
| vwadd.vv v0, v2, v4, v0.t |
| # CHECK-ERROR: The destination vector register group cannot overlap the mask register. |
| # CHECK-ERROR-LABEL: vwadd.vv v0, v2, v4, v0.t |
| |
| vwadd.vv v2, v2, v4 |
| # CHECK-ERROR: The destination vector register group cannot overlap the source vector register group. |
| # CHECK-ERROR-LABEL: vwadd.vv v2, v2, v4 |
| |
| vwsub.vv v0, v2, v4, v0.t |
| # CHECK-ERROR: The destination vector register group cannot overlap the mask register. |
| # CHECK-ERROR-LABEL: vwsub.vv v0, v2, v4, v0.t |
| |
| vwsub.vv v2, v2, v4 |
| # CHECK-ERROR: The destination vector register group cannot overlap the source vector register group. |
| # CHECK-ERROR-LABEL: vwsub.vv v2, v2, v4 |
| |
| vwmul.vv v0, v2, v4, v0.t |
| # CHECK-ERROR: The destination vector register group cannot overlap the mask register. |
| # CHECK-ERROR-LABEL: vwmul.vv v0, v2, v4, v0.t |
| |
| vwmul.vv v2, v2, v4 |
| # CHECK-ERROR: The destination vector register group cannot overlap the source vector register group. |
| # CHECK-ERROR-LABEL: vwmul.vv v2, v2, v4 |
| |
| vwmulu.vv v0, v2, v4, v0.t |
| # CHECK-ERROR: The destination vector register group cannot overlap the mask register. |
| # CHECK-ERROR-LABEL: vwmulu.vv v0, v2, v4, v0.t |
| |
| vwmulu.vv v2, v2, v4 |
| # CHECK-ERROR: The destination vector register group cannot overlap the source vector register group. |
| # CHECK-ERROR-LABEL: vwmulu.vv v2, v2, v4 |
| |
| vwmulsu.vv v0, v2, v4, v0.t |
| # CHECK-ERROR: The destination vector register group cannot overlap the mask register. |
| # CHECK-ERROR-LABEL: vwmulsu.vv v0, v2, v4, v0.t |
| |
| vwmulsu.vv v2, v2, v4 |
| # CHECK-ERROR: The destination vector register group cannot overlap the source vector register group. |
| # CHECK-ERROR-LABEL: vwmulsu.vv v2, v2, v4 |
| |
| vwmaccu.vv v0, v4, v2, v0.t |
| # CHECK-ERROR: The destination vector register group cannot overlap the mask register. |
| # CHECK-ERROR-LABEL: vwmaccu.vv v0, v4, v2, v0.t |
| |
| vwmaccu.vv v2, v4, v2 |
| # CHECK-ERROR: The destination vector register group cannot overlap the source vector register group. |
| # CHECK-ERROR-LABEL: vwmaccu.vv v2, v4, v2 |
| |
| vwmacc.vv v0, v4, v2, v0.t |
| # CHECK-ERROR: The destination vector register group cannot overlap the mask register. |
| # CHECK-ERROR-LABEL: vwmacc.vv v0, v4, v2, v0.t |
| |
| vwmacc.vv v2, v4, v2 |
| # CHECK-ERROR: The destination vector register group cannot overlap the source vector register group. |
| # CHECK-ERROR-LABEL: vwmacc.vv v2, v4, v2 |
| |
| vwmaccsu.vv v0, v4, v2, v0.t |
| # CHECK-ERROR: The destination vector register group cannot overlap the mask register. |
| # CHECK-ERROR-LABEL: vwmaccsu.vv v0, v4, v2, v0.t |
| |
| vwmaccsu.vv v2, v4, v2 |
| # CHECK-ERROR: The destination vector register group cannot overlap the source vector register group. |
| # CHECK-ERROR-LABEL: vwmaccsu.vv v2, v4, v2 |
| |
| vfwadd.vv v0, v2, v4, v0.t |
| # CHECK-ERROR: The destination vector register group cannot overlap the mask register. |
| # CHECK-ERROR-LABEL: vfwadd.vv v0, v2, v4, v0.t |
| |
| vfwadd.vv v2, v2, v4 |
| # CHECK-ERROR: The destination vector register group cannot overlap the source vector register group. |
| # CHECK-ERROR-LABEL: vfwadd.vv v2, v2, v4 |
| |
| vfwsub.vv v0, v2, v4, v0.t |
| # CHECK-ERROR: The destination vector register group cannot overlap the mask register. |
| # CHECK-ERROR-LABEL: vfwsub.vv v0, v2, v4, v0.t |
| |
| vfwsub.vv v2, v2, v4 |
| # CHECK-ERROR: The destination vector register group cannot overlap the source vector register group. |
| # CHECK-ERROR-LABEL: vfwsub.vv v2, v2, v4 |
| |
| vfwmul.vv v0, v2, v4, v0.t |
| # CHECK-ERROR: The destination vector register group cannot overlap the mask register. |
| # CHECK-ERROR-LABEL: vfwmul.vv v0, v2, v4, v0.t |
| |
| vfwmul.vv v2, v2, v4 |
| # CHECK-ERROR: The destination vector register group cannot overlap the source vector register group. |
| # CHECK-ERROR-LABEL: vfwmul.vv v2, v2, v4 |
| |
| vfwmacc.vv v0, v4, v2, v0.t |
| # CHECK-ERROR: The destination vector register group cannot overlap the mask register. |
| # CHECK-ERROR-LABEL: vfwmacc.vv v0, v4, v2, v0.t |
| |
| vfwmacc.vv v2, v4, v2 |
| # CHECK-ERROR: The destination vector register group cannot overlap the source vector register group. |
| # CHECK-ERROR-LABEL: vfwmacc.vv v2, v4, v2 |
| |
| vfwnmacc.vv v0, v4, v2, v0.t |
| # CHECK-ERROR: The destination vector register group cannot overlap the mask register. |
| # CHECK-ERROR-LABEL: vfwnmacc.vv v0, v4, v2, v0.t |
| |
| vfwnmacc.vv v2, v4, v2 |
| # CHECK-ERROR: The destination vector register group cannot overlap the source vector register group. |
| # CHECK-ERROR-LABEL: vfwnmacc.vv v2, v4, v2 |
| |
| vfwmsac.vv v0, v4, v2, v0.t |
| # CHECK-ERROR: The destination vector register group cannot overlap the mask register. |
| # CHECK-ERROR-LABEL: vfwmsac.vv v0, v4, v2, v0.t |
| |
| vfwmsac.vv v2, v4, v2 |
| # CHECK-ERROR: The destination vector register group cannot overlap the source vector register group. |
| # CHECK-ERROR-LABEL: vfwmsac.vv v2, v4, v2 |
| |
| vfwnmsac.vv v0, v4, v2, v0.t |
| # CHECK-ERROR: The destination vector register group cannot overlap the mask register. |
| # CHECK-ERROR-LABEL: vfwnmsac.vv v0, v4, v2, v0.t |
| |
| vfwnmsac.vv v2, v4, v2 |
| # CHECK-ERROR: The destination vector register group cannot overlap the source vector register group. |
| # CHECK-ERROR-LABEL: vfwnmsac.vv v2, v4, v2 |
| |
| vwaddu.vx v0, v2, a0, v0.t |
| # CHECK-ERROR: The destination vector register group cannot overlap the mask register. |
| # CHECK-ERROR-LABEL: vwaddu.vx v0, v2, a0, v0.t |
| |
| vwaddu.vx v2, v2, a0 |
| # CHECK-ERROR: The destination vector register group cannot overlap the source vector register group. |
| # CHECK-ERROR-LABEL: vwaddu.vx v2, v2, a0 |
| |
| vwsubu.vx v0, v2, a0, v0.t |
| # CHECK-ERROR: The destination vector register group cannot overlap the mask register. |
| # CHECK-ERROR-LABEL: vwsubu.vx v0, v2, a0, v0.t |
| |
| vwsubu.vx v2, v2, a0 |
| # CHECK-ERROR: The destination vector register group cannot overlap the source vector register group. |
| # CHECK-ERROR-LABEL: vwsubu.vx v2, v2, a0 |
| |
| vwadd.vx v0, v2, a0, v0.t |
| # CHECK-ERROR: The destination vector register group cannot overlap the mask register. |
| # CHECK-ERROR-LABEL: vwadd.vx v0, v2, a0, v0.t |
| |
| vwadd.vx v2, v2, a0 |
| # CHECK-ERROR: The destination vector register group cannot overlap the source vector register group. |
| # CHECK-ERROR-LABEL: vwadd.vx v2, v2, a0 |
| |
| vwsub.vx v0, v2, a0, v0.t |
| # CHECK-ERROR: The destination vector register group cannot overlap the mask register. |
| # CHECK-ERROR-LABEL: vwsub.vx v0, v2, a0, v0.t |
| |
| vwsub.vx v2, v2, a0 |
| # CHECK-ERROR: The destination vector register group cannot overlap the source vector register group. |
| # CHECK-ERROR-LABEL: vwsub.vx v2, v2, a0 |
| |
| vwmul.vx v0, v2, a0, v0.t |
| # CHECK-ERROR: The destination vector register group cannot overlap the mask register. |
| # CHECK-ERROR-LABEL: vwmul.vx v0, v2, a0, v0.t |
| |
| vwmul.vx v2, v2, a0 |
| # CHECK-ERROR: The destination vector register group cannot overlap the source vector register group. |
| # CHECK-ERROR-LABEL: vwmul.vx v2, v2, a0 |
| |
| vwmulu.vx v0, v2, a0, v0.t |
| # CHECK-ERROR: The destination vector register group cannot overlap the mask register. |
| # CHECK-ERROR-LABEL: vwmulu.vx v0, v2, a0, v0.t |
| |
| vwmulu.vx v2, v2, a0 |
| # CHECK-ERROR: The destination vector register group cannot overlap the source vector register group. |
| # CHECK-ERROR-LABEL: vwmulu.vx v2, v2, a0 |
| |
| vwmulsu.vx v0, v2, a0, v0.t |
| # CHECK-ERROR: The destination vector register group cannot overlap the mask register. |
| # CHECK-ERROR-LABEL: vwmulsu.vx v0, v2, a0, v0.t |
| |
| vwmulsu.vx v2, v2, a0 |
| # CHECK-ERROR: The destination vector register group cannot overlap the source vector register group. |
| # CHECK-ERROR-LABEL: vwmulsu.vx v2, v2, a0 |
| |
| vwmaccu.vx v0, a0, v2, v0.t |
| # CHECK-ERROR: The destination vector register group cannot overlap the mask register. |
| # CHECK-ERROR-LABEL: vwmaccu.vx v0, a0, v2, v0.t |
| |
| vwmaccu.vx v2, a0, v2 |
| # CHECK-ERROR: The destination vector register group cannot overlap the source vector register group. |
| # CHECK-ERROR-LABEL: vwmaccu.vx v2, a0, v2 |
| |
| vwmacc.vx v0, a0, v2, v0.t |
| # CHECK-ERROR: The destination vector register group cannot overlap the mask register. |
| # CHECK-ERROR-LABEL: vwmacc.vx v0, a0, v2, v0.t |
| |
| vwmacc.vx v2, a0, v2 |
| # CHECK-ERROR: The destination vector register group cannot overlap the source vector register group. |
| # CHECK-ERROR-LABEL: vwmacc.vx v2, a0, v2 |
| |
| vwmaccsu.vx v0, a0, v2, v0.t |
| # CHECK-ERROR: The destination vector register group cannot overlap the mask register. |
| # CHECK-ERROR-LABEL: vwmaccsu.vx v0, a0, v2, v0.t |
| |
| vwmaccsu.vx v2, a0, v2 |
| # CHECK-ERROR: The destination vector register group cannot overlap the source vector register group. |
| # CHECK-ERROR-LABEL: vwmaccsu.vx v2, a0, v2 |
| |
| vwmaccus.vx v0, a0, v2, v0.t |
| # CHECK-ERROR: The destination vector register group cannot overlap the mask register. |
| # CHECK-ERROR-LABEL: vwmaccus.vx v0, a0, v2, v0.t |
| |
| vwmaccus.vx v2, a0, v2 |
| # CHECK-ERROR: The destination vector register group cannot overlap the source vector register group. |
| # CHECK-ERROR-LABEL: vwmaccus.vx v2, a0, v2 |
| |
| vfwadd.vf v0, v2, fa0, v0.t |
| # CHECK-ERROR: The destination vector register group cannot overlap the mask register. |
| # CHECK-ERROR-LABEL: vfwadd.vf v0, v2, fa0, v0.t |
| |
| vfwadd.vf v2, v2, fa0 |
| # CHECK-ERROR: The destination vector register group cannot overlap the source vector register group. |
| # CHECK-ERROR-LABEL: vfwadd.vf v2, v2, fa0 |
| |
| vfwsub.vf v0, v2, fa0, v0.t |
| # CHECK-ERROR: The destination vector register group cannot overlap the mask register. |
| # CHECK-ERROR-LABEL: vfwsub.vf v0, v2, fa0, v0.t |
| |
| vfwsub.vf v2, v2, fa0 |
| # CHECK-ERROR: The destination vector register group cannot overlap the source vector register group. |
| # CHECK-ERROR-LABEL: vfwsub.vf v2, v2, fa0 |
| |
| vfwmul.vf v0, v2, fa0, v0.t |
| # CHECK-ERROR: The destination vector register group cannot overlap the mask register. |
| # CHECK-ERROR-LABEL: vfwmul.vf v0, v2, fa0, v0.t |
| |
| vfwmul.vf v2, v2, fa0 |
| # CHECK-ERROR: The destination vector register group cannot overlap the source vector register group. |
| # CHECK-ERROR-LABEL: vfwmul.vf v2, v2, fa0 |
| |
| vfwmacc.vf v0, fa0, v2, v0.t |
| # CHECK-ERROR: The destination vector register group cannot overlap the mask register. |
| # CHECK-ERROR-LABEL: vfwmacc.vf v0, fa0, v2, v0.t |
| |
| vfwmacc.vf v2, fa0, v2 |
| # CHECK-ERROR: The destination vector register group cannot overlap the source vector register group. |
| # CHECK-ERROR-LABEL: vfwmacc.vf v2, fa0, v2 |
| |
| vfwnmacc.vf v0, fa0, v2, v0.t |
| # CHECK-ERROR: The destination vector register group cannot overlap the mask register. |
| # CHECK-ERROR-LABEL: vfwnmacc.vf v0, fa0, v2, v0.t |
| |
| vfwnmacc.vf v2, fa0, v2 |
| # CHECK-ERROR: The destination vector register group cannot overlap the source vector register group. |
| # CHECK-ERROR-LABEL: vfwnmacc.vf v2, fa0, v2 |
| |
| vfwmsac.vf v0, fa0, v2, v0.t |
| # CHECK-ERROR: The destination vector register group cannot overlap the mask register. |
| # CHECK-ERROR-LABEL: vfwmsac.vf v0, fa0, v2, v0.t |
| |
| vfwmsac.vf v2, fa0, v2 |
| # CHECK-ERROR: The destination vector register group cannot overlap the source vector register group. |
| # CHECK-ERROR-LABEL: vfwmsac.vf v2, fa0, v2 |
| |
| vfwnmsac.vf v0, fa0, v2, v0.t |
| # CHECK-ERROR: The destination vector register group cannot overlap the mask register. |
| # CHECK-ERROR-LABEL: vfwnmsac.vf v0, fa0, v2, v0.t |
| |
| vfwnmsac.vf v2, fa0, v2 |
| # CHECK-ERROR: The destination vector register group cannot overlap the source vector register group. |
| # CHECK-ERROR-LABEL: vfwnmsac.vf v2, fa0, v2 |
| |
| vcompress.vm v2, v2, v4 |
| # CHECK-ERROR: The destination vector register group cannot overlap the source vector register group. |
| # CHECK-ERROR-LABEL: vcompress.vm v2, v2, v4 |
| |
| vwaddu.wv v0, v2, v4, v0.t |
| # CHECK-ERROR: The destination vector register group cannot overlap the mask register. |
| # CHECK-ERROR-LABEL: vwaddu.wv v0, v2, v4, v0.t |
| |
| vwaddu.wv v2, v4, v2 |
| # CHECK-ERROR: The destination vector register group cannot overlap the source vector register group. |
| # CHECK-ERROR-LABEL: vwaddu.wv v2, v4, v2 |
| |
| vwsubu.wv v0, v2, v4, v0.t |
| # CHECK-ERROR: The destination vector register group cannot overlap the mask register. |
| # CHECK-ERROR-LABEL: vwsubu.wv v0, v2, v4, v0.t |
| |
| vwsubu.wv v2, v4, v2 |
| # CHECK-ERROR: The destination vector register group cannot overlap the source vector register group. |
| # CHECK-ERROR-LABEL: vwsubu.wv v2, v4, v2 |
| |
| vwadd.wv v0, v2, v4, v0.t |
| # CHECK-ERROR: The destination vector register group cannot overlap the mask register. |
| # CHECK-ERROR-LABEL: vwadd.wv v0, v2, v4, v0.t |
| |
| vwadd.wv v2, v4, v2 |
| # CHECK-ERROR: The destination vector register group cannot overlap the source vector register group. |
| # CHECK-ERROR-LABEL: vwadd.wv v2, v4, v2 |
| |
| vwsub.wv v0, v2, v4, v0.t |
| # CHECK-ERROR: The destination vector register group cannot overlap the mask register. |
| # CHECK-ERROR-LABEL: vwsub.wv v0, v2, v4, v0.t |
| |
| vwsub.wv v2, v4, v2 |
| # CHECK-ERROR: The destination vector register group cannot overlap the source vector register group. |
| # CHECK-ERROR-LABEL: vwsub.wv v2, v4, v2 |
| |
| vfwadd.wv v0, v2, v4, v0.t |
| # CHECK-ERROR: The destination vector register group cannot overlap the mask register. |
| # CHECK-ERROR-LABEL: vfwadd.wv v0, v2, v4, v0.t |
| |
| vfwadd.wv v2, v4, v2 |
| # CHECK-ERROR: The destination vector register group cannot overlap the source vector register group. |
| # CHECK-ERROR-LABEL: vfwadd.wv v2, v4, v2 |
| |
| vfwsub.wv v0, v2, v4, v0.t |
| # CHECK-ERROR: The destination vector register group cannot overlap the mask register. |
| # CHECK-ERROR-LABEL: vfwsub.wv v0, v2, v4, v0.t |
| |
| vfwsub.wv v2, v4, v2 |
| # CHECK-ERROR: The destination vector register group cannot overlap the source vector register group. |
| # CHECK-ERROR-LABEL: vfwsub.wv v2, v4, v2 |
| |
| vwaddu.wx v0, v2, a0, v0.t |
| # CHECK-ERROR: The destination vector register group cannot overlap the mask register. |
| # CHECK-ERROR-LABEL: vwaddu.wx v0, v2, a0, v0.t |
| |
| vwsubu.wx v0, v2, a0, v0.t |
| # CHECK-ERROR: The destination vector register group cannot overlap the mask register. |
| # CHECK-ERROR-LABEL: vwsubu.wx v0, v2, a0, v0.t |
| |
| vwadd.wx v0, v2, a0, v0.t |
| # CHECK-ERROR: The destination vector register group cannot overlap the mask register. |
| # CHECK-ERROR-LABEL: vwadd.wx v0, v2, a0, v0.t |
| |
| vwsub.wx v0, v2, a0, v0.t |
| # CHECK-ERROR: The destination vector register group cannot overlap the mask register. |
| # CHECK-ERROR-LABEL: vwsub.wx v0, v2, a0, v0.t |
| |
| vfwadd.wf v0, v2, fa0, v0.t |
| # CHECK-ERROR: The destination vector register group cannot overlap the mask register. |
| # CHECK-ERROR-LABEL: vfwadd.wf v0, v2, fa0, v0.t |
| |
| vfwsub.wf v0, v2, fa0, v0.t |
| # CHECK-ERROR: The destination vector register group cannot overlap the mask register. |
| # CHECK-ERROR-LABEL: vfwsub.wf v0, v2, fa0, v0.t |
| |
| vadc.vvm v0, v2, v4, v0 |
| # CHECK-ERROR: The destination vector register group cannot be V0. |
| # CHECK-ERROR-LABEL: vadc.vvm v0, v2, v4, v0 |
| |
| vadd.vv v0, v2, v4, v0.t |
| # CHECK-ERROR: The destination vector register group cannot overlap the mask register. |
| # CHECK-ERROR-LABEL: vadd.vv v0, v2, v4, v0.t |
| |
| vadd.vx v0, v2, a0, v0.t |
| # CHECK-ERROR: The destination vector register group cannot overlap the mask register. |
| # CHECK-ERROR-LABEL: vadd.vx v0, v2, a0, v0.t |
| |
| vadd.vi v0, v2, 1, v0.t |
| # CHECK-ERROR: The destination vector register group cannot overlap the mask register. |
| # CHECK-ERROR-LABEL: vadd.vi v0, v2, 1, v0.t |
| |
| vmsge.vx v0, v4, a0, v0.t |
| # CHECK-ERROR: too few operands for instruction |
| # CHECK-ERROR-LABEL: vmsge.vx v0, v4, a0, v0.t |
| |
| vmsge.vx v8, v4, a0, v0.t, v2 |
| # CHECK-ERROR: invalid operand for instruction |
| # CHECK-ERROR-LABEL: vmsge.vx v8, v4, a0, v0.t, v2 |
| |
| vmerge.vim v0, v1, 1, v0 |
| # CHECK-ERROR: The destination vector register group cannot be V0. |
| # CHECK-ERROR-LABEL: vmerge.vim v0, v1, 1, v0 |
| |
| vmerge.vvm v0, v1, v2, v0 |
| # CHECK-ERROR: The destination vector register group cannot be V0. |
| # CHECK-ERROR-LABEL: vmerge.vvm v0, v1, v2, v0 |
| |
| vmerge.vxm v0, v1, x1, v0 |
| # CHECK-ERROR: The destination vector register group cannot be V0. |
| # CHECK-ERROR-LABEL: vmerge.vxm v0, v1, x1, v0 |
| |
| vfmerge.vfm v0, v1, f1, v0 |
| # CHECK-ERROR: The destination vector register group cannot be V0. |
| # CHECK-ERROR-LABEL: vfmerge.vfm v0, v1, f1, v0 |
| |
| vle8.v v0, (a0), v0.t |
| # CHECK-ERROR: The destination vector register group cannot overlap the mask register. |
| # CHECK-ERROR-LABEL: vle8.v v0, (a0), v0.t |
| |
| vfclass.v v0, v1, v0.t |
| # CHECK-ERROR: The destination vector register group cannot overlap the mask register. |
| # CHECK-ERROR-LABEL: vfclass.v v0, v1, v0.t |
| |
| vfsqrt.v v0, v1, v0.t |
| # CHECK-ERROR: The destination vector register group cannot overlap the mask register. |
| # CHECK-ERROR-LABEL: vfsqrt.v v0, v1, v0.t |
| |
| vzext.vf2 v0, v1, v0.t |
| # CHECK-ERROR: The destination vector register group cannot overlap the mask register. |
| # CHECK-ERROR-LABEL: vzext.vf2 v0, v1, v0.t |
| |
| vid.v v0, v0.t |
| # CHECK-ERROR: The destination vector register group cannot overlap the mask register. |
| # CHECK-ERROR-LABEL: vid.v v0, v0.t |
| |
| vnsrl.wv v0, v4, v20, v0.t |
| # CHECK-ERROR: The destination vector register group cannot overlap the mask register. |
| # CHECK-ERROR-LABEL: vnsrl.wv v0, v4, v20, v0.t |
| |
| vfncvt.xu.f.w v0, v4, v0.t |
| # CHECK-ERROR: The destination vector register group cannot overlap the mask register. |
| # CHECK-ERROR-LABEL: vfncvt.xu.f.w v0, v4, v0.t |