diff options
Diffstat (limited to 'llvm/lib')
| -rw-r--r-- | llvm/lib/Target/ARM/ARMISelDAGToDAG.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/llvm/lib/Target/ARM/ARMISelDAGToDAG.cpp b/llvm/lib/Target/ARM/ARMISelDAGToDAG.cpp index ab20e4dee7b..d11de555fa3 100644 --- a/llvm/lib/Target/ARM/ARMISelDAGToDAG.cpp +++ b/llvm/lib/Target/ARM/ARMISelDAGToDAG.cpp @@ -3047,7 +3047,8 @@ void ARMDAGToDAGISel::Select(SDNode *N) { // Look for a pattern to match SMMLS // (sube a, (smul_loHi a, b), (subc 0, (smul_LOhi(a, b)))) if (N->getOperand(1).getOpcode() != ISD::SMUL_LOHI || - N->getOperand(2).getOpcode() != ARMISD::SUBC) + N->getOperand(2).getOpcode() != ARMISD::SUBC || + !SDValue(N, 1).use_empty()) break; if (Subtarget->isThumb()) |

