Hi!

On Sat, Mar 28, 2020 at 09:27:09AM +1030, Alan Modra wrote:
> The only difference
> besides mode between call_local32 and call_local64, dating back to
> 1998 commit a260abc996, is that call_local64 has TARGET_64BIT in the
> predicate.  That alone doesn't seem reason enough to need separate
> patterns; The P mode iterator selects DI on TARGET_64BIT anyway.

Yes, these patterns could be merged before this patch, already.

This patch would have been much easier to read / check if it had been
a short series, btw (with those independent cleanups done first).

But it looks fine.  Okay for trunk.  Thanks!


Segher


>       * config/rs6000/rs6000.c (rs6000_call_aix): Emit cookie to pattern.
>       (rs6000_indirect_call_template_1): Adjust to suit.
>       * config/rs6000/rs6000.md (call_local): Merge call_local32,
>       call_local64, and call_local_aix.
>       (call_value_local): Simlarly.
>       (call_nonlocal_aix, call_value_nonlocal_aix): Adjust rtl to suit,
>       and disable pattern when CALL_LONG.
>       (call_indirect_aix, call_value_indirect_aix): Adjust rtl.
>       (call_indirect_elfv2, call_indirect_pcrel): Likewise.
>       (call_value_indirect_elfv2, call_value_indirect_pcrel): Likewise.

Reply via email to