On Sat, 2014-05-03 at 07:52 +0100, Richard Sandiford wrote:

> > Old:
> >
> >     li      $5,305397760                    # 0x12340000
> >     addiu   $4,$5,1
> >     addiu   $5,$5,-1
> >
> > New:
> >
> >     li      $5,305332224                    # 0x12330000
> >     ori     $5,$5,0xffff
> >     addiu   $4,$5,2
> 
> This isn't as good though -- $4 now depends on two previous
> instructions.  Do you know which specific change was responsible?
> 
> Thanks,
> Richard

It was this one:

2014-04-29  James Greenhalgh  <james.greenha...@arm.com>

        * calls.c (initialize_argument_information): Always treat
        PUSH_ARGS_REVERSED as 1, simplify code accordingly.
        (expand_call): Likewise.
        (emit_library_call_calue_1): Likewise.
        * expr.c (PUSH_ARGS_REVERSED): Do not define.
        (emit_push_insn): Always treat PUSH_ARGS_REVERSED as 1, simplify
        code accordingly.

Steve Ellcey
sell...@mips.com

Reply via email to