[llvm] [InstCombine] Fold `mul (sext bool X), Y` into `select X, -Y,  0` (PR #84792)
    Craig Topper via llvm-commits 
    llvm-commits at lists.llvm.org
       
    Tue Mar 12 23:48:55 PDT 2024
    
    
  
================
@@ -448,6 +448,20 @@ Instruction *InstCombinerImpl::visitMul(BinaryOperator &I) {
   if (match(Op1, m_ZExt(m_Value(X))) && X->getType()->isIntOrIntVectorTy(1))
     return SelectInst::Create(X, Op0, ConstantInt::getNullValue(Ty));
 
+  // mul (sext X), Y -> select X, -Y, 0
+  // mul Y, (sext X) -> select X, -Y, 0
+  Value *SExtOp;
----------------
topperc wrote:
Can we reuse `X` like the previous matches?
https://github.com/llvm/llvm-project/pull/84792
    
    
More information about the llvm-commits
mailing list