diff options
author | Akira Hatanaka <ahatanaka@mips.com> | 2011-11-11 04:18:21 +0000 |
---|---|---|
committer | Akira Hatanaka <ahatanaka@mips.com> | 2011-11-11 04:18:21 +0000 |
commit | 4a63d1c0f0d6b029e23fe7c9098b519dfae34e99 (patch) | |
tree | 4e620dc6026a6bb769a4322c993a7df106b3d899 /llvm/lib/Target/Mips/MipsISelLowering.cpp | |
parent | 21cbc25bbbd1ec35088e371c47b5ca70d1484394 (diff) | |
download | bcm5719-llvm-4a63d1c0f0d6b029e23fe7c9098b519dfae34e99.tar.gz bcm5719-llvm-4a63d1c0f0d6b029e23fe7c9098b519dfae34e99.zip |
Do not try to detect DAG combine patterns for integer multiply-add/sub if value
type is not i32. MIPS does not have 64-bit integer multiply-add/sub
instructions.
llvm-svn: 144373
Diffstat (limited to 'llvm/lib/Target/Mips/MipsISelLowering.cpp')
-rw-r--r-- | llvm/lib/Target/Mips/MipsISelLowering.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/llvm/lib/Target/Mips/MipsISelLowering.cpp b/llvm/lib/Target/Mips/MipsISelLowering.cpp index d916edd73ae..2b0e90b894e 100644 --- a/llvm/lib/Target/Mips/MipsISelLowering.cpp +++ b/llvm/lib/Target/Mips/MipsISelLowering.cpp @@ -395,7 +395,8 @@ static SDValue PerformADDECombine(SDNode *N, SelectionDAG& DAG, if (DCI.isBeforeLegalize()) return SDValue(); - if (Subtarget->hasMips32() && SelectMadd(N, &DAG)) + if (Subtarget->hasMips32() && N->getValueType(0) == MVT::i32 && + SelectMadd(N, &DAG)) return SDValue(N, 0); return SDValue(); @@ -407,7 +408,8 @@ static SDValue PerformSUBECombine(SDNode *N, SelectionDAG& DAG, if (DCI.isBeforeLegalize()) return SDValue(); - if (Subtarget->hasMips32() && SelectMsub(N, &DAG)) + if (Subtarget->hasMips32() && N->getValueType(0) == MVT::i32 && + SelectMsub(N, &DAG)) return SDValue(N, 0); return SDValue(); |