On 9/11/18 7:38 AM, Vlad Lazar wrote:
> Hi.
>
> This patch makes the scheduler prefer instructions with higher cost if
> two given instructions are equally good.
> Issuing more restricted instructions first is particularly useful on
> in-order cores because it increases the
> number of dual issue opportunities.
>
> For example, on AArch64, instead of:
>
> add x11, x2, 96
> mov x4, x2
> mov w10, 1
> ldrh w5, [x0]
> ldrh w13, [x0, 2]
> ldrh w9, [x0, 4]
> ldrh w12, [x0, 6]
> b .L759
>
> Generate:
>
> ldrh w5, [x0]
> add x11, x2, 96
> ldrh w13, [x0, 2]
> mov x4, x2
> ldrh w9, [x0, 4]
> mov w10, 1
> ldrh w12, [x0, 6]
> b .L759
>
> Bootstrapped and regtested on aarch64-none-linux-gnu and there are no
> regressions.
> Ok for trunk?
>
> Thanks,
> Vlad
>
> gcc/
> Changelog for gcc/Changelog
> 2018-09-11 Vlad Lazar <vlad.la...@arm.com>
>
> * haifa-sched.c (rank_for_schedule): Schedule by INSN_COST.
> (rfs_decision): New scheduling decision.
OK.
jeff