From: yroux Date: Thu, 2 Apr 2015 06:58:52 +0000 (+0000) Subject: gcc/ X-Git-Tag: upstream/4.9.4~31 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=efddcd6f1f90554cd81688ac5c98c3c9ed9a1f86;p=platform%2Fupstream%2Flinaro-gcc.git gcc/ 2015-04-02 Yvan Roux Backport from trunk r218530. 2014-12-09 Alan Lawrence * config/aarch64/aarch64.md (absdi2): Remove scratch operand by earlyclobbering result operand. * config/aarch64/aarch64-builtins.c (aarch64_types_unop_qualifiers): Remove final qualifier_internal. (aarch64_fold_builtin): Stop folding abs builtins, except on floats. gcc/testsuite/ 2015-04-02 Yvan Roux Backport from trunk r218530. 2014-12-09 Alan Lawrence * gcc.target/aarch64/vabs_intrinsic_2.c: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/linaro/gcc-4_9-branch@221824 138bc75d-0d04-0410-961f-82ee72b054a4 --- diff --git a/gcc/ChangeLog.linaro b/gcc/ChangeLog.linaro index e2cd62b..6fd4a10 100644 --- a/gcc/ChangeLog.linaro +++ b/gcc/ChangeLog.linaro @@ -1,5 +1,17 @@ 2015-04.02 Yvan Roux + Backport from trunk r218530. + 2014-12-09 Alan Lawrence + + * config/aarch64/aarch64.md (absdi2): Remove scratch operand by + earlyclobbering result operand. + + * config/aarch64/aarch64-builtins.c (aarch64_types_unop_qualifiers): + Remove final qualifier_internal. + (aarch64_fold_builtin): Stop folding abs builtins, except on floats. + +2015-04.02 Yvan Roux + Backport from trunk r218526. 2014-12-09 Wilco Dijkstra diff --git a/gcc/config/aarch64/aarch64-builtins.c b/gcc/config/aarch64/aarch64-builtins.c index c7e4797..8b7d880 100644 --- a/gcc/config/aarch64/aarch64-builtins.c +++ b/gcc/config/aarch64/aarch64-builtins.c @@ -1202,7 +1202,7 @@ aarch64_fold_builtin (tree fndecl, int n_args ATTRIBUTE_UNUSED, tree *args, switch (fcode) { - BUILTIN_VALLDI (UNOP, abs, 2) + BUILTIN_VDQF (UNOP, abs, 2) return fold_build1 (ABS_EXPR, type, args[0]); break; VAR1 (REINTERP_SS, reinterpretdi, 0, df) diff --git a/gcc/config/aarch64/aarch64.md b/gcc/config/aarch64/aarch64.md index 0b1d794..2dee7c7 100644 --- a/gcc/config/aarch64/aarch64.md +++ b/gcc/config/aarch64/aarch64.md @@ -1891,9 +1891,8 @@ ) (define_insn_and_split "absdi2" - [(set (match_operand:DI 0 "register_operand" "=r,w") - (abs:DI (match_operand:DI 1 "register_operand" "r,w"))) - (clobber (match_scratch:DI 2 "=&r,X"))] + [(set (match_operand:DI 0 "register_operand" "=&r,w") + (abs:DI (match_operand:DI 1 "register_operand" "r,w")))] "" "@ # @@ -1903,7 +1902,7 @@ && GP_REGNUM_P (REGNO (operands[1]))" [(const_int 0)] { - emit_insn (gen_rtx_SET (VOIDmode, operands[2], + emit_insn (gen_rtx_SET (VOIDmode, operands[0], gen_rtx_XOR (DImode, gen_rtx_ASHIFTRT (DImode, operands[1], @@ -1912,7 +1911,7 @@ emit_insn (gen_rtx_SET (VOIDmode, operands[0], gen_rtx_MINUS (DImode, - operands[2], + operands[0], gen_rtx_ASHIFTRT (DImode, operands[1], GEN_INT (63))))); diff --git a/gcc/testsuite/ChangeLog.linaro b/gcc/testsuite/ChangeLog.linaro index 9d8ebc9..ecab740 100644 --- a/gcc/testsuite/ChangeLog.linaro +++ b/gcc/testsuite/ChangeLog.linaro @@ -1,5 +1,12 @@ 2015-04-02 Yvan Roux + Backport from trunk r218530. + 2014-12-09 Alan Lawrence + + * gcc.target/aarch64/vabs_intrinsic_2.c: New test. + +2015-04-02 Yvan Roux + Backport from trunk r218868. 2014-12-18 Alan Lawrence