Improve Cortex-A53 FP scheduler
commitc4e8bef923f193818cd3a93c2fca7dcfb42fab2e
authorwilco <wilco@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 14 Jun 2017 14:51:46 +0000 (14 14:51 +0000)
committerwilco <wilco@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 14 Jun 2017 14:51:46 +0000 (14 14:51 +0000)
tree536bd4a183e5012b4b57c4eaa923a6d29d94654b
parente1b55b0a4394009b54af31d2ebe7c03db0a62733
Improve Cortex-A53 FP scheduler

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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@249200 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/config/arm/cortex-a53.md