diff options
author | Richard Sandiford <rsandifo@linux.vnet.ibm.com> | 2013-08-12 10:17:33 +0000 |
---|---|---|
committer | Richard Sandiford <rsandifo@linux.vnet.ibm.com> | 2013-08-12 10:17:33 +0000 |
commit | e03a56d62fc623e2f72d623b816f91b293d5904b (patch) | |
tree | a44f78deb25219ad36468a9d206b887fab879389 /test/MC/SystemZ | |
parent | f37c8feb468a0e1876c08bdeb449bdb5999c0534 (diff) | |
download | external_llvm-e03a56d62fc623e2f72d623b816f91b293d5904b.zip external_llvm-e03a56d62fc623e2f72d623b816f91b293d5904b.tar.gz external_llvm-e03a56d62fc623e2f72d623b816f91b293d5904b.tar.bz2 |
[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/SystemZ')
-rw-r--r-- | test/MC/SystemZ/insn-bad.s | 44 | ||||
-rw-r--r-- | test/MC/SystemZ/insn-good.s | 26 |
2 files changed, 70 insertions, 0 deletions
diff --git a/test/MC/SystemZ/insn-bad.s b/test/MC/SystemZ/insn-bad.s index b730637..2284670 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 c4e09e4..9fd0d0c 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] |