[llvm] [InstCombine] FP fold, cond ? x : -x == 0 into x == 0 #85250 (PR #85673)
Yingwei Zheng via llvm-commits
llvm-commits at lists.llvm.org
Fri Mar 22 08:55:43 PDT 2024
================
@@ -7972,6 +7972,13 @@ Instruction *InstCombinerImpl::visitFCmpInst(FCmpInst &I) {
Constant *RHSC;
if (match(Op0, m_Instruction(LHSI)) && match(Op1, m_Constant(RHSC))) {
switch (LHSI->getOpcode()) {
+ case Instruction::Select:
+ if ((Pred == FCmpInst::FCMP_UEQ || Pred == FCmpInst::FCMP_OEQ ||
+ Pred == FCmpInst::FCMP_UNE || Pred == FCmpInst::FCMP_ONE) &&
+ match(LHSI, m_Select(m_Value(), m_Value(X), m_FNeg(m_Value(Y)))) &&
----------------
dtcxzyw wrote:
Please handle the commuted version: select Cond, -X, X.
https://github.com/llvm/llvm-project/pull/85673
More information about the llvm-commits
mailing list