2013-07-19 16:09:03 +00:00
|
|
|
# For z196 only.
|
|
|
|
# RUN: not llvm-mc -triple s390x-linux-gnu -mcpu=z196 < %s 2> %t
|
|
|
|
# RUN: FileCheck < %t %s
|
2013-07-19 16:32:12 +00:00
|
|
|
|
|
|
|
#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
|
|
|
|
|
2013-10-01 14:53:46 +00:00
|
|
|
#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)
|
|
|
|
|
2013-10-01 15:00:44 +00:00
|
|
|
#CHECK: error: invalid operand
|
|
|
|
#CHECK: chf %r0, -524289
|
|
|
|
#CHECK: error: invalid operand
|
|
|
|
#CHECK: chf %r0, 524288
|
|
|
|
|
|
|
|
chf %r0, -524289
|
|
|
|
chf %r0, 524288
|
|
|
|
|
2013-10-01 14:56:23 +00:00
|
|
|
#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)
|
|
|
|
|
2013-10-01 15:00:44 +00:00
|
|
|
#CHECK: error: invalid operand
|
|
|
|
#CHECK: clhf %r0, -524289
|
|
|
|
#CHECK: error: invalid operand
|
|
|
|
#CHECK: clhf %r0, 524288
|
|
|
|
|
|
|
|
clhf %r0, -524289
|
|
|
|
clhf %r0, 524288
|
|
|
|
|
2013-10-01 14:56:23 +00:00
|
|
|
#CHECK: error: invalid operand
|
|
|
|
#CHECK: clih %r0, -1
|
|
|
|
#CHECK: error: invalid operand
|
|
|
|
#CHECK: clih %r0, (1 << 32)
|
|
|
|
|
|
|
|
clih %r0, -1
|
|
|
|
clih %r0, (1 << 32)
|
|
|
|
|
2013-08-21 08:58:08 +00:00
|
|
|
#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
|
|
|
|
|
2013-10-01 12:11:47 +00:00
|
|
|
#CHECK: error: invalid operand
|
|
|
|
#CHECK: lbh %r0, -524289
|
|
|
|
#CHECK: error: invalid operand
|
|
|
|
#CHECK: lbh %r0, 524288
|
|
|
|
|
|
|
|
lbh %r0, -524289
|
|
|
|
lbh %r0, 524288
|
|
|
|
|
2013-10-01 10:31:04 +00:00
|
|
|
#CHECK: error: invalid operand
|
|
|
|
#CHECK: lfh %r0, -524289
|
|
|
|
#CHECK: error: invalid operand
|
|
|
|
#CHECK: lfh %r0, 524288
|
|
|
|
|
|
|
|
lfh %r0, -524289
|
|
|
|
lfh %r0, 524288
|
|
|
|
|
2013-07-25 09:04:52 +00:00
|
|
|
#CHECK: error: invalid operand
|
2013-10-01 12:11:47 +00:00
|
|
|
#CHECK: lhh %r0, -524289
|
|
|
|
#CHECK: error: invalid operand
|
|
|
|
#CHECK: lhh %r0, 524288
|
|
|
|
|
|
|
|
lhh %r0, -524289
|
|
|
|
lhh %r0, 524288
|
|
|
|
|
|
|
|
#CHECK: error: invalid operand
|
2013-10-01 12:19:08 +00:00
|
|
|
#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
|
2013-07-25 09:04:52 +00:00
|
|
|
#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
|
|
|
|
|
2013-07-25 09:11:15 +00:00
|
|
|
#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
|
|
|
|
|
2013-07-31 11:17:35 +00:00
|
|
|
#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
|
|
|
|
|
2013-07-19 16:09:03 +00:00
|
|
|
#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)
|
2013-07-25 08:57:02 +00:00
|
|
|
|
2013-10-01 12:22:49 +00:00
|
|
|
#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
|
|
|
|
|
2013-10-01 10:31:04 +00:00
|
|
|
#CHECK: error: invalid operand
|
|
|
|
#CHECK: stfh %r0, -524289
|
|
|
|
#CHECK: error: invalid operand
|
|
|
|
#CHECK: stfh %r0, 524288
|
|
|
|
|
|
|
|
stfh %r0, -524289
|
|
|
|
stfh %r0, 524288
|
|
|
|
|
2013-07-25 08:57:02 +00:00
|
|
|
#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
|