On Wed, 13 May 2026 01:44:55 +0900,
Jeffrey Law wrote:
> 
> 
> 
> On 5/12/2026 5:40 AM, Richard Sandiford wrote:
> > Yoshinori Sato <[email protected]> writes:
> >> The LRA was confused and looping due to the definition of the register 
> >> class.
> >> The LRA yielded incorrect results because the manipulation of stack frames
> >> and the movement of double words relied heavily on existing reloads.
> >> These changes ensure that the correct code is generated even when the 
> >> "-mlra"
> >> option is specified.
> >> 
> >> v5 changes.
> >> - Moved the XEXP extractions inside the PLUS check in 
> >> rx_legitimize_address.
> >> - Replaced the magic number 8 with UNITS_PER_WORD * 2.
> >> - Fixed the C comment style.
> >> - Reverted the redundant changes in rx_modes_tieable_p.
> >> - Added the missing function comments for rx_get_subword, 
> >> rx_split_double_move,
> >>    and rx_relax_double_operands.
> >> - Removed the redundant checks in rx_relax_double_operands and fixed the
> >>    indentation.
> >> - Removed the redundant emit_insn and DONE in the movdi and movdf 
> >> expanders.
> >> - Replaced the output template of *ashlsi3_lra with "#" since it is
> >>    always split.
> > Thanks, LGTM.  Pushed to trunk as r17-468-g7ec6968058b393
> > (with a slightly tweaked changelog).
> THanks.  There's still work to do.  I spun my tester after this change
> on the rx port:
> 
> Tests that now fail, but worked before (431 tests):
> 
> I won't list them all.  Given how many are execution failures, there's
> likely a code generation failure in there somewhere.
> 
> A few of them:
> 
> rx-sim: gcc: gcc.c-torture/execute/20001009-2.c   -O0  execution test
> rx-sim: gcc: gcc.c-torture/execute/20020614-1.c   -O0  execution test
> rx-sim: gcc: gcc.c-torture/execute/20050410-1.c   -O1  execution test
> rx-sim: gcc: gcc.c-torture/execute/20050410-1.c   -O2  execution test
> rx-sim: gcc: gcc.c-torture/execute/20050410-1.c   -O2 -flto
> -fno-use-linker-plugin -flto-partition=none  execution test
> rx-sim: gcc: gcc.c-torture/execute/20050410-1.c   -O3 -g  execution test
> rx-sim: gcc: gcc.c-torture/execute/20050410-1.c   -Os  execution test
> rx-sim: gcc: gcc.c-torture/execute/921016-1.c   -O0  execution test
> rx-sim: gcc: gcc.c-torture/execute/960311-1.c   -O1  execution test
> rx-sim: gcc: gcc.c-torture/execute/960311-2.c   -O1  execution test
> rx-sim: gcc: gcc.c-torture/execute/980617-1.c   -O0  execution test
> rx-sim: gcc: gcc.c-torture/execute/990324-1.c   -O0  execution test
> rx-sim: gcc: gcc.c-torture/execute/990326-1.c   -O0  execution test
> 
> Anyway, seems like something for Yoshinori to look into.
> 
> Jeff

OK. I'll look into it.

-- 
Yosinori Sato

Reply via email to