[llvm] [AArch64][GlobalISel] Combine trunc_nsw(smin) to truncsat (PR #218605)
Matt Arsenault via llvm-commits
llvm-commits at lists.llvm.org
Wed Aug 26 02:03:29 PDT 2026
================
@@ -6290,14 +6290,24 @@ bool CombinerHelper::matchTruncSSatS(MachineInstr &MI,
APInt SignedMax = APInt::getSignedMaxValue(NumDstBits).sext(NumSrcBits);
APInt SignedMin = APInt::getSignedMinValue(NumDstBits).sext(NumSrcBits);
- return mi_match(Src, MRI,
- m_GSMin(m_GSMax(m_Reg(MatchInfo),
- m_SpecificICstOrSplat(SignedMin)),
- m_SpecificICstOrSplat(SignedMax))) ||
- mi_match(Src, MRI,
- m_GSMax(m_GSMin(m_Reg(MatchInfo),
- m_SpecificICstOrSplat(SignedMax)),
- m_SpecificICstOrSplat(SignedMin)));
+ if (mi_match(
+ Src, MRI,
+ m_GSMin(m_GSMax(m_Reg(MatchInfo), m_SpecificICstOrSplat(SignedMin)),
+ m_SpecificICstOrSplat(SignedMax))) ||
+ mi_match(
----------------
arsenm wrote:
might as well make these 2 separate ifs
https://github.com/llvm/llvm-project/pull/218605
More information about the llvm-commits
mailing list