[Bug target/86209] Peephole does not happen because the type of zero/sign extended operands is not the same.

rearnsha at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Wed Jun 27 11:10:00 GMT 2018


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

--- Comment #11 from Richard Earnshaw <rearnsha at gcc dot gnu.org> ---
(In reply to sameerad from comment #10)
> > subus:
> >    ldr   w0, [w0]
> >    add   w0, w0, w0, lsr #16
> >    uxth   w0, w0
> >    ret
> 
> This is interesting way in which load store combining can be enhanced
> further. I will try to figure out if this can be integrated in my current
> implementation.
> 
> Thanks Richard.

In a way, this is just a form of SLP.


More information about the Gcc-bugs mailing list