[llvm] [InstCombine] Optimize x * !x to 0 for vector #84608 (PR #84792)

via llvm-commits llvm-commits at lists.llvm.org
Mon Mar 11 10:12:31 PDT 2024


================
@@ -198,6 +198,22 @@ Instruction *InstCombinerImpl::visitMul(BinaryOperator &I) {
   if (SimplifyAssociativeOrCommutative(I))
     return &I;
 
+  // mul (sext (icmp eq x, 0)), x -> 0
+  Value *SExtOp, *V0;
+  if ((match(Op0, m_SExt(m_Value(SExtOp))) && match(Op1, m_Value(V0))) ||
+      (match(Op1, m_SExt(m_Value(SExtOp))) && match(Op0, m_Value(V0)))) {
----------------
goldsteinn wrote:

`match(&I, m_c_mul(m_SExt(SExtOp), m_Value(V0))`?

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


More information about the llvm-commits mailing list