[Patch AArch64 13/17] Enable _Float16 for AArch64
authorJames Greenhalgh <james.greenhalgh@arm.com>
Thu, 24 Nov 2016 18:19:29 +0000 (18:19 +0000)
committerJames Greenhalgh <jgreenhalgh@gcc.gnu.org>
Thu, 24 Nov 2016 18:19:29 +0000 (18:19 +0000)
commit11e554b3b5528e98f2576a06e8ad4d51fbed0d56
treee2fbac9f7d1ee9d902dbaa4a4d85016d6e28e1b7
parent2e5f8203d26bec30f790dbde5058e224521b27cb
[Patch AArch64 13/17] Enable _Float16 for AArch64

gcc/

* config/aarch64/aarch64-c.c (aarch64_update_cpp_builtins): Update
__FLT_EVAL_METHOD__ and __FLT_EVAL_METHOD_C99__ when we switch
architecture levels.
* config/aarch64/aarch64.c (aarch64_promoted_type): Only promote
the aarch64_fp16_type_node, not all HFmode types.
(aarch64_libgcc_floating_mode_supported_p): Support HFmode.
(aarch64_scalar_mode_supported_p): Likewise.
(aarch64_excess_precision): New.
(TARGET_LIBGCC_FLOATING_MODE_SUPPORTED_P): Define.
(TARGET_SCALAR_MODE_SUPPORTED_P): Likewise.
(TARGET_C_EXCESS_PRECISION): Likewise.

gcc/testsuite/

* gcc.target/aarch64/_Float16_1.c: New.
* gcc.target/aarch64/_Float16_2.c: Likewise.
* gcc.target/aarch64/_Float16_3.c: Likewise.

From-SVN: r242845
gcc/ChangeLog
gcc/config/aarch64/aarch64-c.c
gcc/config/aarch64/aarch64.c
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/aarch64/_Float16_1.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/_Float16_2.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/_Float16_3.c [new file with mode: 0644]