[llvm] [TargetLowering] Improve one signature of forceExpandWideMUL. (PR #123991)

Matt Arsenault via llvm-commits llvm-commits at lists.llvm.org
Wed Jan 22 23:11:46 PST 2025


================
@@ -10952,22 +10952,73 @@ void TargetLowering::forceExpandWideMUL(SelectionDAG &DAG, const SDLoc &dl,
                                         SDValue &Hi) const {
   EVT VT = LHS.getValueType();
   assert(RHS.getValueType() == VT && "Mismatching operand types");
+  EVT WideVT = EVT::getIntegerVT(*DAG.getContext(), VT.getSizeInBits() * 2);
+  // We can fall back to a libcall with an illegal type for the MUL if we
+  // have a libcall big enough.
+  // Also, we can fall back to a division in some cases, but that's a big
+  // performance hit in the general case.
----------------
arsenm wrote:

There's no division path here? Or is this a todo 

https://github.com/llvm/llvm-project/pull/123991


More information about the llvm-commits mailing list