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