summaryrefslogtreecommitdiffstats
path: root/llvm/test/MC/Disassembler/SystemZ
diff options
context:
space:
mode:
authorUlrich Weigand <ulrich.weigand@de.ibm.com>2016-11-08 18:30:50 +0000
committerUlrich Weigand <ulrich.weigand@de.ibm.com>2016-11-08 18:30:50 +0000
commitd2148caffc1f8aa975e03370e6b441169d424625 (patch)
tree3747e8ab570fa7fb77acdce6554e9ceaa3c7dbc1 /llvm/test/MC/Disassembler/SystemZ
parente527dc62230479e05ca0b5f23c5ed91281f847b4 (diff)
downloadbcm5719-llvm-d2148caffc1f8aa975e03370e6b441169d424625.tar.gz
bcm5719-llvm-d2148caffc1f8aa975e03370e6b441169d424625.zip
[SystemZ] Refactor branch and conditional instruction patterns
Rework patterns for branches, call & return instructions, compare-and-branch, compare-and-trap, and conditional move instructions. In particular, simplify creation of patterns for the extended opcodes of instructions that take a CC mask. Also, use semantical instruction classes for all the instructions instead of open-coding them in SystemZInstrInfo.td. Adds a couple of the basic branch instructions (that are unused for codegen) for the assembler/disassembler. llvm-svn: 286263
Diffstat (limited to 'llvm/test/MC/Disassembler/SystemZ')
-rw-r--r--llvm/test/MC/Disassembler/SystemZ/insns.txt96
1 files changed, 96 insertions, 0 deletions
diff --git a/llvm/test/MC/Disassembler/SystemZ/insns.txt b/llvm/test/MC/Disassembler/SystemZ/insns.txt
index 6c6ac7bbd79..9a1cfe69dec 100644
--- a/llvm/test/MC/Disassembler/SystemZ/insns.txt
+++ b/llvm/test/MC/Disassembler/SystemZ/insns.txt
@@ -778,6 +778,24 @@
# CHECK: ay %r15, 0
0xe3 0xf0 0x00 0x00 0x00 0x5a
+# CHECK: bas %r0, 0
+0x4d 0x00 0x00 0x00
+
+# CHECK: bas %r1, 4095
+0x4d 0x10 0x0f 0xff
+
+# CHECK: bas %r2, 0(%r1)
+0x4d 0x20 0x10 0x00
+
+# CHECK: bas %r3, 0(%r15)
+0x4d 0x30 0xf0 0x00
+
+# CHECK: bas %r14, 4095(%r1,%r15)
+0x4d 0xe1 0xff 0xff
+
+# CHECK: bas %r15, 4095(%r15,%r1)
+0x4d 0xff 0x1f 0xff
+
# CHECK: basr %r0, %r1
0x0d 0x01
@@ -790,6 +808,84 @@
# CHECK: basr %r15, %r1
0x0d 0xf1
+# CHECK: b 0
+0x47 0xf0 0x00 0x00
+
+# CHECK: b 4095
+0x47 0xf0 0x0f 0xff
+
+# CHECK: b 0(%r1)
+0x47 0xf0 0x10 0x00
+
+# CHECK: b 0(%r15)
+0x47 0xf0 0xf0 0x00
+
+# CHECK: b 4095(%r1,%r15)
+0x47 0xf1 0xff 0xff
+
+# CHECK: b 4095(%r15,%r1)
+0x47 0xff 0x1f 0xff
+
+# CHECK: bc 0, 0
+0x47 0x00 0x00 0x00
+
+# CHECK: bc 0, 4095
+0x47 0x00 0x0f 0xff
+
+# CHECK: bc 0, 0(%r1)
+0x47 0x00 0x10 0x00
+
+# CHECK: bc 0, 0(%r15)
+0x47 0x00 0xf0 0x00
+
+# CHECK: bc 0, 4095(%r1,%r15)
+0x47 0x01 0xff 0xff
+
+# CHECK: bc 0, 4095(%r15,%r1)
+0x47 0x0f 0x1f 0xff
+
+# CHECK: bo 0(%r13)
+0x47 0x10 0xd0 0x00
+
+# CHECK: bh 0(%r12)
+0x47 0x20 0xc0 0x00
+
+# CHECK: bnle 0(%r11)
+0x47 0x30 0xb0 0x00
+
+# CHECK: bl 0(%r10)
+0x47 0x40 0xa0 0x00
+
+# CHECK: bnhe 0(%r9)
+0x47 0x50 0x90 0x00
+
+# CHECK: blh 0(%r8)
+0x47 0x60 0x80 0x00
+
+# CHECK: bne 0(%r7)
+0x47 0x70 0x70 0x00
+
+# CHECK: be 0(%r6)
+0x47 0x80 0x60 0x00
+
+# CHECK: bnlh 0(%r5)
+0x47 0x90 0x50 0x00
+
+# CHECK: bhe 0(%r4)
+0x47 0xa0 0x40 0x00
+
+# CHECK: bnl 0(%r3)
+0x47 0xb0 0x30 0x00
+
+# CHECK: ble 0(%r2)
+0x47 0xc0 0x20 0x00
+
+# CHECK: bnh 0(%r1)
+0x47 0xd0 0x10 0x00
+
+# CHECK: bno 0
+0x47 0xe0 0x00 0x00
+
# CHECK: bcr 0, %r14
0x07 0x0e
OpenPOWER on IntegriCloud