[Bug target/95078] Missing fwprop for SIB address

rguenth at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Tue May 12 11:34:33 GMT 2020


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

--- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> ---
TER should go away, not be extended.  So you are suggesting that we replace

        leaq    44(%rdi,%rdx,4), %rdx  --- redundant could be fwprop
        movl    (%rdx), %eax
        movl    $3, (%rsi)
        addl    (%rdx), %eax

with

        movl   44(%rdi,%rdx,4), %eax
        movl    $3, (%rsi)
        addl   44(%rdi,%rdx,4), %eax

?  The variant that looks bigger is actually one byte smaller.  Note as
soon as there are three uses it will be larger again...

So this is really something for RTL and yeah, fwprop only makes "local"
decisions.  Note that I think that your proposed variant will consume
more resources since the complex addressing modes are likely split into
a separate uop.  Yes, overall I'd expect less latency for your sequence.


More information about the Gcc-bugs mailing list