[llvm] [AggressiveInstCombine] Fold i64 x i64 -> i128 multiply-by-parts (PR #156879)

Igor Kirillov via llvm-commits llvm-commits at lists.llvm.org
Wed Sep 24 03:59:11 PDT 2025


================
@@ -1457,6 +1710,9 @@ static bool foldUnusualPatterns(Function &F, DominatorTree &DT,
       MadeChange |= foldConsecutiveLoads(I, DL, TTI, AA, DT);
       MadeChange |= foldPatternedLoads(I, DL);
       MadeChange |= foldICmpOrChain(I, DL, TTI, AA, DT);
+      MadeChange |= foldMul128Low(I, DL, DT);
----------------
igogo-x86 wrote:

Maybe gate on i128 legality? Otherwise, It may lead to regressions on targets without native i128 mul.

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


More information about the llvm-commits mailing list