summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/Mips/MipsSEISelLowering.cpp
diff options
context:
space:
mode:
authorAkira Hatanaka <ahatanaka@mips.com>2013-04-13 00:55:41 +0000
committerAkira Hatanaka <ahatanaka@mips.com>2013-04-13 00:55:41 +0000
commit2f08822f9d364c673f8ea6103796511849bb55f4 (patch)
tree0fd25fd1259448e8963120b05cdd261620540725 /llvm/lib/Target/Mips/MipsSEISelLowering.cpp
parent48996b0608b5e89c8176d102eede0ee3254f20f4 (diff)
downloadbcm5719-llvm-2f08822f9d364c673f8ea6103796511849bb55f4.tar.gz
bcm5719-llvm-2f08822f9d364c673f8ea6103796511849bb55f4.zip
[mips] Reapply r179420 and r179421.
llvm-svn: 179434
Diffstat (limited to 'llvm/lib/Target/Mips/MipsSEISelLowering.cpp')
-rw-r--r--llvm/lib/Target/Mips/MipsSEISelLowering.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/llvm/lib/Target/Mips/MipsSEISelLowering.cpp b/llvm/lib/Target/Mips/MipsSEISelLowering.cpp
index 805228b6bcc..70ba985f3ef 100644
--- a/llvm/lib/Target/Mips/MipsSEISelLowering.cpp
+++ b/llvm/lib/Target/Mips/MipsSEISelLowering.cpp
@@ -45,12 +45,17 @@ MipsSETargetLowering::MipsSETargetLowering(MipsTargetMachine &TM)
for (unsigned Opc = 0; Opc < ISD::BUILTIN_OP_END; ++Opc)
setOperationAction(Opc, VecTys[i], Expand);
+ setOperationAction(ISD::ADD, VecTys[i], Legal);
+ setOperationAction(ISD::SUB, VecTys[i], Legal);
setOperationAction(ISD::LOAD, VecTys[i], Legal);
setOperationAction(ISD::STORE, VecTys[i], Legal);
setOperationAction(ISD::BITCAST, VecTys[i], Legal);
}
}
+ if (Subtarget->hasDSPR2())
+ setOperationAction(ISD::MUL, MVT::v2i16, Legal);
+
if (!TM.Options.UseSoftFloat) {
addRegisterClass(MVT::f32, &Mips::FGR32RegClass);
OpenPOWER on IntegriCloud