summaryrefslogtreecommitdiffstats
path: root/llvm/test
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/test')
-rw-r--r--llvm/test/MC/Disassembler/SystemZ/insns.txt75
-rw-r--r--llvm/test/MC/SystemZ/insn-bad.s8
-rw-r--r--llvm/test/MC/SystemZ/insn-good.s64
3 files changed, 147 insertions, 0 deletions
diff --git a/llvm/test/MC/Disassembler/SystemZ/insns.txt b/llvm/test/MC/Disassembler/SystemZ/insns.txt
index 546e2f45687..c8b49df8d39 100644
--- a/llvm/test/MC/Disassembler/SystemZ/insns.txt
+++ b/llvm/test/MC/Disassembler/SystemZ/insns.txt
@@ -778,6 +778,36 @@
# CHECK: ay %r15, 0
0xe3 0xf0 0x00 0x00 0x00 0x5a
+# CHECK: bal %r0, 0
+0x45 0x00 0x00 0x00
+
+# CHECK: bal %r1, 4095
+0x45 0x10 0x0f 0xff
+
+# CHECK: bal %r2, 0(%r1)
+0x45 0x20 0x10 0x00
+
+# CHECK: bal %r3, 0(%r15)
+0x45 0x30 0xf0 0x00
+
+# CHECK: bal %r14, 4095(%r1,%r15)
+0x45 0xe1 0xff 0xff
+
+# CHECK: bal %r15, 4095(%r15,%r1)
+0x45 0xff 0x1f 0xff
+
+# CHECK: balr %r0, %r1
+0x05 0x01
+
+# CHECK: balr %r0, %r15
+0x05 0x0f
+
+# CHECK: balr %r14, %r9
+0x05 0xe9
+
+# CHECK: balr %r15, %r1
+0x05 0xf1
+
# CHECK: bas %r0, 0
0x4d 0x00 0x00 0x00
@@ -808,6 +838,30 @@
# CHECK: basr %r15, %r1
0x0d 0xf1
+# CHECK: bassm %r0, %r1
+0x0c 0x01
+
+# CHECK: bassm %r0, %r15
+0x0c 0x0f
+
+# CHECK: bassm %r14, %r9
+0x0c 0xe9
+
+# CHECK: bassm %r15, %r1
+0x0c 0xf1
+
+# CHECK: bsm %r0, %r1
+0x0b 0x01
+
+# CHECK: bsm %r0, %r15
+0x0b 0x0f
+
+# CHECK: bsm %r14, %r9
+0x0b 0xe9
+
+# CHECK: bsm %r15, %r1
+0x0b 0xf1
+
# CHECK: b 0
0x47 0xf0 0x00 0x00
@@ -7846,6 +7900,15 @@
# CHECK: sar %a15, %r15
0xb2 0x4e 0x00 0xff
+# CHECK: sam24
+0x01 0x0c
+
+# CHECK: sam31
+0x01 0x0d
+
+# CHECK: sam64
+0x01 0x0e
+
# CHECK: sdbr %f0, %f0
0xb3 0x1b 0x00 0x00
@@ -8473,6 +8536,15 @@
# CHECK: sqdbr %f0, %f0
0xb3 0x15 0x00 0x00
+# CHECK: spm %r0
+0x04 0x00
+
+# CHECK: spm %r1
+0x04 0x10
+
+# CHECK: spm %r15
+0x04 0xf0
+
# CHECK: sqdbr %f0, %f15
0xb3 0x15 0x00 0x0f
@@ -9712,6 +9784,9 @@
# CHECK: sy %r15, 0
0xe3 0xf0 0x00 0x00 0x00 0x5b
+# CHECK: tam
+0x01 0x0b
+
# CHECK: tabort 0
0xb2 0xfc 0x00 0x00
diff --git a/llvm/test/MC/SystemZ/insn-bad.s b/llvm/test/MC/SystemZ/insn-bad.s
index 81f6cfed007..c5b1991a9d9 100644
--- a/llvm/test/MC/SystemZ/insn-bad.s
+++ b/llvm/test/MC/SystemZ/insn-bad.s
@@ -259,6 +259,14 @@
ay %r0, 524288
#CHECK: error: invalid operand
+#CHECK: bal %r0, -1
+#CHECK: error: invalid operand
+#CHECK: bal %r0, 4096
+
+ bal %r0, -1
+ bal %r0, 4096
+
+#CHECK: error: invalid operand
#CHECK: bas %r0, -1
#CHECK: error: invalid operand
#CHECK: bas %r0, 4096
diff --git a/llvm/test/MC/SystemZ/insn-good.s b/llvm/test/MC/SystemZ/insn-good.s
index da2decb07e4..854cf1e0250 100644
--- a/llvm/test/MC/SystemZ/insn-good.s
+++ b/llvm/test/MC/SystemZ/insn-good.s
@@ -517,6 +517,30 @@
ay %r0, 524287(%r15,%r1)
ay %r15, 0
+#CHECK: bal %r0, 0 # encoding: [0x45,0x00,0x00,0x00]
+#CHECK: bal %r1, 4095 # encoding: [0x45,0x10,0x0f,0xff]
+#CHECK: bal %r2, 0(%r1) # encoding: [0x45,0x20,0x10,0x00]
+#CHECK: bal %r3, 0(%r15) # encoding: [0x45,0x30,0xf0,0x00]
+#CHECK: bal %r14, 4095(%r1,%r15) # encoding: [0x45,0xe1,0xff,0xff]
+#CHECK: bal %r15, 4095(%r15,%r1) # encoding: [0x45,0xff,0x1f,0xff]
+
+ bal %r0, 0
+ bal %r1, 4095
+ bal %r2, 0(%r1)
+ bal %r3, 0(%r15)
+ bal %r14, 4095(%r1,%r15)
+ bal %r15, 4095(%r15,%r1)
+
+#CHECK: balr %r0, %r1 # encoding: [0x05,0x01]
+#CHECK: balr %r0, %r15 # encoding: [0x05,0x0f]
+#CHECK: balr %r14, %r9 # encoding: [0x05,0xe9]
+#CHECK: balr %r15, %r1 # encoding: [0x05,0xf1]
+
+ balr %r0,%r1
+ balr %r0,%r15
+ balr %r14,%r9
+ balr %r15,%r1
+
#CHECK: bas %r0, 0 # encoding: [0x4d,0x00,0x00,0x00]
#CHECK: bas %r1, 4095 # encoding: [0x4d,0x10,0x0f,0xff]
#CHECK: bas %r2, 0(%r1) # encoding: [0x4d,0x20,0x10,0x00]
@@ -541,6 +565,26 @@
basr %r14,%r9
basr %r15,%r1
+#CHECK: bassm %r0, %r1 # encoding: [0x0c,0x01]
+#CHECK: bassm %r0, %r15 # encoding: [0x0c,0x0f]
+#CHECK: bassm %r14, %r9 # encoding: [0x0c,0xe9]
+#CHECK: bassm %r15, %r1 # encoding: [0x0c,0xf1]
+
+ bassm %r0,%r1
+ bassm %r0,%r15
+ bassm %r14,%r9
+ bassm %r15,%r1
+
+#CHECK: bsm %r0, %r1 # encoding: [0x0b,0x01]
+#CHECK: bsm %r0, %r15 # encoding: [0x0b,0x0f]
+#CHECK: bsm %r14, %r9 # encoding: [0x0b,0xe9]
+#CHECK: bsm %r15, %r1 # encoding: [0x0b,0xf1]
+
+ bsm %r0,%r1
+ bsm %r0,%r15
+ bsm %r14,%r9
+ bsm %r15,%r1
+
#CHECK: b 0 # encoding: [0x47,0xf0,0x00,0x00]
#CHECK: b 4095 # encoding: [0x47,0xf0,0x0f,0xff]
#CHECK: b 0(%r1) # encoding: [0x47,0xf0,0x10,0x00]
@@ -8775,6 +8819,14 @@
sar %a7, %r8
sar %a15, %r15
+#CHECK: sam24 # encoding: [0x01,0x0c]
+#CHECK: sam31 # encoding: [0x01,0x0d]
+#CHECK: sam64 # encoding: [0x01,0x0e]
+
+ sam24
+ sam31
+ sam64
+
#CHECK: sdb %f0, 0 # encoding: [0xed,0x00,0x00,0x00,0x00,0x1b]
#CHECK: sdb %f0, 4095 # encoding: [0xed,0x00,0x0f,0xff,0x00,0x1b]
#CHECK: sdb %f0, 0(%r1) # encoding: [0xed,0x00,0x10,0x00,0x00,0x1b]
@@ -9183,6 +9235,14 @@
sly %r0, 524287(%r15,%r1)
sly %r15, 0
+#CHECK: spm %r0 # encoding: [0x04,0x00]
+#CHECK: spm %r1 # encoding: [0x04,0x10]
+#CHECK: spm %r15 # encoding: [0x04,0xf0]
+
+ spm %r0
+ spm %r1
+ spm %r15
+
#CHECK: sqdb %f0, 0 # encoding: [0xed,0x00,0x00,0x00,0x00,0x15]
#CHECK: sqdb %f0, 4095 # encoding: [0xed,0x00,0x0f,0xff,0x00,0x15]
#CHECK: sqdb %f0, 0(%r1) # encoding: [0xed,0x00,0x10,0x00,0x00,0x15]
@@ -10018,6 +10078,10 @@
sy %r0, 524287(%r15,%r1)
sy %r15, 0
+#CHECK: tam # encoding: [0x01,0x0b]
+
+ tam
+
#CHECK: tcdb %f0, 0 # encoding: [0xed,0x00,0x00,0x00,0x00,0x11]
#CHECK: tcdb %f0, 4095 # encoding: [0xed,0x00,0x0f,0xff,0x00,0x11]
#CHECK: tcdb %f0, 0(%r1) # encoding: [0xed,0x00,0x10,0x00,0x00,0x11]
OpenPOWER on IntegriCloud