llvm-6502/test/MC/SystemZ/insn-bad-z196.s
Richard Sandiford cf20e45cc4 [SystemZ] Add LOC and LOCG
As with the stores, these instructions can trap when the condition is false,
so they are only used for things like (cond ? x : *ptr).


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187112 91177308-0d34-0410-b5e6-96231b3b80d8
2013-07-25 09:04:52 +00:00

136 lines
3.2 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: 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: 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