summaryrefslogtreecommitdiff
path: root/test/MC/SystemZ/insn-bad.s
diff options
context:
space:
mode:
Diffstat (limited to 'test/MC/SystemZ/insn-bad.s')
-rw-r--r--test/MC/SystemZ/insn-bad.s2787
1 files changed, 2787 insertions, 0 deletions
diff --git a/test/MC/SystemZ/insn-bad.s b/test/MC/SystemZ/insn-bad.s
new file mode 100644
index 0000000000..6891fa94ae
--- /dev/null
+++ b/test/MC/SystemZ/insn-bad.s
@@ -0,0 +1,2787 @@
+# 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
+#CHECK: axbr %f0, %f2
+#CHECK: error: invalid register
+#CHECK: axbr %f0, %f14
+#CHECK: error: invalid register
+#CHECK: axbr %f2, %f0
+#CHECK: error: invalid register
+#CHECK: axbr %f14, %f0
+
+ axbr %f0, %f2
+ axbr %f0, %f14
+ axbr %f2, %f0
+ axbr %f14, %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 register
+#CHECK: cdfbr %r0, %r0
+#CHECK: error: invalid register
+#CHECK: cdfbr %f0, %f0
+#CHECK: error: invalid register
+#CHECK: cdfbr %f0, %a0
+#CHECK: error: invalid register
+#CHECK: cdfbr %a0, %r0
+
+ cdfbr %r0, %r0
+ cdfbr %f0, %f0
+ cdfbr %f0, %a0
+ cdfbr %a0, %r0
+
+#CHECK: error: invalid register
+#CHECK: cdgbr %r0, %r0
+#CHECK: error: invalid register
+#CHECK: cdgbr %f0, %f0
+#CHECK: error: invalid register
+#CHECK: cdgbr %f0, %a0
+#CHECK: error: invalid register
+#CHECK: cdgbr %a0, %r0
+
+ cdgbr %r0, %r0
+ cdgbr %f0, %f0
+ cdgbr %f0, %a0
+ cdgbr %a0, %r0
+
+#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 register
+#CHECK: cefbr %r0, %r0
+#CHECK: error: invalid register
+#CHECK: cefbr %f0, %f0
+#CHECK: error: invalid register
+#CHECK: cefbr %f0, %a0
+#CHECK: error: invalid register
+#CHECK: cefbr %a0, %r0
+
+ cefbr %r0, %r0
+ cefbr %f0, %f0
+ cefbr %f0, %a0
+ cefbr %a0, %r0
+
+#CHECK: error: invalid register
+#CHECK: cegbr %r0, %r0
+#CHECK: error: invalid register
+#CHECK: cegbr %f0, %f0
+#CHECK: error: invalid register
+#CHECK: cegbr %f0, %a0
+#CHECK: error: invalid register
+#CHECK: cegbr %a0, %r0
+
+ cegbr %r0, %r0
+ cegbr %f0, %f0
+ cegbr %f0, %a0
+ cegbr %a0, %r0
+
+#CHECK: error: invalid register
+#CHECK: cfdbr %r0, 0, %r0
+#CHECK: error: invalid register
+#CHECK: cfdbr %f0, 0, %f0
+#CHECK: error: invalid operand
+#CHECK: cfdbr %r0, -1, %f0
+#CHECK: error: invalid operand
+#CHECK: cfdbr %r0, 16, %f0
+
+ cfdbr %r0, 0, %r0
+ cfdbr %f0, 0, %f0
+ cfdbr %r0, -1, %f0
+ cfdbr %r0, 16, %f0
+
+#CHECK: error: invalid register
+#CHECK: cfebr %r0, 0, %r0
+#CHECK: error: invalid register
+#CHECK: cfebr %f0, 0, %f0
+#CHECK: error: invalid operand
+#CHECK: cfebr %r0, -1, %f0
+#CHECK: error: invalid operand
+#CHECK: cfebr %r0, 16, %f0
+
+ cfebr %r0, 0, %r0
+ cfebr %f0, 0, %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 register
+#CHECK: cfxbr %r0, 0, %r0
+#CHECK: error: invalid register
+#CHECK: cfxbr %f0, 0, %f0
+#CHECK: error: invalid operand
+#CHECK: cfxbr %r0, -1, %f0
+#CHECK: error: invalid operand
+#CHECK: cfxbr %r0, 16, %f0
+#CHECK: error: invalid register
+#CHECK: cfxbr %r0, 0, %f2
+#CHECK: error: invalid register
+#CHECK: cfxbr %r0, 0, %f14
+
+ cfxbr %r0, 0, %r0
+ cfxbr %f0, 0, %f0
+ cfxbr %r0, -1, %f0
+ cfxbr %r0, 16, %f0
+ cfxbr %r0, 0, %f2
+ cfxbr %r0, 0, %f14
+
+
+#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 register
+#CHECK: cgdbr %r0, 0, %r0
+#CHECK: error: invalid register
+#CHECK: cgdbr %f0, 0, %f0
+#CHECK: error: invalid operand
+#CHECK: cgdbr %r0, -1, %f0
+#CHECK: error: invalid operand
+#CHECK: cgdbr %r0, 16, %f0
+
+ cgdbr %r0, 0, %r0
+ cgdbr %f0, 0, %f0
+ cgdbr %r0, -1, %f0
+ cgdbr %r0, 16, %f0
+
+#CHECK: error: invalid register
+#CHECK: cgebr %r0, 0, %r0
+#CHECK: error: invalid register
+#CHECK: cgebr %f0, 0, %f0
+#CHECK: error: invalid operand
+#CHECK: cgebr %r0, -1, %f0
+#CHECK: error: invalid operand
+#CHECK: cgebr %r0, 16, %f0
+
+ cgebr %r0, 0, %r0
+ cgebr %f0, 0, %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: 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 register
+#CHECK: cgxbr %r0, 0, %r0
+#CHECK: error: invalid register
+#CHECK: cgxbr %f0, 0, %f0
+#CHECK: error: invalid operand
+#CHECK: cgxbr %r0, -1, %f0
+#CHECK: error: invalid operand
+#CHECK: cgxbr %r0, 16, %f0
+#CHECK: error: invalid register
+#CHECK: cgxbr %r0, 0, %f2
+#CHECK: error: invalid register
+#CHECK: cgxbr %r0, 0, %f14
+
+ cgxbr %r0, 0, %r0
+ cgxbr %f0, 0, %f0
+ cgxbr %r0, -1, %f0
+ cgxbr %r0, 16, %f0
+ cgxbr %r0, 0, %f2
+ cgxbr %r0, 0, %f14
+
+
+#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: 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: 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
+#CHECK: cxbr %f0, %f2
+#CHECK: error: invalid register
+#CHECK: cxbr %f0, %f14
+#CHECK: error: invalid register
+#CHECK: cxbr %f2, %f0
+#CHECK: error: invalid register
+#CHECK: cxbr %f14, %f0
+
+ cxbr %f0, %f2
+ cxbr %f0, %f14
+ cxbr %f2, %f0
+ cxbr %f14, %f0
+
+
+#CHECK: error: invalid register
+#CHECK: cxfbr %r0, %r0
+#CHECK: error: invalid register
+#CHECK: cxfbr %f0, %f0
+#CHECK: error: invalid register
+#CHECK: cxfbr %f0, %a0
+#CHECK: error: invalid register
+#CHECK: cxfbr %a0, %r0
+#CHECK: error: invalid register
+#CHECK: cxfbr %f2, %r0
+#CHECK: error: invalid register
+#CHECK: cxfbr %f14, %r0
+
+ cxfbr %r0, %r0
+ cxfbr %f0, %f0
+ cxfbr %f0, %a0
+ cxfbr %a0, %r0
+ cxfbr %f2, %r0
+ cxfbr %f14, %r0
+
+#CHECK: error: invalid register
+#CHECK: cxgbr %r0, %r0
+#CHECK: error: invalid register
+#CHECK: cxgbr %f0, %f0
+#CHECK: error: invalid register
+#CHECK: cxgbr %f0, %a0
+#CHECK: error: invalid register
+#CHECK: cxgbr %a0, %r0
+#CHECK: error: invalid register
+#CHECK: cxgbr %f2, %r0
+#CHECK: error: invalid register
+#CHECK: cxgbr %f14, %r0
+
+ cxgbr %r0, %r0
+ cxgbr %f0, %f0
+ cxgbr %f0, %a0
+ cxgbr %a0, %r0
+ cxgbr %f2, %r0
+ cxgbr %f14, %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
+#CHECK: dl %r1, 0
+#CHECK: error: invalid register
+#CHECK: dl %r15, 0
+
+ dl %r0, -524289
+ dl %r0, 524288
+ dl %r1, 0
+ dl %r15, 0
+
+#CHECK: error: invalid operand
+#CHECK: dlg %r0, -524289
+#CHECK: error: invalid operand
+#CHECK: dlg %r0, 524288
+#CHECK: error: invalid register
+#CHECK: dlg %r1, 0
+#CHECK: error: invalid register
+#CHECK: dlg %r15, 0
+
+ dlg %r0, -524289
+ dlg %r0, 524288
+ dlg %r1, 0
+ dlg %r15, 0
+
+#CHECK: error: invalid register
+#CHECK: dlgr %r1, %r0
+#CHECK: error: invalid register
+#CHECK: dlgr %r15, %r0
+
+ dlgr %r1, %r0
+ dlgr %r15, %r0
+
+#CHECK: error: invalid register
+#CHECK: dlr %r1, %r0
+#CHECK: error: invalid register
+#CHECK: dlr %r15, %r0
+
+ dlr %r1, %r0
+ dlr %r15, %r0
+
+#CHECK: error: invalid operand
+#CHECK: dsg %r0, -524289
+#CHECK: error: invalid operand
+#CHECK: dsg %r0, 524288
+#CHECK: error: invalid register
+#CHECK: dsg %r1, 0
+#CHECK: error: invalid register
+#CHECK: dsg %r15, 0
+
+ dsg %r0, -524289
+ dsg %r0, 524288
+ dsg %r1, 0
+ dsg %r15, 0
+
+#CHECK: error: invalid operand
+#CHECK: dsgf %r0, -524289
+#CHECK: error: invalid operand
+#CHECK: dsgf %r0, 524288
+#CHECK: error: invalid register
+#CHECK: dsgf %r1, 0
+#CHECK: error: invalid register
+#CHECK: dsgf %r15, 0
+
+ dsgf %r0, -524289
+ dsgf %r0, 524288
+ dsgf %r1, 0
+ dsgf %r15, 0
+
+#CHECK: error: invalid register
+#CHECK: dsgfr %r1, %r0
+#CHECK: error: invalid register
+#CHECK: dsgfr %r15, %r0
+
+ dsgfr %r1, %r0
+ dsgfr %r15, %r0
+
+#CHECK: error: invalid register
+#CHECK: dsgr %r1, %r0
+#CHECK: error: invalid register
+#CHECK: dsgr %r15, %r0
+
+ dsgr %r1, %r0
+ dsgr %r15, %r0
+
+#CHECK: error: invalid register
+#CHECK: dxbr %f0, %f2
+#CHECK: error: invalid register
+#CHECK: dxbr %f0, %f14
+#CHECK: error: invalid register
+#CHECK: dxbr %f2, %f0
+#CHECK: error: invalid register
+#CHECK: dxbr %f14, %f0
+
+ dxbr %f0, %f2
+ dxbr %f0, %f14
+ dxbr %f2, %f0
+ dxbr %f14, %f0
+
+
+#CHECK: error: invalid operand
+#CHECK: ear %r0, 0
+#CHECK: error: invalid register
+#CHECK: ear %r0, %r0
+#CHECK: error: invalid register
+#CHECK: ear %a0, %r0
+
+ ear %r0, 0
+ ear %r0, %r0
+ ear %a0, %r0
+
+#CHECK: error: invalid register
+#CHECK: fidbr %r0, 0, %f0
+#CHECK: error: invalid register
+#CHECK: fidbr %f0, 0, %r0
+#CHECK: error: invalid operand
+#CHECK: fidbr %f0, -1, %f0
+#CHECK: error: invalid operand
+#CHECK: fidbr %f0, 16, %f0
+
+ fidbr %r0, 0, %f0
+ fidbr %f0, 0, %r0
+ fidbr %f0, -1, %f0
+ fidbr %f0, 16, %f0
+
+#CHECK: error: invalid register
+#CHECK: fiebr %r0, 0, %f0
+#CHECK: error: invalid register
+#CHECK: fiebr %f0, 0, %r0
+#CHECK: error: invalid operand
+#CHECK: fiebr %f0, -1, %f0
+#CHECK: error: invalid operand
+#CHECK: fiebr %f0, 16, %f0
+
+ fiebr %r0, 0, %f0
+ fiebr %f0, 0, %r0
+ fiebr %f0, -1, %f0
+ fiebr %f0, 16, %f0
+
+#CHECK: error: invalid register
+#CHECK: fixbr %r0, 0, %f0
+#CHECK: error: invalid register
+#CHECK: fixbr %f0, 0, %r0
+#CHECK: error: invalid operand
+#CHECK: fixbr %f0, -1, %f0
+#CHECK: error: invalid operand
+#CHECK: fixbr %f0, 16, %f0
+#CHECK: error: invalid register
+#CHECK: fixbr %f0, 0, %f2
+#CHECK: error: invalid register
+#CHECK: fixbr %f0, 0, %f14
+#CHECK: error: invalid register
+#CHECK: fixbr %f2, 0, %f0
+#CHECK: error: invalid register
+#CHECK: fixbr %f14, 0, %f0
+
+ fixbr %r0, 0, %f0
+ fixbr %f0, 0, %r0
+ fixbr %f0, -1, %f0
+ fixbr %f0, 16, %f0
+ fixbr %f0, 0, %f2
+ fixbr %f0, 0, %f14
+ fixbr %f2, 0, %f0
+ fixbr %f14, 0, %f0
+
+#CHECK: error: invalid register
+#CHECK: flogr %r1, %r0
+#CHECK: error: invalid register
+#CHECK: flogr %r15, %r0
+
+ flogr %r1, %r0
+ flogr %r15, %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
+#CHECK: lcxbr %f0, %f2
+#CHECK: error: invalid register
+#CHECK: lcxbr %f0, %f14
+#CHECK: error: invalid register
+#CHECK: lcxbr %f2, %f0
+#CHECK: error: invalid register
+#CHECK: lcxbr %f14, %f0
+
+ lcxbr %f0, %f2
+ lcxbr %f0, %f14
+ lcxbr %f2, %f0
+ lcxbr %f14, %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
+#CHECK: ldgr %f0, %f0
+#CHECK: error: invalid register
+#CHECK: ldgr %r0, %r0
+#CHECK: error: invalid register
+#CHECK: ldgr %f0, %a0
+#CHECK: error: invalid register
+#CHECK: ldgr %a0, %r0
+
+ ldgr %f0, %f0
+ ldgr %r0, %r0
+ ldgr %f0, %a0
+ ldgr %a0, %r0
+
+#CHECK: error: invalid register
+#CHECK: ldxbr %f0, %f2
+#CHECK: error: invalid register
+#CHECK: ldxbr %f0, %f14
+#CHECK: error: invalid register
+#CHECK: ldxbr %f2, %f0
+#CHECK: error: invalid register
+#CHECK: ldxbr %f14, %f0
+
+ ldxbr %f0, %f2
+ ldxbr %f0, %f14
+ ldxbr %f2, %f0
+ ldxbr %f14, %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
+#CHECK: lexbr %f0, %f2
+#CHECK: error: invalid register
+#CHECK: lexbr %f0, %f14
+#CHECK: error: invalid register
+#CHECK: lexbr %f2, %f0
+#CHECK: error: invalid register
+#CHECK: lexbr %f14, %f0
+
+ lexbr %f0, %f2
+ lexbr %f0, %f14
+ lexbr %f2, %f0
+ lexbr %f14, %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 register
+#CHECK: lgdr %f0, %f0
+#CHECK: error: invalid register
+#CHECK: lgdr %r0, %r0
+#CHECK: error: invalid register
+#CHECK: lgdr %r0, %a0
+#CHECK: error: invalid register
+#CHECK: lgdr %a0, %f0
+
+ lgdr %f0, %f0
+ lgdr %r0, %r0
+ lgdr %r0, %a0
+ lgdr %a0, %f0
+
+#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
+#CHECK: lnxbr %f0, %f2
+#CHECK: error: invalid register
+#CHECK: lnxbr %f0, %f14
+#CHECK: error: invalid register
+#CHECK: lnxbr %f2, %f0
+#CHECK: error: invalid register
+#CHECK: lnxbr %f14, %f0
+
+ lnxbr %f0, %f2
+ lnxbr %f0, %f14
+ lnxbr %f2, %f0
+ lnxbr %f14, %f0
+
+
+#CHECK: error: invalid register
+#CHECK: lpxbr %f0, %f2
+#CHECK: error: invalid register
+#CHECK: lpxbr %f0, %f14
+#CHECK: error: invalid register
+#CHECK: lpxbr %f2, %f0
+#CHECK: error: invalid register
+#CHECK: lpxbr %f14, %f0
+
+ lpxbr %f0, %f2
+ lpxbr %f0, %f14
+ lpxbr %f2, %f0
+ lpxbr %f14, %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
+#CHECK: lxr %f2, %f0
+#CHECK: error: invalid register
+#CHECK: lxr %f15, %f0
+#CHECK: error: invalid register
+#CHECK: lxr %f0, %f2
+#CHECK: error: invalid register
+#CHECK: lxr %f0, %f15
+
+ lxr %f2, %f0
+ lxr %f15, %f0
+ lxr %f0, %f2
+ lxr %f0, %f15
+
+#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
+#CHECK: lzxr %f2
+#CHECK: error: invalid register
+#CHECK: lzxr %f14
+#CHECK: error: invalid register
+#CHECK: lzxr %f15
+
+ lzxr %f2
+ lzxr %f14
+ lzxr %f15
+
+#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
+#CHECK: mlg %r1, 0
+#CHECK: error: invalid register
+#CHECK: mlg %r15, 0
+
+ mlg %r0, -524289
+ mlg %r0, 524288
+ mlg %r1, 0
+ mlg %r15, 0
+
+#CHECK: error: invalid register
+#CHECK: mlgr %r1, %r0
+#CHECK: error: invalid register
+#CHECK: mlgr %r15, %r0
+
+ mlgr %r1, %r0
+ mlgr %r15, %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
+#CHECK: mxbr %f0, %f2
+#CHECK: error: invalid register
+#CHECK: mxbr %f0, %f14
+#CHECK: error: invalid register
+#CHECK: mxbr %f2, %f0
+#CHECK: error: invalid register
+#CHECK: mxbr %f14, %f0
+
+ mxbr %f0, %f2
+ mxbr %f0, %f14
+ mxbr %f2, %f0
+ mxbr %f14, %f0
+
+
+#CHECK: error: invalid register
+#CHECK: mxdb %f2, 0
+#CHECK: error: invalid register
+#CHECK: mxdb %f15, 0
+#CHECK: error: invalid operand
+#CHECK: mxdb %f0, -1
+#CHECK: error: invalid operand
+#CHECK: mxdb %f0, 4096
+
+ mxdb %f2, 0
+ mxdb %f15, 0
+ mxdb %f0, -1
+ mxdb %f0, 4096
+
+#CHECK: error: invalid register
+#CHECK: mxdbr %f2, %f0
+#CHECK: error: invalid register
+#CHECK: mxdbr %f15, %f0
+
+ mxdbr %f2, %f0
+ mxdbr %f15, %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
+#CHECK: sqxbr %f0, %f2
+#CHECK: error: invalid register
+#CHECK: sqxbr %f0, %f14
+#CHECK: error: invalid register
+#CHECK: sqxbr %f2, %f0
+#CHECK: error: invalid register
+#CHECK: sqxbr %f14, %f0
+
+ sqxbr %f0, %f2
+ sqxbr %f0, %f14
+ sqxbr %f2, %f0
+ sqxbr %f14, %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
+#CHECK: sxbr %f0, %f2
+#CHECK: error: invalid register
+#CHECK: sxbr %f0, %f14
+#CHECK: error: invalid register
+#CHECK: sxbr %f2, %f0
+#CHECK: error: invalid register
+#CHECK: sxbr %f14, %f0
+
+ sxbr %f0, %f2
+ sxbr %f0, %f14
+ sxbr %f2, %f0
+ sxbr %f14, %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