361 lines · plain
1# For z17 only.2# RUN: not llvm-mc -triple s390x-linux-gnu -mcpu=z17 < %s 2> %t3# RUN: FileCheck < %t %s4 5#CHECK: error: invalid use of indexed addressing6#CHECK: cal %r2, 160(%r1,%r15), 160(%r15)7#CHECK: error: invalid operand8#CHECK: cal %r2, -1(%r1), 160(%r15)9#CHECK: error: invalid operand10#CHECK: cal %r2, 4096(%r1), 160(%r15)11#CHECK: error: invalid operand12#CHECK: cal %r2, 0(%r1), -1(%r15)13#CHECK: error: invalid operand14#CHECK: cal %r2, 0(%r1), 4096(%r15)15 16 cal %r2, 160(%r1,%r15), 160(%r15)17 cal %r2, -1(%r1), 160(%r15)18 cal %r2, 4096(%r1), 160(%r15)19 cal %r2, 0(%r1), -1(%r15)20 cal %r2, 0(%r1), 4096(%r15)21 22#CHECK: error: invalid use of indexed addressing23#CHECK: calg %r2, 160(%r1,%r15), 160(%r15)24#CHECK: error: invalid operand25#CHECK: calg %r2, -1(%r1), 160(%r15)26#CHECK: error: invalid operand27#CHECK: calg %r2, 4096(%r1), 160(%r15)28#CHECK: error: invalid operand29#CHECK: calg %r2, 0(%r1), -1(%r15)30#CHECK: error: invalid operand31#CHECK: calg %r2, 0(%r1), 4096(%r15)32 33 calg %r2, 160(%r1,%r15), 160(%r15)34 calg %r2, -1(%r1), 160(%r15)35 calg %r2, 4096(%r1), 160(%r15)36 calg %r2, 0(%r1), -1(%r15)37 calg %r2, 0(%r1), 4096(%r15)38 39#CHECK: error: invalid use of indexed addressing40#CHECK: calgf %r2, 160(%r1,%r15), 160(%r15)41#CHECK: error: invalid operand42#CHECK: calgf %r2, -1(%r1), 160(%r15)43#CHECK: error: invalid operand44#CHECK: calgf %r2, 4096(%r1), 160(%r15)45#CHECK: error: invalid operand46#CHECK: calgf %r2, 0(%r1), -1(%r15)47#CHECK: error: invalid operand48#CHECK: calgf %r2, 0(%r1), 4096(%r15)49 50 calgf %r2, 160(%r1,%r15), 160(%r15)51 calgf %r2, -1(%r1), 160(%r15)52 calgf %r2, 4096(%r1), 160(%r15)53 calgf %r2, 0(%r1), -1(%r15)54 calgf %r2, 0(%r1), 4096(%r15)55 56#CHECK: error: invalid operand57#CHECK: kimd %r0, %r0, -158#CHECK: error: invalid operand59#CHECK: kimd %r0, %r0, 1660 61 kimd %r0, %r0, -162 kimd %r0, %r0, 1663 64#CHECK: error: invalid operand65#CHECK: klmd %r0, %r0, -166#CHECK: error: invalid operand67#CHECK: klmd %r0, %r0, 1668 69 klmd %r0, %r0, -170 klmd %r0, %r0, 1671 72#CHECK: error: invalid operand73#CHECK: lxab %r0, -52428974#CHECK: error: invalid operand75#CHECK: lxab %r0, 52428876 77 lxab %r0, -52428978 lxab %r0, 52428879 80#CHECK: error: invalid operand81#CHECK: lxah %r0, -52428982#CHECK: error: invalid operand83#CHECK: lxah %r0, 52428884 85 lxah %r0, -52428986 lxah %r0, 52428887 88#CHECK: error: invalid operand89#CHECK: lxaf %r0, -52428990#CHECK: error: invalid operand91#CHECK: lxaf %r0, 52428892 93 lxaf %r0, -52428994 lxaf %r0, 52428895 96#CHECK: error: invalid operand97#CHECK: lxag %r0, -52428998#CHECK: error: invalid operand99#CHECK: lxag %r0, 524288100 101 lxag %r0, -524289102 lxag %r0, 524288103 104#CHECK: error: invalid operand105#CHECK: lxaq %r0, -524289106#CHECK: error: invalid operand107#CHECK: lxaq %r0, 524288108 109 lxaq %r0, -524289110 lxaq %r0, 524288111 112#CHECK: error: invalid operand113#CHECK: llxab %r0, -524289114#CHECK: error: invalid operand115#CHECK: llxab %r0, 524288116 117 llxab %r0, -524289118 llxab %r0, 524288119 120#CHECK: error: invalid operand121#CHECK: llxah %r0, -524289122#CHECK: error: invalid operand123#CHECK: llxah %r0, 524288124 125 llxah %r0, -524289126 llxah %r0, 524288127 128#CHECK: error: invalid operand129#CHECK: llxaf %r0, -524289130#CHECK: error: invalid operand131#CHECK: llxaf %r0, 524288132 133 llxaf %r0, -524289134 llxaf %r0, 524288135 136#CHECK: error: invalid operand137#CHECK: llxag %r0, -524289138#CHECK: error: invalid operand139#CHECK: llxag %r0, 524288140 141 llxag %r0, -524289142 llxag %r0, 524288143 144#CHECK: error: invalid operand145#CHECK: llxaq %r0, -524289146#CHECK: error: invalid operand147#CHECK: llxaq %r0, 524288148 149 llxaq %r0, -524289150 llxaq %r0, 524288151 152#CHECK: error: invalid operand153#CHECK: pfcr %r0, %r0, -524289154#CHECK: error: invalid operand155#CHECK: pfcr %r0, %r0, 524288156#CHECK: error: invalid use of indexed addressing157#CHECK: pfcr %r0, %r0, 0(%r1,%r2)158 159 pfcr %r0, %r0, -524289160 pfcr %r0, %r0, 524288161 pfcr %r0, %r0, 0(%r1,%r2)162 163#CHECK: error: invalid operand164#CHECK: vcvbq %v0, %v0, -1165#CHECK: error: invalid operand166#CHECK: vcvbq %v0, %v0, 16167 168 vcvbq %v0, %v0, -1169 vcvbq %v0, %v0, 16170 171#CHECK: error: invalid operand172#CHECK: vcvdq %v0, %v0, 0, -1173#CHECK: error: invalid operand174#CHECK: vcvdq %v0, %v0, 0, 16175#CHECK: error: invalid operand176#CHECK: vcvdq %v0, %v0, -1, 0177#CHECK: error: invalid operand178#CHECK: vcvdq %v0, %v0, 256, 0179 180 vcvdq %v0, %v0, 0, -1181 vcvdq %v0, %v0, 0, 16182 vcvdq %v0, %v0, -1, 0183 vcvdq %v0, %v0, 256, 0184 185#CHECK: error: invalid operand186#CHECK: vd %v0, %v0, %v0, 0, -1187#CHECK: error: invalid operand188#CHECK: vd %v0, %v0, %v0, 0, 16189#CHECK: error: invalid operand190#CHECK: vd %v0, %v0, %v0, -1, 0191#CHECK: error: invalid operand192#CHECK: vd %v0, %v0, %v0, 16, 0193 194 vd %v0, %v0, %v0, 0, -1195 vd %v0, %v0, %v0, 0, 16196 vd %v0, %v0, %v0, -1, 0197 vd %v0, %v0, %v0, 16, 0198 199#CHECK: error: invalid operand200#CHECK: vdf %v0, %v0, %v0, -1201#CHECK: error: invalid operand202#CHECK: vdf %v0, %v0, %v0, 16203 204 vdf %v0, %v0, %v0, -1205 vdf %v0, %v0, %v0, 16206 207#CHECK: error: invalid operand208#CHECK: vdg %v0, %v0, %v0, -1209#CHECK: error: invalid operand210#CHECK: vdg %v0, %v0, %v0, 16211 212 vdg %v0, %v0, %v0, -1213 vdg %v0, %v0, %v0, 16214 215#CHECK: error: invalid operand216#CHECK: vdq %v0, %v0, %v0, -1217#CHECK: error: invalid operand218#CHECK: vdq %v0, %v0, %v0, 16219 220 vdq %v0, %v0, %v0, -1221 vdq %v0, %v0, %v0, 16222 223#CHECK: error: invalid operand224#CHECK: vdl %v0, %v0, %v0, 0, -1225#CHECK: error: invalid operand226#CHECK: vdl %v0, %v0, %v0, 0, 16227#CHECK: error: invalid operand228#CHECK: vdl %v0, %v0, %v0, -1, 0229#CHECK: error: invalid operand230#CHECK: vdl %v0, %v0, %v0, 16, 0231 232 vdl %v0, %v0, %v0, 0, -1233 vdl %v0, %v0, %v0, 0, 16234 vdl %v0, %v0, %v0, -1, 0235 vdl %v0, %v0, %v0, 16, 0236 237#CHECK: error: invalid operand238#CHECK: vdlf %v0, %v0, %v0, -1239#CHECK: error: invalid operand240#CHECK: vdlf %v0, %v0, %v0, 16241 242 vdlf %v0, %v0, %v0, -1243 vdlf %v0, %v0, %v0, 16244 245#CHECK: error: invalid operand246#CHECK: vdlg %v0, %v0, %v0, -1247#CHECK: error: invalid operand248#CHECK: vdlg %v0, %v0, %v0, 16249 250 vdlg %v0, %v0, %v0, -1251 vdlg %v0, %v0, %v0, 16252 253#CHECK: error: invalid operand254#CHECK: vdlq %v0, %v0, %v0, -1255#CHECK: error: invalid operand256#CHECK: vdlq %v0, %v0, %v0, 16257 258 vdlq %v0, %v0, %v0, -1259 vdlq %v0, %v0, %v0, 16260 261#CHECK: error: invalid operand262#CHECK: veval %v0, %v0, %v0, %v0, -1263#CHECK: error: invalid operand264#CHECK: veval %v0, %v0, %v0, %v0, 256265 266 veval %v0, %v0, %v0, %v0, -1267 veval %v0, %v0, %v0, %v0, 256268 269#CHECK: error: invalid operand270#CHECK: vr %v0, %v0, %v0, 0, -1271#CHECK: error: invalid operand272#CHECK: vr %v0, %v0, %v0, 0, 16273#CHECK: error: invalid operand274#CHECK: vr %v0, %v0, %v0, -1, 0275#CHECK: error: invalid operand276#CHECK: vr %v0, %v0, %v0, 16, 0277 278 vr %v0, %v0, %v0, 0, -1279 vr %v0, %v0, %v0, 0, 16280 vr %v0, %v0, %v0, -1, 0281 vr %v0, %v0, %v0, 16, 0282 283#CHECK: error: invalid operand284#CHECK: vrf %v0, %v0, %v0, -1285#CHECK: error: invalid operand286#CHECK: vrf %v0, %v0, %v0, 16287 288 vrf %v0, %v0, %v0, -1289 vrf %v0, %v0, %v0, 16290 291#CHECK: error: invalid operand292#CHECK: vrg %v0, %v0, %v0, -1293#CHECK: error: invalid operand294#CHECK: vrg %v0, %v0, %v0, 16295 296 vrg %v0, %v0, %v0, -1297 vrg %v0, %v0, %v0, 16298 299#CHECK: error: invalid operand300#CHECK: vrq %v0, %v0, %v0, -1301#CHECK: error: invalid operand302#CHECK: vrq %v0, %v0, %v0, 16303 304 vrq %v0, %v0, %v0, -1305 vrq %v0, %v0, %v0, 16306 307#CHECK: error: invalid operand308#CHECK: vrl %v0, %v0, %v0, 0, -1309#CHECK: error: invalid operand310#CHECK: vrl %v0, %v0, %v0, 0, 16311#CHECK: error: invalid operand312#CHECK: vrl %v0, %v0, %v0, -1, 0313#CHECK: error: invalid operand314#CHECK: vrl %v0, %v0, %v0, 16, 0315 316 vrl %v0, %v0, %v0, 0, -1317 vrl %v0, %v0, %v0, 0, 16318 vrl %v0, %v0, %v0, -1, 0319 vrl %v0, %v0, %v0, 16, 0320 321#CHECK: error: invalid operand322#CHECK: vrlf %v0, %v0, %v0, -1323#CHECK: error: invalid operand324#CHECK: vrlf %v0, %v0, %v0, 16325 326 vrlf %v0, %v0, %v0, -1327 vrlf %v0, %v0, %v0, 16328 329#CHECK: error: invalid operand330#CHECK: vrlg %v0, %v0, %v0, -1331#CHECK: error: invalid operand332#CHECK: vrlg %v0, %v0, %v0, 16333 334 vrlg %v0, %v0, %v0, -1335 vrlg %v0, %v0, %v0, 16336 337#CHECK: error: invalid operand338#CHECK: vrlq %v0, %v0, %v0, -1339#CHECK: error: invalid operand340#CHECK: vrlq %v0, %v0, %v0, 16341 342 vrlq %v0, %v0, %v0, -1343 vrlq %v0, %v0, %v0, 16344 345#CHECK: error: invalid operand346#CHECK: vtp %v0, -1347#CHECK: error: invalid operand348#CHECK: vtp %v0, 65536349 350 vtp %v0, -1351 vtp %v0, 65536352 353#CHECK: error: invalid operand354#CHECK: vtz %v0, %v0, -1355#CHECK: error: invalid operand356#CHECK: vtz %v0, %v0, 65536357 358 vtz %v0, %v0, -1359 vtz %v0, %v0, 65536360 361