On Tue, Feb 21, 2017 at 10:23:47PM +0100, Jakub Jelinek wrote:
> As reported by Uros, the
> fld a
> fld b
> fxchg %st(1)
> optimization to
> fld b
> fld a
> misses several important cases, one is FLOAT_EXTEND memory loads where
> the memory is SFmode or DFmode but we extend it to a wider mode, and
> the other is when we load a known i?87 constant like 0.0, 1.0, PI etc.
> 
> Bootstrapped/regtested on x86_64-linux and i686-linux, ok for trunk?

I've done another pair of bootstraps/regtests to gather statistics on how often
does this patch swap fld* that had fxch %st(1) after it instead, and
in both it triggered 9858 times.
So it is less often than the first PR70465 patch (which triggered
26783 times), but still significant.

        Jakub

Reply via email to