diff options
author | Ulrich Weigand <ulrich.weigand@de.ibm.com> | 2017-05-30 10:15:16 +0000 |
---|---|---|
committer | Ulrich Weigand <ulrich.weigand@de.ibm.com> | 2017-05-30 10:15:16 +0000 |
commit | 3f484e68cc6bf62ccff44c2cdb1a70aaf015d088 (patch) | |
tree | c92128358732b94b1fda61ed46647e9486f2869c /llvm/test/MC/SystemZ | |
parent | f32adf6944dba793af335a1269f8a4173cd437c3 (diff) | |
download | bcm5719-llvm-3f484e68cc6bf62ccff44c2cdb1a70aaf015d088.tar.gz bcm5719-llvm-3f484e68cc6bf62ccff44c2cdb1a70aaf015d088.zip |
[SystemZ] Add decimal floating-point instructions
This adds assembler / disassembler support for the decimal
floating-point instructions. Since LLVM does not yet have
support for decimal float types, these cannot be used for
codegen at this point.
llvm-svn: 304203
Diffstat (limited to 'llvm/test/MC/SystemZ')
-rw-r--r-- | llvm/test/MC/SystemZ/insn-bad-z13.s | 146 | ||||
-rw-r--r-- | llvm/test/MC/SystemZ/insn-bad-z196.s | 368 | ||||
-rw-r--r-- | llvm/test/MC/SystemZ/insn-bad-zEC12.s | 166 | ||||
-rw-r--r-- | llvm/test/MC/SystemZ/insn-bad.s | 528 | ||||
-rw-r--r-- | llvm/test/MC/SystemZ/insn-good-z13.s | 80 | ||||
-rw-r--r-- | llvm/test/MC/SystemZ/insn-good-z196.s | 336 | ||||
-rw-r--r-- | llvm/test/MC/SystemZ/insn-good-zEC12.s | 80 | ||||
-rw-r--r-- | llvm/test/MC/SystemZ/insn-good.s | 699 |
8 files changed, 2403 insertions, 0 deletions
diff --git a/llvm/test/MC/SystemZ/insn-bad-z13.s b/llvm/test/MC/SystemZ/insn-bad-z13.s index 82f47feeb8a..e9fac44aa88 100644 --- a/llvm/test/MC/SystemZ/insn-bad-z13.s +++ b/llvm/test/MC/SystemZ/insn-bad-z13.s @@ -5,6 +5,152 @@ # RUN: FileCheck < %t %s #CHECK: error: invalid operand +#CHECK: cdpt %f0, 0(1), -1 +#CHECK: error: invalid operand +#CHECK: cdpt %f0, 0(1), 16 +#CHECK: error: missing length in address +#CHECK: cdpt %f0, 0, 0 +#CHECK: error: missing length in address +#CHECK: cdpt %f0, 0(%r1), 0 +#CHECK: error: invalid operand +#CHECK: cdpt %f0, 0(0,%r1), 0 +#CHECK: error: invalid operand +#CHECK: cdpt %f0, 0(257,%r1), 0 +#CHECK: error: invalid operand +#CHECK: cdpt %f0, -1(1,%r1), 0 +#CHECK: error: invalid operand +#CHECK: cdpt %f0, 4096(1,%r1), 0 +#CHECK: error: %r0 used in an address +#CHECK: cdpt %f0, 0(1,%r0), 0 +#CHECK: error: invalid use of indexed addressing +#CHECK: cdpt %f0, 0(%r1,%r2), 0 +#CHECK: error: unknown token in expression +#CHECK: cdpt %f0, 0(-), 0 + + cdpt %f0, 0(1), -1 + cdpt %f0, 0(1), 16 + cdpt %f0, 0, 0 + cdpt %f0, 0(%r1), 0 + cdpt %f0, 0(0,%r1), 0 + cdpt %f0, 0(257,%r1), 0 + cdpt %f0, -1(1,%r1), 0 + cdpt %f0, 4096(1,%r1), 0 + cdpt %f0, 0(1,%r0), 0 + cdpt %f0, 0(%r1,%r2), 0 + cdpt %f0, 0(-), 0 + +#CHECK: error: invalid operand +#CHECK: cpdt %f0, 0(1), -1 +#CHECK: error: invalid operand +#CHECK: cpdt %f0, 0(1), 16 +#CHECK: error: missing length in address +#CHECK: cpdt %f0, 0, 0 +#CHECK: error: missing length in address +#CHECK: cpdt %f0, 0(%r1), 0 +#CHECK: error: invalid operand +#CHECK: cpdt %f0, 0(0,%r1), 0 +#CHECK: error: invalid operand +#CHECK: cpdt %f0, 0(257,%r1), 0 +#CHECK: error: invalid operand +#CHECK: cpdt %f0, -1(1,%r1), 0 +#CHECK: error: invalid operand +#CHECK: cpdt %f0, 4096(1,%r1), 0 +#CHECK: error: %r0 used in an address +#CHECK: cpdt %f0, 0(1,%r0), 0 +#CHECK: error: invalid use of indexed addressing +#CHECK: cpdt %f0, 0(%r1,%r2), 0 +#CHECK: error: unknown token in expression +#CHECK: cpdt %f0, 0(-), 0 + + cpdt %f0, 0(1), -1 + cpdt %f0, 0(1), 16 + cpdt %f0, 0, 0 + cpdt %f0, 0(%r1), 0 + cpdt %f0, 0(0,%r1), 0 + cpdt %f0, 0(257,%r1), 0 + cpdt %f0, -1(1,%r1), 0 + cpdt %f0, 4096(1,%r1), 0 + cpdt %f0, 0(1,%r0), 0 + cpdt %f0, 0(%r1,%r2), 0 + cpdt %f0, 0(-), 0 + +#CHECK: error: invalid operand +#CHECK: cpxt %f0, 0(1), -1 +#CHECK: error: invalid operand +#CHECK: cpxt %f0, 0(1), 16 +#CHECK: error: missing length in address +#CHECK: cpxt %f0, 0, 0 +#CHECK: error: missing length in address +#CHECK: cpxt %f0, 0(%r1), 0 +#CHECK: error: invalid operand +#CHECK: cpxt %f0, 0(0,%r1), 0 +#CHECK: error: invalid operand +#CHECK: cpxt %f0, 0(257,%r1), 0 +#CHECK: error: invalid operand +#CHECK: cpxt %f0, -1(1,%r1), 0 +#CHECK: error: invalid operand +#CHECK: cpxt %f0, 4096(1,%r1), 0 +#CHECK: error: %r0 used in an address +#CHECK: cpxt %f0, 0(1,%r0), 0 +#CHECK: error: invalid use of indexed addressing +#CHECK: cpxt %f0, 0(%r1,%r2), 0 +#CHECK: error: unknown token in expression +#CHECK: cpxt %f0, 0(-), 0 +#CHECK: error: invalid register pair +#CHECK: cpxt %f15, 0(1), 0 + + cpxt %f0, 0(1), -1 + cpxt %f0, 0(1), 16 + cpxt %f0, 0, 0 + cpxt %f0, 0(%r1), 0 + cpxt %f0, 0(0,%r1), 0 + cpxt %f0, 0(257,%r1), 0 + cpxt %f0, -1(1,%r1), 0 + cpxt %f0, 4096(1,%r1), 0 + cpxt %f0, 0(1,%r0), 0 + cpxt %f0, 0(%r1,%r2), 0 + cpxt %f0, 0(-), 0 + cpxt %f15, 0(1), 0 + +#CHECK: error: invalid operand +#CHECK: cxpt %f0, 0(1), -1 +#CHECK: error: invalid operand +#CHECK: cxpt %f0, 0(1), 16 +#CHECK: error: missing length in address +#CHECK: cxpt %f0, 0, 0 +#CHECK: error: missing length in address +#CHECK: cxpt %f0, 0(%r1), 0 +#CHECK: error: invalid operand +#CHECK: cxpt %f0, 0(0,%r1), 0 +#CHECK: error: invalid operand +#CHECK: cxpt %f0, 0(257,%r1), 0 +#CHECK: error: invalid operand +#CHECK: cxpt %f0, -1(1,%r1), 0 +#CHECK: error: invalid operand +#CHECK: cxpt %f0, 4096(1,%r1), 0 +#CHECK: error: %r0 used in an address +#CHECK: cxpt %f0, 0(1,%r0), 0 +#CHECK: error: invalid use of indexed addressing +#CHECK: cxpt %f0, 0(%r1,%r2), 0 +#CHECK: error: unknown token in expression +#CHECK: cxpt %f0, 0(-), 0 +#CHECK: error: invalid register pair +#CHECK: cxpt %f15, 0(1), 0 + + cxpt %f0, 0(1), -1 + cxpt %f0, 0(1), 16 + cxpt %f0, 0, 0 + cxpt %f0, 0(%r1), 0 + cxpt %f0, 0(0,%r1), 0 + cxpt %f0, 0(257,%r1), 0 + cxpt %f0, -1(1,%r1), 0 + cxpt %f0, 4096(1,%r1), 0 + cxpt %f0, 0(1,%r0), 0 + cxpt %f0, 0(%r1,%r2), 0 + cxpt %f0, 0(-), 0 + cxpt %f15, 0(1), 0 + +#CHECK: error: invalid operand #CHECK: lcbb %r0, 0, -1 #CHECK: error: invalid operand #CHECK: lcbb %r0, 0, 16 diff --git a/llvm/test/MC/SystemZ/insn-bad-z196.s b/llvm/test/MC/SystemZ/insn-bad-z196.s index 04c19ff6319..78d50bca974 100644 --- a/llvm/test/MC/SystemZ/insn-bad-z196.s +++ b/llvm/test/MC/SystemZ/insn-bad-z196.s @@ -5,6 +5,14 @@ # RUN: FileCheck < %t %s #CHECK: error: invalid operand +#CHECK: adtra %f0, %f0, %f0, -1 +#CHECK: error: invalid operand +#CHECK: adtra %f0, %f0, %f0, 16 + + adtra %f0, %f0, %f0, -1 + adtra %f0, %f0, %f0, 16 + +#CHECK: error: invalid operand #CHECK: aghik %r0, %r1, -32769 #CHECK: error: invalid operand #CHECK: aghik %r0, %r1, 32768 @@ -34,6 +42,23 @@ aih %r0, (-1 << 31) - 1 aih %r0, (1 << 31) +#CHECK: error: invalid operand +#CHECK: axtra %f0, %f0, %f0, -1 +#CHECK: error: invalid operand +#CHECK: axtra %f0, %f0, %f0, 16 +#CHECK: error: invalid register pair +#CHECK: axtra %f0, %f0, %f2, 0 +#CHECK: error: invalid register pair +#CHECK: axtra %f0, %f2, %f0, 0 +#CHECK: error: invalid register pair +#CHECK: axtra %f2, %f0, %f0, 0 + + axtra %f0, %f0, %f0, -1 + axtra %f0, %f0, %f0, 16 + axtra %f0, %f0, %f2, 0 + axtra %f0, %f2, %f0, 0 + axtra %f2, %f0, %f0, 0 + #CHECK: error: instruction requires: execution-hint #CHECK: bpp 0, 0, 0 @@ -73,6 +98,20 @@ cdfbra %f0, 16, %r0, 0 #CHECK: error: invalid operand +#CHECK: cdftr %f0, 0, %r0, -1 +#CHECK: error: invalid operand +#CHECK: cdftr %f0, 0, %r0, 16 +#CHECK: error: invalid operand +#CHECK: cdftr %f0, -1, %r0, 0 +#CHECK: error: invalid operand +#CHECK: cdftr %f0, 16, %r0, 0 + + cdftr %f0, 0, %r0, -1 + cdftr %f0, 0, %r0, 16 + cdftr %f0, -1, %r0, 0 + cdftr %f0, 16, %r0, 0 + +#CHECK: error: invalid operand #CHECK: cdgbra %f0, 0, %r0, -1 #CHECK: error: invalid operand #CHECK: cdgbra %f0, 0, %r0, 16 @@ -87,6 +126,20 @@ cdgbra %f0, 16, %r0, 0 #CHECK: error: invalid operand +#CHECK: cdgtra %f0, 0, %r0, -1 +#CHECK: error: invalid operand +#CHECK: cdgtra %f0, 0, %r0, 16 +#CHECK: error: invalid operand +#CHECK: cdgtra %f0, -1, %r0, 0 +#CHECK: error: invalid operand +#CHECK: cdgtra %f0, 16, %r0, 0 + + cdgtra %f0, 0, %r0, -1 + cdgtra %f0, 0, %r0, 16 + cdgtra %f0, -1, %r0, 0 + cdgtra %f0, 16, %r0, 0 + +#CHECK: error: invalid operand #CHECK: cdlfbr %f0, 0, %r0, -1 #CHECK: error: invalid operand #CHECK: cdlfbr %f0, 0, %r0, 16 @@ -101,6 +154,25 @@ cdlfbr %f0, 16, %r0, 0 #CHECK: error: invalid operand +#CHECK: cdlftr %f0, 0, %r0, -1 +#CHECK: error: invalid operand +#CHECK: cdlftr %f0, 0, %r0, 16 +#CHECK: error: invalid operand +#CHECK: cdlftr %f0, -1, %r0, 0 +#CHECK: error: invalid operand +#CHECK: cdlftr %f0, 16, %r0, 0 + + cdlftr %f0, 0, %r0, -1 + cdlftr %f0, 0, %r0, 16 + cdlftr %f0, -1, %r0, 0 + cdlftr %f0, 16, %r0, 0 + +#CHECK: error: instruction requires: dfp-zoned-conversion +#CHECK: cdzt %f0, 0(1), 0 + + cdzt %f0, 0(1), 0 + +#CHECK: error: invalid operand #CHECK: cdlgbr %f0, 0, %r0, -1 #CHECK: error: invalid operand #CHECK: cdlgbr %f0, 0, %r0, 16 @@ -115,6 +187,20 @@ cdlgbr %f0, 16, %r0, 0 #CHECK: error: invalid operand +#CHECK: cdlgtr %f0, 0, %r0, -1 +#CHECK: error: invalid operand +#CHECK: cdlgtr %f0, 0, %r0, 16 +#CHECK: error: invalid operand +#CHECK: cdlgtr %f0, -1, %r0, 0 +#CHECK: error: invalid operand +#CHECK: cdlgtr %f0, 16, %r0, 0 + + cdlgtr %f0, 0, %r0, -1 + cdlgtr %f0, 0, %r0, 16 + cdlgtr %f0, -1, %r0, 0 + cdlgtr %f0, 16, %r0, 0 + +#CHECK: error: invalid operand #CHECK: cefbra %f0, 0, %r0, -1 #CHECK: error: invalid operand #CHECK: cefbra %f0, 0, %r0, 16 @@ -185,6 +271,20 @@ cfdbra %r0, 16, %f0, 0 #CHECK: error: invalid operand +#CHECK: cfdtr %r0, 0, %f0, -1 +#CHECK: error: invalid operand +#CHECK: cfdtr %r0, 0, %f0, 16 +#CHECK: error: invalid operand +#CHECK: cfdtr %r0, -1, %f0, 0 +#CHECK: error: invalid operand +#CHECK: cfdtr %r0, 16, %f0, 0 + + cfdtr %r0, 0, %f0, -1 + cfdtr %r0, 0, %f0, 16 + cfdtr %r0, -1, %f0, 0 + cfdtr %r0, 16, %f0, 0 + +#CHECK: error: invalid operand #CHECK: cfebra %r0, 0, %f0, -1 #CHECK: error: invalid operand #CHECK: cfebra %r0, 0, %f0, 16 @@ -216,6 +316,23 @@ cfxbra %r0, 0, %f14, 0 #CHECK: error: invalid operand +#CHECK: cfxtr %r0, 0, %f0, -1 +#CHECK: error: invalid operand +#CHECK: cfxtr %r0, 0, %f0, 16 +#CHECK: error: invalid operand +#CHECK: cfxtr %r0, -1, %f0, 0 +#CHECK: error: invalid operand +#CHECK: cfxtr %r0, 16, %f0, 0 +#CHECK: error: invalid register pair +#CHECK: cfxtr %r0, 0, %f14, 0 + + cfxtr %r0, 0, %f0, -1 + cfxtr %r0, 0, %f0, 16 + cfxtr %r0, -1, %f0, 0 + cfxtr %r0, 16, %f0, 0 + cfxtr %r0, 0, %f14, 0 + +#CHECK: error: invalid operand #CHECK: cgdbra %r0, 0, %f0, -1 #CHECK: error: invalid operand #CHECK: cgdbra %r0, 0, %f0, 16 @@ -230,6 +347,20 @@ cgdbra %r0, 16, %f0, 0 #CHECK: error: invalid operand +#CHECK: cgdtra %r0, 0, %f0, -1 +#CHECK: error: invalid operand +#CHECK: cgdtra %r0, 0, %f0, 16 +#CHECK: error: invalid operand +#CHECK: cgdtra %r0, -1, %f0, 0 +#CHECK: error: invalid operand +#CHECK: cgdtra %r0, 16, %f0, 0 + + cgdtra %r0, 0, %f0, -1 + cgdtra %r0, 0, %f0, 16 + cgdtra %r0, -1, %f0, 0 + cgdtra %r0, 16, %f0, 0 + +#CHECK: error: invalid operand #CHECK: cgebra %r0, 0, %f0, -1 #CHECK: error: invalid operand #CHECK: cgebra %r0, 0, %f0, 16 @@ -261,6 +392,23 @@ cgxbra %r0, 0, %f14, 0 #CHECK: error: invalid operand +#CHECK: cgxtra %r0, 0, %f0, -1 +#CHECK: error: invalid operand +#CHECK: cgxtra %r0, 0, %f0, 16 +#CHECK: error: invalid operand +#CHECK: cgxtra %r0, -1, %f0, 0 +#CHECK: error: invalid operand +#CHECK: cgxtra %r0, 16, %f0, 0 +#CHECK: error: invalid register pair +#CHECK: cgxtra %r0, 0, %f14, 0 + + cgxtra %r0, 0, %f0, -1 + cgxtra %r0, 0, %f0, 16 + cgxtra %r0, -1, %f0, 0 + cgxtra %r0, 16, %f0, 0 + cgxtra %r0, 0, %f14, 0 + +#CHECK: error: invalid operand #CHECK: chf %r0, -524289 #CHECK: error: invalid operand #CHECK: chf %r0, 524288 @@ -291,6 +439,20 @@ clfdbr %r0, 16, %f0, 0 #CHECK: error: invalid operand +#CHECK: clfdtr %r0, 0, %f0, -1 +#CHECK: error: invalid operand +#CHECK: clfdtr %r0, 0, %f0, 16 +#CHECK: error: invalid operand +#CHECK: clfdtr %r0, -1, %f0, 0 +#CHECK: error: invalid operand +#CHECK: clfdtr %r0, 16, %f0, 0 + + clfdtr %r0, 0, %f0, -1 + clfdtr %r0, 0, %f0, 16 + clfdtr %r0, -1, %f0, 0 + clfdtr %r0, 16, %f0, 0 + +#CHECK: error: invalid operand #CHECK: clfebr %r0, 0, %f0, -1 #CHECK: error: invalid operand #CHECK: clfebr %r0, 0, %f0, 16 @@ -322,6 +484,23 @@ clfxbr %r0, 0, %f14, 0 #CHECK: error: invalid operand +#CHECK: clfxtr %r0, 0, %f0, -1 +#CHECK: error: invalid operand +#CHECK: clfxtr %r0, 0, %f0, 16 +#CHECK: error: invalid operand +#CHECK: clfxtr %r0, -1, %f0, 0 +#CHECK: error: invalid operand +#CHECK: clfxtr %r0, 16, %f0, 0 +#CHECK: error: invalid register pair +#CHECK: clfxtr %r0, 0, %f14, 0 + + clfxtr %r0, 0, %f0, -1 + clfxtr %r0, 0, %f0, 16 + clfxtr %r0, -1, %f0, 0 + clfxtr %r0, 16, %f0, 0 + clfxtr %r0, 0, %f14, 0 + +#CHECK: error: invalid operand #CHECK: clgdbr %r0, 0, %f0, -1 #CHECK: error: invalid operand #CHECK: clgdbr %r0, 0, %f0, 16 @@ -336,6 +515,20 @@ clgdbr %r0, 16, %f0, 0 #CHECK: error: invalid operand +#CHECK: clgdtr %r0, 0, %f0, -1 +#CHECK: error: invalid operand +#CHECK: clgdtr %r0, 0, %f0, 16 +#CHECK: error: invalid operand +#CHECK: clgdtr %r0, -1, %f0, 0 +#CHECK: error: invalid operand +#CHECK: clgdtr %r0, 16, %f0, 0 + + clgdtr %r0, 0, %f0, -1 + clgdtr %r0, 0, %f0, 16 + clgdtr %r0, -1, %f0, 0 + clgdtr %r0, 16, %f0, 0 + +#CHECK: error: invalid operand #CHECK: clgebr %r0, 0, %f0, -1 #CHECK: error: invalid operand #CHECK: clgebr %r0, 0, %f0, 16 @@ -367,6 +560,23 @@ clgxbr %r0, 0, %f14, 0 #CHECK: error: invalid operand +#CHECK: clgxtr %r0, 0, %f0, -1 +#CHECK: error: invalid operand +#CHECK: clgxtr %r0, 0, %f0, 16 +#CHECK: error: invalid operand +#CHECK: clgxtr %r0, -1, %f0, 0 +#CHECK: error: invalid operand +#CHECK: clgxtr %r0, 16, %f0, 0 +#CHECK: error: invalid register pair +#CHECK: clgxtr %r0, 0, %f14, 0 + + clgxtr %r0, 0, %f0, -1 + clgxtr %r0, 0, %f0, 16 + clgxtr %r0, -1, %f0, 0 + clgxtr %r0, 16, %f0, 0 + clgxtr %r0, 0, %f14, 0 + +#CHECK: error: invalid operand #CHECK: clhf %r0, -524289 #CHECK: error: invalid operand #CHECK: clhf %r0, 524288 @@ -400,6 +610,23 @@ cxfbra %f2, 0, %r0, 0 #CHECK: error: invalid operand +#CHECK: cxftr %f0, 0, %r0, -1 +#CHECK: error: invalid operand +#CHECK: cxftr %f0, 0, %r0, 16 +#CHECK: error: invalid operand +#CHECK: cxftr %f0, -1, %r0, 0 +#CHECK: error: invalid operand +#CHECK: cxftr %f0, 16, %r0, 0 +#CHECK: error: invalid register pair +#CHECK: cxftr %f2, 0, %r0, 0 + + cxftr %f0, 0, %r0, -1 + cxftr %f0, 0, %r0, 16 + cxftr %f0, -1, %r0, 0 + cxftr %f0, 16, %r0, 0 + cxftr %f2, 0, %r0, 0 + +#CHECK: error: invalid operand #CHECK: cxgbra %f0, 0, %r0, -1 #CHECK: error: invalid operand #CHECK: cxgbra %f0, 0, %r0, 16 @@ -417,6 +644,23 @@ cxgbra %f2, 0, %r0, 0 #CHECK: error: invalid operand +#CHECK: cxgtra %f0, 0, %r0, -1 +#CHECK: error: invalid operand +#CHECK: cxgtra %f0, 0, %r0, 16 +#CHECK: error: invalid operand +#CHECK: cxgtra %f0, -1, %r0, 0 +#CHECK: error: invalid operand +#CHECK: cxgtra %f0, 16, %r0, 0 +#CHECK: error: invalid register pair +#CHECK: cxgtra %f2, 0, %r0, 0 + + cxgtra %f0, 0, %r0, -1 + cxgtra %f0, 0, %r0, 16 + cxgtra %f0, -1, %r0, 0 + cxgtra %f0, 16, %r0, 0 + cxgtra %f2, 0, %r0, 0 + +#CHECK: error: invalid operand #CHECK: cxlfbr %f0, 0, %r0, -1 #CHECK: error: invalid operand #CHECK: cxlfbr %f0, 0, %r0, 16 @@ -434,6 +678,23 @@ cxlfbr %f2, 0, %r0, 0 #CHECK: error: invalid operand +#CHECK: cxlftr %f0, 0, %r0, -1 +#CHECK: error: invalid operand +#CHECK: cxlftr %f0, 0, %r0, 16 +#CHECK: error: invalid operand +#CHECK: cxlftr %f0, -1, %r0, 0 +#CHECK: error: invalid operand +#CHECK: cxlftr %f0, 16, %r0, 0 +#CHECK: error: invalid register pair +#CHECK: cxlftr %f2, 0, %r0, 0 + + cxlftr %f0, 0, %r0, -1 + cxlftr %f0, 0, %r0, 16 + cxlftr %f0, -1, %r0, 0 + cxlftr %f0, 16, %r0, 0 + cxlftr %f2, 0, %r0, 0 + +#CHECK: error: invalid operand #CHECK: cxlgbr %f0, 0, %r0, -1 #CHECK: error: invalid operand #CHECK: cxlgbr %f0, 0, %r0, 16 @@ -450,6 +711,63 @@ cxlgbr %f0, 16, %r0, 0 cxlgbr %f2, 0, %r0, 0 +#CHECK: error: invalid operand +#CHECK: cxlgtr %f0, 0, %r0, -1 +#CHECK: error: invalid operand +#CHECK: cxlgtr %f0, 0, %r0, 16 +#CHECK: error: invalid operand +#CHECK: cxlgtr %f0, -1, %r0, 0 +#CHECK: error: invalid operand +#CHECK: cxlgtr %f0, 16, %r0, 0 +#CHECK: error: invalid register pair +#CHECK: cxlgtr %f2, 0, %r0, 0 + + cxlgtr %f0, 0, %r0, -1 + cxlgtr %f0, 0, %r0, 16 + cxlgtr %f0, -1, %r0, 0 + cxlgtr %f0, 16, %r0, 0 + cxlgtr %f2, 0, %r0, 0 + +#CHECK: error: instruction requires: dfp-zoned-conversion +#CHECK: cxzt %f0, 0(1), 0 + + cxzt %f0, 0(1), 0 + +#CHECK: error: instruction requires: dfp-zoned-conversion +#CHECK: czdt %f0, 0(1), 0 + + czdt %f0, 0(1), 0 + +#CHECK: error: instruction requires: dfp-zoned-conversion +#CHECK: czxt %f0, 0(1), 0 + + czxt %f0, 0(1), 0 + +#CHECK: error: invalid operand +#CHECK: ddtra %f0, %f0, %f0, -1 +#CHECK: error: invalid operand +#CHECK: ddtra %f0, %f0, %f0, 16 + + ddtra %f0, %f0, %f0, -1 + ddtra %f0, %f0, %f0, 16 + +#CHECK: error: invalid operand +#CHECK: dxtra %f0, %f0, %f0, -1 +#CHECK: error: invalid operand +#CHECK: dxtra %f0, %f0, %f0, 16 +#CHECK: error: invalid register pair +#CHECK: dxtra %f0, %f0, %f2, 0 +#CHECK: error: invalid register pair +#CHECK: dxtra %f0, %f2, %f0, 0 +#CHECK: error: invalid register pair +#CHECK: dxtra %f2, %f0, %f0, 0 + + dxtra %f0, %f0, %f0, -1 + dxtra %f0, %f0, %f0, 16 + dxtra %f0, %f0, %f2, 0 + dxtra %f0, %f2, %f0, 0 + dxtra %f2, %f0, %f0, 0 + #CHECK: error: instruction requires: transactional-execution #CHECK: etnd %r7 @@ -824,6 +1142,31 @@ lpdg %r2, 0(%r1), -1(%r15) lpdg %r2, 0(%r1), 4096(%r15) +#CHECK: error: invalid operand +#CHECK: mdtra %f0, %f0, %f0, -1 +#CHECK: error: invalid operand +#CHECK: mdtra %f0, %f0, %f0, 16 + + mdtra %f0, %f0, %f0, -1 + mdtra %f0, %f0, %f0, 16 + +#CHECK: error: invalid operand +#CHECK: mxtra %f0, %f0, %f0, -1 +#CHECK: error: invalid operand +#CHECK: mxtra %f0, %f0, %f0, 16 +#CHECK: error: invalid register pair +#CHECK: mxtra %f0, %f0, %f2, 0 +#CHECK: error: invalid register pair +#CHECK: mxtra %f0, %f2, %f0, 0 +#CHECK: error: invalid register pair +#CHECK: mxtra %f2, %f0, %f0, 0 + + mxtra %f0, %f0, %f0, -1 + mxtra %f0, %f0, %f0, 16 + mxtra %f0, %f0, %f2, 0 + mxtra %f0, %f2, %f0, 0 + mxtra %f2, %f0, %f0, 0 + #CHECK: error: instruction requires: execution-hint #CHECK: niai 0, 0 @@ -885,6 +1228,14 @@ risblg %r0,%r0,256,0,0 #CHECK: error: invalid operand +#CHECK: sdtra %f0, %f0, %f0, -1 +#CHECK: error: invalid operand +#CHECK: sdtra %f0, %f0, %f0, 16 + + sdtra %f0, %f0, %f0, -1 + sdtra %f0, %f0, %f0, 16 + +#CHECK: error: invalid operand #CHECK: slak %r0,%r0,-524289 #CHECK: error: invalid operand #CHECK: slak %r0,%r0,524288 @@ -1009,6 +1360,23 @@ stocg %r0,524288,1 stocg %r0,0(%r1,%r2),1 +#CHECK: error: invalid operand +#CHECK: sxtra %f0, %f0, %f0, -1 +#CHECK: error: invalid operand +#CHECK: sxtra %f0, %f0, %f0, 16 +#CHECK: error: invalid register pair +#CHECK: sxtra %f0, %f0, %f2, 0 +#CHECK: error: invalid register pair +#CHECK: sxtra %f0, %f2, %f0, 0 +#CHECK: error: invalid register pair +#CHECK: sxtra %f2, %f0, %f0, 0 + + sxtra %f0, %f0, %f0, -1 + sxtra %f0, %f0, %f0, 16 + sxtra %f0, %f0, %f2, 0 + sxtra %f0, %f2, %f0, 0 + sxtra %f2, %f0, %f0, 0 + #CHECK: error: instruction requires: transactional-execution #CHECK: tabort 4095(%r1) diff --git a/llvm/test/MC/SystemZ/insn-bad-zEC12.s b/llvm/test/MC/SystemZ/insn-bad-zEC12.s index 4bc3be3292e..80197a3c1ef 100644 --- a/llvm/test/MC/SystemZ/insn-bad-zEC12.s +++ b/llvm/test/MC/SystemZ/insn-bad-zEC12.s @@ -62,6 +62,46 @@ bprp 0, 0, 1 bprp 0, 0, 0x1000000 +#CHECK: error: instruction requires: dfp-packed-conversion +#CHECK: cdpt %f0, 0(1), 0 + + cdpt %f0, 0(1), 0 + +#CHECK: error: invalid operand +#CHECK: cdzt %f0, 0(1), -1 +#CHECK: error: invalid operand +#CHECK: cdzt %f0, 0(1), 16 +#CHECK: error: missing length in address +#CHECK: cdzt %f0, 0, 0 +#CHECK: error: missing length in address +#CHECK: cdzt %f0, 0(%r1), 0 +#CHECK: error: invalid operand +#CHECK: cdzt %f0, 0(0,%r1), 0 +#CHECK: error: invalid operand +#CHECK: cdzt %f0, 0(257,%r1), 0 +#CHECK: error: invalid operand +#CHECK: cdzt %f0, -1(1,%r1), 0 +#CHECK: error: invalid operand +#CHECK: cdzt %f0, 4096(1,%r1), 0 +#CHECK: error: %r0 used in an address +#CHECK: cdzt %f0, 0(1,%r0), 0 +#CHECK: error: invalid use of indexed addressing +#CHECK: cdzt %f0, 0(%r1,%r2), 0 +#CHECK: error: unknown token in expression +#CHECK: cdzt %f0, 0(-), 0 + + cdzt %f0, 0(1), -1 + cdzt %f0, 0(1), 16 + cdzt %f0, 0, 0 + cdzt %f0, 0(%r1), 0 + cdzt %f0, 0(0,%r1), 0 + cdzt %f0, 0(257,%r1), 0 + cdzt %f0, -1(1,%r1), 0 + cdzt %f0, 4096(1,%r1), 0 + cdzt %f0, 0(1,%r0), 0 + cdzt %f0, 0(%r1,%r2), 0 + cdzt %f0, 0(-), 0 + #CHECK: error: invalid operand #CHECK: clgt %r0, -1, 0 #CHECK: error: invalid operand @@ -112,6 +152,132 @@ cltno %r0, 0 clto %r0, 0 +#CHECK: error: instruction requires: dfp-packed-conversion +#CHECK: cpdt %f0, 0(1), 0 + + cpdt %f0, 0(1), 0 + +#CHECK: error: instruction requires: dfp-packed-conversion +#CHECK: cpxt %f0, 0(1), 0 + + cpxt %f0, 0(1), 0 + +#CHECK: error: instruction requires: dfp-packed-conversion +#CHECK: cxpt %f0, 0(1), 0 + + cxpt %f0, 0(1), 0 + +#CHECK: error: invalid operand +#CHECK: cxzt %f0, 0(1), -1 +#CHECK: error: invalid operand +#CHECK: cxzt %f0, 0(1), 16 +#CHECK: error: missing length in address +#CHECK: cxzt %f0, 0, 0 +#CHECK: error: missing length in address +#CHECK: cxzt %f0, 0(%r1), 0 +#CHECK: error: invalid operand +#CHECK: cxzt %f0, 0(0,%r1), 0 +#CHECK: error: invalid operand +#CHECK: cxzt %f0, 0(257,%r1), 0 +#CHECK: error: invalid operand +#CHECK: cxzt %f0, -1(1,%r1), 0 +#CHECK: error: invalid operand +#CHECK: cxzt %f0, 4096(1,%r1), 0 +#CHECK: error: %r0 used in an address +#CHECK: cxzt %f0, 0(1,%r0), 0 +#CHECK: error: invalid use of indexed addressing +#CHECK: cxzt %f0, 0(%r1,%r2), 0 +#CHECK: error: unknown token in expression +#CHECK: cxzt %f0, 0(-), 0 +#CHECK: error: invalid register pair +#CHECK: cxzt %f15, 0(1), 0 + + cxzt %f0, 0(1), -1 + cxzt %f0, 0(1), 16 + cxzt %f0, 0, 0 + cxzt %f0, 0(%r1), 0 + cxzt %f0, 0(0,%r1), 0 + cxzt %f0, 0(257,%r1), 0 + cxzt %f0, -1(1,%r1), 0 + cxzt %f0, 4096(1,%r1), 0 + cxzt %f0, 0(1,%r0), 0 + cxzt %f0, 0(%r1,%r2), 0 + cxzt %f0, 0(-), 0 + cxzt %f15, 0(1), 0 + +#CHECK: error: invalid operand +#CHECK: czdt %f0, 0(1), -1 +#CHECK: error: invalid operand +#CHECK: czdt %f0, 0(1), 16 +#CHECK: error: missing length in address +#CHECK: czdt %f0, 0, 0 +#CHECK: error: missing length in address +#CHECK: czdt %f0, 0(%r1), 0 +#CHECK: error: invalid operand +#CHECK: czdt %f0, 0(0,%r1), 0 +#CHECK: error: invalid operand +#CHECK: czdt %f0, 0(257,%r1), 0 +#CHECK: error: invalid operand +#CHECK: czdt %f0, -1(1,%r1), 0 +#CHECK: error: invalid operand +#CHECK: czdt %f0, 4096(1,%r1), 0 +#CHECK: error: %r0 used in an address +#CHECK: czdt %f0, 0(1,%r0), 0 +#CHECK: error: invalid use of indexed addressing +#CHECK: czdt %f0, 0(%r1,%r2), 0 +#CHECK: error: unknown token in expression +#CHECK: czdt %f0, 0(-), 0 + + czdt %f0, 0(1), -1 + czdt %f0, 0(1), 16 + czdt %f0, 0, 0 + czdt %f0, 0(%r1), 0 + czdt %f0, 0(0,%r1), 0 + czdt %f0, 0(257,%r1), 0 + czdt %f0, -1(1,%r1), 0 + czdt %f0, 4096(1,%r1), 0 + czdt %f0, 0(1,%r0), 0 + czdt %f0, 0(%r1,%r2), 0 + czdt %f0, 0(-), 0 + +#CHECK: error: invalid operand +#CHECK: czxt %f0, 0(1), -1 +#CHECK: error: invalid operand +#CHECK: czxt %f0, 0(1), 16 +#CHECK: error: missing length in address +#CHECK: czxt %f0, 0, 0 +#CHECK: error: missing length in address +#CHECK: czxt %f0, 0(%r1), 0 +#CHECK: error: invalid operand +#CHECK: czxt %f0, 0(0,%r1), 0 +#CHECK: error: invalid operand +#CHECK: czxt %f0, 0(257,%r1), 0 +#CHECK: error: invalid operand +#CHECK: czxt %f0, -1(1,%r1), 0 +#CHECK: error: invalid operand +#CHECK: czxt %f0, 4096(1,%r1), 0 +#CHECK: error: %r0 used in an address +#CHECK: czxt %f0, 0(1,%r0), 0 +#CHECK: error: invalid use of indexed addressing +#CHECK: czxt %f0, 0(%r1,%r2), 0 +#CHECK: error: unknown token in expression +#CHECK: czxt %f0, 0(-), 0 +#CHECK: error: invalid register pair +#CHECK: czxt %f15, 0(1), 0 + + czxt %f0, 0(1), -1 + czxt %f0, 0(1), 16 + czxt %f0, 0, 0 + czxt %f0, 0(%r1), 0 + czxt %f0, 0(0,%r1), 0 + czxt %f0, 0(257,%r1), 0 + czxt %f0, -1(1,%r1), 0 + czxt %f0, 4096(1,%r1), 0 + czxt %f0, 0(1,%r0), 0 + czxt %f0, 0(%r1,%r2), 0 + czxt %f0, 0(-), 0 + czxt %f15, 0(1), 0 + #CHECK: error: invalid operand #CHECK: lat %r0, -524289 #CHECK: error: invalid operand diff --git a/llvm/test/MC/SystemZ/insn-bad.s b/llvm/test/MC/SystemZ/insn-bad.s index da9a5318efd..259ad05e5f4 100644 --- a/llvm/test/MC/SystemZ/insn-bad.s +++ b/llvm/test/MC/SystemZ/insn-bad.s @@ -28,6 +28,11 @@ 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 @@ -376,6 +381,22 @@ 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 @@ -673,20 +694,40 @@ 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 @@ -774,6 +815,14 @@ 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 @@ -798,6 +847,11 @@ 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 @@ -835,6 +889,11 @@ 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 @@ -868,6 +927,19 @@ 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 @@ -1065,6 +1137,22 @@ 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 @@ -1303,6 +1391,11 @@ 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 @@ -1351,6 +1444,11 @@ 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 @@ -1365,6 +1463,11 @@ 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 @@ -1515,6 +1618,11 @@ 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 @@ -1831,6 +1939,14 @@ 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 @@ -1859,6 +1975,20 @@ 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 @@ -1977,6 +2107,14 @@ 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 @@ -2043,6 +2181,11 @@ 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 @@ -2063,16 +2206,36 @@ 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 @@ -2081,6 +2244,30 @@ 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 @@ -2116,6 +2303,11 @@ 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 @@ -2286,6 +2478,22 @@ 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 @@ -2402,6 +2610,22 @@ 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: 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 @@ -2424,6 +2648,20 @@ 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 @@ -2463,6 +2701,26 @@ 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 @@ -2526,6 +2784,17 @@ icy %r0, -524289 icy %r0, 524288 +#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 @@ -2644,6 +2913,14 @@ 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 @@ -2802,6 +3079,14 @@ 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 @@ -2821,6 +3106,26 @@ 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 @@ -2841,6 +3146,20 @@ 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 @@ -3365,6 +3684,14 @@ ltxr %f0, %f14 ltxr %f14, %f0 +#CHECK: error: invalid register pair +#CHECK: ltxtr %f0, %f14 +#CHECK: error: invalid register pair +#CHECK: ltxtr %f14, %f0 + + ltxtr %f0, %f14 + ltxtr %f14, %f0 + #CHECK: error: invalid operand #CHECK: lxd %f0, -1 #CHECK: error: invalid operand @@ -3398,6 +3725,17 @@ lxdr %f2, %f0 #CHECK: error: invalid operand +#CHECK: lxdtr %f0, %f0, -1 +#CHECK: error: invalid operand +#CHECK: lxdtr %f0, %f0, 16 +#CHECK: error: invalid register pair +#CHECK: lxdtr %f2, %f0, 0 + + lxdtr %f0, %f0, -1 + lxdtr %f0, %f0, 16 + lxdtr %f2, %f0, 0 + +#CHECK: error: invalid operand #CHECK: lxe %f0, -1 #CHECK: error: invalid operand #CHECK: lxe %f0, 4096 @@ -3574,6 +3912,11 @@ mdeb %f0, -1 mdeb %f0, 4096 +#CHECK: error: instruction requires: fp-extension +#CHECK: mdtra %f0, %f0, %f0, 0 + + mdtra %f0, %f0, %f0, 0 + #CHECK: error: invalid operand #CHECK: me %f0, -1 #CHECK: error: invalid operand @@ -4244,6 +4587,22 @@ mxr %f0, %f2 mxr %f2, %f0 +#CHECK: error: invalid register pair +#CHECK: mxtr %f0, %f0, %f2 +#CHECK: error: invalid register pair +#CHECK: mxtr %f0, %f2, %f0 +#CHECK: error: invalid register pair +#CHECK: mxtr %f2, %f0, %f0 + + mxtr %f0, %f0, %f2 + mxtr %f0, %f2, %f0 + mxtr %f2, %f0, %f0 + +#CHECK: error: instruction requires: fp-extension +#CHECK: mxtra %f0, %f0, %f0, 0 + + mxtra %f0, %f0, %f0, 0 + #CHECK: error: invalid operand #CHECK: my %f0, %f0, -1 #CHECK: error: invalid operand @@ -4803,6 +5162,31 @@ pr %r0 #CHECK: error: invalid operand +#CHECK: qadtr %f0, %f0, %f0, -1 +#CHECK: error: invalid operand +#CHECK: qadtr %f0, %f0, %f0, 16 + + qadtr %f0, %f0, %f0, -1 + qadtr %f0, %f0, %f0, 16 + +#CHECK: error: invalid operand +#CHECK: qaxtr %f0, %f0, %f0, -1 +#CHECK: error: invalid operand +#CHECK: qaxtr %f0, %f0, %f0, 16 +#CHECK: error: invalid register pair +#CHECK: qaxtr %f0, %f0, %f2, 0 +#CHECK: error: invalid register pair +#CHECK: qaxtr %f0, %f2, %f0, 0 +#CHECK: error: invalid register pair +#CHECK: qaxtr %f2, %f0, %f0, 0 + + qaxtr %f0, %f0, %f0, -1 + qaxtr %f0, %f0, %f0, 16 + qaxtr %f0, %f0, %f2, 0 + qaxtr %f0, %f2, %f0, 0 + qaxtr %f2, %f0, %f0, 0 + +#CHECK: error: invalid operand #CHECK: risbg %r0,%r0,0,0,-1 #CHECK: error: invalid operand #CHECK: risbg %r0,%r0,0,0,64 @@ -4901,6 +5285,31 @@ rosbg %r0,%r0,256,0,0 #CHECK: error: invalid operand +#CHECK: rrdtr %f0, %f0, %f0, -1 +#CHECK: error: invalid operand +#CHECK: rrdtr %f0, %f0, %f0, 16 + + rrdtr %f0, %f0, %f0, -1 + rrdtr %f0, %f0, %f0, 16 + +#CHECK: error: invalid operand +#CHECK: rrxtr %f0, %f0, %f0, -1 +#CHECK: error: invalid operand +#CHECK: rrxtr %f0, %f0, %f0, 16 +#CHECK: error: invalid register pair +#CHECK: rrxtr %f0, %f0, %f2, 0 +#CHECK: error: invalid register pair +#CHECK: rrxtr %f0, %f2, %f0, 0 +#CHECK: error: invalid register pair +#CHECK: rrxtr %f2, %f0, %f0, 0 + + rrxtr %f0, %f0, %f0, -1 + rrxtr %f0, %f0, %f0, 16 + rrxtr %f0, %f0, %f2, 0 + rrxtr %f0, %f2, %f0, 0 + rrxtr %f2, %f0, %f0, 0 + +#CHECK: error: invalid operand #CHECK: rxsbg %r0,%r0,0,0,-1 #CHECK: error: invalid operand #CHECK: rxsbg %r0,%r0,0,0,64 @@ -4944,6 +5353,11 @@ sdb %f0, -1 sdb %f0, 4096 +#CHECK: error: instruction requires: fp-extension +#CHECK: sdtra %f0, %f0, %f0, 0 + + sdtra %f0, %f0, %f0, 0 + #CHECK: error: invalid operand #CHECK: se %f0, -1 #CHECK: error: invalid operand @@ -5089,6 +5503,14 @@ sldl %r0,0(%r1,%r2) #CHECK: error: invalid operand +#CHECK: sldt %f0, %f0, -1 +#CHECK: error: invalid operand +#CHECK: sldt %f0, %f0, 4096 + + sldt %f0, %f0, -1 + sldt %f0, %f0, 4096 + +#CHECK: error: invalid operand #CHECK: slfi %r0, -1 #CHECK: error: invalid operand #CHECK: slfi %r0, (1 << 32) @@ -5164,6 +5586,20 @@ slrk %r2,%r3,%r4 #CHECK: error: invalid operand +#CHECK: slxt %f0, %f0, -1 +#CHECK: error: invalid operand +#CHECK: slxt %f0, %f0, 4096 +#CHECK: error: invalid register pair +#CHECK: slxt %f0, %f2, 0 +#CHECK: error: invalid register pair +#CHECK: slxt %f2, %f0, 0 + + slxt %f0, %f0, -1 + slxt %f0, %f0, 4096 + slxt %f0, %f2, 0 + slxt %f2, %f0, 0 + +#CHECK: error: invalid operand #CHECK: sly %r0, -524289 #CHECK: error: invalid operand #CHECK: sly %r0, 524288 @@ -5339,6 +5775,14 @@ srdl %r0,0(%r0) srdl %r0,0(%r1,%r2) +#CHECK: error: invalid operand +#CHECK: srdt %f0, %f0, -1 +#CHECK: error: invalid operand +#CHECK: srdt %f0, %f0, 4096 + + srdt %f0, %f0, -1 + srdt %f0, %f0, 4096 + #CHECK: error: instruction requires: distinct-ops #CHECK: srk %r2,%r3,%r4 @@ -5455,6 +5899,20 @@ srp 0(-), 0, 0 #CHECK: error: invalid operand +#CHECK: srxt %f0, %f0, -1 +#CHECK: error: invalid operand +#CHECK: srxt %f0, %f0, 4096 +#CHECK: error: invalid register pair +#CHECK: srxt %f0, %f2, 0 +#CHECK: error: invalid register pair +#CHECK: srxt %f2, %f0, 0 + + srxt %f0, %f0, -1 + srxt %f0, %f0, 4096 + srxt %f0, %f2, 0 + srxt %f2, %f0, 0 + +#CHECK: error: invalid operand #CHECK: st %r0, -1 #CHECK: error: invalid operand #CHECK: st %r0, 4096 @@ -5788,6 +6246,22 @@ sxr %f0, %f2 sxr %f2, %f0 +#CHECK: error: invalid register pair +#CHECK: sxtr %f0, %f0, %f2 +#CHECK: error: invalid register pair +#CHECK: sxtr %f0, %f2, %f0 +#CHECK: error: invalid register pair +#CHECK: sxtr %f2, %f0, %f0 + + sxtr %f0, %f0, %f2 + sxtr %f0, %f2, %f0 + sxtr %f2, %f0, %f0 + +#CHECK: error: instruction requires: fp-extension +#CHECK: sxtra %f0, %f0, %f0, 0 + + sxtra %f0, %f0, %f0, 0 + #CHECK: error: invalid operand #CHECK: sy %r0, -524289 #CHECK: error: invalid operand @@ -5837,6 +6311,60 @@ tcxb %f0, 4096 #CHECK: error: invalid operand +#CHECK: tdcdt %f0, -1 +#CHECK: error: invalid operand +#CHECK: tdcdt %f0, 4096 + + tdcdt %f0, -1 + tdcdt %f0, 4096 + +#CHECK: error: invalid operand +#CHECK: tdcet %f0, -1 +#CHECK: error: invalid operand +#CHECK: tdcet %f0, 4096 + + tdcet %f0, -1 + tdcet %f0, 4096 + +#CHECK: error: invalid operand +#CHECK: tdcxt %f0, -1 +#CHECK: error: invalid operand +#CHECK: tdcxt %f0, 4096 +#CHECK: error: invalid register pair +#CHECK: tdcxt %f2, 0 + + tdcxt %f0, -1 + tdcxt %f0, 4096 + tdcxt %f2, 0 + +#CHECK: error: invalid operand +#CHECK: tdgdt %f0, -1 +#CHECK: error: invalid operand +#CHECK: tdgdt %f0, 4096 + + tdgdt %f0, -1 + tdgdt %f0, 4096 + +#CHECK: error: invalid operand +#CHECK: tdget %f0, -1 +#CHECK: error: invalid operand +#CHECK: tdget %f0, 4096 + + tdget %f0, -1 + tdget %f0, 4096 + +#CHECK: error: invalid operand +#CHECK: tdgxt %f0, -1 +#CHECK: error: invalid operand +#CHECK: tdgxt %f0, 4096 +#CHECK: error: invalid register pair +#CHECK: tdgxt %f2, 0 + + tdgxt %f0, -1 + tdgxt %f0, 4096 + tdgxt %f2, 0 + +#CHECK: error: invalid operand #CHECK: tm -1, 0 #CHECK: error: invalid operand #CHECK: tm 4096, 0 diff --git a/llvm/test/MC/SystemZ/insn-good-z13.s b/llvm/test/MC/SystemZ/insn-good-z13.s index cbfcfa9a89a..6a4beff7638 100644 --- a/llvm/test/MC/SystemZ/insn-good-z13.s +++ b/llvm/test/MC/SystemZ/insn-good-z13.s @@ -4,6 +4,86 @@ # RUN: llvm-mc -triple s390x-linux-gnu -mcpu=arch11 -show-encoding %s \ # RUN: | FileCheck %s +#CHECK: cdpt %f0, 0(1), 0 # encoding: [0xed,0x00,0x00,0x00,0x00,0xae] +#CHECK: cdpt %f15, 0(1), 0 # encoding: [0xed,0x00,0x00,0x00,0xf0,0xae] +#CHECK: cdpt %f0, 0(1), 15 # encoding: [0xed,0x00,0x00,0x00,0x0f,0xae] +#CHECK: cdpt %f0, 0(1,%r1), 0 # encoding: [0xed,0x00,0x10,0x00,0x00,0xae] +#CHECK: cdpt %f0, 0(1,%r15), 0 # encoding: [0xed,0x00,0xf0,0x00,0x00,0xae] +#CHECK: cdpt %f0, 4095(1,%r1), 0 # encoding: [0xed,0x00,0x1f,0xff,0x00,0xae] +#CHECK: cdpt %f0, 4095(1,%r15), 0 # encoding: [0xed,0x00,0xff,0xff,0x00,0xae] +#CHECK: cdpt %f0, 0(256,%r1), 0 # encoding: [0xed,0xff,0x10,0x00,0x00,0xae] +#CHECK: cdpt %f0, 0(256,%r15), 0 # encoding: [0xed,0xff,0xf0,0x00,0x00,0xae] + + cdpt %f0, 0(1), 0 + cdpt %f15, 0(1), 0 + cdpt %f0, 0(1), 15 + cdpt %f0, 0(1,%r1), 0 + cdpt %f0, 0(1,%r15), 0 + cdpt %f0, 4095(1,%r1), 0 + cdpt %f0, 4095(1,%r15), 0 + cdpt %f0, 0(256,%r1), 0 + cdpt %f0, 0(256,%r15), 0 + +#CHECK: cpdt %f0, 0(1), 0 # encoding: [0xed,0x00,0x00,0x00,0x00,0xac] +#CHECK: cpdt %f15, 0(1), 0 # encoding: [0xed,0x00,0x00,0x00,0xf0,0xac] +#CHECK: cpdt %f0, 0(1), 15 # encoding: [0xed,0x00,0x00,0x00,0x0f,0xac] +#CHECK: cpdt %f0, 0(1,%r1), 0 # encoding: [0xed,0x00,0x10,0x00,0x00,0xac] +#CHECK: cpdt %f0, 0(1,%r15), 0 # encoding: [0xed,0x00,0xf0,0x00,0x00,0xac] +#CHECK: cpdt %f0, 4095(1,%r1), 0 # encoding: [0xed,0x00,0x1f,0xff,0x00,0xac] +#CHECK: cpdt %f0, 4095(1,%r15), 0 # encoding: [0xed,0x00,0xff,0xff,0x00,0xac] +#CHECK: cpdt %f0, 0(256,%r1), 0 # encoding: [0xed,0xff,0x10,0x00,0x00,0xac] +#CHECK: cpdt %f0, 0(256,%r15), 0 # encoding: [0xed,0xff,0xf0,0x00,0x00,0xac] + + cpdt %f0, 0(1), 0 + cpdt %f15, 0(1), 0 + cpdt %f0, 0(1), 15 + cpdt %f0, 0(1,%r1), 0 + cpdt %f0, 0(1,%r15), 0 + cpdt %f0, 4095(1,%r1), 0 + cpdt %f0, 4095(1,%r15), 0 + cpdt %f0, 0(256,%r1), 0 + cpdt %f0, 0(256,%r15), 0 + +#CHECK: cpxt %f0, 0(1), 0 # encoding: [0xed,0x00,0x00,0x00,0x00,0xad] +#CHECK: cpxt %f13, 0(1), 0 # encoding: [0xed,0x00,0x00,0x00,0xd0,0xad] +#CHECK: cpxt %f0, 0(1), 15 # encoding: [0xed,0x00,0x00,0x00,0x0f,0xad] +#CHECK: cpxt %f0, 0(1,%r1), 0 # encoding: [0xed,0x00,0x10,0x00,0x00,0xad] +#CHECK: cpxt %f0, 0(1,%r15), 0 # encoding: [0xed,0x00,0xf0,0x00,0x00,0xad] +#CHECK: cpxt %f0, 4095(1,%r1), 0 # encoding: [0xed,0x00,0x1f,0xff,0x00,0xad] +#CHECK: cpxt %f0, 4095(1,%r15), 0 # encoding: [0xed,0x00,0xff,0xff,0x00,0xad] +#CHECK: cpxt %f0, 0(256,%r1), 0 # encoding: [0xed,0xff,0x10,0x00,0x00,0xad] +#CHECK: cpxt %f0, 0(256,%r15), 0 # encoding: [0xed,0xff,0xf0,0x00,0x00,0xad] + + cpxt %f0, 0(1), 0 + cpxt %f13, 0(1), 0 + cpxt %f0, 0(1), 15 + cpxt %f0, 0(1,%r1), 0 + cpxt %f0, 0(1,%r15), 0 + cpxt %f0, 4095(1,%r1), 0 + cpxt %f0, 4095(1,%r15), 0 + cpxt %f0, 0(256,%r1), 0 + cpxt %f0, 0(256,%r15), 0 + +#CHECK: cxpt %f0, 0(1), 0 # encoding: [0xed,0x00,0x00,0x00,0x00,0xaf] +#CHECK: cxpt %f13, 0(1), 0 # encoding: [0xed,0x00,0x00,0x00,0xd0,0xaf] +#CHECK: cxpt %f0, 0(1), 15 # encoding: [0xed,0x00,0x00,0x00,0x0f,0xaf] +#CHECK: cxpt %f0, 0(1,%r1), 0 # encoding: [0xed,0x00,0x10,0x00,0x00,0xaf] +#CHECK: cxpt %f0, 0(1,%r15), 0 # encoding: [0xed,0x00,0xf0,0x00,0x00,0xaf] +#CHECK: cxpt %f0, 4095(1,%r1), 0 # encoding: [0xed,0x00,0x1f,0xff,0x00,0xaf] +#CHECK: cxpt %f0, 4095(1,%r15), 0 # encoding: [0xed,0x00,0xff,0xff,0x00,0xaf] +#CHECK: cxpt %f0, 0(256,%r1), 0 # encoding: [0xed,0xff,0x10,0x00,0x00,0xaf] +#CHECK: cxpt %f0, 0(256,%r15), 0 # encoding: [0xed,0xff,0xf0,0x00,0x00,0xaf] + + cxpt %f0, 0(1), 0 + cxpt %f13, 0(1), 0 + cxpt %f0, 0(1), 15 + cxpt %f0, 0(1,%r1), 0 + cxpt %f0, 0(1,%r15), 0 + cxpt %f0, 4095(1,%r1), 0 + cxpt %f0, 4095(1,%r15), 0 + cxpt %f0, 0(256,%r1), 0 + cxpt %f0, 0(256,%r15), 0 + #CHECK: lcbb %r0, 0, 0 # encoding: [0xe7,0x00,0x00,0x00,0x00,0x27] #CHECK: lcbb %r0, 0, 15 # encoding: [0xe7,0x00,0x00,0x00,0xf0,0x27] #CHECK: lcbb %r0, 4095, 0 # encoding: [0xe7,0x00,0x0f,0xff,0x00,0x27] diff --git a/llvm/test/MC/SystemZ/insn-good-z196.s b/llvm/test/MC/SystemZ/insn-good-z196.s index 02c473c11a4..31d257d7448 100644 --- a/llvm/test/MC/SystemZ/insn-good-z196.s +++ b/llvm/test/MC/SystemZ/insn-good-z196.s @@ -2,6 +2,20 @@ # RUN: llvm-mc -triple s390x-linux-gnu -mcpu=z196 -show-encoding %s | FileCheck %s # RUN: llvm-mc -triple s390x-linux-gnu -mcpu=arch9 -show-encoding %s | FileCheck %s +#CHECK: adtra %f0, %f0, %f0, 0 # encoding: [0xb3,0xd2,0x00,0x00] +#CHECK: adtra %f0, %f0, %f0, 15 # encoding: [0xb3,0xd2,0x0f,0x00] +#CHECK: adtra %f0, %f0, %f15, 0 # encoding: [0xb3,0xd2,0xf0,0x00] +#CHECK: adtra %f0, %f15, %f0, 0 # encoding: [0xb3,0xd2,0x00,0x0f] +#CHECK: adtra %f15, %f0, %f0, 0 # encoding: [0xb3,0xd2,0x00,0xf0] +#CHECK: adtra %f7, %f8, %f9, 10 # encoding: [0xb3,0xd2,0x9a,0x78] + + adtra %f0, %f0, %f0, 0 + adtra %f0, %f0, %f0, 15 + adtra %f0, %f0, %f15, 0 + adtra %f0, %f15, %f0, 0 + adtra %f15, %f0, %f0, 0 + adtra %f7, %f8, %f9, 10 + #CHECK: aghik %r0, %r0, -32768 # encoding: [0xec,0x00,0x80,0x00,0x00,0xd9] #CHECK: aghik %r0, %r0, -1 # encoding: [0xec,0x00,0xff,0xff,0x00,0xd9] #CHECK: aghik %r0, %r0, 0 # encoding: [0xec,0x00,0x00,0x00,0x00,0xd9] @@ -136,6 +150,20 @@ ark %r15,%r0,%r0 ark %r7,%r8,%r9 +#CHECK: axtra %f0, %f0, %f0, 0 # encoding: [0xb3,0xda,0x00,0x00] +#CHECK: axtra %f0, %f0, %f0, 15 # encoding: [0xb3,0xda,0x0f,0x00] +#CHECK: axtra %f0, %f0, %f13, 0 # encoding: [0xb3,0xda,0xd0,0x00] +#CHECK: axtra %f0, %f13, %f0, 0 # encoding: [0xb3,0xda,0x00,0x0d] +#CHECK: axtra %f13, %f0, %f0, 0 # encoding: [0xb3,0xda,0x00,0xd0] +#CHECK: axtra %f8, %f8, %f8, 8 # encoding: [0xb3,0xda,0x88,0x88] + + axtra %f0, %f0, %f0, 0 + axtra %f0, %f0, %f0, 15 + axtra %f0, %f0, %f13, 0 + axtra %f0, %f13, %f0, 0 + axtra %f13, %f0, %f0, 0 + axtra %f8, %f8, %f8, 8 + #CHECK: brcth %r0, .[[LAB:L.*]]-4294967296 # encoding: [0xcc,0x06,A,A,A,A] #CHECK: fixup A - offset: 2, value: (.[[LAB]]-4294967296)+2, kind: FK_390_PC32DBL brcth %r0, -0x100000000 @@ -187,6 +215,20 @@ cdfbra %f4, 5, %r6, 7 cdfbra %f15, 0, %r0, 0 +#CHECK: cdftr %f0, 0, %r0, 0 # encoding: [0xb9,0x51,0x00,0x00] +#CHECK: cdftr %f0, 0, %r0, 15 # encoding: [0xb9,0x51,0x0f,0x00] +#CHECK: cdftr %f0, 0, %r15, 0 # encoding: [0xb9,0x51,0x00,0x0f] +#CHECK: cdftr %f0, 15, %r0, 0 # encoding: [0xb9,0x51,0xf0,0x00] +#CHECK: cdftr %f4, 5, %r6, 7 # encoding: [0xb9,0x51,0x57,0x46] +#CHECK: cdftr %f15, 0, %r0, 0 # encoding: [0xb9,0x51,0x00,0xf0] + + cdftr %f0, 0, %r0, 0 + cdftr %f0, 0, %r0, 15 + cdftr %f0, 0, %r15, 0 + cdftr %f0, 15, %r0, 0 + cdftr %f4, 5, %r6, 7 + cdftr %f15, 0, %r0, 0 + #CHECK: cdgbra %f0, 0, %r0, 0 # encoding: [0xb3,0xa5,0x00,0x00] #CHECK: cdgbra %f0, 0, %r0, 15 # encoding: [0xb3,0xa5,0x0f,0x00] #CHECK: cdgbra %f0, 0, %r15, 0 # encoding: [0xb3,0xa5,0x00,0x0f] @@ -201,6 +243,20 @@ cdgbra %f4, 5, %r6, 7 cdgbra %f15, 0, %r0, 0 +#CHECK: cdgtra %f0, 0, %r0, 0 # encoding: [0xb3,0xf1,0x00,0x00] +#CHECK: cdgtra %f0, 0, %r0, 15 # encoding: [0xb3,0xf1,0x0f,0x00] +#CHECK: cdgtra %f0, 0, %r15, 0 # encoding: [0xb3,0xf1,0x00,0x0f] +#CHECK: cdgtra %f0, 15, %r0, 0 # encoding: [0xb3,0xf1,0xf0,0x00] +#CHECK: cdgtra %f4, 5, %r6, 7 # encoding: [0xb3,0xf1,0x57,0x46] +#CHECK: cdgtra %f15, 0, %r0, 0 # encoding: [0xb3,0xf1,0x00,0xf0] + + cdgtra %f0, 0, %r0, 0 + cdgtra %f0, 0, %r0, 15 + cdgtra %f0, 0, %r15, 0 + cdgtra %f0, 15, %r0, 0 + cdgtra %f4, 5, %r6, 7 + cdgtra %f15, 0, %r0, 0 + #CHECK: cdlfbr %f0, 0, %r0, 0 # encoding: [0xb3,0x91,0x00,0x00] #CHECK: cdlfbr %f0, 0, %r0, 15 # encoding: [0xb3,0x91,0x0f,0x00] #CHECK: cdlfbr %f0, 0, %r15, 0 # encoding: [0xb3,0x91,0x00,0x0f] @@ -215,6 +271,20 @@ cdlfbr %f4, 5, %r6, 7 cdlfbr %f15, 0, %r0, 0 +#CHECK: cdlftr %f0, 0, %r0, 0 # encoding: [0xb9,0x53,0x00,0x00] +#CHECK: cdlftr %f0, 0, %r0, 15 # encoding: [0xb9,0x53,0x0f,0x00] +#CHECK: cdlftr %f0, 0, %r15, 0 # encoding: [0xb9,0x53,0x00,0x0f] +#CHECK: cdlftr %f0, 15, %r0, 0 # encoding: [0xb9,0x53,0xf0,0x00] +#CHECK: cdlftr %f4, 5, %r6, 7 # encoding: [0xb9,0x53,0x57,0x46] +#CHECK: cdlftr %f15, 0, %r0, 0 # encoding: [0xb9,0x53,0x00,0xf0] + + cdlftr %f0, 0, %r0, 0 + cdlftr %f0, 0, %r0, 15 + cdlftr %f0, 0, %r15, 0 + cdlftr %f0, 15, %r0, 0 + cdlftr %f4, 5, %r6, 7 + cdlftr %f15, 0, %r0, 0 + #CHECK: cdlgbr %f0, 0, %r0, 0 # encoding: [0xb3,0xa1,0x00,0x00] #CHECK: cdlgbr %f0, 0, %r0, 15 # encoding: [0xb3,0xa1,0x0f,0x00] #CHECK: cdlgbr %f0, 0, %r15, 0 # encoding: [0xb3,0xa1,0x00,0x0f] @@ -229,6 +299,20 @@ cdlgbr %f4, 5, %r6, 7 cdlgbr %f15, 0, %r0, 0 +#CHECK: cdlgtr %f0, 0, %r0, 0 # encoding: [0xb9,0x52,0x00,0x00] +#CHECK: cdlgtr %f0, 0, %r0, 15 # encoding: [0xb9,0x52,0x0f,0x00] +#CHECK: cdlgtr %f0, 0, %r15, 0 # encoding: [0xb9,0x52,0x00,0x0f] +#CHECK: cdlgtr %f0, 15, %r0, 0 # encoding: [0xb9,0x52,0xf0,0x00] +#CHECK: cdlgtr %f4, 5, %r6, 7 # encoding: [0xb9,0x52,0x57,0x46] +#CHECK: cdlgtr %f15, 0, %r0, 0 # encoding: [0xb9,0x52,0x00,0xf0] + + cdlgtr %f0, 0, %r0, 0 + cdlgtr %f0, 0, %r0, 15 + cdlgtr %f0, 0, %r15, 0 + cdlgtr %f0, 15, %r0, 0 + cdlgtr %f4, 5, %r6, 7 + cdlgtr %f15, 0, %r0, 0 + #CHECK: cefbra %f0, 0, %r0, 0 # encoding: [0xb3,0x94,0x00,0x00] #CHECK: cefbra %f0, 0, %r0, 15 # encoding: [0xb3,0x94,0x0f,0x00] #CHECK: cefbra %f0, 0, %r15, 0 # encoding: [0xb3,0x94,0x00,0x0f] @@ -299,6 +383,20 @@ cfdbra %r4, 5, %f6, 7 cfdbra %r15, 0, %f0, 0 +#CHECK: cfdtr %r0, 0, %f0, 0 # encoding: [0xb9,0x41,0x00,0x00] +#CHECK: cfdtr %r0, 0, %f0, 15 # encoding: [0xb9,0x41,0x0f,0x00] +#CHECK: cfdtr %r0, 0, %f15, 0 # encoding: [0xb9,0x41,0x00,0x0f] +#CHECK: cfdtr %r0, 15, %f0, 0 # encoding: [0xb9,0x41,0xf0,0x00] +#CHECK: cfdtr %r4, 5, %f6, 7 # encoding: [0xb9,0x41,0x57,0x46] +#CHECK: cfdtr %r15, 0, %f0, 0 # encoding: [0xb9,0x41,0x00,0xf0] + + cfdtr %r0, 0, %f0, 0 + cfdtr %r0, 0, %f0, 15 + cfdtr %r0, 0, %f15, 0 + cfdtr %r0, 15, %f0, 0 + cfdtr %r4, 5, %f6, 7 + cfdtr %r15, 0, %f0, 0 + #CHECK: cfebra %r0, 0, %f0, 0 # encoding: [0xb3,0x98,0x00,0x00] #CHECK: cfebra %r0, 0, %f0, 15 # encoding: [0xb3,0x98,0x0f,0x00] #CHECK: cfebra %r0, 0, %f15, 0 # encoding: [0xb3,0x98,0x00,0x0f] @@ -327,6 +425,20 @@ cfxbra %r7, 5, %f8, 9 cfxbra %r15, 0, %f0, 0 +#CHECK: cfxtr %r0, 0, %f0, 0 # encoding: [0xb9,0x49,0x00,0x00] +#CHECK: cfxtr %r0, 0, %f0, 15 # encoding: [0xb9,0x49,0x0f,0x00] +#CHECK: cfxtr %r0, 0, %f13, 0 # encoding: [0xb9,0x49,0x00,0x0d] +#CHECK: cfxtr %r0, 15, %f0, 0 # encoding: [0xb9,0x49,0xf0,0x00] +#CHECK: cfxtr %r7, 5, %f8, 9 # encoding: [0xb9,0x49,0x59,0x78] +#CHECK: cfxtr %r15, 0, %f0, 0 # encoding: [0xb9,0x49,0x00,0xf0] + + cfxtr %r0, 0, %f0, 0 + cfxtr %r0, 0, %f0, 15 + cfxtr %r0, 0, %f13, 0 + cfxtr %r0, 15, %f0, 0 + cfxtr %r7, 5, %f8, 9 + cfxtr %r15, 0, %f0, 0 + #CHECK: cgdbra %r0, 0, %f0, 0 # encoding: [0xb3,0xa9,0x00,0x00] #CHECK: cgdbra %r0, 0, %f0, 15 # encoding: [0xb3,0xa9,0x0f,0x00] #CHECK: cgdbra %r0, 0, %f15, 0 # encoding: [0xb3,0xa9,0x00,0x0f] @@ -341,6 +453,20 @@ cgdbra %r4, 5, %f6, 7 cgdbra %r15, 0, %f0, 0 +#CHECK: cgdtra %r0, 0, %f0, 0 # encoding: [0xb3,0xe1,0x00,0x00] +#CHECK: cgdtra %r0, 0, %f0, 15 # encoding: [0xb3,0xe1,0x0f,0x00] +#CHECK: cgdtra %r0, 0, %f15, 0 # encoding: [0xb3,0xe1,0x00,0x0f] +#CHECK: cgdtra %r0, 15, %f0, 0 # encoding: [0xb3,0xe1,0xf0,0x00] +#CHECK: cgdtra %r4, 5, %f6, 7 # encoding: [0xb3,0xe1,0x57,0x46] +#CHECK: cgdtra %r15, 0, %f0, 0 # encoding: [0xb3,0xe1,0x00,0xf0] + + cgdtra %r0, 0, %f0, 0 + cgdtra %r0, 0, %f0, 15 + cgdtra %r0, 0, %f15, 0 + cgdtra %r0, 15, %f0, 0 + cgdtra %r4, 5, %f6, 7 + cgdtra %r15, 0, %f0, 0 + #CHECK: cgebra %r0, 0, %f0, 0 # encoding: [0xb3,0xa8,0x00,0x00] #CHECK: cgebra %r0, 0, %f0, 15 # encoding: [0xb3,0xa8,0x0f,0x00] #CHECK: cgebra %r0, 0, %f15, 0 # encoding: [0xb3,0xa8,0x00,0x0f] @@ -369,6 +495,20 @@ cgxbra %r7, 5, %f8, 9 cgxbra %r15, 0, %f0, 0 +#CHECK: cgxtra %r0, 0, %f0, 0 # encoding: [0xb3,0xe9,0x00,0x00] +#CHECK: cgxtra %r0, 0, %f0, 15 # encoding: [0xb3,0xe9,0x0f,0x00] +#CHECK: cgxtra %r0, 0, %f13, 0 # encoding: [0xb3,0xe9,0x00,0x0d] +#CHECK: cgxtra %r0, 15, %f0, 0 # encoding: [0xb3,0xe9,0xf0,0x00] +#CHECK: cgxtra %r7, 5, %f8, 9 # encoding: [0xb3,0xe9,0x59,0x78] +#CHECK: cgxtra %r15, 0, %f0, 0 # encoding: [0xb3,0xe9,0x00,0xf0] + + cgxtra %r0, 0, %f0, 0 + cgxtra %r0, 0, %f0, 15 + cgxtra %r0, 0, %f13, 0 + cgxtra %r0, 15, %f0, 0 + cgxtra %r7, 5, %f8, 9 + cgxtra %r15, 0, %f0, 0 + #CHECK: chf %r0, -524288 # encoding: [0xe3,0x00,0x00,0x00,0x80,0xcd] #CHECK: chf %r0, -1 # encoding: [0xe3,0x00,0x0f,0xff,0xff,0xcd] #CHECK: chf %r0, 0 # encoding: [0xe3,0x00,0x00,0x00,0x00,0xcd] @@ -419,6 +559,20 @@ clfdbr %r4, 5, %f6, 7 clfdbr %r15, 0, %f0, 0 +#CHECK: clfdtr %r0, 0, %f0, 0 # encoding: [0xb9,0x43,0x00,0x00] +#CHECK: clfdtr %r0, 0, %f0, 15 # encoding: [0xb9,0x43,0x0f,0x00] +#CHECK: clfdtr %r0, 0, %f15, 0 # encoding: [0xb9,0x43,0x00,0x0f] +#CHECK: clfdtr %r0, 15, %f0, 0 # encoding: [0xb9,0x43,0xf0,0x00] +#CHECK: clfdtr %r4, 5, %f6, 7 # encoding: [0xb9,0x43,0x57,0x46] +#CHECK: clfdtr %r15, 0, %f0, 0 # encoding: [0xb9,0x43,0x00,0xf0] + + clfdtr %r0, 0, %f0, 0 + clfdtr %r0, 0, %f0, 15 + clfdtr %r0, 0, %f15, 0 + clfdtr %r0, 15, %f0, 0 + clfdtr %r4, 5, %f6, 7 + clfdtr %r15, 0, %f0, 0 + #CHECK: clfebr %r0, 0, %f0, 0 # encoding: [0xb3,0x9c,0x00,0x00] #CHECK: clfebr %r0, 0, %f0, 15 # encoding: [0xb3,0x9c,0x0f,0x00] #CHECK: clfebr %r0, 0, %f15, 0 # encoding: [0xb3,0x9c,0x00,0x0f] @@ -447,6 +601,20 @@ clfxbr %r7, 5, %f8, 9 clfxbr %r15, 0, %f0, 0 +#CHECK: clfxtr %r0, 0, %f0, 0 # encoding: [0xb9,0x4b,0x00,0x00] +#CHECK: clfxtr %r0, 0, %f0, 15 # encoding: [0xb9,0x4b,0x0f,0x00] +#CHECK: clfxtr %r0, 0, %f13, 0 # encoding: [0xb9,0x4b,0x00,0x0d] +#CHECK: clfxtr %r0, 15, %f0, 0 # encoding: [0xb9,0x4b,0xf0,0x00] +#CHECK: clfxtr %r7, 5, %f8, 9 # encoding: [0xb9,0x4b,0x59,0x78] +#CHECK: clfxtr %r15, 0, %f0, 0 # encoding: [0xb9,0x4b,0x00,0xf0] + + clfxtr %r0, 0, %f0, 0 + clfxtr %r0, 0, %f0, 15 + clfxtr %r0, 0, %f13, 0 + clfxtr %r0, 15, %f0, 0 + clfxtr %r7, 5, %f8, 9 + clfxtr %r15, 0, %f0, 0 + #CHECK: clgdbr %r0, 0, %f0, 0 # encoding: [0xb3,0xad,0x00,0x00] #CHECK: clgdbr %r0, 0, %f0, 15 # encoding: [0xb3,0xad,0x0f,0x00] #CHECK: clgdbr %r0, 0, %f15, 0 # encoding: [0xb3,0xad,0x00,0x0f] @@ -461,6 +629,20 @@ clgdbr %r4, 5, %f6, 7 clgdbr %r15, 0, %f0, 0 +#CHECK: clgdtr %r0, 0, %f0, 0 # encoding: [0xb9,0x42,0x00,0x00] +#CHECK: clgdtr %r0, 0, %f0, 15 # encoding: [0xb9,0x42,0x0f,0x00] +#CHECK: clgdtr %r0, 0, %f15, 0 # encoding: [0xb9,0x42,0x00,0x0f] +#CHECK: clgdtr %r0, 15, %f0, 0 # encoding: [0xb9,0x42,0xf0,0x00] +#CHECK: clgdtr %r4, 5, %f6, 7 # encoding: [0xb9,0x42,0x57,0x46] +#CHECK: clgdtr %r15, 0, %f0, 0 # encoding: [0xb9,0x42,0x00,0xf0] + + clgdtr %r0, 0, %f0, 0 + clgdtr %r0, 0, %f0, 15 + clgdtr %r0, 0, %f15, 0 + clgdtr %r0, 15, %f0, 0 + clgdtr %r4, 5, %f6, 7 + clgdtr %r15, 0, %f0, 0 + #CHECK: clgebr %r0, 0, %f0, 0 # encoding: [0xb3,0xac,0x00,0x00] #CHECK: clgebr %r0, 0, %f0, 15 # encoding: [0xb3,0xac,0x0f,0x00] #CHECK: clgebr %r0, 0, %f15, 0 # encoding: [0xb3,0xac,0x00,0x0f] @@ -489,6 +671,20 @@ clgxbr %r7, 5, %f8, 9 clgxbr %r15, 0, %f0, 0 +#CHECK: clgxtr %r0, 0, %f0, 0 # encoding: [0xb9,0x4a,0x00,0x00] +#CHECK: clgxtr %r0, 0, %f0, 15 # encoding: [0xb9,0x4a,0x0f,0x00] +#CHECK: clgxtr %r0, 0, %f13, 0 # encoding: [0xb9,0x4a,0x00,0x0d] +#CHECK: clgxtr %r0, 15, %f0, 0 # encoding: [0xb9,0x4a,0xf0,0x00] +#CHECK: clgxtr %r7, 5, %f8, 9 # encoding: [0xb9,0x4a,0x59,0x78] +#CHECK: clgxtr %r15, 0, %f0, 0 # encoding: [0xb9,0x4a,0x00,0xf0] + + clgxtr %r0, 0, %f0, 0 + clgxtr %r0, 0, %f0, 15 + clgxtr %r0, 0, %f13, 0 + clgxtr %r0, 15, %f0, 0 + clgxtr %r7, 5, %f8, 9 + clgxtr %r15, 0, %f0, 0 + #CHECK: clhf %r0, -524288 # encoding: [0xe3,0x00,0x00,0x00,0x80,0xcf] #CHECK: clhf %r0, -1 # encoding: [0xe3,0x00,0x0f,0xff,0xff,0xcf] #CHECK: clhf %r0, 0 # encoding: [0xe3,0x00,0x00,0x00,0x00,0xcf] @@ -535,6 +731,20 @@ cxfbra %f4, 5, %r9, 10 cxfbra %f13, 0, %r0, 0 +#CHECK: cxftr %f0, 0, %r0, 0 # encoding: [0xb9,0x59,0x00,0x00] +#CHECK: cxftr %f0, 0, %r0, 15 # encoding: [0xb9,0x59,0x0f,0x00] +#CHECK: cxftr %f0, 0, %r15, 0 # encoding: [0xb9,0x59,0x00,0x0f] +#CHECK: cxftr %f0, 15, %r0, 0 # encoding: [0xb9,0x59,0xf0,0x00] +#CHECK: cxftr %f4, 5, %r9, 10 # encoding: [0xb9,0x59,0x5a,0x49] +#CHECK: cxftr %f13, 0, %r0, 0 # encoding: [0xb9,0x59,0x00,0xd0] + + cxftr %f0, 0, %r0, 0 + cxftr %f0, 0, %r0, 15 + cxftr %f0, 0, %r15, 0 + cxftr %f0, 15, %r0, 0 + cxftr %f4, 5, %r9, 10 + cxftr %f13, 0, %r0, 0 + #CHECK: cxgbra %f0, 0, %r0, 0 # encoding: [0xb3,0xa6,0x00,0x00] #CHECK: cxgbra %f0, 0, %r0, 15 # encoding: [0xb3,0xa6,0x0f,0x00] #CHECK: cxgbra %f0, 0, %r15, 0 # encoding: [0xb3,0xa6,0x00,0x0f] @@ -549,6 +759,20 @@ cxgbra %f4, 5, %r9, 10 cxgbra %f13, 0, %r0, 0 +#CHECK: cxgtra %f0, 0, %r0, 0 # encoding: [0xb3,0xf9,0x00,0x00] +#CHECK: cxgtra %f0, 0, %r0, 15 # encoding: [0xb3,0xf9,0x0f,0x00] +#CHECK: cxgtra %f0, 0, %r15, 0 # encoding: [0xb3,0xf9,0x00,0x0f] +#CHECK: cxgtra %f0, 15, %r0, 0 # encoding: [0xb3,0xf9,0xf0,0x00] +#CHECK: cxgtra %f4, 5, %r9, 10 # encoding: [0xb3,0xf9,0x5a,0x49] +#CHECK: cxgtra %f13, 0, %r0, 0 # encoding: [0xb3,0xf9,0x00,0xd0] + + cxgtra %f0, 0, %r0, 0 + cxgtra %f0, 0, %r0, 15 + cxgtra %f0, 0, %r15, 0 + cxgtra %f0, 15, %r0, 0 + cxgtra %f4, 5, %r9, 10 + cxgtra %f13, 0, %r0, 0 + #CHECK: cxlfbr %f0, 0, %r0, 0 # encoding: [0xb3,0x92,0x00,0x00] #CHECK: cxlfbr %f0, 0, %r0, 15 # encoding: [0xb3,0x92,0x0f,0x00] #CHECK: cxlfbr %f0, 0, %r15, 0 # encoding: [0xb3,0x92,0x00,0x0f] @@ -563,6 +787,20 @@ cxlfbr %f4, 5, %r9, 10 cxlfbr %f13, 0, %r0, 0 +#CHECK: cxlftr %f0, 0, %r0, 0 # encoding: [0xb9,0x5b,0x00,0x00] +#CHECK: cxlftr %f0, 0, %r0, 15 # encoding: [0xb9,0x5b,0x0f,0x00] +#CHECK: cxlftr %f0, 0, %r15, 0 # encoding: [0xb9,0x5b,0x00,0x0f] +#CHECK: cxlftr %f0, 15, %r0, 0 # encoding: [0xb9,0x5b,0xf0,0x00] +#CHECK: cxlftr %f4, 5, %r9, 10 # encoding: [0xb9,0x5b,0x5a,0x49] +#CHECK: cxlftr %f13, 0, %r0, 0 # encoding: [0xb9,0x5b,0x00,0xd0] + + cxlftr %f0, 0, %r0, 0 + cxlftr %f0, 0, %r0, 15 + cxlftr %f0, 0, %r15, 0 + cxlftr %f0, 15, %r0, 0 + cxlftr %f4, 5, %r9, 10 + cxlftr %f13, 0, %r0, 0 + #CHECK: cxlgbr %f0, 0, %r0, 0 # encoding: [0xb3,0xa2,0x00,0x00] #CHECK: cxlgbr %f0, 0, %r0, 15 # encoding: [0xb3,0xa2,0x0f,0x00] #CHECK: cxlgbr %f0, 0, %r15, 0 # encoding: [0xb3,0xa2,0x00,0x0f] @@ -577,6 +815,48 @@ cxlgbr %f4, 5, %r9, 10 cxlgbr %f13, 0, %r0, 0 +#CHECK: cxlgtr %f0, 0, %r0, 0 # encoding: [0xb9,0x5a,0x00,0x00] +#CHECK: cxlgtr %f0, 0, %r0, 15 # encoding: [0xb9,0x5a,0x0f,0x00] +#CHECK: cxlgtr %f0, 0, %r15, 0 # encoding: [0xb9,0x5a,0x00,0x0f] +#CHECK: cxlgtr %f0, 15, %r0, 0 # encoding: [0xb9,0x5a,0xf0,0x00] +#CHECK: cxlgtr %f4, 5, %r9, 10 # encoding: [0xb9,0x5a,0x5a,0x49] +#CHECK: cxlgtr %f13, 0, %r0, 0 # encoding: [0xb9,0x5a,0x00,0xd0] + + cxlgtr %f0, 0, %r0, 0 + cxlgtr %f0, 0, %r0, 15 + cxlgtr %f0, 0, %r15, 0 + cxlgtr %f0, 15, %r0, 0 + cxlgtr %f4, 5, %r9, 10 + cxlgtr %f13, 0, %r0, 0 + +#CHECK: ddtra %f0, %f0, %f0, 0 # encoding: [0xb3,0xd1,0x00,0x00] +#CHECK: ddtra %f0, %f0, %f0, 15 # encoding: [0xb3,0xd1,0x0f,0x00] +#CHECK: ddtra %f0, %f0, %f15, 0 # encoding: [0xb3,0xd1,0xf0,0x00] +#CHECK: ddtra %f0, %f15, %f0, 0 # encoding: [0xb3,0xd1,0x00,0x0f] +#CHECK: ddtra %f15, %f0, %f0, 0 # encoding: [0xb3,0xd1,0x00,0xf0] +#CHECK: ddtra %f7, %f8, %f9, 10 # encoding: [0xb3,0xd1,0x9a,0x78] + + ddtra %f0, %f0, %f0, 0 + ddtra %f0, %f0, %f0, 15 + ddtra %f0, %f0, %f15, 0 + ddtra %f0, %f15, %f0, 0 + ddtra %f15, %f0, %f0, 0 + ddtra %f7, %f8, %f9, 10 + +#CHECK: dxtra %f0, %f0, %f0, 0 # encoding: [0xb3,0xd9,0x00,0x00] +#CHECK: dxtra %f0, %f0, %f0, 15 # encoding: [0xb3,0xd9,0x0f,0x00] +#CHECK: dxtra %f0, %f0, %f13, 0 # encoding: [0xb3,0xd9,0xd0,0x00] +#CHECK: dxtra %f0, %f13, %f0, 0 # encoding: [0xb3,0xd9,0x00,0x0d] +#CHECK: dxtra %f13, %f0, %f0, 0 # encoding: [0xb3,0xd9,0x00,0xd0] +#CHECK: dxtra %f8, %f8, %f8, 8 # encoding: [0xb3,0xd9,0x88,0x88] + + dxtra %f0, %f0, %f0, 0 + dxtra %f0, %f0, %f0, 15 + dxtra %f0, %f0, %f13, 0 + dxtra %f0, %f13, %f0, 0 + dxtra %f13, %f0, %f0, 0 + dxtra %f8, %f8, %f8, 8 + #CHECK: fidbra %f0, 0, %f0, 0 # encoding: [0xb3,0x5f,0x00,0x00] #CHECK: fidbra %f0, 0, %f0, 15 # encoding: [0xb3,0x5f,0x0f,0x00] #CHECK: fidbra %f0, 0, %f15, 0 # encoding: [0xb3,0x5f,0x00,0x0f] @@ -1285,6 +1565,34 @@ lpdg %r2, 0(%r1), 1(%r15) lpdg %r2, 0(%r1), 4095(%r15) +#CHECK: mdtra %f0, %f0, %f0, 0 # encoding: [0xb3,0xd0,0x00,0x00] +#CHECK: mdtra %f0, %f0, %f0, 15 # encoding: [0xb3,0xd0,0x0f,0x00] +#CHECK: mdtra %f0, %f0, %f15, 0 # encoding: [0xb3,0xd0,0xf0,0x00] +#CHECK: mdtra %f0, %f15, %f0, 0 # encoding: [0xb3,0xd0,0x00,0x0f] +#CHECK: mdtra %f15, %f0, %f0, 0 # encoding: [0xb3,0xd0,0x00,0xf0] +#CHECK: mdtra %f7, %f8, %f9, 10 # encoding: [0xb3,0xd0,0x9a,0x78] + + mdtra %f0, %f0, %f0, 0 + mdtra %f0, %f0, %f0, 15 + mdtra %f0, %f0, %f15, 0 + mdtra %f0, %f15, %f0, 0 + mdtra %f15, %f0, %f0, 0 + mdtra %f7, %f8, %f9, 10 + +#CHECK: mxtra %f0, %f0, %f0, 0 # encoding: [0xb3,0xd8,0x00,0x00] +#CHECK: mxtra %f0, %f0, %f0, 15 # encoding: [0xb3,0xd8,0x0f,0x00] +#CHECK: mxtra %f0, %f0, %f13, 0 # encoding: [0xb3,0xd8,0xd0,0x00] +#CHECK: mxtra %f0, %f13, %f0, 0 # encoding: [0xb3,0xd8,0x00,0x0d] +#CHECK: mxtra %f13, %f0, %f0, 0 # encoding: [0xb3,0xd8,0x00,0xd0] +#CHECK: mxtra %f8, %f8, %f8, 8 # encoding: [0xb3,0xd8,0x88,0x88] + + mxtra %f0, %f0, %f0, 0 + mxtra %f0, %f0, %f0, 15 + mxtra %f0, %f0, %f13, 0 + mxtra %f0, %f13, %f0, 0 + mxtra %f13, %f0, %f0, 0 + mxtra %f8, %f8, %f8, 8 + #CHECK: ngrk %r0, %r0, %r0 # encoding: [0xb9,0xe4,0x00,0x00] #CHECK: ngrk %r0, %r0, %r15 # encoding: [0xb9,0xe4,0xf0,0x00] #CHECK: ngrk %r0, %r15, %r0 # encoding: [0xb9,0xe4,0x00,0x0f] @@ -1379,6 +1687,20 @@ risblg %r15,%r0,0,0,0 risblg %r4,%r5,6,7,8 +#CHECK: sdtra %f0, %f0, %f0, 0 # encoding: [0xb3,0xd3,0x00,0x00] +#CHECK: sdtra %f0, %f0, %f0, 15 # encoding: [0xb3,0xd3,0x0f,0x00] +#CHECK: sdtra %f0, %f0, %f15, 0 # encoding: [0xb3,0xd3,0xf0,0x00] +#CHECK: sdtra %f0, %f15, %f0, 0 # encoding: [0xb3,0xd3,0x00,0x0f] +#CHECK: sdtra %f15, %f0, %f0, 0 # encoding: [0xb3,0xd3,0x00,0xf0] +#CHECK: sdtra %f7, %f8, %f9, 10 # encoding: [0xb3,0xd3,0x9a,0x78] + + sdtra %f0, %f0, %f0, 0 + sdtra %f0, %f0, %f0, 15 + sdtra %f0, %f0, %f15, 0 + sdtra %f0, %f15, %f0, 0 + sdtra %f15, %f0, %f0, 0 + sdtra %f7, %f8, %f9, 10 + #CHECK: sgrk %r0, %r0, %r0 # encoding: [0xb9,0xe9,0x00,0x00] #CHECK: sgrk %r0, %r0, %r15 # encoding: [0xb9,0xe9,0xf0,0x00] #CHECK: sgrk %r0, %r15, %r0 # encoding: [0xb9,0xe9,0x00,0x0f] @@ -1731,6 +2053,20 @@ stocgnp %r1,2(%r3) stocgno %r1,2(%r3) +#CHECK: sxtra %f0, %f0, %f0, 0 # encoding: [0xb3,0xdb,0x00,0x00] +#CHECK: sxtra %f0, %f0, %f0, 15 # encoding: [0xb3,0xdb,0x0f,0x00] +#CHECK: sxtra %f0, %f0, %f13, 0 # encoding: [0xb3,0xdb,0xd0,0x00] +#CHECK: sxtra %f0, %f13, %f0, 0 # encoding: [0xb3,0xdb,0x00,0x0d] +#CHECK: sxtra %f13, %f0, %f0, 0 # encoding: [0xb3,0xdb,0x00,0xd0] +#CHECK: sxtra %f8, %f8, %f8, 8 # encoding: [0xb3,0xdb,0x88,0x88] + + sxtra %f0, %f0, %f0, 0 + sxtra %f0, %f0, %f0, 15 + sxtra %f0, %f0, %f13, 0 + sxtra %f0, %f13, %f0, 0 + sxtra %f13, %f0, %f0, 0 + sxtra %f8, %f8, %f8, 8 + #CHECK: xgrk %r0, %r0, %r0 # encoding: [0xb9,0xe7,0x00,0x00] #CHECK: xgrk %r0, %r0, %r15 # encoding: [0xb9,0xe7,0xf0,0x00] #CHECK: xgrk %r0, %r15, %r0 # encoding: [0xb9,0xe7,0x00,0x0f] diff --git a/llvm/test/MC/SystemZ/insn-good-zEC12.s b/llvm/test/MC/SystemZ/insn-good-zEC12.s index 275d68d8a61..2fe6c46ad90 100644 --- a/llvm/test/MC/SystemZ/insn-good-zEC12.s +++ b/llvm/test/MC/SystemZ/insn-good-zEC12.s @@ -114,6 +114,26 @@ bprp 8, branch, target@plt bprp 9, branch@plt, target@plt +#CHECK: cdzt %f0, 0(1), 0 # encoding: [0xed,0x00,0x00,0x00,0x00,0xaa] +#CHECK: cdzt %f15, 0(1), 0 # encoding: [0xed,0x00,0x00,0x00,0xf0,0xaa] +#CHECK: cdzt %f0, 0(1), 15 # encoding: [0xed,0x00,0x00,0x00,0x0f,0xaa] +#CHECK: cdzt %f0, 0(1,%r1), 0 # encoding: [0xed,0x00,0x10,0x00,0x00,0xaa] +#CHECK: cdzt %f0, 0(1,%r15), 0 # encoding: [0xed,0x00,0xf0,0x00,0x00,0xaa] +#CHECK: cdzt %f0, 4095(1,%r1), 0 # encoding: [0xed,0x00,0x1f,0xff,0x00,0xaa] +#CHECK: cdzt %f0, 4095(1,%r15), 0 # encoding: [0xed,0x00,0xff,0xff,0x00,0xaa] +#CHECK: cdzt %f0, 0(256,%r1), 0 # encoding: [0xed,0xff,0x10,0x00,0x00,0xaa] +#CHECK: cdzt %f0, 0(256,%r15), 0 # encoding: [0xed,0xff,0xf0,0x00,0x00,0xaa] + + cdzt %f0, 0(1), 0 + cdzt %f15, 0(1), 0 + cdzt %f0, 0(1), 15 + cdzt %f0, 0(1,%r1), 0 + cdzt %f0, 0(1,%r15), 0 + cdzt %f0, 4095(1,%r1), 0 + cdzt %f0, 4095(1,%r15), 0 + cdzt %f0, 0(256,%r1), 0 + cdzt %f0, 0(256,%r15), 0 + #CHECK: clt %r0, 12, -524288 # encoding: [0xeb,0x0c,0x00,0x00,0x80,0x23] #CHECK: clt %r0, 12, -1 # encoding: [0xeb,0x0c,0x0f,0xff,0xff,0x23] #CHECK: clt %r0, 12, 0 # encoding: [0xeb,0x0c,0x00,0x00,0x00,0x23] @@ -178,6 +198,66 @@ clgtnl %r0, 0(%r15) clgtnh %r0, 0(%r15) +#CHECK: cxzt %f0, 0(1), 0 # encoding: [0xed,0x00,0x00,0x00,0x00,0xab] +#CHECK: cxzt %f13, 0(1), 0 # encoding: [0xed,0x00,0x00,0x00,0xd0,0xab] +#CHECK: cxzt %f0, 0(1), 15 # encoding: [0xed,0x00,0x00,0x00,0x0f,0xab] +#CHECK: cxzt %f0, 0(1,%r1), 0 # encoding: [0xed,0x00,0x10,0x00,0x00,0xab] +#CHECK: cxzt %f0, 0(1,%r15), 0 # encoding: [0xed,0x00,0xf0,0x00,0x00,0xab] +#CHECK: cxzt %f0, 4095(1,%r1), 0 # encoding: [0xed,0x00,0x1f,0xff,0x00,0xab] +#CHECK: cxzt %f0, 4095(1,%r15), 0 # encoding: [0xed,0x00,0xff,0xff,0x00,0xab] +#CHECK: cxzt %f0, 0(256,%r1), 0 # encoding: [0xed,0xff,0x10,0x00,0x00,0xab] +#CHECK: cxzt %f0, 0(256,%r15), 0 # encoding: [0xed,0xff,0xf0,0x00,0x00,0xab] + + cxzt %f0, 0(1), 0 + cxzt %f13, 0(1), 0 + cxzt %f0, 0(1), 15 + cxzt %f0, 0(1,%r1), 0 + cxzt %f0, 0(1,%r15), 0 + cxzt %f0, 4095(1,%r1), 0 + cxzt %f0, 4095(1,%r15), 0 + cxzt %f0, 0(256,%r1), 0 + cxzt %f0, 0(256,%r15), 0 + +#CHECK: czdt %f0, 0(1), 0 # encoding: [0xed,0x00,0x00,0x00,0x00,0xa8] +#CHECK: czdt %f15, 0(1), 0 # encoding: [0xed,0x00,0x00,0x00,0xf0,0xa8] +#CHECK: czdt %f0, 0(1), 15 # encoding: [0xed,0x00,0x00,0x00,0x0f,0xa8] +#CHECK: czdt %f0, 0(1,%r1), 0 # encoding: [0xed,0x00,0x10,0x00,0x00,0xa8] +#CHECK: czdt %f0, 0(1,%r15), 0 # encoding: [0xed,0x00,0xf0,0x00,0x00,0xa8] +#CHECK: czdt %f0, 4095(1,%r1), 0 # encoding: [0xed,0x00,0x1f,0xff,0x00,0xa8] +#CHECK: czdt %f0, 4095(1,%r15), 0 # encoding: [0xed,0x00,0xff,0xff,0x00,0xa8] +#CHECK: czdt %f0, 0(256,%r1), 0 # encoding: [0xed,0xff,0x10,0x00,0x00,0xa8] +#CHECK: czdt %f0, 0(256,%r15), 0 # encoding: [0xed,0xff,0xf0,0x00,0x00,0xa8] + + czdt %f0, 0(1), 0 + czdt %f15, 0(1), 0 + czdt %f0, 0(1), 15 + czdt %f0, 0(1,%r1), 0 + czdt %f0, 0(1,%r15), 0 + czdt %f0, 4095(1,%r1), 0 + czdt %f0, 4095(1,%r15), 0 + czdt %f0, 0(256,%r1), 0 + czdt %f0, 0(256,%r15), 0 + +#CHECK: czxt %f0, 0(1), 0 # encoding: [0xed,0x00,0x00,0x00,0x00,0xa9] +#CHECK: czxt %f13, 0(1), 0 # encoding: [0xed,0x00,0x00,0x00,0xd0,0xa9] +#CHECK: czxt %f0, 0(1), 15 # encoding: [0xed,0x00,0x00,0x00,0x0f,0xa9] +#CHECK: czxt %f0, 0(1,%r1), 0 # encoding: [0xed,0x00,0x10,0x00,0x00,0xa9] +#CHECK: czxt %f0, 0(1,%r15), 0 # encoding: [0xed,0x00,0xf0,0x00,0x00,0xa9] +#CHECK: czxt %f0, 4095(1,%r1), 0 # encoding: [0xed,0x00,0x1f,0xff,0x00,0xa9] +#CHECK: czxt %f0, 4095(1,%r15), 0 # encoding: [0xed,0x00,0xff,0xff,0x00,0xa9] +#CHECK: czxt %f0, 0(256,%r1), 0 # encoding: [0xed,0xff,0x10,0x00,0x00,0xa9] +#CHECK: czxt %f0, 0(256,%r15), 0 # encoding: [0xed,0xff,0xf0,0x00,0x00,0xa9] + + czxt %f0, 0(1), 0 + czxt %f13, 0(1), 0 + czxt %f0, 0(1), 15 + czxt %f0, 0(1,%r1), 0 + czxt %f0, 0(1,%r15), 0 + czxt %f0, 4095(1,%r1), 0 + czxt %f0, 4095(1,%r15), 0 + czxt %f0, 0(256,%r1), 0 + czxt %f0, 0(256,%r15), 0 + #CHECK: etnd %r0 # encoding: [0xb2,0xec,0x00,0x00] #CHECK: etnd %r15 # encoding: [0xb2,0xec,0x00,0xf0] #CHECK: etnd %r7 # encoding: [0xb2,0xec,0x00,0x70] diff --git a/llvm/test/MC/SystemZ/insn-good.s b/llvm/test/MC/SystemZ/insn-good.s index 3e633de1d5e..73162e4eea7 100644 --- a/llvm/test/MC/SystemZ/insn-good.s +++ b/llvm/test/MC/SystemZ/insn-good.s @@ -69,6 +69,18 @@ adr %f7, %f8 adr %f15, %f0 +#CHECK: adtr %f0, %f0, %f0 # encoding: [0xb3,0xd2,0x00,0x00] +#CHECK: adtr %f0, %f0, %f15 # encoding: [0xb3,0xd2,0xf0,0x00] +#CHECK: adtr %f0, %f15, %f0 # encoding: [0xb3,0xd2,0x00,0x0f] +#CHECK: adtr %f15, %f0, %f0 # encoding: [0xb3,0xd2,0x00,0xf0] +#CHECK: adtr %f7, %f8, %f9 # encoding: [0xb3,0xd2,0x90,0x78] + + adtr %f0, %f0, %f0 + adtr %f0, %f0, %f15 + adtr %f0, %f15, %f0 + adtr %f15, %f0, %f0 + adtr %f7, %f8, %f9 + #CHECK: ae %f0, 0 # encoding: [0x7a,0x00,0x00,0x00] #CHECK: ae %f0, 4095 # encoding: [0x7a,0x00,0x0f,0xff] #CHECK: ae %f0, 0(%r1) # encoding: [0x7a,0x00,0x10,0x00] @@ -695,6 +707,18 @@ axr %f8, %f8 axr %f13, %f0 +#CHECK: axtr %f0, %f0, %f0 # encoding: [0xb3,0xda,0x00,0x00] +#CHECK: axtr %f0, %f0, %f13 # encoding: [0xb3,0xda,0xd0,0x00] +#CHECK: axtr %f0, %f13, %f0 # encoding: [0xb3,0xda,0x00,0x0d] +#CHECK: axtr %f13, %f0, %f0 # encoding: [0xb3,0xda,0x00,0xd0] +#CHECK: axtr %f8, %f8, %f8 # encoding: [0xb3,0xda,0x80,0x88] + + axtr %f0, %f0, %f0 + axtr %f0, %f0, %f13 + axtr %f0, %f13, %f0 + axtr %f13, %f0, %f0 + axtr %f8, %f8, %f8 + #CHECK: ay %r0, -524288 # encoding: [0xe3,0x00,0x00,0x00,0x80,0x5a] #CHECK: ay %r0, -1 # encoding: [0xe3,0x00,0x0f,0xff,0xff,0x5a] #CHECK: ay %r0, 0 # encoding: [0xe3,0x00,0x00,0x00,0x00,0x5a] @@ -2089,6 +2113,18 @@ cdgr %f7, %r8 cdgr %f15, %r15 +#CHECK: cdgtr %f0, %r0 # encoding: [0xb3,0xf1,0x00,0x00] +#CHECK: cdgtr %f0, %r15 # encoding: [0xb3,0xf1,0x00,0x0f] +#CHECK: cdgtr %f15, %r0 # encoding: [0xb3,0xf1,0x00,0xf0] +#CHECK: cdgtr %f7, %r8 # encoding: [0xb3,0xf1,0x00,0x78] +#CHECK: cdgtr %f15, %r15 # encoding: [0xb3,0xf1,0x00,0xff] + + cdgtr %f0, %r0 + cdgtr %f0, %r15 + cdgtr %f15, %r0 + cdgtr %f7, %r8 + cdgtr %f15, %r15 + #CHECK: cdr %f0, %f0 # encoding: [0x29,0x00] #CHECK: cdr %f0, %f15 # encoding: [0x29,0x0f] #CHECK: cdr %f7, %f8 # encoding: [0x29,0x78] @@ -2141,6 +2177,18 @@ cdsg %r0, %r14, 0 cdsg %r14, %r0, 0 +#CHECK: cdstr %f0, %r0 # encoding: [0xb3,0xf3,0x00,0x00] +#CHECK: cdstr %f0, %r15 # encoding: [0xb3,0xf3,0x00,0x0f] +#CHECK: cdstr %f15, %r0 # encoding: [0xb3,0xf3,0x00,0xf0] +#CHECK: cdstr %f7, %r8 # encoding: [0xb3,0xf3,0x00,0x78] +#CHECK: cdstr %f15, %r15 # encoding: [0xb3,0xf3,0x00,0xff] + + cdstr %f0, %r0 + cdstr %f0, %r15 + cdstr %f15, %r0 + cdstr %f7, %r8 + cdstr %f15, %r15 + #CHECK: cdsy %r0, %r0, -524288 # encoding: [0xeb,0x00,0x00,0x00,0x80,0x31] #CHECK: cdsy %r0, %r0, -1 # encoding: [0xeb,0x00,0x0f,0xff,0xff,0x31] #CHECK: cdsy %r0, %r0, 0 # encoding: [0xeb,0x00,0x00,0x00,0x00,0x31] @@ -2165,6 +2213,28 @@ cdsy %r0, %r14, 0 cdsy %r14, %r0, 0 +#CHECK: cdtr %f0, %f0 # encoding: [0xb3,0xe4,0x00,0x00] +#CHECK: cdtr %f0, %f15 # encoding: [0xb3,0xe4,0x00,0x0f] +#CHECK: cdtr %f7, %f8 # encoding: [0xb3,0xe4,0x00,0x78] +#CHECK: cdtr %f15, %f0 # encoding: [0xb3,0xe4,0x00,0xf0] + + cdtr %f0, %f0 + cdtr %f0, %f15 + cdtr %f7, %f8 + cdtr %f15, %f0 + +#CHECK: cdutr %f0, %r0 # encoding: [0xb3,0xf2,0x00,0x00] +#CHECK: cdutr %f0, %r15 # encoding: [0xb3,0xf2,0x00,0x0f] +#CHECK: cdutr %f15, %r0 # encoding: [0xb3,0xf2,0x00,0xf0] +#CHECK: cdutr %f7, %r8 # encoding: [0xb3,0xf2,0x00,0x78] +#CHECK: cdutr %f15, %r15 # encoding: [0xb3,0xf2,0x00,0xff] + + cdutr %f0, %r0 + cdutr %f0, %r15 + cdutr %f15, %r0 + cdutr %f7, %r8 + cdutr %f15, %r15 + #CHECK: ce %f0, 0 # encoding: [0x79,0x00,0x00,0x00] #CHECK: ce %f0, 4095 # encoding: [0x79,0x00,0x0f,0xff] #CHECK: ce %f0, 0(%r1) # encoding: [0x79,0x00,0x10,0x00] @@ -2207,6 +2277,16 @@ cebr %f7, %f8 cebr %f15, %f0 +#CHECK: cedtr %f0, %f0 # encoding: [0xb3,0xf4,0x00,0x00] +#CHECK: cedtr %f0, %f15 # encoding: [0xb3,0xf4,0x00,0x0f] +#CHECK: cedtr %f7, %f8 # encoding: [0xb3,0xf4,0x00,0x78] +#CHECK: cedtr %f15, %f0 # encoding: [0xb3,0xf4,0x00,0xf0] + + cedtr %f0, %f0 + cedtr %f0, %f15 + cedtr %f7, %f8 + cedtr %f15, %f0 + #CHECK: cefbr %f0, %r0 # encoding: [0xb3,0x94,0x00,0x00] #CHECK: cefbr %f0, %r15 # encoding: [0xb3,0x94,0x00,0x0f] #CHECK: cefbr %f15, %r0 # encoding: [0xb3,0x94,0x00,0xf0] @@ -2265,6 +2345,16 @@ cer %f7, %f8 cer %f15, %f0 +#CHECK: cextr %f0, %f0 # encoding: [0xb3,0xfc,0x00,0x00] +#CHECK: cextr %f0, %f13 # encoding: [0xb3,0xfc,0x00,0x0d] +#CHECK: cextr %f8, %f8 # encoding: [0xb3,0xfc,0x00,0x88] +#CHECK: cextr %f13, %f0 # encoding: [0xb3,0xfc,0x00,0xd0] + + cextr %f0, %f0 + cextr %f0, %f13 + cextr %f8, %f8 + cextr %f13, %f0 + #CHECK: cfc 0 # encoding: [0xb2,0x1a,0x00,0x00] #CHECK: cfc 0(%r1) # encoding: [0xb2,0x1a,0x10,0x00] #CHECK: cfc 0(%r15) # encoding: [0xb2,0x1a,0xf0,0x00] @@ -2411,6 +2501,18 @@ cgdr %r4, 5, %f6 cgdr %r15, 0, %f0 +#CHECK: cgdtr %r0, 0, %f0 # encoding: [0xb3,0xe1,0x00,0x00] +#CHECK: cgdtr %r0, 0, %f15 # encoding: [0xb3,0xe1,0x00,0x0f] +#CHECK: cgdtr %r0, 15, %f0 # encoding: [0xb3,0xe1,0xf0,0x00] +#CHECK: cgdtr %r4, 5, %f6 # encoding: [0xb3,0xe1,0x50,0x46] +#CHECK: cgdtr %r15, 0, %f0 # encoding: [0xb3,0xe1,0x00,0xf0] + + cgdtr %r0, 0, %f0 + cgdtr %r0, 0, %f15 + cgdtr %r0, 15, %f0 + cgdtr %r4, 5, %f6 + cgdtr %r15, 0, %f0 + #CHECK: cgebr %r0, 0, %f0 # encoding: [0xb3,0xa8,0x00,0x00] #CHECK: cgebr %r0, 0, %f15 # encoding: [0xb3,0xa8,0x00,0x0f] #CHECK: cgebr %r0, 15, %f0 # encoding: [0xb3,0xa8,0xf0,0x00] @@ -3349,6 +3451,18 @@ cgxr %r4, 5, %f8 cgxr %r15, 0, %f0 +#CHECK: cgxtr %r0, 0, %f0 # encoding: [0xb3,0xe9,0x00,0x00] +#CHECK: cgxtr %r0, 0, %f13 # encoding: [0xb3,0xe9,0x00,0x0d] +#CHECK: cgxtr %r0, 15, %f0 # encoding: [0xb3,0xe9,0xf0,0x00] +#CHECK: cgxtr %r4, 5, %f8 # encoding: [0xb3,0xe9,0x50,0x48] +#CHECK: cgxtr %r15, 0, %f0 # encoding: [0xb3,0xe9,0x00,0xf0] + + cgxtr %r0, 0, %f0 + cgxtr %r0, 0, %f13 + cgxtr %r0, 15, %f0 + cgxtr %r4, 5, %f8 + cgxtr %r15, 0, %f0 + #CHECK: ch %r0, 0 # encoding: [0x49,0x00,0x00,0x00] #CHECK: ch %r0, 4095 # encoding: [0x49,0x00,0x0f,0xff] #CHECK: ch %r0, 0(%r1) # encoding: [0x49,0x00,0x10,0x00] @@ -6143,6 +6257,18 @@ cs %r0, %r15, 0 cs %r15, %r0, 0 +#CHECK: csdtr %r0, %f0, 0 # encoding: [0xb3,0xe3,0x00,0x00] +#CHECK: csdtr %r0, %f15, 0 # encoding: [0xb3,0xe3,0x00,0x0f] +#CHECK: csdtr %r0, %f0, 15 # encoding: [0xb3,0xe3,0x0f,0x00] +#CHECK: csdtr %r4, %f5, 6 # encoding: [0xb3,0xe3,0x06,0x45] +#CHECK: csdtr %r15, %f0, 0 # encoding: [0xb3,0xe3,0x00,0xf0] + + csdtr %r0, %f0, 0 + csdtr %r0, %f15, 0 + csdtr %r0, %f0, 15 + csdtr %r4, %f5, 6 + csdtr %r15, %f0, 0 + #CHECK: csg %r0, %r0, -524288 # encoding: [0xeb,0x00,0x00,0x00,0x80,0x30] #CHECK: csg %r0, %r0, -1 # encoding: [0xeb,0x00,0x0f,0xff,0xff,0x30] #CHECK: csg %r0, %r0, 0 # encoding: [0xeb,0x00,0x00,0x00,0x00,0x30] @@ -6181,6 +6307,18 @@ csst 0(%r1), 1(%r15), %r2 csst 0(%r1), 4095(%r15), %r2 +#CHECK: csxtr %r0, %f0, 0 # encoding: [0xb3,0xeb,0x00,0x00] +#CHECK: csxtr %r0, %f13, 0 # encoding: [0xb3,0xeb,0x00,0x0d] +#CHECK: csxtr %r0, %f0, 15 # encoding: [0xb3,0xeb,0x0f,0x00] +#CHECK: csxtr %r4, %f5, 6 # encoding: [0xb3,0xeb,0x06,0x45] +#CHECK: csxtr %r14, %f0, 0 # encoding: [0xb3,0xeb,0x00,0xe0] + + csxtr %r0, %f0, 0 + csxtr %r0, %f13, 0 + csxtr %r0, %f0, 15 + csxtr %r4, %f5, 6 + csxtr %r14, %f0, 0 + #CHECK: csy %r0, %r0, -524288 # encoding: [0xeb,0x00,0x00,0x00,0x80,0x14] #CHECK: csy %r0, %r0, -1 # encoding: [0xeb,0x00,0x0f,0xff,0xff,0x14] #CHECK: csy %r0, %r0, 0 # encoding: [0xeb,0x00,0x00,0x00,0x00,0x14] @@ -6281,6 +6419,18 @@ cu42 %r14, %r0 cu42 %r6, %r8 +#CHECK: cudtr %r0, %f0 # encoding: [0xb3,0xe2,0x00,0x00] +#CHECK: cudtr %r0, %f15 # encoding: [0xb3,0xe2,0x00,0x0f] +#CHECK: cudtr %r15, %f0 # encoding: [0xb3,0xe2,0x00,0xf0] +#CHECK: cudtr %r7, %f8 # encoding: [0xb3,0xe2,0x00,0x78] +#CHECK: cudtr %r15, %f15 # encoding: [0xb3,0xe2,0x00,0xff] + + cudtr %r0, %f0 + cudtr %r0, %f15 + cudtr %r15, %f0 + cudtr %r7, %f8 + cudtr %r15, %f15 + #CHECK: cuse %r0, %r8 # encoding: [0xb2,0x57,0x00,0x08] #CHECK: cuse %r0, %r14 # encoding: [0xb2,0x57,0x00,0x0e] #CHECK: cuse %r14, %r0 # encoding: [0xb2,0x57,0x00,0xe0] @@ -6319,6 +6469,18 @@ cuutf %r4, %r12, 0 cuutf %r4, %r12, 15 +#CHECK: cuxtr %r0, %f0 # encoding: [0xb3,0xea,0x00,0x00] +#CHECK: cuxtr %r0, %f13 # encoding: [0xb3,0xea,0x00,0x0d] +#CHECK: cuxtr %r14, %f0 # encoding: [0xb3,0xea,0x00,0xe0] +#CHECK: cuxtr %r6, %f8 # encoding: [0xb3,0xea,0x00,0x68] +#CHECK: cuxtr %r14, %f13 # encoding: [0xb3,0xea,0x00,0xed] + + cuxtr %r0, %f0 + cuxtr %r0, %f13 + cuxtr %r14, %f0 + cuxtr %r6, %f8 + cuxtr %r14, %f13 + #CHECK: cvb %r0, 0 # encoding: [0x4f,0x00,0x00,0x00] #CHECK: cvb %r0, 4095 # encoding: [0x4f,0x00,0x0f,0xff] #CHECK: cvb %r0, 0(%r1) # encoding: [0x4f,0x00,0x10,0x00] @@ -6497,6 +6659,18 @@ cxgr %f8, %r7 cxgr %f13, %r15 +#CHECK: cxgtr %f0, %r0 # encoding: [0xb3,0xf9,0x00,0x00] +#CHECK: cxgtr %f0, %r15 # encoding: [0xb3,0xf9,0x00,0x0f] +#CHECK: cxgtr %f13, %r0 # encoding: [0xb3,0xf9,0x00,0xd0] +#CHECK: cxgtr %f8, %r7 # encoding: [0xb3,0xf9,0x00,0x87] +#CHECK: cxgtr %f13, %r15 # encoding: [0xb3,0xf9,0x00,0xdf] + + cxgtr %f0, %r0 + cxgtr %f0, %r15 + cxgtr %f13, %r0 + cxgtr %f8, %r7 + cxgtr %f13, %r15 + #CHECK: cxr %f0, %f0 # encoding: [0xb3,0x69,0x00,0x00] #CHECK: cxr %f0, %f13 # encoding: [0xb3,0x69,0x00,0x0d] #CHECK: cxr %f8, %f8 # encoding: [0xb3,0x69,0x00,0x88] @@ -6507,6 +6681,40 @@ cxr %f8, %f8 cxr %f13, %f0 +#CHECK: cxstr %f0, %r0 # encoding: [0xb3,0xfb,0x00,0x00] +#CHECK: cxstr %f0, %r14 # encoding: [0xb3,0xfb,0x00,0x0e] +#CHECK: cxstr %f13, %r0 # encoding: [0xb3,0xfb,0x00,0xd0] +#CHECK: cxstr %f8, %r6 # encoding: [0xb3,0xfb,0x00,0x86] +#CHECK: cxstr %f13, %r14 # encoding: [0xb3,0xfb,0x00,0xde] + + cxstr %f0, %r0 + cxstr %f0, %r14 + cxstr %f13, %r0 + cxstr %f8, %r6 + cxstr %f13, %r14 + +#CHECK: cxtr %f0, %f0 # encoding: [0xb3,0xec,0x00,0x00] +#CHECK: cxtr %f0, %f13 # encoding: [0xb3,0xec,0x00,0x0d] +#CHECK: cxtr %f8, %f8 # encoding: [0xb3,0xec,0x00,0x88] +#CHECK: cxtr %f13, %f0 # encoding: [0xb3,0xec,0x00,0xd0] + + cxtr %f0, %f0 + cxtr %f0, %f13 + cxtr %f8, %f8 + cxtr %f13, %f0 + +#CHECK: cxutr %f0, %r0 # encoding: [0xb3,0xfa,0x00,0x00] +#CHECK: cxutr %f0, %r14 # encoding: [0xb3,0xfa,0x00,0x0e] +#CHECK: cxutr %f13, %r0 # encoding: [0xb3,0xfa,0x00,0xd0] +#CHECK: cxutr %f8, %r6 # encoding: [0xb3,0xfa,0x00,0x86] +#CHECK: cxutr %f13, %r14 # encoding: [0xb3,0xfa,0x00,0xde] + + cxutr %f0, %r0 + cxutr %f0, %r14 + cxutr %f13, %r0 + cxutr %f8, %r6 + cxutr %f13, %r14 + #CHECK: cy %r0, -524288 # encoding: [0xe3,0x00,0x00,0x00,0x80,0x59] #CHECK: cy %r0, -1 # encoding: [0xe3,0x00,0x0f,0xff,0xff,0x59] #CHECK: cy %r0, 0 # encoding: [0xe3,0x00,0x00,0x00,0x00,0x59] @@ -6597,6 +6805,18 @@ ddr %f7, %f8 ddr %f15, %f0 +#CHECK: ddtr %f0, %f0, %f0 # encoding: [0xb3,0xd1,0x00,0x00] +#CHECK: ddtr %f0, %f0, %f15 # encoding: [0xb3,0xd1,0xf0,0x00] +#CHECK: ddtr %f0, %f15, %f0 # encoding: [0xb3,0xd1,0x00,0x0f] +#CHECK: ddtr %f15, %f0, %f0 # encoding: [0xb3,0xd1,0x00,0xf0] +#CHECK: ddtr %f7, %f8, %f9 # encoding: [0xb3,0xd1,0x90,0x78] + + ddtr %f0, %f0, %f0 + ddtr %f0, %f0, %f15 + ddtr %f0, %f15, %f0 + ddtr %f15, %f0, %f0 + ddtr %f7, %f8, %f9 + #CHECK: de %f0, 0 # encoding: [0x7d,0x00,0x00,0x00] #CHECK: de %f0, 4095 # encoding: [0x7d,0x00,0x0f,0xff] #CHECK: de %f0, 0(%r1) # encoding: [0x7d,0x00,0x10,0x00] @@ -6865,6 +7085,18 @@ dxr %f8, %f8 dxr %f13, %f0 +#CHECK: dxtr %f0, %f0, %f0 # encoding: [0xb3,0xd9,0x00,0x00] +#CHECK: dxtr %f0, %f0, %f13 # encoding: [0xb3,0xd9,0xd0,0x00] +#CHECK: dxtr %f0, %f13, %f0 # encoding: [0xb3,0xd9,0x00,0x0d] +#CHECK: dxtr %f13, %f0, %f0 # encoding: [0xb3,0xd9,0x00,0xd0] +#CHECK: dxtr %f8, %f8, %f8 # encoding: [0xb3,0xd9,0x80,0x88] + + dxtr %f0, %f0, %f0 + dxtr %f0, %f0, %f13 + dxtr %f0, %f13, %f0 + dxtr %f13, %f0, %f0 + dxtr %f8, %f8, %f8 + #CHECK: ear %r0, %a0 # encoding: [0xb2,0x4f,0x00,0x00] #CHECK: ear %r0, %a15 # encoding: [0xb2,0x4f,0x00,0x0f] #CHECK: ear %r15, %a0 # encoding: [0xb2,0x4f,0x00,0xf0] @@ -6971,6 +7203,26 @@ edmk 0(256,%r1), 0 edmk 0(256,%r15), 0 +#CHECK: eedtr %f0, %f9 # encoding: [0xb3,0xe5,0x00,0x09] +#CHECK: eedtr %f0, %f15 # encoding: [0xb3,0xe5,0x00,0x0f] +#CHECK: eedtr %f15, %f0 # encoding: [0xb3,0xe5,0x00,0xf0] +#CHECK: eedtr %f15, %f9 # encoding: [0xb3,0xe5,0x00,0xf9] + + eedtr %f0,%f9 + eedtr %f0,%f15 + eedtr %f15,%f0 + eedtr %f15,%f9 + +#CHECK: eextr %f0, %f8 # encoding: [0xb3,0xed,0x00,0x08] +#CHECK: eextr %f0, %f13 # encoding: [0xb3,0xed,0x00,0x0d] +#CHECK: eextr %f13, %f0 # encoding: [0xb3,0xed,0x00,0xd0] +#CHECK: eextr %f13, %f9 # encoding: [0xb3,0xed,0x00,0xd9] + + eextr %f0,%f8 + eextr %f0,%f13 + eextr %f13,%f0 + eextr %f13,%f9 + #CHECK: efpc %r0 # encoding: [0xb3,0x8c,0x00,0x00] #CHECK: efpc %r1 # encoding: [0xb3,0x8c,0x00,0x10] #CHECK: efpc %r15 # encoding: [0xb3,0x8c,0x00,0xf0] @@ -6989,6 +7241,26 @@ epsw %r15, %r0 epsw %r15, %r8 +#CHECK: esdtr %f0, %f9 # encoding: [0xb3,0xe7,0x00,0x09] +#CHECK: esdtr %f0, %f15 # encoding: [0xb3,0xe7,0x00,0x0f] +#CHECK: esdtr %f15, %f0 # encoding: [0xb3,0xe7,0x00,0xf0] +#CHECK: esdtr %f15, %f9 # encoding: [0xb3,0xe7,0x00,0xf9] + + esdtr %f0,%f9 + esdtr %f0,%f15 + esdtr %f15,%f0 + esdtr %f15,%f9 + +#CHECK: esxtr %f0, %f8 # encoding: [0xb3,0xef,0x00,0x08] +#CHECK: esxtr %f0, %f13 # encoding: [0xb3,0xef,0x00,0x0d] +#CHECK: esxtr %f13, %f0 # encoding: [0xb3,0xef,0x00,0xd0] +#CHECK: esxtr %f13, %f9 # encoding: [0xb3,0xef,0x00,0xd9] + + esxtr %f0,%f8 + esxtr %f0,%f13 + esxtr %f13,%f0 + esxtr %f13,%f9 + #CHECK: ex %r0, 0 # encoding: [0x44,0x00,0x00,0x00] #CHECK: ex %r0, 4095 # encoding: [0x44,0x00,0x0f,0xff] #CHECK: ex %r0, 0(%r1) # encoding: [0x44,0x00,0x10,0x00] @@ -7064,6 +7336,20 @@ fidr %f4, %f6 fidr %f15, %f0 +#CHECK: fidtr %f0, 0, %f0, 0 # encoding: [0xb3,0xd7,0x00,0x00] +#CHECK: fidtr %f0, 0, %f0, 15 # encoding: [0xb3,0xd7,0x0f,0x00] +#CHECK: fidtr %f0, 0, %f15, 0 # encoding: [0xb3,0xd7,0x00,0x0f] +#CHECK: fidtr %f0, 15, %f0, 0 # encoding: [0xb3,0xd7,0xf0,0x00] +#CHECK: fidtr %f4, 5, %f6, 7 # encoding: [0xb3,0xd7,0x57,0x46] +#CHECK: fidtr %f15, 0, %f0, 0 # encoding: [0xb3,0xd7,0x00,0xf0] + + fidtr %f0, 0, %f0, 0 + fidtr %f0, 0, %f0, 15 + fidtr %f0, 0, %f15, 0 + fidtr %f0, 15, %f0, 0 + fidtr %f4, 5, %f6, 7 + fidtr %f15, 0, %f0, 0 + #CHECK: fiebr %f0, 0, %f0 # encoding: [0xb3,0x57,0x00,0x00] #CHECK: fiebr %f0, 0, %f15 # encoding: [0xb3,0x57,0x00,0x0f] #CHECK: fiebr %f0, 15, %f0 # encoding: [0xb3,0x57,0xf0,0x00] @@ -7108,6 +7394,20 @@ fixr %f4, %f8 fixr %f13, %f0 +#CHECK: fixtr %f0, 0, %f0, 0 # encoding: [0xb3,0xdf,0x00,0x00] +#CHECK: fixtr %f0, 0, %f0, 15 # encoding: [0xb3,0xdf,0x0f,0x00] +#CHECK: fixtr %f0, 0, %f13, 0 # encoding: [0xb3,0xdf,0x00,0x0d] +#CHECK: fixtr %f0, 15, %f0, 0 # encoding: [0xb3,0xdf,0xf0,0x00] +#CHECK: fixtr %f4, 5, %f8, 9 # encoding: [0xb3,0xdf,0x59,0x48] +#CHECK: fixtr %f13, 0, %f0, 0 # encoding: [0xb3,0xdf,0x00,0xd0] + + fixtr %f0, 0, %f0, 0 + fixtr %f0, 0, %f0, 15 + fixtr %f0, 0, %f13, 0 + fixtr %f0, 15, %f0, 0 + fixtr %f4, 5, %f8, 9 + fixtr %f13, 0, %f0, 0 + #CHECK: flogr %r0, %r0 # encoding: [0xb9,0x83,0x00,0x00] #CHECK: flogr %r0, %r15 # encoding: [0xb9,0x83,0x00,0x0f] #CHECK: flogr %r10, %r9 # encoding: [0xb9,0x83,0x00,0xa9] @@ -7236,6 +7536,34 @@ icy %r0, 524287(%r15,%r1) icy %r15, 0 +#CHECK: iedtr %f0, %f0, %f0 # encoding: [0xb3,0xf6,0x00,0x00] +#CHECK: iedtr %f0, %f0, %f15 # encoding: [0xb3,0xf6,0x00,0x0f] +#CHECK: iedtr %f0, %f15, %f0 # encoding: [0xb3,0xf6,0xf0,0x00] +#CHECK: iedtr %f15, %f0, %f0 # encoding: [0xb3,0xf6,0x00,0xf0] +#CHECK: iedtr %f1, %f2, %f3 # encoding: [0xb3,0xf6,0x20,0x13] +#CHECK: iedtr %f15, %f15, %f15 # encoding: [0xb3,0xf6,0xf0,0xff] + + iedtr %f0, %f0, %f0 + iedtr %f0, %f0, %f15 + iedtr %f0, %f15, %f0 + iedtr %f15, %f0, %f0 + iedtr %f1, %f2, %f3 + iedtr %f15, %f15, %f15 + +#CHECK: iextr %f0, %f0, %f0 # encoding: [0xb3,0xfe,0x00,0x00] +#CHECK: iextr %f0, %f0, %f13 # encoding: [0xb3,0xfe,0x00,0x0d] +#CHECK: iextr %f0, %f13, %f0 # encoding: [0xb3,0xfe,0xd0,0x00] +#CHECK: iextr %f13, %f0, %f0 # encoding: [0xb3,0xfe,0x00,0xd0] +#CHECK: iextr %f1, %f8, %f4 # encoding: [0xb3,0xfe,0x80,0x14] +#CHECK: iextr %f13, %f13, %f13 # encoding: [0xb3,0xfe,0xd0,0xdd] + + iextr %f0, %f0, %f0 + iextr %f0, %f0, %f13 + iextr %f0, %f13, %f0 + iextr %f13, %f0, %f0 + iextr %f1, %f8, %f4 + iextr %f13, %f13, %f13 + #CHECK: iihf %r0, 0 # encoding: [0xc0,0x08,0x00,0x00,0x00,0x00] #CHECK: iihf %r0, 4294967295 # encoding: [0xc0,0x08,0xff,0xff,0xff,0xff] #CHECK: iihf %r15, 0 # encoding: [0xc0,0xf8,0x00,0x00,0x00,0x00] @@ -7326,6 +7654,16 @@ kdbr %f7, %f8 kdbr %f15, %f0 +#CHECK: kdtr %f0, %f0 # encoding: [0xb3,0xe0,0x00,0x00] +#CHECK: kdtr %f0, %f15 # encoding: [0xb3,0xe0,0x00,0x0f] +#CHECK: kdtr %f7, %f8 # encoding: [0xb3,0xe0,0x00,0x78] +#CHECK: kdtr %f15, %f0 # encoding: [0xb3,0xe0,0x00,0xf0] + + kdtr %f0, %f0 + kdtr %f0, %f15 + kdtr %f7, %f8 + kdtr %f15, %f0 + #CHECK: keb %f0, 0 # encoding: [0xed,0x00,0x00,0x00,0x00,0x08] #CHECK: keb %f0, 4095 # encoding: [0xed,0x00,0x0f,0xff,0x00,0x08] #CHECK: keb %f0, 0(%r1) # encoding: [0xed,0x00,0x10,0x00,0x00,0x08] @@ -7412,6 +7750,16 @@ kxbr %f8, %f8 kxbr %f13, %f0 +#CHECK: kxtr %f0, %f0 # encoding: [0xb3,0xe8,0x00,0x00] +#CHECK: kxtr %f0, %f13 # encoding: [0xb3,0xe8,0x00,0x0d] +#CHECK: kxtr %f8, %f8 # encoding: [0xb3,0xe8,0x00,0x88] +#CHECK: kxtr %f13, %f0 # encoding: [0xb3,0xe8,0x00,0xd0] + + kxtr %f0, %f0 + kxtr %f0, %f13 + kxtr %f8, %f8 + kxtr %f13, %f0 + #CHECK: l %r0, 0 # encoding: [0x58,0x00,0x00,0x00] #CHECK: l %r0, 4095 # encoding: [0x58,0x00,0x0f,0xff] #CHECK: l %r0, 0(%r1) # encoding: [0x58,0x00,0x10,0x00] @@ -7775,6 +8123,16 @@ lder %f7, %f8 lder %f15, %f0 +#CHECK: ldetr %f0, %f0, 15 # encoding: [0xb3,0xd4,0x0f,0x00] +#CHECK: ldetr %f0, %f15, 0 # encoding: [0xb3,0xd4,0x00,0x0f] +#CHECK: ldetr %f7, %f8, 9 # encoding: [0xb3,0xd4,0x09,0x78] +#CHECK: ldetr %f15, %f0, 0 # encoding: [0xb3,0xd4,0x00,0xf0] + + ldetr %f0, %f0, 15 + ldetr %f0, %f15, 0 + ldetr %f7, %f8, 9 + ldetr %f15, %f0, 0 + #CHECK: ldgr %f0, %r0 # encoding: [0xb3,0xc1,0x00,0x00] #CHECK: ldgr %f0, %r15 # encoding: [0xb3,0xc1,0x00,0x0f] #CHECK: ldgr %f15, %r0 # encoding: [0xb3,0xc1,0x00,0xf0] @@ -7821,6 +8179,20 @@ ldxr %f15, %f0 ldxr %f15, %f13 +#CHECK: ldxtr %f0, 0, %f0, 0 # encoding: [0xb3,0xdd,0x00,0x00] +#CHECK: ldxtr %f0, 0, %f0, 15 # encoding: [0xb3,0xdd,0x0f,0x00] +#CHECK: ldxtr %f0, 0, %f13, 0 # encoding: [0xb3,0xdd,0x00,0x0d] +#CHECK: ldxtr %f0, 15, %f0, 0 # encoding: [0xb3,0xdd,0xf0,0x00] +#CHECK: ldxtr %f4, 5, %f8, 9 # encoding: [0xb3,0xdd,0x59,0x48] +#CHECK: ldxtr %f13, 0, %f0, 0 # encoding: [0xb3,0xdd,0x00,0xd0] + + ldxtr %f0, 0, %f0, 0 + ldxtr %f0, 0, %f0, 15 + ldxtr %f0, 0, %f13, 0 + ldxtr %f0, 15, %f0, 0 + ldxtr %f4, 5, %f8, 9 + ldxtr %f13, 0, %f0, 0 + #CHECK: ldy %f0, -524288 # encoding: [0xed,0x00,0x00,0x00,0x80,0x65] #CHECK: ldy %f0, -1 # encoding: [0xed,0x00,0x0f,0xff,0xff,0x65] #CHECK: ldy %f0, 0 # encoding: [0xed,0x00,0x00,0x00,0x00,0x65] @@ -7883,6 +8255,20 @@ ledr %f15, %f0 ledr %f15, %f15 +#CHECK: ledtr %f0, 0, %f0, 0 # encoding: [0xb3,0xd5,0x00,0x00] +#CHECK: ledtr %f0, 0, %f0, 15 # encoding: [0xb3,0xd5,0x0f,0x00] +#CHECK: ledtr %f0, 0, %f15, 0 # encoding: [0xb3,0xd5,0x00,0x0f] +#CHECK: ledtr %f0, 15, %f0, 0 # encoding: [0xb3,0xd5,0xf0,0x00] +#CHECK: ledtr %f4, 5, %f6, 7 # encoding: [0xb3,0xd5,0x57,0x46] +#CHECK: ledtr %f15, 0, %f0, 0 # encoding: [0xb3,0xd5,0x00,0xf0] + + ledtr %f0, 0, %f0, 0 + ledtr %f0, 0, %f0, 15 + ledtr %f0, 0, %f15, 0 + ledtr %f0, 15, %f0, 0 + ledtr %f4, 5, %f6, 7 + ledtr %f15, 0, %f0, 0 + #CHECK: ler %f0, %f9 # encoding: [0x38,0x09] #CHECK: ler %f0, %f15 # encoding: [0x38,0x0f] #CHECK: ler %f15, %f0 # encoding: [0x38,0xf0] @@ -9220,6 +9606,16 @@ ltdr %f15,%f0 ltdr %f15,%f9 +#CHECK: ltdtr %f0, %f9 # encoding: [0xb3,0xd6,0x00,0x09] +#CHECK: ltdtr %f0, %f15 # encoding: [0xb3,0xd6,0x00,0x0f] +#CHECK: ltdtr %f15, %f0 # encoding: [0xb3,0xd6,0x00,0xf0] +#CHECK: ltdtr %f15, %f9 # encoding: [0xb3,0xd6,0x00,0xf9] + + ltdtr %f0,%f9 + ltdtr %f0,%f15 + ltdtr %f15,%f0 + ltdtr %f15,%f9 + #CHECK: ltebr %f0, %f9 # encoding: [0xb3,0x02,0x00,0x09] #CHECK: ltebr %f0, %f15 # encoding: [0xb3,0x02,0x00,0x0f] #CHECK: ltebr %f15, %f0 # encoding: [0xb3,0x02,0x00,0xf0] @@ -9334,6 +9730,16 @@ ltxr %f13,%f0 ltxr %f13,%f9 +#CHECK: ltxtr %f0, %f9 # encoding: [0xb3,0xde,0x00,0x09] +#CHECK: ltxtr %f0, %f13 # encoding: [0xb3,0xde,0x00,0x0d] +#CHECK: ltxtr %f13, %f0 # encoding: [0xb3,0xde,0x00,0xd0] +#CHECK: ltxtr %f13, %f9 # encoding: [0xb3,0xde,0x00,0xd9] + + ltxtr %f0,%f9 + ltxtr %f0,%f13 + ltxtr %f13,%f0 + ltxtr %f13,%f9 + #CHECK: lxd %f0, 4095 # encoding: [0xed,0x00,0x0f,0xff,0x00,0x25] #CHECK: lxd %f0, 0(%r1) # encoding: [0xed,0x00,0x10,0x00,0x00,0x25] #CHECK: lxd %f0, 0(%r15) # encoding: [0xed,0x00,0xf0,0x00,0x00,0x25] @@ -9384,6 +9790,16 @@ lxdr %f13,%f0 lxdr %f13,%f15 +#CHECK: lxdtr %f0, %f0, 15 # encoding: [0xb3,0xdc,0x0f,0x00] +#CHECK: lxdtr %f0, %f15, 0 # encoding: [0xb3,0xdc,0x00,0x0f] +#CHECK: lxdtr %f5, %f8, 9 # encoding: [0xb3,0xdc,0x09,0x58] +#CHECK: lxdtr %f13, %f0, 0 # encoding: [0xb3,0xdc,0x00,0xd0] + + lxdtr %f0, %f0, 15 + lxdtr %f0, %f15, 0 + lxdtr %f5, %f8, 9 + lxdtr %f13, %f0, 0 + #CHECK: lxe %f0, 4095 # encoding: [0xed,0x00,0x0f,0xff,0x00,0x26] #CHECK: lxe %f0, 0(%r1) # encoding: [0xed,0x00,0x10,0x00,0x00,0x26] #CHECK: lxe %f0, 0(%r15) # encoding: [0xed,0x00,0xf0,0x00,0x00,0x26] @@ -9864,6 +10280,18 @@ mdr %f7, %f8 mdr %f15, %f0 +#CHECK: mdtr %f0, %f0, %f0 # encoding: [0xb3,0xd0,0x00,0x00] +#CHECK: mdtr %f0, %f0, %f15 # encoding: [0xb3,0xd0,0xf0,0x00] +#CHECK: mdtr %f0, %f15, %f0 # encoding: [0xb3,0xd0,0x00,0x0f] +#CHECK: mdtr %f15, %f0, %f0 # encoding: [0xb3,0xd0,0x00,0xf0] +#CHECK: mdtr %f7, %f8, %f9 # encoding: [0xb3,0xd0,0x90,0x78] + + mdtr %f0, %f0, %f0 + mdtr %f0, %f0, %f15 + mdtr %f0, %f15, %f0 + mdtr %f15, %f0, %f0 + mdtr %f7, %f8, %f9 + #CHECK: me %f0, 0 # encoding: [0x7c,0x00,0x00,0x00] #CHECK: me %f0, 4095 # encoding: [0x7c,0x00,0x0f,0xff] #CHECK: me %f0, 0(%r1) # encoding: [0x7c,0x00,0x10,0x00] @@ -10812,6 +11240,18 @@ mxr %f8, %f5 mxr %f13, %f13 +#CHECK: mxtr %f0, %f0, %f0 # encoding: [0xb3,0xd8,0x00,0x00] +#CHECK: mxtr %f0, %f0, %f13 # encoding: [0xb3,0xd8,0xd0,0x00] +#CHECK: mxtr %f0, %f13, %f0 # encoding: [0xb3,0xd8,0x00,0x0d] +#CHECK: mxtr %f13, %f0, %f0 # encoding: [0xb3,0xd8,0x00,0xd0] +#CHECK: mxtr %f8, %f8, %f8 # encoding: [0xb3,0xd8,0x80,0x88] + + mxtr %f0, %f0, %f0 + mxtr %f0, %f0, %f13 + mxtr %f0, %f13, %f0 + mxtr %f13, %f0, %f0 + mxtr %f8, %f8, %f8 + #CHECK: my %f0, %f0, 0 # encoding: [0xed,0x00,0x00,0x00,0x00,0x3b] #CHECK: my %f0, %f0, 4095 # encoding: [0xed,0x00,0x0f,0xff,0x00,0x3b] #CHECK: my %f0, %f0, 0(%r1) # encoding: [0xed,0x00,0x10,0x00,0x00,0x3b] @@ -11409,6 +11849,9 @@ pfdrl 7, frob@PLT pfdrl 8, frob@PLT +#CHECK: pfpo # encoding: [0x01,0x0a] + pfpo + #CHECK: pka 0, 0(1) # encoding: [0xe9,0x00,0x00,0x00,0x00,0x00] #CHECK: pka 0, 0(1,%r1) # encoding: [0xe9,0x00,0x00,0x00,0x10,0x00] #CHECK: pka 0, 0(1,%r15) # encoding: [0xe9,0x00,0x00,0x00,0xf0,0x00] @@ -11478,6 +11921,34 @@ #CHECK: pr # encoding: [0x01,0x01] pr +#CHECK: qadtr %f0, %f0, %f0, 0 # encoding: [0xb3,0xf5,0x00,0x00] +#CHECK: qadtr %f0, %f0, %f0, 15 # encoding: [0xb3,0xf5,0x0f,0x00] +#CHECK: qadtr %f0, %f0, %f15, 0 # encoding: [0xb3,0xf5,0x00,0x0f] +#CHECK: qadtr %f0, %f15, %f0, 0 # encoding: [0xb3,0xf5,0xf0,0x00] +#CHECK: qadtr %f4, %f5, %f6, 7 # encoding: [0xb3,0xf5,0x57,0x46] +#CHECK: qadtr %f15, %f0, %f0, 0 # encoding: [0xb3,0xf5,0x00,0xf0] + + qadtr %f0, %f0, %f0, 0 + qadtr %f0, %f0, %f0, 15 + qadtr %f0, %f0, %f15, 0 + qadtr %f0, %f15, %f0, 0 + qadtr %f4, %f5, %f6, 7 + qadtr %f15, %f0, %f0, 0 + +#CHECK: qaxtr %f0, %f0, %f0, 0 # encoding: [0xb3,0xfd,0x00,0x00] +#CHECK: qaxtr %f0, %f0, %f0, 15 # encoding: [0xb3,0xfd,0x0f,0x00] +#CHECK: qaxtr %f0, %f0, %f13, 0 # encoding: [0xb3,0xfd,0x00,0x0d] +#CHECK: qaxtr %f0, %f13, %f0, 0 # encoding: [0xb3,0xfd,0xd0,0x00] +#CHECK: qaxtr %f8, %f8, %f8, 8 # encoding: [0xb3,0xfd,0x88,0x88] +#CHECK: qaxtr %f13, %f0, %f0, 0 # encoding: [0xb3,0xfd,0x00,0xd0] + + qaxtr %f0, %f0, %f0, 0 + qaxtr %f0, %f0, %f0, 15 + qaxtr %f0, %f0, %f13, 0 + qaxtr %f0, %f13, %f0, 0 + qaxtr %f8, %f8, %f8, 8 + qaxtr %f13, %f0, %f0, 0 + #CHECK: risbg %r0, %r0, 0, 0, 0 # encoding: [0xec,0x00,0x00,0x00,0x00,0x55] #CHECK: risbg %r0, %r0, 0, 0, 63 # encoding: [0xec,0x00,0x00,0x00,0x3f,0x55] #CHECK: risbg %r0, %r0, 0, 255, 0 # encoding: [0xec,0x00,0x00,0xff,0x00,0x55] @@ -11578,6 +12049,34 @@ rosbg %r15,%r0,0,0,0 rosbg %r4,%r5,6,7,8 +#CHECK: rrdtr %f0, %f0, %f0, 0 # encoding: [0xb3,0xf7,0x00,0x00] +#CHECK: rrdtr %f0, %f0, %f0, 15 # encoding: [0xb3,0xf7,0x0f,0x00] +#CHECK: rrdtr %f0, %f0, %f15, 0 # encoding: [0xb3,0xf7,0x00,0x0f] +#CHECK: rrdtr %f0, %f15, %f0, 0 # encoding: [0xb3,0xf7,0xf0,0x00] +#CHECK: rrdtr %f4, %f5, %f6, 7 # encoding: [0xb3,0xf7,0x57,0x46] +#CHECK: rrdtr %f15, %f0, %f0, 0 # encoding: [0xb3,0xf7,0x00,0xf0] + + rrdtr %f0, %f0, %f0, 0 + rrdtr %f0, %f0, %f0, 15 + rrdtr %f0, %f0, %f15, 0 + rrdtr %f0, %f15, %f0, 0 + rrdtr %f4, %f5, %f6, 7 + rrdtr %f15, %f0, %f0, 0 + +#CHECK: rrxtr %f0, %f0, %f0, 0 # encoding: [0xb3,0xff,0x00,0x00] +#CHECK: rrxtr %f0, %f0, %f0, 15 # encoding: [0xb3,0xff,0x0f,0x00] +#CHECK: rrxtr %f0, %f0, %f13, 0 # encoding: [0xb3,0xff,0x00,0x0d] +#CHECK: rrxtr %f0, %f13, %f0, 0 # encoding: [0xb3,0xff,0xd0,0x00] +#CHECK: rrxtr %f8, %f8, %f8, 8 # encoding: [0xb3,0xff,0x88,0x88] +#CHECK: rrxtr %f13, %f0, %f0, 0 # encoding: [0xb3,0xff,0x00,0xd0] + + rrxtr %f0, %f0, %f0, 0 + rrxtr %f0, %f0, %f0, 15 + rrxtr %f0, %f0, %f13, 0 + rrxtr %f0, %f13, %f0, 0 + rrxtr %f8, %f8, %f8, 8 + rrxtr %f13, %f0, %f0, 0 + #CHECK: rxsbg %r0, %r0, 0, 0, 0 # encoding: [0xec,0x00,0x00,0x00,0x00,0x57] #CHECK: rxsbg %r0, %r0, 0, 0, 63 # encoding: [0xec,0x00,0x00,0x00,0x3f,0x57] #CHECK: rxsbg %r0, %r0, 0, 255, 0 # encoding: [0xec,0x00,0x00,0xff,0x00,0x57] @@ -11682,6 +12181,18 @@ sdr %f7, %f8 sdr %f15, %f0 +#CHECK: sdtr %f0, %f0, %f0 # encoding: [0xb3,0xd3,0x00,0x00] +#CHECK: sdtr %f0, %f0, %f15 # encoding: [0xb3,0xd3,0xf0,0x00] +#CHECK: sdtr %f0, %f15, %f0 # encoding: [0xb3,0xd3,0x00,0x0f] +#CHECK: sdtr %f15, %f0, %f0 # encoding: [0xb3,0xd3,0x00,0xf0] +#CHECK: sdtr %f7, %f8, %f9 # encoding: [0xb3,0xd3,0x90,0x78] + + sdtr %f0, %f0, %f0 + sdtr %f0, %f0, %f15 + sdtr %f0, %f15, %f0 + sdtr %f15, %f0, %f0 + sdtr %f7, %f8, %f9 + #CHECK: se %f0, 0 # encoding: [0x7b,0x00,0x00,0x00] #CHECK: se %f0, 4095 # encoding: [0x7b,0x00,0x0f,0xff] #CHECK: se %f0, 0(%r1) # encoding: [0x7b,0x00,0x10,0x00] @@ -12012,6 +12523,26 @@ sldl %r0,4095(%r1) sldl %r0,4095(%r15) +#CHECK: sldt %f0, %f0, 0 # encoding: [0xed,0x00,0x00,0x00,0x00,0x40] +#CHECK: sldt %f0, %f0, 4095 # encoding: [0xed,0x00,0x0f,0xff,0x00,0x40] +#CHECK: sldt %f0, %f0, 0(%r1) # encoding: [0xed,0x00,0x10,0x00,0x00,0x40] +#CHECK: sldt %f0, %f0, 0(%r15) # encoding: [0xed,0x00,0xf0,0x00,0x00,0x40] +#CHECK: sldt %f0, %f0, 4095(%r1,%r15) # encoding: [0xed,0x01,0xff,0xff,0x00,0x40] +#CHECK: sldt %f0, %f0, 4095(%r15,%r1) # encoding: [0xed,0x0f,0x1f,0xff,0x00,0x40] +#CHECK: sldt %f0, %f15, 0 # encoding: [0xed,0xf0,0x00,0x00,0x00,0x40] +#CHECK: sldt %f15, %f0, 0 # encoding: [0xed,0x00,0x00,0x00,0xf0,0x40] +#CHECK: sldt %f15, %f15, 0 # encoding: [0xed,0xf0,0x00,0x00,0xf0,0x40] + + sldt %f0, %f0, 0 + sldt %f0, %f0, 4095 + sldt %f0, %f0, 0(%r1) + sldt %f0, %f0, 0(%r15) + sldt %f0, %f0, 4095(%r1,%r15) + sldt %f0, %f0, 4095(%r15,%r1) + sldt %f0, %f15, 0 + sldt %f15, %f0, 0 + sldt %f15, %f15, 0 + #CHECK: slfi %r0, 0 # encoding: [0xc2,0x05,0x00,0x00,0x00,0x00] #CHECK: slfi %r0, 4294967295 # encoding: [0xc2,0x05,0xff,0xff,0xff,0xff] #CHECK: slfi %r15, 0 # encoding: [0xc2,0xf5,0x00,0x00,0x00,0x00] @@ -12146,6 +12677,26 @@ slr %r15,%r0 slr %r7,%r8 +#CHECK: slxt %f0, %f0, 0 # encoding: [0xed,0x00,0x00,0x00,0x00,0x48] +#CHECK: slxt %f0, %f0, 4095 # encoding: [0xed,0x00,0x0f,0xff,0x00,0x48] +#CHECK: slxt %f0, %f0, 0(%r1) # encoding: [0xed,0x00,0x10,0x00,0x00,0x48] +#CHECK: slxt %f0, %f0, 0(%r15) # encoding: [0xed,0x00,0xf0,0x00,0x00,0x48] +#CHECK: slxt %f0, %f0, 4095(%r1,%r15) # encoding: [0xed,0x01,0xff,0xff,0x00,0x48] +#CHECK: slxt %f0, %f0, 4095(%r15,%r1) # encoding: [0xed,0x0f,0x1f,0xff,0x00,0x48] +#CHECK: slxt %f0, %f13, 0 # encoding: [0xed,0xd0,0x00,0x00,0x00,0x48] +#CHECK: slxt %f13, %f0, 0 # encoding: [0xed,0x00,0x00,0x00,0xd0,0x48] +#CHECK: slxt %f13, %f13, 0 # encoding: [0xed,0xd0,0x00,0x00,0xd0,0x48] + + slxt %f0, %f0, 0 + slxt %f0, %f0, 4095 + slxt %f0, %f0, 0(%r1) + slxt %f0, %f0, 0(%r15) + slxt %f0, %f0, 4095(%r1,%r15) + slxt %f0, %f0, 4095(%r15,%r1) + slxt %f0, %f13, 0 + slxt %f13, %f0, 0 + slxt %f13, %f13, 0 + #CHECK: sly %r0, -524288 # encoding: [0xe3,0x00,0x00,0x00,0x80,0x5f] #CHECK: sly %r0, -1 # encoding: [0xe3,0x00,0x0f,0xff,0xff,0x5f] #CHECK: sly %r0, 0 # encoding: [0xe3,0x00,0x00,0x00,0x00,0x5f] @@ -12420,6 +12971,26 @@ srdl %r0,4095(%r1) srdl %r0,4095(%r15) +#CHECK: srdt %f0, %f0, 0 # encoding: [0xed,0x00,0x00,0x00,0x00,0x41] +#CHECK: srdt %f0, %f0, 4095 # encoding: [0xed,0x00,0x0f,0xff,0x00,0x41] +#CHECK: srdt %f0, %f0, 0(%r1) # encoding: [0xed,0x00,0x10,0x00,0x00,0x41] +#CHECK: srdt %f0, %f0, 0(%r15) # encoding: [0xed,0x00,0xf0,0x00,0x00,0x41] +#CHECK: srdt %f0, %f0, 4095(%r1,%r15) # encoding: [0xed,0x01,0xff,0xff,0x00,0x41] +#CHECK: srdt %f0, %f0, 4095(%r15,%r1) # encoding: [0xed,0x0f,0x1f,0xff,0x00,0x41] +#CHECK: srdt %f0, %f15, 0 # encoding: [0xed,0xf0,0x00,0x00,0x00,0x41] +#CHECK: srdt %f15, %f0, 0 # encoding: [0xed,0x00,0x00,0x00,0xf0,0x41] +#CHECK: srdt %f15, %f15, 0 # encoding: [0xed,0xf0,0x00,0x00,0xf0,0x41] + + srdt %f0, %f0, 0 + srdt %f0, %f0, 4095 + srdt %f0, %f0, 0(%r1) + srdt %f0, %f0, 0(%r15) + srdt %f0, %f0, 4095(%r1,%r15) + srdt %f0, %f0, 4095(%r15,%r1) + srdt %f0, %f15, 0 + srdt %f15, %f0, 0 + srdt %f15, %f15, 0 + #CHECK: srl %r0, 0 # encoding: [0x88,0x00,0x00,0x00] #CHECK: srl %r7, 0 # encoding: [0x88,0x70,0x00,0x00] #CHECK: srl %r15, 0 # encoding: [0x88,0xf0,0x00,0x00] @@ -12540,6 +13111,26 @@ srstu %r15,%r0 srstu %r7,%r8 +#CHECK: srxt %f0, %f0, 0 # encoding: [0xed,0x00,0x00,0x00,0x00,0x49] +#CHECK: srxt %f0, %f0, 4095 # encoding: [0xed,0x00,0x0f,0xff,0x00,0x49] +#CHECK: srxt %f0, %f0, 0(%r1) # encoding: [0xed,0x00,0x10,0x00,0x00,0x49] +#CHECK: srxt %f0, %f0, 0(%r15) # encoding: [0xed,0x00,0xf0,0x00,0x00,0x49] +#CHECK: srxt %f0, %f0, 4095(%r1,%r15) # encoding: [0xed,0x01,0xff,0xff,0x00,0x49] +#CHECK: srxt %f0, %f0, 4095(%r15,%r1) # encoding: [0xed,0x0f,0x1f,0xff,0x00,0x49] +#CHECK: srxt %f0, %f13, 0 # encoding: [0xed,0xd0,0x00,0x00,0x00,0x49] +#CHECK: srxt %f13, %f0, 0 # encoding: [0xed,0x00,0x00,0x00,0xd0,0x49] +#CHECK: srxt %f13, %f13, 0 # encoding: [0xed,0xd0,0x00,0x00,0xd0,0x49] + + srxt %f0, %f0, 0 + srxt %f0, %f0, 4095 + srxt %f0, %f0, 0(%r1) + srxt %f0, %f0, 0(%r15) + srxt %f0, %f0, 4095(%r1,%r15) + srxt %f0, %f0, 4095(%r15,%r1) + srxt %f0, %f13, 0 + srxt %f13, %f0, 0 + srxt %f13, %f13, 0 + #CHECK: st %r0, 0 # encoding: [0x50,0x00,0x00,0x00] #CHECK: st %r0, 4095 # encoding: [0x50,0x00,0x0f,0xff] #CHECK: st %r0, 0(%r1) # encoding: [0x50,0x00,0x10,0x00] @@ -13341,6 +13932,18 @@ sxr %f8, %f8 sxr %f13, %f0 +#CHECK: sxtr %f0, %f0, %f0 # encoding: [0xb3,0xdb,0x00,0x00] +#CHECK: sxtr %f0, %f0, %f13 # encoding: [0xb3,0xdb,0xd0,0x00] +#CHECK: sxtr %f0, %f13, %f0 # encoding: [0xb3,0xdb,0x00,0x0d] +#CHECK: sxtr %f13, %f0, %f0 # encoding: [0xb3,0xdb,0x00,0xd0] +#CHECK: sxtr %f8, %f8, %f8 # encoding: [0xb3,0xdb,0x80,0x88] + + sxtr %f0, %f0, %f0 + sxtr %f0, %f0, %f13 + sxtr %f0, %f13, %f0 + sxtr %f13, %f0, %f0 + sxtr %f8, %f8, %f8 + #CHECK: sy %r0, -524288 # encoding: [0xe3,0x00,0x00,0x00,0x80,0x5b] #CHECK: sy %r0, -1 # encoding: [0xe3,0x00,0x0f,0xff,0xff,0x5b] #CHECK: sy %r0, 0 # encoding: [0xe3,0x00,0x00,0x00,0x00,0x5b] @@ -13439,6 +14042,102 @@ tcxb %f0, 4095(%r15,%r1) tcxb %f13, 0 +#CHECK: tdcdt %f0, 0 # encoding: [0xed,0x00,0x00,0x00,0x00,0x54] +#CHECK: tdcdt %f0, 4095 # encoding: [0xed,0x00,0x0f,0xff,0x00,0x54] +#CHECK: tdcdt %f0, 0(%r1) # encoding: [0xed,0x00,0x10,0x00,0x00,0x54] +#CHECK: tdcdt %f0, 0(%r15) # encoding: [0xed,0x00,0xf0,0x00,0x00,0x54] +#CHECK: tdcdt %f0, 4095(%r1,%r15) # encoding: [0xed,0x01,0xff,0xff,0x00,0x54] +#CHECK: tdcdt %f0, 4095(%r15,%r1) # encoding: [0xed,0x0f,0x1f,0xff,0x00,0x54] +#CHECK: tdcdt %f15, 0 # encoding: [0xed,0xf0,0x00,0x00,0x00,0x54] + + tdcdt %f0, 0 + tdcdt %f0, 4095 + tdcdt %f0, 0(%r1) + tdcdt %f0, 0(%r15) + tdcdt %f0, 4095(%r1,%r15) + tdcdt %f0, 4095(%r15,%r1) + tdcdt %f15, 0 + +#CHECK: tdcet %f0, 0 # encoding: [0xed,0x00,0x00,0x00,0x00,0x50] +#CHECK: tdcet %f0, 4095 # encoding: [0xed,0x00,0x0f,0xff,0x00,0x50] +#CHECK: tdcet %f0, 0(%r1) # encoding: [0xed,0x00,0x10,0x00,0x00,0x50] +#CHECK: tdcet %f0, 0(%r15) # encoding: [0xed,0x00,0xf0,0x00,0x00,0x50] +#CHECK: tdcet %f0, 4095(%r1,%r15) # encoding: [0xed,0x01,0xff,0xff,0x00,0x50] +#CHECK: tdcet %f0, 4095(%r15,%r1) # encoding: [0xed,0x0f,0x1f,0xff,0x00,0x50] +#CHECK: tdcet %f15, 0 # encoding: [0xed,0xf0,0x00,0x00,0x00,0x50] + + tdcet %f0, 0 + tdcet %f0, 4095 + tdcet %f0, 0(%r1) + tdcet %f0, 0(%r15) + tdcet %f0, 4095(%r1,%r15) + tdcet %f0, 4095(%r15,%r1) + tdcet %f15, 0 + +#CHECK: tdcxt %f0, 0 # encoding: [0xed,0x00,0x00,0x00,0x00,0x58] +#CHECK: tdcxt %f0, 4095 # encoding: [0xed,0x00,0x0f,0xff,0x00,0x58] +#CHECK: tdcxt %f0, 0(%r1) # encoding: [0xed,0x00,0x10,0x00,0x00,0x58] +#CHECK: tdcxt %f0, 0(%r15) # encoding: [0xed,0x00,0xf0,0x00,0x00,0x58] +#CHECK: tdcxt %f0, 4095(%r1,%r15) # encoding: [0xed,0x01,0xff,0xff,0x00,0x58] +#CHECK: tdcxt %f0, 4095(%r15,%r1) # encoding: [0xed,0x0f,0x1f,0xff,0x00,0x58] +#CHECK: tdcxt %f13, 0 # encoding: [0xed,0xd0,0x00,0x00,0x00,0x58] + + tdcxt %f0, 0 + tdcxt %f0, 4095 + tdcxt %f0, 0(%r1) + tdcxt %f0, 0(%r15) + tdcxt %f0, 4095(%r1,%r15) + tdcxt %f0, 4095(%r15,%r1) + tdcxt %f13, 0 + +#CHECK: tdgdt %f0, 0 # encoding: [0xed,0x00,0x00,0x00,0x00,0x55] +#CHECK: tdgdt %f0, 4095 # encoding: [0xed,0x00,0x0f,0xff,0x00,0x55] +#CHECK: tdgdt %f0, 0(%r1) # encoding: [0xed,0x00,0x10,0x00,0x00,0x55] +#CHECK: tdgdt %f0, 0(%r15) # encoding: [0xed,0x00,0xf0,0x00,0x00,0x55] +#CHECK: tdgdt %f0, 4095(%r1,%r15) # encoding: [0xed,0x01,0xff,0xff,0x00,0x55] +#CHECK: tdgdt %f0, 4095(%r15,%r1) # encoding: [0xed,0x0f,0x1f,0xff,0x00,0x55] +#CHECK: tdgdt %f15, 0 # encoding: [0xed,0xf0,0x00,0x00,0x00,0x55] + + tdgdt %f0, 0 + tdgdt %f0, 4095 + tdgdt %f0, 0(%r1) + tdgdt %f0, 0(%r15) + tdgdt %f0, 4095(%r1,%r15) + tdgdt %f0, 4095(%r15,%r1) + tdgdt %f15, 0 + +#CHECK: tdget %f0, 0 # encoding: [0xed,0x00,0x00,0x00,0x00,0x51] +#CHECK: tdget %f0, 4095 # encoding: [0xed,0x00,0x0f,0xff,0x00,0x51] +#CHECK: tdget %f0, 0(%r1) # encoding: [0xed,0x00,0x10,0x00,0x00,0x51] +#CHECK: tdget %f0, 0(%r15) # encoding: [0xed,0x00,0xf0,0x00,0x00,0x51] +#CHECK: tdget %f0, 4095(%r1,%r15) # encoding: [0xed,0x01,0xff,0xff,0x00,0x51] +#CHECK: tdget %f0, 4095(%r15,%r1) # encoding: [0xed,0x0f,0x1f,0xff,0x00,0x51] +#CHECK: tdget %f15, 0 # encoding: [0xed,0xf0,0x00,0x00,0x00,0x51] + + tdget %f0, 0 + tdget %f0, 4095 + tdget %f0, 0(%r1) + tdget %f0, 0(%r15) + tdget %f0, 4095(%r1,%r15) + tdget %f0, 4095(%r15,%r1) + tdget %f15, 0 + +#CHECK: tdgxt %f0, 0 # encoding: [0xed,0x00,0x00,0x00,0x00,0x59] +#CHECK: tdgxt %f0, 4095 # encoding: [0xed,0x00,0x0f,0xff,0x00,0x59] +#CHECK: tdgxt %f0, 0(%r1) # encoding: [0xed,0x00,0x10,0x00,0x00,0x59] +#CHECK: tdgxt %f0, 0(%r15) # encoding: [0xed,0x00,0xf0,0x00,0x00,0x59] +#CHECK: tdgxt %f0, 4095(%r1,%r15) # encoding: [0xed,0x01,0xff,0xff,0x00,0x59] +#CHECK: tdgxt %f0, 4095(%r15,%r1) # encoding: [0xed,0x0f,0x1f,0xff,0x00,0x59] +#CHECK: tdgxt %f13, 0 # encoding: [0xed,0xd0,0x00,0x00,0x00,0x59] + + tdgxt %f0, 0 + tdgxt %f0, 4095 + tdgxt %f0, 0(%r1) + tdgxt %f0, 0(%r15) + tdgxt %f0, 4095(%r1,%r15) + tdgxt %f0, 4095(%r15,%r1) + tdgxt %f13, 0 + #CHECK: thder %f0, %f9 # encoding: [0xb3,0x58,0x00,0x09] #CHECK: thder %f0, %f15 # encoding: [0xb3,0x58,0x00,0x0f] #CHECK: thder %f15, %f0 # encoding: [0xb3,0x58,0x00,0xf0] |