https://gcc.gnu.org/bugzilla/show_bug.cgi?id=126465
--- Comment #5 from ktkachov at gcc dot gnu.org --- (In reply to ktkachov from comment #4) > (In reply to Drea Pinski from comment #1) > > r16-6508-g772b847d99d5e3 . > > > > > > (simplify > > (negate (fmas@3 @4 @0 @1 @2 @5)) > > (if (!HONOR_SIGN_DEPENDENT_ROUNDING (type) && single_use (@3)) > > (IFN_COND_FNMS @4 @0 @1 @2 @5)))) > > > > > > The negate also applies to the other non-fma part while afterwards it does > > not. > > > > (simplify > > (negate (IFN_FMS@3 @4 @0 @1 @2 @5)) > > (if (!HONOR_SIGN_DEPENDENT_ROUNDING (type) && single_use (@3)) > > (IFN_COND_FNMA @4 @0 @1 @2 @5))) > > > > More worryingly, why is IFN_FMS taking 4 here when it is a ternary IFN and > how come genmatch didn't catch it? "taking 4 operands" I meant to say
