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

--- Comment #10 from Hongtao Liu <liuhongt at gcc dot gnu.org> ---
(In reply to rguent...@suse.de from comment #9)
> On Fri, 11 Oct 2024, liuhongt at gcc dot gnu.org wrote:
> 
> > https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117072
> > 
> > --- Comment #8 from Hongtao Liu <liuhongt at gcc dot gnu.org> ---
> > (In reply to Richard Biener from comment #7)
> > > OTOH I'll note that no other simplify_* treats canonicalization as
> > > simplification and the existing swap_commutative_operands_p transform for 
> > > FMA
> > > is highly uncommon.
> > > 
> > > So why do we recognize (fma (neg (mem...)) ...) and not only (neg
> > > (register_operand))?
> > 
> > I think we can relex register_operand to nonimmediate_operand and rely on 
> > RA to
> > reload it into a reg just like we did in
> > <sd_mask_codefor>fma_fnmadd_<mode><sd_maskz_name><round_name>. So a backend 
> > fix
> > shou be better?
> 
> I think currently the backend isn't consistent with itself and sure,
> a backend fix would be better (if it doesn't mean bloating the .md
> with many more patterns).

No, just adjust the existed pattern should be ok.

Reply via email to