Improve Cortex-A53 FP scheduler

Programming / Compilers / GCC - wilco [138bc75d-0d04-0410-961f-82ee72b054a4] - 14 June 2017 10:51 EDT

The Cortex-A53 scheduler model of FMAC bypass is not quite right for FMAC to FMAC forwarding. Experiments also show the latencies of FP operations are too high as well. Rather than adding more bypasses, adjust the latencies of FP instructions to get a better schedule on average. As a result SPECFP2006 is 1.1% faster.

gcc/
- config/arm/cortex-a53.md (cortex_a53_fpalu) Adjust latency. (cortex_a53_fconst): Likewise. (cortex_a53_fpmul): Likewise. (cortex_a53_f_load_64): Likewise. (cortex_a53_f_load_many): Likewise. (cortex_a53_advsimd_alu): Likewise. (cortex_a53_advsimd_alu_q): Likewise. (cortex_a53_advsimd_mul): Likewise. (cortex_a53_advsimd_mul_q): Likewise. (fpmac bypass): Add new bypass for fpmac-fpmac case. Add missing fmul, r2f_cvt and fconst cases.

c4e8bef Improve Cortex-A53 FP scheduler
gcc/ChangeLog | 14 ++++++++++++++
gcc/config/arm/cortex-a53.md | 34 ++++++++++++++++------------------
2 files changed, 30 insertions(+), 18 deletions(-)

Upstream: gcc.gnu.org


  • Share