My previous change to the Cortex-A53 scheduler resulted in a 13% regression on a
commitd8c4c75cab618f21a7f3d4cdccc37f190d9de3c4
authorwilco <wilco@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 11 Jan 2017 16:38:42 +0000 (11 16:38 +0000)
committerwilco <wilco@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 11 Jan 2017 16:38:42 +0000 (11 16:38 +0000)
tree41d764d66c719c39a698fd982608534d57c2593f
parent5c493d36f874dc674b76c6cb7a7fa2f46ce0a049
My previous change to the Cortex-A53 scheduler resulted in a 13% regression on a
proprietary benchmark.  This turned out to be due to non-optimal scheduling of int
to float conversions.  This patch separates int to FP transfers from int to float
conversions based on experiments to determine the best schedule.  As a result of
these tweaks the performance of the benchmark improves by 20%.

    gcc/
* config/arm/cortex-a53.md: Add bypasses for
cortex_a53_r2f_cvt.
(cortex_a53_r2f): Only use for transfers.
(cortex_a53_f2r): Likewise.
(cortex_a53_r2f_cvt): Add reservation for conversions.
(cortex_a53_f2r_cvt): Likewise.

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