re PR target/63503 ([AArch64] A57 executes fused multiply-add poorly in some situations)
authorThomas Preud'homme <thomas.preudhomme@arm.com>
Tue, 28 Apr 2015 08:10:44 +0000 (08:10 +0000)
committerThomas Preud'homme <thopre01@gcc.gnu.org>
Tue, 28 Apr 2015 08:10:44 +0000 (08:10 +0000)
commitfde9b31b61aa281b502e4f49200e3090aa8a4dd1
treefeebbec54d03722d68e3d93fcfbe99957828583a
parent0060d7d71ec248c1aadc82783d1a3ef29b30b6ba
re PR target/63503 ([AArch64] A57 executes fused multiply-add poorly in some situations)

2015-04-28  Thomas Preud'homme  <thomas.preudhomme@arm.com>

    gcc/
    PR target/63503
    * config.gcc: Add cortex-a57-fma-steering.o to extra_objs for
    aarch64-*-*.
    * config/aarch64/t-aarch64: Add a rule for cortex-a57-fma-steering.o.
    * config/aarch64/aarch64.h (AARCH64_FL_USE_FMA_STEERING_PASS): Define.
    (AARCH64_TUNE_FMA_STEERING): Likewise.
    * config/aarch64/aarch64-cores.def: Set
    AARCH64_FL_USE_FMA_STEERING_PASS for cores with dynamic steering of
    FMUL/FMADD instructions.
    * config/aarch64/aarch64.c (aarch64_register_fma_steering): Declare.
    (aarch64_override_options): Include cortex-a57-fma-steering.h. Call
    aarch64_register_fma_steering () if AARCH64_TUNE_FMA_STEERING is true.
    * config/aarch64/cortex-a57-fma-steering.h: New file.
    * config/aarch64/cortex-a57-fma-steering.c: Likewise.

From-SVN: r222512
gcc/ChangeLog
gcc/config.gcc
gcc/config/aarch64/aarch64-cores.def
gcc/config/aarch64/aarch64.c
gcc/config/aarch64/aarch64.h
gcc/config/aarch64/cortex-a57-fma-steering.c [new file with mode: 0644]
gcc/config/aarch64/cortex-a57-fma-steering.h [new file with mode: 0644]
gcc/config/aarch64/t-aarch64