diff options
Diffstat (limited to 'test/MC/SystemZ/insn-bad.s')
-rw-r--r-- | test/MC/SystemZ/insn-bad.s | 2264 |
1 files changed, 2033 insertions, 231 deletions
diff --git a/test/MC/SystemZ/insn-bad.s b/test/MC/SystemZ/insn-bad.s index 018070a74dfc..b96c661ae3da 100644 --- a/test/MC/SystemZ/insn-bad.s +++ b/test/MC/SystemZ/insn-bad.s @@ -167,16 +167,6 @@ alfi %r0, -1 alfi %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: alhsik %r1, %r2, 3 - - alhsik %r1, %r2, 3 - #CHECK: error: invalid operand #CHECK: alg %r0, -524289 #CHECK: error: invalid operand @@ -202,16 +192,60 @@ 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: 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: invalid operand #CHECK: aly %r0, -524289 #CHECK: error: invalid operand #CHECK: aly %r0, 524288 @@ -219,6 +253,59 @@ 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 @@ -296,6 +383,22 @@ 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 @@ -374,22 +477,6 @@ brcl -1, bar brcl 16, bar -#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: brct %r0, -0x100002 #CHECK: error: offset out of range @@ -423,25 +510,6 @@ brcth %r0, 0 -#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: offset out of range #CHECK: brxh %r0, %r2, -0x100002 #CHECK: error: offset out of range @@ -470,25 +538,6 @@ brxhg %r0, %r2, 1 brxhg %r0, %r2, 0x10000 -#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: 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: offset out of range #CHECK: brxle %r0, %r2, -0x100002 #CHECK: error: offset out of range @@ -518,6 +567,44 @@ 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 @@ -633,6 +720,17 @@ celgbr %f0, 0, %r0, 0 #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 @@ -819,26 +917,26 @@ cgij %r0, 0, 0, 0x10000 #CHECK: error: invalid instruction -#CHECK: cgijo %r0, 0, 0, 0 -#CHECK: error: invalid instruction #CHECK: cgijno %r0, 0, 0, 0 +#CHECK: error: invalid instruction +#CHECK: cgijo %r0, 0, 0, 0 - 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: cgito %r0, 0 -#CHECK: error: invalid instruction #CHECK: cgitno %r0, 0 +#CHECK: error: invalid instruction +#CHECK: cgito %r0, 0 cgit %r0, -32769 cgit %r0, 32768 - cgito %r0, 0 cgitno %r0, 0 + cgito %r0, 0 #CHECK: error: offset out of range #CHECK: cgrj %r0, %r0, 0, -0x100002 @@ -855,12 +953,12 @@ cgrj %r0, %r0, 0, 0x10000 #CHECK: error: invalid instruction -#CHECK: cgrjo %r0, %r0, 0, 0 -#CHECK: error: invalid instruction #CHECK: cgrjno %r0, %r0, 0, 0 +#CHECK: error: invalid instruction +#CHECK: cgrjo %r0, %r0, 0, 0 - 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 @@ -877,12 +975,12 @@ cgrl %r0, 0x100000000 #CHECK: error: invalid instruction -#CHECK: cgrto %r0, %r0 -#CHECK: error: invalid instruction #CHECK: cgrtno %r0, %r0 +#CHECK: error: invalid instruction +#CHECK: cgrto %r0, %r0 - cgrto %r0, %r0 cgrtno %r0, %r0 + cgrto %r0, %r0 #CHECK: error: invalid operand #CHECK: cgxbr %r0, -1, %f0 @@ -1008,26 +1106,31 @@ cij %r0, 0, 0, 0x10000 #CHECK: error: invalid instruction -#CHECK: cijo %r0, 0, 0, 0 -#CHECK: error: invalid instruction #CHECK: cijno %r0, 0, 0, 0 +#CHECK: error: invalid instruction +#CHECK: cijo %r0, 0, 0, 0 - 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: cito %r0, 0 -#CHECK: error: invalid instruction #CHECK: citno %r0, 0 +#CHECK: error: invalid instruction +#CHECK: cito %r0, 0 cit %r0, -32769 cit %r0, 32768 - cito %r0, 0 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 @@ -1081,10 +1184,41 @@ clc 0(1,%r2), 0(%r1,%r2) clc 0(-), 0 -#CHECK: error: instruction requires: high-word -#CHECK: clhf %r0, 0 +#CHECK: error: invalid register pair +#CHECK: clcl %r1, %r0 +#CHECK: error: invalid register pair +#CHECK: clcl %r0, %r1 - clhf %r0, 0 + 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 @@ -1126,14 +1260,14 @@ #CHECK: error: invalid operand #CHECK: clfit %r0, 65536 #CHECK: error: invalid instruction -#CHECK: clfito %r0, 0 -#CHECK: error: invalid instruction #CHECK: clfitno %r0, 0 +#CHECK: error: invalid instruction +#CHECK: clfito %r0, 0 clfit %r0, -1 clfit %r0, 65536 - clfito %r0, 0 clfitno %r0, 0 + clfito %r0, 0 #CHECK: error: instruction requires: fp-extension #CHECK: clfxbr %r0, 0, %f0, 0 @@ -1148,20 +1282,6 @@ clg %r0, -524289 clg %r0, 524288 -#CHECK: error: invalid operand -#CHECK: clgit %r0, -1 -#CHECK: error: invalid operand -#CHECK: clgit %r0, 65536 -#CHECK: error: invalid instruction -#CHECK: clgito %r0, 0 -#CHECK: error: invalid instruction -#CHECK: clgitno %r0, 0 - - clgit %r0, -1 - clgit %r0, 65536 - clgito %r0, 0 - clgitno %r0, 0 - #CHECK: error: instruction requires: fp-extension #CHECK: clgdbr %r0, 0, %f0, 0 @@ -1256,12 +1376,26 @@ clgij %r0, 0, 0, 0x10000 #CHECK: error: invalid instruction -#CHECK: clgijo %r0, 0, 0, 0 -#CHECK: error: invalid instruction #CHECK: clgijno %r0, 0, 0, 0 +#CHECK: error: invalid instruction +#CHECK: clgijo %r0, 0, 0, 0 - 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 @@ -1292,18 +1426,23 @@ clgrl %r0, 0x100000000 #CHECK: error: invalid instruction -#CHECK: clgrto %r0, %r0 -#CHECK: error: invalid instruction #CHECK: clgrtno %r0, %r0 +#CHECK: error: invalid instruction +#CHECK: clgrto %r0, %r0 - 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: high-word +#CHECK: clhf %r0, 0 + + clhf %r0, 0 + #CHECK: error: invalid operand #CHECK: clhhsi -1, 0 #CHECK: error: invalid operand @@ -1380,12 +1519,12 @@ clij %r0, 0, 0, 0x10000 #CHECK: error: invalid instruction -#CHECK: clijo %r0, 0, 0, 0 -#CHECK: error: invalid instruction #CHECK: clijno %r0, 0, 0, 0 +#CHECK: error: invalid instruction +#CHECK: clijo %r0, 0, 0, 0 - clijo %r0, 0, 0, 0 clijno %r0, 0, 0, 0 + clijo %r0, 0, 0, 0 #CHECK: error: invalid operand #CHECK: cliy -524289, 0 @@ -1404,6 +1543,48 @@ 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 @@ -1419,12 +1600,12 @@ clrj %r0, %r0, 0, 0x10000 #CHECK: error: invalid instruction -#CHECK: clrjo %r0, %r0, 0, 0 -#CHECK: error: invalid instruction #CHECK: clrjno %r0, %r0, 0, 0 +#CHECK: error: invalid instruction +#CHECK: clrjo %r0, %r0, 0, 0 - 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 @@ -1441,12 +1622,12 @@ clrl %r0, 0x100000000 #CHECK: error: invalid instruction -#CHECK: clrto %r0, %r0 -#CHECK: error: invalid instruction #CHECK: clrtno %r0, %r0 +#CHECK: error: invalid instruction +#CHECK: clrto %r0, %r0 - clrto %r0, %r0 clrtno %r0, %r0 + clrto %r0, %r0 #CHECK: error: invalid operand #CHECK: cly %r0, -524289 @@ -1456,6 +1637,67 @@ 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 @@ -1471,12 +1713,12 @@ crj %r0, %r0, 0, 0x10000 #CHECK: error: invalid instruction -#CHECK: crjo %r0, %r0, 0, 0 -#CHECK: error: invalid instruction #CHECK: crjno %r0, %r0, 0, 0 +#CHECK: error: invalid instruction +#CHECK: crjo %r0, %r0, 0, 0 - 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 @@ -1493,12 +1735,12 @@ crl %r0, 0x100000000 #CHECK: error: invalid instruction -#CHECK: crto %r0, %r0 -#CHECK: error: invalid instruction #CHECK: crtno %r0, %r0 +#CHECK: error: invalid instruction +#CHECK: crto %r0, %r0 - crto %r0, %r0 crtno %r0, %r0 + crto %r0, %r0 #CHECK: error: invalid operand #CHECK: cs %r0, %r0, -1 @@ -1522,17 +1764,6 @@ 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 use of indexed addressing #CHECK: csst 160(%r1,%r15), 160(%r15), %r2 #CHECK: error: invalid operand @@ -1550,6 +1781,173 @@ csst 0(%r1), -1(%r15), %r2 csst 0(%r1), 4096(%r15), %r2 +#CHECK: error: invalid operand +#CHECK: csy %r0, %r0, -524289 +#CHECK: error: invalid operand +#CHECK: csy %r0, %r0, 524288 +#CHECK: error: invalid use of indexed addressing +#CHECK: csy %r0, %r0, 0(%r1,%r2) + + csy %r0, %r0, -524289 + csy %r0, %r0, 524288 + csy %r0, %r0, 0(%r1,%r2) + +#CHECK: error: invalid register pair +#CHECK: 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 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 @@ -1597,6 +1995,17 @@ 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: ddb %f0, -1 #CHECK: error: invalid operand #CHECK: ddb %f0, 4096 @@ -1613,6 +2022,22 @@ deb %f0, 4096 #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 @@ -1623,6 +2048,11 @@ 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 @@ -1644,6 +2074,59 @@ 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 @@ -1685,12 +2168,15 @@ dxbr %f2, %f0 #CHECK: error: invalid operand -#CHECK: ex %r0, -1 +#CHECK: ecag %r0, %r0, -524289 #CHECK: error: invalid operand -#CHECK: ex %r0, 4096 +#CHECK: ecag %r0, %r0, 524288 +#CHECK: error: invalid use of indexed addressing +#CHECK: ecag %r0, %r0, 0(%r1,%r2) - ex %r0, -1 - ex %r0, 4096 + 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 @@ -1709,6 +2195,102 @@ 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 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 @@ -1866,6 +2448,76 @@ iill %r0, 0x10000 #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 operand #CHECK: l %r0, -1 #CHECK: error: invalid operand #CHECK: l %r0, 4096 @@ -1881,14 +2533,6 @@ la %r0, -1 la %r0, 4096 -#CHECK: error: invalid operand -#CHECK: lae %r0, -1 -#CHECK: error: invalid operand -#CHECK: lae %r0, 4096 - - lae %r0, -1 - lae %r0, 4096 - #CHECK: error: instruction requires: interlocked-access1 #CHECK: laa %r1, %r2, 100(%r3) laa %r1, %r2, 100(%r3) @@ -1906,6 +2550,14 @@ 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 @@ -1948,14 +2600,6 @@ #CHECK: laog %r1, %r2, 100(%r3) laog %r1, %r2, 100(%r3) -#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: offset out of range #CHECK: larl %r0, -0x1000000002 #CHECK: error: offset out of range @@ -1970,6 +2614,14 @@ larl %r0, 1 larl %r0, 0x100000000 +#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 @@ -2070,11 +2722,6 @@ ley %f0, -524289 ley %f0, 524288 -#CHECK: error: instruction requires: high-word -#CHECK: lfh %r0, 0 - - lfh %r0, 0 - #CHECK: error: invalid operand #CHECK: lfas -1 #CHECK: error: invalid operand @@ -2086,6 +2733,11 @@ 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 @@ -2258,14 +2910,6 @@ llgc %r0, 524288 #CHECK: error: invalid operand -#CHECK: llgt %r0, -524289 -#CHECK: error: invalid operand -#CHECK: llgt %r0, 524288 - - llgt %r0, -524289 - llgt %r0, 524288 - -#CHECK: error: invalid operand #CHECK: llgf %r0, -524289 #CHECK: error: invalid operand #CHECK: llgf %r0, 524288 @@ -2310,6 +2954,14 @@ llghrl %r0, 0x100000000 #CHECK: error: invalid operand +#CHECK: llgt %r0, -524289 +#CHECK: error: invalid operand +#CHECK: llgt %r0, 524288 + + llgt %r0, -524289 + llgt %r0, 524288 + +#CHECK: error: invalid operand #CHECK: llh %r0, -524289 #CHECK: error: invalid operand #CHECK: llh %r0, 524288 @@ -2392,6 +3044,23 @@ lm %r0, %r0, 4096 lm %r0, %r0, 0(%r1,%r2) +#CHECK: error: invalid use of indexed addressing +#CHECK: lmd %r2, %r4, 160(%r1,%r15), 160(%r15) +#CHECK: error: invalid operand +#CHECK: lmd %r2, %r4, -1(%r1), 160(%r15) +#CHECK: error: invalid operand +#CHECK: lmd %r2, %r4, 4096(%r1), 160(%r15) +#CHECK: error: invalid operand +#CHECK: lmd %r2, %r4, 0(%r1), -1(%r15) +#CHECK: error: invalid operand +#CHECK: lmd %r2, %r4, 0(%r1), 4096(%r15) + + lmd %r2, %r4, 160(%r1,%r15), 160(%r15) + lmd %r2, %r4, -1(%r1), 160(%r15) + lmd %r2, %r4, 4096(%r1), 160(%r15) + lmd %r2, %r4, 0(%r1), -1(%r15) + lmd %r2, %r4, 0(%r1), 4096(%r15) + #CHECK: error: invalid operand #CHECK: lmg %r0, %r0, -524289 #CHECK: error: invalid operand @@ -2544,6 +3213,17 @@ lzxr %f2 #CHECK: error: invalid operand +#CHECK: m %r0, -1 +#CHECK: error: invalid operand +#CHECK: m %r0, 4096 +#CHECK: error: invalid register pair +#CHECK: m %r1, 0 + + m %r0, -1 + m %r0, 4096 + m %r1, 0 + +#CHECK: error: invalid operand #CHECK: madb %f0, %f0, -1 #CHECK: error: invalid operand #CHECK: madb %f0, %f0, 4096 @@ -2560,6 +3240,23 @@ maeb %f0, %f0, 4096 #CHECK: error: invalid operand +#CHECK: mc -1, 0 +#CHECK: error: invalid operand +#CHECK: mc 4096, 0 +#CHECK: error: invalid use of indexed addressing +#CHECK: mc 0(%r1,%r2), 0 +#CHECK: error: invalid operand +#CHECK: mc 0, -1 +#CHECK: error: invalid operand +#CHECK: mc 0, 256 + + mc -1, 0 + mc 4096, 0 + mc 0(%r1,%r2), 0 + mc 0, -1 + mc 0, 256 + +#CHECK: error: invalid operand #CHECK: mdb %f0, -1 #CHECK: error: invalid operand #CHECK: mdb %f0, 4096 @@ -2584,6 +3281,17 @@ meeb %f0, 4096 #CHECK: error: invalid operand +#CHECK: mfy %r0, -524289 +#CHECK: error: invalid operand +#CHECK: mfy %r0, 524288 +#CHECK: error: invalid register pair +#CHECK: mfy %r1, 0 + + mfy %r0, -524289 + mfy %r0, 524288 + mfy %r1, 0 + +#CHECK: error: invalid operand #CHECK: mghi %r0, -32769 #CHECK: error: invalid operand #CHECK: mghi %r0, 32768 @@ -2622,6 +3330,17 @@ mhy %r0, 524288 #CHECK: error: invalid operand +#CHECK: ml %r0, -524289 +#CHECK: error: invalid operand +#CHECK: ml %r0, 524288 +#CHECK: error: invalid register pair +#CHECK: ml %r1, 0 + + ml %r0, -524289 + ml %r0, 524288 + ml %r1, 0 + +#CHECK: error: invalid operand #CHECK: mlg %r0, -524289 #CHECK: error: invalid operand #CHECK: mlg %r0, 524288 @@ -2637,6 +3356,69 @@ mlgr %r1, %r0 +#CHECK: error: invalid register pair +#CHECK: mlr %r1, %r0 + + mlr %r1, %r0 + +#CHECK: error: missing length in address +#CHECK: mp 0, 0(1) +#CHECK: error: missing length in address +#CHECK: mp 0(1), 0 +#CHECK: error: missing length in address +#CHECK: mp 0(%r1), 0(1,%r1) +#CHECK: error: missing length in address +#CHECK: mp 0(1,%r1), 0(%r1) +#CHECK: error: invalid operand +#CHECK: mp 0(0,%r1), 0(1,%r1) +#CHECK: error: invalid operand +#CHECK: mp 0(1,%r1), 0(0,%r1) +#CHECK: error: invalid operand +#CHECK: mp 0(17,%r1), 0(1,%r1) +#CHECK: error: invalid operand +#CHECK: mp 0(1,%r1), 0(17,%r1) +#CHECK: error: invalid operand +#CHECK: mp -1(1,%r1), 0(1,%r1) +#CHECK: error: invalid operand +#CHECK: mp 4096(1,%r1), 0(1,%r1) +#CHECK: error: invalid operand +#CHECK: mp 0(1,%r1), -1(1,%r1) +#CHECK: error: invalid operand +#CHECK: mp 0(1,%r1), 4096(1,%r1) +#CHECK: error: %r0 used in an address +#CHECK: mp 0(1,%r0), 0(1,%r1) +#CHECK: error: %r0 used in an address +#CHECK: mp 0(1,%r1), 0(1,%r0) +#CHECK: error: invalid use of indexed addressing +#CHECK: mp 0(%r1,%r2), 0(1,%r1) +#CHECK: error: invalid use of indexed addressing +#CHECK: mp 0(1,%r2), 0(%r1,%r2) +#CHECK: error: unknown token in expression +#CHECK: mp 0(-), 0(1) + + mp 0, 0(1) + mp 0(1), 0 + mp 0(%r1), 0(1,%r1) + mp 0(1,%r1), 0(%r1) + mp 0(0,%r1), 0(1,%r1) + mp 0(1,%r1), 0(0,%r1) + mp 0(17,%r1), 0(1,%r1) + mp 0(1,%r1), 0(17,%r1) + mp -1(1,%r1), 0(1,%r1) + mp 4096(1,%r1), 0(1,%r1) + mp 0(1,%r1), -1(1,%r1) + mp 0(1,%r1), 4096(1,%r1) + mp 0(1,%r0), 0(1,%r1) + mp 0(1,%r1), 0(1,%r0) + mp 0(%r1,%r2), 0(1,%r1) + mp 0(1,%r2), 0(%r1,%r2) + mp 0(-), 0(1) + +#CHECK: error: invalid register pair +#CHECK: mr %r1, %r0 + + mr %r1, %r0 + #CHECK: error: invalid operand #CHECK: ms %r0, -1 #CHECK: error: invalid operand @@ -2745,6 +3527,50 @@ mvc 0(1,%r2), 0(%r1,%r2) mvc 0(-), 0 +#CHECK: error: missing length in address +#CHECK: mvcin 0, 0 +#CHECK: error: missing length in address +#CHECK: mvcin 0(%r1), 0(%r1) +#CHECK: error: invalid use of length addressing +#CHECK: mvcin 0(1,%r1), 0(2,%r1) +#CHECK: error: invalid operand +#CHECK: mvcin 0(0,%r1), 0(%r1) +#CHECK: error: invalid operand +#CHECK: mvcin 0(257,%r1), 0(%r1) +#CHECK: error: invalid operand +#CHECK: mvcin -1(1,%r1), 0(%r1) +#CHECK: error: invalid operand +#CHECK: mvcin 4096(1,%r1), 0(%r1) +#CHECK: error: invalid operand +#CHECK: mvcin 0(1,%r1), -1(%r1) +#CHECK: error: invalid operand +#CHECK: mvcin 0(1,%r1), 4096(%r1) +#CHECK: error: %r0 used in an address +#CHECK: mvcin 0(1,%r0), 0(%r1) +#CHECK: error: %r0 used in an address +#CHECK: mvcin 0(1,%r1), 0(%r0) +#CHECK: error: invalid use of indexed addressing +#CHECK: mvcin 0(%r1,%r2), 0(%r1) +#CHECK: error: invalid use of indexed addressing +#CHECK: mvcin 0(1,%r2), 0(%r1,%r2) +#CHECK: error: unknown token in expression +#CHECK: mvcin 0(-), 0 + + mvcin 0, 0 + mvcin 0(%r1), 0(%r1) + mvcin 0(1,%r1), 0(2,%r1) + mvcin 0(0,%r1), 0(%r1) + mvcin 0(257,%r1), 0(%r1) + mvcin -1(1,%r1), 0(%r1) + mvcin 4096(1,%r1), 0(%r1) + mvcin 0(1,%r1), -1(%r1) + mvcin 0(1,%r1), 4096(%r1) + mvcin 0(1,%r0), 0(%r1) + mvcin 0(1,%r1), 0(%r0) + mvcin 0(%r1,%r2), 0(%r1) + mvcin 0(1,%r2), 0(%r1,%r2) + mvcin 0(-), 0 + #CHECK: error: invalid use of length addressing #CHECK: mvck 0(%r1,%r1), 0(2,%r1), %r3 #CHECK: error: invalid operand @@ -2774,6 +3600,42 @@ mvck 0(%r1,%r2), 0(%r1,%r2), %r3 mvck 0(-), 0, %r3 +#CHECK: error: invalid register pair +#CHECK: mvcl %r1, %r0 +#CHECK: error: invalid register pair +#CHECK: mvcl %r0, %r1 + + mvcl %r1, %r0 + mvcl %r0, %r1 + +#CHECK: error: invalid register pair +#CHECK: mvcle %r1, %r0 +#CHECK: error: invalid register pair +#CHECK: mvcle %r0, %r1 +#CHECK: error: invalid operand +#CHECK: mvcle %r0, %r0, -1 +#CHECK: error: invalid operand +#CHECK: mvcle %r0, %r0, 4096 + + mvcle %r1, %r0, 0 + mvcle %r0, %r1, 0 + mvcle %r0, %r0, -1 + mvcle %r0, %r0, 4096 + +#CHECK: error: invalid register pair +#CHECK: mvclu %r1, %r0 +#CHECK: error: invalid register pair +#CHECK: mvclu %r0, %r1 +#CHECK: error: invalid operand +#CHECK: mvclu %r0, %r0, -524289 +#CHECK: error: invalid operand +#CHECK: mvclu %r0, %r0, 524288 + + mvclu %r1, %r0, 0 + mvclu %r0, %r1, 0 + mvclu %r0, %r0, -524289 + mvclu %r0, %r0, 524288 + #CHECK: error: invalid operand #CHECK: mvghi -1, 0 #CHECK: error: invalid operand @@ -2859,6 +3721,147 @@ mviy 0, -1 mviy 0, 256 +#CHECK: error: missing length in address +#CHECK: mvn 0, 0 +#CHECK: error: missing length in address +#CHECK: mvn 0(%r1), 0(%r1) +#CHECK: error: invalid use of length addressing +#CHECK: mvn 0(1,%r1), 0(2,%r1) +#CHECK: error: invalid operand +#CHECK: mvn 0(0,%r1), 0(%r1) +#CHECK: error: invalid operand +#CHECK: mvn 0(257,%r1), 0(%r1) +#CHECK: error: invalid operand +#CHECK: mvn -1(1,%r1), 0(%r1) +#CHECK: error: invalid operand +#CHECK: mvn 4096(1,%r1), 0(%r1) +#CHECK: error: invalid operand +#CHECK: mvn 0(1,%r1), -1(%r1) +#CHECK: error: invalid operand +#CHECK: mvn 0(1,%r1), 4096(%r1) +#CHECK: error: %r0 used in an address +#CHECK: mvn 0(1,%r0), 0(%r1) +#CHECK: error: %r0 used in an address +#CHECK: mvn 0(1,%r1), 0(%r0) +#CHECK: error: invalid use of indexed addressing +#CHECK: mvn 0(%r1,%r2), 0(%r1) +#CHECK: error: invalid use of indexed addressing +#CHECK: mvn 0(1,%r2), 0(%r1,%r2) +#CHECK: error: unknown token in expression +#CHECK: mvn 0(-), 0 + + mvn 0, 0 + mvn 0(%r1), 0(%r1) + mvn 0(1,%r1), 0(2,%r1) + mvn 0(0,%r1), 0(%r1) + mvn 0(257,%r1), 0(%r1) + mvn -1(1,%r1), 0(%r1) + mvn 4096(1,%r1), 0(%r1) + mvn 0(1,%r1), -1(%r1) + mvn 0(1,%r1), 4096(%r1) + mvn 0(1,%r0), 0(%r1) + mvn 0(1,%r1), 0(%r0) + mvn 0(%r1,%r2), 0(%r1) + mvn 0(1,%r2), 0(%r1,%r2) + mvn 0(-), 0 + +#CHECK: error: missing length in address +#CHECK: mvo 0, 0(1) +#CHECK: error: missing length in address +#CHECK: mvo 0(1), 0 +#CHECK: error: missing length in address +#CHECK: mvo 0(%r1), 0(1,%r1) +#CHECK: error: missing length in address +#CHECK: mvo 0(1,%r1), 0(%r1) +#CHECK: error: invalid operand +#CHECK: mvo 0(0,%r1), 0(1,%r1) +#CHECK: error: invalid operand +#CHECK: mvo 0(1,%r1), 0(0,%r1) +#CHECK: error: invalid operand +#CHECK: mvo 0(17,%r1), 0(1,%r1) +#CHECK: error: invalid operand +#CHECK: mvo 0(1,%r1), 0(17,%r1) +#CHECK: error: invalid operand +#CHECK: mvo -1(1,%r1), 0(1,%r1) +#CHECK: error: invalid operand +#CHECK: mvo 4096(1,%r1), 0(1,%r1) +#CHECK: error: invalid operand +#CHECK: mvo 0(1,%r1), -1(1,%r1) +#CHECK: error: invalid operand +#CHECK: mvo 0(1,%r1), 4096(1,%r1) +#CHECK: error: %r0 used in an address +#CHECK: mvo 0(1,%r0), 0(1,%r1) +#CHECK: error: %r0 used in an address +#CHECK: mvo 0(1,%r1), 0(1,%r0) +#CHECK: error: invalid use of indexed addressing +#CHECK: mvo 0(%r1,%r2), 0(1,%r1) +#CHECK: error: invalid use of indexed addressing +#CHECK: mvo 0(1,%r2), 0(%r1,%r2) +#CHECK: error: unknown token in expression +#CHECK: mvo 0(-), 0(1) + + mvo 0, 0(1) + mvo 0(1), 0 + mvo 0(%r1), 0(1,%r1) + mvo 0(1,%r1), 0(%r1) + mvo 0(0,%r1), 0(1,%r1) + mvo 0(1,%r1), 0(0,%r1) + mvo 0(17,%r1), 0(1,%r1) + mvo 0(1,%r1), 0(17,%r1) + mvo -1(1,%r1), 0(1,%r1) + mvo 4096(1,%r1), 0(1,%r1) + mvo 0(1,%r1), -1(1,%r1) + mvo 0(1,%r1), 4096(1,%r1) + mvo 0(1,%r0), 0(1,%r1) + mvo 0(1,%r1), 0(1,%r0) + mvo 0(%r1,%r2), 0(1,%r1) + mvo 0(1,%r2), 0(%r1,%r2) + mvo 0(-), 0(1) + +#CHECK: error: missing length in address +#CHECK: mvz 0, 0 +#CHECK: error: missing length in address +#CHECK: mvz 0(%r1), 0(%r1) +#CHECK: error: invalid use of length addressing +#CHECK: mvz 0(1,%r1), 0(2,%r1) +#CHECK: error: invalid operand +#CHECK: mvz 0(0,%r1), 0(%r1) +#CHECK: error: invalid operand +#CHECK: mvz 0(257,%r1), 0(%r1) +#CHECK: error: invalid operand +#CHECK: mvz -1(1,%r1), 0(%r1) +#CHECK: error: invalid operand +#CHECK: mvz 4096(1,%r1), 0(%r1) +#CHECK: error: invalid operand +#CHECK: mvz 0(1,%r1), -1(%r1) +#CHECK: error: invalid operand +#CHECK: mvz 0(1,%r1), 4096(%r1) +#CHECK: error: %r0 used in an address +#CHECK: mvz 0(1,%r0), 0(%r1) +#CHECK: error: %r0 used in an address +#CHECK: mvz 0(1,%r1), 0(%r0) +#CHECK: error: invalid use of indexed addressing +#CHECK: mvz 0(%r1,%r2), 0(%r1) +#CHECK: error: invalid use of indexed addressing +#CHECK: mvz 0(1,%r2), 0(%r1,%r2) +#CHECK: error: unknown token in expression +#CHECK: mvz 0(-), 0 + + mvz 0, 0 + mvz 0(%r1), 0(%r1) + mvz 0(1,%r1), 0(2,%r1) + mvz 0(0,%r1), 0(%r1) + mvz 0(257,%r1), 0(%r1) + mvz -1(1,%r1), 0(%r1) + mvz 4096(1,%r1), 0(%r1) + mvz 0(1,%r1), -1(%r1) + mvz 0(1,%r1), 4096(%r1) + mvz 0(1,%r0), 0(%r1) + mvz 0(1,%r1), 0(%r0) + mvz 0(%r1,%r2), 0(%r1) + mvz 0(1,%r2), 0(%r1,%r2) + mvz 0(-), 0 + #CHECK: error: invalid register pair #CHECK: mxbr %f0, %f2 #CHECK: error: invalid register pair @@ -3203,6 +4206,64 @@ oy %r0, -524289 oy %r0, 524288 +#CHECK: error: missing length in address +#CHECK: pack 0, 0(1) +#CHECK: error: missing length in address +#CHECK: pack 0(1), 0 +#CHECK: error: missing length in address +#CHECK: pack 0(%r1), 0(1,%r1) +#CHECK: error: missing length in address +#CHECK: pack 0(1,%r1), 0(%r1) +#CHECK: error: invalid operand +#CHECK: pack 0(0,%r1), 0(1,%r1) +#CHECK: error: invalid operand +#CHECK: pack 0(1,%r1), 0(0,%r1) +#CHECK: error: invalid operand +#CHECK: pack 0(17,%r1), 0(1,%r1) +#CHECK: error: invalid operand +#CHECK: pack 0(1,%r1), 0(17,%r1) +#CHECK: error: invalid operand +#CHECK: pack -1(1,%r1), 0(1,%r1) +#CHECK: error: invalid operand +#CHECK: pack 4096(1,%r1), 0(1,%r1) +#CHECK: error: invalid operand +#CHECK: pack 0(1,%r1), -1(1,%r1) +#CHECK: error: invalid operand +#CHECK: pack 0(1,%r1), 4096(1,%r1) +#CHECK: error: %r0 used in an address +#CHECK: pack 0(1,%r0), 0(1,%r1) +#CHECK: error: %r0 used in an address +#CHECK: pack 0(1,%r1), 0(1,%r0) +#CHECK: error: invalid use of indexed addressing +#CHECK: pack 0(%r1,%r2), 0(1,%r1) +#CHECK: error: invalid use of indexed addressing +#CHECK: pack 0(1,%r2), 0(%r1,%r2) +#CHECK: error: unknown token in expression +#CHECK: pack 0(-), 0(1) + + pack 0, 0(1) + pack 0(1), 0 + pack 0(%r1), 0(1,%r1) + pack 0(1,%r1), 0(%r1) + pack 0(0,%r1), 0(1,%r1) + pack 0(1,%r1), 0(0,%r1) + pack 0(17,%r1), 0(1,%r1) + pack 0(1,%r1), 0(17,%r1) + pack -1(1,%r1), 0(1,%r1) + pack 4096(1,%r1), 0(1,%r1) + pack 0(1,%r1), -1(1,%r1) + pack 0(1,%r1), 4096(1,%r1) + pack 0(1,%r0), 0(1,%r1) + pack 0(1,%r1), 0(1,%r0) + pack 0(%r1,%r2), 0(1,%r1) + pack 0(1,%r2), 0(%r1,%r2) + pack 0(-), 0(1) + +#CHECK: error: instruction requires: message-security-assist-extension4 +#CHECK: pcc + + pcc + #CHECK: error: invalid operand #CHECK: pfd -1, 0 #CHECK: error: invalid operand @@ -3237,6 +4298,94 @@ pfdrl 1, 1 pfdrl 1, 0x100000000 +#CHECK: error: missing length in address +#CHECK: pka 0, 0 +#CHECK: error: missing length in address +#CHECK: pka 0(%r1), 0(%r1) +#CHECK: error: invalid use of length addressing +#CHECK: pka 0(1,%r1), 0(2,%r1) +#CHECK: error: invalid operand +#CHECK: pka 0(%r1), 0(0,%r1) +#CHECK: error: invalid operand +#CHECK: pka 0(%r1), 0(257,%r1) +#CHECK: error: invalid operand +#CHECK: pka -1(%r1), 0(1,%r1) +#CHECK: error: invalid operand +#CHECK: pka 4096(%r1), 0(1,%r1) +#CHECK: error: invalid operand +#CHECK: pka 0(%r1), -1(1,%r1) +#CHECK: error: invalid operand +#CHECK: pka 0(%r1), 4096(1,%r1) +#CHECK: error: %r0 used in an address +#CHECK: pka 0(%r0), 0(1,%r1) +#CHECK: error: %r0 used in an address +#CHECK: pka 0(%r1), 0(1,%r0) +#CHECK: error: invalid use of indexed addressing +#CHECK: pka 0(%r1,%r2), 0(1,%r1) +#CHECK: error: invalid use of indexed addressing +#CHECK: pka 0(%r2), 0(%r1,%r2) +#CHECK: error: unknown token in expression +#CHECK: pka 0, 0(-) + + pka 0, 0 + pka 0(%r1), 0(%r1) + pka 0(1,%r1), 0(2,%r1) + pka 0(%r1), 0(0,%r1) + pka 0(%r1), 0(257,%r1) + pka -1(%r1), 0(1,%r1) + pka 4096(%r1), 0(1,%r1) + pka 0(%r1), -1(1,%r1) + pka 0(%r1), 4096(1,%r1) + pka 0(%r0), 0(1,%r1) + pka 0(%r1), 0(1,%r0) + pka 0(%r1,%r2), 0(1,%r1) + pka 0(%r2), 0(%r1,%r2) + pka 0, 0(-) + +#CHECK: error: missing length in address +#CHECK: pku 0, 0 +#CHECK: error: missing length in address +#CHECK: pku 0(%r1), 0(%r1) +#CHECK: error: invalid use of length addressing +#CHECK: pku 0(1,%r1), 0(2,%r1) +#CHECK: error: invalid operand +#CHECK: pku 0(%r1), 0(0,%r1) +#CHECK: error: invalid operand +#CHECK: pku 0(%r1), 0(257,%r1) +#CHECK: error: invalid operand +#CHECK: pku -1(%r1), 0(1,%r1) +#CHECK: error: invalid operand +#CHECK: pku 4096(%r1), 0(1,%r1) +#CHECK: error: invalid operand +#CHECK: pku 0(%r1), -1(1,%r1) +#CHECK: error: invalid operand +#CHECK: pku 0(%r1), 4096(1,%r1) +#CHECK: error: %r0 used in an address +#CHECK: pku 0(%r0), 0(1,%r1) +#CHECK: error: %r0 used in an address +#CHECK: pku 0(%r1), 0(1,%r0) +#CHECK: error: invalid use of indexed addressing +#CHECK: pku 0(%r1,%r2), 0(1,%r1) +#CHECK: error: invalid use of indexed addressing +#CHECK: pku 0(%r2), 0(%r1,%r2) +#CHECK: error: unknown token in expression +#CHECK: pku 0, 0(-) + + pku 0, 0 + pku 0(%r1), 0(%r1) + pku 0(1,%r1), 0(2,%r1) + pku 0(%r1), 0(0,%r1) + pku 0(%r1), 0(257,%r1) + pku -1(%r1), 0(1,%r1) + pku 4096(%r1), 0(1,%r1) + pku 0(%r1), -1(1,%r1) + pku 0(%r1), 4096(1,%r1) + pku 0(%r0), 0(1,%r1) + pku 0(%r1), 0(1,%r0) + pku 0(%r1,%r2), 0(1,%r1) + pku 0(%r2), 0(%r1,%r2) + pku 0, 0(-) + #CHECK: error: invalid use of indexed addressing #CHECK: plo %r2, 160(%r1,%r15), %r4, 160(%r15) #CHECK: error: invalid operand @@ -3294,6 +4443,34 @@ risblg %r1, %r2, 0, 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: rnsbg %r0,%r0,0,0,-1 #CHECK: error: invalid operand #CHECK: rnsbg %r0,%r0,0,0,64 @@ -3354,34 +4531,6 @@ rxsbg %r0,%r0,256,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 @@ -3451,6 +4600,39 @@ sl %r0, 4096 #CHECK: error: invalid operand +#CHECK: sla %r0,-1 +#CHECK: error: invalid operand +#CHECK: sla %r0,4096 +#CHECK: error: %r0 used in an address +#CHECK: sla %r0,0(%r0) +#CHECK: error: invalid use of indexed addressing +#CHECK: sla %r0,0(%r1,%r2) + + sla %r0,-1 + sla %r0,4096 + sla %r0,0(%r0) + sla %r0,0(%r1,%r2) + +#CHECK: error: invalid operand +#CHECK: slag %r0,%r0,-524289 +#CHECK: error: invalid operand +#CHECK: slag %r0,%r0,524288 +#CHECK: error: %r0 used in an address +#CHECK: slag %r0,%r0,0(%r0) +#CHECK: error: invalid use of indexed addressing +#CHECK: slag %r0,%r0,0(%r1,%r2) + + slag %r0,%r0,-524289 + slag %r0,%r0,524288 + slag %r0,%r0,0(%r0) + slag %r0,%r0,0(%r1,%r2) + +#CHECK: error: instruction requires: distinct-ops +#CHECK: slak %r2,%r3,4(%r5) + + slak %r2,%r3,4(%r5) + +#CHECK: error: invalid operand #CHECK: slb %r0, -524289 #CHECK: error: invalid operand #CHECK: slb %r0, 524288 @@ -3466,6 +4648,40 @@ slbg %r0, -524289 slbg %r0, 524288 +#CHECK: error: invalid register pair +#CHECK: slda %r1,0 +#CHECK: error: invalid operand +#CHECK: slda %r0,-1 +#CHECK: error: invalid operand +#CHECK: slda %r0,4096 +#CHECK: error: %r0 used in an address +#CHECK: slda %r0,0(%r0) +#CHECK: error: invalid use of indexed addressing +#CHECK: slda %r0,0(%r1,%r2) + + slda %r1,0 + slda %r0,-1 + slda %r0,4096 + slda %r0,0(%r0) + slda %r0,0(%r1,%r2) + +#CHECK: error: invalid register pair +#CHECK: sldl %r1,0 +#CHECK: error: invalid operand +#CHECK: sldl %r0,-1 +#CHECK: error: invalid operand +#CHECK: sldl %r0,4096 +#CHECK: error: %r0 used in an address +#CHECK: sldl %r0,0(%r0) +#CHECK: error: invalid use of indexed addressing +#CHECK: sldl %r0,0(%r1,%r2) + + sldl %r1,0 + sldl %r0,-1 + sldl %r0,4096 + sldl %r0,0(%r0) + sldl %r0,0(%r1,%r2) + #CHECK: error: invalid operand #CHECK: slfi %r0, -1 #CHECK: error: invalid operand @@ -3504,25 +4720,6 @@ slgrk %r2,%r3,%r4 #CHECK: error: invalid operand -#CHECK: sla %r0,-1 -#CHECK: error: invalid operand -#CHECK: sla %r0,4096 -#CHECK: error: %r0 used in an address -#CHECK: sla %r0,0(%r0) -#CHECK: error: invalid use of indexed addressing -#CHECK: sla %r0,0(%r1,%r2) - - sla %r0,-1 - sla %r0,4096 - sla %r0,0(%r0) - sla %r0,0(%r1,%r2) - -#CHECK: error: instruction requires: distinct-ops -#CHECK: slak %r2,%r3,4(%r5) - - slak %r2,%r3,4(%r5) - -#CHECK: error: invalid operand #CHECK: sll %r0,-1 #CHECK: error: invalid operand #CHECK: sll %r0,4096 @@ -3568,6 +4765,59 @@ sly %r0, -524289 sly %r0, 524288 +#CHECK: error: missing length in address +#CHECK: sp 0, 0(1) +#CHECK: error: missing length in address +#CHECK: sp 0(1), 0 +#CHECK: error: missing length in address +#CHECK: sp 0(%r1), 0(1,%r1) +#CHECK: error: missing length in address +#CHECK: sp 0(1,%r1), 0(%r1) +#CHECK: error: invalid operand +#CHECK: sp 0(0,%r1), 0(1,%r1) +#CHECK: error: invalid operand +#CHECK: sp 0(1,%r1), 0(0,%r1) +#CHECK: error: invalid operand +#CHECK: sp 0(17,%r1), 0(1,%r1) +#CHECK: error: invalid operand +#CHECK: sp 0(1,%r1), 0(17,%r1) +#CHECK: error: invalid operand +#CHECK: sp -1(1,%r1), 0(1,%r1) +#CHECK: error: invalid operand +#CHECK: sp 4096(1,%r1), 0(1,%r1) +#CHECK: error: invalid operand +#CHECK: sp 0(1,%r1), -1(1,%r1) +#CHECK: error: invalid operand +#CHECK: sp 0(1,%r1), 4096(1,%r1) +#CHECK: error: %r0 used in an address +#CHECK: sp 0(1,%r0), 0(1,%r1) +#CHECK: error: %r0 used in an address +#CHECK: sp 0(1,%r1), 0(1,%r0) +#CHECK: error: invalid use of indexed addressing +#CHECK: sp 0(%r1,%r2), 0(1,%r1) +#CHECK: error: invalid use of indexed addressing +#CHECK: sp 0(1,%r2), 0(%r1,%r2) +#CHECK: error: unknown token in expression +#CHECK: sp 0(-), 0(1) + + sp 0, 0(1) + sp 0(1), 0 + sp 0(%r1), 0(1,%r1) + sp 0(1,%r1), 0(%r1) + sp 0(0,%r1), 0(1,%r1) + sp 0(1,%r1), 0(0,%r1) + sp 0(17,%r1), 0(1,%r1) + sp 0(1,%r1), 0(17,%r1) + sp -1(1,%r1), 0(1,%r1) + sp 4096(1,%r1), 0(1,%r1) + sp 0(1,%r1), -1(1,%r1) + sp 0(1,%r1), 4096(1,%r1) + sp 0(1,%r0), 0(1,%r1) + sp 0(1,%r1), 0(1,%r0) + sp 0(%r1,%r2), 0(1,%r1) + sp 0(1,%r2), 0(%r1,%r2) + sp 0(-), 0(1) + #CHECK: error: invalid operand #CHECK: sqdb %f0, -1 #CHECK: error: invalid operand @@ -3625,6 +4875,40 @@ srak %r2,%r3,4(%r5) +#CHECK: error: invalid register pair +#CHECK: srda %r1,0 +#CHECK: error: invalid operand +#CHECK: srda %r0,-1 +#CHECK: error: invalid operand +#CHECK: srda %r0,4096 +#CHECK: error: %r0 used in an address +#CHECK: srda %r0,0(%r0) +#CHECK: error: invalid use of indexed addressing +#CHECK: srda %r0,0(%r1,%r2) + + srda %r1,0 + srda %r0,-1 + srda %r0,4096 + srda %r0,0(%r0) + srda %r0,0(%r1,%r2) + +#CHECK: error: invalid register pair +#CHECK: srdl %r1,0 +#CHECK: error: invalid operand +#CHECK: srdl %r0,-1 +#CHECK: error: invalid operand +#CHECK: srdl %r0,4096 +#CHECK: error: %r0 used in an address +#CHECK: srdl %r0,0(%r0) +#CHECK: error: invalid use of indexed addressing +#CHECK: srdl %r0,0(%r1,%r2) + + srdl %r1,0 + srdl %r0,-1 + srdl %r0,4096 + srdl %r0,0(%r0) + srdl %r0,0(%r1,%r2) + #CHECK: error: instruction requires: distinct-ops #CHECK: srk %r2,%r3,%r4 @@ -3690,6 +4974,56 @@ srnmt 4096 srnmt 0(%r1,%r2) +#CHECK: error: missing length in address +#CHECK: srp 0, 0, 0 +#CHECK: error: missing length in address +#CHECK: srp 0(%r1), 0(%r1), 0 +#CHECK: error: invalid use of length addressing +#CHECK: srp 0(1,%r1), 0(2,%r1), 0 +#CHECK: error: invalid operand +#CHECK: srp 0(0,%r1), 0(%r1), 0 +#CHECK: error: invalid operand +#CHECK: srp 0(17,%r1), 0(%r1), 0 +#CHECK: error: invalid operand +#CHECK: srp -1(1,%r1), 0(%r1), 0 +#CHECK: error: invalid operand +#CHECK: srp 4096(1,%r1), 0(%r1), 0 +#CHECK: error: invalid operand +#CHECK: srp 0(1,%r1), -1(%r1), 0 +#CHECK: error: invalid operand +#CHECK: srp 0(1,%r1), 4096(%r1), 0 +#CHECK: error: %r0 used in an address +#CHECK: srp 0(1,%r0), 0(%r1), 0 +#CHECK: error: %r0 used in an address +#CHECK: srp 0(1,%r1), 0(%r0), 0 +#CHECK: error: invalid use of indexed addressing +#CHECK: srp 0(%r1,%r2), 0(%r1), 0 +#CHECK: error: invalid use of indexed addressing +#CHECK: srp 0(1,%r2), 0(%r1,%r2), 0 +#CHECK: error: invalid operand +#CHECK: srp 0(1), 0, -1 +#CHECK: error: invalid operand +#CHECK: srp 0(1), 0, 16 +#CHECK: error: unknown token in expression +#CHECK: srp 0(-), 0, 0 + + srp 0, 0, 0 + srp 0(%r1), 0(%r1), 0 + srp 0(1,%r1), 0(2,%r1), 0 + srp 0(0,%r1), 0(%r1), 0 + srp 0(17,%r1), 0(%r1), 0 + srp -1(1,%r1), 0(%r1), 0 + srp 4096(1,%r1), 0(%r1), 0 + srp 0(1,%r1), -1(%r1), 0 + srp 0(1,%r1), 4096(%r1), 0 + srp 0(1,%r0), 0(%r1), 0 + srp 0(1,%r1), 0(%r0), 0 + srp 0(%r1,%r2), 0(%r1), 0 + srp 0(1,%r2), 0(%r1,%r2), 0 + srp 0(1), 0, -1 + srp 0(1), 0, 16 + srp 0(-), 0, 0 + #CHECK: error: invalid operand #CHECK: st %r0, -1 #CHECK: error: invalid operand @@ -3731,6 +5065,48 @@ stch %r0, 0 #CHECK: error: invalid operand +#CHECK: stcm %r0, 0, -1 +#CHECK: error: invalid operand +#CHECK: stcm %r0, 0, 4096 +#CHECK: error: invalid operand +#CHECK: stcm %r0, -1, 0 +#CHECK: error: invalid operand +#CHECK: stcm %r0, 16, 0 + + stcm %r0, 0, -1 + stcm %r0, 0, 4096 + stcm %r0, -1, 0 + stcm %r0, 16, 0 + +#CHECK: error: invalid operand +#CHECK: stcmy %r0, 0, -524289 +#CHECK: error: invalid operand +#CHECK: stcmy %r0, 0, 524288 +#CHECK: error: invalid operand +#CHECK: stcmy %r0, -1, 0 +#CHECK: error: invalid operand +#CHECK: stcmy %r0, 16, 0 + + stcmy %r0, 0, -524289 + stcmy %r0, 0, 524288 + stcmy %r0, -1, 0 + stcmy %r0, 16, 0 + +#CHECK: error: invalid operand +#CHECK: stcmy %r0, 0, -524289 +#CHECK: error: invalid operand +#CHECK: stcmy %r0, 0, 524288 +#CHECK: error: invalid operand +#CHECK: stcmy %r0, -1, 0 +#CHECK: error: invalid operand +#CHECK: stcmy %r0, 16, 0 + + stcmy %r0, 0, -524289 + stcmy %r0, 0, 524288 + stcmy %r0, -1, 0 + stcmy %r0, 16, 0 + +#CHECK: error: invalid operand #CHECK: stcy %r0, -524289 #CHECK: error: invalid operand #CHECK: stcy %r0, 524288 @@ -3770,6 +5146,11 @@ stey %f0, -524289 stey %f0, 524288 +#CHECK: error: instruction requires: high-word +#CHECK: stfh %r0, 0 + + stfh %r0, 0 + #CHECK: error: invalid operand #CHECK: stfpc -1 #CHECK: error: invalid operand @@ -3838,11 +5219,6 @@ sthy %r0, -524289 sthy %r0, 524288 -#CHECK: error: instruction requires: high-word -#CHECK: stfh %r0, 0 - - stfh %r0, 0 - #CHECK: error: invalid operand #CHECK: stm %r0, %r0, 4096 #CHECK: error: invalid use of indexed addressing @@ -4008,6 +5384,14 @@ tm 0, 256 #CHECK: error: invalid operand +#CHECK: tmh %r0, -1 +#CHECK: error: invalid operand +#CHECK: tmh %r0, 0x10000 + + tmh %r0, -1 + tmh %r0, 0x10000 + +#CHECK: error: invalid operand #CHECK: tmhh %r0, -1 #CHECK: error: invalid operand #CHECK: tmhh %r0, 0x10000 @@ -4024,12 +5408,12 @@ tmhl %r0, 0x10000 #CHECK: error: invalid operand -#CHECK: tmh %r0, -1 +#CHECK: tml %r0, -1 #CHECK: error: invalid operand -#CHECK: tmh %r0, 0x10000 +#CHECK: tml %r0, 0x10000 - tmh %r0, -1 - tmh %r0, 0x10000 + tml %r0, -1 + tml %r0, 0x10000 #CHECK: error: invalid operand #CHECK: tmlh %r0, -1 @@ -4040,14 +5424,6 @@ tmlh %r0, 0x10000 #CHECK: error: invalid operand -#CHECK: tml %r0, -1 -#CHECK: error: invalid operand -#CHECK: tml %r0, 0x10000 - - tml %r0, -1 - tml %r0, 0x10000 - -#CHECK: error: invalid operand #CHECK: tmll %r0, -1 #CHECK: error: invalid operand #CHECK: tmll %r0, 0x10000 @@ -4072,6 +5448,238 @@ tmy 0, -1 tmy 0, 256 +#CHECK: error: missing length in address +#CHECK: tp 0 +#CHECK: error: missing length in address +#CHECK: tp 0(%r1) +#CHECK: error: invalid operand +#CHECK: tp 0(0,%r1) +#CHECK: error: invalid operand +#CHECK: tp 0(17,%r1) +#CHECK: error: invalid operand +#CHECK: tp -1(1,%r1) +#CHECK: error: invalid operand +#CHECK: tp 4096(1,%r1) +#CHECK: error: %r0 used in an address +#CHECK: tp 0(1,%r0) +#CHECK: error: invalid use of indexed addressing +#CHECK: tp 0(%r1,%r2) +#CHECK: error: unknown token in expression +#CHECK: tp 0(-) + + tp 0 + tp 0(%r1) + tp 0(0,%r1) + tp 0(17,%r1) + tp -1(1,%r1) + tp 4096(1,%r1) + tp 0(1,%r0) + tp 0(%r1,%r2) + tp 0(-) + +#CHECK: error: missing length in address +#CHECK: tr 0, 0 +#CHECK: error: missing length in address +#CHECK: tr 0(%r1), 0(%r1) +#CHECK: error: invalid use of length addressing +#CHECK: tr 0(1,%r1), 0(2,%r1) +#CHECK: error: invalid operand +#CHECK: tr 0(0,%r1), 0(%r1) +#CHECK: error: invalid operand +#CHECK: tr 0(257,%r1), 0(%r1) +#CHECK: error: invalid operand +#CHECK: tr -1(1,%r1), 0(%r1) +#CHECK: error: invalid operand +#CHECK: tr 4096(1,%r1), 0(%r1) +#CHECK: error: invalid operand +#CHECK: tr 0(1,%r1), -1(%r1) +#CHECK: error: invalid operand +#CHECK: tr 0(1,%r1), 4096(%r1) +#CHECK: error: %r0 used in an address +#CHECK: tr 0(1,%r0), 0(%r1) +#CHECK: error: %r0 used in an address +#CHECK: tr 0(1,%r1), 0(%r0) +#CHECK: error: invalid use of indexed addressing +#CHECK: tr 0(%r1,%r2), 0(%r1) +#CHECK: error: invalid use of indexed addressing +#CHECK: tr 0(1,%r2), 0(%r1,%r2) +#CHECK: error: unknown token in expression +#CHECK: tr 0(-), 0 + + tr 0, 0 + tr 0(%r1), 0(%r1) + tr 0(1,%r1), 0(2,%r1) + tr 0(0,%r1), 0(%r1) + tr 0(257,%r1), 0(%r1) + tr -1(1,%r1), 0(%r1) + tr 4096(1,%r1), 0(%r1) + tr 0(1,%r1), -1(%r1) + tr 0(1,%r1), 4096(%r1) + tr 0(1,%r0), 0(%r1) + tr 0(1,%r1), 0(%r0) + tr 0(%r1,%r2), 0(%r1) + tr 0(1,%r2), 0(%r1,%r2) + tr 0(-), 0 + +#CHECK: error: invalid register pair +#CHECK: tre %r1, %r0 + + tre %r1, %r0 + +#CHECK: error: invalid register pair +#CHECK: troo %r1, %r0 +#CHECK: error: invalid operand +#CHECK: troo %r2, %r4, -1 +#CHECK: error: invalid operand +#CHECK: troo %r2, %r4, 16 + + troo %r1, %r0 + troo %r2, %r4, -1 + troo %r2, %r4, 16 + +#CHECK: error: invalid register pair +#CHECK: trot %r1, %r0 +#CHECK: error: invalid operand +#CHECK: trot %r2, %r4, -1 +#CHECK: error: invalid operand +#CHECK: trot %r2, %r4, 16 + + trot %r1, %r0 + trot %r2, %r4, -1 + trot %r2, %r4, 16 + +#CHECK: error: missing length in address +#CHECK: trt 0, 0 +#CHECK: error: missing length in address +#CHECK: trt 0(%r1), 0(%r1) +#CHECK: error: invalid use of length addressing +#CHECK: trt 0(1,%r1), 0(2,%r1) +#CHECK: error: invalid operand +#CHECK: trt 0(0,%r1), 0(%r1) +#CHECK: error: invalid operand +#CHECK: trt 0(257,%r1), 0(%r1) +#CHECK: error: invalid operand +#CHECK: trt -1(1,%r1), 0(%r1) +#CHECK: error: invalid operand +#CHECK: trt 4096(1,%r1), 0(%r1) +#CHECK: error: invalid operand +#CHECK: trt 0(1,%r1), -1(%r1) +#CHECK: error: invalid operand +#CHECK: trt 0(1,%r1), 4096(%r1) +#CHECK: error: %r0 used in an address +#CHECK: trt 0(1,%r0), 0(%r1) +#CHECK: error: %r0 used in an address +#CHECK: trt 0(1,%r1), 0(%r0) +#CHECK: error: invalid use of indexed addressing +#CHECK: trt 0(%r1,%r2), 0(%r1) +#CHECK: error: invalid use of indexed addressing +#CHECK: trt 0(1,%r2), 0(%r1,%r2) +#CHECK: error: unknown token in expression +#CHECK: trt 0(-), 0 + + trt 0, 0 + trt 0(%r1), 0(%r1) + trt 0(1,%r1), 0(2,%r1) + trt 0(0,%r1), 0(%r1) + trt 0(257,%r1), 0(%r1) + trt -1(1,%r1), 0(%r1) + trt 4096(1,%r1), 0(%r1) + trt 0(1,%r1), -1(%r1) + trt 0(1,%r1), 4096(%r1) + trt 0(1,%r0), 0(%r1) + trt 0(1,%r1), 0(%r0) + trt 0(%r1,%r2), 0(%r1) + trt 0(1,%r2), 0(%r1,%r2) + trt 0(-), 0 + +#CHECK: error: invalid register pair +#CHECK: trte %r1, %r0 +#CHECK: error: invalid operand +#CHECK: trte %r2, %r4, -1 +#CHECK: error: invalid operand +#CHECK: trte %r2, %r4, 16 + + trte %r1, %r0 + trte %r2, %r4, -1 + trte %r2, %r4, 16 + +#CHECK: error: invalid register pair +#CHECK: trto %r1, %r0 +#CHECK: error: invalid operand +#CHECK: trto %r2, %r4, -1 +#CHECK: error: invalid operand +#CHECK: trto %r2, %r4, 16 + + trto %r1, %r0 + trto %r2, %r4, -1 + trto %r2, %r4, 16 + +#CHECK: error: missing length in address +#CHECK: trtr 0, 0 +#CHECK: error: missing length in address +#CHECK: trtr 0(%r1), 0(%r1) +#CHECK: error: invalid use of length addressing +#CHECK: trtr 0(1,%r1), 0(2,%r1) +#CHECK: error: invalid operand +#CHECK: trtr 0(0,%r1), 0(%r1) +#CHECK: error: invalid operand +#CHECK: trtr 0(257,%r1), 0(%r1) +#CHECK: error: invalid operand +#CHECK: trtr -1(1,%r1), 0(%r1) +#CHECK: error: invalid operand +#CHECK: trtr 4096(1,%r1), 0(%r1) +#CHECK: error: invalid operand +#CHECK: trtr 0(1,%r1), -1(%r1) +#CHECK: error: invalid operand +#CHECK: trtr 0(1,%r1), 4096(%r1) +#CHECK: error: %r0 used in an address +#CHECK: trtr 0(1,%r0), 0(%r1) +#CHECK: error: %r0 used in an address +#CHECK: trtr 0(1,%r1), 0(%r0) +#CHECK: error: invalid use of indexed addressing +#CHECK: trtr 0(%r1,%r2), 0(%r1) +#CHECK: error: invalid use of indexed addressing +#CHECK: trtr 0(1,%r2), 0(%r1,%r2) +#CHECK: error: unknown token in expression +#CHECK: trtr 0(-), 0 + + trtr 0, 0 + trtr 0(%r1), 0(%r1) + trtr 0(1,%r1), 0(2,%r1) + trtr 0(0,%r1), 0(%r1) + trtr 0(257,%r1), 0(%r1) + trtr -1(1,%r1), 0(%r1) + trtr 4096(1,%r1), 0(%r1) + trtr 0(1,%r1), -1(%r1) + trtr 0(1,%r1), 4096(%r1) + trtr 0(1,%r0), 0(%r1) + trtr 0(1,%r1), 0(%r0) + trtr 0(%r1,%r2), 0(%r1) + trtr 0(1,%r2), 0(%r1,%r2) + trtr 0(-), 0 + +#CHECK: error: invalid register pair +#CHECK: trtre %r1, %r0 +#CHECK: error: invalid operand +#CHECK: trtre %r2, %r4, -1 +#CHECK: error: invalid operand +#CHECK: trtre %r2, %r4, 16 + + trtre %r1, %r0 + trtre %r2, %r4, -1 + trtre %r2, %r4, 16 + +#CHECK: error: invalid register pair +#CHECK: trtt %r1, %r0 +#CHECK: error: invalid operand +#CHECK: trtt %r2, %r4, -1 +#CHECK: error: invalid operand +#CHECK: trtt %r2, %r4, 16 + + trtt %r1, %r0 + trtt %r2, %r4, -1 + trtt %r2, %r4, 16 + #CHECK: error: invalid operand #CHECK: ts -1 #CHECK: error: invalid operand @@ -4083,6 +5691,147 @@ ts 4096 ts 0(%r1,%r2) +#CHECK: error: missing length in address +#CHECK: unpk 0, 0(1) +#CHECK: error: missing length in address +#CHECK: unpk 0(1), 0 +#CHECK: error: missing length in address +#CHECK: unpk 0(%r1), 0(1,%r1) +#CHECK: error: missing length in address +#CHECK: unpk 0(1,%r1), 0(%r1) +#CHECK: error: invalid operand +#CHECK: unpk 0(0,%r1), 0(1,%r1) +#CHECK: error: invalid operand +#CHECK: unpk 0(1,%r1), 0(0,%r1) +#CHECK: error: invalid operand +#CHECK: unpk 0(17,%r1), 0(1,%r1) +#CHECK: error: invalid operand +#CHECK: unpk 0(1,%r1), 0(17,%r1) +#CHECK: error: invalid operand +#CHECK: unpk -1(1,%r1), 0(1,%r1) +#CHECK: error: invalid operand +#CHECK: unpk 4096(1,%r1), 0(1,%r1) +#CHECK: error: invalid operand +#CHECK: unpk 0(1,%r1), -1(1,%r1) +#CHECK: error: invalid operand +#CHECK: unpk 0(1,%r1), 4096(1,%r1) +#CHECK: error: %r0 used in an address +#CHECK: unpk 0(1,%r0), 0(1,%r1) +#CHECK: error: %r0 used in an address +#CHECK: unpk 0(1,%r1), 0(1,%r0) +#CHECK: error: invalid use of indexed addressing +#CHECK: unpk 0(%r1,%r2), 0(1,%r1) +#CHECK: error: invalid use of indexed addressing +#CHECK: unpk 0(1,%r2), 0(%r1,%r2) +#CHECK: error: unknown token in expression +#CHECK: unpk 0(-), 0(1) + + unpk 0, 0(1) + unpk 0(1), 0 + unpk 0(%r1), 0(1,%r1) + unpk 0(1,%r1), 0(%r1) + unpk 0(0,%r1), 0(1,%r1) + unpk 0(1,%r1), 0(0,%r1) + unpk 0(17,%r1), 0(1,%r1) + unpk 0(1,%r1), 0(17,%r1) + unpk -1(1,%r1), 0(1,%r1) + unpk 4096(1,%r1), 0(1,%r1) + unpk 0(1,%r1), -1(1,%r1) + unpk 0(1,%r1), 4096(1,%r1) + unpk 0(1,%r0), 0(1,%r1) + unpk 0(1,%r1), 0(1,%r0) + unpk 0(%r1,%r2), 0(1,%r1) + unpk 0(1,%r2), 0(%r1,%r2) + unpk 0(-), 0(1) + +#CHECK: error: missing length in address +#CHECK: unpka 0, 0 +#CHECK: error: missing length in address +#CHECK: unpka 0(%r1), 0(%r1) +#CHECK: error: invalid use of length addressing +#CHECK: unpka 0(1,%r1), 0(2,%r1) +#CHECK: error: invalid operand +#CHECK: unpka 0(0,%r1), 0(%r1) +#CHECK: error: invalid operand +#CHECK: unpka 0(257,%r1), 0(%r1) +#CHECK: error: invalid operand +#CHECK: unpka -1(1,%r1), 0(%r1) +#CHECK: error: invalid operand +#CHECK: unpka 4096(1,%r1), 0(%r1) +#CHECK: error: invalid operand +#CHECK: unpka 0(1,%r1), -1(%r1) +#CHECK: error: invalid operand +#CHECK: unpka 0(1,%r1), 4096(%r1) +#CHECK: error: %r0 used in an address +#CHECK: unpka 0(1,%r0), 0(%r1) +#CHECK: error: %r0 used in an address +#CHECK: unpka 0(1,%r1), 0(%r0) +#CHECK: error: invalid use of indexed addressing +#CHECK: unpka 0(%r1,%r2), 0(%r1) +#CHECK: error: invalid use of indexed addressing +#CHECK: unpka 0(1,%r2), 0(%r1,%r2) +#CHECK: error: unknown token in expression +#CHECK: unpka 0(-), 0 + + unpka 0, 0 + unpka 0(%r1), 0(%r1) + unpka 0(1,%r1), 0(2,%r1) + unpka 0(0,%r1), 0(%r1) + unpka 0(257,%r1), 0(%r1) + unpka -1(1,%r1), 0(%r1) + unpka 4096(1,%r1), 0(%r1) + unpka 0(1,%r1), -1(%r1) + unpka 0(1,%r1), 4096(%r1) + unpka 0(1,%r0), 0(%r1) + unpka 0(1,%r1), 0(%r0) + unpka 0(%r1,%r2), 0(%r1) + unpka 0(1,%r2), 0(%r1,%r2) + unpka 0(-), 0 + +#CHECK: error: missing length in address +#CHECK: unpku 0, 0 +#CHECK: error: missing length in address +#CHECK: unpku 0(%r1), 0(%r1) +#CHECK: error: invalid use of length addressing +#CHECK: unpku 0(1,%r1), 0(2,%r1) +#CHECK: error: invalid operand +#CHECK: unpku 0(0,%r1), 0(%r1) +#CHECK: error: invalid operand +#CHECK: unpku 0(257,%r1), 0(%r1) +#CHECK: error: invalid operand +#CHECK: unpku -1(1,%r1), 0(%r1) +#CHECK: error: invalid operand +#CHECK: unpku 4096(1,%r1), 0(%r1) +#CHECK: error: invalid operand +#CHECK: unpku 0(1,%r1), -1(%r1) +#CHECK: error: invalid operand +#CHECK: unpku 0(1,%r1), 4096(%r1) +#CHECK: error: %r0 used in an address +#CHECK: unpku 0(1,%r0), 0(%r1) +#CHECK: error: %r0 used in an address +#CHECK: unpku 0(1,%r1), 0(%r0) +#CHECK: error: invalid use of indexed addressing +#CHECK: unpku 0(%r1,%r2), 0(%r1) +#CHECK: error: invalid use of indexed addressing +#CHECK: unpku 0(1,%r2), 0(%r1,%r2) +#CHECK: error: unknown token in expression +#CHECK: unpku 0(-), 0 + + unpku 0, 0 + unpku 0(%r1), 0(%r1) + unpku 0(1,%r1), 0(2,%r1) + unpku 0(0,%r1), 0(%r1) + unpku 0(257,%r1), 0(%r1) + unpku -1(1,%r1), 0(%r1) + unpku 4096(1,%r1), 0(%r1) + unpku 0(1,%r1), -1(%r1) + unpku 0(1,%r1), 4096(%r1) + unpku 0(1,%r0), 0(%r1) + unpku 0(1,%r1), 0(%r0) + unpku 0(%r1,%r2), 0(%r1) + unpku 0(1,%r2), 0(%r1,%r2) + unpku 0(-), 0 + #CHECK: error: invalid operand #CHECK: x %r0, -1 #CHECK: error: invalid operand @@ -4210,3 +5959,56 @@ xy %r0, -524289 xy %r0, 524288 + +#CHECK: error: missing length in address +#CHECK: zap 0, 0(1) +#CHECK: error: missing length in address +#CHECK: zap 0(1), 0 +#CHECK: error: missing length in address +#CHECK: zap 0(%r1), 0(1,%r1) +#CHECK: error: missing length in address +#CHECK: zap 0(1,%r1), 0(%r1) +#CHECK: error: invalid operand +#CHECK: zap 0(0,%r1), 0(1,%r1) +#CHECK: error: invalid operand +#CHECK: zap 0(1,%r1), 0(0,%r1) +#CHECK: error: invalid operand +#CHECK: zap 0(17,%r1), 0(1,%r1) +#CHECK: error: invalid operand +#CHECK: zap 0(1,%r1), 0(17,%r1) +#CHECK: error: invalid operand +#CHECK: zap -1(1,%r1), 0(1,%r1) +#CHECK: error: invalid operand +#CHECK: zap 4096(1,%r1), 0(1,%r1) +#CHECK: error: invalid operand +#CHECK: zap 0(1,%r1), -1(1,%r1) +#CHECK: error: invalid operand +#CHECK: zap 0(1,%r1), 4096(1,%r1) +#CHECK: error: %r0 used in an address +#CHECK: zap 0(1,%r0), 0(1,%r1) +#CHECK: error: %r0 used in an address +#CHECK: zap 0(1,%r1), 0(1,%r0) +#CHECK: error: invalid use of indexed addressing +#CHECK: zap 0(%r1,%r2), 0(1,%r1) +#CHECK: error: invalid use of indexed addressing +#CHECK: zap 0(1,%r2), 0(%r1,%r2) +#CHECK: error: unknown token in expression +#CHECK: zap 0(-), 0(1) + + zap 0, 0(1) + zap 0(1), 0 + zap 0(%r1), 0(1,%r1) + zap 0(1,%r1), 0(%r1) + zap 0(0,%r1), 0(1,%r1) + zap 0(1,%r1), 0(0,%r1) + zap 0(17,%r1), 0(1,%r1) + zap 0(1,%r1), 0(17,%r1) + zap -1(1,%r1), 0(1,%r1) + zap 4096(1,%r1), 0(1,%r1) + zap 0(1,%r1), -1(1,%r1) + zap 0(1,%r1), 4096(1,%r1) + zap 0(1,%r0), 0(1,%r1) + zap 0(1,%r1), 0(1,%r0) + zap 0(%r1,%r2), 0(1,%r1) + zap 0(1,%r2), 0(%r1,%r2) + zap 0(-), 0(1) |