[llvm] [AggressiveInstCombine] Fold i64 x i64 -> i128 multiply-by-parts (PR #156879)
Cullen Rhodes via llvm-commits
llvm-commits at lists.llvm.org
Thu Oct 9 03:48:07 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);
----------------
c-rhodes wrote:
the target doesn't need native 128-bit, AArch64 for example doesnt have a single instruction to do a scalar 128-bit mul, but it can be done in 2 x i64 parts.
https://github.com/llvm/llvm-project/pull/156879
More information about the llvm-commits
mailing list