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

Oleg Endo <olegendo at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
   Last reconfirmed|                            |2024-09-26
     Ever confirmed|0                           |1

--- Comment #1 from Oleg Endo <olegendo at gcc dot gnu.org> ---
I've tried this issue on latest version of the SH LRA branch
https://github.com/olegendo/gcc/tree/devel/sh-lra

The issue still persists.  Note that the above case must be compiled as C++. 
If compiled as C, the code contains a redundant mode switch, see PR 116849

without LRA:
        mova    .L4,r0
        fmov.s  @r0+,fr2
        fmov.s  @r0+,fr1
        rts
        fmov    fr2,fr0
.L5:
        .align 2
.L4:
        .long   1095027917
        .long   1098278502

with LRA:
        mova    .L4,r0
        fmov.s  @r0+,fr2
        lds.l   @r0+,fpul
        fmov    fr2,fr0
        rts
        fsts    fpul,fr1
.L5:
        .align 2
.L4:
        .long   1095027917
        .long   1098278502

Reply via email to