diff --git a/lib/Target/SystemZ/SystemZInstrInfo.td b/lib/Target/SystemZ/SystemZInstrInfo.td index f45ef458b54..8985169e6cf 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 d04fa42bc18..44708030ebf 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