summaryrefslogtreecommitdiffstats
path: root/llvm/test/MC/Disassembler/SystemZ
diff options
context:
space:
mode:
authorZhan Jun Liau <zhanjunl@ca.ibm.com>2016-07-08 16:18:40 +0000
committerZhan Jun Liau <zhanjunl@ca.ibm.com>2016-07-08 16:18:40 +0000
commit3b4c3f4d5164e39014a2d763e861a281885f7011 (patch)
tree7ffe10cbff89988688fc89527a3d78d6698cb7dd /llvm/test/MC/Disassembler/SystemZ
parent13a4583714d0f15bca47923cc6c359cebb2bf8f0 (diff)
downloadbcm5719-llvm-3b4c3f4d5164e39014a2d763e861a281885f7011.tar.gz
bcm5719-llvm-3b4c3f4d5164e39014a2d763e861a281885f7011.zip
[SystemZ] Add support for missing instructions
Summary: Add support to allow clang integrated assembler to recognize some missing instructions, for openssl. Instructions are: LM, LMH, LMY, STM, STMH, STMY, ICM, ICMH, ICMY, SLA, SLAK, TML, TMH, EX, EXRL. Reviewers: uweigand Subscribers: koriakin, llvm-commits Differential Revision: http://reviews.llvm.org/D22050 llvm-svn: 274869
Diffstat (limited to 'llvm/test/MC/Disassembler/SystemZ')
-rw-r--r--llvm/test/MC/Disassembler/SystemZ/insns-pcrel.txt32
-rw-r--r--llvm/test/MC/Disassembler/SystemZ/insns.txt378
2 files changed, 410 insertions, 0 deletions
diff --git a/llvm/test/MC/Disassembler/SystemZ/insns-pcrel.txt b/llvm/test/MC/Disassembler/SystemZ/insns-pcrel.txt
index b7edab65e70..d3579481e1f 100644
--- a/llvm/test/MC/Disassembler/SystemZ/insns-pcrel.txt
+++ b/llvm/test/MC/Disassembler/SystemZ/insns-pcrel.txt
@@ -1730,3 +1730,35 @@
# 0x000009d2:
# CHECK: clij %r0, 0, 15, 0x9d2
0xec 0x0f 0x00 0x00 0x00 0x7f
+
+# 0x000009d8:
+# CHECK: exrl %r0, 0x9d8
+0xc6 0x00 0x00 0x00 0x00 0x00
+
+# 0x000009de:
+# CHECK: exrl %r15, 0x9de
+0xc6 0xf0 0x00 0x00 0x00 0x00
+
+# 0x000009e4:
+# CHECK: exrl %r0, 0x9e2
+0xc6 0x00 0xff 0xff 0xff 0xff
+
+# 0x000009ea:
+# CHECK: exrl %r15, 0x9e8
+0xc6 0xf0 0xff 0xff 0xff 0xff
+
+# 0x000009f0:
+# CHECK: exrl %r0, 0xffffffff000009f0
+0xc6 0x00 0x80 0x00 0x00 0x00
+
+# 0x000009f6:
+# CHECK: exrl %r15, 0xffffffff000009f6
+0xc6 0xf0 0x80 0x00 0x00 0x00
+
+# 0x000009fc:
+# CHECK: exrl %r0, 0x1000009fa
+0xc6 0x00 0x7f 0xff 0xff 0xff
+
+# 0x00000a02:
+# CHECK: exrl %r15, 0x100000a00
+0xc6 0xf0 0x7f 0xff 0xff 0xff
diff --git a/llvm/test/MC/Disassembler/SystemZ/insns.txt b/llvm/test/MC/Disassembler/SystemZ/insns.txt
index 29c1ece1cb4..80756baed6b 100644
--- a/llvm/test/MC/Disassembler/SystemZ/insns.txt
+++ b/llvm/test/MC/Disassembler/SystemZ/insns.txt
@@ -3208,6 +3208,27 @@
# CHECK: etnd %r7
0xb2 0xec 0x00 0x70
+# CHECK: ex %r0, 0
+0x44 0x00 0x00 0x00
+
+# CHECK: ex %r0, 4095
+0x44 0x00 0x0f 0xff
+
+# CHECK: ex %r0, 0(%r1)
+0x44 0x00 0x10 0x00
+
+# CHECK: ex %r0, 0(%r15)
+0x44 0x00 0xf0 0x00
+
+# CHECK: ex %r0, 4095(%r1,%r15)
+0x44 0x01 0xff 0xff
+
+# CHECK: ex %r0, 4095(%r15,%r1)
+0x44 0x0f 0x1f 0xff
+
+# CHECK: ex %r15, 0
+0x44 0xf0 0x00 0x00
+
# CHECK: fidbr %f0, 0, %f0
0xb3 0x5f 0x00 0x00
@@ -3340,6 +3361,87 @@
# CHECK: ic %r15, 0
0x43 0xf0 0x00 0x00
+# CHECK: icm %r0, 0, 0
+0xbf 0x00 0x00 0x00
+
+# CHECK: icm %r0, 15, 4095
+0xbf 0x0f 0x0f 0xff
+
+# CHECK: icm %r0, 0, 0(%r1)
+0xbf 0x00 0x10 0x00
+
+# CHECK: icm %r0, 0, 0(%r15)
+0xbf 0x00 0xf0 0x00
+
+# CHECK: icm %r0, 15, 4095(%r15)
+0xbf 0x0f 0xff 0xff
+
+# CHECK: icm %r0, 0, 4095(%r1)
+0xbf 0x00 0x1f 0xff
+
+# CHECK: icm %r15, 0, 0
+0xbf 0xf0 0x00 0x00
+
+# CHECK: icmh %r0, 0, -524288
+0xeb 0x00 0x00 0x00 0x80 0x80
+
+# CHECK: icmh %r0, 0, -1
+0xeb 0x00 0x0f 0xff 0xff 0x80
+
+# CHECK: icmh %r0, 15, 0
+0xeb 0x0f 0x00 0x00 0x00 0x80
+
+# CHECK: icmh %r0, 15, 1
+0xeb 0x0f 0x00 0x01 0x00 0x80
+
+# CHECK: icmh %r0, 8, 524287
+0xeb 0x08 0x0f 0xff 0x7f 0x80
+
+# CHECK: icmh %r0, 8, 0(%r1)
+0xeb 0x08 0x10 0x00 0x00 0x80
+
+# CHECK: icmh %r0, 4, 0(%r15)
+0xeb 0x04 0xf0 0x00 0x00 0x80
+
+# CHECK: icmh %r0, 4, 524287(%r15)
+0xeb 0x04 0xff 0xff 0x7f 0x80
+
+# CHECK: icmh %r0, 0, 524287(%r1)
+0xeb 0x00 0x1f 0xff 0x7f 0x80
+
+# CHECK: icmh %r15, 0, 0
+0xeb 0xf0 0x00 0x00 0x00 0x80
+
+# CHECK: icmy %r0, 0, -524288
+0xeb 0x00 0x00 0x00 0x80 0x81
+
+# CHECK: icmy %r0, 0, -1
+0xeb 0x00 0x0f 0xff 0xff 0x81
+
+# CHECK: icmy %r0, 15, 0
+0xeb 0x0f 0x00 0x00 0x00 0x81
+
+# CHECK: icmy %r0, 15, 1
+0xeb 0x0f 0x00 0x01 0x00 0x81
+
+# CHECK: icmy %r0, 8, 524287
+0xeb 0x08 0x0f 0xff 0x7f 0x81
+
+# CHECK: icmy %r0, 8, 0(%r1)
+0xeb 0x08 0x10 0x00 0x00 0x81
+
+# CHECK: icmy %r0, 4, 0(%r15)
+0xeb 0x04 0xf0 0x00 0x00 0x81
+
+# CHECK: icmy %r0, 4, 524287(%r15)
+0xeb 0x04 0xff 0xff 0x7f 0x81
+
+# CHECK: icmy %r0, 0, 524287(%r1)
+0xeb 0x00 0x1f 0xff 0x7f 0x81
+
+# CHECK: icmy %r15, 0, 0
+0xeb 0xf0 0x00 0x00 0x00 0x81
+
# CHECK: icy %r0, -524288
0xe3 0x00 0x00 0x00 0x80 0x73
@@ -4906,6 +5008,36 @@
# CHECK: llill %r15, 0
0xa5 0xff 0x00 0x00
+# CHECK: lm %r0, %r0, 0
+0x98 0x00 0x00 0x00
+
+# CHECK: lm %r0, %r15, 0
+0x98 0x0f 0x00 0x00
+
+# CHECK: lm %r14, %r15, 0
+0x98 0xef 0x00 0x00
+
+# CHECK: lm %r15, %r15, 0
+0x98 0xff 0x00 0x00
+
+# CHECK: lm %r0, %r0, 4095
+0x98 0x00 0x0f 0xff
+
+# CHECK: lm %r0, %r0, 1
+0x98 0x00 0x00 0x01
+
+# CHECK: lm %r0, %r0, 0(%r1)
+0x98 0x00 0x10 0x00
+
+# CHECK: lm %r0, %r0, 0(%r15)
+0x98 0x00 0xf0 0x00
+
+# CHECK: lm %r0, %r0, 4095(%r1)
+0x98 0x00 0x1f 0xff
+
+# CHECK: lm %r0, %r0, 4095(%r15)
+0x98 0x00 0xff 0xff
+
# CHECK: lmg %r0, %r0, 0
0xeb 0x00 0x00 0x00 0x00 0x04
@@ -4945,6 +5077,84 @@
# CHECK: lmg %r0, %r0, 524287(%r15)
0xeb 0x00 0xff 0xff 0x7f 0x04
+# CHECK: lmh %r0, %r0, 0
+0xeb 0x00 0x00 0x00 0x00 0x96
+
+# CHECK: lmh %r0, %r15, 0
+0xeb 0x0f 0x00 0x00 0x00 0x96
+
+# CHECK: lmh %r14, %r15, 0
+0xeb 0xef 0x00 0x00 0x00 0x96
+
+# CHECK: lmh %r15, %r15, 0
+0xeb 0xff 0x00 0x00 0x00 0x96
+
+# CHECK: lmh %r0, %r0, -524288
+0xeb 0x00 0x00 0x00 0x80 0x96
+
+# CHECK: lmh %r0, %r0, -1
+0xeb 0x00 0x0f 0xff 0xff 0x96
+
+# CHECK: lmh %r0, %r0, 0
+0xeb 0x00 0x00 0x00 0x00 0x96
+
+# CHECK: lmh %r0, %r0, 1
+0xeb 0x00 0x00 0x01 0x00 0x96
+
+# CHECK: lmh %r0, %r0, 524287
+0xeb 0x00 0x0f 0xff 0x7f 0x96
+
+# CHECK: lmh %r0, %r0, 0(%r1)
+0xeb 0x00 0x10 0x00 0x00 0x96
+
+# CHECK: lmh %r0, %r0, 0(%r15)
+0xeb 0x00 0xf0 0x00 0x00 0x96
+
+# CHECK: lmh %r0, %r0, 524287(%r1)
+0xeb 0x00 0x1f 0xff 0x7f 0x96
+
+# CHECK: lmh %r0, %r0, 524287(%r15)
+0xeb 0x00 0xff 0xff 0x7f 0x96
+
+# CHECK: lmy %r0, %r0, 0
+0xeb 0x00 0x00 0x00 0x00 0x98
+
+# CHECK: lmy %r0, %r15, 0
+0xeb 0x0f 0x00 0x00 0x00 0x98
+
+# CHECK: lmy %r14, %r15, 0
+0xeb 0xef 0x00 0x00 0x00 0x98
+
+# CHECK: lmy %r15, %r15, 0
+0xeb 0xff 0x00 0x00 0x00 0x98
+
+# CHECK: lmy %r0, %r0, -524288
+0xeb 0x00 0x00 0x00 0x80 0x98
+
+# CHECK: lmy %r0, %r0, -1
+0xeb 0x00 0x0f 0xff 0xff 0x98
+
+# CHECK: lmy %r0, %r0, 0
+0xeb 0x00 0x00 0x00 0x00 0x98
+
+# CHECK: lmy %r0, %r0, 1
+0xeb 0x00 0x00 0x01 0x00 0x98
+
+# CHECK: lmy %r0, %r0, 524287
+0xeb 0x00 0x0f 0xff 0x7f 0x98
+
+# CHECK: lmy %r0, %r0, 0(%r1)
+0xeb 0x00 0x10 0x00 0x00 0x98
+
+# CHECK: lmy %r0, %r0, 0(%r15)
+0xeb 0x00 0xf0 0x00 0x00 0x98
+
+# CHECK: lmy %r0, %r0, 524287(%r1)
+0xeb 0x00 0x1f 0xff 0x7f 0x98
+
+# CHECK: lmy %r0, %r0, 524287(%r15)
+0xeb 0x00 0xff 0xff 0x7f 0x98
+
# CHECK: lndbr %f0, %f9
0xb3 0x11 0x00 0x09
@@ -7552,6 +7762,66 @@
# CHECK: shy %r15, 0
0xe3 0xf0 0x00 0x00 0x00 0x7b
+# CHECK: sla %r0, 0
+0x8b 0x00 0x00 0x00
+
+# CHECK: sla %r7, 0
+0x8b 0x70 0x00 0x00
+
+# CHECK: sla %r15, 0
+0x8b 0xf0 0x00 0x00
+
+# CHECK: sla %r0, 4095
+0x8b 0x00 0x0f 0xff
+
+# CHECK: sla %r0, 0(%r1)
+0x8b 0x00 0x10 0x00
+
+# CHECK: sla %r0, 0(%r15)
+0x8b 0x00 0xf0 0x00
+
+# CHECK: sla %r0, 4095(%r1)
+0x8b 0x00 0x1f 0xff
+
+# CHECK: sla %r0, 4095(%r15)
+0x8b 0x00 0xff 0xff
+
+# CHECK: slak %r0, %r0, 0
+0xeb 0x00 0x00 0x00 0x00 0xdd
+
+# CHECK: slak %r15, %r1, 0
+0xeb 0xf1 0x00 0x00 0x00 0xdd
+
+# CHECK: slak %r1, %r15, 0
+0xeb 0x1f 0x00 0x00 0x00 0xdd
+
+# CHECK: slak %r15, %r15, 0
+0xeb 0xff 0x00 0x00 0x00 0xdd
+
+# CHECK: slak %r0, %r0, -524288
+0xeb 0x00 0x00 0x00 0x80 0xdd
+
+# CHECK: slak %r0, %r0, -1
+0xeb 0x00 0x0f 0xff 0xff 0xdd
+
+# CHECK: slak %r0, %r0, 1
+0xeb 0x00 0x00 0x01 0x00 0xdd
+
+# CHECK: slak %r0, %r0, 524287
+0xeb 0x00 0x0f 0xff 0x7f 0xdd
+
+# CHECK: slak %r0, %r0, 0(%r1)
+0xeb 0x00 0x10 0x00 0x00 0xdd
+
+# CHECK: slak %r0, %r0, 0(%r15)
+0xeb 0x00 0xf0 0x00 0x00 0xdd
+
+# CHECK: slak %r0, %r0, 524287(%r1)
+0xeb 0x00 0x1f 0xff 0x7f 0xdd
+
+# CHECK: slak %r0, %r0, 524287(%r15)
+0xeb 0x00 0xff 0xff 0x7f 0xdd
+
# CHECK: slbgr %r0, %r0
0xb9 0x89 0x00 0x00
@@ -8605,6 +8875,36 @@
# CHECK: sthy %r15, 0
0xe3 0xf0 0x00 0x00 0x00 0x70
+# CHECK: stm %r0, %r0, 0
+0x90 0x00 0x00 0x00
+
+# CHECK: stm %r0, %r15, 0
+0x90 0x0f 0x00 0x00
+
+# CHECK: stm %r14, %r15, 0
+0x90 0xef 0x00 0x00
+
+# CHECK: stm %r15, %r15, 0
+0x90 0xff 0x00 0x00
+
+# CHECK: stm %r0, %r0, 4095
+0x90 0x00 0x0f 0xff
+
+# CHECK: stm %r0, %r0, 1
+0x90 0x00 0x00 0x01
+
+# CHECK: stm %r0, %r0, 0(%r1)
+0x90 0x00 0x10 0x00
+
+# CHECK: stm %r0, %r0, 0(%r15)
+0x90 0x00 0xf0 0x00
+
+# CHECK: stm %r0, %r0, 4095(%r1)
+0x90 0x00 0x1f 0xff
+
+# CHECK: stm %r0, %r0, 4095(%r15)
+0x90 0x00 0xff 0xff
+
# CHECK: stmg %r0, %r0, 0
0xeb 0x00 0x00 0x00 0x00 0x24
@@ -8644,6 +8944,84 @@
# CHECK: stmg %r0, %r0, 524287(%r15)
0xeb 0x00 0xff 0xff 0x7f 0x24
+# CHECK: stmh %r0, %r0, 0
+0xeb 0x00 0x00 0x00 0x00 0x26
+
+# CHECK: stmh %r0, %r15, 0
+0xeb 0x0f 0x00 0x00 0x00 0x26
+
+# CHECK: stmh %r14, %r15, 0
+0xeb 0xef 0x00 0x00 0x00 0x26
+
+# CHECK: stmh %r15, %r15, 0
+0xeb 0xff 0x00 0x00 0x00 0x26
+
+# CHECK: stmh %r0, %r0, -524288
+0xeb 0x00 0x00 0x00 0x80 0x26
+
+# CHECK: stmh %r0, %r0, -1
+0xeb 0x00 0x0f 0xff 0xff 0x26
+
+# CHECK: stmh %r0, %r0, 0
+0xeb 0x00 0x00 0x00 0x00 0x26
+
+# CHECK: stmh %r0, %r0, 1
+0xeb 0x00 0x00 0x01 0x00 0x26
+
+# CHECK: stmh %r0, %r0, 524287
+0xeb 0x00 0x0f 0xff 0x7f 0x26
+
+# CHECK: stmh %r0, %r0, 0(%r1)
+0xeb 0x00 0x10 0x00 0x00 0x26
+
+# CHECK: stmh %r0, %r0, 0(%r15)
+0xeb 0x00 0xf0 0x00 0x00 0x26
+
+# CHECK: stmh %r0, %r0, 524287(%r1)
+0xeb 0x00 0x1f 0xff 0x7f 0x26
+
+# CHECK: stmh %r0, %r0, 524287(%r15)
+0xeb 0x00 0xff 0xff 0x7f 0x26
+
+# CHECK: stmy %r0, %r0, 0
+0xeb 0x00 0x00 0x00 0x00 0x90
+
+# CHECK: stmy %r0, %r15, 0
+0xeb 0x0f 0x00 0x00 0x00 0x90
+
+# CHECK: stmy %r14, %r15, 0
+0xeb 0xef 0x00 0x00 0x00 0x90
+
+# CHECK: stmy %r15, %r15, 0
+0xeb 0xff 0x00 0x00 0x00 0x90
+
+# CHECK: stmy %r0, %r0, -524288
+0xeb 0x00 0x00 0x00 0x80 0x90
+
+# CHECK: stmy %r0, %r0, -1
+0xeb 0x00 0x0f 0xff 0xff 0x90
+
+# CHECK: stmy %r0, %r0, 0
+0xeb 0x00 0x00 0x00 0x00 0x90
+
+# CHECK: stmy %r0, %r0, 1
+0xeb 0x00 0x00 0x01 0x00 0x90
+
+# CHECK: stmy %r0, %r0, 524287
+0xeb 0x00 0x0f 0xff 0x7f 0x90
+
+# CHECK: stmy %r0, %r0, 0(%r1)
+0xeb 0x00 0x10 0x00 0x00 0x90
+
+# CHECK: stmy %r0, %r0, 0(%r15)
+0xeb 0x00 0xf0 0x00 0x00 0x90
+
+# CHECK: stmy %r0, %r0, 524287(%r1)
+0xeb 0x00 0x1f 0xff 0x7f 0x90
+
+# CHECK: stmy %r0, %r0, 524287(%r15)
+0xeb 0x00 0xff 0xff 0x7f 0x90
+
# CHECK: strvg %r0, -524288
0xe3 0x00 0x00 0x00 0x80 0x2f
OpenPOWER on IntegriCloud