1193 lines · plain
1## Test out of range immediates which are used by lasx instructions.2 3# RUN: not llvm-mc --triple=loongarch64 %s 2>&1 | FileCheck %s4 5## uimm16xvrepl128vei.d $xr0, $xr1, -17# CHECK: :[[#@LINE-1]]:28: error: immediate must be an integer in the range [0, 1]8 9xvrepl128vei.d $xr0, $xr1, 210# CHECK: :[[#@LINE-1]]:28: error: immediate must be an integer in the range [0, 1]11 12## uimm213xvpickve.d $xr0, $xr1, -114# CHECK: :[[#@LINE-1]]:24: error: immediate must be an integer in the range [0, 3]15 16xvpickve.d $xr0, $xr1, 417# CHECK: :[[#@LINE-1]]:24: error: immediate must be an integer in the range [0, 3]18 19xvinsve0.d $xr0, $xr1, -120# CHECK: :[[#@LINE-1]]:24: error: immediate must be an integer in the range [0, 3]21 22xvinsve0.d $xr0, $xr1, 423# CHECK: :[[#@LINE-1]]:24: error: immediate must be an integer in the range [0, 3]24 25xvinsgr2vr.d $xr0, $a0, -126# CHECK: :[[#@LINE-1]]:25: error: immediate must be an integer in the range [0, 3]27 28xvinsgr2vr.d $xr0, $a0, 429# CHECK: :[[#@LINE-1]]:25: error: immediate must be an integer in the range [0, 3]30 31xvpickve2gr.d $a0, $xr1, -132# CHECK: :[[#@LINE-1]]:26: error: immediate must be an integer in the range [0, 3]33 34xvpickve2gr.d $a0, $xr1, 435# CHECK: :[[#@LINE-1]]:26: error: immediate must be an integer in the range [0, 3]36 37xvpickve2gr.du $a0, $xr1, -138# CHECK: :[[#@LINE-1]]:27: error: immediate must be an integer in the range [0, 3]39 40xvpickve2gr.du $a0, $xr1, 441# CHECK: :[[#@LINE-1]]:27: error: immediate must be an integer in the range [0, 3]42 43xvstelm.d $xr0, $a0, 8, -144# CHECK: :[[#@LINE-1]]:25: error: immediate must be an integer in the range [0, 3]45 46xvstelm.d $xr0, $a0, 8, 447# CHECK: :[[#@LINE-1]]:25: error: immediate must be an integer in the range [0, 3]48 49xvrepl128vei.w $xr0, $xr1, -150# CHECK: :[[#@LINE-1]]:28: error: immediate must be an integer in the range [0, 3]51 52xvrepl128vei.w $xr0, $xr1, 453# CHECK: :[[#@LINE-1]]:28: error: immediate must be an integer in the range [0, 3]54 55## uimm356xvpickve.w $xr0, $xr1, -157# CHECK: :[[#@LINE-1]]:24: error: immediate must be an integer in the range [0, 7]58 59xvpickve.w $xr0, $xr1, 860# CHECK: :[[#@LINE-1]]:24: error: immediate must be an integer in the range [0, 7]61 62xvinsve0.w $xr0, $xr1, -163# CHECK: :[[#@LINE-1]]:24: error: immediate must be an integer in the range [0, 7]64 65xvinsve0.w $xr0, $xr1, 866# CHECK: :[[#@LINE-1]]:24: error: immediate must be an integer in the range [0, 7]67 68xvinsgr2vr.w $xr0, $a0, -169# CHECK: :[[#@LINE-1]]:25: error: immediate must be an integer in the range [0, 7]70 71xvinsgr2vr.w $xr0, $a0, 872# CHECK: :[[#@LINE-1]]:25: error: immediate must be an integer in the range [0, 7]73 74xvpickve2gr.wu $a0, $xr1, -175# CHECK: :[[#@LINE-1]]:27: error: immediate must be an integer in the range [0, 7]76 77xvpickve2gr.wu $a0, $xr1, 878# CHECK: :[[#@LINE-1]]:27: error: immediate must be an integer in the range [0, 7]79 80xvpickve2gr.w $a0, $xr1, -181# CHECK: :[[#@LINE-1]]:26: error: immediate must be an integer in the range [0, 7]82 83xvpickve2gr.w $a0, $xr1, 884# CHECK: :[[#@LINE-1]]:26: error: immediate must be an integer in the range [0, 7]85 86xvstelm.w $xr0, $a0, 4, -187# CHECK: :[[#@LINE-1]]:25: error: immediate must be an integer in the range [0, 7]88 89xvstelm.w $xr0, $a0, 4, 890# CHECK: :[[#@LINE-1]]:25: error: immediate must be an integer in the range [0, 7]91 92xvrepl128vei.h $xr0, $xr1, -193# CHECK: :[[#@LINE-1]]:28: error: immediate must be an integer in the range [0, 7]94 95xvrepl128vei.h $xr0, $xr1, 896# CHECK: :[[#@LINE-1]]:28: error: immediate must be an integer in the range [0, 7]97 98xvbitrevi.b $xr0, $xr1, -199# CHECK: :[[#@LINE-1]]:25: error: immediate must be an integer in the range [0, 7]100 101xvbitrevi.b $xr0, $xr1, 8102# CHECK: :[[#@LINE-1]]:25: error: immediate must be an integer in the range [0, 7]103 104xvbitseti.b $xr0, $xr1, -1105# CHECK: :[[#@LINE-1]]:25: error: immediate must be an integer in the range [0, 7]106 107xvbitseti.b $xr0, $xr1, 8108# CHECK: :[[#@LINE-1]]:25: error: immediate must be an integer in the range [0, 7]109 110xvbitclri.b $xr0, $xr1, -1111# CHECK: :[[#@LINE-1]]:25: error: immediate must be an integer in the range [0, 7]112 113xvbitclri.b $xr0, $xr1, 8114# CHECK: :[[#@LINE-1]]:25: error: immediate must be an integer in the range [0, 7]115 116xvsrari.b $xr0, $xr1, -1117# CHECK: :[[#@LINE-1]]:23: error: immediate must be an integer in the range [0, 7]118 119xvsrari.b $xr0, $xr1, 8120# CHECK: :[[#@LINE-1]]:23: error: immediate must be an integer in the range [0, 7]121 122xvsrlri.b $xr0, $xr1, -1123# CHECK: :[[#@LINE-1]]:23: error: immediate must be an integer in the range [0, 7]124 125xvsrlri.b $xr0, $xr1, 8126# CHECK: :[[#@LINE-1]]:23: error: immediate must be an integer in the range [0, 7]127 128xvsllwil.hu.bu $xr0, $xr1, -1129# CHECK: :[[#@LINE-1]]:28: error: immediate must be an integer in the range [0, 7]130 131xvsllwil.hu.bu $xr0, $xr1, 8132# CHECK: :[[#@LINE-1]]:28: error: immediate must be an integer in the range [0, 7]133 134xvsllwil.h.b $xr0, $xr1, -1135# CHECK: :[[#@LINE-1]]:26: error: immediate must be an integer in the range [0, 7]136 137xvsllwil.h.b $xr0, $xr1, 8138# CHECK: :[[#@LINE-1]]:26: error: immediate must be an integer in the range [0, 7]139 140xvrotri.b $xr0, $xr1, -1141# CHECK: :[[#@LINE-1]]:23: error: immediate must be an integer in the range [0, 7]142 143xvrotri.b $xr0, $xr1, 8144# CHECK: :[[#@LINE-1]]:23: error: immediate must be an integer in the range [0, 7]145 146xvsrai.b $xr0, $xr1, -1147# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [0, 7]148 149xvsrai.b $xr0, $xr1, 8150# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [0, 7]151 152xvsrli.b $xr0, $xr1, -1153# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [0, 7]154 155xvsrli.b $xr0, $xr1, 8156# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [0, 7]157 158xvslli.b $xr0, $xr1, -1159# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [0, 7]160 161xvslli.b $xr0, $xr1, 8162# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [0, 7]163 164xvsat.b $xr0, $xr1, -1165# CHECK: :[[#@LINE-1]]:21: error: immediate must be an integer in the range [0, 7]166 167xvsat.b $xr0, $xr1, 8168# CHECK: :[[#@LINE-1]]:21: error: immediate must be an integer in the range [0, 7]169 170xvsat.bu $xr0, $xr1, -1171# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [0, 7]172 173xvsat.bu $xr0, $xr1, 8174# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [0, 7]175 176## uimm4177xvstelm.h $xr0, $a0, 2, -1178# CHECK: :[[#@LINE-1]]:25: error: immediate must be an integer in the range [0, 15]179 180xvstelm.h $xr0, $a0, 2, 16181# CHECK: :[[#@LINE-1]]:25: error: immediate must be an integer in the range [0, 15]182 183xvrepl128vei.b $xr0, $xr1, -1184# CHECK: :[[#@LINE-1]]:28: error: immediate must be an integer in the range [0, 15]185 186xvrepl128vei.b $xr0, $xr1, 16187# CHECK: :[[#@LINE-1]]:28: error: immediate must be an integer in the range [0, 15]188 189xvbitrevi.h $xr0, $xr1, -1190# CHECK: :[[#@LINE-1]]:25: error: immediate must be an integer in the range [0, 15]191 192xvbitrevi.h $xr0, $xr1, 16193# CHECK: :[[#@LINE-1]]:25: error: immediate must be an integer in the range [0, 15]194 195xvbitseti.h $xr0, $xr1, -1196# CHECK: :[[#@LINE-1]]:25: error: immediate must be an integer in the range [0, 15]197 198xvbitseti.h $xr0, $xr1, 16199# CHECK: :[[#@LINE-1]]:25: error: immediate must be an integer in the range [0, 15]200 201xvbitclri.h $xr0, $xr1, -1202# CHECK: :[[#@LINE-1]]:25: error: immediate must be an integer in the range [0, 15]203 204xvbitclri.h $xr0, $xr1, 16205# CHECK: :[[#@LINE-1]]:25: error: immediate must be an integer in the range [0, 15]206 207xvssrarni.bu.h $xr0, $xr1, -1208# CHECK: :[[#@LINE-1]]:28: error: immediate must be an integer in the range [0, 15]209 210xvssrarni.bu.h $xr0, $xr1, 16211# CHECK: :[[#@LINE-1]]:28: error: immediate must be an integer in the range [0, 15]212 213xvssrlrni.bu.h $xr0, $xr1, -1214# CHECK: :[[#@LINE-1]]:28: error: immediate must be an integer in the range [0, 15]215 216xvssrlrni.bu.h $xr0, $xr1, 16217# CHECK: :[[#@LINE-1]]:28: error: immediate must be an integer in the range [0, 15]218 219xvssrarni.b.h $xr0, $xr1, -1220# CHECK: :[[#@LINE-1]]:27: error: immediate must be an integer in the range [0, 15]221 222xvssrarni.b.h $xr0, $xr1, 16223# CHECK: :[[#@LINE-1]]:27: error: immediate must be an integer in the range [0, 15]224 225xvssrlrni.b.h $xr0, $xr1, -1226# CHECK: :[[#@LINE-1]]:27: error: immediate must be an integer in the range [0, 15]227 228xvssrlrni.b.h $xr0, $xr1, 16229# CHECK: :[[#@LINE-1]]:27: error: immediate must be an integer in the range [0, 15]230 231xvssrani.bu.h $xr0, $xr1, -1232# CHECK: :[[#@LINE-1]]:27: error: immediate must be an integer in the range [0, 15]233 234xvssrani.bu.h $xr0, $xr1, 16235# CHECK: :[[#@LINE-1]]:27: error: immediate must be an integer in the range [0, 15]236 237xvssrlni.bu.h $xr0, $xr1, -1238# CHECK: :[[#@LINE-1]]:27: error: immediate must be an integer in the range [0, 15]239 240xvssrlni.bu.h $xr0, $xr1, 16241# CHECK: :[[#@LINE-1]]:27: error: immediate must be an integer in the range [0, 15]242 243xvssrani.b.h $xr0, $xr1, -1244# CHECK: :[[#@LINE-1]]:26: error: immediate must be an integer in the range [0, 15]245 246xvssrani.b.h $xr0, $xr1, 16247# CHECK: :[[#@LINE-1]]:26: error: immediate must be an integer in the range [0, 15]248 249xvssrlni.b.h $xr0, $xr1, -1250# CHECK: :[[#@LINE-1]]:26: error: immediate must be an integer in the range [0, 15]251 252xvssrlni.b.h $xr0, $xr1, 16253# CHECK: :[[#@LINE-1]]:26: error: immediate must be an integer in the range [0, 15]254 255xvsrarni.b.h $xr0, $xr1, -1256# CHECK: :[[#@LINE-1]]:26: error: immediate must be an integer in the range [0, 15]257 258xvsrarni.b.h $xr0, $xr1, 16259# CHECK: :[[#@LINE-1]]:26: error: immediate must be an integer in the range [0, 15]260 261xvsrlrni.b.h $xr0, $xr1, -1262# CHECK: :[[#@LINE-1]]:26: error: immediate must be an integer in the range [0, 15]263 264xvsrlrni.b.h $xr0, $xr1, 16265# CHECK: :[[#@LINE-1]]:26: error: immediate must be an integer in the range [0, 15]266 267xvsrani.b.h $xr0, $xr1, -1268# CHECK: :[[#@LINE-1]]:25: error: immediate must be an integer in the range [0, 15]269 270xvsrani.b.h $xr0, $xr1, 16271# CHECK: :[[#@LINE-1]]:25: error: immediate must be an integer in the range [0, 15]272 273xvsrlni.b.h $xr0, $xr1, -1274# CHECK: :[[#@LINE-1]]:25: error: immediate must be an integer in the range [0, 15]275 276xvsrlni.b.h $xr0, $xr1, 16277# CHECK: :[[#@LINE-1]]:25: error: immediate must be an integer in the range [0, 15]278 279xvsrari.h $xr0, $xr1, -1280# CHECK: :[[#@LINE-1]]:23: error: immediate must be an integer in the range [0, 15]281 282xvsrari.h $xr0, $xr1, 16283# CHECK: :[[#@LINE-1]]:23: error: immediate must be an integer in the range [0, 15]284 285xvsrlri.h $xr0, $xr1, -1286# CHECK: :[[#@LINE-1]]:23: error: immediate must be an integer in the range [0, 15]287 288xvsrlri.h $xr0, $xr1, 16289# CHECK: :[[#@LINE-1]]:23: error: immediate must be an integer in the range [0, 15]290 291xvsllwil.wu.hu $xr0, $xr1, -1292# CHECK: :[[#@LINE-1]]:28: error: immediate must be an integer in the range [0, 15]293 294xvsllwil.wu.hu $xr0, $xr1, 16295# CHECK: :[[#@LINE-1]]:28: error: immediate must be an integer in the range [0, 15]296 297xvsllwil.w.h $xr0, $xr1, -1298# CHECK: :[[#@LINE-1]]:26: error: immediate must be an integer in the range [0, 15]299 300xvsllwil.w.h $xr0, $xr1, 16301# CHECK: :[[#@LINE-1]]:26: error: immediate must be an integer in the range [0, 15]302 303xvrotri.h $xr0, $xr1, -1304# CHECK: :[[#@LINE-1]]:23: error: immediate must be an integer in the range [0, 15]305 306xvrotri.h $xr0, $xr1, 16307# CHECK: :[[#@LINE-1]]:23: error: immediate must be an integer in the range [0, 15]308 309xvsrai.h $xr0, $xr1, -1310# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [0, 15]311 312xvsrai.h $xr0, $xr1, 16313# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [0, 15]314 315xvsrli.h $xr0, $xr1, -1316# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [0, 15]317 318xvsrli.h $xr0, $xr1, 16319# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [0, 15]320 321xvslli.h $xr0, $xr1, -1322# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [0, 15]323 324xvslli.h $xr0, $xr1, 16325# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [0, 15]326 327xvsat.h $xr0, $xr1, -1328# CHECK: :[[#@LINE-1]]:21: error: immediate must be an integer in the range [0, 15]329 330xvsat.h $xr0, $xr1, 16331# CHECK: :[[#@LINE-1]]:21: error: immediate must be an integer in the range [0, 15]332 333xvsat.hu $xr0, $xr1, -1334# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [0, 15]335 336xvsat.hu $xr0, $xr1, 16337# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [0, 15]338 339## uimm5340xvstelm.b $xr0, $a0, 1, -1341# CHECK: :[[#@LINE-1]]:25: error: immediate must be an integer in the range [0, 31]342 343xvstelm.b $xr0, $a0, 1, 32344# CHECK: :[[#@LINE-1]]:25: error: immediate must be an integer in the range [0, 31]345 346xvbsrl.v $xr0, $xr1, -1347# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [0, 31]348 349xvbsrl.v $xr0, $xr1, 32350# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [0, 31]351 352xvbsll.v $xr0, $xr1, -1353# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [0, 31]354 355xvbsll.v $xr0, $xr1, 32356# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [0, 31]357 358xvslti.du $xr0, $xr1, -1359# CHECK: :[[#@LINE-1]]:23: error: immediate must be an integer in the range [0, 31]360 361xvslti.du $xr0, $xr1, 32362# CHECK: :[[#@LINE-1]]:23: error: immediate must be an integer in the range [0, 31]363 364xvslti.wu $xr0, $xr1, -1365# CHECK: :[[#@LINE-1]]:23: error: immediate must be an integer in the range [0, 31]366 367xvslti.wu $xr0, $xr1, 32368# CHECK: :[[#@LINE-1]]:23: error: immediate must be an integer in the range [0, 31]369 370xvslti.hu $xr0, $xr1, -1371# CHECK: :[[#@LINE-1]]:23: error: immediate must be an integer in the range [0, 31]372 373xvslti.hu $xr0, $xr1, 32374# CHECK: :[[#@LINE-1]]:23: error: immediate must be an integer in the range [0, 31]375 376xvslti.bu $xr0, $xr1, -1377# CHECK: :[[#@LINE-1]]:23: error: immediate must be an integer in the range [0, 31]378 379xvslti.bu $xr0, $xr1, 32380# CHECK: :[[#@LINE-1]]:23: error: immediate must be an integer in the range [0, 31]381 382xvslei.du $xr0, $xr1, -1383# CHECK: :[[#@LINE-1]]:23: error: immediate must be an integer in the range [0, 31]384 385xvslei.du $xr0, $xr1, 32386# CHECK: :[[#@LINE-1]]:23: error: immediate must be an integer in the range [0, 31]387 388xvslei.wu $xr0, $xr1, -1389# CHECK: :[[#@LINE-1]]:23: error: immediate must be an integer in the range [0, 31]390 391xvslei.wu $xr0, $xr1, 32392# CHECK: :[[#@LINE-1]]:23: error: immediate must be an integer in the range [0, 31]393 394xvslei.hu $xr0, $xr1, -1395# CHECK: :[[#@LINE-1]]:23: error: immediate must be an integer in the range [0, 31]396 397xvslei.hu $xr0, $xr1, 32398# CHECK: :[[#@LINE-1]]:23: error: immediate must be an integer in the range [0, 31]399 400xvslei.bu $xr0, $xr1, -1401# CHECK: :[[#@LINE-1]]:23: error: immediate must be an integer in the range [0, 31]402 403xvslei.bu $xr0, $xr1, 32404# CHECK: :[[#@LINE-1]]:23: error: immediate must be an integer in the range [0, 31]405 406xvfrstpi.h $xr0, $xr1, -1407# CHECK: :[[#@LINE-1]]:24: error: immediate must be an integer in the range [0, 31]408 409xvfrstpi.h $xr0, $xr1, 32410# CHECK: :[[#@LINE-1]]:24: error: immediate must be an integer in the range [0, 31]411 412xvfrstpi.b $xr0, $xr1, -1413# CHECK: :[[#@LINE-1]]:24: error: immediate must be an integer in the range [0, 31]414 415xvfrstpi.b $xr0, $xr1, 32416# CHECK: :[[#@LINE-1]]:24: error: immediate must be an integer in the range [0, 31]417 418xvbitrevi.w $xr0, $xr1, -1419# CHECK: :[[#@LINE-1]]:25: error: immediate must be an integer in the range [0, 31]420 421xvbitrevi.w $xr0, $xr1, 32422# CHECK: :[[#@LINE-1]]:25: error: immediate must be an integer in the range [0, 31]423 424xvbitseti.w $xr0, $xr1, -1425# CHECK: :[[#@LINE-1]]:25: error: immediate must be an integer in the range [0, 31]426 427xvbitseti.w $xr0, $xr1, 32428# CHECK: :[[#@LINE-1]]:25: error: immediate must be an integer in the range [0, 31]429 430xvbitclri.w $xr0, $xr1, -1431# CHECK: :[[#@LINE-1]]:25: error: immediate must be an integer in the range [0, 31]432 433xvbitclri.w $xr0, $xr1, 32434# CHECK: :[[#@LINE-1]]:25: error: immediate must be an integer in the range [0, 31]435 436xvssrarni.hu.w $xr0, $xr1, -1437# CHECK: :[[#@LINE-1]]:28: error: immediate must be an integer in the range [0, 31]438 439xvssrarni.hu.w $xr0, $xr1, 32440# CHECK: :[[#@LINE-1]]:28: error: immediate must be an integer in the range [0, 31]441 442xvssrlrni.hu.w $xr0, $xr1, -1443# CHECK: :[[#@LINE-1]]:28: error: immediate must be an integer in the range [0, 31]444 445xvssrlrni.hu.w $xr0, $xr1, 32446# CHECK: :[[#@LINE-1]]:28: error: immediate must be an integer in the range [0, 31]447 448xvssrarni.h.w $xr0, $xr1, -1449# CHECK: :[[#@LINE-1]]:27: error: immediate must be an integer in the range [0, 31]450 451xvssrarni.h.w $xr0, $xr1, 32452# CHECK: :[[#@LINE-1]]:27: error: immediate must be an integer in the range [0, 31]453 454xvssrlrni.h.w $xr0, $xr1, -1455# CHECK: :[[#@LINE-1]]:27: error: immediate must be an integer in the range [0, 31]456 457xvssrlrni.h.w $xr0, $xr1, 32458# CHECK: :[[#@LINE-1]]:27: error: immediate must be an integer in the range [0, 31]459 460xvssrani.hu.w $xr0, $xr1, -1461# CHECK: :[[#@LINE-1]]:27: error: immediate must be an integer in the range [0, 31]462 463xvssrani.hu.w $xr0, $xr1, 32464# CHECK: :[[#@LINE-1]]:27: error: immediate must be an integer in the range [0, 31]465 466xvssrlni.hu.w $xr0, $xr1, -1467# CHECK: :[[#@LINE-1]]:27: error: immediate must be an integer in the range [0, 31]468 469xvssrlni.hu.w $xr0, $xr1, 32470# CHECK: :[[#@LINE-1]]:27: error: immediate must be an integer in the range [0, 31]471 472xvssrani.h.w $xr0, $xr1, -1473# CHECK: :[[#@LINE-1]]:26: error: immediate must be an integer in the range [0, 31]474 475xvssrani.h.w $xr0, $xr1, 32476# CHECK: :[[#@LINE-1]]:26: error: immediate must be an integer in the range [0, 31]477 478xvssrlni.h.w $xr0, $xr1, -1479# CHECK: :[[#@LINE-1]]:26: error: immediate must be an integer in the range [0, 31]480 481xvssrlni.h.w $xr0, $xr1, 32482# CHECK: :[[#@LINE-1]]:26: error: immediate must be an integer in the range [0, 31]483 484xvsrarni.h.w $xr0, $xr1, -1485# CHECK: :[[#@LINE-1]]:26: error: immediate must be an integer in the range [0, 31]486 487xvsrarni.h.w $xr0, $xr1, 32488# CHECK: :[[#@LINE-1]]:26: error: immediate must be an integer in the range [0, 31]489 490xvsrlrni.h.w $xr0, $xr1, -1491# CHECK: :[[#@LINE-1]]:26: error: immediate must be an integer in the range [0, 31]492 493xvsrlrni.h.w $xr0, $xr1, 32494# CHECK: :[[#@LINE-1]]:26: error: immediate must be an integer in the range [0, 31]495 496xvsrani.h.w $xr0, $xr1, -1497# CHECK: :[[#@LINE-1]]:25: error: immediate must be an integer in the range [0, 31]498 499xvsrani.h.w $xr0, $xr1, 32500# CHECK: :[[#@LINE-1]]:25: error: immediate must be an integer in the range [0, 31]501 502xvsrlni.h.w $xr0, $xr1, -1503# CHECK: :[[#@LINE-1]]:25: error: immediate must be an integer in the range [0, 31]504 505xvsrlni.h.w $xr0, $xr1, 32506# CHECK: :[[#@LINE-1]]:25: error: immediate must be an integer in the range [0, 31]507 508xvsrari.w $xr0, $xr1, -1509# CHECK: :[[#@LINE-1]]:23: error: immediate must be an integer in the range [0, 31]510 511xvsrari.w $xr0, $xr1, 32512# CHECK: :[[#@LINE-1]]:23: error: immediate must be an integer in the range [0, 31]513 514xvsrlri.w $xr0, $xr1, -1515# CHECK: :[[#@LINE-1]]:23: error: immediate must be an integer in the range [0, 31]516 517xvsrlri.w $xr0, $xr1, 32518# CHECK: :[[#@LINE-1]]:23: error: immediate must be an integer in the range [0, 31]519 520xvsllwil.du.wu $xr0, $xr1, -1521# CHECK: :[[#@LINE-1]]:28: error: immediate must be an integer in the range [0, 31]522 523xvsllwil.du.wu $xr0, $xr1, 32524# CHECK: :[[#@LINE-1]]:28: error: immediate must be an integer in the range [0, 31]525 526xvsllwil.d.w $xr0, $xr1, -1527# CHECK: :[[#@LINE-1]]:26: error: immediate must be an integer in the range [0, 31]528 529xvsllwil.d.w $xr0, $xr1, 32530# CHECK: :[[#@LINE-1]]:26: error: immediate must be an integer in the range [0, 31]531 532xvrotri.w $xr0, $xr1, -1533# CHECK: :[[#@LINE-1]]:23: error: immediate must be an integer in the range [0, 31]534 535xvrotri.w $xr0, $xr1, 32536# CHECK: :[[#@LINE-1]]:23: error: immediate must be an integer in the range [0, 31]537 538xvsrai.w $xr0, $xr1, -1539# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [0, 31]540 541xvsrai.w $xr0, $xr1, 32542# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [0, 31]543 544xvsrli.w $xr0, $xr1, -1545# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [0, 31]546 547xvsrli.w $xr0, $xr1, 32548# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [0, 31]549 550xvslli.w $xr0, $xr1, -1551# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [0, 31]552 553xvslli.w $xr0, $xr1, 32554# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [0, 31]555 556xvaddi.bu $xr0, $xr1, -1557# CHECK: :[[#@LINE-1]]:23: error: immediate must be an integer in the range [0, 31]558 559xvaddi.bu $xr0, $xr1, 32560# CHECK: :[[#@LINE-1]]:23: error: immediate must be an integer in the range [0, 31]561 562xvaddi.hu $xr0, $xr1, -1563# CHECK: :[[#@LINE-1]]:23: error: immediate must be an integer in the range [0, 31]564 565xvaddi.hu $xr0, $xr1, 32566# CHECK: :[[#@LINE-1]]:23: error: immediate must be an integer in the range [0, 31]567 568xvaddi.wu $xr0, $xr1, -1569# CHECK: :[[#@LINE-1]]:23: error: immediate must be an integer in the range [0, 31]570 571xvaddi.wu $xr0, $xr1, 32572# CHECK: :[[#@LINE-1]]:23: error: immediate must be an integer in the range [0, 31]573 574xvaddi.du $xr0, $xr1, -1575# CHECK: :[[#@LINE-1]]:23: error: immediate must be an integer in the range [0, 31]576 577xvaddi.du $xr0, $xr1, 32578# CHECK: :[[#@LINE-1]]:23: error: immediate must be an integer in the range [0, 31]579 580xvsubi.bu $xr0, $xr1, -1581# CHECK: :[[#@LINE-1]]:23: error: immediate must be an integer in the range [0, 31]582 583xvsubi.bu $xr0, $xr1, 32584# CHECK: :[[#@LINE-1]]:23: error: immediate must be an integer in the range [0, 31]585 586xvsubi.hu $xr0, $xr1, -1587# CHECK: :[[#@LINE-1]]:23: error: immediate must be an integer in the range [0, 31]588 589xvsubi.hu $xr0, $xr1, 32590# CHECK: :[[#@LINE-1]]:23: error: immediate must be an integer in the range [0, 31]591 592xvsubi.wu $xr0, $xr1, -1593# CHECK: :[[#@LINE-1]]:23: error: immediate must be an integer in the range [0, 31]594 595xvsubi.wu $xr0, $xr1, 32596# CHECK: :[[#@LINE-1]]:23: error: immediate must be an integer in the range [0, 31]597 598xvsubi.du $xr0, $xr1, -1599# CHECK: :[[#@LINE-1]]:23: error: immediate must be an integer in the range [0, 31]600 601xvsubi.du $xr0, $xr1, 32602# CHECK: :[[#@LINE-1]]:23: error: immediate must be an integer in the range [0, 31]603 604xvmaxi.bu $xr0, $xr1, -1605# CHECK: :[[#@LINE-1]]:23: error: immediate must be an integer in the range [0, 31]606 607xvmaxi.bu $xr0, $xr1, 32608# CHECK: :[[#@LINE-1]]:23: error: immediate must be an integer in the range [0, 31]609 610xvmaxi.hu $xr0, $xr1, -1611# CHECK: :[[#@LINE-1]]:23: error: immediate must be an integer in the range [0, 31]612 613xvmaxi.hu $xr0, $xr1, 32614# CHECK: :[[#@LINE-1]]:23: error: immediate must be an integer in the range [0, 31]615 616xvmaxi.wu $xr0, $xr1, -1617# CHECK: :[[#@LINE-1]]:23: error: immediate must be an integer in the range [0, 31]618 619xvmaxi.wu $xr0, $xr1, 32620# CHECK: :[[#@LINE-1]]:23: error: immediate must be an integer in the range [0, 31]621 622xvmaxi.du $xr0, $xr1, -1623# CHECK: :[[#@LINE-1]]:23: error: immediate must be an integer in the range [0, 31]624 625xvmaxi.du $xr0, $xr1, 32626# CHECK: :[[#@LINE-1]]:23: error: immediate must be an integer in the range [0, 31]627 628xvmini.bu $xr0, $xr1, -1629# CHECK: :[[#@LINE-1]]:23: error: immediate must be an integer in the range [0, 31]630 631xvmini.bu $xr0, $xr1, 32632# CHECK: :[[#@LINE-1]]:23: error: immediate must be an integer in the range [0, 31]633 634xvmini.hu $xr0, $xr1, -1635# CHECK: :[[#@LINE-1]]:23: error: immediate must be an integer in the range [0, 31]636 637xvmini.hu $xr0, $xr1, 32638# CHECK: :[[#@LINE-1]]:23: error: immediate must be an integer in the range [0, 31]639 640xvmini.wu $xr0, $xr1, -1641# CHECK: :[[#@LINE-1]]:23: error: immediate must be an integer in the range [0, 31]642 643xvmini.wu $xr0, $xr1, 32644# CHECK: :[[#@LINE-1]]:23: error: immediate must be an integer in the range [0, 31]645 646xvmini.du $xr0, $xr1, -1647# CHECK: :[[#@LINE-1]]:23: error: immediate must be an integer in the range [0, 31]648 649xvmini.du $xr0, $xr1, 32650# CHECK: :[[#@LINE-1]]:23: error: immediate must be an integer in the range [0, 31]651 652xvsat.w $xr0, $xr1, -1653# CHECK: :[[#@LINE-1]]:21: error: immediate must be an integer in the range [0, 31]654 655xvsat.w $xr0, $xr1, 32656# CHECK: :[[#@LINE-1]]:21: error: immediate must be an integer in the range [0, 31]657 658xvsat.wu $xr0, $xr1, -1659# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [0, 31]660 661xvsat.wu $xr0, $xr1, 32662# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [0, 31]663 664## simm5665xvslti.d $xr0, $xr1, -17666# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [-16, 15]667 668xvslti.d $xr0, $xr1, 16669# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [-16, 15]670 671xvslti.w $xr0, $xr1, -17672# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [-16, 15]673 674xvslti.w $xr0, $xr1, 16675# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [-16, 15]676 677xvslti.h $xr0, $xr1, -17678# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [-16, 15]679 680xvslti.h $xr0, $xr1, 16681# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [-16, 15]682 683xvslti.b $xr0, $xr1, -17684# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [-16, 15]685 686xvslti.b $xr0, $xr1, 16687# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [-16, 15]688 689xvslei.d $xr0, $xr1, -17690# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [-16, 15]691 692xvslei.d $xr0, $xr1, 16693# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [-16, 15]694 695xvslei.w $xr0, $xr1, -17696# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [-16, 15]697 698xvslei.w $xr0, $xr1, 16699# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [-16, 15]700 701xvslei.h $xr0, $xr1, -17702# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [-16, 15]703 704xvslei.h $xr0, $xr1, 16705# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [-16, 15]706 707xvslei.b $xr0, $xr1, -17708# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [-16, 15]709 710xvslei.b $xr0, $xr1, 16711# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [-16, 15]712 713xvseqi.d $xr0, $xr1, -17714# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [-16, 15]715 716xvseqi.d $xr0, $xr1, 16717# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [-16, 15]718 719xvseqi.w $xr0, $xr1, -17720# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [-16, 15]721 722xvseqi.w $xr0, $xr1, 16723# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [-16, 15]724 725xvseqi.h $xr0, $xr1, -17726# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [-16, 15]727 728xvseqi.h $xr0, $xr1, 16729# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [-16, 15]730 731xvseqi.b $xr0, $xr1, -17732# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [-16, 15]733 734xvseqi.b $xr0, $xr1, 16735# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [-16, 15]736 737xvmaxi.b $xr0, $xr1, -17738# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [-16, 15]739 740xvmaxi.b $xr0, $xr1, 16741# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [-16, 15]742 743xvmaxi.h $xr0, $xr1, -17744# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [-16, 15]745 746xvmaxi.h $xr0, $xr1, 16747# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [-16, 15]748 749xvmaxi.w $xr0, $xr1, -17750# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [-16, 15]751 752xvmaxi.w $xr0, $xr1, 16753# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [-16, 15]754 755xvmaxi.d $xr0, $xr1, -17756# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [-16, 15]757 758xvmaxi.d $xr0, $xr1, 16759# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [-16, 15]760 761xvmini.b $xr0, $xr1, -17762# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [-16, 15]763 764xvmini.b $xr0, $xr1, 16765# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [-16, 15]766 767xvmini.h $xr0, $xr1, -17768# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [-16, 15]769 770xvmini.h $xr0, $xr1, 16771# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [-16, 15]772 773xvmini.w $xr0, $xr1, -17774# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [-16, 15]775 776xvmini.w $xr0, $xr1, 16777# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [-16, 15]778 779xvmini.d $xr0, $xr1, -17780# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [-16, 15]781 782xvmini.d $xr0, $xr1, 16783# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [-16, 15]784 785## uimm6786xvbitrevi.d $xr0, $xr1, -1787# CHECK: :[[#@LINE-1]]:25: error: immediate must be an integer in the range [0, 63]788 789xvbitrevi.d $xr0, $xr1, 64790# CHECK: :[[#@LINE-1]]:25: error: immediate must be an integer in the range [0, 63]791 792xvbitseti.d $xr0, $xr1, -1793# CHECK: :[[#@LINE-1]]:25: error: immediate must be an integer in the range [0, 63]794 795xvbitseti.d $xr0, $xr1, 64796# CHECK: :[[#@LINE-1]]:25: error: immediate must be an integer in the range [0, 63]797 798xvbitclri.d $xr0, $xr1, -1799# CHECK: :[[#@LINE-1]]:25: error: immediate must be an integer in the range [0, 63]800 801xvbitclri.d $xr0, $xr1, 64802# CHECK: :[[#@LINE-1]]:25: error: immediate must be an integer in the range [0, 63]803 804xvssrarni.wu.d $xr0, $xr1, -1805# CHECK: :[[#@LINE-1]]:28: error: immediate must be an integer in the range [0, 63]806 807xvssrarni.wu.d $xr0, $xr1, 64808# CHECK: :[[#@LINE-1]]:28: error: immediate must be an integer in the range [0, 63]809 810xvssrlrni.wu.d $xr0, $xr1, -1811# CHECK: :[[#@LINE-1]]:28: error: immediate must be an integer in the range [0, 63]812 813xvssrlrni.wu.d $xr0, $xr1, 64814# CHECK: :[[#@LINE-1]]:28: error: immediate must be an integer in the range [0, 63]815 816xvssrarni.w.d $xr0, $xr1, -1817# CHECK: :[[#@LINE-1]]:27: error: immediate must be an integer in the range [0, 63]818 819xvssrarni.w.d $xr0, $xr1, 64820# CHECK: :[[#@LINE-1]]:27: error: immediate must be an integer in the range [0, 63]821 822xvssrlrni.w.d $xr0, $xr1, -1823# CHECK: :[[#@LINE-1]]:27: error: immediate must be an integer in the range [0, 63]824 825xvssrlrni.w.d $xr0, $xr1, 64826# CHECK: :[[#@LINE-1]]:27: error: immediate must be an integer in the range [0, 63]827 828xvssrani.wu.d $xr0, $xr1, -1829# CHECK: :[[#@LINE-1]]:27: error: immediate must be an integer in the range [0, 63]830 831xvssrani.wu.d $xr0, $xr1, 64832# CHECK: :[[#@LINE-1]]:27: error: immediate must be an integer in the range [0, 63]833 834xvssrlni.wu.d $xr0, $xr1, -1835# CHECK: :[[#@LINE-1]]:27: error: immediate must be an integer in the range [0, 63]836 837xvssrlni.wu.d $xr0, $xr1, 64838# CHECK: :[[#@LINE-1]]:27: error: immediate must be an integer in the range [0, 63]839 840xvssrani.w.d $xr0, $xr1, -1841# CHECK: :[[#@LINE-1]]:26: error: immediate must be an integer in the range [0, 63]842 843xvssrani.w.d $xr0, $xr1, 64844# CHECK: :[[#@LINE-1]]:26: error: immediate must be an integer in the range [0, 63]845 846xvssrlni.w.d $xr0, $xr1, -1847# CHECK: :[[#@LINE-1]]:26: error: immediate must be an integer in the range [0, 63]848 849xvssrlni.w.d $xr0, $xr1, 64850# CHECK: :[[#@LINE-1]]:26: error: immediate must be an integer in the range [0, 63]851 852xvsrarni.w.d $xr0, $xr1, -1853# CHECK: :[[#@LINE-1]]:26: error: immediate must be an integer in the range [0, 63]854 855xvsrarni.w.d $xr0, $xr1, 64856# CHECK: :[[#@LINE-1]]:26: error: immediate must be an integer in the range [0, 63]857 858xvsrlrni.w.d $xr0, $xr1, -1859# CHECK: :[[#@LINE-1]]:26: error: immediate must be an integer in the range [0, 63]860 861xvsrlrni.w.d $xr0, $xr1, 64862# CHECK: :[[#@LINE-1]]:26: error: immediate must be an integer in the range [0, 63]863 864xvsrani.w.d $xr0, $xr1, -1865# CHECK: :[[#@LINE-1]]:25: error: immediate must be an integer in the range [0, 63]866 867xvsrani.w.d $xr0, $xr1, 64868# CHECK: :[[#@LINE-1]]:25: error: immediate must be an integer in the range [0, 63]869 870xvsrlni.w.d $xr0, $xr1, -1871# CHECK: :[[#@LINE-1]]:25: error: immediate must be an integer in the range [0, 63]872 873xvsrlni.w.d $xr0, $xr1, 64874# CHECK: :[[#@LINE-1]]:25: error: immediate must be an integer in the range [0, 63]875 876xvsrari.d $xr0, $xr1, -1877# CHECK: :[[#@LINE-1]]:23: error: immediate must be an integer in the range [0, 63]878 879xvsrari.d $xr0, $xr1, 64880# CHECK: :[[#@LINE-1]]:23: error: immediate must be an integer in the range [0, 63]881 882xvsrlri.d $xr0, $xr1, -1883# CHECK: :[[#@LINE-1]]:23: error: immediate must be an integer in the range [0, 63]884 885xvsrlri.d $xr0, $xr1, 64886# CHECK: :[[#@LINE-1]]:23: error: immediate must be an integer in the range [0, 63]887 888xvrotri.d $xr0, $xr1, -1889# CHECK: :[[#@LINE-1]]:23: error: immediate must be an integer in the range [0, 63]890 891xvrotri.d $xr0, $xr1, 64892# CHECK: :[[#@LINE-1]]:23: error: immediate must be an integer in the range [0, 63]893 894xvsrai.d $xr0, $xr1, -1895# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [0, 63]896 897xvsrai.d $xr0, $xr1, 64898# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [0, 63]899 900xvsrli.d $xr0, $xr1, -1901# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [0, 63]902 903xvsrli.d $xr0, $xr1, 64904# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [0, 63]905 906xvslli.d $xr0, $xr1, -1907# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [0, 63]908 909xvslli.d $xr0, $xr1, 64910# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [0, 63]911 912xvsat.d $xr0, $xr1, -1913# CHECK: :[[#@LINE-1]]:21: error: immediate must be an integer in the range [0, 63]914 915xvsat.d $xr0, $xr1, 64916# CHECK: :[[#@LINE-1]]:21: error: immediate must be an integer in the range [0, 63]917 918xvsat.du $xr0, $xr1, -1919# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [0, 63]920 921xvsat.du $xr0, $xr1, 64922# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [0, 63]923 924## uimm7925xvssrarni.du.q $xr0, $xr1, -1926# CHECK: :[[#@LINE-1]]:28: error: immediate must be an integer in the range [0, 127]927 928xvssrarni.du.q $xr0, $xr1, 128929# CHECK: :[[#@LINE-1]]:28: error: immediate must be an integer in the range [0, 127]930 931xvssrlrni.du.q $xr0, $xr1, -1932# CHECK: :[[#@LINE-1]]:28: error: immediate must be an integer in the range [0, 127]933 934xvssrlrni.du.q $xr0, $xr1, 128935# CHECK: :[[#@LINE-1]]:28: error: immediate must be an integer in the range [0, 127]936 937xvssrarni.d.q $xr0, $xr1, -1938# CHECK: :[[#@LINE-1]]:27: error: immediate must be an integer in the range [0, 127]939 940xvssrarni.d.q $xr0, $xr1, 128941# CHECK: :[[#@LINE-1]]:27: error: immediate must be an integer in the range [0, 127]942 943xvssrlrni.d.q $xr0, $xr1, -1944# CHECK: :[[#@LINE-1]]:27: error: immediate must be an integer in the range [0, 127]945 946xvssrlrni.d.q $xr0, $xr1, 128947# CHECK: :[[#@LINE-1]]:27: error: immediate must be an integer in the range [0, 127]948 949xvssrani.du.q $xr0, $xr1, -1950# CHECK: :[[#@LINE-1]]:27: error: immediate must be an integer in the range [0, 127]951 952xvssrani.du.q $xr0, $xr1, 128953# CHECK: :[[#@LINE-1]]:27: error: immediate must be an integer in the range [0, 127]954 955xvssrlni.du.q $xr0, $xr1, -1956# CHECK: :[[#@LINE-1]]:27: error: immediate must be an integer in the range [0, 127]957 958xvssrlni.du.q $xr0, $xr1, 128959# CHECK: :[[#@LINE-1]]:27: error: immediate must be an integer in the range [0, 127]960 961xvssrani.d.q $xr0, $xr1, -1962# CHECK: :[[#@LINE-1]]:26: error: immediate must be an integer in the range [0, 127]963 964xvssrani.d.q $xr0, $xr1, 128965# CHECK: :[[#@LINE-1]]:26: error: immediate must be an integer in the range [0, 127]966 967xvssrlni.d.q $xr0, $xr1, -1968# CHECK: :[[#@LINE-1]]:26: error: immediate must be an integer in the range [0, 127]969 970xvssrlni.d.q $xr0, $xr1, 128971# CHECK: :[[#@LINE-1]]:26: error: immediate must be an integer in the range [0, 127]972 973xvsrarni.d.q $xr0, $xr1, -1974# CHECK: :[[#@LINE-1]]:26: error: immediate must be an integer in the range [0, 127]975 976xvsrarni.d.q $xr0, $xr1, 128977# CHECK: :[[#@LINE-1]]:26: error: immediate must be an integer in the range [0, 127]978 979xvsrlrni.d.q $xr0, $xr1, -1980# CHECK: :[[#@LINE-1]]:26: error: immediate must be an integer in the range [0, 127]981 982xvsrlrni.d.q $xr0, $xr1, 128983# CHECK: :[[#@LINE-1]]:26: error: immediate must be an integer in the range [0, 127]984 985xvsrani.d.q $xr0, $xr1, -1986# CHECK: :[[#@LINE-1]]:25: error: immediate must be an integer in the range [0, 127]987 988xvsrani.d.q $xr0, $xr1, 128989# CHECK: :[[#@LINE-1]]:25: error: immediate must be an integer in the range [0, 127]990 991xvsrlni.d.q $xr0, $xr1, -1992# CHECK: :[[#@LINE-1]]:25: error: immediate must be an integer in the range [0, 127]993 994xvsrlni.d.q $xr0, $xr1, 128995# CHECK: :[[#@LINE-1]]:25: error: immediate must be an integer in the range [0, 127]996 997## uimm8998xvextrins.d $xr0, $xr1, -1999# CHECK: :[[#@LINE-1]]:25: error: immediate must be an integer in the range [0, 255]1000 1001xvextrins.d $xr0, $xr1, 2561002# CHECK: :[[#@LINE-1]]:25: error: immediate must be an integer in the range [0, 255]1003 1004xvextrins.w $xr0, $xr1, -11005# CHECK: :[[#@LINE-1]]:25: error: immediate must be an integer in the range [0, 255]1006 1007xvextrins.w $xr0, $xr1, 2561008# CHECK: :[[#@LINE-1]]:25: error: immediate must be an integer in the range [0, 255]1009 1010xvextrins.h $xr0, $xr1, -11011# CHECK: :[[#@LINE-1]]:25: error: immediate must be an integer in the range [0, 255]1012 1013xvextrins.h $xr0, $xr1, 2561014# CHECK: :[[#@LINE-1]]:25: error: immediate must be an integer in the range [0, 255]1015 1016xvextrins.b $xr0, $xr1, -11017# CHECK: :[[#@LINE-1]]:25: error: immediate must be an integer in the range [0, 255]1018 1019xvextrins.b $xr0, $xr1, 2561020# CHECK: :[[#@LINE-1]]:25: error: immediate must be an integer in the range [0, 255]1021 1022xvpermi.q $xr0, $xr1, -11023# CHECK: :[[#@LINE-1]]:23: error: immediate must be an integer in the range [0, 255]1024 1025xvpermi.q $xr0, $xr1, 2561026# CHECK: :[[#@LINE-1]]:23: error: immediate must be an integer in the range [0, 255]1027 1028xvpermi.d $xr0, $xr1, -11029# CHECK: :[[#@LINE-1]]:23: error: immediate must be an integer in the range [0, 255]1030 1031xvpermi.d $xr0, $xr1, 2561032# CHECK: :[[#@LINE-1]]:23: error: immediate must be an integer in the range [0, 255]1033 1034xvpermi.w $xr0, $xr1, -11035# CHECK: :[[#@LINE-1]]:23: error: immediate must be an integer in the range [0, 255]1036 1037xvpermi.w $xr0, $xr1, 2561038# CHECK: :[[#@LINE-1]]:23: error: immediate must be an integer in the range [0, 255]1039 1040xvshuf4i.d $xr0, $xr1, -11041# CHECK: :[[#@LINE-1]]:24: error: immediate must be an integer in the range [0, 255]1042 1043xvshuf4i.d $xr0, $xr1, 2561044# CHECK: :[[#@LINE-1]]:24: error: immediate must be an integer in the range [0, 255]1045 1046xvshuf4i.w $xr0, $xr1, -11047# CHECK: :[[#@LINE-1]]:24: error: immediate must be an integer in the range [0, 255]1048 1049xvshuf4i.w $xr0, $xr1, 2561050# CHECK: :[[#@LINE-1]]:24: error: immediate must be an integer in the range [0, 255]1051 1052xvshuf4i.h $xr0, $xr1, -11053# CHECK: :[[#@LINE-1]]:24: error: immediate must be an integer in the range [0, 255]1054 1055xvshuf4i.h $xr0, $xr1, 2561056# CHECK: :[[#@LINE-1]]:24: error: immediate must be an integer in the range [0, 255]1057 1058xvshuf4i.b $xr0, $xr1, -11059# CHECK: :[[#@LINE-1]]:24: error: immediate must be an integer in the range [0, 255]1060 1061xvshuf4i.b $xr0, $xr1, 2561062# CHECK: :[[#@LINE-1]]:24: error: immediate must be an integer in the range [0, 255]1063 1064xvbitseli.b $xr0, $xr1, -11065# CHECK: :[[#@LINE-1]]:25: error: immediate must be an integer in the range [0, 255]1066 1067xvbitseli.b $xr0, $xr1, 2561068# CHECK: :[[#@LINE-1]]:25: error: immediate must be an integer in the range [0, 255]1069 1070xvandi.b $xr0, $xr1, -11071# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [0, 255]1072 1073xvandi.b $xr0, $xr1, 2561074# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [0, 255]1075 1076xvori.b $xr0, $xr1, -11077# CHECK: :[[#@LINE-1]]:21: error: immediate must be an integer in the range [0, 255]1078 1079xvori.b $xr0, $xr1, 2561080# CHECK: :[[#@LINE-1]]:21: error: immediate must be an integer in the range [0, 255]1081 1082xvxori.b $xr0, $xr1, -11083# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [0, 255]1084 1085xvxori.b $xr0, $xr1, 2561086# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [0, 255]1087 1088xvnori.b $xr0, $xr1, -11089# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [0, 255]1090 1091xvnori.b $xr0, $xr1, 2561092# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [0, 255]1093 1094## simm81095xvstelm.b $xr0, $a0, -129, 11096# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [-128, 127]1097 1098xvstelm.b $xr0, $a0, 128, 11099# CHECK: :[[#@LINE-1]]:22: error: immediate must be an integer in the range [-128, 127]1100 1101## simm8_lsl11102xvstelm.h $xr0, $a0, -258, 11103# CHECK: :[[#@LINE-1]]:22: error: immediate must be a multiple of 2 in the range [-256, 254]1104 1105xvstelm.h $xr0, $a0, 256, 11106# CHECK: :[[#@LINE-1]]:22: error: immediate must be a multiple of 2 in the range [-256, 254]1107 1108## simm8_lsl21109xvstelm.w $xr0, $a0, -516, 11110# CHECK: :[[#@LINE-1]]:22: error: immediate must be a multiple of 4 in the range [-512, 508]1111 1112xvstelm.w $xr0, $a0, 512, 11113# CHECK: :[[#@LINE-1]]:22: error: immediate must be a multiple of 4 in the range [-512, 508]1114 1115## simm8_lsl31116xvstelm.d $xr0, $a0, -1032, 11117# CHECK: :[[#@LINE-1]]:22: error: immediate must be a multiple of 8 in the range [-1024, 1016]1118 1119xvstelm.d $xr0, $a0, 1024, 11120# CHECK: :[[#@LINE-1]]:22: error: immediate must be a multiple of 8 in the range [-1024, 1016]1121 1122## simm9_lsl31123xvldrepl.d $xr0, $a0, -20561124# CHECK: :[[#@LINE-1]]:23: error: immediate must be a multiple of 8 in the range [-2048, 2040]1125 1126xvldrepl.d $xr0, $a0, 20481127# CHECK: :[[#@LINE-1]]:23: error: immediate must be a multiple of 8 in the range [-2048, 2040]1128 1129## simm10_lsl21130xvldrepl.w $xr0, $a0, -20521131# CHECK: :[[#@LINE-1]]:23: error: immediate must be a multiple of 4 in the range [-2048, 2044]1132 1133xvldrepl.w $xr0, $a0, 20481134# CHECK: :[[#@LINE-1]]:23: error: immediate must be a multiple of 4 in the range [-2048, 2044]1135 1136## simm101137xvrepli.b $xr0, -5131138# CHECK: :[[#@LINE-1]]:17: error: immediate must be an integer in the range [-512, 511]1139 1140xvrepli.b $xr0, 5121141# CHECK: :[[#@LINE-1]]:17: error: immediate must be an integer in the range [-512, 511]1142 1143xvrepli.h $xr0, -5131144# CHECK: :[[#@LINE-1]]:17: error: immediate must be an integer in the range [-512, 511]1145 1146xvrepli.h $xr0, 5121147# CHECK: :[[#@LINE-1]]:17: error: immediate must be an integer in the range [-512, 511]1148 1149xvrepli.w $xr0, -5131150# CHECK: :[[#@LINE-1]]:17: error: immediate must be an integer in the range [-512, 511]1151 1152xvrepli.w $xr0, 5121153# CHECK: :[[#@LINE-1]]:17: error: immediate must be an integer in the range [-512, 511]1154 1155xvrepli.d $xr0, -5131156# CHECK: :[[#@LINE-1]]:17: error: immediate must be an integer in the range [-512, 511]1157 1158xvrepli.d $xr0, 5121159# CHECK: :[[#@LINE-1]]:17: error: immediate must be an integer in the range [-512, 511]1160 1161## simm11_lsl11162xvldrepl.h $xr0, $a0, -20501163# CHECK: :[[#@LINE-1]]:23: error: immediate must be a multiple of 2 in the range [-2048, 2046]1164 1165xvldrepl.h $xr0, $a0, 20481166# CHECK: :[[#@LINE-1]]:23: error: immediate must be a multiple of 2 in the range [-2048, 2046]1167 1168## simm121169xvldrepl.b $xr0, $a0, -20491170# CHECK: :[[#@LINE-1]]:23: error: operand must be a symbol with modifier (e.g. %pc_lo12) or an integer in the range [-2048, 2047]1171 1172xvldrepl.b $xr0, $a0, 20481173# CHECK: :[[#@LINE-1]]:23: error: operand must be a symbol with modifier (e.g. %pc_lo12) or an integer in the range [-2048, 2047]1174 1175xvst $xr0, $a0, -20491176# CHECK: :[[#@LINE-1]]:17: error: operand must be a symbol with modifier (e.g. %pc_lo12) or an integer in the range [-2048, 2047]1177 1178xvst $xr0, $a0, 20481179# CHECK: :[[#@LINE-1]]:17: error: operand must be a symbol with modifier (e.g. %pc_lo12) or an integer in the range [-2048, 2047]1180 1181xvld $xr0, $a0, -20491182# CHECK: :[[#@LINE-1]]:17: error: operand must be a symbol with modifier (e.g. %pc_lo12) or an integer in the range [-2048, 2047]1183 1184xvld $xr0, $a0, 20481185# CHECK: :[[#@LINE-1]]:17: error: operand must be a symbol with modifier (e.g. %pc_lo12) or an integer in the range [-2048, 2047]1186 1187## simm131188xvldi $xr0, -40971189# CHECK: :[[#@LINE-1]]:13: error: immediate must be an integer in the range [-4096, 4095]1190 1191xvldi $xr0, 40961192# CHECK: :[[#@LINE-1]]:13: error: immediate must be an integer in the range [-4096, 4095]1193