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

--- Comment #2 from Peter Cordes <peter at cordes dot ca> ---
(In reply to Andrew Pinski from comment #1)
> >-mtune=generic still stores/reloads instead of using movd for %edi and %edx, 
> >which is worse for most CPUs. 
> Worse on most Intel but not most AMD CPUs.  You can use -mtune=intel if you
> want to tune for Intel machines :).

Store/reload isn't a lot better on AMD Bulldozer-family, not enough to justify
making worse code for Intel CPUs.  -mtune=generic doesn't mean tune=non-intel,
it's a weighted average of all relevant CPUs, and should avoid slowing down
common CPUs for small gains on rare CPUs.

I wrote up my argument for -mtune=generic to favour a movd/movq strategy, or
maybe a mix of movd and store/reload, as
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80820.  (Also that znver1 should
definitely use movd, and that there's a store/reload that slipped through the
cracks for -mtune=haswell.)  I probably should have made that two or three
separate bugs, but I already have another 3 or 4 half-finished bug reports
typed up :/

Reply via email to