aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog9
-rw-r--r--gcc/config/aarch64/aarch64-builtins.c4
-rw-r--r--gcc/config/aarch64/arm_neon.h4
3 files changed, 15 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 3863dc1..5ae6831 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,12 @@
+2014-03-12 Yufeng Zhang <yufeng.zhang@arm.com>
+
+ * 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 <jakub@redhat.com>
* 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 ebab2ce..9dfe0b6 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 6af99361..8272a84 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__))