diff options
author | Kyrylo Tkachov <kyrylo.tkachov@arm.com> | 2014-08-05 10:27:07 +0000 |
---|---|---|
committer | Kyrylo Tkachov <ktkachov@gcc.gnu.org> | 2014-08-05 10:27:07 +0000 |
commit | ad784b91ac27636d106ae0ee55093dba958bd98d (patch) | |
tree | 91d5bbd7ab96eb92ec826ef70d06cd47478f8c3c /gcc | |
parent | 66224c7d68c5fbcc5d4573a8c3897bc451bc473c (diff) | |
download | gcc-ad784b91ac27636d106ae0ee55093dba958bd98d.zip gcc-ad784b91ac27636d106ae0ee55093dba958bd98d.tar.gz gcc-ad784b91ac27636d106ae0ee55093dba958bd98d.tar.bz2 |
[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
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/config/arm/cortex-a15.md | 5 | ||||
-rw-r--r-- | gcc/config/arm/cortex-a53.md | 2 |
3 files changed, 11 insertions, 2 deletions
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 <kyrylo.tkachov@arm.com> + * 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 <kyrylo.tkachov@arm.com> + * 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,\ |