From bf0f324ea4182da0f6ea89ab9658c0f9549bf360 Mon Sep 17 00:00:00 2001 From: Yufeng Zhang Date: Wed, 12 Mar 2014 16:35:53 +0000 Subject: [PATCH] gcc/ * config/aarch64/aarch64-builtins.c (aarch64_builtin_vectorized_function): Add BUILT_IN_LFLOORF, BUILT_IN_LLFLOOR, BUILT_IN_LCEILF and BUILT_IN_LLCEIL. * config/aarch64/arm_neon.h (vcvtaq_u64_f64): Call __builtin_llfloor instead of __builtin_lfloor. (vcvtnq_u64_f64): Call __builtin_llceil instead of __builtin_lceil. From-SVN: r208517 --- gcc/ChangeLog | 9 +++++++++ gcc/config/aarch64/aarch64-builtins.c | 4 ++++ gcc/config/aarch64/arm_neon.h | 4 ++-- 3 files changed, 15 insertions(+), 2 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 3863dc1b7c5..5ae68310b5c 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,12 @@ +2014-03-12 Yufeng Zhang + + * config/aarch64/aarch64-builtins.c + (aarch64_builtin_vectorized_function): Add BUILT_IN_LFLOORF, + BUILT_IN_LLFLOOR, BUILT_IN_LCEILF and BUILT_IN_LLCEIL. + * config/aarch64/arm_neon.h (vcvtaq_u64_f64): Call __builtin_llfloor + instead of __builtin_lfloor. + (vcvtnq_u64_f64): Call __builtin_llceil instead of __builtin_lceil. + 2014-03-12 Jakub Jelinek * tree-ssa-ifcombine.c (forwarder_block_to): New function. diff --git a/gcc/config/aarch64/aarch64-builtins.c b/gcc/config/aarch64/aarch64-builtins.c index ebab2ce8347..9dfe0b6e1a5 100644 --- a/gcc/config/aarch64/aarch64-builtins.c +++ b/gcc/config/aarch64/aarch64-builtins.c @@ -1034,6 +1034,8 @@ aarch64_builtin_vectorized_function (tree fndecl, tree type_out, tree type_in) (out_mode == N##Imode && out_n == C \ && in_mode == N##Fmode && in_n == C) case BUILT_IN_LFLOOR: + case BUILT_IN_LFLOORF: + case BUILT_IN_LLFLOOR: case BUILT_IN_IFLOORF: { enum aarch64_builtins builtin; @@ -1049,6 +1051,8 @@ aarch64_builtin_vectorized_function (tree fndecl, tree type_out, tree type_in) return aarch64_builtin_decls[builtin]; } case BUILT_IN_LCEIL: + case BUILT_IN_LCEILF: + case BUILT_IN_LLCEIL: case BUILT_IN_ICEILF: { enum aarch64_builtins builtin; diff --git a/gcc/config/aarch64/arm_neon.h b/gcc/config/aarch64/arm_neon.h index 6af99361b8e..8272a843c41 100644 --- a/gcc/config/aarch64/arm_neon.h +++ b/gcc/config/aarch64/arm_neon.h @@ -17693,7 +17693,7 @@ vcvtaq_u64_f64 (float64x2_t __a) __extension__ static __inline int64_t __attribute__ ((__always_inline__)) vcvtmd_s64_f64 (float64_t __a) { - return __builtin_lfloor (__a); + return __builtin_llfloor (__a); } __extension__ static __inline uint64_t __attribute__ ((__always_inline__)) @@ -17829,7 +17829,7 @@ vcvtnq_u64_f64 (float64x2_t __a) __extension__ static __inline int64_t __attribute__ ((__always_inline__)) vcvtpd_s64_f64 (float64_t __a) { - return __builtin_lceil (__a); + return __builtin_llceil (__a); } __extension__ static __inline uint64_t __attribute__ ((__always_inline__)) -- 2.30.2