summaryrefslogtreecommitdiff
path: root/test/MC
diff options
context:
space:
mode:
authorRichard Sandiford <rsandifo@linux.vnet.ibm.com>2013-08-12 10:17:33 +0000
committerRichard Sandiford <rsandifo@linux.vnet.ibm.com>2013-08-12 10:17:33 +0000
commite03a56d62fc623e2f72d623b816f91b293d5904b (patch)
treea44f78deb25219ad36468a9d206b887fab879389 /test/MC
parentf37c8feb468a0e1876c08bdeb449bdb5999c0534 (diff)
downloadllvm-e03a56d62fc623e2f72d623b816f91b293d5904b.tar.gz
llvm-e03a56d62fc623e2f72d623b816f91b293d5904b.tar.bz2
llvm-e03a56d62fc623e2f72d623b816f91b293d5904b.tar.xz
[SystemZ] Add a definition of the CLC instruction
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188162 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/MC')
-rw-r--r--test/MC/Disassembler/SystemZ/insns.txt72
-rw-r--r--test/MC/SystemZ/insn-bad.s44
-rw-r--r--test/MC/SystemZ/insn-good.s26
3 files changed, 142 insertions, 0 deletions
diff --git a/test/MC/Disassembler/SystemZ/insns.txt b/test/MC/Disassembler/SystemZ/insns.txt
index 97e41fee12..f76c83a125 100644
--- a/test/MC/Disassembler/SystemZ/insns.txt
+++ b/test/MC/Disassembler/SystemZ/insns.txt
@@ -1333,6 +1333,42 @@
# CHECK: chy %r15, 0
0xe3 0xf0 0x00 0x00 0x00 0x79
+# CHECK: clc 0(1), 0
+0xd5 0x00 0x00 0x00 0x00 0x00
+
+# CHECK: clc 0(1), 0(%r1)
+0xd5 0x00 0x00 0x00 0x10 0x00
+
+# CHECK: clc 0(1), 0(%r15)
+0xd5 0x00 0x00 0x00 0xf0 0x00
+
+# CHECK: clc 0(1), 4095
+0xd5 0x00 0x00 0x00 0x0f 0xff
+
+# CHECK: clc 0(1), 4095(%r1)
+0xd5 0x00 0x00 0x00 0x1f 0xff
+
+# CHECK: clc 0(1), 4095(%r15)
+0xd5 0x00 0x00 0x00 0xff 0xff
+
+# CHECK: clc 0(1,%r1), 0
+0xd5 0x00 0x10 0x00 0x00 0x00
+
+# CHECK: clc 0(1,%r15), 0
+0xd5 0x00 0xf0 0x00 0x00 0x00
+
+# CHECK: clc 4095(1,%r1), 0
+0xd5 0x00 0x1f 0xff 0x00 0x00
+
+# CHECK: clc 4095(1,%r15), 0
+0xd5 0x00 0xff 0xff 0x00 0x00
+
+# CHECK: clc 0(256,%r1), 0
+0xd5 0xff 0x10 0x00 0x00 0x00
+
+# CHECK: clc 0(256,%r15), 0
+0xd5 0xff 0xf0 0x00 0x00 0x00
+
# CHECK: clfhsi 0, 0
0xe5 0x5d 0x00 0x00 0x00 0x00
@@ -4444,6 +4480,42 @@
# CHECK: msy %r15, 0
0xe3 0xf0 0x00 0x00 0x00 0x51
+# CHECK: mvc 0(1), 0
+0xd2 0x00 0x00 0x00 0x00 0x00
+
+# CHECK: mvc 0(1), 0(%r1)
+0xd2 0x00 0x00 0x00 0x10 0x00
+
+# CHECK: mvc 0(1), 0(%r15)
+0xd2 0x00 0x00 0x00 0xf0 0x00
+
+# CHECK: mvc 0(1), 4095
+0xd2 0x00 0x00 0x00 0x0f 0xff
+
+# CHECK: mvc 0(1), 4095(%r1)
+0xd2 0x00 0x00 0x00 0x1f 0xff
+
+# CHECK: mvc 0(1), 4095(%r15)
+0xd2 0x00 0x00 0x00 0xff 0xff
+
+# CHECK: mvc 0(1,%r1), 0
+0xd2 0x00 0x10 0x00 0x00 0x00
+
+# CHECK: mvc 0(1,%r15), 0
+0xd2 0x00 0xf0 0x00 0x00 0x00
+
+# CHECK: mvc 4095(1,%r1), 0
+0xd2 0x00 0x1f 0xff 0x00 0x00
+
+# CHECK: mvc 4095(1,%r15), 0
+0xd2 0x00 0xff 0xff 0x00 0x00
+
+# CHECK: mvc 0(256,%r1), 0
+0xd2 0xff 0x10 0x00 0x00 0x00
+
+# CHECK: mvc 0(256,%r15), 0
+0xd2 0xff 0xf0 0x00 0x00 0x00
+
# CHECK: mvghi 0, 0
0xe5 0x48 0x00 0x00 0x00 0x00
diff --git a/test/MC/SystemZ/insn-bad.s b/test/MC/SystemZ/insn-bad.s
index b730637cd3..228467004b 100644
--- a/test/MC/SystemZ/insn-bad.s
+++ b/test/MC/SystemZ/insn-bad.s
@@ -712,6 +712,50 @@
cl %r0, -1
cl %r0, 4096
+#CHECK: error: missing length in address
+#CHECK: clc 0, 0
+#CHECK: error: missing length in address
+#CHECK: clc 0(%r1), 0(%r1)
+#CHECK: error: invalid use of length addressing
+#CHECK: clc 0(1,%r1), 0(2,%r1)
+#CHECK: error: invalid operand
+#CHECK: clc 0(0,%r1), 0(%r1)
+#CHECK: error: invalid operand
+#CHECK: clc 0(257,%r1), 0(%r1)
+#CHECK: error: invalid operand
+#CHECK: clc -1(1,%r1), 0(%r1)
+#CHECK: error: invalid operand
+#CHECK: clc 4096(1,%r1), 0(%r1)
+#CHECK: error: invalid operand
+#CHECK: clc 0(1,%r1), -1(%r1)
+#CHECK: error: invalid operand
+#CHECK: clc 0(1,%r1), 4096(%r1)
+#CHECK: error: %r0 used in an address
+#CHECK: clc 0(1,%r0), 0(%r1)
+#CHECK: error: %r0 used in an address
+#CHECK: clc 0(1,%r1), 0(%r0)
+#CHECK: error: invalid use of indexed addressing
+#CHECK: clc 0(%r1,%r2), 0(%r1)
+#CHECK: error: invalid use of indexed addressing
+#CHECK: clc 0(1,%r2), 0(%r1,%r2)
+#CHECK: error: unknown token in expression
+#CHECK: clc 0(-), 0
+
+ clc 0, 0
+ clc 0(%r1), 0(%r1)
+ clc 0(1,%r1), 0(2,%r1)
+ clc 0(0,%r1), 0(%r1)
+ clc 0(257,%r1), 0(%r1)
+ clc -1(1,%r1), 0(%r1)
+ clc 4096(1,%r1), 0(%r1)
+ clc 0(1,%r1), -1(%r1)
+ clc 0(1,%r1), 4096(%r1)
+ clc 0(1,%r0), 0(%r1)
+ clc 0(1,%r1), 0(%r0)
+ clc 0(%r1,%r2), 0(%r1)
+ clc 0(1,%r2), 0(%r1,%r2)
+ clc 0(-), 0
+
#CHECK: error: invalid operand
#CHECK: clfhsi -1, 0
#CHECK: error: invalid operand
diff --git a/test/MC/SystemZ/insn-good.s b/test/MC/SystemZ/insn-good.s
index c4e09e4778..9fd0d0c7dc 100644
--- a/test/MC/SystemZ/insn-good.s
+++ b/test/MC/SystemZ/insn-good.s
@@ -2454,6 +2454,32 @@
cl %r0, 4095(%r15,%r1)
cl %r15, 0
+#CHECK: clc 0(1), 0 # encoding: [0xd5,0x00,0x00,0x00,0x00,0x00]
+#CHECK: clc 0(1), 0(%r1) # encoding: [0xd5,0x00,0x00,0x00,0x10,0x00]
+#CHECK: clc 0(1), 0(%r15) # encoding: [0xd5,0x00,0x00,0x00,0xf0,0x00]
+#CHECK: clc 0(1), 4095 # encoding: [0xd5,0x00,0x00,0x00,0x0f,0xff]
+#CHECK: clc 0(1), 4095(%r1) # encoding: [0xd5,0x00,0x00,0x00,0x1f,0xff]
+#CHECK: clc 0(1), 4095(%r15) # encoding: [0xd5,0x00,0x00,0x00,0xff,0xff]
+#CHECK: clc 0(1,%r1), 0 # encoding: [0xd5,0x00,0x10,0x00,0x00,0x00]
+#CHECK: clc 0(1,%r15), 0 # encoding: [0xd5,0x00,0xf0,0x00,0x00,0x00]
+#CHECK: clc 4095(1,%r1), 0 # encoding: [0xd5,0x00,0x1f,0xff,0x00,0x00]
+#CHECK: clc 4095(1,%r15), 0 # encoding: [0xd5,0x00,0xff,0xff,0x00,0x00]
+#CHECK: clc 0(256,%r1), 0 # encoding: [0xd5,0xff,0x10,0x00,0x00,0x00]
+#CHECK: clc 0(256,%r15), 0 # encoding: [0xd5,0xff,0xf0,0x00,0x00,0x00]
+
+ clc 0(1), 0
+ clc 0(1), 0(%r1)
+ clc 0(1), 0(%r15)
+ clc 0(1), 4095
+ clc 0(1), 4095(%r1)
+ clc 0(1), 4095(%r15)
+ clc 0(1,%r1), 0
+ clc 0(1,%r15), 0
+ clc 4095(1,%r1), 0
+ clc 4095(1,%r15), 0
+ clc 0(256,%r1), 0
+ clc 0(256,%r15), 0
+
#CHECK: clfhsi 0, 0 # encoding: [0xe5,0x5d,0x00,0x00,0x00,0x00]
#CHECK: clfhsi 4095, 0 # encoding: [0xe5,0x5d,0x0f,0xff,0x00,0x00]
#CHECK: clfhsi 0, 65535 # encoding: [0xe5,0x5d,0x00,0x00,0xff,0xff]