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.