llvm-6502/test/MC/SystemZ/insn-bad-z196.s
Richard Sandiford d954716e75 [SystemZ] Add FI[EDX]BRA
These are extensions of the existing FI[EDX]BR instructions, but use a spare
bit to suppress inexact conditions.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188894 91177308-0d34-0410-b5e6-96231b3b80d8
2013-08-21 08:58:08 +00:00

240 lines
5.7 KiB
ArmAsm

# 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: 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: 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: 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