aarch64-builtins.c: Builtins for rsqrt and rsqrtf.
authorBenedikt Huber <benedikt.huber@theobroma-systems.com>
Fri, 6 Nov 2015 17:10:17 +0000 (17:10 +0000)
committerPhilipp Tomsich <ptomsich@gcc.gnu.org>
Fri, 6 Nov 2015 17:10:17 +0000 (17:10 +0000)
commita6fc00da763fceeb9b7491fe07c6985949da9953
treeb04b26d8aedd89ced8b4a670702d77564dd59a55
parent7ad72a979bc0380cb05c036f008257fdcd54e77b
aarch64-builtins.c: Builtins for rsqrt and rsqrtf.

2015-11-06  Benedikt Huber  <benedikt.huber@theobroma-systems.com>
    Philipp Tomsich  <philipp.tomsich@theobroma-systems.com>

* config/aarch64/aarch64-builtins.c: Builtins for rsqrt and rsqrtf.
* config/aarch64/aarch64-protos.h: Declare.
* config/aarch64/aarch64-simd.md: Matching expressions for frsqrte and
frsqrts.
* config/aarch64/aarch64-tuning-flags.def: Added recip_sqrt.
* config/aarch64/aarch64.c: New functions. Emit rsqrt estimation code when
applicable.
* config/aarch64/aarch64.md: Added enum entries.
* config/aarch64/aarch64.opt: Added option -mlow-precision-recip-sqrt.
* testsuite/gcc.target/aarch64/rsqrt_asm_check_common.h: Common macros for
assembly checks.
* testsuite/gcc.target/aarch64/rsqrt_asm_check_negative_1.c: Make sure
frsqrts and frsqrte are not emitted.
* testsuite/gcc.target/aarch64/rsqrt_asm_check_1.c: Make sure frsqrts and
frsqrte are emitted.
* testsuite/gcc.target/aarch64/rsqrt_1.c: Functional tests for rsqrt.

Signed-off-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
Co-Authored-By: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
From-SVN: r229866
gcc/ChangeLog
gcc/config/aarch64/aarch64-builtins.c
gcc/config/aarch64/aarch64-protos.h
gcc/config/aarch64/aarch64-simd.md
gcc/config/aarch64/aarch64-tuning-flags.def
gcc/config/aarch64/aarch64.c
gcc/config/aarch64/aarch64.md
gcc/config/aarch64/aarch64.opt
gcc/doc/invoke.texi