Hi,

This two patch series updates our scheduling model for the Cortex-A53
processor.

Patch 1/2 splits out the "shift_imm" type attribute used by the AArch64
target to give us two types - rotate_imm and shift_imm.

Patch 2/2 introduces the new scheduling model.

I've bootstrapped and tested the patches in series and individually
on both arm-none-linux-gnueabihf and aarch64-none-linux-gnu targets,
and I've checked the performance against a set of popular benchmark
suites to show a benefit.

OK for trunk?

Thanks,
James

---
[Patch 1/2 AArch64/ARM] Give AArch64 ROR (Immediate) a new type attribute

2015-09-25  James Greenhalgh  <james.greenha...@arm.com>

        * config/arm/types.md (type): Add rotate_imm.
        * config/aarch64/aarch64.md (*ror<mode>3_insn): Split out the
        ROR immediate case.
        (*rorsi3_insn_uxtw): Likewise.
        * config/aarch64/thunderx.md (thunderx_shift): Add rotate_imm.
        * config/arm/cortex-a53.md (cortex_a53_alu_shift): Add rotate_imm.
        * config/arm/cortex-a57.md (cortex_a53_alu): Add rotate_imm.

[Patch 2/2 ARM/AArch64] Add a new Cortex-A53 scheduling model

2015-09-25  James Greenhalgh  <james.greenha...@arm.com>

        * config/arm/aarch-common-protos.h
        (aarch_accumulator_forwarding): New.
        (aarch_forward_to_shift_is_not_shifted_reg): Likewise.
        * config/arm/aarch-common.c (aarch_accumulator_forwarding): New.
        (aarch_forward_to_shift_is_not_shifted_reg): Liekwise.
        * config/arm/cortex-a53.md: Rewrite.

Reply via email to