blob: 089d9b5b3e147412ca29e17f5f4c41009baeb07d [file] [log] [blame]
# For z196 only.
# RUN: not llvm-mc -triple s390x-linux-gnu -mcpu=z196 < %s 2> %t
# RUN: FileCheck < %t %s
#CHECK: error: invalid operand
#CHECK: aghik %r0, %r1, -32769
#CHECK: error: invalid operand
#CHECK: aghik %r0, %r1, 32768
#CHECK: error: invalid operand
#CHECK: aghik %r0, %r1, foo
aghik %r0, %r1, -32769
aghik %r0, %r1, 32768
aghik %r0, %r1, foo
#CHECK: error: invalid operand
#CHECK: ahik %r0, %r1, -32769
#CHECK: error: invalid operand
#CHECK: ahik %r0, %r1, 32768
#CHECK: error: invalid operand
#CHECK: ahik %r0, %r1, foo
ahik %r0, %r1, -32769
ahik %r0, %r1, 32768
ahik %r0, %r1, foo
#CHECK: error: invalid operand
#CHECK: aih %r0, (-1 << 31) - 1
#CHECK: error: invalid operand
#CHECK: aih %r0, (1 << 31)
aih %r0, (-1 << 31) - 1
aih %r0, (1 << 31)
#CHECK: error: invalid operand
#CHECK: chf %r0, -524289
#CHECK: error: invalid operand
#CHECK: chf %r0, 524288
chf %r0, -524289
chf %r0, 524288
#CHECK: error: invalid operand
#CHECK: cih %r0, (-1 << 31) - 1
#CHECK: error: invalid operand
#CHECK: cih %r0, (1 << 31)
cih %r0, (-1 << 31) - 1
cih %r0, (1 << 31)
#CHECK: error: invalid operand
#CHECK: clhf %r0, -524289
#CHECK: error: invalid operand
#CHECK: clhf %r0, 524288
clhf %r0, -524289
clhf %r0, 524288
#CHECK: error: invalid operand
#CHECK: clih %r0, -1
#CHECK: error: invalid operand
#CHECK: clih %r0, (1 << 32)
clih %r0, -1
clih %r0, (1 << 32)
#CHECK: error: invalid operand
#CHECK: fidbra %f0, 0, %f0, -1
#CHECK: error: invalid operand
#CHECK: fidbra %f0, 0, %f0, 16
#CHECK: error: invalid operand
#CHECK: fidbra %f0, -1, %f0, 0
#CHECK: error: invalid operand
#CHECK: fidbra %f0, 16, %f0, 0
fidbra %f0, 0, %f0, -1
fidbra %f0, 0, %f0, 16
fidbra %f0, -1, %f0, 0
fidbra %f0, 16, %f0, 0
#CHECK: error: invalid operand
#CHECK: fiebra %f0, 0, %f0, -1
#CHECK: error: invalid operand
#CHECK: fiebra %f0, 0, %f0, 16
#CHECK: error: invalid operand
#CHECK: fiebra %f0, -1, %f0, 0
#CHECK: error: invalid operand
#CHECK: fiebra %f0, 16, %f0, 0
fiebra %f0, 0, %f0, -1
fiebra %f0, 0, %f0, 16
fiebra %f0, -1, %f0, 0
fiebra %f0, 16, %f0, 0
#CHECK: error: invalid operand
#CHECK: fixbra %f0, 0, %f0, -1
#CHECK: error: invalid operand
#CHECK: fixbra %f0, 0, %f0, 16
#CHECK: error: invalid operand
#CHECK: fixbra %f0, -1, %f0, 0
#CHECK: error: invalid operand
#CHECK: fixbra %f0, 16, %f0, 0
#CHECK: error: invalid register pair
#CHECK: fixbra %f0, 0, %f2, 0
#CHECK: error: invalid register pair
#CHECK: fixbra %f2, 0, %f0, 0
fixbra %f0, 0, %f0, -1
fixbra %f0, 0, %f0, 16
fixbra %f0, -1, %f0, 0
fixbra %f0, 16, %f0, 0
fixbra %f0, 0, %f2, 0
fixbra %f2, 0, %f0, 0
#CHECK: error: invalid operand
#CHECK: lbh %r0, -524289
#CHECK: error: invalid operand
#CHECK: lbh %r0, 524288
lbh %r0, -524289
lbh %r0, 524288
#CHECK: error: invalid operand
#CHECK: lfh %r0, -524289
#CHECK: error: invalid operand
#CHECK: lfh %r0, 524288
lfh %r0, -524289
lfh %r0, 524288
#CHECK: error: invalid operand
#CHECK: lhh %r0, -524289
#CHECK: error: invalid operand
#CHECK: lhh %r0, 524288
lhh %r0, -524289
lhh %r0, 524288
#CHECK: error: invalid operand
#CHECK: llch %r0, -524289
#CHECK: error: invalid operand
#CHECK: llch %r0, 524288
llch %r0, -524289
llch %r0, 524288
#CHECK: error: invalid operand
#CHECK: llhh %r0, -524289
#CHECK: error: invalid operand
#CHECK: llhh %r0, 524288
llhh %r0, -524289
llhh %r0, 524288
#CHECK: error: invalid operand
#CHECK: loc %r0,0,-1
#CHECK: error: invalid operand
#CHECK: loc %r0,0,16
#CHECK: error: invalid operand
#CHECK: loc %r0,-524289,1
#CHECK: error: invalid operand
#CHECK: loc %r0,524288,1
#CHECK: error: invalid use of indexed addressing
#CHECK: loc %r0,0(%r1,%r2),1
loc %r0,0,-1
loc %r0,0,16
loc %r0,-524289,1
loc %r0,524288,1
loc %r0,0(%r1,%r2),1
#CHECK: error: invalid operand
#CHECK: locg %r0,0,-1
#CHECK: error: invalid operand
#CHECK: locg %r0,0,16
#CHECK: error: invalid operand
#CHECK: locg %r0,-524289,1
#CHECK: error: invalid operand
#CHECK: locg %r0,524288,1
#CHECK: error: invalid use of indexed addressing
#CHECK: locg %r0,0(%r1,%r2),1
locg %r0,0,-1
locg %r0,0,16
locg %r0,-524289,1
locg %r0,524288,1
locg %r0,0(%r1,%r2),1
#CHECK: error: invalid operand
#CHECK: locgr %r0,%r0,-1
#CHECK: error: invalid operand
#CHECK: locgr %r0,%r0,16
locgr %r0,%r0,-1
locgr %r0,%r0,16
#CHECK: error: invalid operand
#CHECK: locr %r0,%r0,-1
#CHECK: error: invalid operand
#CHECK: locr %r0,%r0,16
locr %r0,%r0,-1
locr %r0,%r0,16
#CHECK: error: invalid operand
#CHECK: risbhg %r0,%r0,0,0,-1
#CHECK: error: invalid operand
#CHECK: risbhg %r0,%r0,0,0,64
#CHECK: error: invalid operand
#CHECK: risbhg %r0,%r0,0,-1,0
#CHECK: error: invalid operand
#CHECK: risbhg %r0,%r0,0,256,0
#CHECK: error: invalid operand
#CHECK: risbhg %r0,%r0,-1,0,0
#CHECK: error: invalid operand
#CHECK: risbhg %r0,%r0,256,0,0
risbhg %r0,%r0,0,0,-1
risbhg %r0,%r0,0,0,64
risbhg %r0,%r0,0,-1,0
risbhg %r0,%r0,0,256,0
risbhg %r0,%r0,-1,0,0
risbhg %r0,%r0,256,0,0
#CHECK: error: invalid operand
#CHECK: risblg %r0,%r0,0,0,-1
#CHECK: error: invalid operand
#CHECK: risblg %r0,%r0,0,0,64
#CHECK: error: invalid operand
#CHECK: risblg %r0,%r0,0,-1,0
#CHECK: error: invalid operand
#CHECK: risblg %r0,%r0,0,256,0
#CHECK: error: invalid operand
#CHECK: risblg %r0,%r0,-1,0,0
#CHECK: error: invalid operand
#CHECK: risblg %r0,%r0,256,0,0
risblg %r0,%r0,0,0,-1
risblg %r0,%r0,0,0,64
risblg %r0,%r0,0,-1,0
risblg %r0,%r0,0,256,0
risblg %r0,%r0,-1,0,0
risblg %r0,%r0,256,0,0
#CHECK: error: invalid operand
#CHECK: sllk %r0,%r0,-524289
#CHECK: error: invalid operand
#CHECK: sllk %r0,%r0,524288
#CHECK: error: %r0 used in an address
#CHECK: sllk %r0,%r0,0(%r0)
#CHECK: error: invalid use of indexed addressing
#CHECK: sllk %r0,%r0,0(%r1,%r2)
sllk %r0,%r0,-524289
sllk %r0,%r0,524288
sllk %r0,%r0,0(%r0)
sllk %r0,%r0,0(%r1,%r2)
#CHECK: error: invalid operand
#CHECK: srak %r0,%r0,-524289
#CHECK: error: invalid operand
#CHECK: srak %r0,%r0,524288
#CHECK: error: %r0 used in an address
#CHECK: srak %r0,%r0,0(%r0)
#CHECK: error: invalid use of indexed addressing
#CHECK: srak %r0,%r0,0(%r1,%r2)
srak %r0,%r0,-524289
srak %r0,%r0,524288
srak %r0,%r0,0(%r0)
srak %r0,%r0,0(%r1,%r2)
#CHECK: error: invalid operand
#CHECK: srlk %r0,%r0,-524289
#CHECK: error: invalid operand
#CHECK: srlk %r0,%r0,524288
#CHECK: error: %r0 used in an address
#CHECK: srlk %r0,%r0,0(%r0)
#CHECK: error: invalid use of indexed addressing
#CHECK: srlk %r0,%r0,0(%r1,%r2)
srlk %r0,%r0,-524289
srlk %r0,%r0,524288
srlk %r0,%r0,0(%r0)
srlk %r0,%r0,0(%r1,%r2)
#CHECK: error: invalid operand
#CHECK: stch %r0, -524289
#CHECK: error: invalid operand
#CHECK: stch %r0, 524288
stch %r0, -524289
stch %r0, 524288
#CHECK: error: invalid operand
#CHECK: sthh %r0, -524289
#CHECK: error: invalid operand
#CHECK: sthh %r0, 524288
sthh %r0, -524289
sthh %r0, 524288
#CHECK: error: invalid operand
#CHECK: stfh %r0, -524289
#CHECK: error: invalid operand
#CHECK: stfh %r0, 524288
stfh %r0, -524289
stfh %r0, 524288
#CHECK: error: invalid operand
#CHECK: stoc %r0,0,-1
#CHECK: error: invalid operand
#CHECK: stoc %r0,0,16
#CHECK: error: invalid operand
#CHECK: stoc %r0,-524289,1
#CHECK: error: invalid operand
#CHECK: stoc %r0,524288,1
#CHECK: error: invalid use of indexed addressing
#CHECK: stoc %r0,0(%r1,%r2),1
stoc %r0,0,-1
stoc %r0,0,16
stoc %r0,-524289,1
stoc %r0,524288,1
stoc %r0,0(%r1,%r2),1
#CHECK: error: invalid operand
#CHECK: stocg %r0,0,-1
#CHECK: error: invalid operand
#CHECK: stocg %r0,0,16
#CHECK: error: invalid operand
#CHECK: stocg %r0,-524289,1
#CHECK: error: invalid operand
#CHECK: stocg %r0,524288,1
#CHECK: error: invalid use of indexed addressing
#CHECK: stocg %r0,0(%r1,%r2),1
stocg %r0,0,-1
stocg %r0,0,16
stocg %r0,-524289,1
stocg %r0,524288,1
stocg %r0,0(%r1,%r2),1