1# RUN: not llvm-mc -triple=riscv64 --mattr=+experimental-v --mattr=+f %s 2>&1 \ 2# RUN: | FileCheck %s --check-prefix=CHECK-ERROR 3 4vsetvli a2, a0, e31 5# 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] 6 7vsetvli a2, a0, e32,m3 8# 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] 9 10vsetvli a2, a0, m1,e32 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] 12 13vsetvli a2, a0, e32,m16 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] 15 16vsetvli a2, a0, e2048,m8 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] 18 19vsetvli a2, a0, e1,m8 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] 21 22vsetvli a2, a0, e8,m1,tx 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] 24 25vsetvli a2, a0, e8,m1,ta,mx 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] 27 28vsetvli a2, a0, e8,m1,ma 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] 30 31vsetvli a2, a0, e8,m1,mu 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] 33 34vsetvli a2, a0, e8x,m1,tu,mu 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] 36 37vsetvli a2, a0, e8,m1z,tu,mu 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] 39 40vsetvli a2, a0, e8,mf1,tu,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] 42 43vsetvli a2, a0, e8,m1,tu,mut 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] 45 46vsetvli a2, a0, e8,m1,tut,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] 48 49vadd.vv v1, v3, v2, v4.t 50# CHECK-ERROR: operand must be v0.t 51 52vadd.vv v1, v3, v2, v0 53# CHECK-ERROR: expected '.t' suffix 54 55vadd.vv v1, v3, a0 56# CHECK-ERROR: invalid operand for instruction 57 58vmslt.vi v1, v2, -16 59# CHECK-ERROR: immediate must be in the range [-15, 16] 60 61vmslt.vi v1, v2, 17 62# CHECK-ERROR: immediate must be in the range [-15, 16] 63 64viota.m v0, v2, v0.t 65# CHECK-ERROR: The destination vector register group cannot overlap the mask register. 66# CHECK-ERROR-LABEL: viota.m v0, v2, v0.t 67 68viota.m v2, v2 69# CHECK-ERROR: The destination vector register group cannot overlap the source vector register group. 70# CHECK-ERROR-LABEL: viota.m v2, v2 71 72vfwcvt.xu.f.v v0, v2, v0.t 73# CHECK-ERROR: The destination vector register group cannot overlap the mask register. 74# CHECK-ERROR-LABEL: vfwcvt.xu.f.v v0, v2, v0.t 75 76vfwcvt.xu.f.v v2, v2 77# CHECK-ERROR: The destination vector register group cannot overlap the source vector register group. 78# CHECK-ERROR-LABEL: vfwcvt.xu.f.v v2, v2 79 80vfwcvt.x.f.v v0, v2, v0.t 81# CHECK-ERROR: The destination vector register group cannot overlap the mask register. 82# CHECK-ERROR-LABEL: vfwcvt.x.f.v v0, v2, v0.t 83 84vfwcvt.x.f.v v2, v2 85# CHECK-ERROR: The destination vector register group cannot overlap the source vector register group. 86# CHECK-ERROR-LABEL: vfwcvt.x.f.v v2, v2 87 88vfwcvt.f.xu.v v0, v2, v0.t 89# CHECK-ERROR: The destination vector register group cannot overlap the mask register. 90# CHECK-ERROR-LABEL: vfwcvt.f.xu.v v0, v2, v0.t 91 92vfwcvt.f.xu.v v2, v2 93# CHECK-ERROR: The destination vector register group cannot overlap the source vector register group. 94# CHECK-ERROR-LABEL: vfwcvt.f.xu.v v2, v2 95 96vfwcvt.f.x.v v0, v2, v0.t 97# CHECK-ERROR: The destination vector register group cannot overlap the mask register. 98# CHECK-ERROR-LABEL: vfwcvt.f.x.v v0, v2, v0.t 99 100vfwcvt.f.x.v v2, v2 101# CHECK-ERROR: The destination vector register group cannot overlap the source vector register group. 102# CHECK-ERROR-LABEL: vfwcvt.f.x.v v2, v2 103 104vfwcvt.f.f.v v0, v2, v0.t 105# CHECK-ERROR: The destination vector register group cannot overlap the mask register. 106# CHECK-ERROR-LABEL: vfwcvt.f.f.v v0, v2, v0.t 107 108vfwcvt.f.f.v v2, v2 109# CHECK-ERROR: The destination vector register group cannot overlap the source vector register group. 110# CHECK-ERROR-LABEL: vfwcvt.f.f.v v2, v2 111 112vslideup.vx v0, v2, a0, v0.t 113# CHECK-ERROR: The destination vector register group cannot overlap the mask register. 114# CHECK-ERROR-LABEL: vslideup.vx v0, v2, a0, v0.t 115 116vslideup.vx v2, v2, a0 117# CHECK-ERROR: The destination vector register group cannot overlap the source vector register group. 118# CHECK-ERROR-LABEL: vslideup.vx v2, v2, a0 119 120vslideup.vi v0, v2, 31, v0.t 121# CHECK-ERROR: The destination vector register group cannot overlap the mask register. 122# CHECK-ERROR-LABEL: vslideup.vi v0, v2, 31, v0.t 123 124vslideup.vi v2, v2, 31 125# CHECK-ERROR: The destination vector register group cannot overlap the source vector register group. 126# CHECK-ERROR-LABEL: vslideup.vi v2, v2, 31 127 128vslide1up.vx v0, v2, a0, v0.t 129# CHECK-ERROR: The destination vector register group cannot overlap the mask register. 130# CHECK-ERROR-LABEL: vslide1up.vx v0, v2, a0, v0.t 131 132vslide1up.vx v2, v2, a0 133# CHECK-ERROR: The destination vector register group cannot overlap the source vector register group. 134# CHECK-ERROR-LABEL: vslide1up.vx v2, v2, a0 135 136vnsrl.wv v2, v2, v4 137# CHECK-ERROR: The destination vector register group cannot overlap the source vector register group. 138# CHECK-ERROR-LABEL: vnsrl.wv v2, v2, v4 139 140vnsrl.wx v2, v2, a0 141# CHECK-ERROR: The destination vector register group cannot overlap the source vector register group. 142# CHECK-ERROR-LABEL: vnsrl.wx v2, v2, a0 143 144vnsrl.wi v2, v2, 31 145# CHECK-ERROR: The destination vector register group cannot overlap the source vector register group. 146# CHECK-ERROR-LABEL: vnsrl.wi v2, v2, 31 147 148vnsra.wv v2, v2, v4 149# CHECK-ERROR: The destination vector register group cannot overlap the source vector register group. 150# CHECK-ERROR-LABEL: vnsra.wv v2, v2, v4 151 152vnsra.wx v2, v2, a0 153# CHECK-ERROR: The destination vector register group cannot overlap the source vector register group. 154# CHECK-ERROR-LABEL: vnsra.wx v2, v2, a0 155 156vnsra.wi v2, v2, 31 157# CHECK-ERROR: The destination vector register group cannot overlap the source vector register group. 158# CHECK-ERROR-LABEL: vnsra.wi v2, v2, 31 159 160vnclipu.wv v2, v2, v4 161# CHECK-ERROR: The destination vector register group cannot overlap the source vector register group. 162# CHECK-ERROR-LABEL: vnclipu.wv v2, v2, v4 163 164vnclipu.wx v2, v2, a0 165# CHECK-ERROR: The destination vector register group cannot overlap the source vector register group. 166# CHECK-ERROR-LABEL: vnclipu.wx v2, v2, a0 167 168vnclipu.wi v2, v2, 31 169# CHECK-ERROR: The destination vector register group cannot overlap the source vector register group. 170# CHECK-ERROR-LABEL: vnclipu.wi v2, v2, 31 171 172vnclip.wv v2, v2, v4 173# CHECK-ERROR: The destination vector register group cannot overlap the source vector register group. 174# CHECK-ERROR-LABEL: vnclip.wv v2, v2, v4 175 176vnclip.wx v2, v2, a0 177# CHECK-ERROR: The destination vector register group cannot overlap the source vector register group. 178# CHECK-ERROR-LABEL: vnclip.wx v2, v2, a0 179 180vnclip.wi v2, v2, 31 181# CHECK-ERROR: The destination vector register group cannot overlap the source vector register group. 182# CHECK-ERROR-LABEL: vnclip.wi v2, v2, 31 183 184vfncvt.xu.f.w v2, v2 185# CHECK-ERROR: The destination vector register group cannot overlap the source vector register group. 186# CHECK-ERROR-LABEL: vfncvt.xu.f.w v2, v2 187 188vfncvt.x.f.w v2, v2 189# CHECK-ERROR: The destination vector register group cannot overlap the source vector register group. 190# CHECK-ERROR-LABEL: vfncvt.x.f.w v2, v2 191 192vfncvt.f.xu.w v2, v2 193# CHECK-ERROR: The destination vector register group cannot overlap the source vector register group. 194# CHECK-ERROR-LABEL: vfncvt.f.xu.w v2, v2 195 196vfncvt.f.x.w v2, v2 197# CHECK-ERROR: The destination vector register group cannot overlap the source vector register group. 198# CHECK-ERROR-LABEL: vfncvt.f.x.w v2, v2 199 200vfncvt.f.f.w v2, v2 201# CHECK-ERROR: The destination vector register group cannot overlap the source vector register group. 202# CHECK-ERROR-LABEL: vfncvt.f.f.w v2, v2 203 204vfncvt.rod.f.f.w v2, v2 205# CHECK-ERROR: The destination vector register group cannot overlap the source vector register group. 206# CHECK-ERROR-LABEL: vfncvt.rod.f.f.w v2, v2 207 208vrgather.vv v0, v2, v4, v0.t 209# CHECK-ERROR: The destination vector register group cannot overlap the mask register. 210# CHECK-ERROR-LABEL: vrgather.vv v0, v2, v4, v0.t 211 212vrgather.vv v2, v2, v4 213# CHECK-ERROR: The destination vector register group cannot overlap the source vector register group. 214# CHECK-ERROR-LABEL: vrgather.vv v2, v2, v4 215 216vrgather.vx v0, v2, a0, v0.t 217# CHECK-ERROR: The destination vector register group cannot overlap the mask register. 218# CHECK-ERROR-LABEL: vrgather.vx v0, v2, a0, v0.t 219 220vrgather.vx v2, v2, a0 221# CHECK-ERROR: The destination vector register group cannot overlap the source vector register group. 222# CHECK-ERROR-LABEL: vrgather.vx v2, v2, a0 223 224vrgather.vi v0, v2, 31, v0.t 225# CHECK-ERROR: The destination vector register group cannot overlap the mask register. 226# CHECK-ERROR-LABEL: vrgather.vi v0, v2, 31, v0.t 227 228vrgather.vi v2, v2, 31 229# CHECK-ERROR: The destination vector register group cannot overlap the source vector register group. 230# CHECK-ERROR-LABEL: vrgather.vi v2, v2, 31 231 232vwaddu.vv v0, v2, v4, v0.t 233# CHECK-ERROR: The destination vector register group cannot overlap the mask register. 234# CHECK-ERROR-LABEL: vwaddu.vv v0, v2, v4, v0.t 235 236vwaddu.vv v2, v2, v4 237# CHECK-ERROR: The destination vector register group cannot overlap the source vector register group. 238# CHECK-ERROR-LABEL: vwaddu.vv v2, v2, v4 239 240vwsubu.vv v0, v2, v4, v0.t 241# CHECK-ERROR: The destination vector register group cannot overlap the mask register. 242# CHECK-ERROR-LABEL: vwsubu.vv v0, v2, v4, v0.t 243 244vwsubu.vv v2, v2, v4 245# CHECK-ERROR: The destination vector register group cannot overlap the source vector register group. 246# CHECK-ERROR-LABEL: vwsubu.vv v2, v2, v4 247 248vwadd.vv v0, v2, v4, v0.t 249# CHECK-ERROR: The destination vector register group cannot overlap the mask register. 250# CHECK-ERROR-LABEL: vwadd.vv v0, v2, v4, v0.t 251 252vwadd.vv v2, v2, v4 253# CHECK-ERROR: The destination vector register group cannot overlap the source vector register group. 254# CHECK-ERROR-LABEL: vwadd.vv v2, v2, v4 255 256vwsub.vv v0, v2, v4, v0.t 257# CHECK-ERROR: The destination vector register group cannot overlap the mask register. 258# CHECK-ERROR-LABEL: vwsub.vv v0, v2, v4, v0.t 259 260vwsub.vv v2, v2, v4 261# CHECK-ERROR: The destination vector register group cannot overlap the source vector register group. 262# CHECK-ERROR-LABEL: vwsub.vv v2, v2, v4 263 264vwmul.vv v0, v2, v4, v0.t 265# CHECK-ERROR: The destination vector register group cannot overlap the mask register. 266# CHECK-ERROR-LABEL: vwmul.vv v0, v2, v4, v0.t 267 268vwmul.vv v2, v2, v4 269# CHECK-ERROR: The destination vector register group cannot overlap the source vector register group. 270# CHECK-ERROR-LABEL: vwmul.vv v2, v2, v4 271 272vwmulu.vv v0, v2, v4, v0.t 273# CHECK-ERROR: The destination vector register group cannot overlap the mask register. 274# CHECK-ERROR-LABEL: vwmulu.vv v0, v2, v4, v0.t 275 276vwmulu.vv v2, v2, v4 277# CHECK-ERROR: The destination vector register group cannot overlap the source vector register group. 278# CHECK-ERROR-LABEL: vwmulu.vv v2, v2, v4 279 280vwmulsu.vv v0, v2, v4, v0.t 281# CHECK-ERROR: The destination vector register group cannot overlap the mask register. 282# CHECK-ERROR-LABEL: vwmulsu.vv v0, v2, v4, v0.t 283 284vwmulsu.vv v2, v2, v4 285# CHECK-ERROR: The destination vector register group cannot overlap the source vector register group. 286# CHECK-ERROR-LABEL: vwmulsu.vv v2, v2, v4 287 288vwmaccu.vv v0, v4, v2, v0.t 289# CHECK-ERROR: The destination vector register group cannot overlap the mask register. 290# CHECK-ERROR-LABEL: vwmaccu.vv v0, v4, v2, v0.t 291 292vwmaccu.vv v2, v4, v2 293# CHECK-ERROR: The destination vector register group cannot overlap the source vector register group. 294# CHECK-ERROR-LABEL: vwmaccu.vv v2, v4, v2 295 296vwmacc.vv v0, v4, v2, v0.t 297# CHECK-ERROR: The destination vector register group cannot overlap the mask register. 298# CHECK-ERROR-LABEL: vwmacc.vv v0, v4, v2, v0.t 299 300vwmacc.vv v2, v4, v2 301# CHECK-ERROR: The destination vector register group cannot overlap the source vector register group. 302# CHECK-ERROR-LABEL: vwmacc.vv v2, v4, v2 303 304vwmaccsu.vv v0, v4, v2, v0.t 305# CHECK-ERROR: The destination vector register group cannot overlap the mask register. 306# CHECK-ERROR-LABEL: vwmaccsu.vv v0, v4, v2, v0.t 307 308vwmaccsu.vv v2, v4, v2 309# CHECK-ERROR: The destination vector register group cannot overlap the source vector register group. 310# CHECK-ERROR-LABEL: vwmaccsu.vv v2, v4, v2 311 312vfwadd.vv v0, v2, v4, v0.t 313# CHECK-ERROR: The destination vector register group cannot overlap the mask register. 314# CHECK-ERROR-LABEL: vfwadd.vv v0, v2, v4, v0.t 315 316vfwadd.vv v2, v2, v4 317# CHECK-ERROR: The destination vector register group cannot overlap the source vector register group. 318# CHECK-ERROR-LABEL: vfwadd.vv v2, v2, v4 319 320vfwsub.vv v0, v2, v4, v0.t 321# CHECK-ERROR: The destination vector register group cannot overlap the mask register. 322# CHECK-ERROR-LABEL: vfwsub.vv v0, v2, v4, v0.t 323 324vfwsub.vv v2, v2, v4 325# CHECK-ERROR: The destination vector register group cannot overlap the source vector register group. 326# CHECK-ERROR-LABEL: vfwsub.vv v2, v2, v4 327 328vfwmul.vv v0, v2, v4, v0.t 329# CHECK-ERROR: The destination vector register group cannot overlap the mask register. 330# CHECK-ERROR-LABEL: vfwmul.vv v0, v2, v4, v0.t 331 332vfwmul.vv v2, v2, v4 333# CHECK-ERROR: The destination vector register group cannot overlap the source vector register group. 334# CHECK-ERROR-LABEL: vfwmul.vv v2, v2, v4 335 336vfwmacc.vv v0, v4, v2, v0.t 337# CHECK-ERROR: The destination vector register group cannot overlap the mask register. 338# CHECK-ERROR-LABEL: vfwmacc.vv v0, v4, v2, v0.t 339 340vfwmacc.vv v2, v4, v2 341# CHECK-ERROR: The destination vector register group cannot overlap the source vector register group. 342# CHECK-ERROR-LABEL: vfwmacc.vv v2, v4, v2 343 344vfwnmacc.vv v0, v4, v2, v0.t 345# CHECK-ERROR: The destination vector register group cannot overlap the mask register. 346# CHECK-ERROR-LABEL: vfwnmacc.vv v0, v4, v2, v0.t 347 348vfwnmacc.vv v2, v4, v2 349# CHECK-ERROR: The destination vector register group cannot overlap the source vector register group. 350# CHECK-ERROR-LABEL: vfwnmacc.vv v2, v4, v2 351 352vfwmsac.vv v0, v4, v2, v0.t 353# CHECK-ERROR: The destination vector register group cannot overlap the mask register. 354# CHECK-ERROR-LABEL: vfwmsac.vv v0, v4, v2, v0.t 355 356vfwmsac.vv v2, v4, v2 357# CHECK-ERROR: The destination vector register group cannot overlap the source vector register group. 358# CHECK-ERROR-LABEL: vfwmsac.vv v2, v4, v2 359 360vfwnmsac.vv v0, v4, v2, v0.t 361# CHECK-ERROR: The destination vector register group cannot overlap the mask register. 362# CHECK-ERROR-LABEL: vfwnmsac.vv v0, v4, v2, v0.t 363 364vfwnmsac.vv v2, v4, v2 365# CHECK-ERROR: The destination vector register group cannot overlap the source vector register group. 366# CHECK-ERROR-LABEL: vfwnmsac.vv v2, v4, v2 367 368vwaddu.vx v0, v2, a0, v0.t 369# CHECK-ERROR: The destination vector register group cannot overlap the mask register. 370# CHECK-ERROR-LABEL: vwaddu.vx v0, v2, a0, v0.t 371 372vwaddu.vx v2, v2, a0 373# CHECK-ERROR: The destination vector register group cannot overlap the source vector register group. 374# CHECK-ERROR-LABEL: vwaddu.vx v2, v2, a0 375 376vwsubu.vx v0, v2, a0, v0.t 377# CHECK-ERROR: The destination vector register group cannot overlap the mask register. 378# CHECK-ERROR-LABEL: vwsubu.vx v0, v2, a0, v0.t 379 380vwsubu.vx v2, v2, a0 381# CHECK-ERROR: The destination vector register group cannot overlap the source vector register group. 382# CHECK-ERROR-LABEL: vwsubu.vx v2, v2, a0 383 384vwadd.vx v0, v2, a0, v0.t 385# CHECK-ERROR: The destination vector register group cannot overlap the mask register. 386# CHECK-ERROR-LABEL: vwadd.vx v0, v2, a0, v0.t 387 388vwadd.vx v2, v2, a0 389# CHECK-ERROR: The destination vector register group cannot overlap the source vector register group. 390# CHECK-ERROR-LABEL: vwadd.vx v2, v2, a0 391 392vwsub.vx v0, v2, a0, v0.t 393# CHECK-ERROR: The destination vector register group cannot overlap the mask register. 394# CHECK-ERROR-LABEL: vwsub.vx v0, v2, a0, v0.t 395 396vwsub.vx v2, v2, a0 397# CHECK-ERROR: The destination vector register group cannot overlap the source vector register group. 398# CHECK-ERROR-LABEL: vwsub.vx v2, v2, a0 399 400vwmul.vx v0, v2, a0, v0.t 401# CHECK-ERROR: The destination vector register group cannot overlap the mask register. 402# CHECK-ERROR-LABEL: vwmul.vx v0, v2, a0, v0.t 403 404vwmul.vx v2, v2, a0 405# CHECK-ERROR: The destination vector register group cannot overlap the source vector register group. 406# CHECK-ERROR-LABEL: vwmul.vx v2, v2, a0 407 408vwmulu.vx v0, v2, a0, v0.t 409# CHECK-ERROR: The destination vector register group cannot overlap the mask register. 410# CHECK-ERROR-LABEL: vwmulu.vx v0, v2, a0, v0.t 411 412vwmulu.vx v2, v2, a0 413# CHECK-ERROR: The destination vector register group cannot overlap the source vector register group. 414# CHECK-ERROR-LABEL: vwmulu.vx v2, v2, a0 415 416vwmulsu.vx v0, v2, a0, v0.t 417# CHECK-ERROR: The destination vector register group cannot overlap the mask register. 418# CHECK-ERROR-LABEL: vwmulsu.vx v0, v2, a0, v0.t 419 420vwmulsu.vx v2, v2, a0 421# CHECK-ERROR: The destination vector register group cannot overlap the source vector register group. 422# CHECK-ERROR-LABEL: vwmulsu.vx v2, v2, a0 423 424vwmaccu.vx v0, a0, v2, v0.t 425# CHECK-ERROR: The destination vector register group cannot overlap the mask register. 426# CHECK-ERROR-LABEL: vwmaccu.vx v0, a0, v2, v0.t 427 428vwmaccu.vx v2, a0, v2 429# CHECK-ERROR: The destination vector register group cannot overlap the source vector register group. 430# CHECK-ERROR-LABEL: vwmaccu.vx v2, a0, v2 431 432vwmacc.vx v0, a0, v2, v0.t 433# CHECK-ERROR: The destination vector register group cannot overlap the mask register. 434# CHECK-ERROR-LABEL: vwmacc.vx v0, a0, v2, v0.t 435 436vwmacc.vx v2, a0, v2 437# CHECK-ERROR: The destination vector register group cannot overlap the source vector register group. 438# CHECK-ERROR-LABEL: vwmacc.vx v2, a0, v2 439 440vwmaccsu.vx v0, a0, v2, v0.t 441# CHECK-ERROR: The destination vector register group cannot overlap the mask register. 442# CHECK-ERROR-LABEL: vwmaccsu.vx v0, a0, v2, v0.t 443 444vwmaccsu.vx v2, a0, v2 445# CHECK-ERROR: The destination vector register group cannot overlap the source vector register group. 446# CHECK-ERROR-LABEL: vwmaccsu.vx v2, a0, v2 447 448vwmaccus.vx v0, a0, v2, v0.t 449# CHECK-ERROR: The destination vector register group cannot overlap the mask register. 450# CHECK-ERROR-LABEL: vwmaccus.vx v0, a0, v2, v0.t 451 452vwmaccus.vx v2, a0, v2 453# CHECK-ERROR: The destination vector register group cannot overlap the source vector register group. 454# CHECK-ERROR-LABEL: vwmaccus.vx v2, a0, v2 455 456vfwadd.vf v0, v2, fa0, v0.t 457# CHECK-ERROR: The destination vector register group cannot overlap the mask register. 458# CHECK-ERROR-LABEL: vfwadd.vf v0, v2, fa0, v0.t 459 460vfwadd.vf v2, v2, fa0 461# CHECK-ERROR: The destination vector register group cannot overlap the source vector register group. 462# CHECK-ERROR-LABEL: vfwadd.vf v2, v2, fa0 463 464vfwsub.vf v0, v2, fa0, v0.t 465# CHECK-ERROR: The destination vector register group cannot overlap the mask register. 466# CHECK-ERROR-LABEL: vfwsub.vf v0, v2, fa0, v0.t 467 468vfwsub.vf v2, v2, fa0 469# CHECK-ERROR: The destination vector register group cannot overlap the source vector register group. 470# CHECK-ERROR-LABEL: vfwsub.vf v2, v2, fa0 471 472vfwmul.vf v0, v2, fa0, v0.t 473# CHECK-ERROR: The destination vector register group cannot overlap the mask register. 474# CHECK-ERROR-LABEL: vfwmul.vf v0, v2, fa0, v0.t 475 476vfwmul.vf v2, v2, fa0 477# CHECK-ERROR: The destination vector register group cannot overlap the source vector register group. 478# CHECK-ERROR-LABEL: vfwmul.vf v2, v2, fa0 479 480vfwmacc.vf v0, fa0, v2, v0.t 481# CHECK-ERROR: The destination vector register group cannot overlap the mask register. 482# CHECK-ERROR-LABEL: vfwmacc.vf v0, fa0, v2, v0.t 483 484vfwmacc.vf v2, fa0, v2 485# CHECK-ERROR: The destination vector register group cannot overlap the source vector register group. 486# CHECK-ERROR-LABEL: vfwmacc.vf v2, fa0, v2 487 488vfwnmacc.vf v0, fa0, v2, v0.t 489# CHECK-ERROR: The destination vector register group cannot overlap the mask register. 490# CHECK-ERROR-LABEL: vfwnmacc.vf v0, fa0, v2, v0.t 491 492vfwnmacc.vf v2, fa0, v2 493# CHECK-ERROR: The destination vector register group cannot overlap the source vector register group. 494# CHECK-ERROR-LABEL: vfwnmacc.vf v2, fa0, v2 495 496vfwmsac.vf v0, fa0, v2, v0.t 497# CHECK-ERROR: The destination vector register group cannot overlap the mask register. 498# CHECK-ERROR-LABEL: vfwmsac.vf v0, fa0, v2, v0.t 499 500vfwmsac.vf v2, fa0, v2 501# CHECK-ERROR: The destination vector register group cannot overlap the source vector register group. 502# CHECK-ERROR-LABEL: vfwmsac.vf v2, fa0, v2 503 504vfwnmsac.vf v0, fa0, v2, v0.t 505# CHECK-ERROR: The destination vector register group cannot overlap the mask register. 506# CHECK-ERROR-LABEL: vfwnmsac.vf v0, fa0, v2, v0.t 507 508vfwnmsac.vf v2, fa0, v2 509# CHECK-ERROR: The destination vector register group cannot overlap the source vector register group. 510# CHECK-ERROR-LABEL: vfwnmsac.vf v2, fa0, v2 511 512vcompress.vm v2, v2, v4 513# CHECK-ERROR: The destination vector register group cannot overlap the source vector register group. 514# CHECK-ERROR-LABEL: vcompress.vm v2, v2, v4 515 516vwaddu.wv v0, v2, v4, v0.t 517# CHECK-ERROR: The destination vector register group cannot overlap the mask register. 518# CHECK-ERROR-LABEL: vwaddu.wv v0, v2, v4, v0.t 519 520vwaddu.wv v2, v4, v2 521# CHECK-ERROR: The destination vector register group cannot overlap the source vector register group. 522# CHECK-ERROR-LABEL: vwaddu.wv v2, v4, v2 523 524vwsubu.wv v0, v2, v4, v0.t 525# CHECK-ERROR: The destination vector register group cannot overlap the mask register. 526# CHECK-ERROR-LABEL: vwsubu.wv v0, v2, v4, v0.t 527 528vwsubu.wv v2, v4, v2 529# CHECK-ERROR: The destination vector register group cannot overlap the source vector register group. 530# CHECK-ERROR-LABEL: vwsubu.wv v2, v4, v2 531 532vwadd.wv v0, v2, v4, v0.t 533# CHECK-ERROR: The destination vector register group cannot overlap the mask register. 534# CHECK-ERROR-LABEL: vwadd.wv v0, v2, v4, v0.t 535 536vwadd.wv v2, v4, v2 537# CHECK-ERROR: The destination vector register group cannot overlap the source vector register group. 538# CHECK-ERROR-LABEL: vwadd.wv v2, v4, v2 539 540vwsub.wv v0, v2, v4, v0.t 541# CHECK-ERROR: The destination vector register group cannot overlap the mask register. 542# CHECK-ERROR-LABEL: vwsub.wv v0, v2, v4, v0.t 543 544vwsub.wv v2, v4, v2 545# CHECK-ERROR: The destination vector register group cannot overlap the source vector register group. 546# CHECK-ERROR-LABEL: vwsub.wv v2, v4, v2 547 548vfwadd.wv v0, v2, v4, v0.t 549# CHECK-ERROR: The destination vector register group cannot overlap the mask register. 550# CHECK-ERROR-LABEL: vfwadd.wv v0, v2, v4, v0.t 551 552vfwadd.wv v2, v4, v2 553# CHECK-ERROR: The destination vector register group cannot overlap the source vector register group. 554# CHECK-ERROR-LABEL: vfwadd.wv v2, v4, v2 555 556vfwsub.wv v0, v2, v4, v0.t 557# CHECK-ERROR: The destination vector register group cannot overlap the mask register. 558# CHECK-ERROR-LABEL: vfwsub.wv v0, v2, v4, v0.t 559 560vfwsub.wv v2, v4, v2 561# CHECK-ERROR: The destination vector register group cannot overlap the source vector register group. 562# CHECK-ERROR-LABEL: vfwsub.wv v2, v4, v2 563 564vwaddu.wx v0, v2, a0, v0.t 565# CHECK-ERROR: The destination vector register group cannot overlap the mask register. 566# CHECK-ERROR-LABEL: vwaddu.wx v0, v2, a0, v0.t 567 568vwsubu.wx v0, v2, a0, v0.t 569# CHECK-ERROR: The destination vector register group cannot overlap the mask register. 570# CHECK-ERROR-LABEL: vwsubu.wx v0, v2, a0, v0.t 571 572vwadd.wx v0, v2, a0, v0.t 573# CHECK-ERROR: The destination vector register group cannot overlap the mask register. 574# CHECK-ERROR-LABEL: vwadd.wx v0, v2, a0, v0.t 575 576vwsub.wx v0, v2, a0, v0.t 577# CHECK-ERROR: The destination vector register group cannot overlap the mask register. 578# CHECK-ERROR-LABEL: vwsub.wx v0, v2, a0, v0.t 579 580vfwadd.wf v0, v2, fa0, v0.t 581# CHECK-ERROR: The destination vector register group cannot overlap the mask register. 582# CHECK-ERROR-LABEL: vfwadd.wf v0, v2, fa0, v0.t 583 584vfwsub.wf v0, v2, fa0, v0.t 585# CHECK-ERROR: The destination vector register group cannot overlap the mask register. 586# CHECK-ERROR-LABEL: vfwsub.wf v0, v2, fa0, v0.t 587 588vadc.vvm v0, v2, v4, v0 589# CHECK-ERROR: The destination vector register group cannot be V0. 590# CHECK-ERROR-LABEL: vadc.vvm v0, v2, v4, v0 591 592vmadc.vvm v2, v2, v4, v0 593# CHECK-ERROR: The destination vector register group cannot overlap the source vector register group. 594# CHECK-ERROR-LABEL: vmadc.vvm v2, v2, v4, v0 595 596vmadc.vvm v4, v2, v4, v0 597# CHECK-ERROR: The destination vector register group cannot overlap the source vector register group. 598# CHECK-ERROR-LABEL: vmadc.vvm v4, v2, v4, v0 599 600vadd.vv v0, v2, v4, v0.t 601# CHECK-ERROR: The destination vector register group cannot overlap the mask register. 602# CHECK-ERROR-LABEL: vadd.vv v0, v2, v4, v0.t 603 604vadd.vx v0, v2, a0, v0.t 605# CHECK-ERROR: The destination vector register group cannot overlap the mask register. 606# CHECK-ERROR-LABEL: vadd.vx v0, v2, a0, v0.t 607 608vadd.vi v0, v2, 1, v0.t 609# CHECK-ERROR: The destination vector register group cannot overlap the mask register. 610# CHECK-ERROR-LABEL: vadd.vi v0, v2, 1, v0.t 611 612vmsge.vx v0, v4, a0, v0.t 613# CHECK-ERROR: too few operands for instruction 614# CHECK-ERROR-LABEL: vmsge.vx v0, v4, a0, v0.t 615 616vmsge.vx v8, v4, a0, v0.t, v2 617# CHECK-ERROR: invalid operand for instruction 618# CHECK-ERROR-LABEL: vmsge.vx v8, v4, a0, v0.t, v2 619