diff options
author | James Greenhalgh <james.greenhalgh@arm.com> | 2016-11-24 18:16:55 +0000 |
---|---|---|
committer | James Greenhalgh <jgreenhalgh@gcc.gnu.org> | 2016-11-24 18:16:55 +0000 |
commit | 2e5f8203d26bec30f790dbde5058e224521b27cb (patch) | |
tree | a66c03cfab0387c16ab8e09044dc5dcdda4715cf /libgcc | |
parent | bf1e3646d150a0fcb542c918ad381f9aee583633 (diff) | |
download | gcc-2e5f8203d26bec30f790dbde5058e224521b27cb.tar.gz |
[Patch libgcc AArch64 12/17] Enable hfmode soft-float conversions and truncations
gcc/
* config/aarch64/aarch64-c.c (aarch64_scalar_mode_supported_p): New.
(TARGET_SCALAR_MODE_SUPPORTED_P): Define.
libgcc/
* config/aarch64/sfp-machine.h (_FP_NANFRAC_H): Define.
(_FP_NANSIGN_H): Likewise.
* config/aarch64/t-softfp (softfp_extensions): Add hftf.
(softfp_truncations): Add tfhf.
(softfp_extras): Add required conversion functions.
From-SVN: r242844
Diffstat (limited to 'libgcc')
-rw-r--r-- | libgcc/ChangeLog | 8 | ||||
-rw-r--r-- | libgcc/config/aarch64/sfp-machine.h | 2 | ||||
-rw-r--r-- | libgcc/config/aarch64/t-softfp | 5 |
3 files changed, 13 insertions, 2 deletions
diff --git a/libgcc/ChangeLog b/libgcc/ChangeLog index 44a7491bb03..592fd3a245c 100644 --- a/libgcc/ChangeLog +++ b/libgcc/ChangeLog @@ -1,3 +1,11 @@ +2016-11-24 James Greenhalgh <james.greenhalgh@arm.com> + + * config/aarch64/sfp-machine.h (_FP_NANFRAC_H): Define. + (_FP_NANSIGN_H): Likewise. + * config/aarch64/t-softfp (softfp_extensions): Add hftf. + (softfp_truncations): Add tfhf. + (softfp_extras): Add required conversion functions. + 2016-11-23 James Greenhalgh <james.greenhalgh@arm.com> Matthew Wahab <matthew.wahab@arm.com> diff --git a/libgcc/config/aarch64/sfp-machine.h b/libgcc/config/aarch64/sfp-machine.h index 5efa245f94d..da154ddbe6a 100644 --- a/libgcc/config/aarch64/sfp-machine.h +++ b/libgcc/config/aarch64/sfp-machine.h @@ -42,9 +42,11 @@ typedef int __gcc_CMPtype __attribute__ ((mode (__libgcc_cmp_return__))); #define _FP_DIV_MEAT_Q(R,X,Y) _FP_DIV_MEAT_2_udiv(Q,R,X,Y) +#define _FP_NANFRAC_H ((_FP_QNANBIT_H << 1) - 1) #define _FP_NANFRAC_S ((_FP_QNANBIT_S << 1) - 1) #define _FP_NANFRAC_D ((_FP_QNANBIT_D << 1) - 1) #define _FP_NANFRAC_Q ((_FP_QNANBIT_Q << 1) - 1), -1 +#define _FP_NANSIGN_H 0 #define _FP_NANSIGN_S 0 #define _FP_NANSIGN_D 0 #define _FP_NANSIGN_Q 0 diff --git a/libgcc/config/aarch64/t-softfp b/libgcc/config/aarch64/t-softfp index 586dca22469..c4ce0dc0097 100644 --- a/libgcc/config/aarch64/t-softfp +++ b/libgcc/config/aarch64/t-softfp @@ -1,8 +1,9 @@ softfp_float_modes := tf softfp_int_modes := si di ti -softfp_extensions := sftf dftf -softfp_truncations := tfsf tfdf +softfp_extensions := sftf dftf hftf +softfp_truncations := tfsf tfdf tfhf softfp_exclude_libgcc2 := n +softfp_extras := fixhfti fixunshfti floattihf floatuntihf TARGET_LIBGCC2_CFLAGS += -Wno-missing-prototypes |