From ad784b91ac27636d106ae0ee55093dba958bd98d Mon Sep 17 00:00:00 2001 From: Kyrylo Tkachov Date: Tue, 5 Aug 2014 10:27:07 +0000 Subject: [ARM/AArch64] Add CRC32 scheduling information to Cortex-A53 and Cortex-A57. * config/arm/cortex-a15.md (cortex_a15_alu_shift): Add crc type to reservation. * config/arm/cortex-a53.md (cortex_a53_alu_shift): Likewise. From-SVN: r213632 --- gcc/ChangeLog | 6 ++++++ gcc/config/arm/cortex-a15.md | 5 ++++- gcc/config/arm/cortex-a53.md | 2 +- 3 files changed, 11 insertions(+), 2 deletions(-) (limited to 'gcc') diff --git a/gcc/ChangeLog b/gcc/ChangeLog index b58e798..2a9d353 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,11 @@ 2014-08-05 Kyrylo Tkachov + * config/arm/cortex-a15.md (cortex_a15_alu_shift): Add crc type + to reservation. + * config/arm/cortex-a53.md (cortex_a53_alu_shift): Likewise. + +2014-08-05 Kyrylo Tkachov + * config/arm/arm.md (clzsi2): Set predicable_short_it attr to no. (rbitsi2): Likewise. (*arm_rev): Set predicable and predicable_short_it attributes. diff --git a/gcc/config/arm/cortex-a15.md b/gcc/config/arm/cortex-a15.md index f5e01a7..520f24a 100644 --- a/gcc/config/arm/cortex-a15.md +++ b/gcc/config/arm/cortex-a15.md @@ -72,11 +72,14 @@ "ca15_issue1,(ca15_sx1,ca15_sx1_alu)|(ca15_sx2,ca15_sx2_alu)") ;; ALU ops with immediate shift +;; crc is also included here so that appropriate scheduling of CRC32 ARMv8-A +;; instructions can be performed when tuning for the Cortex-A57 since that +;; core reuses the Cortex-A15 pipeline description for the moment. (define_insn_reservation "cortex_a15_alu_shift" 3 (and (eq_attr "tune" "cortexa15") (eq_attr "type" "extend,\ alu_shift_imm,alus_shift_imm,\ - logic_shift_imm,logics_shift_imm,\ + crc,logic_shift_imm,logics_shift_imm,\ mov_shift,mvn_shift")) "ca15_issue1,(ca15_sx1,ca15_sx1+ca15_sx1_shf,ca15_sx1_alu)\ |(ca15_sx2,ca15_sx2+ca15_sx2_shf,ca15_sx2_alu)") diff --git a/gcc/config/arm/cortex-a53.md b/gcc/config/arm/cortex-a53.md index 6cfdcf2..969ed23 100644 --- a/gcc/config/arm/cortex-a53.md +++ b/gcc/config/arm/cortex-a53.md @@ -84,7 +84,7 @@ (define_insn_reservation "cortex_a53_alu_shift" 2 (and (eq_attr "tune" "cortexa53") (eq_attr "type" "alu_shift_imm,alus_shift_imm,\ - logic_shift_imm,logics_shift_imm,\ + crc,logic_shift_imm,logics_shift_imm,\ alu_shift_reg,alus_shift_reg,\ logic_shift_reg,logics_shift_reg,\ extend,mov_shift,mov_shift_reg,\ -- cgit v1.1