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 | 761703a248bbb53be681c381a27b19c84e6744a5 (patch) | |
| tree | 53e21f7ca2dbcf1f7626c95419d0e658b90fddff /llvm/test | |
| parent | 87326c73c62e83c59e35f5cc422352f1031932c3 (diff) | |
| download | bcm5719-llvm-761703a248bbb53be681c381a27b19c84e6744a5.tar.gz bcm5719-llvm-761703a248bbb53be681c381a27b19c84e6744a5.zip | |
[SystemZ] Add a definition of the CLC instruction
llvm-svn: 188162
Diffstat (limited to 'llvm/test')
| -rw-r--r-- | llvm/test/MC/Disassembler/SystemZ/insns.txt | 72 | ||||
| -rw-r--r-- | llvm/test/MC/SystemZ/insn-bad.s | 44 | ||||
| -rw-r--r-- | llvm/test/MC/SystemZ/insn-good.s | 26 |
3 files changed, 142 insertions, 0 deletions
diff --git a/llvm/test/MC/Disassembler/SystemZ/insns.txt b/llvm/test/MC/Disassembler/SystemZ/insns.txt index 97e41fee121..f76c83a1252 100644 --- a/llvm/test/MC/Disassembler/SystemZ/insns.txt +++ b/llvm/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/llvm/test/MC/SystemZ/insn-bad.s b/llvm/test/MC/SystemZ/insn-bad.s index b730637cd37..228467004b1 100644 --- a/llvm/test/MC/SystemZ/insn-bad.s +++ b/llvm/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/llvm/test/MC/SystemZ/insn-good.s b/llvm/test/MC/SystemZ/insn-good.s index c4e09e47783..9fd0d0c7dc7 100644 --- a/llvm/test/MC/SystemZ/insn-good.s +++ b/llvm/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] |

