Improve Cortex-A53 FP scheduler
authorWilco Dijkstra <wdijkstr@arm.com>
Wed, 14 Jun 2017 14:51:46 +0000 (14:51 +0000)
committerWilco Dijkstra <wilco@gcc.gnu.org>
Wed, 14 Jun 2017 14:51:46 +0000 (14:51 +0000)
commit4524009c09ac5148643c1226f6868ef38cc44e6c
tree536bd4a183e5012b4b57c4eaa923a6d29d94654b
parentea9a08f5dfbab28de2eabfeb684b42c0615cd99d
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.

From-SVN: r249200
gcc/ChangeLog
gcc/config/arm/cortex-a53.md