summaryrefslogtreecommitdiffstats
path: root/llvm/test/MC/SystemZ
diff options
context:
space:
mode:
authorUlrich Weigand <ulrich.weigand@de.ibm.com>2017-05-10 14:18:47 +0000
committerUlrich Weigand <ulrich.weigand@de.ibm.com>2017-05-10 14:18:47 +0000
commitd3604dc72c7c5f2fd90a43588f794dd62c25e761 (patch)
tree2ef63852583978f465ec0784cb8215758c2f6108 /llvm/test/MC/SystemZ
parentc0d76649d4c7b18527a6626d83e8400bbc5fe818 (diff)
downloadbcm5719-llvm-d3604dc72c7c5f2fd90a43588f794dd62c25e761.tar.gz
bcm5719-llvm-d3604dc72c7c5f2fd90a43588f794dd62c25e761.zip
[SystemZ] Add missing arithmetic instructions
This adds the remaining general arithmetic instructions for assembler / disassembler use. Most of these are not useful for codegen; a few might be, and those are listed in the README.txt for future improvements. llvm-svn: 302665
Diffstat (limited to 'llvm/test/MC/SystemZ')
-rw-r--r--llvm/test/MC/SystemZ/insn-bad.s316
-rw-r--r--llvm/test/MC/SystemZ/insn-good.s490
2 files changed, 806 insertions, 0 deletions
diff --git a/llvm/test/MC/SystemZ/insn-bad.s b/llvm/test/MC/SystemZ/insn-bad.s
index 6616f278318..7d9f764e888 100644
--- a/llvm/test/MC/SystemZ/insn-bad.s
+++ b/llvm/test/MC/SystemZ/insn-bad.s
@@ -212,6 +212,40 @@
alrk %r2,%r3,%r4
#CHECK: error: invalid operand
+#CHECK: algsi -524289, 0
+#CHECK: error: invalid operand
+#CHECK: algsi 524288, 0
+#CHECK: error: invalid use of indexed addressing
+#CHECK: algsi 0(%r1,%r2), 0
+#CHECK: error: invalid operand
+#CHECK: algsi 0, -129
+#CHECK: error: invalid operand
+#CHECK: algsi 0, 128
+
+ algsi -524289, 0
+ algsi 524288, 0
+ algsi 0(%r1,%r2), 0
+ algsi 0, -129
+ algsi 0, 128
+
+#CHECK: error: invalid operand
+#CHECK: alsi -524289, 0
+#CHECK: error: invalid operand
+#CHECK: alsi 524288, 0
+#CHECK: error: invalid use of indexed addressing
+#CHECK: alsi 0(%r1,%r2), 0
+#CHECK: error: invalid operand
+#CHECK: alsi 0, -129
+#CHECK: error: invalid operand
+#CHECK: alsi 0, 128
+
+ alsi -524289, 0
+ alsi 524288, 0
+ alsi 0(%r1,%r2), 0
+ alsi 0, -129
+ alsi 0, 128
+
+#CHECK: error: invalid operand
#CHECK: aly %r0, -524289
#CHECK: error: invalid operand
#CHECK: aly %r0, 524288
@@ -1493,6 +1527,48 @@
cliy 0, -1
cliy 0, 256
+#CHECK: error: invalid operand
+#CHECK: clm %r0, 0, -1
+#CHECK: error: invalid operand
+#CHECK: clm %r0, 0, 4096
+#CHECK: error: invalid operand
+#CHECK: clm %r0, -1, 0
+#CHECK: error: invalid operand
+#CHECK: clm %r0, 16, 0
+
+ clm %r0, 0, -1
+ clm %r0, 0, 4096
+ clm %r0, -1, 0
+ clm %r0, 16, 0
+
+#CHECK: error: invalid operand
+#CHECK: clmh %r0, 0, -524289
+#CHECK: error: invalid operand
+#CHECK: clmh %r0, 0, 524288
+#CHECK: error: invalid operand
+#CHECK: clmh %r0, -1, 0
+#CHECK: error: invalid operand
+#CHECK: clmh %r0, 16, 0
+
+ clmh %r0, 0, -524289
+ clmh %r0, 0, 524288
+ clmh %r0, -1, 0
+ clmh %r0, 16, 0
+
+#CHECK: error: invalid operand
+#CHECK: clmy %r0, 0, -524289
+#CHECK: error: invalid operand
+#CHECK: clmy %r0, 0, 524288
+#CHECK: error: invalid operand
+#CHECK: clmy %r0, -1, 0
+#CHECK: error: invalid operand
+#CHECK: clmy %r0, 16, 0
+
+ clmy %r0, 0, -524289
+ clmy %r0, 0, 524288
+ clmy %r0, -1, 0
+ clmy %r0, 16, 0
+
#CHECK: error: offset out of range
#CHECK: clrj %r0, %r0, 0, -0x100002
#CHECK: error: offset out of range
@@ -1895,6 +1971,17 @@
cy %r0, 524288
#CHECK: error: invalid operand
+#CHECK: d %r0, -1
+#CHECK: error: invalid operand
+#CHECK: d %r0, 4096
+#CHECK: error: invalid register pair
+#CHECK: d %r1, 0
+
+ d %r0, -1
+ d %r0, 4096
+ d %r1, 0
+
+#CHECK: error: invalid operand
#CHECK: ddb %f0, -1
#CHECK: error: invalid operand
#CHECK: ddb %f0, 4096
@@ -1911,6 +1998,22 @@
deb %f0, 4096
#CHECK: error: invalid operand
+#CHECK: didbr %f0, %f0, %f0, -1
+#CHECK: error: invalid operand
+#CHECK: didbr %f0, %f0, %f0, 16
+
+ didbr %f0, %f0, %f0, -1
+ didbr %f0, %f0, %f0, 16
+
+#CHECK: error: invalid operand
+#CHECK: diebr %f0, %f0, %f0, -1
+#CHECK: error: invalid operand
+#CHECK: diebr %f0, %f0, %f0, 16
+
+ diebr %f0, %f0, %f0, -1
+ diebr %f0, %f0, %f0, 16
+
+#CHECK: error: invalid operand
#CHECK: dl %r0, -524289
#CHECK: error: invalid operand
#CHECK: dl %r0, 524288
@@ -1921,6 +2024,11 @@
dl %r0, 524288
dl %r1, 0
+#CHECK: error: invalid register pair
+#CHECK: dr %r1, %r0
+
+ dr %r1, %r0
+
#CHECK: error: invalid operand
#CHECK: dlg %r0, -524289
#CHECK: error: invalid operand
@@ -2304,6 +2412,22 @@
iill %r0, -1
iill %r0, 0x10000
+#CHECK: error: invalid operand
+#CHECK: kdb %f0, -1
+#CHECK: error: invalid operand
+#CHECK: kdb %f0, 4096
+
+ kdb %f0, -1
+ kdb %f0, 4096
+
+#CHECK: error: invalid operand
+#CHECK: keb %f0, -1
+#CHECK: error: invalid operand
+#CHECK: keb %f0, 4096
+
+ keb %f0, -1
+ keb %f0, 4096
+
#CHECK: error: invalid register pair
#CHECK: kimd %r0, %r1
@@ -2350,6 +2474,14 @@
kmo %r2, %r4
+#CHECK: error: invalid register pair
+#CHECK: kxbr %f0, %f2
+#CHECK: error: invalid register pair
+#CHECK: kxbr %f2, %f0
+
+ kxbr %f0, %f2
+ kxbr %f2, %f0
+
#CHECK: error: invalid operand
#CHECK: l %r0, -1
#CHECK: error: invalid operand
@@ -2877,6 +3009,23 @@
lm %r0, %r0, 4096
lm %r0, %r0, 0(%r1,%r2)
+#CHECK: error: invalid use of indexed addressing
+#CHECK: lmd %r2, %r4, 160(%r1,%r15), 160(%r15)
+#CHECK: error: invalid operand
+#CHECK: lmd %r2, %r4, -1(%r1), 160(%r15)
+#CHECK: error: invalid operand
+#CHECK: lmd %r2, %r4, 4096(%r1), 160(%r15)
+#CHECK: error: invalid operand
+#CHECK: lmd %r2, %r4, 0(%r1), -1(%r15)
+#CHECK: error: invalid operand
+#CHECK: lmd %r2, %r4, 0(%r1), 4096(%r15)
+
+ lmd %r2, %r4, 160(%r1,%r15), 160(%r15)
+ lmd %r2, %r4, -1(%r1), 160(%r15)
+ lmd %r2, %r4, 4096(%r1), 160(%r15)
+ lmd %r2, %r4, 0(%r1), -1(%r15)
+ lmd %r2, %r4, 0(%r1), 4096(%r15)
+
#CHECK: error: invalid operand
#CHECK: lmg %r0, %r0, -524289
#CHECK: error: invalid operand
@@ -3029,6 +3178,17 @@
lzxr %f2
#CHECK: error: invalid operand
+#CHECK: m %r0, -1
+#CHECK: error: invalid operand
+#CHECK: m %r0, 4096
+#CHECK: error: invalid register pair
+#CHECK: m %r1, 0
+
+ m %r0, -1
+ m %r0, 4096
+ m %r1, 0
+
+#CHECK: error: invalid operand
#CHECK: madb %f0, %f0, -1
#CHECK: error: invalid operand
#CHECK: madb %f0, %f0, 4096
@@ -3069,6 +3229,17 @@
meeb %f0, 4096
#CHECK: error: invalid operand
+#CHECK: mfy %r0, -524289
+#CHECK: error: invalid operand
+#CHECK: mfy %r0, 524288
+#CHECK: error: invalid register pair
+#CHECK: mfy %r1, 0
+
+ mfy %r0, -524289
+ mfy %r0, 524288
+ mfy %r1, 0
+
+#CHECK: error: invalid operand
#CHECK: mghi %r0, -32769
#CHECK: error: invalid operand
#CHECK: mghi %r0, 32768
@@ -3107,6 +3278,17 @@
mhy %r0, 524288
#CHECK: error: invalid operand
+#CHECK: ml %r0, -524289
+#CHECK: error: invalid operand
+#CHECK: ml %r0, 524288
+#CHECK: error: invalid register pair
+#CHECK: ml %r1, 0
+
+ ml %r0, -524289
+ ml %r0, 524288
+ ml %r1, 0
+
+#CHECK: error: invalid operand
#CHECK: mlg %r0, -524289
#CHECK: error: invalid operand
#CHECK: mlg %r0, 524288
@@ -3122,6 +3304,11 @@
mlgr %r1, %r0
+#CHECK: error: invalid register pair
+#CHECK: mlr %r1, %r0
+
+ mlr %r1, %r0
+
#CHECK: error: missing length in address
#CHECK: mp 0, 0(1)
#CHECK: error: missing length in address
@@ -3175,6 +3362,11 @@
mp 0(1,%r2), 0(%r1,%r2)
mp 0(-), 0(1)
+#CHECK: error: invalid register pair
+#CHECK: mr %r1, %r0
+
+ mr %r1, %r0
+
#CHECK: error: invalid operand
#CHECK: ms %r0, -1
#CHECK: error: invalid operand
@@ -4369,6 +4561,20 @@
sla %r0,0(%r0)
sla %r0,0(%r1,%r2)
+#CHECK: error: invalid operand
+#CHECK: slag %r0,%r0,-524289
+#CHECK: error: invalid operand
+#CHECK: slag %r0,%r0,524288
+#CHECK: error: %r0 used in an address
+#CHECK: slag %r0,%r0,0(%r0)
+#CHECK: error: invalid use of indexed addressing
+#CHECK: slag %r0,%r0,0(%r1,%r2)
+
+ slag %r0,%r0,-524289
+ slag %r0,%r0,524288
+ slag %r0,%r0,0(%r0)
+ slag %r0,%r0,0(%r1,%r2)
+
#CHECK: error: instruction requires: distinct-ops
#CHECK: slak %r2,%r3,4(%r5)
@@ -4390,6 +4596,40 @@
slbg %r0, -524289
slbg %r0, 524288
+#CHECK: error: invalid register pair
+#CHECK: slda %r1,0
+#CHECK: error: invalid operand
+#CHECK: slda %r0,-1
+#CHECK: error: invalid operand
+#CHECK: slda %r0,4096
+#CHECK: error: %r0 used in an address
+#CHECK: slda %r0,0(%r0)
+#CHECK: error: invalid use of indexed addressing
+#CHECK: slda %r0,0(%r1,%r2)
+
+ slda %r1,0
+ slda %r0,-1
+ slda %r0,4096
+ slda %r0,0(%r0)
+ slda %r0,0(%r1,%r2)
+
+#CHECK: error: invalid register pair
+#CHECK: sldl %r1,0
+#CHECK: error: invalid operand
+#CHECK: sldl %r0,-1
+#CHECK: error: invalid operand
+#CHECK: sldl %r0,4096
+#CHECK: error: %r0 used in an address
+#CHECK: sldl %r0,0(%r0)
+#CHECK: error: invalid use of indexed addressing
+#CHECK: sldl %r0,0(%r1,%r2)
+
+ sldl %r1,0
+ sldl %r0,-1
+ sldl %r0,4096
+ sldl %r0,0(%r0)
+ sldl %r0,0(%r1,%r2)
+
#CHECK: error: invalid operand
#CHECK: slfi %r0, -1
#CHECK: error: invalid operand
@@ -4583,6 +4823,40 @@
srak %r2,%r3,4(%r5)
+#CHECK: error: invalid register pair
+#CHECK: srda %r1,0
+#CHECK: error: invalid operand
+#CHECK: srda %r0,-1
+#CHECK: error: invalid operand
+#CHECK: srda %r0,4096
+#CHECK: error: %r0 used in an address
+#CHECK: srda %r0,0(%r0)
+#CHECK: error: invalid use of indexed addressing
+#CHECK: srda %r0,0(%r1,%r2)
+
+ srda %r1,0
+ srda %r0,-1
+ srda %r0,4096
+ srda %r0,0(%r0)
+ srda %r0,0(%r1,%r2)
+
+#CHECK: error: invalid register pair
+#CHECK: srdl %r1,0
+#CHECK: error: invalid operand
+#CHECK: srdl %r0,-1
+#CHECK: error: invalid operand
+#CHECK: srdl %r0,4096
+#CHECK: error: %r0 used in an address
+#CHECK: srdl %r0,0(%r0)
+#CHECK: error: invalid use of indexed addressing
+#CHECK: srdl %r0,0(%r1,%r2)
+
+ srdl %r1,0
+ srdl %r0,-1
+ srdl %r0,4096
+ srdl %r0,0(%r0)
+ srdl %r0,0(%r1,%r2)
+
#CHECK: error: instruction requires: distinct-ops
#CHECK: srk %r2,%r3,%r4
@@ -4739,6 +5013,48 @@
stch %r0, 0
#CHECK: error: invalid operand
+#CHECK: stcm %r0, 0, -1
+#CHECK: error: invalid operand
+#CHECK: stcm %r0, 0, 4096
+#CHECK: error: invalid operand
+#CHECK: stcm %r0, -1, 0
+#CHECK: error: invalid operand
+#CHECK: stcm %r0, 16, 0
+
+ stcm %r0, 0, -1
+ stcm %r0, 0, 4096
+ stcm %r0, -1, 0
+ stcm %r0, 16, 0
+
+#CHECK: error: invalid operand
+#CHECK: stcmy %r0, 0, -524289
+#CHECK: error: invalid operand
+#CHECK: stcmy %r0, 0, 524288
+#CHECK: error: invalid operand
+#CHECK: stcmy %r0, -1, 0
+#CHECK: error: invalid operand
+#CHECK: stcmy %r0, 16, 0
+
+ stcmy %r0, 0, -524289
+ stcmy %r0, 0, 524288
+ stcmy %r0, -1, 0
+ stcmy %r0, 16, 0
+
+#CHECK: error: invalid operand
+#CHECK: stcmy %r0, 0, -524289
+#CHECK: error: invalid operand
+#CHECK: stcmy %r0, 0, 524288
+#CHECK: error: invalid operand
+#CHECK: stcmy %r0, -1, 0
+#CHECK: error: invalid operand
+#CHECK: stcmy %r0, 16, 0
+
+ stcmy %r0, 0, -524289
+ stcmy %r0, 0, 524288
+ stcmy %r0, -1, 0
+ stcmy %r0, 16, 0
+
+#CHECK: error: invalid operand
#CHECK: stcy %r0, -524289
#CHECK: error: invalid operand
#CHECK: stcy %r0, 524288
diff --git a/llvm/test/MC/SystemZ/insn-good.s b/llvm/test/MC/SystemZ/insn-good.s
index 6086c9a2aa9..189306073a8 100644
--- a/llvm/test/MC/SystemZ/insn-good.s
+++ b/llvm/test/MC/SystemZ/insn-good.s
@@ -415,6 +415,34 @@
algr %r15,%r0
algr %r7,%r8
+#CHECK: algsi -524288, 0 # encoding: [0xeb,0x00,0x00,0x00,0x80,0x7e]
+#CHECK: algsi -1, 0 # encoding: [0xeb,0x00,0x0f,0xff,0xff,0x7e]
+#CHECK: algsi 0, 0 # encoding: [0xeb,0x00,0x00,0x00,0x00,0x7e]
+#CHECK: algsi 1, 0 # encoding: [0xeb,0x00,0x00,0x01,0x00,0x7e]
+#CHECK: algsi 524287, 0 # encoding: [0xeb,0x00,0x0f,0xff,0x7f,0x7e]
+#CHECK: algsi 0, -128 # encoding: [0xeb,0x80,0x00,0x00,0x00,0x7e]
+#CHECK: algsi 0, -1 # encoding: [0xeb,0xff,0x00,0x00,0x00,0x7e]
+#CHECK: algsi 0, 1 # encoding: [0xeb,0x01,0x00,0x00,0x00,0x7e]
+#CHECK: algsi 0, 127 # encoding: [0xeb,0x7f,0x00,0x00,0x00,0x7e]
+#CHECK: algsi 0(%r1), 42 # encoding: [0xeb,0x2a,0x10,0x00,0x00,0x7e]
+#CHECK: algsi 0(%r15), 42 # encoding: [0xeb,0x2a,0xf0,0x00,0x00,0x7e]
+#CHECK: algsi 524287(%r1), 42 # encoding: [0xeb,0x2a,0x1f,0xff,0x7f,0x7e]
+#CHECK: algsi 524287(%r15), 42 # encoding: [0xeb,0x2a,0xff,0xff,0x7f,0x7e]
+
+ algsi -524288, 0
+ algsi -1, 0
+ algsi 0, 0
+ algsi 1, 0
+ algsi 524287, 0
+ algsi 0, -128
+ algsi 0, -1
+ algsi 0, 1
+ algsi 0, 127
+ algsi 0(%r1), 42
+ algsi 0(%r15), 42
+ algsi 524287(%r1), 42
+ algsi 524287(%r15), 42
+
#CHECK: alr %r0, %r0 # encoding: [0x1e,0x00]
#CHECK: alr %r0, %r15 # encoding: [0x1e,0x0f]
#CHECK: alr %r15, %r0 # encoding: [0x1e,0xf0]
@@ -425,6 +453,34 @@
alr %r15,%r0
alr %r7,%r8
+#CHECK: alsi -524288, 0 # encoding: [0xeb,0x00,0x00,0x00,0x80,0x6e]
+#CHECK: alsi -1, 0 # encoding: [0xeb,0x00,0x0f,0xff,0xff,0x6e]
+#CHECK: alsi 0, 0 # encoding: [0xeb,0x00,0x00,0x00,0x00,0x6e]
+#CHECK: alsi 1, 0 # encoding: [0xeb,0x00,0x00,0x01,0x00,0x6e]
+#CHECK: alsi 524287, 0 # encoding: [0xeb,0x00,0x0f,0xff,0x7f,0x6e]
+#CHECK: alsi 0, -128 # encoding: [0xeb,0x80,0x00,0x00,0x00,0x6e]
+#CHECK: alsi 0, -1 # encoding: [0xeb,0xff,0x00,0x00,0x00,0x6e]
+#CHECK: alsi 0, 1 # encoding: [0xeb,0x01,0x00,0x00,0x00,0x6e]
+#CHECK: alsi 0, 127 # encoding: [0xeb,0x7f,0x00,0x00,0x00,0x6e]
+#CHECK: alsi 0(%r1), 42 # encoding: [0xeb,0x2a,0x10,0x00,0x00,0x6e]
+#CHECK: alsi 0(%r15), 42 # encoding: [0xeb,0x2a,0xf0,0x00,0x00,0x6e]
+#CHECK: alsi 524287(%r1), 42 # encoding: [0xeb,0x2a,0x1f,0xff,0x7f,0x6e]
+#CHECK: alsi 524287(%r15), 42 # encoding: [0xeb,0x2a,0xff,0xff,0x7f,0x6e]
+
+ alsi -524288, 0
+ alsi -1, 0
+ alsi 0, 0
+ alsi 1, 0
+ alsi 524287, 0
+ alsi 0, -128
+ alsi 0, -1
+ alsi 0, 1
+ alsi 0, 127
+ alsi 0(%r1), 42
+ alsi 0(%r15), 42
+ alsi 524287(%r1), 42
+ alsi 524287(%r15), 42
+
#CHECK: aly %r0, -524288 # encoding: [0xe3,0x00,0x00,0x00,0x80,0x5e]
#CHECK: aly %r0, -1 # encoding: [0xe3,0x00,0x0f,0xff,0xff,0x5e]
#CHECK: aly %r0, 0 # encoding: [0xe3,0x00,0x00,0x00,0x00,0x5e]
@@ -4829,6 +4885,66 @@
cliy 524287(%r1), 42
cliy 524287(%r15), 42
+#CHECK: clm %r0, 0, 0 # encoding: [0xbd,0x00,0x00,0x00]
+#CHECK: clm %r0, 15, 4095 # encoding: [0xbd,0x0f,0x0f,0xff]
+#CHECK: clm %r0, 0, 0(%r1) # encoding: [0xbd,0x00,0x10,0x00]
+#CHECK: clm %r0, 0, 0(%r15) # encoding: [0xbd,0x00,0xf0,0x00]
+#CHECK: clm %r15, 15, 4095(%r1) # encoding: [0xbd,0xff,0x1f,0xff]
+#CHECK: clm %r0, 0, 4095(%r15) # encoding: [0xbd,0x00,0xff,0xff]
+#CHECK: clm %r15, 0, 0 # encoding: [0xbd,0xf0,0x00,0x00]
+
+ clm %r0, 0, 0
+ clm %r0, 15, 4095
+ clm %r0, 0, 0(%r1)
+ clm %r0, 0, 0(%r15)
+ clm %r15, 15, 4095(%r1)
+ clm %r0, 0, 4095(%r15)
+ clm %r15, 0, 0
+
+#CHECK: clmh %r0, 0, -524288 # encoding: [0xeb,0x00,0x00,0x00,0x80,0x20]
+#CHECK: clmh %r0, 0, -1 # encoding: [0xeb,0x00,0x0f,0xff,0xff,0x20]
+#CHECK: clmh %r0, 15, 0 # encoding: [0xeb,0x0f,0x00,0x00,0x00,0x20]
+#CHECK: clmh %r0, 15, 1 # encoding: [0xeb,0x0f,0x00,0x01,0x00,0x20]
+#CHECK: clmh %r0, 8, 524287 # encoding: [0xeb,0x08,0x0f,0xff,0x7f,0x20]
+#CHECK: clmh %r0, 8, 0(%r1) # encoding: [0xeb,0x08,0x10,0x00,0x00,0x20]
+#CHECK: clmh %r0, 4, 0(%r15) # encoding: [0xeb,0x04,0xf0,0x00,0x00,0x20]
+#CHECK: clmh %r0, 4, 524287(%r15) # encoding: [0xeb,0x04,0xff,0xff,0x7f,0x20]
+#CHECK: clmh %r0, 0, 524287(%r1) # encoding: [0xeb,0x00,0x1f,0xff,0x7f,0x20]
+#CHECK: clmh %r15, 0, 0 # encoding: [0xeb,0xf0,0x00,0x00,0x00,0x20]
+
+ clmh %r0, 0, -524288
+ clmh %r0, 0, -1
+ clmh %r0, 15, 0
+ clmh %r0, 15, 1
+ clmh %r0, 8, 524287
+ clmh %r0, 8, 0(%r1)
+ clmh %r0, 4, 0(%r15)
+ clmh %r0, 4, 524287(%r15)
+ clmh %r0, 0, 524287(%r1)
+ clmh %r15, 0, 0
+
+#CHECK: clmy %r0, 0, -524288 # encoding: [0xeb,0x00,0x00,0x00,0x80,0x21]
+#CHECK: clmy %r0, 0, -1 # encoding: [0xeb,0x00,0x0f,0xff,0xff,0x21]
+#CHECK: clmy %r0, 15, 0 # encoding: [0xeb,0x0f,0x00,0x00,0x00,0x21]
+#CHECK: clmy %r0, 15, 1 # encoding: [0xeb,0x0f,0x00,0x01,0x00,0x21]
+#CHECK: clmy %r0, 8, 524287 # encoding: [0xeb,0x08,0x0f,0xff,0x7f,0x21]
+#CHECK: clmy %r0, 8, 0(%r1) # encoding: [0xeb,0x08,0x10,0x00,0x00,0x21]
+#CHECK: clmy %r0, 4, 0(%r15) # encoding: [0xeb,0x04,0xf0,0x00,0x00,0x21]
+#CHECK: clmy %r0, 4, 524287(%r15) # encoding: [0xeb,0x04,0xff,0xff,0x7f,0x21]
+#CHECK: clmy %r0, 0, 524287(%r1) # encoding: [0xeb,0x00,0x1f,0xff,0x7f,0x21]
+#CHECK: clmy %r15, 0, 0 # encoding: [0xeb,0xf0,0x00,0x00,0x00,0x21]
+
+ clmy %r0, 0, -524288
+ clmy %r0, 0, -1
+ clmy %r0, 15, 0
+ clmy %r0, 15, 1
+ clmy %r0, 8, 524287
+ clmy %r0, 8, 0(%r1)
+ clmy %r0, 4, 0(%r15)
+ clmy %r0, 4, 524287(%r15)
+ clmy %r0, 0, 524287(%r1)
+ clmy %r15, 0, 0
+
#CHECK: clr %r0, %r0 # encoding: [0x15,0x00]
#CHECK: clr %r0, %r15 # encoding: [0x15,0x0f]
#CHECK: clr %r15, %r0 # encoding: [0x15,0xf0]
@@ -6059,6 +6175,22 @@
cy %r0, 524287(%r15,%r1)
cy %r15, 0
+#CHECK: d %r0, 0 # encoding: [0x5d,0x00,0x00,0x00]
+#CHECK: d %r0, 4095 # encoding: [0x5d,0x00,0x0f,0xff]
+#CHECK: d %r0, 0(%r1) # encoding: [0x5d,0x00,0x10,0x00]
+#CHECK: d %r0, 0(%r15) # encoding: [0x5d,0x00,0xf0,0x00]
+#CHECK: d %r0, 4095(%r1,%r15) # encoding: [0x5d,0x01,0xff,0xff]
+#CHECK: d %r0, 4095(%r15,%r1) # encoding: [0x5d,0x0f,0x1f,0xff]
+#CHECK: d %r14, 0 # encoding: [0x5d,0xe0,0x00,0x00]
+
+ d %r0, 0
+ d %r0, 4095
+ d %r0, 0(%r1)
+ d %r0, 0(%r15)
+ d %r0, 4095(%r1,%r15)
+ d %r0, 4095(%r15,%r1)
+ d %r14, 0
+
#CHECK: ddb %f0, 0 # encoding: [0xed,0x00,0x00,0x00,0x00,0x1d]
#CHECK: ddb %f0, 4095 # encoding: [0xed,0x00,0x0f,0xff,0x00,0x1d]
#CHECK: ddb %f0, 0(%r1) # encoding: [0xed,0x00,0x10,0x00,0x00,0x1d]
@@ -6111,6 +6243,34 @@
debr %f7, %f8
debr %f15, %f0
+#CHECK: didbr %f0, %f0, %f0, 0 # encoding: [0xb3,0x5b,0x00,0x00]
+#CHECK: didbr %f0, %f0, %f0, 15 # encoding: [0xb3,0x5b,0x0f,0x00]
+#CHECK: didbr %f0, %f0, %f15, 0 # encoding: [0xb3,0x5b,0x00,0x0f]
+#CHECK: didbr %f0, %f15, %f0, 0 # encoding: [0xb3,0x5b,0xf0,0x00]
+#CHECK: didbr %f4, %f5, %f6, 7 # encoding: [0xb3,0x5b,0x57,0x46]
+#CHECK: didbr %f15, %f0, %f0, 0 # encoding: [0xb3,0x5b,0x00,0xf0]
+
+ didbr %f0, %f0, %f0, 0
+ didbr %f0, %f0, %f0, 15
+ didbr %f0, %f0, %f15, 0
+ didbr %f0, %f15, %f0, 0
+ didbr %f4, %f5, %f6, 7
+ didbr %f15, %f0, %f0, 0
+
+#CHECK: diebr %f0, %f0, %f0, 0 # encoding: [0xb3,0x53,0x00,0x00]
+#CHECK: diebr %f0, %f0, %f0, 15 # encoding: [0xb3,0x53,0x0f,0x00]
+#CHECK: diebr %f0, %f0, %f15, 0 # encoding: [0xb3,0x53,0x00,0x0f]
+#CHECK: diebr %f0, %f15, %f0, 0 # encoding: [0xb3,0x53,0xf0,0x00]
+#CHECK: diebr %f4, %f5, %f6, 7 # encoding: [0xb3,0x53,0x57,0x46]
+#CHECK: diebr %f15, %f0, %f0, 0 # encoding: [0xb3,0x53,0x00,0xf0]
+
+ diebr %f0, %f0, %f0, 0
+ diebr %f0, %f0, %f0, 15
+ diebr %f0, %f0, %f15, 0
+ diebr %f0, %f15, %f0, 0
+ diebr %f4, %f5, %f6, 7
+ diebr %f15, %f0, %f0, 0
+
#CHECK: dl %r0, -524288 # encoding: [0xe3,0x00,0x00,0x00,0x80,0x97]
#CHECK: dl %r0, -1 # encoding: [0xe3,0x00,0x0f,0xff,0xff,0x97]
#CHECK: dl %r0, 0 # encoding: [0xe3,0x00,0x00,0x00,0x00,0x97]
@@ -6205,6 +6365,16 @@
dp 0(1), 0(16,%r1)
dp 0(1), 0(16,%r15)
+#CHECK: dr %r0, %r0 # encoding: [0x1d,0x00]
+#CHECK: dr %r0, %r15 # encoding: [0x1d,0x0f]
+#CHECK: dr %r14, %r0 # encoding: [0x1d,0xe0]
+#CHECK: dr %r6, %r9 # encoding: [0x1d,0x69]
+
+ dr %r0,%r0
+ dr %r0,%r15
+ dr %r14,%r0
+ dr %r6,%r9
+
#CHECK: dsg %r0, -524288 # encoding: [0xe3,0x00,0x00,0x00,0x80,0x0d]
#CHECK: dsg %r0, -1 # encoding: [0xe3,0x00,0x0f,0xff,0xff,0x0d]
#CHECK: dsg %r0, 0 # encoding: [0xe3,0x00,0x00,0x00,0x00,0x0d]
@@ -6626,6 +6796,58 @@
ipm %r1
ipm %r15
+#CHECK: kdb %f0, 0 # encoding: [0xed,0x00,0x00,0x00,0x00,0x18]
+#CHECK: kdb %f0, 4095 # encoding: [0xed,0x00,0x0f,0xff,0x00,0x18]
+#CHECK: kdb %f0, 0(%r1) # encoding: [0xed,0x00,0x10,0x00,0x00,0x18]
+#CHECK: kdb %f0, 0(%r15) # encoding: [0xed,0x00,0xf0,0x00,0x00,0x18]
+#CHECK: kdb %f0, 4095(%r1,%r15) # encoding: [0xed,0x01,0xff,0xff,0x00,0x18]
+#CHECK: kdb %f0, 4095(%r15,%r1) # encoding: [0xed,0x0f,0x1f,0xff,0x00,0x18]
+#CHECK: kdb %f15, 0 # encoding: [0xed,0xf0,0x00,0x00,0x00,0x18]
+
+ kdb %f0, 0
+ kdb %f0, 4095
+ kdb %f0, 0(%r1)
+ kdb %f0, 0(%r15)
+ kdb %f0, 4095(%r1,%r15)
+ kdb %f0, 4095(%r15,%r1)
+ kdb %f15, 0
+
+#CHECK: kdbr %f0, %f0 # encoding: [0xb3,0x18,0x00,0x00]
+#CHECK: kdbr %f0, %f15 # encoding: [0xb3,0x18,0x00,0x0f]
+#CHECK: kdbr %f7, %f8 # encoding: [0xb3,0x18,0x00,0x78]
+#CHECK: kdbr %f15, %f0 # encoding: [0xb3,0x18,0x00,0xf0]
+
+ kdbr %f0, %f0
+ kdbr %f0, %f15
+ kdbr %f7, %f8
+ kdbr %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]
+#CHECK: keb %f0, 0(%r15) # encoding: [0xed,0x00,0xf0,0x00,0x00,0x08]
+#CHECK: keb %f0, 4095(%r1,%r15) # encoding: [0xed,0x01,0xff,0xff,0x00,0x08]
+#CHECK: keb %f0, 4095(%r15,%r1) # encoding: [0xed,0x0f,0x1f,0xff,0x00,0x08]
+#CHECK: keb %f15, 0 # encoding: [0xed,0xf0,0x00,0x00,0x00,0x08]
+
+ keb %f0, 0
+ keb %f0, 4095
+ keb %f0, 0(%r1)
+ keb %f0, 0(%r15)
+ keb %f0, 4095(%r1,%r15)
+ keb %f0, 4095(%r15,%r1)
+ keb %f15, 0
+
+#CHECK: kebr %f0, %f0 # encoding: [0xb3,0x08,0x00,0x00]
+#CHECK: kebr %f0, %f15 # encoding: [0xb3,0x08,0x00,0x0f]
+#CHECK: kebr %f7, %f8 # encoding: [0xb3,0x08,0x00,0x78]
+#CHECK: kebr %f15, %f0 # encoding: [0xb3,0x08,0x00,0xf0]
+
+ kebr %f0, %f0
+ kebr %f0, %f15
+ kebr %f7, %f8
+ kebr %f15, %f0
+
#CHECK: kimd %r0, %r2 # encoding: [0xb9,0x3e,0x00,0x02]
#CHECK: kimd %r0, %r14 # encoding: [0xb9,0x3e,0x00,0x0e]
#CHECK: kimd %r15, %r2 # encoding: [0xb9,0x3e,0x00,0xf2]
@@ -6676,6 +6898,16 @@
kmc %r14, %r2
kmc %r6, %r10
+#CHECK: kxbr %f0, %f0 # encoding: [0xb3,0x48,0x00,0x00]
+#CHECK: kxbr %f0, %f13 # encoding: [0xb3,0x48,0x00,0x0d]
+#CHECK: kxbr %f8, %f8 # encoding: [0xb3,0x48,0x00,0x88]
+#CHECK: kxbr %f13, %f0 # encoding: [0xb3,0x48,0x00,0xd0]
+
+ kxbr %f0, %f0
+ kxbr %f0, %f13
+ kxbr %f8, %f8
+ kxbr %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]
@@ -7885,6 +8117,26 @@
lm %r0,%r0,4095(%r1)
lm %r0,%r0,4095(%r15)
+#CHECK: lmd %r0, %r0, 0, 0 # encoding: [0xef,0x00,0x00,0x00,0x00,0x00]
+#CHECK: lmd %r0, %r15, 0, 0 # encoding: [0xef,0x0f,0x00,0x00,0x00,0x00]
+#CHECK: lmd %r14, %r15, 0, 0 # encoding: [0xef,0xef,0x00,0x00,0x00,0x00]
+#CHECK: lmd %r15, %r15, 0, 0 # encoding: [0xef,0xff,0x00,0x00,0x00,0x00]
+#CHECK: lmd %r2, %r4, 0(%r1), 0(%r15) # encoding: [0xef,0x24,0x10,0x00,0xf0,0x00]
+#CHECK: lmd %r2, %r4, 1(%r1), 0(%r15) # encoding: [0xef,0x24,0x10,0x01,0xf0,0x00]
+#CHECK: lmd %r2, %r4, 4095(%r1), 0(%r15) # encoding: [0xef,0x24,0x1f,0xff,0xf0,0x00]
+#CHECK: lmd %r2, %r4, 0(%r1), 1(%r15) # encoding: [0xef,0x24,0x10,0x00,0xf0,0x01]
+#CHECK: lmd %r2, %r4, 0(%r1), 4095(%r15) # encoding: [0xef,0x24,0x10,0x00,0xff,0xff]
+
+ lmd %r0, %r0, 0, 0
+ lmd %r0, %r15, 0, 0
+ lmd %r14, %r15, 0, 0
+ lmd %r15, %r15, 0, 0
+ lmd %r2, %r4, 0(%r1), 0(%r15)
+ lmd %r2, %r4, 1(%r1), 0(%r15)
+ lmd %r2, %r4, 4095(%r1), 0(%r15)
+ lmd %r2, %r4, 0(%r1), 1(%r15)
+ lmd %r2, %r4, 0(%r1), 4095(%r15)
+
#CHECK: lmg %r0, %r0, 0 # encoding: [0xeb,0x00,0x00,0x00,0x00,0x04]
#CHECK: lmg %r0, %r15, 0 # encoding: [0xeb,0x0f,0x00,0x00,0x00,0x04]
#CHECK: lmg %r14, %r15, 0 # encoding: [0xeb,0xef,0x00,0x00,0x00,0x04]
@@ -8430,6 +8682,22 @@
lzxr %f8
lzxr %f13
+#CHECK: m %r0, 0 # encoding: [0x5c,0x00,0x00,0x00]
+#CHECK: m %r0, 4095 # encoding: [0x5c,0x00,0x0f,0xff]
+#CHECK: m %r0, 0(%r1) # encoding: [0x5c,0x00,0x10,0x00]
+#CHECK: m %r0, 0(%r15) # encoding: [0x5c,0x00,0xf0,0x00]
+#CHECK: m %r0, 4095(%r1,%r15) # encoding: [0x5c,0x01,0xff,0xff]
+#CHECK: m %r0, 4095(%r15,%r1) # encoding: [0x5c,0x0f,0x1f,0xff]
+#CHECK: m %r14, 0 # encoding: [0x5c,0xe0,0x00,0x00]
+
+ m %r0, 0
+ m %r0, 4095
+ m %r0, 0(%r1)
+ m %r0, 0(%r15)
+ m %r0, 4095(%r1,%r15)
+ m %r0, 4095(%r15,%r1)
+ m %r14, 0
+
#CHECK: madb %f0, %f0, 0 # encoding: [0xed,0x00,0x00,0x00,0x00,0x1e]
#CHECK: madb %f0, %f0, 4095 # encoding: [0xed,0x00,0x0f,0xff,0x00,0x1e]
#CHECK: madb %f0, %f0, 0(%r1) # encoding: [0xed,0x00,0x10,0x00,0x00,0x1e]
@@ -8576,6 +8844,28 @@
meebr %f7, %f8
meebr %f15, %f0
+#CHECK: mfy %r0, -524288 # encoding: [0xe3,0x00,0x00,0x00,0x80,0x5c]
+#CHECK: mfy %r0, -1 # encoding: [0xe3,0x00,0x0f,0xff,0xff,0x5c]
+#CHECK: mfy %r0, 0 # encoding: [0xe3,0x00,0x00,0x00,0x00,0x5c]
+#CHECK: mfy %r0, 1 # encoding: [0xe3,0x00,0x00,0x01,0x00,0x5c]
+#CHECK: mfy %r0, 524287 # encoding: [0xe3,0x00,0x0f,0xff,0x7f,0x5c]
+#CHECK: mfy %r0, 0(%r1) # encoding: [0xe3,0x00,0x10,0x00,0x00,0x5c]
+#CHECK: mfy %r0, 0(%r15) # encoding: [0xe3,0x00,0xf0,0x00,0x00,0x5c]
+#CHECK: mfy %r0, 524287(%r1,%r15) # encoding: [0xe3,0x01,0xff,0xff,0x7f,0x5c]
+#CHECK: mfy %r0, 524287(%r15,%r1) # encoding: [0xe3,0x0f,0x1f,0xff,0x7f,0x5c]
+#CHECK: mfy %r14, 0 # encoding: [0xe3,0xe0,0x00,0x00,0x00,0x5c]
+
+ mfy %r0, -524288
+ mfy %r0, -1
+ mfy %r0, 0
+ mfy %r0, 1
+ mfy %r0, 524287
+ mfy %r0, 0(%r1)
+ mfy %r0, 0(%r15)
+ mfy %r0, 524287(%r1,%r15)
+ mfy %r0, 524287(%r15,%r1)
+ mfy %r14, 0
+
#CHECK: mghi %r0, -32768 # encoding: [0xa7,0x0d,0x80,0x00]
#CHECK: mghi %r0, -1 # encoding: [0xa7,0x0d,0xff,0xff]
#CHECK: mghi %r0, 0 # encoding: [0xa7,0x0d,0x00,0x00]
@@ -8642,6 +8932,28 @@
mhy %r0, 524287(%r15,%r1)
mhy %r15, 0
+#CHECK: ml %r0, -524288 # encoding: [0xe3,0x00,0x00,0x00,0x80,0x96]
+#CHECK: ml %r0, -1 # encoding: [0xe3,0x00,0x0f,0xff,0xff,0x96]
+#CHECK: ml %r0, 0 # encoding: [0xe3,0x00,0x00,0x00,0x00,0x96]
+#CHECK: ml %r0, 1 # encoding: [0xe3,0x00,0x00,0x01,0x00,0x96]
+#CHECK: ml %r0, 524287 # encoding: [0xe3,0x00,0x0f,0xff,0x7f,0x96]
+#CHECK: ml %r0, 0(%r1) # encoding: [0xe3,0x00,0x10,0x00,0x00,0x96]
+#CHECK: ml %r0, 0(%r15) # encoding: [0xe3,0x00,0xf0,0x00,0x00,0x96]
+#CHECK: ml %r0, 524287(%r1,%r15) # encoding: [0xe3,0x01,0xff,0xff,0x7f,0x96]
+#CHECK: ml %r0, 524287(%r15,%r1) # encoding: [0xe3,0x0f,0x1f,0xff,0x7f,0x96]
+#CHECK: ml %r14, 0 # encoding: [0xe3,0xe0,0x00,0x00,0x00,0x96]
+
+ ml %r0, -524288
+ ml %r0, -1
+ ml %r0, 0
+ ml %r0, 1
+ ml %r0, 524287
+ ml %r0, 0(%r1)
+ ml %r0, 0(%r15)
+ ml %r0, 524287(%r1,%r15)
+ ml %r0, 524287(%r15,%r1)
+ ml %r14, 0
+
#CHECK: mlg %r0, -524288 # encoding: [0xe3,0x00,0x00,0x00,0x80,0x86]
#CHECK: mlg %r0, -1 # encoding: [0xe3,0x00,0x0f,0xff,0xff,0x86]
#CHECK: mlg %r0, 0 # encoding: [0xe3,0x00,0x00,0x00,0x00,0x86]
@@ -8674,6 +8986,16 @@
mlgr %r14,%r0
mlgr %r6,%r9
+#CHECK: mlr %r0, %r0 # encoding: [0xb9,0x96,0x00,0x00]
+#CHECK: mlr %r0, %r15 # encoding: [0xb9,0x96,0x00,0x0f]
+#CHECK: mlr %r14, %r0 # encoding: [0xb9,0x96,0x00,0xe0]
+#CHECK: mlr %r6, %r9 # encoding: [0xb9,0x96,0x00,0x69]
+
+ mlr %r0,%r0
+ mlr %r0,%r15
+ mlr %r14,%r0
+ mlr %r6,%r9
+
#CHECK: mp 0(1), 0(1) # encoding: [0xfc,0x00,0x00,0x00,0x00,0x00]
#CHECK: mp 0(1), 0(1,%r1) # encoding: [0xfc,0x00,0x00,0x00,0x10,0x00]
#CHECK: mp 0(1), 0(1,%r15) # encoding: [0xfc,0x00,0x00,0x00,0xf0,0x00]
@@ -8704,6 +9026,16 @@
mp 0(1), 0(16,%r1)
mp 0(1), 0(16,%r15)
+#CHECK: mr %r0, %r0 # encoding: [0x1c,0x00]
+#CHECK: mr %r0, %r15 # encoding: [0x1c,0x0f]
+#CHECK: mr %r14, %r0 # encoding: [0x1c,0xe0]
+#CHECK: mr %r6, %r9 # encoding: [0x1c,0x69]
+
+ mr %r0,%r0
+ mr %r0,%r15
+ mr %r14,%r0
+ mr %r6,%r9
+
#CHECK: ms %r0, 0 # encoding: [0x71,0x00,0x00,0x00]
#CHECK: ms %r0, 4095 # encoding: [0x71,0x00,0x0f,0xff]
#CHECK: ms %r0, 0(%r1) # encoding: [0x71,0x00,0x10,0x00]
@@ -10198,6 +10530,32 @@
sla %r0,4095(%r1)
sla %r0,4095(%r15)
+#CHECK: slag %r0, %r0, 0 # encoding: [0xeb,0x00,0x00,0x00,0x00,0x0b]
+#CHECK: slag %r15, %r1, 0 # encoding: [0xeb,0xf1,0x00,0x00,0x00,0x0b]
+#CHECK: slag %r1, %r15, 0 # encoding: [0xeb,0x1f,0x00,0x00,0x00,0x0b]
+#CHECK: slag %r15, %r15, 0 # encoding: [0xeb,0xff,0x00,0x00,0x00,0x0b]
+#CHECK: slag %r0, %r0, -524288 # encoding: [0xeb,0x00,0x00,0x00,0x80,0x0b]
+#CHECK: slag %r0, %r0, -1 # encoding: [0xeb,0x00,0x0f,0xff,0xff,0x0b]
+#CHECK: slag %r0, %r0, 1 # encoding: [0xeb,0x00,0x00,0x01,0x00,0x0b]
+#CHECK: slag %r0, %r0, 524287 # encoding: [0xeb,0x00,0x0f,0xff,0x7f,0x0b]
+#CHECK: slag %r0, %r0, 0(%r1) # encoding: [0xeb,0x00,0x10,0x00,0x00,0x0b]
+#CHECK: slag %r0, %r0, 0(%r15) # encoding: [0xeb,0x00,0xf0,0x00,0x00,0x0b]
+#CHECK: slag %r0, %r0, 524287(%r1) # encoding: [0xeb,0x00,0x1f,0xff,0x7f,0x0b]
+#CHECK: slag %r0, %r0, 524287(%r15) # encoding: [0xeb,0x00,0xff,0xff,0x7f,0x0b]
+
+ slag %r0,%r0,0
+ slag %r15,%r1,0
+ slag %r1,%r15,0
+ slag %r15,%r15,0
+ slag %r0,%r0,-524288
+ slag %r0,%r0,-1
+ slag %r0,%r0,1
+ slag %r0,%r0,524287
+ slag %r0,%r0,0(%r1)
+ slag %r0,%r0,0(%r15)
+ slag %r0,%r0,524287(%r1)
+ slag %r0,%r0,524287(%r15)
+
#CHECK: slb %r0, -524288 # encoding: [0xe3,0x00,0x00,0x00,0x80,0x99]
#CHECK: slb %r0, -1 # encoding: [0xe3,0x00,0x0f,0xff,0xff,0x99]
#CHECK: slb %r0, 0 # encoding: [0xe3,0x00,0x00,0x00,0x00,0x99]
@@ -10262,6 +10620,42 @@
slbr %r15,%r0
slbr %r7,%r8
+#CHECK: slda %r0, 0 # encoding: [0x8f,0x00,0x00,0x00]
+#CHECK: slda %r6, 0 # encoding: [0x8f,0x60,0x00,0x00]
+#CHECK: slda %r14, 0 # encoding: [0x8f,0xe0,0x00,0x00]
+#CHECK: slda %r0, 4095 # encoding: [0x8f,0x00,0x0f,0xff]
+#CHECK: slda %r0, 0(%r1) # encoding: [0x8f,0x00,0x10,0x00]
+#CHECK: slda %r0, 0(%r15) # encoding: [0x8f,0x00,0xf0,0x00]
+#CHECK: slda %r0, 4095(%r1) # encoding: [0x8f,0x00,0x1f,0xff]
+#CHECK: slda %r0, 4095(%r15) # encoding: [0x8f,0x00,0xff,0xff]
+
+ slda %r0,0
+ slda %r6,0
+ slda %r14,0
+ slda %r0,4095
+ slda %r0,0(%r1)
+ slda %r0,0(%r15)
+ slda %r0,4095(%r1)
+ slda %r0,4095(%r15)
+
+#CHECK: sldl %r0, 0 # encoding: [0x8d,0x00,0x00,0x00]
+#CHECK: sldl %r6, 0 # encoding: [0x8d,0x60,0x00,0x00]
+#CHECK: sldl %r14, 0 # encoding: [0x8d,0xe0,0x00,0x00]
+#CHECK: sldl %r0, 4095 # encoding: [0x8d,0x00,0x0f,0xff]
+#CHECK: sldl %r0, 0(%r1) # encoding: [0x8d,0x00,0x10,0x00]
+#CHECK: sldl %r0, 0(%r15) # encoding: [0x8d,0x00,0xf0,0x00]
+#CHECK: sldl %r0, 4095(%r1) # encoding: [0x8d,0x00,0x1f,0xff]
+#CHECK: sldl %r0, 4095(%r15) # encoding: [0x8d,0x00,0xff,0xff]
+
+ sldl %r0,0
+ sldl %r6,0
+ sldl %r14,0
+ sldl %r0,4095
+ sldl %r0,0(%r1)
+ sldl %r0,0(%r15)
+ sldl %r0,4095(%r1)
+ sldl %r0,4095(%r15)
+
#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]
@@ -10572,6 +10966,42 @@
srag %r0,%r0,524287(%r1)
srag %r0,%r0,524287(%r15)
+#CHECK: srda %r0, 0 # encoding: [0x8e,0x00,0x00,0x00]
+#CHECK: srda %r6, 0 # encoding: [0x8e,0x60,0x00,0x00]
+#CHECK: srda %r14, 0 # encoding: [0x8e,0xe0,0x00,0x00]
+#CHECK: srda %r0, 4095 # encoding: [0x8e,0x00,0x0f,0xff]
+#CHECK: srda %r0, 0(%r1) # encoding: [0x8e,0x00,0x10,0x00]
+#CHECK: srda %r0, 0(%r15) # encoding: [0x8e,0x00,0xf0,0x00]
+#CHECK: srda %r0, 4095(%r1) # encoding: [0x8e,0x00,0x1f,0xff]
+#CHECK: srda %r0, 4095(%r15) # encoding: [0x8e,0x00,0xff,0xff]
+
+ srda %r0,0
+ srda %r6,0
+ srda %r14,0
+ srda %r0,4095
+ srda %r0,0(%r1)
+ srda %r0,0(%r15)
+ srda %r0,4095(%r1)
+ srda %r0,4095(%r15)
+
+#CHECK: srdl %r0, 0 # encoding: [0x8c,0x00,0x00,0x00]
+#CHECK: srdl %r6, 0 # encoding: [0x8c,0x60,0x00,0x00]
+#CHECK: srdl %r14, 0 # encoding: [0x8c,0xe0,0x00,0x00]
+#CHECK: srdl %r0, 4095 # encoding: [0x8c,0x00,0x0f,0xff]
+#CHECK: srdl %r0, 0(%r1) # encoding: [0x8c,0x00,0x10,0x00]
+#CHECK: srdl %r0, 0(%r15) # encoding: [0x8c,0x00,0xf0,0x00]
+#CHECK: srdl %r0, 4095(%r1) # encoding: [0x8c,0x00,0x1f,0xff]
+#CHECK: srdl %r0, 4095(%r15) # encoding: [0x8c,0x00,0xff,0xff]
+
+ srdl %r0,0
+ srdl %r6,0
+ srdl %r14,0
+ srdl %r0,4095
+ srdl %r0,0(%r1)
+ srdl %r0,0(%r15)
+ srdl %r0,4095(%r1)
+ srdl %r0,4095(%r15)
+
#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]
@@ -10816,6 +11246,66 @@
stckf 4095(%r1)
stckf 4095(%r15)
+#CHECK: stcm %r0, 0, 0 # encoding: [0xbe,0x00,0x00,0x00]
+#CHECK: stcm %r0, 15, 4095 # encoding: [0xbe,0x0f,0x0f,0xff]
+#CHECK: stcm %r0, 0, 0(%r1) # encoding: [0xbe,0x00,0x10,0x00]
+#CHECK: stcm %r0, 0, 0(%r15) # encoding: [0xbe,0x00,0xf0,0x00]
+#CHECK: stcm %r15, 15, 4095(%r1) # encoding: [0xbe,0xff,0x1f,0xff]
+#CHECK: stcm %r0, 0, 4095(%r15) # encoding: [0xbe,0x00,0xff,0xff]
+#CHECK: stcm %r15, 0, 0 # encoding: [0xbe,0xf0,0x00,0x00]
+
+ stcm %r0, 0, 0
+ stcm %r0, 15, 4095
+ stcm %r0, 0, 0(%r1)
+ stcm %r0, 0, 0(%r15)
+ stcm %r15, 15, 4095(%r1)
+ stcm %r0, 0, 4095(%r15)
+ stcm %r15, 0, 0
+
+#CHECK: stcmh %r0, 0, -524288 # encoding: [0xeb,0x00,0x00,0x00,0x80,0x2c]
+#CHECK: stcmh %r0, 0, -1 # encoding: [0xeb,0x00,0x0f,0xff,0xff,0x2c]
+#CHECK: stcmh %r0, 15, 0 # encoding: [0xeb,0x0f,0x00,0x00,0x00,0x2c]
+#CHECK: stcmh %r0, 15, 1 # encoding: [0xeb,0x0f,0x00,0x01,0x00,0x2c]
+#CHECK: stcmh %r0, 8, 524287 # encoding: [0xeb,0x08,0x0f,0xff,0x7f,0x2c]
+#CHECK: stcmh %r0, 8, 0(%r1) # encoding: [0xeb,0x08,0x10,0x00,0x00,0x2c]
+#CHECK: stcmh %r0, 4, 0(%r15) # encoding: [0xeb,0x04,0xf0,0x00,0x00,0x2c]
+#CHECK: stcmh %r0, 4, 524287(%r15) # encoding: [0xeb,0x04,0xff,0xff,0x7f,0x2c]
+#CHECK: stcmh %r0, 0, 524287(%r1) # encoding: [0xeb,0x00,0x1f,0xff,0x7f,0x2c]
+#CHECK: stcmh %r15, 0, 0 # encoding: [0xeb,0xf0,0x00,0x00,0x00,0x2c]
+
+ stcmh %r0, 0, -524288
+ stcmh %r0, 0, -1
+ stcmh %r0, 15, 0
+ stcmh %r0, 15, 1
+ stcmh %r0, 8, 524287
+ stcmh %r0, 8, 0(%r1)
+ stcmh %r0, 4, 0(%r15)
+ stcmh %r0, 4, 524287(%r15)
+ stcmh %r0, 0, 524287(%r1)
+ stcmh %r15, 0, 0
+
+#CHECK: stcmy %r0, 0, -524288 # encoding: [0xeb,0x00,0x00,0x00,0x80,0x2d]
+#CHECK: stcmy %r0, 0, -1 # encoding: [0xeb,0x00,0x0f,0xff,0xff,0x2d]
+#CHECK: stcmy %r0, 15, 0 # encoding: [0xeb,0x0f,0x00,0x00,0x00,0x2d]
+#CHECK: stcmy %r0, 15, 1 # encoding: [0xeb,0x0f,0x00,0x01,0x00,0x2d]
+#CHECK: stcmy %r0, 8, 524287 # encoding: [0xeb,0x08,0x0f,0xff,0x7f,0x2d]
+#CHECK: stcmy %r0, 8, 0(%r1) # encoding: [0xeb,0x08,0x10,0x00,0x00,0x2d]
+#CHECK: stcmy %r0, 4, 0(%r15) # encoding: [0xeb,0x04,0xf0,0x00,0x00,0x2d]
+#CHECK: stcmy %r0, 4, 524287(%r15) # encoding: [0xeb,0x04,0xff,0xff,0x7f,0x2d]
+#CHECK: stcmy %r0, 0, 524287(%r1) # encoding: [0xeb,0x00,0x1f,0xff,0x7f,0x2d]
+#CHECK: stcmy %r15, 0, 0 # encoding: [0xeb,0xf0,0x00,0x00,0x00,0x2d]
+
+ stcmy %r0, 0, -524288
+ stcmy %r0, 0, -1
+ stcmy %r0, 15, 0
+ stcmy %r0, 15, 1
+ stcmy %r0, 8, 524287
+ stcmy %r0, 8, 0(%r1)
+ stcmy %r0, 4, 0(%r15)
+ stcmy %r0, 4, 524287(%r15)
+ stcmy %r0, 0, 524287(%r1)
+ stcmy %r15, 0, 0
+
#CHECK: stcy %r0, -524288 # encoding: [0xe3,0x00,0x00,0x00,0x80,0x72]
#CHECK: stcy %r0, -1 # encoding: [0xe3,0x00,0x0f,0xff,0xff,0x72]
#CHECK: stcy %r0, 0 # encoding: [0xe3,0x00,0x00,0x00,0x00,0x72]
OpenPOWER on IntegriCloud