summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/Mips/MipsISelLowering.cpp
diff options
context:
space:
mode:
authorAkira Hatanaka <ahatanaka@mips.com>2011-12-20 23:56:43 +0000
committerAkira Hatanaka <ahatanaka@mips.com>2011-12-20 23:56:43 +0000
commit4706ac97156747f41e556d7c690b1ee5955d5c14 (patch)
treec35f437be5422e80a9b851103c1251104cc01cf4 /llvm/lib/Target/Mips/MipsISelLowering.cpp
parent5bc5a76d9b1c5cbf6c579d7f858141a7ccfc6c38 (diff)
downloadbcm5719-llvm-4706ac97156747f41e556d7c690b1ee5955d5c14.tar.gz
bcm5719-llvm-4706ac97156747f41e556d7c690b1ee5955d5c14.zip
Add definition of DSBH (Double Swap Bytes within Halfwords) and
DSHD (Double Swap Halfwords within Doublewords). Add a pattern which replaces 64-bit bswap with a DSBH and DSHD pair. llvm-svn: 147017
Diffstat (limited to 'llvm/lib/Target/Mips/MipsISelLowering.cpp')
-rw-r--r--llvm/lib/Target/Mips/MipsISelLowering.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/llvm/lib/Target/Mips/MipsISelLowering.cpp b/llvm/lib/Target/Mips/MipsISelLowering.cpp
index cfdce3a447f..d0ee632db74 100644
--- a/llvm/lib/Target/Mips/MipsISelLowering.cpp
+++ b/llvm/lib/Target/Mips/MipsISelLowering.cpp
@@ -221,8 +221,10 @@ MipsTargetLowering(MipsTargetMachine &TM)
if (!Subtarget->hasBitCount())
setOperationAction(ISD::CTLZ, MVT::i32, Expand);
- if (!Subtarget->hasSwap())
+ if (!Subtarget->hasSwap()) {
setOperationAction(ISD::BSWAP, MVT::i32, Expand);
+ setOperationAction(ISD::BSWAP, MVT::i64, Expand);
+ }
setTargetDAGCombine(ISD::ADDE);
setTargetDAGCombine(ISD::SUBE);
OpenPOWER on IntegriCloud