1# For z196 only. 2# RUN: not llvm-mc -triple s390x-linux-gnu -mcpu=z196 < %s 2> %t 3# RUN: FileCheck < %t %s 4 5#CHECK: error: invalid operand 6#CHECK: aghik %r0, %r1, -32769 7#CHECK: error: invalid operand 8#CHECK: aghik %r0, %r1, 32768 9#CHECK: error: invalid operand 10#CHECK: aghik %r0, %r1, foo 11 12 aghik %r0, %r1, -32769 13 aghik %r0, %r1, 32768 14 aghik %r0, %r1, foo 15 16#CHECK: error: invalid operand 17#CHECK: ahik %r0, %r1, -32769 18#CHECK: error: invalid operand 19#CHECK: ahik %r0, %r1, 32768 20#CHECK: error: invalid operand 21#CHECK: ahik %r0, %r1, foo 22 23 ahik %r0, %r1, -32769 24 ahik %r0, %r1, 32768 25 ahik %r0, %r1, foo 26 27#CHECK: error: invalid operand 28#CHECK: aih %r0, (-1 << 31) - 1 29#CHECK: error: invalid operand 30#CHECK: aih %r0, (1 << 31) 31 32 aih %r0, (-1 << 31) - 1 33 aih %r0, (1 << 31) 34 35#CHECK: error: invalid operand 36#CHECK: chf %r0, -524289 37#CHECK: error: invalid operand 38#CHECK: chf %r0, 524288 39 40 chf %r0, -524289 41 chf %r0, 524288 42 43#CHECK: error: invalid operand 44#CHECK: cih %r0, (-1 << 31) - 1 45#CHECK: error: invalid operand 46#CHECK: cih %r0, (1 << 31) 47 48 cih %r0, (-1 << 31) - 1 49 cih %r0, (1 << 31) 50 51#CHECK: error: invalid operand 52#CHECK: clhf %r0, -524289 53#CHECK: error: invalid operand 54#CHECK: clhf %r0, 524288 55 56 clhf %r0, -524289 57 clhf %r0, 524288 58 59#CHECK: error: invalid operand 60#CHECK: clih %r0, -1 61#CHECK: error: invalid operand 62#CHECK: clih %r0, (1 << 32) 63 64 clih %r0, -1 65 clih %r0, (1 << 32) 66 67#CHECK: error: invalid operand 68#CHECK: fidbra %f0, 0, %f0, -1 69#CHECK: error: invalid operand 70#CHECK: fidbra %f0, 0, %f0, 16 71#CHECK: error: invalid operand 72#CHECK: fidbra %f0, -1, %f0, 0 73#CHECK: error: invalid operand 74#CHECK: fidbra %f0, 16, %f0, 0 75 76 fidbra %f0, 0, %f0, -1 77 fidbra %f0, 0, %f0, 16 78 fidbra %f0, -1, %f0, 0 79 fidbra %f0, 16, %f0, 0 80 81#CHECK: error: invalid operand 82#CHECK: fiebra %f0, 0, %f0, -1 83#CHECK: error: invalid operand 84#CHECK: fiebra %f0, 0, %f0, 16 85#CHECK: error: invalid operand 86#CHECK: fiebra %f0, -1, %f0, 0 87#CHECK: error: invalid operand 88#CHECK: fiebra %f0, 16, %f0, 0 89 90 fiebra %f0, 0, %f0, -1 91 fiebra %f0, 0, %f0, 16 92 fiebra %f0, -1, %f0, 0 93 fiebra %f0, 16, %f0, 0 94 95#CHECK: error: invalid operand 96#CHECK: fixbra %f0, 0, %f0, -1 97#CHECK: error: invalid operand 98#CHECK: fixbra %f0, 0, %f0, 16 99#CHECK: error: invalid operand 100#CHECK: fixbra %f0, -1, %f0, 0 101#CHECK: error: invalid operand 102#CHECK: fixbra %f0, 16, %f0, 0 103#CHECK: error: invalid register pair 104#CHECK: fixbra %f0, 0, %f2, 0 105#CHECK: error: invalid register pair 106#CHECK: fixbra %f2, 0, %f0, 0 107 108 fixbra %f0, 0, %f0, -1 109 fixbra %f0, 0, %f0, 16 110 fixbra %f0, -1, %f0, 0 111 fixbra %f0, 16, %f0, 0 112 fixbra %f0, 0, %f2, 0 113 fixbra %f2, 0, %f0, 0 114 115#CHECK: error: invalid operand 116#CHECK: lbh %r0, -524289 117#CHECK: error: invalid operand 118#CHECK: lbh %r0, 524288 119 120 lbh %r0, -524289 121 lbh %r0, 524288 122 123#CHECK: error: invalid operand 124#CHECK: lfh %r0, -524289 125#CHECK: error: invalid operand 126#CHECK: lfh %r0, 524288 127 128 lfh %r0, -524289 129 lfh %r0, 524288 130 131#CHECK: error: invalid operand 132#CHECK: lhh %r0, -524289 133#CHECK: error: invalid operand 134#CHECK: lhh %r0, 524288 135 136 lhh %r0, -524289 137 lhh %r0, 524288 138 139#CHECK: error: invalid operand 140#CHECK: llch %r0, -524289 141#CHECK: error: invalid operand 142#CHECK: llch %r0, 524288 143 144 llch %r0, -524289 145 llch %r0, 524288 146 147#CHECK: error: invalid operand 148#CHECK: llhh %r0, -524289 149#CHECK: error: invalid operand 150#CHECK: llhh %r0, 524288 151 152 llhh %r0, -524289 153 llhh %r0, 524288 154 155#CHECK: error: invalid operand 156#CHECK: loc %r0,0,-1 157#CHECK: error: invalid operand 158#CHECK: loc %r0,0,16 159#CHECK: error: invalid operand 160#CHECK: loc %r0,-524289,1 161#CHECK: error: invalid operand 162#CHECK: loc %r0,524288,1 163#CHECK: error: invalid use of indexed addressing 164#CHECK: loc %r0,0(%r1,%r2),1 165 166 loc %r0,0,-1 167 loc %r0,0,16 168 loc %r0,-524289,1 169 loc %r0,524288,1 170 loc %r0,0(%r1,%r2),1 171 172#CHECK: error: invalid operand 173#CHECK: locg %r0,0,-1 174#CHECK: error: invalid operand 175#CHECK: locg %r0,0,16 176#CHECK: error: invalid operand 177#CHECK: locg %r0,-524289,1 178#CHECK: error: invalid operand 179#CHECK: locg %r0,524288,1 180#CHECK: error: invalid use of indexed addressing 181#CHECK: locg %r0,0(%r1,%r2),1 182 183 locg %r0,0,-1 184 locg %r0,0,16 185 locg %r0,-524289,1 186 locg %r0,524288,1 187 locg %r0,0(%r1,%r2),1 188 189#CHECK: error: invalid operand 190#CHECK: locgr %r0,%r0,-1 191#CHECK: error: invalid operand 192#CHECK: locgr %r0,%r0,16 193 194 locgr %r0,%r0,-1 195 locgr %r0,%r0,16 196 197#CHECK: error: invalid operand 198#CHECK: locr %r0,%r0,-1 199#CHECK: error: invalid operand 200#CHECK: locr %r0,%r0,16 201 202 locr %r0,%r0,-1 203 locr %r0,%r0,16 204 205#CHECK: error: invalid operand 206#CHECK: risbhg %r0,%r0,0,0,-1 207#CHECK: error: invalid operand 208#CHECK: risbhg %r0,%r0,0,0,64 209#CHECK: error: invalid operand 210#CHECK: risbhg %r0,%r0,0,-1,0 211#CHECK: error: invalid operand 212#CHECK: risbhg %r0,%r0,0,256,0 213#CHECK: error: invalid operand 214#CHECK: risbhg %r0,%r0,-1,0,0 215#CHECK: error: invalid operand 216#CHECK: risbhg %r0,%r0,256,0,0 217 218 risbhg %r0,%r0,0,0,-1 219 risbhg %r0,%r0,0,0,64 220 risbhg %r0,%r0,0,-1,0 221 risbhg %r0,%r0,0,256,0 222 risbhg %r0,%r0,-1,0,0 223 risbhg %r0,%r0,256,0,0 224 225#CHECK: error: invalid operand 226#CHECK: risblg %r0,%r0,0,0,-1 227#CHECK: error: invalid operand 228#CHECK: risblg %r0,%r0,0,0,64 229#CHECK: error: invalid operand 230#CHECK: risblg %r0,%r0,0,-1,0 231#CHECK: error: invalid operand 232#CHECK: risblg %r0,%r0,0,256,0 233#CHECK: error: invalid operand 234#CHECK: risblg %r0,%r0,-1,0,0 235#CHECK: error: invalid operand 236#CHECK: risblg %r0,%r0,256,0,0 237 238 risblg %r0,%r0,0,0,-1 239 risblg %r0,%r0,0,0,64 240 risblg %r0,%r0,0,-1,0 241 risblg %r0,%r0,0,256,0 242 risblg %r0,%r0,-1,0,0 243 risblg %r0,%r0,256,0,0 244 245#CHECK: error: invalid operand 246#CHECK: sllk %r0,%r0,-524289 247#CHECK: error: invalid operand 248#CHECK: sllk %r0,%r0,524288 249#CHECK: error: %r0 used in an address 250#CHECK: sllk %r0,%r0,0(%r0) 251#CHECK: error: invalid use of indexed addressing 252#CHECK: sllk %r0,%r0,0(%r1,%r2) 253 254 sllk %r0,%r0,-524289 255 sllk %r0,%r0,524288 256 sllk %r0,%r0,0(%r0) 257 sllk %r0,%r0,0(%r1,%r2) 258 259#CHECK: error: invalid operand 260#CHECK: srak %r0,%r0,-524289 261#CHECK: error: invalid operand 262#CHECK: srak %r0,%r0,524288 263#CHECK: error: %r0 used in an address 264#CHECK: srak %r0,%r0,0(%r0) 265#CHECK: error: invalid use of indexed addressing 266#CHECK: srak %r0,%r0,0(%r1,%r2) 267 268 srak %r0,%r0,-524289 269 srak %r0,%r0,524288 270 srak %r0,%r0,0(%r0) 271 srak %r0,%r0,0(%r1,%r2) 272 273#CHECK: error: invalid operand 274#CHECK: srlk %r0,%r0,-524289 275#CHECK: error: invalid operand 276#CHECK: srlk %r0,%r0,524288 277#CHECK: error: %r0 used in an address 278#CHECK: srlk %r0,%r0,0(%r0) 279#CHECK: error: invalid use of indexed addressing 280#CHECK: srlk %r0,%r0,0(%r1,%r2) 281 282 srlk %r0,%r0,-524289 283 srlk %r0,%r0,524288 284 srlk %r0,%r0,0(%r0) 285 srlk %r0,%r0,0(%r1,%r2) 286 287#CHECK: error: invalid operand 288#CHECK: stch %r0, -524289 289#CHECK: error: invalid operand 290#CHECK: stch %r0, 524288 291 292 stch %r0, -524289 293 stch %r0, 524288 294 295#CHECK: error: invalid operand 296#CHECK: sthh %r0, -524289 297#CHECK: error: invalid operand 298#CHECK: sthh %r0, 524288 299 300 sthh %r0, -524289 301 sthh %r0, 524288 302 303#CHECK: error: invalid operand 304#CHECK: stfh %r0, -524289 305#CHECK: error: invalid operand 306#CHECK: stfh %r0, 524288 307 308 stfh %r0, -524289 309 stfh %r0, 524288 310 311#CHECK: error: invalid operand 312#CHECK: stoc %r0,0,-1 313#CHECK: error: invalid operand 314#CHECK: stoc %r0,0,16 315#CHECK: error: invalid operand 316#CHECK: stoc %r0,-524289,1 317#CHECK: error: invalid operand 318#CHECK: stoc %r0,524288,1 319#CHECK: error: invalid use of indexed addressing 320#CHECK: stoc %r0,0(%r1,%r2),1 321 322 stoc %r0,0,-1 323 stoc %r0,0,16 324 stoc %r0,-524289,1 325 stoc %r0,524288,1 326 stoc %r0,0(%r1,%r2),1 327 328#CHECK: error: invalid operand 329#CHECK: stocg %r0,0,-1 330#CHECK: error: invalid operand 331#CHECK: stocg %r0,0,16 332#CHECK: error: invalid operand 333#CHECK: stocg %r0,-524289,1 334#CHECK: error: invalid operand 335#CHECK: stocg %r0,524288,1 336#CHECK: error: invalid use of indexed addressing 337#CHECK: stocg %r0,0(%r1,%r2),1 338 339 stocg %r0,0,-1 340 stocg %r0,0,16 341 stocg %r0,-524289,1 342 stocg %r0,524288,1 343 stocg %r0,0(%r1,%r2),1 344