blob: 57c69f60361bf13cf00acef4114cace626690161 [file] [log] [blame]
# For z10 only.
# RUN: not llvm-mc -triple s390x-linux-gnu -mcpu=z10 < %s 2> %t
# RUN: FileCheck < %t %s
# RUN: not llvm-mc -triple s390x-linux-gnu -mcpu=arch8 < %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: ad %f0, -1
#CHECK: error: invalid operand
#CHECK: ad %f0, 4096
ad %f0, -1
ad %f0, 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: instruction requires: fp-extension
#CHECK: adtra %f0, %f0, %f0, 0
adtra %f0, %f0, %f0, 0
#CHECK: error: invalid operand
#CHECK: ae %f0, -1
#CHECK: error: invalid operand
#CHECK: ae %f0, 4096
ae %f0, -1
ae %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: instruction requires: distinct-ops
#CHECK: aghik %r1, %r2, 3
aghik %r1, %r2, 3
#CHECK: error: instruction requires: distinct-ops
#CHECK: agrk %r2,%r3,%r4
agrk %r2,%r3,%r4
#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: instruction requires: high-word
#CHECK: ahhhr %r0, %r0, %r0
ahhhr %r0, %r0, %r0
#CHECK: error: instruction requires: high-word
#CHECK: ahhlr %r0, %r0, %r0
ahhlr %r0, %r0, %r0
#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: instruction requires: distinct-ops
#CHECK: ahik %r1, %r2, 3
ahik %r1, %r2, 3
#CHECK: error: invalid operand
#CHECK: ahy %r0, -524289
#CHECK: error: invalid operand
#CHECK: ahy %r0, 524288
ahy %r0, -524289
ahy %r0, 524288
#CHECK: error: instruction requires: high-word
#CHECK: aih %r0, 0
aih %r0, 0
#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: instruction requires: distinct-ops
#CHECK: alghsik %r1, %r2, 3
alghsik %r1, %r2, 3
#CHECK: error: instruction requires: distinct-ops
#CHECK: algrk %r2,%r3,%r4
algrk %r2,%r3,%r4
#CHECK: error: instruction requires: high-word
#CHECK: alhhhr %r0, %r0, %r0
alhhhr %r0, %r0, %r0
#CHECK: error: instruction requires: high-word
#CHECK: alhhlr %r0, %r0, %r0
alhhlr %r0, %r0, %r0
#CHECK: error: instruction requires: distinct-ops
#CHECK: alhsik %r1, %r2, 3
alhsik %r1, %r2, 3
#CHECK: error: instruction requires: distinct-ops
#CHECK: alrk %r2,%r3,%r4
alrk %r2,%r3,%r4
#CHECK: error: invalid operand
#CHECK: algsi -524289, 0
#CHECK: error: invalid operand
#CHECK: algsi 524288, 0
#CHECK: error: invalid use of indexed addressing
#CHECK: algsi 0(%r1,%r2), 0
#CHECK: error: invalid operand
#CHECK: algsi 0, -129
#CHECK: error: invalid operand
#CHECK: algsi 0, 128
algsi -524289, 0
algsi 524288, 0
algsi 0(%r1,%r2), 0
algsi 0, -129
algsi 0, 128
#CHECK: error: invalid operand
#CHECK: alsi -524289, 0
#CHECK: error: invalid operand
#CHECK: alsi 524288, 0
#CHECK: error: invalid use of indexed addressing
#CHECK: alsi 0(%r1,%r2), 0
#CHECK: error: invalid operand
#CHECK: alsi 0, -129
#CHECK: error: invalid operand
#CHECK: alsi 0, 128
alsi -524289, 0
alsi 524288, 0
alsi 0(%r1,%r2), 0
alsi 0, -129
alsi 0, 128
#CHECK: error: instruction requires: high-word
#CHECK: alsih %r0, 0
alsih %r0, 0
#CHECK: error: instruction requires: high-word
#CHECK: alsihn %r0, 0
alsihn %r0, 0
#CHECK: error: invalid operand
#CHECK: aly %r0, -524289
#CHECK: error: invalid operand
#CHECK: aly %r0, 524288
aly %r0, -524289
aly %r0, 524288
#CHECK: error: missing length in address
#CHECK: ap 0, 0(1)
#CHECK: error: missing length in address
#CHECK: ap 0(1), 0
#CHECK: error: missing length in address
#CHECK: ap 0(%r1), 0(1,%r1)
#CHECK: error: missing length in address
#CHECK: ap 0(1,%r1), 0(%r1)
#CHECK: error: invalid operand
#CHECK: ap 0(0,%r1), 0(1,%r1)
#CHECK: error: invalid operand
#CHECK: ap 0(1,%r1), 0(0,%r1)
#CHECK: error: invalid operand
#CHECK: ap 0(17,%r1), 0(1,%r1)
#CHECK: error: invalid operand
#CHECK: ap 0(1,%r1), 0(17,%r1)
#CHECK: error: invalid operand
#CHECK: ap -1(1,%r1), 0(1,%r1)
#CHECK: error: invalid operand
#CHECK: ap 4096(1,%r1), 0(1,%r1)
#CHECK: error: invalid operand
#CHECK: ap 0(1,%r1), -1(1,%r1)
#CHECK: error: invalid operand
#CHECK: ap 0(1,%r1), 4096(1,%r1)
#CHECK: error: %r0 used in an address
#CHECK: ap 0(1,%r0), 0(1,%r1)
#CHECK: error: %r0 used in an address
#CHECK: ap 0(1,%r1), 0(1,%r0)
#CHECK: error: invalid use of indexed addressing
#CHECK: ap 0(%r1,%r2), 0(1,%r1)
#CHECK: error: invalid use of indexed addressing
#CHECK: ap 0(1,%r2), 0(%r1,%r2)
#CHECK: error: unknown token in expression
#CHECK: ap 0(-), 0(1)
ap 0, 0(1)
ap 0(1), 0
ap 0(%r1), 0(1,%r1)
ap 0(1,%r1), 0(%r1)
ap 0(0,%r1), 0(1,%r1)
ap 0(1,%r1), 0(0,%r1)
ap 0(17,%r1), 0(1,%r1)
ap 0(1,%r1), 0(17,%r1)
ap -1(1,%r1), 0(1,%r1)
ap 4096(1,%r1), 0(1,%r1)
ap 0(1,%r1), -1(1,%r1)
ap 0(1,%r1), 4096(1,%r1)
ap 0(1,%r0), 0(1,%r1)
ap 0(1,%r1), 0(1,%r0)
ap 0(%r1,%r2), 0(1,%r1)
ap 0(1,%r2), 0(%r1,%r2)
ap 0(-), 0(1)
#CHECK: error: instruction requires: distinct-ops
#CHECK: ark %r2,%r3,%r4
ark %r2,%r3,%r4
#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 operand
#CHECK: au %f0, -1
#CHECK: error: invalid operand
#CHECK: au %f0, 4096
au %f0, -1
au %f0, 4096
#CHECK: error: invalid operand
#CHECK: aw %f0, -1
#CHECK: error: invalid operand
#CHECK: aw %f0, 4096
aw %f0, -1
aw %f0, 4096
#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 register pair
#CHECK: axr %f0, %f2
#CHECK: error: invalid register pair
#CHECK: axr %f2, %f0
axr %f0, %f2
axr %f2, %f0
#CHECK: error: invalid register pair
#CHECK: axtr %f0, %f0, %f2
#CHECK: error: invalid register pair
#CHECK: axtr %f0, %f2, %f0
#CHECK: error: invalid register pair
#CHECK: axtr %f2, %f0, %f0
axtr %f0, %f0, %f2
axtr %f0, %f2, %f0
axtr %f2, %f0, %f0
#CHECK: error: instruction requires: fp-extension
#CHECK: axtra %f0, %f0, %f0, 0
axtra %f0, %f0, %f0, 0
#CHECK: error: invalid operand
#CHECK: ay %r0, -524289
#CHECK: error: invalid operand
#CHECK: ay %r0, 524288
ay %r0, -524289
ay %r0, 524288
#CHECK: error: invalid operand
#CHECK: bal %r0, -1
#CHECK: error: invalid operand
#CHECK: bal %r0, 4096
bal %r0, -1
bal %r0, 4096
#CHECK: error: invalid operand
#CHECK: bas %r0, -1
#CHECK: error: invalid operand
#CHECK: bas %r0, 4096
bas %r0, -1
bas %r0, 4096
#CHECK: error: invalid operand
#CHECK: bc -1, 0(%r1)
#CHECK: error: invalid operand
#CHECK: bc 16, 0(%r1)
#CHECK: error: invalid operand
#CHECK: bc 0, -1
#CHECK: error: invalid operand
#CHECK: bc 0, 4096
bc -1, 0(%r1)
bc 16, 0(%r1)
bc 0, -1
bc 0, 4096
#CHECK: error: invalid operand
#CHECK: bcr -1, %r1
#CHECK: error: invalid operand
#CHECK: bcr 16, %r1
bcr -1, %r1
bcr 16, %r1
#CHECK: error: invalid operand
#CHECK: bct %r0, -1
#CHECK: error: invalid operand
#CHECK: bct %r0, 4096
bct %r0, -1
bct %r0, 4096
#CHECK: error: invalid operand
#CHECK: bctg %r0, -524289
#CHECK: error: invalid operand
#CHECK: bctg %r0, 524288
bctg %r0, -524289
bctg %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: offset out of range
#CHECK: brct %r0, -0x100002
#CHECK: error: offset out of range
#CHECK: brct %r0, -1
#CHECK: error: offset out of range
#CHECK: brct %r0, 1
#CHECK: error: offset out of range
#CHECK: brct %r0, 0x10000
brct %r0, -0x100002
brct %r0, -1
brct %r0, 1
brct %r0, 0x10000
#CHECK: error: offset out of range
#CHECK: brctg %r0, -0x100002
#CHECK: error: offset out of range
#CHECK: brctg %r0, -1
#CHECK: error: offset out of range
#CHECK: brctg %r0, 1
#CHECK: error: offset out of range
#CHECK: brctg %r0, 0x10000
brctg %r0, -0x100002
brctg %r0, -1
brctg %r0, 1
brctg %r0, 0x10000
#CHECK: error: instruction requires: high-word
#CHECK: brcth %r0, 0
brcth %r0, 0
#CHECK: error: offset out of range
#CHECK: brxh %r0, %r2, -0x100002
#CHECK: error: offset out of range
#CHECK: brxh %r0, %r2, -1
#CHECK: error: offset out of range
#CHECK: brxh %r0, %r2, 1
#CHECK: error: offset out of range
#CHECK: brxh %r0, %r2, 0x10000
brxh %r0, %r2, -0x100002
brxh %r0, %r2, -1
brxh %r0, %r2, 1
brxh %r0, %r2, 0x10000
#CHECK: error: offset out of range
#CHECK: brxhg %r0, %r2, -0x100002
#CHECK: error: offset out of range
#CHECK: brxhg %r0, %r2, -1
#CHECK: error: offset out of range
#CHECK: brxhg %r0, %r2, 1
#CHECK: error: offset out of range
#CHECK: brxhg %r0, %r2, 0x10000
brxhg %r0, %r2, -0x100002
brxhg %r0, %r2, -1
brxhg %r0, %r2, 1
brxhg %r0, %r2, 0x10000
#CHECK: error: offset out of range
#CHECK: brxle %r0, %r2, -0x100002
#CHECK: error: offset out of range
#CHECK: brxle %r0, %r2, -1
#CHECK: error: offset out of range
#CHECK: brxle %r0, %r2, 1
#CHECK: error: offset out of range
#CHECK: brxle %r0, %r2, 0x10000
brxle %r0, %r2, -0x100002
brxle %r0, %r2, -1
brxle %r0, %r2, 1
brxle %r0, %r2, 0x10000
#CHECK: error: offset out of range
#CHECK: brxlg %r0, %r2, -0x100002
#CHECK: error: offset out of range
#CHECK: brxlg %r0, %r2, -1
#CHECK: error: offset out of range
#CHECK: brxlg %r0, %r2, 1
#CHECK: error: offset out of range
#CHECK: brxlg %r0, %r2, 0x10000
brxlg %r0, %r2, -0x100002
brxlg %r0, %r2, -1
brxlg %r0, %r2, 1
brxlg %r0, %r2, 0x10000
#CHECK: error: invalid operand
#CHECK: bxh %r0, %r0, 4096
#CHECK: error: invalid use of indexed addressing
#CHECK: bxh %r0, %r0, 0(%r1,%r2)
bxh %r0, %r0, 4096
bxh %r0, %r0, 0(%r1,%r2)
#CHECK: error: invalid operand
#CHECK: bxhg %r0, %r0, -524289
#CHECK: error: invalid operand
#CHECK: bxhg %r0, %r0, 524288
#CHECK: error: invalid use of indexed addressing
#CHECK: bxhg %r0, %r0, 0(%r1,%r2)
bxhg %r0, %r0, -524289
bxhg %r0, %r0, 524288
bxhg %r0, %r0, 0(%r1,%r2)
#CHECK: error: invalid operand
#CHECK: bxle %r0, %r0, 4096
#CHECK: error: invalid use of indexed addressing
#CHECK: bxle %r0, %r0, 0(%r1,%r2)
bxle %r0, %r0, 4096
bxle %r0, %r0, 0(%r1,%r2)
#CHECK: error: invalid operand
#CHECK: bxleg %r0, %r0, -524289
#CHECK: error: invalid operand
#CHECK: bxleg %r0, %r0, 524288
#CHECK: error: invalid use of indexed addressing
#CHECK: bxleg %r0, %r0, 0(%r1,%r2)
bxleg %r0, %r0, -524289
bxleg %r0, %r0, 524288
bxleg %r0, %r0, 0(%r1,%r2)
#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: cd %f0, -1
#CHECK: error: invalid operand
#CHECK: cd %f0, 4096
cd %f0, -1
cd %f0, 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: instruction requires: fp-extension
#CHECK: cdfbra %f0, 0, %r0, 0
cdfbra %f0, 0, %r0, 0
#CHECK: error: instruction requires: fp-extension
#CHECK: cdftr %f0, 0, %r0, 0
cdftr %f0, 0, %r0, 0
#CHECK: error: instruction requires: fp-extension
#CHECK: cdgbra %f0, 0, %r0, 0
cdgbra %f0, 0, %r0, 0
#CHECK: error: instruction requires: fp-extension
#CHECK: cdgtra %f0, 0, %r0, 0
cdgtra %f0, 0, %r0, 0
#CHECK: error: instruction requires: fp-extension
#CHECK: cdlfbr %f0, 0, %r0, 0
cdlfbr %f0, 0, %r0, 0
#CHECK: error: instruction requires: fp-extension
#CHECK: cdlftr %f0, 0, %r0, 0
cdlftr %f0, 0, %r0, 0
#CHECK: error: instruction requires: fp-extension
#CHECK: cdlgbr %f0, 0, %r0, 0
cdlgbr %f0, 0, %r0, 0
#CHECK: error: instruction requires: fp-extension
#CHECK: cdlgtr %f0, 0, %r0, 0
cdlgtr %f0, 0, %r0, 0
#CHECK: error: invalid register pair
#CHECK: cds %r1, %r0, 0
#CHECK: error: invalid register pair
#CHECK: cds %r0, %r1, 0
#CHECK: error: invalid operand
#CHECK: cds %r0, %r0, -1
#CHECK: error: invalid operand
#CHECK: cds %r0, %r0, 4096
#CHECK: error: invalid use of indexed addressing
#CHECK: cds %r0, %r0, 0(%r1,%r2)
cds %r1, %r0, 0
cds %r0, %r1, 0
cds %r0, %r0, -1
cds %r0, %r0, 4096
cds %r0, %r0, 0(%r1,%r2)
#CHECK: error: invalid register pair
#CHECK: cdsg %r1, %r0, 0
#CHECK: error: invalid register pair
#CHECK: cdsg %r0, %r1, 0
#CHECK: error: invalid operand
#CHECK: cdsg %r0, %r0, -524289
#CHECK: error: invalid operand
#CHECK: cdsg %r0, %r0, 524288
#CHECK: error: invalid use of indexed addressing
#CHECK: cdsg %r0, %r0, 0(%r1,%r2)
cdsg %r1, %r0, 0
cdsg %r0, %r1, 0
cdsg %r0, %r0, -524289
cdsg %r0, %r0, 524288
cdsg %r0, %r0, 0(%r1,%r2)
#CHECK: error: invalid register pair
#CHECK: cdsy %r1, %r0, 0
#CHECK: error: invalid register pair
#CHECK: cdsy %r0, %r1, 0
#CHECK: error: invalid operand
#CHECK: cdsy %r0, %r0, -524289
#CHECK: error: invalid operand
#CHECK: cdsy %r0, %r0, 524288
#CHECK: error: invalid use of indexed addressing
#CHECK: cdsy %r0, %r0, 0(%r1,%r2)
cdsy %r1, %r0, 0
cdsy %r0, %r1, 0
cdsy %r0, %r0, -524289
cdsy %r0, %r0, 524288
cdsy %r0, %r0, 0(%r1,%r2)
#CHECK: error: invalid operand
#CHECK: ce %f0, -1
#CHECK: error: invalid operand
#CHECK: ce %f0, 4096
ce %f0, -1
ce %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: instruction requires: fp-extension
#CHECK: cefbra %f0, 0, %r0, 0
cefbra %f0, 0, %r0, 0
#CHECK: error: instruction requires: fp-extension
#CHECK: cegbra %f0, 0, %r0, 0
cegbra %f0, 0, %r0, 0
#CHECK: error: instruction requires: fp-extension
#CHECK: celfbr %f0, 0, %r0, 0
celfbr %f0, 0, %r0, 0
#CHECK: error: instruction requires: fp-extension
#CHECK: celgbr %f0, 0, %r0, 0
celgbr %f0, 0, %r0, 0
#CHECK: error: invalid register pair
#CHECK: cextr %f0, %f2
#CHECK: error: invalid register pair
#CHECK: cextr %f2, %f0
cextr %f0, %f2
cextr %f2, %f0
#CHECK: error: invalid operand
#CHECK: cfc -1
#CHECK: error: invalid operand
#CHECK: cfc 4096
#CHECK: error: invalid use of indexed addressing
#CHECK: cfc 0(%r1,%r2)
cfc -1
cfc 4096
cfc 0(%r1,%r2)
#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: instruction requires: fp-extension
#CHECK: cfdbra %r0, 0, %f0, 0
cfdbra %r0, 0, %f0, 0
#CHECK: error: instruction requires: fp-extension
#CHECK: cfdtr %r0, 0, %f0, 0
cfdtr %r0, 0, %f0, 0
#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: instruction requires: fp-extension
#CHECK: cfebra %r0, 0, %f0, 0
cfebra %r0, 0, %f0, 0
#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: instruction requires: fp-extension
#CHECK: cfxbra %r0, 0, %f0, 0
cfxbra %r0, 0, %f0, 0
#CHECK: error: instruction requires: fp-extension
#CHECK: cfxtr %r0, 0, %f0, 0
cfxtr %r0, 0, %f0, 0
#CHECK: error: invalid operand
#CHECK: cfxr %r0, -1, %f0
#CHECK: error: invalid operand
#CHECK: cfxr %r0, 16, %f0
#CHECK: error: invalid register pair
#CHECK: cfxr %r0, 0, %f2
cfxr %r0, -1, %f0
cfxr %r0, 16, %f0
cfxr %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: instruction requires: fp-extension
#CHECK: cgdbra %r0, 0, %f0, 0
cgdbra %r0, 0, %f0, 0
#CHECK: error: invalid operand
#CHECK: cgdtr %r0, -1, %f0
#CHECK: error: invalid operand
#CHECK: cgdtr %r0, 16, %f0
cgdtr %r0, -1, %f0
cgdtr %r0, 16, %f0
#CHECK: error: instruction requires: fp-extension
#CHECK: cgdtra %r0, 0, %f0, 0
cgdtra %r0, 0, %f0, 0
#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: instruction requires: fp-extension
#CHECK: cgebra %r0, 0, %f0, 0
cgebra %r0, 0, %f0, 0
#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: cgijno %r0, 0, 0, 0
#CHECK: error: invalid instruction
#CHECK: cgijo %r0, 0, 0, 0
cgijno %r0, 0, 0, 0
cgijo %r0, 0, 0, 0
#CHECK: error: invalid operand
#CHECK: cgit %r0, -32769
#CHECK: error: invalid operand
#CHECK: cgit %r0, 32768
#CHECK: error: invalid instruction
#CHECK: cgitno %r0, 0
#CHECK: error: invalid instruction
#CHECK: cgito %r0, 0
cgit %r0, -32769
cgit %r0, 32768
cgitno %r0, 0
cgito %r0, 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: cgrjno %r0, %r0, 0, 0
#CHECK: error: invalid instruction
#CHECK: cgrjo %r0, %r0, 0, 0
cgrjno %r0, %r0, 0, 0
cgrjo %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 instruction
#CHECK: cgrtno %r0, %r0
#CHECK: error: invalid instruction
#CHECK: cgrto %r0, %r0
cgrtno %r0, %r0
cgrto %r0, %r0
#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: instruction requires: fp-extension
#CHECK: cgxbra %r0, 0, %f0, 0
cgxbra %r0, 0, %f0, 0
#CHECK: error: invalid operand
#CHECK: cgxtr %r0, -1, %f0
#CHECK: error: invalid operand
#CHECK: cgxtr %r0, 16, %f0
#CHECK: error: invalid register pair
#CHECK: cgxtr %r0, 0, %f2
cgxtr %r0, -1, %f0
cgxtr %r0, 16, %f0
cgxtr %r0, 0, %f2
#CHECK: error: instruction requires: fp-extension
#CHECK: cgxtra %r0, 0, %f0, 0
cgxtra %r0, 0, %f0, 0
#CHECK: error: invalid operand
#CHECK: cgxr %r0, -1, %f0
#CHECK: error: invalid operand
#CHECK: cgxr %r0, 16, %f0
#CHECK: error: invalid register pair
#CHECK: cgxr %r0, 0, %f2
cgxr %r0, -1, %f0
cgxr %r0, 16, %f0
cgxr %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: instruction requires: high-word
#CHECK: chf %r0, 0
chf %r0, 0
#CHECK: error: instruction requires: high-word
#CHECK: chhr %r0, %r0
chhr %r0, %r0
#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: instruction requires: high-word
#CHECK: chlr %r0, %r0
chlr %r0, %r0
#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: instruction requires: high-word
#CHECK: cih %r0, 0
cih %r0, 0
#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: cijno %r0, 0, 0, 0
#CHECK: error: invalid instruction
#CHECK: cijo %r0, 0, 0, 0
cijno %r0, 0, 0, 0
cijo %r0, 0, 0, 0
#CHECK: error: invalid operand
#CHECK: cit %r0, -32769
#CHECK: error: invalid operand
#CHECK: cit %r0, 32768
#CHECK: error: invalid instruction
#CHECK: citno %r0, 0
#CHECK: error: invalid instruction
#CHECK: cito %r0, 0
cit %r0, -32769
cit %r0, 32768
citno %r0, 0
cito %r0, 0
#CHECK: error: invalid register pair
#CHECK: cksm %r0, %r1
cksm %r0, %r1
#CHECK: error: invalid operand
#CHECK: cl %r0, -1
#CHECK: error: invalid operand
#CHECK: cl %r0, 4096
cl %r0, -1
cl %r0, 4096
#CHECK: error: missing length in address
#CHECK: clc 0, 0
#CHECK: error: missing length in address
#CHECK: clc 0(%r1), 0(%r1)
#CHECK: error: invalid use of length addressing
#CHECK: clc 0(1,%r1), 0(2,%r1)
#CHECK: error: invalid operand
#CHECK: clc 0(0,%r1), 0(%r1)
#CHECK: error: invalid operand
#CHECK: clc 0(257,%r1), 0(%r1)
#CHECK: error: invalid operand
#CHECK: clc -1(1,%r1), 0(%r1)
#CHECK: error: invalid operand
#CHECK: clc 4096(1,%r1), 0(%r1)
#CHECK: error: invalid operand
#CHECK: clc 0(1,%r1), -1(%r1)
#CHECK: error: invalid operand
#CHECK: clc 0(1,%r1), 4096(%r1)
#CHECK: error: %r0 used in an address
#CHECK: clc 0(1,%r0), 0(%r1)
#CHECK: error: %r0 used in an address
#CHECK: clc 0(1,%r1), 0(%r0)
#CHECK: error: invalid use of indexed addressing
#CHECK: clc 0(%r1,%r2), 0(%r1)
#CHECK: error: invalid use of indexed addressing
#CHECK: clc 0(1,%r2), 0(%r1,%r2)
#CHECK: error: unknown token in expression
#CHECK: clc 0(-), 0
clc 0, 0
clc 0(%r1), 0(%r1)
clc 0(1,%r1), 0(2,%r1)
clc 0(0,%r1), 0(%r1)
clc 0(257,%r1), 0(%r1)
clc -1(1,%r1), 0(%r1)
clc 4096(1,%r1), 0(%r1)
clc 0(1,%r1), -1(%r1)
clc 0(1,%r1), 4096(%r1)
clc 0(1,%r0), 0(%r1)
clc 0(1,%r1), 0(%r0)
clc 0(%r1,%r2), 0(%r1)
clc 0(1,%r2), 0(%r1,%r2)
clc 0(-), 0
#CHECK: error: invalid register pair
#CHECK: clcl %r1, %r0
#CHECK: error: invalid register pair
#CHECK: clcl %r0, %r1
clcl %r1, %r0
clcl %r0, %r1
#CHECK: error: invalid register pair
#CHECK: clcle %r1, %r0
#CHECK: error: invalid register pair
#CHECK: clcle %r0, %r1
#CHECK: error: invalid operand
#CHECK: clcle %r0, %r0, -1
#CHECK: error: invalid operand
#CHECK: clcle %r0, %r0, 4096
clcle %r1, %r0, 0
clcle %r0, %r1, 0
clcle %r0, %r0, -1
clcle %r0, %r0, 4096
#CHECK: error: invalid register pair
#CHECK: clclu %r1, %r0
#CHECK: error: invalid register pair
#CHECK: clclu %r0, %r1
#CHECK: error: invalid operand
#CHECK: clclu %r0, %r0, -524289
#CHECK: error: invalid operand
#CHECK: clclu %r0, %r0, 524288
clclu %r1, %r0, 0
clclu %r0, %r1, 0
clclu %r0, %r0, -524289
clclu %r0, %r0, 524288
#CHECK: error: instruction requires: fp-extension
#CHECK: clfdbr %r0, 0, %f0, 0
clfdbr %r0, 0, %f0, 0
#CHECK: error: instruction requires: fp-extension
#CHECK: clfdtr %r0, 0, %f0, 0
clfdtr %r0, 0, %f0, 0
#CHECK: error: instruction requires: fp-extension
#CHECK: clfebr %r0, 0, %f0, 0
clfebr %r0, 0, %f0, 0
#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: clfit %r0, -1
#CHECK: error: invalid operand
#CHECK: clfit %r0, 65536
#CHECK: error: invalid instruction
#CHECK: clfitno %r0, 0
#CHECK: error: invalid instruction
#CHECK: clfito %r0, 0
clfit %r0, -1
clfit %r0, 65536
clfitno %r0, 0
clfito %r0, 0
#CHECK: error: instruction requires: fp-extension
#CHECK: clfxbr %r0, 0, %f0, 0
clfxbr %r0, 0, %f0, 0
#CHECK: error: instruction requires: fp-extension
#CHECK: clfxtr %r0, 0, %f0, 0
clfxtr %r0, 0, %f0, 0
#CHECK: error: invalid operand
#CHECK: clg %r0, -524289
#CHECK: error: invalid operand
#CHECK: clg %r0, 524288
clg %r0, -524289
clg %r0, 524288
#CHECK: error: instruction requires: fp-extension
#CHECK: clgdbr %r0, 0, %f0, 0
clgdbr %r0, 0, %f0, 0
#CHECK: error: instruction requires: fp-extension
#CHECK: clgdtr %r0, 0, %f0, 0
clgdtr %r0, 0, %f0, 0
#CHECK: error: instruction requires: fp-extension
#CHECK: clgebr %r0, 0, %f0, 0
clgebr %r0, 0, %f0, 0
#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: invalid operand
#CHECK: clgij %r0, -1, 0, 0
#CHECK: error: invalid operand
#CHECK: clgij %r0, 256, 0, 0
clgij %r0, -1, 0, 0
clgij %r0, 256, 0, 0
#CHECK: error: offset out of range
#CHECK: clgij %r0, 0, 0, -0x100002
#CHECK: error: offset out of range
#CHECK: clgij %r0, 0, 0, -1
#CHECK: error: offset out of range
#CHECK: clgij %r0, 0, 0, 1
#CHECK: error: offset out of range
#CHECK: clgij %r0, 0, 0, 0x10000
clgij %r0, 0, 0, -0x100002
clgij %r0, 0, 0, -1
clgij %r0, 0, 0, 1
clgij %r0, 0, 0, 0x10000
#CHECK: error: invalid instruction
#CHECK: clgijno %r0, 0, 0, 0
#CHECK: error: invalid instruction
#CHECK: clgijo %r0, 0, 0, 0
clgijno %r0, 0, 0, 0
clgijo %r0, 0, 0, 0
#CHECK: error: invalid operand
#CHECK: clgit %r0, -1
#CHECK: error: invalid operand
#CHECK: clgit %r0, 65536
#CHECK: error: invalid instruction
#CHECK: clgitno %r0, 0
#CHECK: error: invalid instruction
#CHECK: clgito %r0, 0
clgit %r0, -1
clgit %r0, 65536
clgitno %r0, 0
clgito %r0, 0
#CHECK: error: offset out of range
#CHECK: clgrj %r0, %r0, 0, -0x100002
#CHECK: error: offset out of range
#CHECK: clgrj %r0, %r0, 0, -1
#CHECK: error: offset out of range
#CHECK: clgrj %r0, %r0, 0, 1
#CHECK: error: offset out of range
#CHECK: clgrj %r0, %r0, 0, 0x10000
clgrj %r0, %r0, 0, -0x100002
clgrj %r0, %r0, 0, -1
clgrj %r0, %r0, 0, 1
clgrj %r0, %r0, 0, 0x10000
#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 instruction
#CHECK: clgrtno %r0, %r0
#CHECK: error: invalid instruction
#CHECK: clgrto %r0, %r0
clgrtno %r0, %r0
clgrto %r0, %r0
#CHECK: error: instruction requires: fp-extension
#CHECK: clgxbr %r0, 0, %f0, 0
clgxbr %r0, 0, %f0, 0
#CHECK: error: instruction requires: fp-extension
#CHECK: clgxtr %r0, 0, %f0, 0
clgxtr %r0, 0, %f0, 0
#CHECK: error: instruction requires: high-word
#CHECK: clhf %r0, 0
clhf %r0, 0
#CHECK: error: instruction requires: high-word
#CHECK: clhhr %r0, %r0
clhhr %r0, %r0
#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: instruction requires: high-word
#CHECK: clhlr %r0, %r0
clhlr %r0, %r0
#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: instruction requires: high-word
#CHECK: clih %r0, 0
clih %r0, 0
#CHECK: error: invalid operand
#CHECK: clij %r0, -1, 0, 0
#CHECK: error: invalid operand
#CHECK: clij %r0, 256, 0, 0
clij %r0, -1, 0, 0
clij %r0, 256, 0, 0
#CHECK: error: offset out of range
#CHECK: clij %r0, 0, 0, -0x100002
#CHECK: error: offset out of range
#CHECK: clij %r0, 0, 0, -1
#CHECK: error: offset out of range
#CHECK: clij %r0, 0, 0, 1
#CHECK: error: offset out of range
#CHECK: clij %r0, 0, 0, 0x10000
clij %r0, 0, 0, -0x100002
clij %r0, 0, 0, -1
clij %r0, 0, 0, 1
clij %r0, 0, 0, 0x10000
#CHECK: error: invalid instruction
#CHECK: clijno %r0, 0, 0, 0
#CHECK: error: invalid instruction
#CHECK: clijo %r0, 0, 0, 0
clijno %r0, 0, 0, 0
clijo %r0, 0, 0, 0
#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: invalid operand
#CHECK: clm %r0, 0, -1
#CHECK: error: invalid operand
#CHECK: clm %r0, 0, 4096
#CHECK: error: invalid operand
#CHECK: clm %r0, -1, 0
#CHECK: error: invalid operand
#CHECK: clm %r0, 16, 0
clm %r0, 0, -1
clm %r0, 0, 4096
clm %r0, -1, 0
clm %r0, 16, 0
#CHECK: error: invalid operand
#CHECK: clmh %r0, 0, -524289
#CHECK: error: invalid operand
#CHECK: clmh %r0, 0, 524288
#CHECK: error: invalid operand
#CHECK: clmh %r0, -1, 0
#CHECK: error: invalid operand
#CHECK: clmh %r0, 16, 0
clmh %r0, 0, -524289
clmh %r0, 0, 524288
clmh %r0, -1, 0
clmh %r0, 16, 0
#CHECK: error: invalid operand
#CHECK: clmy %r0, 0, -524289
#CHECK: error: invalid operand
#CHECK: clmy %r0, 0, 524288
#CHECK: error: invalid operand
#CHECK: clmy %r0, -1, 0
#CHECK: error: invalid operand
#CHECK: clmy %r0, 16, 0
clmy %r0, 0, -524289
clmy %r0, 0, 524288
clmy %r0, -1, 0
clmy %r0, 16, 0
#CHECK: error: offset out of range
#CHECK: clrj %r0, %r0, 0, -0x100002
#CHECK: error: offset out of range
#CHECK: clrj %r0, %r0, 0, -1
#CHECK: error: offset out of range
#CHECK: clrj %r0, %r0, 0, 1
#CHECK: error: offset out of range
#CHECK: clrj %r0, %r0, 0, 0x10000
clrj %r0, %r0, 0, -0x100002
clrj %r0, %r0, 0, -1
clrj %r0, %r0, 0, 1
clrj %r0, %r0, 0, 0x10000
#CHECK: error: invalid instruction
#CHECK: clrjno %r0, %r0, 0, 0
#CHECK: error: invalid instruction
#CHECK: clrjo %r0, %r0, 0, 0
clrjno %r0, %r0, 0, 0
clrjo %r0, %r0, 0, 0
#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 instruction
#CHECK: clrtno %r0, %r0
#CHECK: error: invalid instruction
#CHECK: clrto %r0, %r0
clrtno %r0, %r0
clrto %r0, %r0
#CHECK: error: invalid operand
#CHECK: cly %r0, -524289
#CHECK: error: invalid operand
#CHECK: cly %r0, 524288
cly %r0, -524289
cly %r0, 524288
#CHECK: error: invalid register pair
#CHECK: cmpsc %r1, %r0
#CHECK: error: invalid register pair
#CHECK: cmpsc %r0, %r1
cmpsc %r1, %r0
cmpsc %r0, %r1
#CHECK: error: missing length in address
#CHECK: cp 0, 0(1)
#CHECK: error: missing length in address
#CHECK: cp 0(1), 0
#CHECK: error: missing length in address
#CHECK: cp 0(%r1), 0(1,%r1)
#CHECK: error: missing length in address
#CHECK: cp 0(1,%r1), 0(%r1)
#CHECK: error: invalid operand
#CHECK: cp 0(0,%r1), 0(1,%r1)
#CHECK: error: invalid operand
#CHECK: cp 0(1,%r1), 0(0,%r1)
#CHECK: error: invalid operand
#CHECK: cp 0(17,%r1), 0(1,%r1)
#CHECK: error: invalid operand
#CHECK: cp 0(1,%r1), 0(17,%r1)
#CHECK: error: invalid operand
#CHECK: cp -1(1,%r1), 0(1,%r1)
#CHECK: error: invalid operand
#CHECK: cp 4096(1,%r1), 0(1,%r1)
#CHECK: error: invalid operand
#CHECK: cp 0(1,%r1), -1(1,%r1)
#CHECK: error: invalid operand
#CHECK: cp 0(1,%r1), 4096(1,%r1)
#CHECK: error: %r0 used in an address
#CHECK: cp 0(1,%r0), 0(1,%r1)
#CHECK: error: %r0 used in an address
#CHECK: cp 0(1,%r1), 0(1,%r0)
#CHECK: error: invalid use of indexed addressing
#CHECK: cp 0(%r1,%r2), 0(1,%r1)
#CHECK: error: invalid use of indexed addressing
#CHECK: cp 0(1,%r2), 0(%r1,%r2)
#CHECK: error: unknown token in expression
#CHECK: cp 0(-), 0(1)
cp 0, 0(1)
cp 0(1), 0
cp 0(%r1), 0(1,%r1)
cp 0(1,%r1), 0(%r1)
cp 0(0,%r1), 0(1,%r1)
cp 0(1,%r1), 0(0,%r1)
cp 0(17,%r1), 0(1,%r1)
cp 0(1,%r1), 0(17,%r1)
cp -1(1,%r1), 0(1,%r1)
cp 4096(1,%r1), 0(1,%r1)
cp 0(1,%r1), -1(1,%r1)
cp 0(1,%r1), 4096(1,%r1)
cp 0(1,%r0), 0(1,%r1)
cp 0(1,%r1), 0(1,%r0)
cp 0(%r1,%r2), 0(1,%r1)
cp 0(1,%r2), 0(%r1,%r2)
cp 0(-), 0(1)
#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: crjno %r0, %r0, 0, 0
#CHECK: error: invalid instruction
#CHECK: crjo %r0, %r0, 0, 0
crjno %r0, %r0, 0, 0
crjo %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 instruction
#CHECK: crtno %r0, %r0
#CHECK: error: invalid instruction
#CHECK: crto %r0, %r0
crtno %r0, %r0
crto %r0, %r0
#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: csdtr %r0, %f0, -1
#CHECK: error: invalid operand
#CHECK: csdtr %r0, %f0, 16
csdtr %r0, %f0, -1
csdtr %r0, %f0, 16
#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 register pair
#CHECK: csp %r1, %r0
csp %r1, %r0
#CHECK: error: invalid register pair
#CHECK: cspg %r1, %r0
cspg %r1, %r0
#CHECK: error: invalid use of indexed addressing
#CHECK: csst 160(%r1,%r15), 160(%r15), %r2
#CHECK: error: invalid operand
#CHECK: csst -1(%r1), 160(%r15), %r2
#CHECK: error: invalid operand
#CHECK: csst 4096(%r1), 160(%r15), %r2
#CHECK: error: invalid operand
#CHECK: csst 0(%r1), -1(%r15), %r2
#CHECK: error: invalid operand
#CHECK: csst 0(%r1), 4096(%r15), %r2
csst 160(%r1,%r15), 160(%r15), %r2
csst -1(%r1), 160(%r15), %r2
csst 4096(%r1), 160(%r15), %r2
csst 0(%r1), -1(%r15), %r2
csst 0(%r1), 4096(%r15), %r2
#CHECK: error: invalid operand
#CHECK: csxtr %r0, %f0, -1
#CHECK: error: invalid operand
#CHECK: csxtr %r0, %f0, 16
#CHECK: error: invalid register pair
#CHECK: csxtr %r0, %f2, 0
#CHECK: error: invalid register pair
#CHECK: csxtr %r1, %f0, 0
csxtr %r0, %f0, -1
csxtr %r0, %f0, 16
csxtr %r0, %f2, 0
csxtr %r1, %f0, 0
#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: cu12 %r1, %r0
#CHECK: error: invalid register pair
#CHECK: cu12 %r0, %r1
#CHECK: error: invalid operand
#CHECK: cu12 %r2, %r4, -1
#CHECK: error: invalid operand
#CHECK: cu12 %r2, %r4, 16
cu12 %r1, %r0
cu12 %r0, %r1
cu12 %r2, %r4, -1
cu12 %r2, %r4, 16
#CHECK: error: invalid register pair
#CHECK: cu14 %r1, %r0
#CHECK: error: invalid register pair
#CHECK: cu14 %r0, %r1
#CHECK: error: invalid operand
#CHECK: cu14 %r2, %r4, -1
#CHECK: error: invalid operand
#CHECK: cu14 %r2, %r4, 16
cu14 %r1, %r0
cu14 %r0, %r1
cu14 %r2, %r4, -1
cu14 %r2, %r4, 16
#CHECK: error: invalid register pair
#CHECK: cu21 %r1, %r0
#CHECK: error: invalid register pair
#CHECK: cu21 %r0, %r1
#CHECK: error: invalid operand
#CHECK: cu21 %r2, %r4, -1
#CHECK: error: invalid operand
#CHECK: cu21 %r2, %r4, 16
cu21 %r1, %r0
cu21 %r0, %r1
cu21 %r2, %r4, -1
cu21 %r2, %r4, 16
#CHECK: error: invalid register pair
#CHECK: cu24 %r1, %r0
#CHECK: error: invalid register pair
#CHECK: cu24 %r0, %r1
#CHECK: error: invalid operand
#CHECK: cu24 %r2, %r4, -1
#CHECK: error: invalid operand
#CHECK: cu24 %r2, %r4, 16
cu24 %r1, %r0
cu24 %r0, %r1
cu24 %r2, %r4, -1
cu24 %r2, %r4, 16
#CHECK: error: invalid register pair
#CHECK: cu41 %r1, %r0
#CHECK: error: invalid register pair
#CHECK: cu41 %r0, %r1
cu41 %r1, %r0
cu41 %r0, %r1
#CHECK: error: invalid register pair
#CHECK: cu42 %r1, %r0
#CHECK: error: invalid register pair
#CHECK: cu42 %r0, %r1
cu42 %r1, %r0
cu42 %r0, %r1
#CHECK: error: invalid register pair
#CHECK: cuse %r1, %r0
#CHECK: error: invalid register pair
#CHECK: cuse %r0, %r1
cuse %r1, %r0
cuse %r0, %r1
#CHECK: error: invalid register pair
#CHECK: cutfu %r1, %r0
#CHECK: error: invalid register pair
#CHECK: cutfu %r0, %r1
#CHECK: error: invalid operand
#CHECK: cutfu %r2, %r4, -1
#CHECK: error: invalid operand
#CHECK: cutfu %r2, %r4, 16
cutfu %r1, %r0
cutfu %r0, %r1
cutfu %r2, %r4, -1
cutfu %r2, %r4, 16
#CHECK: error: invalid register pair
#CHECK: cuutf %r1, %r0
#CHECK: error: invalid register pair
#CHECK: cuutf %r0, %r1
#CHECK: error: invalid operand
#CHECK: cuutf %r2, %r4, -1
#CHECK: error: invalid operand
#CHECK: cuutf %r2, %r4, 16
cuutf %r1, %r0
cuutf %r0, %r1
cuutf %r2, %r4, -1
cuutf %r2, %r4, 16
#CHECK: error: invalid register pair
#CHECK: cuxtr %r0, %f2
#CHECK: error: invalid register pair
#CHECK: cuxtr %r1, %f0
cuxtr %r0, %f2
cuxtr %r1, %f0
#CHECK: error: invalid operand
#CHECK: cvb %r0, -1
#CHECK: error: invalid operand
#CHECK: cvb %r0, 4096
cvb %r0, -1
cvb %r0, 4096
#CHECK: error: invalid operand
#CHECK: cvbg %r0, -524289
#CHECK: error: invalid operand
#CHECK: cvbg %r0, 524288
cvbg %r0, -524289
cvbg %r0, 524288
#CHECK: error: invalid operand
#CHECK: cvby %r0, -524289
#CHECK: error: invalid operand
#CHECK: cvby %r0, 524288
cvby %r0, -524289
cvby %r0, 524288
#CHECK: error: invalid operand
#CHECK: cvd %r0, -1
#CHECK: error: invalid operand
#CHECK: cvd %r0, 4096
cvd %r0, -1
cvd %r0, 4096
#CHECK: error: invalid operand
#CHECK: cvdg %r0, -524289
#CHECK: error: invalid operand
#CHECK: cvdg %r0, 524288
cvdg %r0, -524289
cvdg %r0, 524288
#CHECK: error: invalid operand
#CHECK: cvdy %r0, -524289
#CHECK: error: invalid operand
#CHECK: cvdy %r0, 524288
cvdy %r0, -524289
cvdy %r0, 524288
#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: instruction requires: fp-extension
#CHECK: cxfbra %f0, 0, %r0, 0
cxfbra %f0, 0, %r0, 0
#CHECK: error: instruction requires: fp-extension
#CHECK: cxftr %f0, 0, %r0, 0
cxftr %f0, 0, %r0, 0
#CHECK: error: invalid register pair
#CHECK: cxfr %f2, %r0
cxfr %f2, %r0
#CHECK: error: invalid register pair
#CHECK: cxgbr %f2, %r0
cxgbr %f2, %r0
#CHECK: error: instruction requires: fp-extension
#CHECK: cxgbra %f0, 0, %r0, 0
cxgbra %f0, 0, %r0, 0
#CHECK: error: invalid register pair
#CHECK: cxgr %f2, %r0
cxgr %f2, %r0
#CHECK: error: invalid register pair
#CHECK: cxgtr %f2, %r0
cxgtr %f2, %r0
#CHECK: error: instruction requires: fp-extension
#CHECK: cxgtra %f0, 0, %r0, 0
cxgtra %f0, 0, %r0, 0
#CHECK: error: instruction requires: fp-extension
#CHECK: cxlfbr %f0, 0, %r0, 0
cxlfbr %f0, 0, %r0, 0
#CHECK: error: instruction requires: fp-extension
#CHECK: cxlftr %f0, 0, %r0, 0
cxlftr %f0, 0, %r0, 0
#CHECK: error: instruction requires: fp-extension
#CHECK: cxlgbr %f0, 0, %r0, 0
cxlgbr %f0, 0, %r0, 0
#CHECK: error: instruction requires: fp-extension
#CHECK: cxlgtr %f0, 0, %r0, 0
cxlgtr %f0, 0, %r0, 0
#CHECK: error: invalid register pair
#CHECK: cxr %f0, %f2
#CHECK: error: invalid register pair
#CHECK: cxr %f2, %f0
cxr %f0, %f2
cxr %f2, %f0
#CHECK: error: invalid register pair
#CHECK: cxstr %f0, %r1
#CHECK: error: invalid register pair
#CHECK: cxstr %f2, %r0
cxstr %f0, %r1
cxstr %f2, %r0
#CHECK: error: invalid register pair
#CHECK: cxtr %f0, %f2
#CHECK: error: invalid register pair
#CHECK: cxtr %f2, %f0
cxtr %f0, %f2
cxtr %f2, %f0
#CHECK: error: invalid register pair
#CHECK: cxutr %f0, %r1
#CHECK: error: invalid register pair
#CHECK: cxutr %f2, %r0
cxutr %f0, %r1
cxutr %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: d %r0, -1
#CHECK: error: invalid operand
#CHECK: d %r0, 4096
#CHECK: error: invalid register pair
#CHECK: d %r1, 0
d %r0, -1
d %r0, 4096
d %r1, 0
#CHECK: error: invalid operand
#CHECK: dd %f0, -1
#CHECK: error: invalid operand
#CHECK: dd %f0, 4096
dd %f0, -1
dd %f0, 4096
#CHECK: error: invalid operand
#CHECK: ddb %f0, -1
#CHECK: error: invalid operand
#CHECK: ddb %f0, 4096
ddb %f0, -1
ddb %f0, 4096
#CHECK: error: instruction requires: fp-extension
#CHECK: ddtra %f0, %f0, %f0, 0
ddtra %f0, %f0, %f0, 0
#CHECK: error: invalid operand
#CHECK: de %f0, -1
#CHECK: error: invalid operand
#CHECK: de %f0, 4096
de %f0, -1
de %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: diag %r0, %r0, -1
#CHECK: error: invalid operand
#CHECK: diag %r0, %r0, 4096
#CHECK: error: invalid use of indexed addressing
#CHECK: diag %r0, %r0, 0(%r1,%r2)
diag %r0, %r0, -1
diag %r0, %r0, 4096
diag %r0, %r0, 0(%r1,%r2)
#CHECK: error: invalid operand
#CHECK: didbr %f0, %f0, %f0, -1
#CHECK: error: invalid operand
#CHECK: didbr %f0, %f0, %f0, 16
didbr %f0, %f0, %f0, -1
didbr %f0, %f0, %f0, 16
#CHECK: error: invalid operand
#CHECK: diebr %f0, %f0, %f0, -1
#CHECK: error: invalid operand
#CHECK: diebr %f0, %f0, %f0, 16
diebr %f0, %f0, %f0, -1
diebr %f0, %f0, %f0, 16
#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 register pair
#CHECK: dr %r1, %r0
dr %r1, %r0
#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: missing length in address
#CHECK: dp 0, 0(1)
#CHECK: error: missing length in address
#CHECK: dp 0(1), 0
#CHECK: error: missing length in address
#CHECK: dp 0(%r1), 0(1,%r1)
#CHECK: error: missing length in address
#CHECK: dp 0(1,%r1), 0(%r1)
#CHECK: error: invalid operand
#CHECK: dp 0(0,%r1), 0(1,%r1)
#CHECK: error: invalid operand
#CHECK: dp 0(1,%r1), 0(0,%r1)
#CHECK: error: invalid operand
#CHECK: dp 0(17,%r1), 0(1,%r1)
#CHECK: error: invalid operand
#CHECK: dp 0(1,%r1), 0(17,%r1)
#CHECK: error: invalid operand
#CHECK: dp -1(1,%r1), 0(1,%r1)
#CHECK: error: invalid operand
#CHECK: dp 4096(1,%r1), 0(1,%r1)
#CHECK: error: invalid operand
#CHECK: dp 0(1,%r1), -1(1,%r1)
#CHECK: error: invalid operand
#CHECK: dp 0(1,%r1), 4096(1,%r1)
#CHECK: error: %r0 used in an address
#CHECK: dp 0(1,%r0), 0(1,%r1)
#CHECK: error: %r0 used in an address
#CHECK: dp 0(1,%r1), 0(1,%r0)
#CHECK: error: invalid use of indexed addressing
#CHECK: dp 0(%r1,%r2), 0(1,%r1)
#CHECK: error: invalid use of indexed addressing
#CHECK: dp 0(1,%r2), 0(%r1,%r2)
#CHECK: error: unknown token in expression
#CHECK: dp 0(-), 0(1)
dp 0, 0(1)
dp 0(1), 0
dp 0(%r1), 0(1,%r1)
dp 0(1,%r1), 0(%r1)
dp 0(0,%r1), 0(1,%r1)
dp 0(1,%r1), 0(0,%r1)
dp 0(17,%r1), 0(1,%r1)
dp 0(1,%r1), 0(17,%r1)
dp -1(1,%r1), 0(1,%r1)
dp 4096(1,%r1), 0(1,%r1)
dp 0(1,%r1), -1(1,%r1)
dp 0(1,%r1), 4096(1,%r1)
dp 0(1,%r0), 0(1,%r1)
dp 0(1,%r1), 0(1,%r0)
dp 0(%r1,%r2), 0(1,%r1)
dp 0(1,%r2), 0(%r1,%r2)
dp 0(-), 0(1)
#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 register pair
#CHECK: dxr %f0, %f2
#CHECK: error: invalid register pair
#CHECK: dxr %f2, %f0
dxr %f0, %f2
dxr %f2, %f0
#CHECK: error: invalid register pair
#CHECK: dxtr %f0, %f0, %f2
#CHECK: error: invalid register pair
#CHECK: dxtr %f0, %f2, %f0
#CHECK: error: invalid register pair
#CHECK: dxtr %f2, %f0, %f0
dxtr %f0, %f0, %f2
dxtr %f0, %f2, %f0
dxtr %f2, %f0, %f0
#CHECK: error: instruction requires: fp-extension
#CHECK: dxtra %f0, %f0, %f0, 0
dxtra %f0, %f0, %f0, 0
#CHECK: error: invalid operand
#CHECK: ecag %r0, %r0, -524289
#CHECK: error: invalid operand
#CHECK: ecag %r0, %r0, 524288
#CHECK: error: invalid use of indexed addressing
#CHECK: ecag %r0, %r0, 0(%r1,%r2)
ecag %r0, %r0, -524289
ecag %r0, %r0, 524288
ecag %r0, %r0, 0(%r1,%r2)
#CHECK: error: invalid use of indexed addressing
#CHECK: ectg 160(%r1,%r15),160(%r15), %r2
#CHECK: error: invalid operand
#CHECK: ectg -1(%r1),160(%r15), %r2
#CHECK: error: invalid operand
#CHECK: ectg 4096(%r1),160(%r15), %r2
#CHECK: error: invalid operand
#CHECK: ectg 0(%r1),-1(%r15), %r2
#CHECK: error: invalid operand
#CHECK: ectg 0(%r1),4096(%r15), %r2
ectg 160(%r1,%r15),160(%r15), %r2
ectg -1(%r1),160(%r15), %r2
ectg 4096(%r1),160(%r15), %r2
ectg 0(%r1),-1(%r15), %r2
ectg 0(%r1),4096(%r15), %r2
#CHECK: error: missing length in address
#CHECK: ed 0, 0
#CHECK: error: missing length in address
#CHECK: ed 0(%r1), 0(%r1)
#CHECK: error: invalid use of length addressing
#CHECK: ed 0(1,%r1), 0(2,%r1)
#CHECK: error: invalid operand
#CHECK: ed 0(0,%r1), 0(%r1)
#CHECK: error: invalid operand
#CHECK: ed 0(257,%r1), 0(%r1)
#CHECK: error: invalid operand
#CHECK: ed -1(1,%r1), 0(%r1)
#CHECK: error: invalid operand
#CHECK: ed 4096(1,%r1), 0(%r1)
#CHECK: error: invalid operand
#CHECK: ed 0(1,%r1), -1(%r1)
#CHECK: error: invalid operand
#CHECK: ed 0(1,%r1), 4096(%r1)
#CHECK: error: %r0 used in an address
#CHECK: ed 0(1,%r0), 0(%r1)
#CHECK: error: %r0 used in an address
#CHECK: ed 0(1,%r1), 0(%r0)
#CHECK: error: invalid use of indexed addressing
#CHECK: ed 0(%r1,%r2), 0(%r1)
#CHECK: error: invalid use of indexed addressing
#CHECK: ed 0(1,%r2), 0(%r1,%r2)
#CHECK: error: unknown token in expression
#CHECK: ed 0(-), 0
ed 0, 0
ed 0(%r1), 0(%r1)
ed 0(1,%r1), 0(2,%r1)
ed 0(0,%r1), 0(%r1)
ed 0(257,%r1), 0(%r1)
ed -1(1,%r1), 0(%r1)
ed 4096(1,%r1), 0(%r1)
ed 0(1,%r1), -1(%r1)
ed 0(1,%r1), 4096(%r1)
ed 0(1,%r0), 0(%r1)
ed 0(1,%r1), 0(%r0)
ed 0(%r1,%r2), 0(%r1)
ed 0(1,%r2), 0(%r1,%r2)
ed 0(-), 0
#CHECK: error: missing length in address
#CHECK: edmk 0, 0
#CHECK: error: missing length in address
#CHECK: edmk 0(%r1), 0(%r1)
#CHECK: error: invalid use of length addressing
#CHECK: edmk 0(1,%r1), 0(2,%r1)
#CHECK: error: invalid operand
#CHECK: edmk 0(0,%r1), 0(%r1)
#CHECK: error: invalid operand
#CHECK: edmk 0(257,%r1), 0(%r1)
#CHECK: error: invalid operand
#CHECK: edmk -1(1,%r1), 0(%r1)
#CHECK: error: invalid operand
#CHECK: edmk 4096(1,%r1), 0(%r1)
#CHECK: error: invalid operand
#CHECK: edmk 0(1,%r1), -1(%r1)
#CHECK: error: invalid operand
#CHECK: edmk 0(1,%r1), 4096(%r1)
#CHECK: error: %r0 used in an address
#CHECK: edmk 0(1,%r0), 0(%r1)
#CHECK: error: %r0 used in an address
#CHECK: edmk 0(1,%r1), 0(%r0)
#CHECK: error: invalid use of indexed addressing
#CHECK: edmk 0(%r1,%r2), 0(%r1)
#CHECK: error: invalid use of indexed addressing
#CHECK: edmk 0(1,%r2), 0(%r1,%r2)
#CHECK: error: unknown token in expression
#CHECK: edmk 0(-), 0
edmk 0, 0
edmk 0(%r1), 0(%r1)
edmk 0(1,%r1), 0(2,%r1)
edmk 0(0,%r1), 0(%r1)
edmk 0(257,%r1), 0(%r1)
edmk -1(1,%r1), 0(%r1)
edmk 4096(1,%r1), 0(%r1)
edmk 0(1,%r1), -1(%r1)
edmk 0(1,%r1), 4096(%r1)
edmk 0(1,%r0), 0(%r1)
edmk 0(1,%r1), 0(%r0)
edmk 0(%r1,%r2), 0(%r1)
edmk 0(1,%r2), 0(%r1,%r2)
edmk 0(-), 0
#CHECK: error: invalid register pair
#CHECK: eextr %f0, %f2
#CHECK: error: invalid register pair
#CHECK: eextr %f2, %f0
eextr %f0, %f2
eextr %f2, %f0
#CHECK: error: invalid register pair
#CHECK: esta %r1, %r0
esta %r1, %r0
#CHECK: error: invalid register pair
#CHECK: esxtr %f0, %f2
#CHECK: error: invalid register pair
#CHECK: esxtr %f2, %f0
esxtr %f0, %f2
esxtr %f2, %f0
#CHECK: error: invalid operand
#CHECK: ex %r0, -1
#CHECK: error: invalid operand
#CHECK: ex %r0, 4096
ex %r0, -1
ex %r0, 4096
#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: instruction requires: fp-extension
#CHECK: fidbra %f0, 0, %f0, 0
fidbra %f0, 0, %f0, 0
#CHECK: error: invalid operand
#CHECK: fidtr %f0, 0, %f0, -1
#CHECK: error: invalid operand
#CHECK: fidtr %f0, 0, %f0, 16
#CHECK: error: invalid operand
#CHECK: fidtr %f0, -1, %f0, 0
#CHECK: error: invalid operand
#CHECK: fidtr %f0, 16, %f0, 0
fidtr %f0, 0, %f0, -1
fidtr %f0, 0, %f0, 16
fidtr %f0, -1, %f0, 0
fidtr %f0, 16, %f0, 0
#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: instruction requires: fp-extension
#CHECK: fiebra %f0, 0, %f0, 0
fiebra %f0, 0, %f0, 0
#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: instruction requires: fp-extension
#CHECK: fixbra %f0, 0, %f0, 0
fixbra %f0, 0, %f0, 0
#CHECK: error: invalid register pair
#CHECK: fixr %f0, %f2
#CHECK: error: invalid register pair
#CHECK: fixr %f2, %f0
fixr %f0, %f2
fixr %f2, %f0
#CHECK: error: invalid operand
#CHECK: fixtr %f0, 0, %f0, -1
#CHECK: error: invalid operand
#CHECK: fixtr %f0, 0, %f0, 16
#CHECK: error: invalid operand
#CHECK: fixtr %f0, -1, %f0, 0
#CHECK: error: invalid operand
#CHECK: fixtr %f0, 16, %f0, 0
#CHECK: error: invalid register pair
#CHECK: fixtr %f0, 0, %f2, 0
#CHECK: error: invalid register pair
#CHECK: fixtr %f2, 0, %f0, 0
fixtr %f0, 0, %f0, -1
fixtr %f0, 0, %f0, 16
fixtr %f0, -1, %f0, 0
fixtr %f0, 16, %f0, 0
fixtr %f0, 0, %f2, 0
fixtr %f2, 0, %f0, 0
#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: icm %r0, 0, -1
#CHECK: error: invalid operand
#CHECK: icm %r0, 0, 4096
#CHECK: error: invalid operand
#CHECK: icm %r0, -1, 0
#CHECK: error: invalid operand
#CHECK: icm %r0, 16, 0
icm %r0, 0, -1
icm %r0, 0, 4096
icm %r0, -1, 0
icm %r0, 16, 0
#CHECK: error: invalid operand
#CHECK: icmh %r0, 0, -524289
#CHECK: error: invalid operand
#CHECK: icmh %r0, 0, 524288
#CHECK: error: invalid operand
#CHECK: icmh %r0, -1, 0
#CHECK: error: invalid operand
#CHECK: icmh %r0, 16, 0
icmh %r0, 0, -524289
icmh %r0, 0, 524288
icmh %r0, -1, 0
icmh %r0, 16, 0
#CHECK: error: invalid operand
#CHECK: icmy %r0, 0, -524289
#CHECK: error: invalid operand
#CHECK: icmy %r0, 0, 524288
#CHECK: error: invalid operand
#CHECK: icmy %r0, -1, 0
#CHECK: error: invalid operand
#CHECK: icmy %r0, 16, 0
icmy %r0, 0, -524289
icmy %r0, 0, 524288
icmy %r0, -1, 0
icmy %r0, 16, 0
#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: idte %r0, %r0, %r0, -1
#CHECK: error: invalid operand
#CHECK: idte %r0, %r0, %r0, 16
idte %r0, %r0, %r0, -1
idte %r0, %r0, %r0, 16
#CHECK: error: invalid register pair
#CHECK: iextr %f0, %f0, %f2
#CHECK: error: invalid register pair
#CHECK: iextr %f0, %f2, %f0
#CHECK: error: invalid register pair
#CHECK: iextr %f2, %f0, %f0
iextr %f0, %f0, %f2
iextr %f0, %f2, %f0
iextr %f2, %f0, %f0
#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: ipte %r0, %r0, %r0, -1
#CHECK: error: invalid operand
#CHECK: ipte %r0, %r0, %r0, 16
ipte %r0, %r0, %r0, -1
ipte %r0, %r0, %r0, 16
#CHECK: error: invalid operand
#CHECK: kdb %f0, -1
#CHECK: error: invalid operand
#CHECK: kdb %f0, 4096
kdb %f0, -1
kdb %f0, 4096
#CHECK: error: invalid operand
#CHECK: keb %f0, -1
#CHECK: error: invalid operand
#CHECK: keb %f0, 4096
keb %f0, -1
keb %f0, 4096
#CHECK: error: invalid register pair
#CHECK: kimd %r0, %r1
kimd %r0, %r1
#CHECK: error: invalid register pair
#CHECK: klmd %r0, %r1
klmd %r0, %r1
#CHECK: error: invalid register pair
#CHECK: km %r1, %r2
#CHECK: error: invalid register pair
#CHECK: km %r2, %r1
km %r1, %r2
km %r2, %r1
#CHECK: error: invalid register pair
#CHECK: kmac %r0, %r1
kmac %r0, %r1
#CHECK: error: invalid register pair
#CHECK: kmc %r1, %r2
#CHECK: error: invalid register pair
#CHECK: kmc %r2, %r1
kmc %r1, %r2
kmc %r2, %r1
#CHECK: error: instruction requires: message-security-assist-extension4
#CHECK: kmctr %r2, %r4, %r6
kmctr %r2, %r4, %r6
#CHECK: error: instruction requires: message-security-assist-extension4
#CHECK: kmf %r2, %r4
kmf %r2, %r4
#CHECK: error: instruction requires: message-security-assist-extension4
#CHECK: kmo %r2, %r4
kmo %r2, %r4
#CHECK: error: invalid register pair
#CHECK: kxbr %f0, %f2
#CHECK: error: invalid register pair
#CHECK: kxbr %f2, %f0
kxbr %f0, %f2
kxbr %f2, %f0
#CHECK: error: invalid register pair
#CHECK: kxtr %f0, %f2
#CHECK: error: invalid register pair
#CHECK: kxtr %f2, %f0
kxtr %f0, %f2
kxtr %f2, %f0
#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: instruction requires: interlocked-access1
#CHECK: laa %r1, %r2, 100(%r3)
laa %r1, %r2, 100(%r3)
#CHECK: error: instruction requires: interlocked-access1
#CHECK: laag %r1, %r2, 100(%r3)
laag %r1, %r2, 100(%r3)
#CHECK: error: instruction requires: interlocked-access1
#CHECK: laal %r1, %r2, 100(%r3)
laal %r1, %r2, 100(%r3)
#CHECK: error: instruction requires: interlocked-access1
#CHECK: laalg %r1, %r2, 100(%r3)
laalg %r1, %r2, 100(%r3)
#CHECK: error: invalid operand
#CHECK: lae %r0, -1
#CHECK: error: invalid operand
#CHECK: lae %r0, 4096
lae %r0, -1
lae %r0, 4096
#CHECK: error: invalid operand
#CHECK: laey %r0, -524289
#CHECK: error: invalid operand
#CHECK: laey %r0, 524288
laey %r0, -524289
laey %r0, 524288
#CHECK: error: invalid operand
#CHECK: lam %a0, %a0, 4096
#CHECK: error: invalid use of indexed addressing
#CHECK: lam %a0, %a0, 0(%r1,%r2)
lam %a0, %a0, 4096
lam %a0, %a0, 0(%r1,%r2)
#CHECK: error: invalid operand
#CHECK: lamy %a0, %a0, -524289
#CHECK: error: invalid operand
#CHECK: lamy %a0, %a0, 524288
#CHECK: error: invalid use of indexed addressing
#CHECK: lamy %a0, %a0, 0(%r1,%r2)
lamy %a0, %a0, -524289
lamy %a0, %a0, 524288
lamy %a0, %a0, 0(%r1,%r2)
#CHECK: error: instruction requires: interlocked-access1
#CHECK: lan %r1, %r2, 100(%r3)
lan %r1, %r2, 100(%r3)
#CHECK: error: instruction requires: interlocked-access1
#CHECK: lang %r1, %r2, 100(%r3)
lang %r1, %r2, 100(%r3)
#CHECK: error: instruction requires: interlocked-access1
#CHECK: lao %r1, %r2, 100(%r3)
lao %r1, %r2, 100(%r3)
#CHECK: error: instruction requires: interlocked-access1
#CHECK: laog %r1, %r2, 100(%r3)
laog %r1, %r2, 100(%r3)
#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 use of indexed addressing
#CHECK: lasp 160(%r1,%r15),160(%r15)
#CHECK: error: invalid operand
#CHECK: lasp -1(%r1),160(%r15)
#CHECK: error: invalid operand
#CHECK: lasp 4096(%r1),160(%r15)
#CHECK: error: invalid operand
#CHECK: lasp 0(%r1),-1(%r15)
#CHECK: error: invalid operand
#CHECK: lasp 0(%r1),4096(%r15)
lasp 160(%r1,%r15),160(%r15)
lasp -1(%r1),160(%r15)
lasp 4096(%r1),160(%r15)
lasp 0(%r1),-1(%r15)
lasp 0(%r1),4096(%r15)
#CHECK: error: instruction requires: interlocked-access1
#CHECK: lax %r1, %r2, 100(%r3)
lax %r1, %r2, 100(%r3)
#CHECK: error: instruction requires: interlocked-access1
#CHECK: laxg %r1, %r2, 100(%r3)
laxg %r1, %r2, 100(%r3)
#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: instruction requires: high-word
#CHECK: lbh %r0, 0
lbh %r0, 0
#CHECK: error: invalid operand
#CHECK: lcctl -1
#CHECK: error: invalid operand
#CHECK: lcctl 4096
#CHECK: error: invalid use of indexed addressing
#CHECK: lcctl 0(%r1,%r2)
lcctl -1
lcctl 4096
lcctl 0(%r1,%r2)
#CHECK: error: invalid operand
#CHECK: lctl %c0, %c0, -1
#CHECK: error: invalid operand
#CHECK: lctl %c0, %c0, 4096
#CHECK: error: invalid use of indexed addressing
#CHECK: lctl %c0, %c0, 0(%r1,%r2)
lctl %c0, %c0, -1
lctl %c0, %c0, 4096
lctl %c0, %c0, 0(%r1,%r2)
#CHECK: error: invalid operand
#CHECK: lctlg %c0, %c0, -524289
#CHECK: error: invalid operand
#CHECK: lctlg %c0, %c0, 524288
#CHECK: error: invalid use of indexed addressing
#CHECK: lctlg %c0, %c0, 0(%r1,%r2)
lctlg %c0, %c0, -524289
lctlg %c0, %c0, 524288
lctlg %c0, %c0, 0(%r1,%r2)
#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 register pair
#CHECK: lcxr %f0, %f2
#CHECK: error: invalid register pair
#CHECK: lcxr %f2, %f0
lcxr %f0, %f2
lcxr %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 operand
#CHECK: ldetr %f0, %f0, -1
#CHECK: error: invalid operand
#CHECK: ldetr %f0, %f0, 16
ldetr %f0, %f0, -1
ldetr %f0, %f0, 16
#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: instruction requires: fp-extension
#CHECK: ldxbra %f0, 0, %f0, 0
ldxbra %f0, 0, %f0, 0
#CHECK: error: invalid register pair
#CHECK: ldxr %f0, %f2
ldxr %f0, %f2
#CHECK: error: invalid operand
#CHECK: ldxtr %f0, 0, %f0, -1
#CHECK: error: invalid operand
#CHECK: ldxtr %f0, 0, %f0, 16
#CHECK: error: invalid operand
#CHECK: ldxtr %f0, -1, %f0, 0
#CHECK: error: invalid operand
#CHECK: ldxtr %f0, 16, %f0, 0
#CHECK: error: invalid register pair
#CHECK: ldxtr %f0, 0, %f2, 0
#CHECK: error: invalid register pair
#CHECK: ldxtr %f2, 0, %f0, 0
ldxtr %f0, 0, %f0, -1
ldxtr %f0, 0, %f0, 16
ldxtr %f0, -1, %f0, 0
ldxtr %f0, 16, %f0, 0
ldxtr %f0, 0, %f2, 0
ldxtr %f2, 0, %f0, 0
#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: instruction requires: fp-extension
#CHECK: ledbra %f0, 0, %f0, 0
ledbra %f0, 0, %f0, 0
#CHECK: error: invalid operand
#CHECK: ledtr %f0, 0, %f0, -1
#CHECK: error: invalid operand
#CHECK: ledtr %f0, 0, %f0, 16
#CHECK: error: invalid operand
#CHECK: ledtr %f0, -1, %f0, 0
#CHECK: error: invalid operand
#CHECK: ledtr %f0, 16, %f0, 0
ledtr %f0, 0, %f0, -1
ledtr %f0, 0, %f0, 16
ledtr %f0, -1, %f0, 0
ledtr %f0, 16, %f0, 0
#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: instruction requires: fp-extension
#CHECK: lexbra %f0, 0, %f0, 0
lexbra %f0, 0, %f0, 0
#CHECK: error: invalid register pair
#CHECK: lexr %f0, %f2
lexr %f0, %f2
#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: lfas -1
#CHECK: error: invalid operand
#CHECK: lfas 4096
#CHECK: error: invalid use of indexed addressing
#CHECK: lfas 0(%r1,%r2)
lfas -1
lfas 4096
lfas 0(%r1,%r2)
#CHECK: error: instruction requires: high-word
#CHECK: lfh %r0, 0
lfh %r0, 0
#CHECK: error: invalid operand
#CHECK: lfpc -1
#CHECK: error: invalid operand
#CHECK: lfpc 4096
#CHECK: error: invalid use of indexed addressing
#CHECK: lfpc 0(%r1,%r2)
lfpc -1
lfpc 4096
lfpc 0(%r1,%r2)
#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: instruction requires: high-word
#CHECK: lhh %r0, 0
lhh %r0, 0
#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: instruction requires: high-word
#CHECK: llch %r0, 0
llch %r0, 0
#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