aboutsummaryrefslogtreecommitdiffstats
path: root/test/MC
diff options
context:
space:
mode:
Diffstat (limited to 'test/MC')
-rw-r--r--test/MC/Disassembler/SystemZ/insns.txt18
-rw-r--r--test/MC/SystemZ/insn-bad.s15
-rw-r--r--test/MC/SystemZ/insn-good-z196.s36
3 files changed, 69 insertions, 0 deletions
diff --git a/test/MC/Disassembler/SystemZ/insns.txt b/test/MC/Disassembler/SystemZ/insns.txt
index 68d585a..4352ae0 100644
--- a/test/MC/Disassembler/SystemZ/insns.txt
+++ b/test/MC/Disassembler/SystemZ/insns.txt
@@ -4207,6 +4207,12 @@
# CHECK: ng %r0, -524288
0xe3 0x00 0x00 0x00 0x80 0x80
+# CHECK: ngrk %r0, %r0, %r0
+0xb9 0xe4 0x00 0x00
+
+# CHECK: ngrk %r2, %r3, %r4
+0xb9 0xe4 0x40 0x23
+
# CHECK: ng %r0, -1
0xe3 0x00 0x0f 0xff 0xff 0x80
@@ -4432,6 +4438,12 @@
# CHECK: ogr %r7, %r8
0xb9 0x81 0x00 0x78
+# CHECK: ogrk %r0, %r0, %r0
+0xb9 0xe6 0x00 0x00
+
+# CHECK: ogrk %r2, %r3, %r4
+0xb9 0xe6 0x40 0x23
+
# CHECK: og %r0, -524288
0xe3 0x00 0x00 0x00 0x80 0x81
@@ -6091,6 +6103,12 @@
# CHECK: xgr %r7, %r8
0xb9 0x82 0x00 0x78
+# CHECK: xgrk %r0, %r0, %r0
+0xb9 0xe7 0x00 0x00
+
+# CHECK: xgrk %r2, %r3, %r4
+0xb9 0xe7 0x40 0x23
+
# CHECK: xg %r0, -524288
0xe3 0x00 0x00 0x00 0x80 0x82
diff --git a/test/MC/SystemZ/insn-bad.s b/test/MC/SystemZ/insn-bad.s
index ccc778d..6d1b086 100644
--- a/test/MC/SystemZ/insn-bad.s
+++ b/test/MC/SystemZ/insn-bad.s
@@ -1900,6 +1900,11 @@
ng %r0, -524289
ng %r0, 524288
+#CHECK: error: {{(instruction requires: distinct-ops)?}}
+#CHECK: ngrk %r2,%r3,%r4
+
+ ngrk %r2,%r3,%r4
+
#CHECK: error: invalid operand
#CHECK: ni -1, 0
#CHECK: error: invalid operand
@@ -2011,6 +2016,11 @@
og %r0, -524289
og %r0, 524288
+#CHECK: error: {{(instruction requires: distinct-ops)?}}
+#CHECK: ogrk %r2,%r3,%r4
+
+ ogrk %r2,%r3,%r4
+
#CHECK: error: invalid operand
#CHECK: oi -1, 0
#CHECK: error: invalid operand
@@ -2646,6 +2656,11 @@
xg %r0, -524289
xg %r0, 524288
+#CHECK: error: {{(instruction requires: distinct-ops)?}}
+#CHECK: xgrk %r2,%r3,%r4
+
+ xgrk %r2,%r3,%r4
+
#CHECK: error: invalid operand
#CHECK: xi -1, 0
#CHECK: error: invalid operand
diff --git a/test/MC/SystemZ/insn-good-z196.s b/test/MC/SystemZ/insn-good-z196.s
index 9d64670..e00f904 100644
--- a/test/MC/SystemZ/insn-good-z196.s
+++ b/test/MC/SystemZ/insn-good-z196.s
@@ -1,6 +1,18 @@
# For z196 and above.
# RUN: llvm-mc -triple s390x-linux-gnu -mcpu=z196 -show-encoding %s | FileCheck %s
+#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]
+#CHECK: ngrk %r15, %r0, %r0 # encoding: [0xb9,0xe4,0x00,0xf0]
+#CHECK: ngrk %r7, %r8, %r9 # encoding: [0xb9,0xe4,0x90,0x78]
+
+ ngrk %r0,%r0,%r0
+ ngrk %r0,%r0,%r15
+ ngrk %r0,%r15,%r0
+ ngrk %r15,%r0,%r0
+ ngrk %r7,%r8,%r9
+
#CHECK: nrk %r0, %r0, %r0 # encoding: [0xb9,0xf4,0x00,0x00]
#CHECK: nrk %r0, %r0, %r15 # encoding: [0xb9,0xf4,0xf0,0x00]
#CHECK: nrk %r0, %r15, %r0 # encoding: [0xb9,0xf4,0x00,0x0f]
@@ -13,6 +25,18 @@
nrk %r15,%r0,%r0
nrk %r7,%r8,%r9
+#CHECK: ogrk %r0, %r0, %r0 # encoding: [0xb9,0xe6,0x00,0x00]
+#CHECK: ogrk %r0, %r0, %r15 # encoding: [0xb9,0xe6,0xf0,0x00]
+#CHECK: ogrk %r0, %r15, %r0 # encoding: [0xb9,0xe6,0x00,0x0f]
+#CHECK: ogrk %r15, %r0, %r0 # encoding: [0xb9,0xe6,0x00,0xf0]
+#CHECK: ogrk %r7, %r8, %r9 # encoding: [0xb9,0xe6,0x90,0x78]
+
+ ogrk %r0,%r0,%r0
+ ogrk %r0,%r0,%r15
+ ogrk %r0,%r15,%r0
+ ogrk %r15,%r0,%r0
+ ogrk %r7,%r8,%r9
+
#CHECK: ork %r0, %r0, %r0 # encoding: [0xb9,0xf6,0x00,0x00]
#CHECK: ork %r0, %r0, %r15 # encoding: [0xb9,0xf6,0xf0,0x00]
#CHECK: ork %r0, %r15, %r0 # encoding: [0xb9,0xf6,0x00,0x0f]
@@ -103,6 +127,18 @@
srlk %r0,%r0,524287(%r1)
srlk %r0,%r0,524287(%r15)
+#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]
+#CHECK: xgrk %r15, %r0, %r0 # encoding: [0xb9,0xe7,0x00,0xf0]
+#CHECK: xgrk %r7, %r8, %r9 # encoding: [0xb9,0xe7,0x90,0x78]
+
+ xgrk %r0,%r0,%r0
+ xgrk %r0,%r0,%r15
+ xgrk %r0,%r15,%r0
+ xgrk %r15,%r0,%r0
+ xgrk %r7,%r8,%r9
+
#CHECK: xrk %r0, %r0, %r0 # encoding: [0xb9,0xf7,0x00,0x00]
#CHECK: xrk %r0, %r0, %r15 # encoding: [0xb9,0xf7,0xf0,0x00]
#CHECK: xrk %r0, %r15, %r0 # encoding: [0xb9,0xf7,0x00,0x0f]