llvm/test/MC/SystemZ/insn-bad.s
Richard Sandiford 2d664abbfc [SystemZ] Immediate compare-and-branch support
This patch adds support for the CIJ and CGIJ instructions.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@182846 91177308-0d34-0410-b5e6-96231b3b80d8
2013-05-29 11:58:52 +00:00

2576 lines
50 KiB
ArmAsm

# RUN: not llvm-mc -triple s390x-linux-gnu < %s 2> %t
# RUN: FileCheck < %t %s
#CHECK: error: invalid operand
#CHECK: a %r0, -1
#CHECK: error: invalid operand
#CHECK: a %r0, 4096
a %r0, -1
a %r0, 4096
#CHECK: error: invalid operand
#CHECK: adb %f0, -1
#CHECK: error: invalid operand
#CHECK: adb %f0, 4096
adb %f0, -1
adb %f0, 4096
#CHECK: error: invalid operand
#CHECK: aeb %f0, -1
#CHECK: error: invalid operand
#CHECK: aeb %f0, 4096
aeb %f0, -1
aeb %f0, 4096
#CHECK: error: invalid operand
#CHECK: afi %r0, (-1 << 31) - 1
#CHECK: error: invalid operand
#CHECK: afi %r0, (1 << 31)
afi %r0, (-1 << 31) - 1
afi %r0, (1 << 31)
#CHECK: error: invalid operand
#CHECK: ag %r0, -524289
#CHECK: error: invalid operand
#CHECK: ag %r0, 524288
ag %r0, -524289
ag %r0, 524288
#CHECK: error: invalid operand
#CHECK: agf %r0, -524289
#CHECK: error: invalid operand
#CHECK: agf %r0, 524288
agf %r0, -524289
agf %r0, 524288
#CHECK: error: invalid operand
#CHECK: agfi %r0, (-1 << 31) - 1
#CHECK: error: invalid operand
#CHECK: agfi %r0, (1 << 31)
agfi %r0, (-1 << 31) - 1
agfi %r0, (1 << 31)
#CHECK: error: invalid operand
#CHECK: aghi %r0, -32769
#CHECK: error: invalid operand
#CHECK: aghi %r0, 32768
#CHECK: error: invalid operand
#CHECK: aghi %r0, foo
aghi %r0, -32769
aghi %r0, 32768
aghi %r0, foo
#CHECK: error: invalid operand
#CHECK: agsi -524289, 0
#CHECK: error: invalid operand
#CHECK: agsi 524288, 0
#CHECK: error: invalid use of indexed addressing
#CHECK: agsi 0(%r1,%r2), 0
#CHECK: error: invalid operand
#CHECK: agsi 0, -129
#CHECK: error: invalid operand
#CHECK: agsi 0, 128
agsi -524289, 0
agsi 524288, 0
agsi 0(%r1,%r2), 0
agsi 0, -129
agsi 0, 128
#CHECK: error: invalid operand
#CHECK: ah %r0, -1
#CHECK: error: invalid operand
#CHECK: ah %r0, 4096
ah %r0, -1
ah %r0, 4096
#CHECK: error: invalid operand
#CHECK: ahi %r0, -32769
#CHECK: error: invalid operand
#CHECK: ahi %r0, 32768
#CHECK: error: invalid operand
#CHECK: ahi %r0, foo
ahi %r0, -32769
ahi %r0, 32768
ahi %r0, foo
#CHECK: error: invalid operand
#CHECK: ahy %r0, -524289
#CHECK: error: invalid operand
#CHECK: ahy %r0, 524288
ahy %r0, -524289
ahy %r0, 524288
#CHECK: error: invalid operand
#CHECK: al %r0, -1
#CHECK: error: invalid operand
#CHECK: al %r0, 4096
al %r0, -1
al %r0, 4096
#CHECK: error: invalid operand
#CHECK: alc %r0, -524289
#CHECK: error: invalid operand
#CHECK: alc %r0, 524288
alc %r0, -524289
alc %r0, 524288
#CHECK: error: invalid operand
#CHECK: alcg %r0, -524289
#CHECK: error: invalid operand
#CHECK: alcg %r0, 524288
alcg %r0, -524289
alcg %r0, 524288
#CHECK: error: invalid operand
#CHECK: alfi %r0, -1
#CHECK: error: invalid operand
#CHECK: alfi %r0, (1 << 32)
alfi %r0, -1
alfi %r0, (1 << 32)
#CHECK: error: invalid operand
#CHECK: alg %r0, -524289
#CHECK: error: invalid operand
#CHECK: alg %r0, 524288
alg %r0, -524289
alg %r0, 524288
#CHECK: error: invalid operand
#CHECK: algf %r0, -524289
#CHECK: error: invalid operand
#CHECK: algf %r0, 524288
algf %r0, -524289
algf %r0, 524288
#CHECK: error: invalid operand
#CHECK: algfi %r0, -1
#CHECK: error: invalid operand
#CHECK: algfi %r0, (1 << 32)
algfi %r0, -1
algfi %r0, (1 << 32)
#CHECK: error: invalid operand
#CHECK: aly %r0, -524289
#CHECK: error: invalid operand
#CHECK: aly %r0, 524288
aly %r0, -524289
aly %r0, 524288
#CHECK: error: invalid operand
#CHECK: asi -524289, 0
#CHECK: error: invalid operand
#CHECK: asi 524288, 0
#CHECK: error: invalid use of indexed addressing
#CHECK: asi 0(%r1,%r2), 0
#CHECK: error: invalid operand
#CHECK: asi 0, -129
#CHECK: error: invalid operand
#CHECK: asi 0, 128
asi -524289, 0
asi 524288, 0
asi 0(%r1,%r2), 0
asi 0, -129
asi 0, 128
#CHECK: error: invalid register pair
#CHECK: axbr %f0, %f2
#CHECK: error: invalid register pair
#CHECK: axbr %f2, %f0
axbr %f0, %f2
axbr %f2, %f0
#CHECK: error: invalid operand
#CHECK: ay %r0, -524289
#CHECK: error: invalid operand
#CHECK: ay %r0, 524288
ay %r0, -524289
ay %r0, 524288
#CHECK: error: offset out of range
#CHECK: bras %r0, -0x100002
#CHECK: error: offset out of range
#CHECK: bras %r0, -1
#CHECK: error: offset out of range
#CHECK: bras %r0, 1
#CHECK: error: offset out of range
#CHECK: bras %r0, 0x10000
bras %r0, -0x100002
bras %r0, -1
bras %r0, 1
bras %r0, 0x10000
#CHECK: error: offset out of range
#CHECK: brasl %r0, -0x1000000002
#CHECK: error: offset out of range
#CHECK: brasl %r0, -1
#CHECK: error: offset out of range
#CHECK: brasl %r0, 1
#CHECK: error: offset out of range
#CHECK: brasl %r0, 0x100000000
brasl %r0, -0x1000000002
brasl %r0, -1
brasl %r0, 1
brasl %r0, 0x100000000
#CHECK: error: offset out of range
#CHECK: brc 0, -0x100002
#CHECK: error: offset out of range
#CHECK: brc 0, -1
#CHECK: error: offset out of range
#CHECK: brc 0, 1
#CHECK: error: offset out of range
#CHECK: brc 0, 0x10000
brc 0, -0x100002
brc 0, -1
brc 0, 1
brc 0, 0x10000
#CHECK: error: invalid operand
#CHECK: brc foo, bar
#CHECK: error: invalid operand
#CHECK: brc -1, bar
#CHECK: error: invalid operand
#CHECK: brc 16, bar
brc foo, bar
brc -1, bar
brc 16, bar
#CHECK: error: offset out of range
#CHECK: brcl 0, -0x1000000002
#CHECK: error: offset out of range
#CHECK: brcl 0, -1
#CHECK: error: offset out of range
#CHECK: brcl 0, 1
#CHECK: error: offset out of range
#CHECK: brcl 0, 0x100000000
brcl 0, -0x1000000002
brcl 0, -1
brcl 0, 1
brcl 0, 0x100000000
#CHECK: error: invalid operand
#CHECK: brcl foo, bar
#CHECK: error: invalid operand
#CHECK: brcl -1, bar
#CHECK: error: invalid operand
#CHECK: brcl 16, bar
brcl foo, bar
brcl -1, bar
brcl 16, bar
#CHECK: error: invalid operand
#CHECK: c %r0, -1
#CHECK: error: invalid operand
#CHECK: c %r0, 4096
c %r0, -1
c %r0, 4096
#CHECK: error: invalid operand
#CHECK: cdb %f0, -1
#CHECK: error: invalid operand
#CHECK: cdb %f0, 4096
cdb %f0, -1
cdb %f0, 4096
#CHECK: error: invalid operand
#CHECK: ceb %f0, -1
#CHECK: error: invalid operand
#CHECK: ceb %f0, 4096
ceb %f0, -1
ceb %f0, 4096
#CHECK: error: invalid operand
#CHECK: cfdbr %r0, -1, %f0
#CHECK: error: invalid operand
#CHECK: cfdbr %r0, 16, %f0
cfdbr %r0, -1, %f0
cfdbr %r0, 16, %f0
#CHECK: error: invalid operand
#CHECK: cfebr %r0, -1, %f0
#CHECK: error: invalid operand
#CHECK: cfebr %r0, 16, %f0
cfebr %r0, -1, %f0
cfebr %r0, 16, %f0
#CHECK: error: invalid operand
#CHECK: cfi %r0, (-1 << 31) - 1
#CHECK: error: invalid operand
#CHECK: cfi %r0, (1 << 31)
cfi %r0, (-1 << 31) - 1
cfi %r0, (1 << 31)
#CHECK: error: invalid operand
#CHECK: cfxbr %r0, -1, %f0
#CHECK: error: invalid operand
#CHECK: cfxbr %r0, 16, %f0
#CHECK: error: invalid register pair
#CHECK: cfxbr %r0, 0, %f2
cfxbr %r0, -1, %f0
cfxbr %r0, 16, %f0
cfxbr %r0, 0, %f2
#CHECK: error: invalid operand
#CHECK: cg %r0, -524289
#CHECK: error: invalid operand
#CHECK: cg %r0, 524288
cg %r0, -524289
cg %r0, 524288
#CHECK: error: invalid operand
#CHECK: cgdbr %r0, -1, %f0
#CHECK: error: invalid operand
#CHECK: cgdbr %r0, 16, %f0
cgdbr %r0, -1, %f0
cgdbr %r0, 16, %f0
#CHECK: error: invalid operand
#CHECK: cgebr %r0, -1, %f0
#CHECK: error: invalid operand
#CHECK: cgebr %r0, 16, %f0
cgebr %r0, -1, %f0
cgebr %r0, 16, %f0
#CHECK: error: invalid operand
#CHECK: cgf %r0, -524289
#CHECK: error: invalid operand
#CHECK: cgf %r0, 524288
cgf %r0, -524289
cgf %r0, 524288
#CHECK: error: invalid operand
#CHECK: cgfi %r0, (-1 << 31) - 1
#CHECK: error: invalid operand
#CHECK: cgfi %r0, (1 << 31)
cgfi %r0, (-1 << 31) - 1
cgfi %r0, (1 << 31)
#CHECK: error: offset out of range
#CHECK: cgfrl %r0, -0x1000000002
#CHECK: error: offset out of range
#CHECK: cgfrl %r0, -1
#CHECK: error: offset out of range
#CHECK: cgfrl %r0, 1
#CHECK: error: offset out of range
#CHECK: cgfrl %r0, 0x100000000
cgfrl %r0, -0x1000000002
cgfrl %r0, -1
cgfrl %r0, 1
cgfrl %r0, 0x100000000
#CHECK: error: invalid operand
#CHECK: cgh %r0, -524289
#CHECK: error: invalid operand
#CHECK: cgh %r0, 524288
cgh %r0, -524289
cgh %r0, 524288
#CHECK: error: invalid operand
#CHECK: cghi %r0, -32769
#CHECK: error: invalid operand
#CHECK: cghi %r0, 32768
#CHECK: error: invalid operand
#CHECK: cghi %r0, foo
cghi %r0, -32769
cghi %r0, 32768
cghi %r0, foo
#CHECK: error: offset out of range
#CHECK: cghrl %r0, -0x1000000002
#CHECK: error: offset out of range
#CHECK: cghrl %r0, -1
#CHECK: error: offset out of range
#CHECK: cghrl %r0, 1
#CHECK: error: offset out of range
#CHECK: cghrl %r0, 0x100000000
cghrl %r0, -0x1000000002
cghrl %r0, -1
cghrl %r0, 1
cghrl %r0, 0x100000000
#CHECK: error: invalid operand
#CHECK: cghsi -1, 0
#CHECK: error: invalid operand
#CHECK: cghsi 4096, 0
#CHECK: error: invalid use of indexed addressing
#CHECK: cghsi 0(%r1,%r2), 0
#CHECK: error: invalid operand
#CHECK: cghsi 0, -32769
#CHECK: error: invalid operand
#CHECK: cghsi 0, 32768
cghsi -1, 0
cghsi 4096, 0
cghsi 0(%r1,%r2), 0
cghsi 0, -32769
cghsi 0, 32768
#CHECK: error: invalid operand
#CHECK: cgij %r0, -129, 0, 0
#CHECK: error: invalid operand
#CHECK: cgij %r0, 128, 0, 0
cgij %r0, -129, 0, 0
cgij %r0, 128, 0, 0
#CHECK: error: offset out of range
#CHECK: cgij %r0, 0, 0, -0x100002
#CHECK: error: offset out of range
#CHECK: cgij %r0, 0, 0, -1
#CHECK: error: offset out of range
#CHECK: cgij %r0, 0, 0, 1
#CHECK: error: offset out of range
#CHECK: cgij %r0, 0, 0, 0x10000
cgij %r0, 0, 0, -0x100002
cgij %r0, 0, 0, -1
cgij %r0, 0, 0, 1
cgij %r0, 0, 0, 0x10000
#CHECK: error: invalid instruction
#CHECK: cgijo %r0, 0, 0, 0
#CHECK: error: invalid instruction
#CHECK: cgijno %r0, 0, 0, 0
cgijo %r0, 0, 0, 0
cgijno %r0, 0, 0, 0
#CHECK: error: offset out of range
#CHECK: cgrj %r0, %r0, 0, -0x100002
#CHECK: error: offset out of range
#CHECK: cgrj %r0, %r0, 0, -1
#CHECK: error: offset out of range
#CHECK: cgrj %r0, %r0, 0, 1
#CHECK: error: offset out of range
#CHECK: cgrj %r0, %r0, 0, 0x10000
cgrj %r0, %r0, 0, -0x100002
cgrj %r0, %r0, 0, -1
cgrj %r0, %r0, 0, 1
cgrj %r0, %r0, 0, 0x10000
#CHECK: error: invalid instruction
#CHECK: cgrjo %r0, %r0, 0, 0
#CHECK: error: invalid instruction
#CHECK: cgrjno %r0, %r0, 0, 0
cgrjo %r0, %r0, 0, 0
cgrjno %r0, %r0, 0, 0
#CHECK: error: offset out of range
#CHECK: cgrl %r0, -0x1000000002
#CHECK: error: offset out of range
#CHECK: cgrl %r0, -1
#CHECK: error: offset out of range
#CHECK: cgrl %r0, 1
#CHECK: error: offset out of range
#CHECK: cgrl %r0, 0x100000000
cgrl %r0, -0x1000000002
cgrl %r0, -1
cgrl %r0, 1
cgrl %r0, 0x100000000
#CHECK: error: invalid operand
#CHECK: cgxbr %r0, -1, %f0
#CHECK: error: invalid operand
#CHECK: cgxbr %r0, 16, %f0
#CHECK: error: invalid register pair
#CHECK: cgxbr %r0, 0, %f2
cgxbr %r0, -1, %f0
cgxbr %r0, 16, %f0
cgxbr %r0, 0, %f2
#CHECK: error: invalid operand
#CHECK: ch %r0, -1
#CHECK: error: invalid operand
#CHECK: ch %r0, 4096
ch %r0, -1
ch %r0, 4096
#CHECK: error: invalid operand
#CHECK: chhsi -1, 0
#CHECK: error: invalid operand
#CHECK: chhsi 4096, 0
#CHECK: error: invalid use of indexed addressing
#CHECK: chhsi 0(%r1,%r2), 0
#CHECK: error: invalid operand
#CHECK: chhsi 0, -32769
#CHECK: error: invalid operand
#CHECK: chhsi 0, 32768
chhsi -1, 0
chhsi 4096, 0
chhsi 0(%r1,%r2), 0
chhsi 0, -32769
chhsi 0, 32768
#CHECK: error: invalid operand
#CHECK: chi %r0, -32769
#CHECK: error: invalid operand
#CHECK: chi %r0, 32768
#CHECK: error: invalid operand
#CHECK: chi %r0, foo
chi %r0, -32769
chi %r0, 32768
chi %r0, foo
#CHECK: error: offset out of range
#CHECK: chrl %r0, -0x1000000002
#CHECK: error: offset out of range
#CHECK: chrl %r0, -1
#CHECK: error: offset out of range
#CHECK: chrl %r0, 1
#CHECK: error: offset out of range
#CHECK: chrl %r0, 0x100000000
chrl %r0, -0x1000000002
chrl %r0, -1
chrl %r0, 1
chrl %r0, 0x100000000
#CHECK: error: invalid operand
#CHECK: chsi -1, 0
#CHECK: error: invalid operand
#CHECK: chsi 4096, 0
#CHECK: error: invalid use of indexed addressing
#CHECK: chsi 0(%r1,%r2), 0
#CHECK: error: invalid operand
#CHECK: chsi 0, -32769
#CHECK: error: invalid operand
#CHECK: chsi 0, 32768
chsi -1, 0
chsi 4096, 0
chsi 0(%r1,%r2), 0
chsi 0, -32769
chsi 0, 32768
#CHECK: error: invalid operand
#CHECK: chy %r0, -524289
#CHECK: error: invalid operand
#CHECK: chy %r0, 524288
chy %r0, -524289
chy %r0, 524288
#CHECK: error: invalid operand
#CHECK: cij %r0, -129, 0, 0
#CHECK: error: invalid operand
#CHECK: cij %r0, 128, 0, 0
cij %r0, -129, 0, 0
cij %r0, 128, 0, 0
#CHECK: error: offset out of range
#CHECK: cij %r0, 0, 0, -0x100002
#CHECK: error: offset out of range
#CHECK: cij %r0, 0, 0, -1
#CHECK: error: offset out of range
#CHECK: cij %r0, 0, 0, 1
#CHECK: error: offset out of range
#CHECK: cij %r0, 0, 0, 0x10000
cij %r0, 0, 0, -0x100002
cij %r0, 0, 0, -1
cij %r0, 0, 0, 1
cij %r0, 0, 0, 0x10000
#CHECK: error: invalid instruction
#CHECK: cijo %r0, 0, 0, 0
#CHECK: error: invalid instruction
#CHECK: cijno %r0, 0, 0, 0
cijo %r0, 0, 0, 0
cijno %r0, 0, 0, 0
#CHECK: error: invalid operand
#CHECK: cl %r0, -1
#CHECK: error: invalid operand
#CHECK: cl %r0, 4096
cl %r0, -1
cl %r0, 4096
#CHECK: error: invalid operand
#CHECK: clfhsi -1, 0
#CHECK: error: invalid operand
#CHECK: clfhsi 4096, 0
#CHECK: error: invalid use of indexed addressing
#CHECK: clfhsi 0(%r1,%r2), 0
#CHECK: error: invalid operand
#CHECK: clfhsi 0, -1
#CHECK: error: invalid operand
#CHECK: clfhsi 0, 65536
clfhsi -1, 0
clfhsi 4096, 0
clfhsi 0(%r1,%r2), 0
clfhsi 0, -1
clfhsi 0, 65536
#CHECK: error: invalid operand
#CHECK: clfi %r0, -1
#CHECK: error: invalid operand
#CHECK: clfi %r0, (1 << 32)
clfi %r0, -1
clfi %r0, (1 << 32)
#CHECK: error: invalid operand
#CHECK: clg %r0, -524289
#CHECK: error: invalid operand
#CHECK: clg %r0, 524288
clg %r0, -524289
clg %r0, 524288
#CHECK: error: invalid operand
#CHECK: clgf %r0, -524289
#CHECK: error: invalid operand
#CHECK: clgf %r0, 524288
clgf %r0, -524289
clgf %r0, 524288
#CHECK: error: invalid operand
#CHECK: clgfi %r0, -1
#CHECK: error: invalid operand
#CHECK: clgfi %r0, (1 << 32)
clgfi %r0, -1
clgfi %r0, (1 << 32)
#CHECK: error: offset out of range
#CHECK: clgfrl %r0, -0x1000000002
#CHECK: error: offset out of range
#CHECK: clgfrl %r0, -1
#CHECK: error: offset out of range
#CHECK: clgfrl %r0, 1
#CHECK: error: offset out of range
#CHECK: clgfrl %r0, 0x100000000
clgfrl %r0, -0x1000000002
clgfrl %r0, -1
clgfrl %r0, 1
clgfrl %r0, 0x100000000
#CHECK: error: offset out of range
#CHECK: clghrl %r0, -0x1000000002
#CHECK: error: offset out of range
#CHECK: clghrl %r0, -1
#CHECK: error: offset out of range
#CHECK: clghrl %r0, 1
#CHECK: error: offset out of range
#CHECK: clghrl %r0, 0x100000000
clghrl %r0, -0x1000000002
clghrl %r0, -1
clghrl %r0, 1
clghrl %r0, 0x100000000
#CHECK: error: invalid operand
#CHECK: clghsi -1, 0
#CHECK: error: invalid operand
#CHECK: clghsi 4096, 0
#CHECK: error: invalid use of indexed addressing
#CHECK: clghsi 0(%r1,%r2), 0
#CHECK: error: invalid operand
#CHECK: clghsi 0, -1
#CHECK: error: invalid operand
#CHECK: clghsi 0, 65536
clghsi -1, 0
clghsi 4096, 0
clghsi 0(%r1,%r2), 0
clghsi 0, -1
clghsi 0, 65536
#CHECK: error: offset out of range
#CHECK: clgrl %r0, -0x1000000002
#CHECK: error: offset out of range
#CHECK: clgrl %r0, -1
#CHECK: error: offset out of range
#CHECK: clgrl %r0, 1
#CHECK: error: offset out of range
#CHECK: clgrl %r0, 0x100000000
clgrl %r0, -0x1000000002
clgrl %r0, -1
clgrl %r0, 1
clgrl %r0, 0x100000000
#CHECK: error: invalid operand
#CHECK: clhhsi -1, 0
#CHECK: error: invalid operand
#CHECK: clhhsi 4096, 0
#CHECK: error: invalid use of indexed addressing
#CHECK: clhhsi 0(%r1,%r2), 0
#CHECK: error: invalid operand
#CHECK: clhhsi 0, -1
#CHECK: error: invalid operand
#CHECK: clhhsi 0, 65536
clhhsi -1, 0
clhhsi 4096, 0
clhhsi 0(%r1,%r2), 0
clhhsi 0, -1
clhhsi 0, 65536
#CHECK: error: offset out of range
#CHECK: clhrl %r0, -0x1000000002
#CHECK: error: offset out of range
#CHECK: clhrl %r0, -1
#CHECK: error: offset out of range
#CHECK: clhrl %r0, 1
#CHECK: error: offset out of range
#CHECK: clhrl %r0, 0x100000000
clhrl %r0, -0x1000000002
clhrl %r0, -1
clhrl %r0, 1
clhrl %r0, 0x100000000
#CHECK: error: invalid operand
#CHECK: cli -1, 0
#CHECK: error: invalid operand
#CHECK: cli 4096, 0
#CHECK: error: invalid use of indexed addressing
#CHECK: cli 0(%r1,%r2), 0
#CHECK: error: invalid operand
#CHECK: cli 0, -1
#CHECK: error: invalid operand
#CHECK: cli 0, 256
cli -1, 0
cli 4096, 0
cli 0(%r1,%r2), 0
cli 0, -1
cli 0, 256
#CHECK: error: invalid operand
#CHECK: cliy -524289, 0
#CHECK: error: invalid operand
#CHECK: cliy 524288, 0
#CHECK: error: invalid use of indexed addressing
#CHECK: cliy 0(%r1,%r2), 0
#CHECK: error: invalid operand
#CHECK: cliy 0, -1
#CHECK: error: invalid operand
#CHECK: cliy 0, 256
cliy -524289, 0
cliy 524288, 0
cliy 0(%r1,%r2), 0
cliy 0, -1
cliy 0, 256
#CHECK: error: offset out of range
#CHECK: clrl %r0, -0x1000000002
#CHECK: error: offset out of range
#CHECK: clrl %r0, -1
#CHECK: error: offset out of range
#CHECK: clrl %r0, 1
#CHECK: error: offset out of range
#CHECK: clrl %r0, 0x100000000
clrl %r0, -0x1000000002
clrl %r0, -1
clrl %r0, 1
clrl %r0, 0x100000000
#CHECK: error: invalid operand
#CHECK: cly %r0, -524289
#CHECK: error: invalid operand
#CHECK: cly %r0, 524288
cly %r0, -524289
cly %r0, 524288
#CHECK: error: offset out of range
#CHECK: crj %r0, %r0, 0, -0x100002
#CHECK: error: offset out of range
#CHECK: crj %r0, %r0, 0, -1
#CHECK: error: offset out of range
#CHECK: crj %r0, %r0, 0, 1
#CHECK: error: offset out of range
#CHECK: crj %r0, %r0, 0, 0x10000
crj %r0, %r0, 0, -0x100002
crj %r0, %r0, 0, -1
crj %r0, %r0, 0, 1
crj %r0, %r0, 0, 0x10000
#CHECK: error: invalid instruction
#CHECK: crjo %r0, %r0, 0, 0
#CHECK: error: invalid instruction
#CHECK: crjno %r0, %r0, 0, 0
crjo %r0, %r0, 0, 0
crjno %r0, %r0, 0, 0
#CHECK: error: offset out of range
#CHECK: crl %r0, -0x1000000002
#CHECK: error: offset out of range
#CHECK: crl %r0, -1
#CHECK: error: offset out of range
#CHECK: crl %r0, 1
#CHECK: error: offset out of range
#CHECK: crl %r0, 0x100000000
crl %r0, -0x1000000002
crl %r0, -1
crl %r0, 1
crl %r0, 0x100000000
#CHECK: error: invalid operand
#CHECK: cs %r0, %r0, -1
#CHECK: error: invalid operand
#CHECK: cs %r0, %r0, 4096
#CHECK: error: invalid use of indexed addressing
#CHECK: cs %r0, %r0, 0(%r1,%r2)
cs %r0, %r0, -1
cs %r0, %r0, 4096
cs %r0, %r0, 0(%r1,%r2)
#CHECK: error: invalid operand
#CHECK: csg %r0, %r0, -524289
#CHECK: error: invalid operand
#CHECK: csg %r0, %r0, 524288
#CHECK: error: invalid use of indexed addressing
#CHECK: csg %r0, %r0, 0(%r1,%r2)
csg %r0, %r0, -524289
csg %r0, %r0, 524288
csg %r0, %r0, 0(%r1,%r2)
#CHECK: error: invalid operand
#CHECK: csy %r0, %r0, -524289
#CHECK: error: invalid operand
#CHECK: csy %r0, %r0, 524288
#CHECK: error: invalid use of indexed addressing
#CHECK: csy %r0, %r0, 0(%r1,%r2)
csy %r0, %r0, -524289
csy %r0, %r0, 524288
csy %r0, %r0, 0(%r1,%r2)
#CHECK: error: invalid register pair
#CHECK: cxbr %f0, %f2
#CHECK: error: invalid register pair
#CHECK: cxbr %f2, %f0
cxbr %f0, %f2
cxbr %f2, %f0
#CHECK: error: invalid register pair
#CHECK: cxfbr %f2, %r0
cxfbr %f2, %r0
#CHECK: error: invalid register pair
#CHECK: cxgbr %f2, %r0
cxgbr %f2, %r0
#CHECK: error: invalid operand
#CHECK: cy %r0, -524289
#CHECK: error: invalid operand
#CHECK: cy %r0, 524288
cy %r0, -524289
cy %r0, 524288
#CHECK: error: invalid operand
#CHECK: ddb %f0, -1
#CHECK: error: invalid operand
#CHECK: ddb %f0, 4096
ddb %f0, -1
ddb %f0, 4096
#CHECK: error: invalid operand
#CHECK: deb %f0, -1
#CHECK: error: invalid operand
#CHECK: deb %f0, 4096
deb %f0, -1
deb %f0, 4096
#CHECK: error: invalid operand
#CHECK: dl %r0, -524289
#CHECK: error: invalid operand
#CHECK: dl %r0, 524288
#CHECK: error: invalid register pair
#CHECK: dl %r1, 0
dl %r0, -524289
dl %r0, 524288
dl %r1, 0
#CHECK: error: invalid operand
#CHECK: dlg %r0, -524289
#CHECK: error: invalid operand
#CHECK: dlg %r0, 524288
#CHECK: error: invalid register pair
#CHECK: dlg %r1, 0
dlg %r0, -524289
dlg %r0, 524288
dlg %r1, 0
#CHECK: error: invalid register pair
#CHECK: dlgr %r1, %r0
dlgr %r1, %r0
#CHECK: error: invalid register pair
#CHECK: dlr %r1, %r0
dlr %r1, %r0
#CHECK: error: invalid operand
#CHECK: dsg %r0, -524289
#CHECK: error: invalid operand
#CHECK: dsg %r0, 524288
#CHECK: error: invalid register pair
#CHECK: dsg %r1, 0
dsg %r0, -524289
dsg %r0, 524288
dsg %r1, 0
#CHECK: error: invalid operand
#CHECK: dsgf %r0, -524289
#CHECK: error: invalid operand
#CHECK: dsgf %r0, 524288
#CHECK: error: invalid register pair
#CHECK: dsgf %r1, 0
dsgf %r0, -524289
dsgf %r0, 524288
dsgf %r1, 0
#CHECK: error: invalid register pair
#CHECK: dsgfr %r1, %r0
dsgfr %r1, %r0
#CHECK: error: invalid register pair
#CHECK: dsgr %r1, %r0
dsgr %r1, %r0
#CHECK: error: invalid register pair
#CHECK: dxbr %f0, %f2
#CHECK: error: invalid register pair
#CHECK: dxbr %f2, %f0
dxbr %f0, %f2
dxbr %f2, %f0
#CHECK: error: invalid operand
#CHECK: fidbr %f0, -1, %f0
#CHECK: error: invalid operand
#CHECK: fidbr %f0, 16, %f0
fidbr %f0, -1, %f0
fidbr %f0, 16, %f0
#CHECK: error: invalid operand
#CHECK: fiebr %f0, -1, %f0
#CHECK: error: invalid operand
#CHECK: fiebr %f0, 16, %f0
fiebr %f0, -1, %f0
fiebr %f0, 16, %f0
#CHECK: error: invalid operand
#CHECK: fixbr %f0, -1, %f0
#CHECK: error: invalid operand
#CHECK: fixbr %f0, 16, %f0
#CHECK: error: invalid register pair
#CHECK: fixbr %f0, 0, %f2
#CHECK: error: invalid register pair
#CHECK: fixbr %f2, 0, %f0
fixbr %f0, -1, %f0
fixbr %f0, 16, %f0
fixbr %f0, 0, %f2
fixbr %f2, 0, %f0
#CHECK: error: invalid register pair
#CHECK: flogr %r1, %r0
flogr %r1, %r0
#CHECK: error: invalid operand
#CHECK: ic %r0, -1
#CHECK: error: invalid operand
#CHECK: ic %r0, 4096
ic %r0, -1
ic %r0, 4096
#CHECK: error: invalid operand
#CHECK: icy %r0, -524289
#CHECK: error: invalid operand
#CHECK: icy %r0, 524288
icy %r0, -524289
icy %r0, 524288
#CHECK: error: invalid operand
#CHECK: iihf %r0, -1
#CHECK: error: invalid operand
#CHECK: iihf %r0, 1 << 32
iihf %r0, -1
iihf %r0, 1 << 32
#CHECK: error: invalid operand
#CHECK: iihh %r0, -1
#CHECK: error: invalid operand
#CHECK: iihh %r0, 0x10000
iihh %r0, -1
iihh %r0, 0x10000
#CHECK: error: invalid operand
#CHECK: iihl %r0, -1
#CHECK: error: invalid operand
#CHECK: iihl %r0, 0x10000
iihl %r0, -1
iihl %r0, 0x10000
#CHECK: error: invalid operand
#CHECK: iilf %r0, -1
#CHECK: error: invalid operand
#CHECK: iilf %r0, 1 << 32
iilf %r0, -1
iilf %r0, 1 << 32
#CHECK: error: invalid operand
#CHECK: iilh %r0, -1
#CHECK: error: invalid operand
#CHECK: iilh %r0, 0x10000
iilh %r0, -1
iilh %r0, 0x10000
#CHECK: error: invalid operand
#CHECK: iill %r0, -1
#CHECK: error: invalid operand
#CHECK: iill %r0, 0x10000
iill %r0, -1
iill %r0, 0x10000
#CHECK: error: invalid operand
#CHECK: l %r0, -1
#CHECK: error: invalid operand
#CHECK: l %r0, 4096
l %r0, -1
l %r0, 4096
#CHECK: error: invalid operand
#CHECK: la %r0, -1
#CHECK: error: invalid operand
#CHECK: la %r0, 4096
la %r0, -1
la %r0, 4096
#CHECK: error: offset out of range
#CHECK: larl %r0, -0x1000000002
#CHECK: error: offset out of range
#CHECK: larl %r0, -1
#CHECK: error: offset out of range
#CHECK: larl %r0, 1
#CHECK: error: offset out of range
#CHECK: larl %r0, 0x100000000
larl %r0, -0x1000000002
larl %r0, -1
larl %r0, 1
larl %r0, 0x100000000
#CHECK: error: invalid operand
#CHECK: lay %r0, -524289
#CHECK: error: invalid operand
#CHECK: lay %r0, 524288
lay %r0, -524289
lay %r0, 524288
#CHECK: error: invalid operand
#CHECK: lb %r0, -524289
#CHECK: error: invalid operand
#CHECK: lb %r0, 524288
lb %r0, -524289
lb %r0, 524288
#CHECK: error: invalid register pair
#CHECK: lcxbr %f0, %f2
#CHECK: error: invalid register pair
#CHECK: lcxbr %f2, %f0
lcxbr %f0, %f2
lcxbr %f2, %f0
#CHECK: error: invalid operand
#CHECK: ld %f0, -1
#CHECK: error: invalid operand
#CHECK: ld %f0, 4096
ld %f0, -1
ld %f0, 4096
#CHECK: error: invalid operand
#CHECK: ldeb %f0, -1
#CHECK: error: invalid operand
#CHECK: ldeb %f0, 4096
ldeb %f0, -1
ldeb %f0, 4096
#CHECK: error: invalid register pair
#CHECK: ldxbr %f0, %f2
#CHECK: error: invalid register pair
#CHECK: ldxbr %f2, %f0
ldxbr %f0, %f2
ldxbr %f2, %f0
#CHECK: error: invalid operand
#CHECK: ldy %f0, -524289
#CHECK: error: invalid operand
#CHECK: ldy %f0, 524288
ldy %f0, -524289
ldy %f0, 524288
#CHECK: error: invalid operand
#CHECK: le %f0, -1
#CHECK: error: invalid operand
#CHECK: le %f0, 4096
le %f0, -1
le %f0, 4096
#CHECK: error: invalid register pair
#CHECK: lexbr %f0, %f2
#CHECK: error: invalid register pair
#CHECK: lexbr %f2, %f0
lexbr %f0, %f2
lexbr %f2, %f0
#CHECK: error: invalid operand
#CHECK: ley %f0, -524289
#CHECK: error: invalid operand
#CHECK: ley %f0, 524288
ley %f0, -524289
ley %f0, 524288
#CHECK: error: invalid operand
#CHECK: lg %r0, -524289
#CHECK: error: invalid operand
#CHECK: lg %r0, 524288
lg %r0, -524289
lg %r0, 524288
#CHECK: error: invalid operand
#CHECK: lgb %r0, -524289
#CHECK: error: invalid operand
#CHECK: lgb %r0, 524288
lgb %r0, -524289
lgb %r0, 524288
#CHECK: error: invalid operand
#CHECK: lgf %r0, -524289
#CHECK: error: invalid operand
#CHECK: lgf %r0, 524288
lgf %r0, -524289
lgf %r0, 524288
#CHECK: error: invalid operand
#CHECK: lgfi %r0, (-1 << 31) - 1
#CHECK: error: invalid operand
#CHECK: lgfi %r0, (1 << 31)
lgfi %r0, (-1 << 31) - 1
lgfi %r0, (1 << 31)
#CHECK: error: offset out of range
#CHECK: lgfrl %r0, -0x1000000002
#CHECK: error: offset out of range
#CHECK: lgfrl %r0, -1
#CHECK: error: offset out of range
#CHECK: lgfrl %r0, 1
#CHECK: error: offset out of range
#CHECK: lgfrl %r0, 0x100000000
lgfrl %r0, -0x1000000002
lgfrl %r0, -1
lgfrl %r0, 1
lgfrl %r0, 0x100000000
#CHECK: error: invalid operand
#CHECK: lgh %r0, -524289
#CHECK: error: invalid operand
#CHECK: lgh %r0, 524288
lgh %r0, -524289
lgh %r0, 524288
#CHECK: error: invalid operand
#CHECK: lghi %r0, -32769
#CHECK: error: invalid operand
#CHECK: lghi %r0, 32768
#CHECK: error: invalid operand
#CHECK: lghi %r0, foo
lghi %r0, -32769
lghi %r0, 32768
lghi %r0, foo
#CHECK: error: offset out of range
#CHECK: lghrl %r0, -0x1000000002
#CHECK: error: offset out of range
#CHECK: lghrl %r0, -1
#CHECK: error: offset out of range
#CHECK: lghrl %r0, 1
#CHECK: error: offset out of range
#CHECK: lghrl %r0, 0x100000000
lghrl %r0, -0x1000000002
lghrl %r0, -1
lghrl %r0, 1
lghrl %r0, 0x100000000
#CHECK: error: offset out of range
#CHECK: lgrl %r0, -0x1000000002
#CHECK: error: offset out of range
#CHECK: lgrl %r0, -1
#CHECK: error: offset out of range
#CHECK: lgrl %r0, 1
#CHECK: error: offset out of range
#CHECK: lgrl %r0, 0x100000000
lgrl %r0, -0x1000000002
lgrl %r0, -1
lgrl %r0, 1
lgrl %r0, 0x100000000
#CHECK: error: invalid operand
#CHECK: lh %r0, -1
#CHECK: error: invalid operand
#CHECK: lh %r0, 4096
lh %r0, -1
lh %r0, 4096
#CHECK: error: invalid operand
#CHECK: lhi %r0, -32769
#CHECK: error: invalid operand
#CHECK: lhi %r0, 32768
#CHECK: error: invalid operand
#CHECK: lhi %r0, foo
lhi %r0, -32769
lhi %r0, 32768
lhi %r0, foo
#CHECK: error: offset out of range
#CHECK: lhrl %r0, -0x1000000002
#CHECK: error: offset out of range
#CHECK: lhrl %r0, -1
#CHECK: error: offset out of range
#CHECK: lhrl %r0, 1
#CHECK: error: offset out of range
#CHECK: lhrl %r0, 0x100000000
lhrl %r0, -0x1000000002
lhrl %r0, -1
lhrl %r0, 1
lhrl %r0, 0x100000000
#CHECK: error: invalid operand
#CHECK: lhy %r0, -524289
#CHECK: error: invalid operand
#CHECK: lhy %r0, 524288
lhy %r0, -524289
lhy %r0, 524288
#CHECK: error: invalid operand
#CHECK: llc %r0, -524289
#CHECK: error: invalid operand
#CHECK: llc %r0, 524288
llc %r0, -524289
llc %r0, 524288
#CHECK: error: invalid operand
#CHECK: llgc %r0, -524289
#CHECK: error: invalid operand
#CHECK: llgc %r0, 524288
llgc %r0, -524289
llgc %r0, 524288
#CHECK: error: invalid operand
#CHECK: llgf %r0, -524289
#CHECK: error: invalid operand
#CHECK: llgf %r0, 524288
llgf %r0, -524289
llgf %r0, 524288
#CHECK: error: offset out of range
#CHECK: llgfrl %r0, -0x1000000002
#CHECK: error: offset out of range
#CHECK: llgfrl %r0, -1
#CHECK: error: offset out of range
#CHECK: llgfrl %r0, 1
#CHECK: error: offset out of range
#CHECK: llgfrl %r0, 0x100000000
llgfrl %r0, -0x1000000002
llgfrl %r0, -1
llgfrl %r0, 1
llgfrl %r0, 0x100000000
#CHECK: error: invalid operand
#CHECK: llgh %r0, -524289
#CHECK: error: invalid operand
#CHECK: llgh %r0, 524288
llgh %r0, -524289
llgh %r0, 524288
#CHECK: error: offset out of range
#CHECK: llghrl %r0, -0x1000000002
#CHECK: error: offset out of range
#CHECK: llghrl %r0, -1
#CHECK: error: offset out of range
#CHECK: llghrl %r0, 1
#CHECK: error: offset out of range
#CHECK: llghrl %r0, 0x100000000
llghrl %r0, -0x1000000002
llghrl %r0, -1
llghrl %r0, 1
llghrl %r0, 0x100000000
#CHECK: error: invalid operand
#CHECK: llh %r0, -524289
#CHECK: error: invalid operand
#CHECK: llh %r0, 524288
llh %r0, -524289
llh %r0, 524288
#CHECK: error: offset out of range
#CHECK: llhrl %r0, -0x1000000002
#CHECK: error: offset out of range
#CHECK: llhrl %r0, -1
#CHECK: error: offset out of range
#CHECK: llhrl %r0, 1
#CHECK: error: offset out of range
#CHECK: llhrl %r0, 0x100000000
llhrl %r0, -0x1000000002
llhrl %r0, -1
llhrl %r0, 1
llhrl %r0, 0x100000000
#CHECK: error: invalid operand
#CHECK: llihf %r0, -1
#CHECK: error: invalid operand
#CHECK: llihf %r0, 1 << 32
llihf %r0, -1
llihf %r0, 1 << 32
#CHECK: error: invalid operand
#CHECK: llihh %r0, -1
#CHECK: error: invalid operand
#CHECK: llihh %r0, 0x10000
llihh %r0, -1
llihh %r0, 0x10000
#CHECK: error: invalid operand
#CHECK: llihl %r0, -1
#CHECK: error: invalid operand
#CHECK: llihl %r0, 0x10000
llihl %r0, -1
llihl %r0, 0x10000
#CHECK: error: invalid operand
#CHECK: llilf %r0, -1
#CHECK: error: invalid operand
#CHECK: llilf %r0, 1 << 32
llilf %r0, -1
llilf %r0, 1 << 32
#CHECK: error: invalid operand
#CHECK: llilh %r0, -1
#CHECK: error: invalid operand
#CHECK: llilh %r0, 0x10000
llilh %r0, -1
llilh %r0, 0x10000
#CHECK: error: invalid operand
#CHECK: llill %r0, -1
#CHECK: error: invalid operand
#CHECK: llill %r0, 0x10000
llill %r0, -1
llill %r0, 0x10000
#CHECK: error: invalid operand
#CHECK: lmg %r0, %r0, -524289
#CHECK: error: invalid operand
#CHECK: lmg %r0, %r0, 524288
#CHECK: error: invalid use of indexed addressing
#CHECK: lmg %r0, %r0, 0(%r1,%r2)
lmg %r0, %r0, -524289
lmg %r0, %r0, 524288
lmg %r0, %r0, 0(%r1,%r2)
#CHECK: error: invalid register pair
#CHECK: lnxbr %f0, %f2
#CHECK: error: invalid register pair
#CHECK: lnxbr %f2, %f0
lnxbr %f0, %f2
lnxbr %f2, %f0
#CHECK: error: invalid register pair
#CHECK: lpxbr %f0, %f2
#CHECK: error: invalid register pair
#CHECK: lpxbr %f2, %f0
lpxbr %f0, %f2
lpxbr %f2, %f0
#CHECK: error: offset out of range
#CHECK: lrl %r0, -0x1000000002
#CHECK: error: offset out of range
#CHECK: lrl %r0, -1
#CHECK: error: offset out of range
#CHECK: lrl %r0, 1
#CHECK: error: offset out of range
#CHECK: lrl %r0, 0x100000000
lrl %r0, -0x1000000002
lrl %r0, -1
lrl %r0, 1
lrl %r0, 0x100000000
#CHECK: error: invalid operand
#CHECK: lrv %r0, -524289
#CHECK: error: invalid operand
#CHECK: lrv %r0, 524288
lrv %r0, -524289
lrv %r0, 524288
#CHECK: error: invalid operand
#CHECK: lrvg %r0, -524289
#CHECK: error: invalid operand
#CHECK: lrvg %r0, 524288
lrvg %r0, -524289
lrvg %r0, 524288
#CHECK: error: invalid register pair
#CHECK: lxr %f0, %f2
#CHECK: error: invalid register pair
#CHECK: lxr %f2, %f0
lxr %f0, %f2
lxr %f2, %f0
#CHECK: error: invalid operand
#CHECK: ly %r0, -524289
#CHECK: error: invalid operand
#CHECK: ly %r0, 524288
ly %r0, -524289
ly %r0, 524288
#CHECK: error: invalid register pair
#CHECK: lzxr %f2
lzxr %f2
#CHECK: error: invalid operand
#CHECK: madb %f0, %f0, -1
#CHECK: error: invalid operand
#CHECK: madb %f0, %f0, 4096
madb %f0, %f0, -1
madb %f0, %f0, 4096
#CHECK: error: invalid operand
#CHECK: maeb %f0, %f0, -1
#CHECK: error: invalid operand
#CHECK: maeb %f0, %f0, 4096
maeb %f0, %f0, -1
maeb %f0, %f0, 4096
#CHECK: error: invalid operand
#CHECK: mdb %f0, -1
#CHECK: error: invalid operand
#CHECK: mdb %f0, 4096
mdb %f0, -1
mdb %f0, 4096
#CHECK: error: invalid operand
#CHECK: mdeb %f0, -1
#CHECK: error: invalid operand
#CHECK: mdeb %f0, 4096
mdeb %f0, -1
mdeb %f0, 4096
#CHECK: error: invalid operand
#CHECK: meeb %f0, -1
#CHECK: error: invalid operand
#CHECK: meeb %f0, 4096
meeb %f0, -1
meeb %f0, 4096
#CHECK: error: invalid operand
#CHECK: mghi %r0, -32769
#CHECK: error: invalid operand
#CHECK: mghi %r0, 32768
#CHECK: error: invalid operand
#CHECK: mghi %r0, foo
mghi %r0, -32769
mghi %r0, 32768
mghi %r0, foo
#CHECK: error: invalid operand
#CHECK: mh %r0, -1
#CHECK: error: invalid operand
#CHECK: mh %r0, 4096
mh %r0, -1
mh %r0, 4096
#CHECK: error: invalid operand
#CHECK: mhi %r0, -32769
#CHECK: error: invalid operand
#CHECK: mhi %r0, 32768
#CHECK: error: invalid operand
#CHECK: mhi %r0, foo
mhi %r0, -32769
mhi %r0, 32768
mhi %r0, foo
#CHECK: error: invalid operand
#CHECK: mhy %r0, -524289
#CHECK: error: invalid operand
#CHECK: mhy %r0, 524288
mhy %r0, -524289
mhy %r0, 524288
#CHECK: error: invalid operand
#CHECK: mlg %r0, -524289
#CHECK: error: invalid operand
#CHECK: mlg %r0, 524288
#CHECK: error: invalid register pair
#CHECK: mlg %r1, 0
mlg %r0, -524289
mlg %r0, 524288
mlg %r1, 0
#CHECK: error: invalid register pair
#CHECK: mlgr %r1, %r0
mlgr %r1, %r0
#CHECK: error: invalid operand
#CHECK: ms %r0, -1
#CHECK: error: invalid operand
#CHECK: ms %r0, 4096
ms %r0, -1
ms %r0, 4096
#CHECK: error: invalid operand
#CHECK: msdb %f0, %f0, -1
#CHECK: error: invalid operand
#CHECK: msdb %f0, %f0, 4096
msdb %f0, %f0, -1
msdb %f0, %f0, 4096
#CHECK: error: invalid operand
#CHECK: mseb %f0, %f0, -1
#CHECK: error: invalid operand
#CHECK: mseb %f0, %f0, 4096
mseb %f0, %f0, -1
mseb %f0, %f0, 4096
#CHECK: error: invalid operand
#CHECK: msfi %r0, (-1 << 31) - 1
#CHECK: error: invalid operand
#CHECK: msfi %r0, (1 << 31)
msfi %r0, (-1 << 31) - 1
msfi %r0, (1 << 31)
#CHECK: error: invalid operand
#CHECK: msg %r0, -524289
#CHECK: error: invalid operand
#CHECK: msg %r0, 524288
msg %r0, -524289
msg %r0, 524288
#CHECK: error: invalid operand
#CHECK: msgf %r0, -524289
#CHECK: error: invalid operand
#CHECK: msgf %r0, 524288
msgf %r0, -524289
msgf %r0, 524288
#CHECK: error: invalid operand
#CHECK: msgfi %r0, (-1 << 31) - 1
#CHECK: error: invalid operand
#CHECK: msgfi %r0, (1 << 31)
msgfi %r0, (-1 << 31) - 1
msgfi %r0, (1 << 31)
#CHECK: error: invalid operand
#CHECK: msy %r0, -524289
#CHECK: error: invalid operand
#CHECK: msy %r0, 524288
msy %r0, -524289
msy %r0, 524288
#CHECK: error: invalid operand
#CHECK: mvghi -1, 0
#CHECK: error: invalid operand
#CHECK: mvghi 4096, 0
#CHECK: error: invalid use of indexed addressing
#CHECK: mvghi 0(%r1,%r2), 0
#CHECK: error: invalid operand
#CHECK: mvghi 0, -32769
#CHECK: error: invalid operand
#CHECK: mvghi 0, 32768
mvghi -1, 0
mvghi 4096, 0
mvghi 0(%r1,%r2), 0
mvghi 0, -32769
mvghi 0, 32768
#CHECK: error: invalid operand
#CHECK: mvhhi -1, 0
#CHECK: error: invalid operand
#CHECK: mvhhi 4096, 0
#CHECK: error: invalid use of indexed addressing
#CHECK: mvhhi 0(%r1,%r2), 0
#CHECK: error: invalid operand
#CHECK: mvhhi 0, -32769
#CHECK: error: invalid operand
#CHECK: mvhhi 0, 32768
mvhhi -1, 0
mvhhi 4096, 0
mvhhi 0(%r1,%r2), 0
mvhhi 0, -32769
mvhhi 0, 32768
#CHECK: error: invalid operand
#CHECK: mvhi -1, 0
#CHECK: error: invalid operand
#CHECK: mvhi 4096, 0
#CHECK: error: invalid use of indexed addressing
#CHECK: mvhi 0(%r1,%r2), 0
#CHECK: error: invalid operand
#CHECK: mvhi 0, -32769
#CHECK: error: invalid operand
#CHECK: mvhi 0, 32768
mvhi -1, 0
mvhi 4096, 0
mvhi 0(%r1,%r2), 0
mvhi 0, -32769
mvhi 0, 32768
#CHECK: error: invalid operand
#CHECK: mvi -1, 0
#CHECK: error: invalid operand
#CHECK: mvi 4096, 0
#CHECK: error: invalid use of indexed addressing
#CHECK: mvi 0(%r1,%r2), 0
#CHECK: error: invalid operand
#CHECK: mvi 0, -1
#CHECK: error: invalid operand
#CHECK: mvi 0, 256
mvi -1, 0
mvi 4096, 0
mvi 0(%r1,%r2), 0
mvi 0, -1
mvi 0, 256
#CHECK: error: invalid operand
#CHECK: mviy -524289, 0
#CHECK: error: invalid operand
#CHECK: mviy 524288, 0
#CHECK: error: invalid use of indexed addressing
#CHECK: mviy 0(%r1,%r2), 0
#CHECK: error: invalid operand
#CHECK: mviy 0, -1
#CHECK: error: invalid operand
#CHECK: mviy 0, 256
mviy -524289, 0
mviy 524288, 0
mviy 0(%r1,%r2), 0
mviy 0, -1
mviy 0, 256
#CHECK: error: invalid register pair
#CHECK: mxbr %f0, %f2
#CHECK: error: invalid register pair
#CHECK: mxbr %f2, %f0
mxbr %f0, %f2
mxbr %f2, %f0
#CHECK: error: invalid register pair
#CHECK: mxdb %f2, 0
#CHECK: error: invalid operand
#CHECK: mxdb %f0, -1
#CHECK: error: invalid operand
#CHECK: mxdb %f0, 4096
mxdb %f2, 0
mxdb %f0, -1
mxdb %f0, 4096
#CHECK: error: invalid register pair
#CHECK: mxdbr %f2, %f0
mxdbr %f2, %f0
#CHECK: error: invalid operand
#CHECK: n %r0, -1
#CHECK: error: invalid operand
#CHECK: n %r0, 4096
n %r0, -1
n %r0, 4096
#CHECK: error: invalid operand
#CHECK: ng %r0, -524289
#CHECK: error: invalid operand
#CHECK: ng %r0, 524288
ng %r0, -524289
ng %r0, 524288
#CHECK: error: invalid operand
#CHECK: ni -1, 0
#CHECK: error: invalid operand
#CHECK: ni 4096, 0
#CHECK: error: invalid use of indexed addressing
#CHECK: ni 0(%r1,%r2), 0
#CHECK: error: invalid operand
#CHECK: ni 0, -1
#CHECK: error: invalid operand
#CHECK: ni 0, 256
ni -1, 0
ni 4096, 0
ni 0(%r1,%r2), 0
ni 0, -1
ni 0, 256
#CHECK: error: invalid operand
#CHECK: nihf %r0, -1
#CHECK: error: invalid operand
#CHECK: nihf %r0, 1 << 32
nihf %r0, -1
nihf %r0, 1 << 32
#CHECK: error: invalid operand
#CHECK: nihh %r0, -1
#CHECK: error: invalid operand
#CHECK: nihh %r0, 0x10000
nihh %r0, -1
nihh %r0, 0x10000
#CHECK: error: invalid operand
#CHECK: nihl %r0, -1
#CHECK: error: invalid operand
#CHECK: nihl %r0, 0x10000
nihl %r0, -1
nihl %r0, 0x10000
#CHECK: error: invalid operand
#CHECK: nilf %r0, -1
#CHECK: error: invalid operand
#CHECK: nilf %r0, 1 << 32
nilf %r0, -1
nilf %r0, 1 << 32
#CHECK: error: invalid operand
#CHECK: nilh %r0, -1
#CHECK: error: invalid operand
#CHECK: nilh %r0, 0x10000
nilh %r0, -1
nilh %r0, 0x10000
#CHECK: error: invalid operand
#CHECK: nill %r0, -1
#CHECK: error: invalid operand
#CHECK: nill %r0, 0x10000
nill %r0, -1
nill %r0, 0x10000
#CHECK: error: invalid operand
#CHECK: niy -524289, 0
#CHECK: error: invalid operand
#CHECK: niy 524288, 0
#CHECK: error: invalid use of indexed addressing
#CHECK: niy 0(%r1,%r2), 0
#CHECK: error: invalid operand
#CHECK: niy 0, -1
#CHECK: error: invalid operand
#CHECK: niy 0, 256
niy -524289, 0
niy 524288, 0
niy 0(%r1,%r2), 0
niy 0, -1
niy 0, 256
#CHECK: error: invalid operand
#CHECK: ny %r0, -524289
#CHECK: error: invalid operand
#CHECK: ny %r0, 524288
ny %r0, -524289
ny %r0, 524288
#CHECK: error: invalid operand
#CHECK: o %r0, -1
#CHECK: error: invalid operand
#CHECK: o %r0, 4096
o %r0, -1
o %r0, 4096
#CHECK: error: invalid operand
#CHECK: og %r0, -524289
#CHECK: error: invalid operand
#CHECK: og %r0, 524288
og %r0, -524289
og %r0, 524288
#CHECK: error: invalid operand
#CHECK: oi -1, 0
#CHECK: error: invalid operand
#CHECK: oi 4096, 0
#CHECK: error: invalid use of indexed addressing
#CHECK: oi 0(%r1,%r2), 0
#CHECK: error: invalid operand
#CHECK: oi 0, -1
#CHECK: error: invalid operand
#CHECK: oi 0, 256
oi -1, 0
oi 4096, 0
oi 0(%r1,%r2), 0
oi 0, -1
oi 0, 256
#CHECK: error: invalid operand
#CHECK: oihf %r0, -1
#CHECK: error: invalid operand
#CHECK: oihf %r0, 1 << 32
oihf %r0, -1
oihf %r0, 1 << 32
#CHECK: error: invalid operand
#CHECK: oihh %r0, -1
#CHECK: error: invalid operand
#CHECK: oihh %r0, 0x10000
oihh %r0, -1
oihh %r0, 0x10000
#CHECK: error: invalid operand
#CHECK: oihl %r0, -1
#CHECK: error: invalid operand
#CHECK: oihl %r0, 0x10000
oihl %r0, -1
oihl %r0, 0x10000
#CHECK: error: invalid operand
#CHECK: oilf %r0, -1
#CHECK: error: invalid operand
#CHECK: oilf %r0, 1 << 32
oilf %r0, -1
oilf %r0, 1 << 32
#CHECK: error: invalid operand
#CHECK: oilh %r0, -1
#CHECK: error: invalid operand
#CHECK: oilh %r0, 0x10000
oilh %r0, -1
oilh %r0, 0x10000
#CHECK: error: invalid operand
#CHECK: oill %r0, -1
#CHECK: error: invalid operand
#CHECK: oill %r0, 0x10000
oill %r0, -1
oill %r0, 0x10000
#CHECK: error: invalid operand
#CHECK: oiy -524289, 0
#CHECK: error: invalid operand
#CHECK: oiy 524288, 0
#CHECK: error: invalid use of indexed addressing
#CHECK: oiy 0(%r1,%r2), 0
#CHECK: error: invalid operand
#CHECK: oiy 0, -1
#CHECK: error: invalid operand
#CHECK: oiy 0, 256
oiy -524289, 0
oiy 524288, 0
oiy 0(%r1,%r2), 0
oiy 0, -1
oiy 0, 256
#CHECK: error: invalid operand
#CHECK: oy %r0, -524289
#CHECK: error: invalid operand
#CHECK: oy %r0, 524288
oy %r0, -524289
oy %r0, 524288
#CHECK: error: invalid operand
#CHECK: risbg %r0,%r0,0,0,-1
#CHECK: error: invalid operand
#CHECK: risbg %r0,%r0,0,0,64
#CHECK: error: invalid operand
#CHECK: risbg %r0,%r0,0,-1,0
#CHECK: error: invalid operand
#CHECK: risbg %r0,%r0,0,64,0
#CHECK: error: invalid operand
#CHECK: risbg %r0,%r0,-1,0,0
#CHECK: error: invalid operand
#CHECK: risbg %r0,%r0,64,0,0
risbg %r0,%r0,0,0,-1
risbg %r0,%r0,0,0,64
risbg %r0,%r0,0,-1,0
risbg %r0,%r0,0,64,0
risbg %r0,%r0,-1,0,0
risbg %r0,%r0,64,0,0
#CHECK: error: invalid operand
#CHECK: rll %r0,%r0,-524289
#CHECK: error: invalid operand
#CHECK: rll %r0,%r0,524288
#CHECK: error: %r0 used in an address
#CHECK: rll %r0,%r0,0(%r0)
#CHECK: error: invalid use of indexed addressing
#CHECK: rll %r0,%r0,0(%r1,%r2)
rll %r0,%r0,-524289
rll %r0,%r0,524288
rll %r0,%r0,0(%r0)
rll %r0,%r0,0(%r1,%r2)
#CHECK: error: invalid operand
#CHECK: rllg %r0,%r0,-524289
#CHECK: error: invalid operand
#CHECK: rllg %r0,%r0,524288
#CHECK: error: %r0 used in an address
#CHECK: rllg %r0,%r0,0(%r0)
#CHECK: error: invalid use of indexed addressing
#CHECK: rllg %r0,%r0,0(%r1,%r2)
rllg %r0,%r0,-524289
rllg %r0,%r0,524288
rllg %r0,%r0,0(%r0)
rllg %r0,%r0,0(%r1,%r2)
#CHECK: error: invalid operand
#CHECK: s %r0, -1
#CHECK: error: invalid operand
#CHECK: s %r0, 4096
s %r0, -1
s %r0, 4096
#CHECK: error: invalid operand
#CHECK: sdb %f0, -1
#CHECK: error: invalid operand
#CHECK: sdb %f0, 4096
sdb %f0, -1
sdb %f0, 4096
#CHECK: error: invalid operand
#CHECK: seb %f0, -1
#CHECK: error: invalid operand
#CHECK: seb %f0, 4096
seb %f0, -1
seb %f0, 4096
#CHECK: error: invalid operand
#CHECK: sg %r0, -524289
#CHECK: error: invalid operand
#CHECK: sg %r0, 524288
sg %r0, -524289
sg %r0, 524288
#CHECK: error: invalid operand
#CHECK: sgf %r0, -524289
#CHECK: error: invalid operand
#CHECK: sgf %r0, 524288
sgf %r0, -524289
sgf %r0, 524288
#CHECK: error: invalid operand
#CHECK: sh %r0, -1
#CHECK: error: invalid operand
#CHECK: sh %r0, 4096
sh %r0, -1
sh %r0, 4096
#CHECK: error: invalid operand
#CHECK: shy %r0, -524289
#CHECK: error: invalid operand
#CHECK: shy %r0, 524288
shy %r0, -524289
shy %r0, 524288
#CHECK: error: invalid operand
#CHECK: sl %r0, -1
#CHECK: error: invalid operand
#CHECK: sl %r0, 4096
sl %r0, -1
sl %r0, 4096
#CHECK: error: invalid operand
#CHECK: slb %r0, -524289
#CHECK: error: invalid operand
#CHECK: slb %r0, 524288
slb %r0, -524289
slb %r0, 524288
#CHECK: error: invalid operand
#CHECK: slbg %r0, -524289
#CHECK: error: invalid operand
#CHECK: slbg %r0, 524288
slbg %r0, -524289
slbg %r0, 524288
#CHECK: error: invalid operand
#CHECK: slfi %r0, -1
#CHECK: error: invalid operand
#CHECK: slfi %r0, (1 << 32)
slfi %r0, -1
slfi %r0, (1 << 32)
#CHECK: error: invalid operand
#CHECK: slg %r0, -524289
#CHECK: error: invalid operand
#CHECK: slg %r0, 524288
slg %r0, -524289
slg %r0, 524288
#CHECK: error: invalid operand
#CHECK: slgf %r0, -524289
#CHECK: error: invalid operand
#CHECK: slgf %r0, 524288
slgf %r0, -524289
slgf %r0, 524288
#CHECK: error: invalid operand
#CHECK: slgfi %r0, -1
#CHECK: error: invalid operand
#CHECK: slgfi %r0, (1 << 32)
slgfi %r0, -1
slgfi %r0, (1 << 32)
#CHECK: error: invalid operand
#CHECK: sll %r0,-1
#CHECK: error: invalid operand
#CHECK: sll %r0,4096
#CHECK: error: %r0 used in an address
#CHECK: sll %r0,0(%r0)
#CHECK: error: invalid use of indexed addressing
#CHECK: sll %r0,0(%r1,%r2)
sll %r0,-1
sll %r0,4096
sll %r0,0(%r0)
sll %r0,0(%r1,%r2)
#CHECK: error: invalid operand
#CHECK: sllg %r0,%r0,-524289
#CHECK: error: invalid operand
#CHECK: sllg %r0,%r0,524288
#CHECK: error: %r0 used in an address
#CHECK: sllg %r0,%r0,0(%r0)
#CHECK: error: invalid use of indexed addressing
#CHECK: sllg %r0,%r0,0(%r1,%r2)
sllg %r0,%r0,-524289
sllg %r0,%r0,524288
sllg %r0,%r0,0(%r0)
sllg %r0,%r0,0(%r1,%r2)
#CHECK: error: invalid operand
#CHECK: sly %r0, -524289
#CHECK: error: invalid operand
#CHECK: sly %r0, 524288
sly %r0, -524289
sly %r0, 524288
#CHECK: error: invalid operand
#CHECK: sqdb %f0, -1
#CHECK: error: invalid operand
#CHECK: sqdb %f0, 4096
sqdb %f0, -1
sqdb %f0, 4096
#CHECK: error: invalid operand
#CHECK: sqeb %f0, -1
#CHECK: error: invalid operand
#CHECK: sqeb %f0, 4096
sqeb %f0, -1
sqeb %f0, 4096
#CHECK: error: invalid register pair
#CHECK: sqxbr %f0, %f2
#CHECK: error: invalid register pair
#CHECK: sqxbr %f2, %f0
sqxbr %f0, %f2
sqxbr %f2, %f0
#CHECK: error: invalid operand
#CHECK: sra %r0,-1
#CHECK: error: invalid operand
#CHECK: sra %r0,4096
#CHECK: error: %r0 used in an address
#CHECK: sra %r0,0(%r0)
#CHECK: error: invalid use of indexed addressing
#CHECK: sra %r0,0(%r1,%r2)
sra %r0,-1
sra %r0,4096
sra %r0,0(%r0)
sra %r0,0(%r1,%r2)
#CHECK: error: invalid operand
#CHECK: srag %r0,%r0,-524289
#CHECK: error: invalid operand
#CHECK: srag %r0,%r0,524288
#CHECK: error: %r0 used in an address
#CHECK: srag %r0,%r0,0(%r0)
#CHECK: error: invalid use of indexed addressing
#CHECK: srag %r0,%r0,0(%r1,%r2)
srag %r0,%r0,-524289
srag %r0,%r0,524288
srag %r0,%r0,0(%r0)
srag %r0,%r0,0(%r1,%r2)
#CHECK: error: invalid operand
#CHECK: srl %r0,-1
#CHECK: error: invalid operand
#CHECK: srl %r0,4096
#CHECK: error: %r0 used in an address
#CHECK: srl %r0,0(%r0)
#CHECK: error: invalid use of indexed addressing
#CHECK: srl %r0,0(%r1,%r2)
srl %r0,-1
srl %r0,4096
srl %r0,0(%r0)
srl %r0,0(%r1,%r2)
#CHECK: error: invalid operand
#CHECK: srlg %r0,%r0,-524289
#CHECK: error: invalid operand
#CHECK: srlg %r0,%r0,524288
#CHECK: error: %r0 used in an address
#CHECK: srlg %r0,%r0,0(%r0)
#CHECK: error: invalid use of indexed addressing
#CHECK: srlg %r0,%r0,0(%r1,%r2)
srlg %r0,%r0,-524289
srlg %r0,%r0,524288
srlg %r0,%r0,0(%r0)
srlg %r0,%r0,0(%r1,%r2)
#CHECK: error: invalid operand
#CHECK: st %r0, -1
#CHECK: error: invalid operand
#CHECK: st %r0, 4096
st %r0, -1
st %r0, 4096
#CHECK: error: invalid operand
#CHECK: stc %r0, -1
#CHECK: error: invalid operand
#CHECK: stc %r0, 4096
stc %r0, -1
stc %r0, 4096
#CHECK: error: invalid operand
#CHECK: stcy %r0, -524289
#CHECK: error: invalid operand
#CHECK: stcy %r0, 524288
stcy %r0, -524289
stcy %r0, 524288
#CHECK: error: invalid operand
#CHECK: std %f0, -1
#CHECK: error: invalid operand
#CHECK: std %f0, 4096
std %f0, -1
std %f0, 4096
#CHECK: error: invalid operand
#CHECK: stdy %f0, -524289
#CHECK: error: invalid operand
#CHECK: stdy %f0, 524288
stdy %f0, -524289
stdy %f0, 524288
#CHECK: error: invalid operand
#CHECK: ste %f0, -1
#CHECK: error: invalid operand
#CHECK: ste %f0, 4096
ste %f0, -1
ste %f0, 4096
#CHECK: error: invalid operand
#CHECK: stey %f0, -524289
#CHECK: error: invalid operand
#CHECK: stey %f0, 524288
stey %f0, -524289
stey %f0, 524288
#CHECK: error: invalid operand
#CHECK: stg %r0, -524289
#CHECK: error: invalid operand
#CHECK: stg %r0, 524288
stg %r0, -524289
stg %r0, 524288
#CHECK: error: offset out of range
#CHECK: stgrl %r0, -0x1000000002
#CHECK: error: offset out of range
#CHECK: stgrl %r0, -1
#CHECK: error: offset out of range
#CHECK: stgrl %r0, 1
#CHECK: error: offset out of range
#CHECK: stgrl %r0, 0x100000000
stgrl %r0, -0x1000000002
stgrl %r0, -1
stgrl %r0, 1
stgrl %r0, 0x100000000
#CHECK: error: invalid operand
#CHECK: sth %r0, -1
#CHECK: error: invalid operand
#CHECK: sth %r0, 4096
sth %r0, -1
sth %r0, 4096
#CHECK: error: offset out of range
#CHECK: sthrl %r0, -0x1000000002
#CHECK: error: offset out of range
#CHECK: sthrl %r0, -1
#CHECK: error: offset out of range
#CHECK: sthrl %r0, 1
#CHECK: error: offset out of range
#CHECK: sthrl %r0, 0x100000000
sthrl %r0, -0x1000000002
sthrl %r0, -1
sthrl %r0, 1
sthrl %r0, 0x100000000
#CHECK: error: invalid operand
#CHECK: sthy %r0, -524289
#CHECK: error: invalid operand
#CHECK: sthy %r0, 524288
sthy %r0, -524289
sthy %r0, 524288
#CHECK: error: invalid operand
#CHECK: stmg %r0, %r0, -524289
#CHECK: error: invalid operand
#CHECK: stmg %r0, %r0, 524288
#CHECK: error: invalid use of indexed addressing
#CHECK: stmg %r0, %r0, 0(%r1,%r2)
stmg %r0, %r0, -524289
stmg %r0, %r0, 524288
stmg %r0, %r0, 0(%r1,%r2)
#CHECK: error: offset out of range
#CHECK: strl %r0, -0x1000000002
#CHECK: error: offset out of range
#CHECK: strl %r0, -1
#CHECK: error: offset out of range
#CHECK: strl %r0, 1
#CHECK: error: offset out of range
#CHECK: strl %r0, 0x100000000
strl %r0, -0x1000000002
strl %r0, -1
strl %r0, 1
strl %r0, 0x100000000
#CHECK: error: invalid operand
#CHECK: strv %r0, -524289
#CHECK: error: invalid operand
#CHECK: strv %r0, 524288
strv %r0, -524289
strv %r0, 524288
#CHECK: error: invalid operand
#CHECK: strvg %r0, -524289
#CHECK: error: invalid operand
#CHECK: strvg %r0, 524288
strvg %r0, -524289
strvg %r0, 524288
#CHECK: error: invalid operand
#CHECK: sty %r0, -524289
#CHECK: error: invalid operand
#CHECK: sty %r0, 524288
sty %r0, -524289
sty %r0, 524288
#CHECK: error: invalid register pair
#CHECK: sxbr %f0, %f2
#CHECK: error: invalid register pair
#CHECK: sxbr %f2, %f0
sxbr %f0, %f2
sxbr %f2, %f0
#CHECK: error: invalid operand
#CHECK: sy %r0, -524289
#CHECK: error: invalid operand
#CHECK: sy %r0, 524288
sy %r0, -524289
sy %r0, 524288
#CHECK: error: invalid operand
#CHECK: x %r0, -1
#CHECK: error: invalid operand
#CHECK: x %r0, 4096
x %r0, -1
x %r0, 4096
#CHECK: error: invalid operand
#CHECK: xg %r0, -524289
#CHECK: error: invalid operand
#CHECK: xg %r0, 524288
xg %r0, -524289
xg %r0, 524288
#CHECK: error: invalid operand
#CHECK: xi -1, 0
#CHECK: error: invalid operand
#CHECK: xi 4096, 0
#CHECK: error: invalid use of indexed addressing
#CHECK: xi 0(%r1,%r2), 0
#CHECK: error: invalid operand
#CHECK: xi 0, -1
#CHECK: error: invalid operand
#CHECK: xi 0, 256
xi -1, 0
xi 4096, 0
xi 0(%r1,%r2), 0
xi 0, -1
xi 0, 256
#CHECK: error: invalid operand
#CHECK: xihf %r0, -1
#CHECK: error: invalid operand
#CHECK: xihf %r0, 1 << 32
xihf %r0, -1
xihf %r0, 1 << 32
#CHECK: error: invalid operand
#CHECK: xilf %r0, -1
#CHECK: error: invalid operand
#CHECK: xilf %r0, 1 << 32
xilf %r0, -1
xilf %r0, 1 << 32
#CHECK: error: invalid operand
#CHECK: xiy -524289, 0
#CHECK: error: invalid operand
#CHECK: xiy 524288, 0
#CHECK: error: invalid use of indexed addressing
#CHECK: xiy 0(%r1,%r2), 0
#CHECK: error: invalid operand
#CHECK: xiy 0, -1
#CHECK: error: invalid operand
#CHECK: xiy 0, 256
xiy -524289, 0
xiy 524288, 0
xiy 0(%r1,%r2), 0
xiy 0, -1
xiy 0, 256
#CHECK: error: invalid operand
#CHECK: xy %r0, -524289
#CHECK: error: invalid operand
#CHECK: xy %r0, 524288
xy %r0, -524289
xy %r0, 524288