summaryrefslogtreecommitdiffstats
path: root/llvm/test/MC/SystemZ
diff options
context:
space:
mode:
authorUlrich Weigand <ulrich.weigand@de.ibm.com>2017-05-30 10:15:16 +0000
committerUlrich Weigand <ulrich.weigand@de.ibm.com>2017-05-30 10:15:16 +0000
commit3f484e68cc6bf62ccff44c2cdb1a70aaf015d088 (patch)
treec92128358732b94b1fda61ed46647e9486f2869c /llvm/test/MC/SystemZ
parentf32adf6944dba793af335a1269f8a4173cd437c3 (diff)
downloadbcm5719-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.s146
-rw-r--r--llvm/test/MC/SystemZ/insn-bad-z196.s368
-rw-r--r--llvm/test/MC/SystemZ/insn-bad-zEC12.s166
-rw-r--r--llvm/test/MC/SystemZ/insn-bad.s528
-rw-r--r--llvm/test/MC/SystemZ/insn-good-z13.s80
-rw-r--r--llvm/test/MC/SystemZ/insn-good-z196.s336
-rw-r--r--llvm/test/MC/SystemZ/insn-good-zEC12.s80
-rw-r--r--llvm/test/MC/SystemZ/insn-good.s699
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]
OpenPOWER on IntegriCloud