750 lines · plain
1# RUN: not llvm-mc -triple=riscv64 --mattr=+v --mattr=+f %s 2>&1 \2# RUN: | FileCheck %s --check-prefix=CHECK-ERROR3 4vsetivli a2, 5, (1 << 10)5# CHECK-ERROR: operand must be e[8|16|32|64],m[1|2|4|8|f2|f4|f8],[ta|tu],[ma|mu]6 7vsetivli a2, 5, 0x4008# CHECK-ERROR: operand must be e[8|16|32|64],m[1|2|4|8|f2|f4|f8],[ta|tu],[ma|mu]9 10vsetivli a2, 5, e3111# CHECK-ERROR: operand must be e[8|16|32|64],m[1|2|4|8|f2|f4|f8],[ta|tu],[ma|mu]12 13vsetvli a2, a0, (1 << 11)14# CHECK-ERROR: operand must be e[8|16|32|64],m[1|2|4|8|f2|f4|f8],[ta|tu],[ma|mu]15 16vsetvli a2, a0, 0x80017# CHECK-ERROR: operand must be e[8|16|32|64],m[1|2|4|8|f2|f4|f8],[ta|tu],[ma|mu]18 19vsetvli a2, a0, e32,m320# CHECK-ERROR: operand must be e[8|16|32|64],m[1|2|4|8|f2|f4|f8],[ta|tu],[ma|mu]21 22vsetvli a2, a0, m1,e3223# CHECK-ERROR: operand must be e[8|16|32|64],m[1|2|4|8|f2|f4|f8],[ta|tu],[ma|mu]24 25vsetvli a2, a0, e32,m1626# CHECK-ERROR: operand must be e[8|16|32|64],m[1|2|4|8|f2|f4|f8],[ta|tu],[ma|mu]27 28vsetvli a2, a0, e128,m829# CHECK-ERROR: operand must be e[8|16|32|64],m[1|2|4|8|f2|f4|f8],[ta|tu],[ma|mu]30 31vsetvli a2, a0, e256,m832# CHECK-ERROR: operand must be e[8|16|32|64],m[1|2|4|8|f2|f4|f8],[ta|tu],[ma|mu]33 34vsetvli a2, a0, e512,m835# CHECK-ERROR: operand must be e[8|16|32|64],m[1|2|4|8|f2|f4|f8],[ta|tu],[ma|mu]36 37vsetvli a2, a0, e1024,m838# CHECK-ERROR: operand must be e[8|16|32|64],m[1|2|4|8|f2|f4|f8],[ta|tu],[ma|mu]39 40vsetvli a2, a0, e2048,m841# CHECK-ERROR: operand must be e[8|16|32|64],m[1|2|4|8|f2|f4|f8],[ta|tu],[ma|mu]42 43vsetvli a2, a0, e1,m844# CHECK-ERROR: operand must be e[8|16|32|64],m[1|2|4|8|f2|f4|f8],[ta|tu],[ma|mu]45 46vsetvli a2, a0, e8,m1,tx47# CHECK-ERROR: operand must be e[8|16|32|64],m[1|2|4|8|f2|f4|f8],[ta|tu],[ma|mu]48 49vsetvli a2, a0, e8,m1,ta,mx50# CHECK-ERROR: operand must be e[8|16|32|64],m[1|2|4|8|f2|f4|f8],[ta|tu],[ma|mu]51 52vsetvli a2, a0, e8x,m1,tu,mu53# CHECK-ERROR: operand must be e[8|16|32|64],m[1|2|4|8|f2|f4|f8],[ta|tu],[ma|mu]54 55vsetvli a2, a0, e8,m1z,tu,mu56# CHECK-ERROR: operand must be e[8|16|32|64],m[1|2|4|8|f2|f4|f8],[ta|tu],[ma|mu]57 58vsetvli a2, a0, e8,mf1,tu,mu59# CHECK-ERROR: operand must be e[8|16|32|64],m[1|2|4|8|f2|f4|f8],[ta|tu],[ma|mu]60 61vsetvli a2, a0, e8,m1,tu,mut62# CHECK-ERROR: operand must be e[8|16|32|64],m[1|2|4|8|f2|f4|f8],[ta|tu],[ma|mu]63 64vsetvli a2, a0, e8,m1,tut,mu65# CHECK-ERROR: operand must be e[8|16|32|64],m[1|2|4|8|f2|f4|f8],[ta|tu],[ma|mu]66 67vsetvli a2, a0, e8,1,ta,ma68# CHECK-ERROR: operand must be e[8|16|32|64],m[1|2|4|8|f2|f4|f8],[ta|tu],[ma|mu]69 70vsetvli a2, a0, ma,tu,m1,e871# CHECK-ERROR: operand must be e[8|16|32|64],m[1|2|4|8|f2|f4|f8],[ta|tu],[ma|mu]72 73vsetvli a2, a0,74# CHECK-ERROR: unknown operand75 76vadd.vv v1, v3, v2, v4.t77# CHECK-ERROR: operand must be v0.t78 79vadd.vv v1, v3, v2, v080# CHECK-ERROR: expected '.t' suffix81 82vadd.vv v1, v3, a083# CHECK-ERROR: invalid operand for instruction84 85vmslt.vi v1, v2, -1686# CHECK-ERROR: immediate must be in the range [-15, 16]87 88vmslt.vi v1, v2, 1789# CHECK-ERROR: immediate must be in the range [-15, 16]90 91viota.m v0, v2, v0.t92# CHECK-ERROR: the destination vector register group cannot overlap the mask register93# CHECK-ERROR-LABEL: viota.m v0, v2, v0.t94 95viota.m v2, v296# CHECK-ERROR: the destination vector register group cannot overlap the source vector register group97# CHECK-ERROR-LABEL: viota.m v2, v298 99vfwcvt.xu.f.v v0, v2, v0.t100# CHECK-ERROR: the destination vector register group cannot overlap the mask register101# CHECK-ERROR-LABEL: vfwcvt.xu.f.v v0, v2, v0.t102 103vfwcvt.xu.f.v v2, v2104# CHECK-ERROR: the destination vector register group cannot overlap the source vector register group105# CHECK-ERROR-LABEL: vfwcvt.xu.f.v v2, v2106 107vfwcvt.x.f.v v0, v2, v0.t108# CHECK-ERROR: the destination vector register group cannot overlap the mask register109# CHECK-ERROR-LABEL: vfwcvt.x.f.v v0, v2, v0.t110 111vfwcvt.x.f.v v2, v2112# CHECK-ERROR: the destination vector register group cannot overlap the source vector register group113# CHECK-ERROR-LABEL: vfwcvt.x.f.v v2, v2114 115vfwcvt.f.xu.v v0, v2, v0.t116# CHECK-ERROR: the destination vector register group cannot overlap the mask register117# CHECK-ERROR-LABEL: vfwcvt.f.xu.v v0, v2, v0.t118 119vfwcvt.f.xu.v v2, v2120# CHECK-ERROR: the destination vector register group cannot overlap the source vector register group121# CHECK-ERROR-LABEL: vfwcvt.f.xu.v v2, v2122 123vfwcvt.f.x.v v0, v2, v0.t124# CHECK-ERROR: the destination vector register group cannot overlap the mask register125# CHECK-ERROR-LABEL: vfwcvt.f.x.v v0, v2, v0.t126 127vfwcvt.f.x.v v2, v2128# CHECK-ERROR: the destination vector register group cannot overlap the source vector register group129# CHECK-ERROR-LABEL: vfwcvt.f.x.v v2, v2130 131vfwcvt.f.f.v v0, v2, v0.t132# CHECK-ERROR: the destination vector register group cannot overlap the mask register133# CHECK-ERROR-LABEL: vfwcvt.f.f.v v0, v2, v0.t134 135vfwcvt.f.f.v v2, v2136# CHECK-ERROR: the destination vector register group cannot overlap the source vector register group137# CHECK-ERROR-LABEL: vfwcvt.f.f.v v2, v2138 139vslideup.vx v0, v2, a0, v0.t140# CHECK-ERROR: the destination vector register group cannot overlap the mask register141# CHECK-ERROR-LABEL: vslideup.vx v0, v2, a0, v0.t142 143vslideup.vx v2, v2, a0144# CHECK-ERROR: the destination vector register group cannot overlap the source vector register group145# CHECK-ERROR-LABEL: vslideup.vx v2, v2, a0146 147vslideup.vi v0, v2, 31, v0.t148# CHECK-ERROR: the destination vector register group cannot overlap the mask register149# CHECK-ERROR-LABEL: vslideup.vi v0, v2, 31, v0.t150 151vslideup.vi v2, v2, 31152# CHECK-ERROR: the destination vector register group cannot overlap the source vector register group153# CHECK-ERROR-LABEL: vslideup.vi v2, v2, 31154 155vslide1up.vx v0, v2, a0, v0.t156# CHECK-ERROR: the destination vector register group cannot overlap the mask register157# CHECK-ERROR-LABEL: vslide1up.vx v0, v2, a0, v0.t158 159vslide1up.vx v2, v2, a0160# CHECK-ERROR: the destination vector register group cannot overlap the source vector register group161# CHECK-ERROR-LABEL: vslide1up.vx v2, v2, a0162 163vrgather.vv v0, v2, v4, v0.t164# CHECK-ERROR: the destination vector register group cannot overlap the mask register165# CHECK-ERROR-LABEL: vrgather.vv v0, v2, v4, v0.t166 167vrgather.vv v2, v2, v4168# CHECK-ERROR: the destination vector register group cannot overlap the source vector register group169# CHECK-ERROR-LABEL: vrgather.vv v2, v2, v4170 171vrgather.vx v0, v2, a0, v0.t172# CHECK-ERROR: the destination vector register group cannot overlap the mask register173# CHECK-ERROR-LABEL: vrgather.vx v0, v2, a0, v0.t174 175vrgather.vx v2, v2, a0176# CHECK-ERROR: the destination vector register group cannot overlap the source vector register group177# CHECK-ERROR-LABEL: vrgather.vx v2, v2, a0178 179vrgather.vi v0, v2, 31, v0.t180# CHECK-ERROR: the destination vector register group cannot overlap the mask register181# CHECK-ERROR-LABEL: vrgather.vi v0, v2, 31, v0.t182 183vrgather.vi v2, v2, 31184# CHECK-ERROR: the destination vector register group cannot overlap the source vector register group185# CHECK-ERROR-LABEL: vrgather.vi v2, v2, 31186 187vwaddu.vv v0, v2, v4, v0.t188# CHECK-ERROR: the destination vector register group cannot overlap the mask register189# CHECK-ERROR-LABEL: vwaddu.vv v0, v2, v4, v0.t190 191vwaddu.vv v2, v2, v4192# CHECK-ERROR: the destination vector register group cannot overlap the source vector register group193# CHECK-ERROR-LABEL: vwaddu.vv v2, v2, v4194 195vwsubu.vv v0, v2, v4, v0.t196# CHECK-ERROR: the destination vector register group cannot overlap the mask register197# CHECK-ERROR-LABEL: vwsubu.vv v0, v2, v4, v0.t198 199vwsubu.vv v2, v2, v4200# CHECK-ERROR: the destination vector register group cannot overlap the source vector register group201# CHECK-ERROR-LABEL: vwsubu.vv v2, v2, v4202 203vwadd.vv v0, v2, v4, v0.t204# CHECK-ERROR: the destination vector register group cannot overlap the mask register205# CHECK-ERROR-LABEL: vwadd.vv v0, v2, v4, v0.t206 207vwadd.vv v2, v2, v4208# CHECK-ERROR: the destination vector register group cannot overlap the source vector register group209# CHECK-ERROR-LABEL: vwadd.vv v2, v2, v4210 211vwsub.vv v0, v2, v4, v0.t212# CHECK-ERROR: the destination vector register group cannot overlap the mask register213# CHECK-ERROR-LABEL: vwsub.vv v0, v2, v4, v0.t214 215vwsub.vv v2, v2, v4216# CHECK-ERROR: the destination vector register group cannot overlap the source vector register group217# CHECK-ERROR-LABEL: vwsub.vv v2, v2, v4218 219vwmul.vv v0, v2, v4, v0.t220# CHECK-ERROR: the destination vector register group cannot overlap the mask register221# CHECK-ERROR-LABEL: vwmul.vv v0, v2, v4, v0.t222 223vwmul.vv v2, v2, v4224# CHECK-ERROR: the destination vector register group cannot overlap the source vector register group225# CHECK-ERROR-LABEL: vwmul.vv v2, v2, v4226 227vwmulu.vv v0, v2, v4, v0.t228# CHECK-ERROR: the destination vector register group cannot overlap the mask register229# CHECK-ERROR-LABEL: vwmulu.vv v0, v2, v4, v0.t230 231vwmulu.vv v2, v2, v4232# CHECK-ERROR: the destination vector register group cannot overlap the source vector register group233# CHECK-ERROR-LABEL: vwmulu.vv v2, v2, v4234 235vwmulsu.vv v0, v2, v4, v0.t236# CHECK-ERROR: the destination vector register group cannot overlap the mask register237# CHECK-ERROR-LABEL: vwmulsu.vv v0, v2, v4, v0.t238 239vwmulsu.vv v2, v2, v4240# CHECK-ERROR: the destination vector register group cannot overlap the source vector register group241# CHECK-ERROR-LABEL: vwmulsu.vv v2, v2, v4242 243vwmaccu.vv v0, v4, v2, v0.t244# CHECK-ERROR: the destination vector register group cannot overlap the mask register245# CHECK-ERROR-LABEL: vwmaccu.vv v0, v4, v2, v0.t246 247vwmaccu.vv v2, v4, v2248# CHECK-ERROR: the destination vector register group cannot overlap the source vector register group249# CHECK-ERROR-LABEL: vwmaccu.vv v2, v4, v2250 251vwmacc.vv v0, v4, v2, v0.t252# CHECK-ERROR: the destination vector register group cannot overlap the mask register253# CHECK-ERROR-LABEL: vwmacc.vv v0, v4, v2, v0.t254 255vwmacc.vv v2, v4, v2256# CHECK-ERROR: the destination vector register group cannot overlap the source vector register group257# CHECK-ERROR-LABEL: vwmacc.vv v2, v4, v2258 259vwmaccsu.vv v0, v4, v2, v0.t260# CHECK-ERROR: the destination vector register group cannot overlap the mask register261# CHECK-ERROR-LABEL: vwmaccsu.vv v0, v4, v2, v0.t262 263vwmaccsu.vv v2, v4, v2264# CHECK-ERROR: the destination vector register group cannot overlap the source vector register group265# CHECK-ERROR-LABEL: vwmaccsu.vv v2, v4, v2266 267vfwadd.vv v0, v2, v4, v0.t268# CHECK-ERROR: the destination vector register group cannot overlap the mask register269# CHECK-ERROR-LABEL: vfwadd.vv v0, v2, v4, v0.t270 271vfwadd.vv v2, v2, v4272# CHECK-ERROR: the destination vector register group cannot overlap the source vector register group273# CHECK-ERROR-LABEL: vfwadd.vv v2, v2, v4274 275vfwsub.vv v0, v2, v4, v0.t276# CHECK-ERROR: the destination vector register group cannot overlap the mask register277# CHECK-ERROR-LABEL: vfwsub.vv v0, v2, v4, v0.t278 279vfwsub.vv v2, v2, v4280# CHECK-ERROR: the destination vector register group cannot overlap the source vector register group281# CHECK-ERROR-LABEL: vfwsub.vv v2, v2, v4282 283vfwmul.vv v0, v2, v4, v0.t284# CHECK-ERROR: the destination vector register group cannot overlap the mask register285# CHECK-ERROR-LABEL: vfwmul.vv v0, v2, v4, v0.t286 287vfwmul.vv v2, v2, v4288# CHECK-ERROR: the destination vector register group cannot overlap the source vector register group289# CHECK-ERROR-LABEL: vfwmul.vv v2, v2, v4290 291vfwmacc.vv v0, v4, v2, v0.t292# CHECK-ERROR: the destination vector register group cannot overlap the mask register293# CHECK-ERROR-LABEL: vfwmacc.vv v0, v4, v2, v0.t294 295vfwmacc.vv v2, v4, v2296# CHECK-ERROR: the destination vector register group cannot overlap the source vector register group297# CHECK-ERROR-LABEL: vfwmacc.vv v2, v4, v2298 299vfwnmacc.vv v0, v4, v2, v0.t300# CHECK-ERROR: the destination vector register group cannot overlap the mask register301# CHECK-ERROR-LABEL: vfwnmacc.vv v0, v4, v2, v0.t302 303vfwnmacc.vv v2, v4, v2304# CHECK-ERROR: the destination vector register group cannot overlap the source vector register group305# CHECK-ERROR-LABEL: vfwnmacc.vv v2, v4, v2306 307vfwmsac.vv v0, v4, v2, v0.t308# CHECK-ERROR: the destination vector register group cannot overlap the mask register309# CHECK-ERROR-LABEL: vfwmsac.vv v0, v4, v2, v0.t310 311vfwmsac.vv v2, v4, v2312# CHECK-ERROR: the destination vector register group cannot overlap the source vector register group313# CHECK-ERROR-LABEL: vfwmsac.vv v2, v4, v2314 315vfwnmsac.vv v0, v4, v2, v0.t316# CHECK-ERROR: the destination vector register group cannot overlap the mask register317# CHECK-ERROR-LABEL: vfwnmsac.vv v0, v4, v2, v0.t318 319vfwnmsac.vv v2, v4, v2320# CHECK-ERROR: the destination vector register group cannot overlap the source vector register group321# CHECK-ERROR-LABEL: vfwnmsac.vv v2, v4, v2322 323vwaddu.vx v0, v2, a0, v0.t324# CHECK-ERROR: the destination vector register group cannot overlap the mask register325# CHECK-ERROR-LABEL: vwaddu.vx v0, v2, a0, v0.t326 327vwaddu.vx v2, v2, a0328# CHECK-ERROR: the destination vector register group cannot overlap the source vector register group329# CHECK-ERROR-LABEL: vwaddu.vx v2, v2, a0330 331vwsubu.vx v0, v2, a0, v0.t332# CHECK-ERROR: the destination vector register group cannot overlap the mask register333# CHECK-ERROR-LABEL: vwsubu.vx v0, v2, a0, v0.t334 335vwsubu.vx v2, v2, a0336# CHECK-ERROR: the destination vector register group cannot overlap the source vector register group337# CHECK-ERROR-LABEL: vwsubu.vx v2, v2, a0338 339vwadd.vx v0, v2, a0, v0.t340# CHECK-ERROR: the destination vector register group cannot overlap the mask register341# CHECK-ERROR-LABEL: vwadd.vx v0, v2, a0, v0.t342 343vwadd.vx v2, v2, a0344# CHECK-ERROR: the destination vector register group cannot overlap the source vector register group345# CHECK-ERROR-LABEL: vwadd.vx v2, v2, a0346 347vwsub.vx v0, v2, a0, v0.t348# CHECK-ERROR: the destination vector register group cannot overlap the mask register349# CHECK-ERROR-LABEL: vwsub.vx v0, v2, a0, v0.t350 351vwsub.vx v2, v2, a0352# CHECK-ERROR: the destination vector register group cannot overlap the source vector register group353# CHECK-ERROR-LABEL: vwsub.vx v2, v2, a0354 355vwmul.vx v0, v2, a0, v0.t356# CHECK-ERROR: the destination vector register group cannot overlap the mask register357# CHECK-ERROR-LABEL: vwmul.vx v0, v2, a0, v0.t358 359vwmul.vx v2, v2, a0360# CHECK-ERROR: the destination vector register group cannot overlap the source vector register group361# CHECK-ERROR-LABEL: vwmul.vx v2, v2, a0362 363vwmulu.vx v0, v2, a0, v0.t364# CHECK-ERROR: the destination vector register group cannot overlap the mask register365# CHECK-ERROR-LABEL: vwmulu.vx v0, v2, a0, v0.t366 367vwmulu.vx v2, v2, a0368# CHECK-ERROR: the destination vector register group cannot overlap the source vector register group369# CHECK-ERROR-LABEL: vwmulu.vx v2, v2, a0370 371vwmulsu.vx v0, v2, a0, v0.t372# CHECK-ERROR: the destination vector register group cannot overlap the mask register373# CHECK-ERROR-LABEL: vwmulsu.vx v0, v2, a0, v0.t374 375vwmulsu.vx v2, v2, a0376# CHECK-ERROR: the destination vector register group cannot overlap the source vector register group377# CHECK-ERROR-LABEL: vwmulsu.vx v2, v2, a0378 379vwmaccu.vx v0, a0, v2, v0.t380# CHECK-ERROR: the destination vector register group cannot overlap the mask register381# CHECK-ERROR-LABEL: vwmaccu.vx v0, a0, v2, v0.t382 383vwmaccu.vx v2, a0, v2384# CHECK-ERROR: the destination vector register group cannot overlap the source vector register group385# CHECK-ERROR-LABEL: vwmaccu.vx v2, a0, v2386 387vwmacc.vx v0, a0, v2, v0.t388# CHECK-ERROR: the destination vector register group cannot overlap the mask register389# CHECK-ERROR-LABEL: vwmacc.vx v0, a0, v2, v0.t390 391vwmacc.vx v2, a0, v2392# CHECK-ERROR: the destination vector register group cannot overlap the source vector register group393# CHECK-ERROR-LABEL: vwmacc.vx v2, a0, v2394 395vwmaccsu.vx v0, a0, v2, v0.t396# CHECK-ERROR: the destination vector register group cannot overlap the mask register397# CHECK-ERROR-LABEL: vwmaccsu.vx v0, a0, v2, v0.t398 399vwmaccsu.vx v2, a0, v2400# CHECK-ERROR: the destination vector register group cannot overlap the source vector register group401# CHECK-ERROR-LABEL: vwmaccsu.vx v2, a0, v2402 403vwmaccus.vx v0, a0, v2, v0.t404# CHECK-ERROR: the destination vector register group cannot overlap the mask register405# CHECK-ERROR-LABEL: vwmaccus.vx v0, a0, v2, v0.t406 407vwmaccus.vx v2, a0, v2408# CHECK-ERROR: the destination vector register group cannot overlap the source vector register group409# CHECK-ERROR-LABEL: vwmaccus.vx v2, a0, v2410 411vfwadd.vf v0, v2, fa0, v0.t412# CHECK-ERROR: the destination vector register group cannot overlap the mask register413# CHECK-ERROR-LABEL: vfwadd.vf v0, v2, fa0, v0.t414 415vfwadd.vf v2, v2, fa0416# CHECK-ERROR: the destination vector register group cannot overlap the source vector register group417# CHECK-ERROR-LABEL: vfwadd.vf v2, v2, fa0418 419vfwsub.vf v0, v2, fa0, v0.t420# CHECK-ERROR: the destination vector register group cannot overlap the mask register421# CHECK-ERROR-LABEL: vfwsub.vf v0, v2, fa0, v0.t422 423vfwsub.vf v2, v2, fa0424# CHECK-ERROR: the destination vector register group cannot overlap the source vector register group425# CHECK-ERROR-LABEL: vfwsub.vf v2, v2, fa0426 427vfwmul.vf v0, v2, fa0, v0.t428# CHECK-ERROR: the destination vector register group cannot overlap the mask register429# CHECK-ERROR-LABEL: vfwmul.vf v0, v2, fa0, v0.t430 431vfwmul.vf v2, v2, fa0432# CHECK-ERROR: the destination vector register group cannot overlap the source vector register group433# CHECK-ERROR-LABEL: vfwmul.vf v2, v2, fa0434 435vfwmacc.vf v0, fa0, v2, v0.t436# CHECK-ERROR: the destination vector register group cannot overlap the mask register437# CHECK-ERROR-LABEL: vfwmacc.vf v0, fa0, v2, v0.t438 439vfwmacc.vf v2, fa0, v2440# CHECK-ERROR: the destination vector register group cannot overlap the source vector register group441# CHECK-ERROR-LABEL: vfwmacc.vf v2, fa0, v2442 443vfwnmacc.vf v0, fa0, v2, v0.t444# CHECK-ERROR: the destination vector register group cannot overlap the mask register445# CHECK-ERROR-LABEL: vfwnmacc.vf v0, fa0, v2, v0.t446 447vfwnmacc.vf v2, fa0, v2448# CHECK-ERROR: the destination vector register group cannot overlap the source vector register group449# CHECK-ERROR-LABEL: vfwnmacc.vf v2, fa0, v2450 451vfwmsac.vf v0, fa0, v2, v0.t452# CHECK-ERROR: the destination vector register group cannot overlap the mask register453# CHECK-ERROR-LABEL: vfwmsac.vf v0, fa0, v2, v0.t454 455vfwmsac.vf v2, fa0, v2456# CHECK-ERROR: the destination vector register group cannot overlap the source vector register group457# CHECK-ERROR-LABEL: vfwmsac.vf v2, fa0, v2458 459vfwnmsac.vf v0, fa0, v2, v0.t460# CHECK-ERROR: the destination vector register group cannot overlap the mask register461# CHECK-ERROR-LABEL: vfwnmsac.vf v0, fa0, v2, v0.t462 463vfwnmsac.vf v2, fa0, v2464# CHECK-ERROR: the destination vector register group cannot overlap the source vector register group465# CHECK-ERROR-LABEL: vfwnmsac.vf v2, fa0, v2466 467vcompress.vm v2, v2, v4468# CHECK-ERROR: the destination vector register group cannot overlap the source vector register group469# CHECK-ERROR-LABEL: vcompress.vm v2, v2, v4470 471vwaddu.wv v0, v2, v4, v0.t472# CHECK-ERROR: the destination vector register group cannot overlap the mask register473# CHECK-ERROR-LABEL: vwaddu.wv v0, v2, v4, v0.t474 475vwaddu.wv v2, v4, v2476# CHECK-ERROR: the destination vector register group cannot overlap the source vector register group477# CHECK-ERROR-LABEL: vwaddu.wv v2, v4, v2478 479vwsubu.wv v0, v2, v4, v0.t480# CHECK-ERROR: the destination vector register group cannot overlap the mask register481# CHECK-ERROR-LABEL: vwsubu.wv v0, v2, v4, v0.t482 483vwsubu.wv v2, v4, v2484# CHECK-ERROR: the destination vector register group cannot overlap the source vector register group485# CHECK-ERROR-LABEL: vwsubu.wv v2, v4, v2486 487vwadd.wv v0, v2, v4, v0.t488# CHECK-ERROR: the destination vector register group cannot overlap the mask register489# CHECK-ERROR-LABEL: vwadd.wv v0, v2, v4, v0.t490 491vwadd.wv v2, v4, v2492# CHECK-ERROR: the destination vector register group cannot overlap the source vector register group493# CHECK-ERROR-LABEL: vwadd.wv v2, v4, v2494 495vwsub.wv v0, v2, v4, v0.t496# CHECK-ERROR: the destination vector register group cannot overlap the mask register497# CHECK-ERROR-LABEL: vwsub.wv v0, v2, v4, v0.t498 499vwsub.wv v2, v4, v2500# CHECK-ERROR: the destination vector register group cannot overlap the source vector register group501# CHECK-ERROR-LABEL: vwsub.wv v2, v4, v2502 503vfwadd.wv v0, v2, v4, v0.t504# CHECK-ERROR: the destination vector register group cannot overlap the mask register505# CHECK-ERROR-LABEL: vfwadd.wv v0, v2, v4, v0.t506 507vfwadd.wv v2, v4, v2508# CHECK-ERROR: the destination vector register group cannot overlap the source vector register group509# CHECK-ERROR-LABEL: vfwadd.wv v2, v4, v2510 511vfwsub.wv v0, v2, v4, v0.t512# CHECK-ERROR: the destination vector register group cannot overlap the mask register513# CHECK-ERROR-LABEL: vfwsub.wv v0, v2, v4, v0.t514 515vfwsub.wv v2, v4, v2516# CHECK-ERROR: the destination vector register group cannot overlap the source vector register group517# CHECK-ERROR-LABEL: vfwsub.wv v2, v4, v2518 519vwaddu.wx v0, v2, a0, v0.t520# CHECK-ERROR: the destination vector register group cannot overlap the mask register521# CHECK-ERROR-LABEL: vwaddu.wx v0, v2, a0, v0.t522 523vwsubu.wx v0, v2, a0, v0.t524# CHECK-ERROR: the destination vector register group cannot overlap the mask register525# CHECK-ERROR-LABEL: vwsubu.wx v0, v2, a0, v0.t526 527vwadd.wx v0, v2, a0, v0.t528# CHECK-ERROR: the destination vector register group cannot overlap the mask register529# CHECK-ERROR-LABEL: vwadd.wx v0, v2, a0, v0.t530 531vwsub.wx v0, v2, a0, v0.t532# CHECK-ERROR: the destination vector register group cannot overlap the mask register533# CHECK-ERROR-LABEL: vwsub.wx v0, v2, a0, v0.t534 535vfwadd.wf v0, v2, fa0, v0.t536# CHECK-ERROR: the destination vector register group cannot overlap the mask register537# CHECK-ERROR-LABEL: vfwadd.wf v0, v2, fa0, v0.t538 539vfwsub.wf v0, v2, fa0, v0.t540# CHECK-ERROR: the destination vector register group cannot overlap the mask register541# CHECK-ERROR-LABEL: vfwsub.wf v0, v2, fa0, v0.t542 543vadc.vvm v0, v2, v4, v0544# CHECK-ERROR: the destination vector register group cannot be V0545# CHECK-ERROR-LABEL: vadc.vvm v0, v2, v4, v0546 547vadd.vv v0, v2, v4, v0.t548# CHECK-ERROR: the destination vector register group cannot overlap the mask register549# CHECK-ERROR-LABEL: vadd.vv v0, v2, v4, v0.t550 551vadd.vx v0, v2, a0, v0.t552# CHECK-ERROR: the destination vector register group cannot overlap the mask register553# CHECK-ERROR-LABEL: vadd.vx v0, v2, a0, v0.t554 555vadd.vi v0, v2, 1, v0.t556# CHECK-ERROR: the destination vector register group cannot overlap the mask register557# CHECK-ERROR-LABEL: vadd.vi v0, v2, 1, v0.t558 559vmsge.vx v0, v4, a0, v0.t560# CHECK-ERROR: too few operands for instruction561# CHECK-ERROR-LABEL: vmsge.vx v0, v4, a0, v0.t562 563vmerge.vim v0, v1, 1, v0564# CHECK-ERROR: the destination vector register group cannot be V0565# CHECK-ERROR-LABEL: vmerge.vim v0, v1, 1, v0566 567vmerge.vvm v0, v1, v2, v0568# CHECK-ERROR: the destination vector register group cannot be V0569# CHECK-ERROR-LABEL: vmerge.vvm v0, v1, v2, v0570 571vmerge.vxm v0, v1, x1, v0572# CHECK-ERROR: the destination vector register group cannot be V0573# CHECK-ERROR-LABEL: vmerge.vxm v0, v1, x1, v0574 575vfmerge.vfm v0, v1, f1, v0576# CHECK-ERROR: the destination vector register group cannot be V0577# CHECK-ERROR-LABEL: vfmerge.vfm v0, v1, f1, v0578 579vle8.v v0, (a0), v0.t580# CHECK-ERROR: the destination vector register group cannot overlap the mask register581# CHECK-ERROR-LABEL: vle8.v v0, (a0), v0.t582 583vfclass.v v0, v1, v0.t584# CHECK-ERROR: the destination vector register group cannot overlap the mask register585# CHECK-ERROR-LABEL: vfclass.v v0, v1, v0.t586 587vfsqrt.v v0, v1, v0.t588# CHECK-ERROR: the destination vector register group cannot overlap the mask register589# CHECK-ERROR-LABEL: vfsqrt.v v0, v1, v0.t590 591vzext.vf2 v0, v1, v0.t592# CHECK-ERROR: the destination vector register group cannot overlap the mask register593# CHECK-ERROR-LABEL: vzext.vf2 v0, v1, v0.t594 595vid.v v0, v0.t596# CHECK-ERROR: the destination vector register group cannot overlap the mask register597# CHECK-ERROR-LABEL: vid.v v0, v0.t598 599vnsrl.wv v0, v4, v20, v0.t600# CHECK-ERROR: the destination vector register group cannot overlap the mask register601# CHECK-ERROR-LABEL: vnsrl.wv v0, v4, v20, v0.t602 603vfncvt.xu.f.w v0, v4, v0.t604# CHECK-ERROR: the destination vector register group cannot overlap the mask register605# CHECK-ERROR-LABEL: vfncvt.xu.f.w v0, v4, v0.t606 607vl2re8.v v1, (a0)608# CHECK-ERROR: invalid operand for instruction609 610vl4re8.v v1, (a0)611# CHECK-ERROR: invalid operand for instruction612 613vl4re8.v v2, (a0)614# CHECK-ERROR: invalid operand for instruction615 616vl4re8.v v3, (a0)617# CHECK-ERROR: invalid operand for instruction618 619vl8re8.v v1, (a0)620# CHECK-ERROR: invalid operand for instruction621 622vl8re8.v v2, (a0)623# CHECK-ERROR: invalid operand for instruction624 625vl8re8.v v3, (a0)626# CHECK-ERROR: invalid operand for instruction627 628vl8re8.v v4, (a0)629# CHECK-ERROR: invalid operand for instruction630 631vl8re8.v v5, (a0)632# CHECK-ERROR: invalid operand for instruction633 634vl8re8.v v6, (a0)635# CHECK-ERROR: invalid operand for instruction636 637vl8re8.v v7, (a0)638# CHECK-ERROR: invalid operand for instruction639 640vs2r.v v1, (a0)641# CHECK-ERROR: invalid operand for instruction642 643vs4r.v v1, (a0)644# CHECK-ERROR: invalid operand for instruction645 646vs4r.v v2, (a0)647# CHECK-ERROR: invalid operand for instruction648 649vs4r.v v3, (a0)650# CHECK-ERROR: invalid operand for instruction651 652vs8r.v v1, (a0)653# CHECK-ERROR: invalid operand for instruction654 655vs8r.v v2, (a0)656# CHECK-ERROR: invalid operand for instruction657 658vs8r.v v3, (a0)659# CHECK-ERROR: invalid operand for instruction660 661vs8r.v v4, (a0)662# CHECK-ERROR: invalid operand for instruction663 664vs8r.v v5, (a0)665# CHECK-ERROR: invalid operand for instruction666 667vs8r.v v6, (a0)668# CHECK-ERROR: invalid operand for instruction669 670vs8r.v v7, (a0)671# CHECK-ERROR: invalid operand for instruction672 673vmv2r.v v1, v0674# CHECK-ERROR: invalid operand for instruction675 676vmv2r.v v0, v1677# CHECK-ERROR: invalid operand for instruction678 679vmv4r.v v1, v0680# CHECK-ERROR: invalid operand for instruction681 682vmv4r.v v2, v0683# CHECK-ERROR: invalid operand for instruction684 685vmv4r.v v3, v0686# CHECK-ERROR: invalid operand for instruction687 688vmv4r.v v0, v1689# CHECK-ERROR: invalid operand for instruction690 691vmv4r.v v0, v2692# CHECK-ERROR: invalid operand for instruction693 694vmv4r.v v0, v3695# CHECK-ERROR: invalid operand for instruction696 697vmv8r.v v1, v0698# CHECK-ERROR: invalid operand for instruction699 700vmv8r.v v2, v0701# CHECK-ERROR: invalid operand for instruction702 703vmv8r.v v3, v0704# CHECK-ERROR: invalid operand for instruction705 706vmv8r.v v4, v0707# CHECK-ERROR: invalid operand for instruction708 709vmv8r.v v5, v0710# CHECK-ERROR: invalid operand for instruction711 712vmv8r.v v6, v0713# CHECK-ERROR: invalid operand for instruction714 715vmv8r.v v7, v0716# CHECK-ERROR: invalid operand for instruction717 718vmv8r.v v0, v1719# CHECK-ERROR: invalid operand for instruction720 721vmv8r.v v0, v2722# CHECK-ERROR: invalid operand for instruction723 724vmv8r.v v0, v3725# CHECK-ERROR: invalid operand for instruction726 727vmv8r.v v0, v4728# CHECK-ERROR: invalid operand for instruction729 730vmv8r.v v0, v5731# CHECK-ERROR: invalid operand for instruction732 733vmv8r.v v0, v6734# CHECK-ERROR: invalid operand for instruction735 736vmv8r.v v0, v7737# CHECK-ERROR: invalid operand for instruction738 739vmsge.vx v2, v4, a0, v0.t, v0740# CHECK-ERROR: invalid operand for instruction741 742vmsgeu.vx v2, v4, a0, v0.t, v0743# CHECK-ERROR: invalid operand for instruction744 745vmsge.vx v2, v4, a0, v0.t, v2746# CHECK-ERROR: the temporary vector register cannot be the same as the destination register747 748vmsgeu.vx v2, v4, a0, v0.t, v2749# CHECK-ERROR: the temporary vector register cannot be the same as the destination register750