https://gcc.gnu.org/bugzilla/show_bug.cgi?id=126465

Tamar Christina <tnfchris at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |ASSIGNED
           Assignee|unassigned at gcc dot gnu.org      |tnfchris at gcc dot 
gnu.org

--- Comment #6 from Tamar Christina <tnfchris at gcc dot gnu.org> ---
(In reply to ktkachov from comment #5)
> (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

yes, already part of my patch. genmatch doesn't know the number of operands.
expand would just ICE when used.

Reply via email to