Commit 0386b123 by James Greenhalgh Committed by James Greenhalgh

[AArch64] Vectorize over more math.h functions.

gcc/
	* config/aarch64/aarch64-builtins.c
	(aarch64_builtin_vectorized_function): Vectorize over ifloorf,
	iceilf, lround, iroundf.

From-SVN: r198402
parent 00fcb892
2013-04-29 James Greenhalgh <james.greenhalgh@arm.com>
* config/aarch64/aarch64-builtins.c
(aarch64_builtin_vectorized_function): Vectorize over ifloorf,
iceilf, lround, iroundf.
2013-04-29 Uros Bizjak <ubizjak@gmail.com>
PR target/54349
......
......@@ -1245,6 +1245,7 @@ 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_IFLOORF:
{
tree new_tree = NULL_TREE;
if (AARCH64_CHECK_BUILTIN_MODE (2, D))
......@@ -1259,6 +1260,7 @@ aarch64_builtin_vectorized_function (tree fndecl, tree type_out, tree type_in)
return new_tree;
}
case BUILT_IN_LCEIL:
case BUILT_IN_ICEILF:
{
tree new_tree = NULL_TREE;
if (AARCH64_CHECK_BUILTIN_MODE (2, D))
......@@ -1272,6 +1274,22 @@ aarch64_builtin_vectorized_function (tree fndecl, tree type_out, tree type_in)
aarch64_builtin_decls[AARCH64_SIMD_BUILTIN_lceilv2sfv2si];
return new_tree;
}
case BUILT_IN_LROUND:
case BUILT_IN_IROUNDF:
{
tree new_tree = NULL_TREE;
if (AARCH64_CHECK_BUILTIN_MODE (2, D))
new_tree =
aarch64_builtin_decls[AARCH64_SIMD_BUILTIN_lroundv2dfv2di];
else if (AARCH64_CHECK_BUILTIN_MODE (4, S))
new_tree =
aarch64_builtin_decls[AARCH64_SIMD_BUILTIN_lroundv4sfv4si];
else if (AARCH64_CHECK_BUILTIN_MODE (2, S))
new_tree =
aarch64_builtin_decls[AARCH64_SIMD_BUILTIN_lroundv2sfv2si];
return new_tree;
}
default:
return NULL_TREE;
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment