summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/Target/SystemZ/SystemZInstrInfo.td7
-rw-r--r--test/CodeGen/SystemZ/11-BSwap.ll1
2 files changed, 5 insertions, 3 deletions
diff --git a/lib/Target/SystemZ/SystemZInstrInfo.td b/lib/Target/SystemZ/SystemZInstrInfo.td
index f45ef458b5..8985169e6c 100644
--- a/lib/Target/SystemZ/SystemZInstrInfo.td
+++ b/lib/Target/SystemZ/SystemZInstrInfo.td
@@ -494,9 +494,10 @@ def BSWAP64rr : RREI<0xB90F,
"lrvgr\t{$dst, $src}",
[(set GR64:$dst, (bswap GR64:$src))]>;
-def BSWAP16rm : RXYI<0x1FE3, (outs GR32:$dst), (ins rriaddr:$src),
- "lrvh\t{$dst, $src}",
- [(set GR32:$dst, (bswap (extloadi32i16 rriaddr:$src)))]>;
+// FIXME: this is invalid pattern for big-endian
+//def BSWAP16rm : RXYI<0x1FE3, (outs GR32:$dst), (ins rriaddr:$src),
+// "lrvh\t{$dst, $src}",
+// [(set GR32:$dst, (bswap (extloadi32i16 rriaddr:$src)))]>;
def BSWAP32rm : RXYI<0x1EE3, (outs GR32:$dst), (ins rriaddr:$src),
"lrv\t{$dst, $src}",
[(set GR32:$dst, (bswap (load rriaddr:$src)))]>;
diff --git a/test/CodeGen/SystemZ/11-BSwap.ll b/test/CodeGen/SystemZ/11-BSwap.ll
index d04fa42bc1..44708030eb 100644
--- a/test/CodeGen/SystemZ/11-BSwap.ll
+++ b/test/CodeGen/SystemZ/11-BSwap.ll
@@ -1,3 +1,4 @@
+; XFAIL
; RUN: llvm-as < %s | llc | grep lrvr | count 2
; RUN: llvm-as < %s | llc | grep lrvgr | count 1
; RUN: llvm-as < %s | llc | grep lrvh | count 1