aboutsummaryrefslogtreecommitdiff
path: root/gcc/builtins.c
diff options
context:
space:
mode:
authorPeter Bergner <bergner@vnet.ibm.com>2013-08-19 12:49:33 -0500
committerPeter Bergner <bergner@gcc.gnu.org>2013-08-19 12:49:33 -0500
commite2323f5b3335d70d4a1e04c3f251a977a400e5fa (patch)
tree2160dd15d5baffff0f1a85c953a8333adee72fa8 /gcc/builtins.c
parent7a3def9768c4ad790f4d5f14c1bf17d39b184987 (diff)
downloadgcc-e2323f5b3335d70d4a1e04c3f251a977a400e5fa.zip
gcc-e2323f5b3335d70d4a1e04c3f251a977a400e5fa.tar.gz
gcc-e2323f5b3335d70d4a1e04c3f251a977a400e5fa.tar.bz2
builtins.def (BUILT_IN_FABSD32): New DFP ABS builtin.
gcc/ * builtins.def (BUILT_IN_FABSD32): New DFP ABS builtin. (BUILT_IN_FABSD64): Likewise. (BUILT_IN_FABSD128): Likewise. * builtins.c (expand_builtin): Add support for new DFP ABS builtins. (fold_builtin_1): Likewise. * config/rs6000/dfp.md (*negtd2_fpr): Handle non-overlapping destination and source operands. (*abstd2_fpr): Likewise. (*nabstd2_fpr): Likewise. gcc/testsuite/ * gcc.target/powerpc/dfp-dd-2.c: New test. * gcc.target/powerpc/dfp-td-2.c: Likewise. * gcc.target/powerpc/dfp-td-3.c: Likewise. Co-Authored-By: Jakub Jelinek <jakub@redhat.com> From-SVN: r201849
Diffstat (limited to 'gcc/builtins.c')
-rw-r--r--gcc/builtins.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/gcc/builtins.c b/gcc/builtins.c
index ebb79be..f6f61c7 100644
--- a/gcc/builtins.c
+++ b/gcc/builtins.c
@@ -5889,6 +5889,9 @@ expand_builtin (tree exp, rtx target, rtx subtarget, enum machine_mode mode,
switch (fcode)
{
CASE_FLT_FN (BUILT_IN_FABS):
+ case BUILT_IN_FABSD32:
+ case BUILT_IN_FABSD64:
+ case BUILT_IN_FABSD128:
target = expand_builtin_fabs (exp, target, subtarget);
if (target)
return target;
@@ -10338,6 +10341,9 @@ fold_builtin_1 (location_t loc, tree fndecl, tree arg0, bool ignore)
return fold_builtin_strlen (loc, type, arg0);
CASE_FLT_FN (BUILT_IN_FABS):
+ case BUILT_IN_FABSD32:
+ case BUILT_IN_FABSD64:
+ case BUILT_IN_FABSD128:
return fold_builtin_fabs (loc, arg0, type);
case BUILT_IN_ABS: