diff options
| author | Bryan Chan <bryan.chan@ca.ibm.com> | 2016-05-16 20:32:22 +0000 |
|---|---|---|
| committer | Bryan Chan <bryan.chan@ca.ibm.com> | 2016-05-16 20:32:22 +0000 |
| commit | 28b759c4c8d306b972fcd593280dcc8562904295 (patch) | |
| tree | dc467e09e1d1a888bf46b046d1605642aff981ac /llvm/test/MC/Disassembler/SystemZ | |
| parent | 7ffd0b44091ecfdbab65051e07636362939ec541 (diff) | |
| download | bcm5719-llvm-28b759c4c8d306b972fcd593280dcc8562904295.tar.gz bcm5719-llvm-28b759c4c8d306b972fcd593280dcc8562904295.zip | |
[SystemZ] Support LRVH and STRVH opcodes
Summary: On Linux, /usr/include/bits/byteswap-16.h defines __byteswap_16(x) as an inlined LRVH (Load Reversed Half-word) instruction. The SystemZ back-end did not support this opcode and the inlined assembly would cause a fatal error.
Reviewers: bryanpkc, uweigand
Subscribers: llvm-commits
Differential Revision: http://reviews.llvm.org/D18732
llvm-svn: 269688
Diffstat (limited to 'llvm/test/MC/Disassembler/SystemZ')
| -rw-r--r-- | llvm/test/MC/Disassembler/SystemZ/insns.txt | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/llvm/test/MC/Disassembler/SystemZ/insns.txt b/llvm/test/MC/Disassembler/SystemZ/insns.txt index 9998e5e40e2..54bb78a78e2 100644 --- a/llvm/test/MC/Disassembler/SystemZ/insns.txt +++ b/llvm/test/MC/Disassembler/SystemZ/insns.txt @@ -5209,6 +5209,36 @@ # CHECK: lrvr %r15, %r15 0xb9 0x1f 0x00 0xff +# CHECK: lrvh %r0, -524288 +0xe3 0x00 0x00 0x00 0x80 0x1f + +# CHECK: lrvh %r0, -1 +0xe3 0x00 0x0f 0xff 0xff 0x1f + +# CHECK: lrvh %r0, 0 +0xe3 0x00 0x00 0x00 0x00 0x1f + +# CHECK: lrvh %r0, 1 +0xe3 0x00 0x00 0x01 0x00 0x1f + +# CHECK: lrvh %r0, 524287 +0xe3 0x00 0x0f 0xff 0x7f 0x1f + +# CHECK: lrvh %r0, 0(%r1) +0xe3 0x00 0x10 0x00 0x00 0x1f + +# CHECK: lrvh %r0, 0(%r15) +0xe3 0x00 0xf0 0x00 0x00 0x1f + +# CHECK: lrvh %r0, 524287(%r1,%r15) +0xe3 0x01 0xff 0xff 0x7f 0x1f + +# CHECK: lrvh %r0, 524287(%r15,%r1) +0xe3 0x0f 0x1f 0xff 0x7f 0x1f + +# CHECK: lrvh %r15, 0 +0xe3 0xf0 0x00 0x00 0x00 0x1f + # CHECK: lrv %r0, -524288 0xe3 0x00 0x00 0x00 0x80 0x1e @@ -8500,6 +8530,36 @@ # CHECK: strvg %r15, 0 0xe3 0xf0 0x00 0x00 0x00 0x2f +# CHECK: strvh %r0, -524288 +0xe3 0x00 0x00 0x00 0x80 0x3f + +# CHECK: strvh %r0, -1 +0xe3 0x00 0x0f 0xff 0xff 0x3f + +# CHECK: strvh %r0, 0 +0xe3 0x00 0x00 0x00 0x00 0x3f + +# CHECK: strvh %r0, 1 +0xe3 0x00 0x00 0x01 0x00 0x3f + +# CHECK: strvh %r0, 524287 +0xe3 0x00 0x0f 0xff 0x7f 0x3f + +# CHECK: strvh %r0, 0(%r1) +0xe3 0x00 0x10 0x00 0x00 0x3f + +# CHECK: strvh %r0, 0(%r15) +0xe3 0x00 0xf0 0x00 0x00 0x3f + +# CHECK: strvh %r0, 524287(%r1,%r15) +0xe3 0x01 0xff 0xff 0x7f 0x3f + +# CHECK: strvh %r0, 524287(%r15,%r1) +0xe3 0x0f 0x1f 0xff 0x7f 0x3f + +# CHECK: strvh %r15, 0 +0xe3 0xf0 0x00 0x00 0x00 0x3f + # CHECK: strv %r0, -524288 0xe3 0x00 0x00 0x00 0x80 0x3e |

