aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorUros Bizjak <uros@gcc.gnu.org>2011-09-06 23:04:55 +0200
committerUros Bizjak <uros@gcc.gnu.org>2011-09-06 23:04:55 +0200
commit8092dd900b9483f1f8ec716c5d94a5686e669b0d (patch)
tree57a0ec9253debe2d7c1bdc28fe3529f9b8bd4e76 /gcc
parentcf8fd3097aff02f561ab0f960b107830a8d90168 (diff)
downloadgcc-8092dd900b9483f1f8ec716c5d94a5686e669b0d.zip
gcc-8092dd900b9483f1f8ec716c5d94a5686e669b0d.tar.gz
gcc-8092dd900b9483f1f8ec716c5d94a5686e669b0d.tar.bz2
i386.c (ix86_function_value_regno_p): Use AX_REG.
2011-09-06 Uros Bizjak <ubizjak@gmail.com> * config/i386/i386.c (ix86_function_value_regno_p): Use AX_REG. (function_value_32): Do not check TARGET_MMX, TARGET_SSE or TARGET_AVX. testsuite/ChangeLog: 2011-09-06 Uros Bizjak <ubizjak@gmail.com> * gcc.target/i386/builtin-apply-mmx.c: Require ia32 effective target. From-SVN: r178610
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog18
-rw-r--r--gcc/config/i386/i386.c20
-rw-r--r--gcc/testsuite/ChangeLog6
-rw-r--r--gcc/testsuite/gcc.target/i386/builtin-apply-mmx.c2
4 files changed, 29 insertions, 17 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 465393a..df48777 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2011-09-06 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.c (ix86_function_value_regno_p): Use AX_REG.
+ (function_value_32): Do not check TARGET_MMX, TARGET_SSE or TARGET_AVX.
+
2011-09-06 Iain Sandoe <iains@gcc.gnu.org>
* config/darwin10.h Remove duplicate LIB_SPEC.
@@ -473,10 +478,8 @@
2011-09-02 Richard Guenther <rguenther@suse.de>
- * tree-ssa-ccp.c (fold_builtin_alloca_for_var): Do not
- fold alloca (0).
- (ccp_fold_stmt): Continue replacing args when folding
- alloca fails.
+ * tree-ssa-ccp.c (fold_builtin_alloca_for_var): Do not fold alloca (0).
+ (ccp_fold_stmt): Continue replacing args when folding alloca fails.
2011-08-31 Richard Guenther <rguenther@suse.de>
@@ -495,8 +498,7 @@
(collect_object_sizes_for): Likewise.
* tree-scalar-evolution.c (interpret_expr): Don't handle
ternary RHSs.
- * tree-ssa-forwprop.c (forward_propagate_into_cond): Fix and
- simplify.
+ * tree-ssa-forwprop.c (forward_propagate_into_cond): Fix and simplify.
(ssa_forward_propagate_and_combine): Adjust.
* tree-ssa-loop-im.c (move_computations_stmt): Build the COND_EXPR
as ternary.
@@ -643,8 +645,8 @@
* gthr-posix.h (__gthread_active_p): Do not use preprocessor
conditionals and comments inside macro arguments.
-20011-08-29 Artjoms Sinkarovs <artyom.shinkaroff@gmail.com>
- Richard Guenther <rguenther@suse.de>
+2011-08-29 Artjoms Sinkarovs <artyom.shinkaroff@gmail.com>
+ Richard Guenther <rguenther@suse.de>
* tree.h (constant_boolean_node): Adjust prototype.
* fold-const.c (fold_convert_loc): Move aggregate conversion
diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c
index 555db59..ff8c49f 100644
--- a/gcc/config/i386/i386.c
+++ b/gcc/config/i386/i386.c
@@ -7015,7 +7015,7 @@ ix86_function_value_regno_p (const unsigned int regno)
{
switch (regno)
{
- case 0:
+ case AX_REG:
return true;
case FIRST_FLOAT_REG:
@@ -7053,18 +7053,18 @@ function_value_32 (enum machine_mode orig_mode, enum machine_mode mode,
we normally prevent this case when mmx is not available. However
some ABIs may require the result to be returned like DImode. */
if (VECTOR_MODE_P (mode) && GET_MODE_SIZE (mode) == 8)
- regno = TARGET_MMX ? FIRST_MMX_REG : 0;
+ regno = FIRST_MMX_REG;
/* 16-byte vector modes in %xmm0. See ix86_return_in_memory for where
we prevent this case when sse is not available. However some ABIs
may require the result to be returned like integer TImode. */
else if (mode == TImode
|| (VECTOR_MODE_P (mode) && GET_MODE_SIZE (mode) == 16))
- regno = TARGET_SSE ? FIRST_SSE_REG : 0;
+ regno = FIRST_SSE_REG;
/* 32-byte vector modes in %ymm0. */
else if (VECTOR_MODE_P (mode) && GET_MODE_SIZE (mode) == 32)
- regno = TARGET_AVX ? FIRST_SSE_REG : 0;
+ regno = FIRST_SSE_REG;
/* Floating point return values in %st(0) (unless -mno-fp-ret-in-387). */
else if (X87_FLOAT_MODE_P (mode) && TARGET_FLOAT_RETURNS_IN_80387)
@@ -7098,6 +7098,8 @@ function_value_64 (enum machine_mode orig_mode, enum machine_mode mode,
/* Handle libcalls, which don't provide a type node. */
if (valtype == NULL)
{
+ unsigned int regno;
+
switch (mode)
{
case SFmode:
@@ -7108,15 +7110,19 @@ function_value_64 (enum machine_mode orig_mode, enum machine_mode mode,
case SDmode:
case DDmode:
case TDmode:
- return gen_rtx_REG (mode, FIRST_SSE_REG);
+ regno = FIRST_SSE_REG;
+ break;
case XFmode:
case XCmode:
- return gen_rtx_REG (mode, FIRST_FLOAT_REG);
+ regno = FIRST_FLOAT_REG;
+ break;
case TCmode:
return NULL;
default:
- return gen_rtx_REG (mode, AX_REG);
+ regno = AX_REG;
}
+
+ return gen_rtx_REG (mode, regno);
}
else if (POINTER_TYPE_P (valtype))
{
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index db1c7fd..8025250 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,7 @@
+2011-09-06 Uros Bizjak <ubizjak@gmail.com>
+
+ * gcc.target/i386/builtin-apply-mmx.c: Require ia32 effective target.
+
2011-09-06 Enkovich Ilya <ilya.enkovich@intel.com>
* gcc.dg/tree-ssa/pr38533.c (dg-options): Added option
@@ -224,7 +228,7 @@
* gcc.dg/tree-ssa/ssa-ccp-26.c: Likewise.
* gcc.dg/pr36902.c: XFAIL.
-2011-08-30 Ilya Tocar <ilya.tocar@intel.com>
+2011-08-30 Ilya Tocar <ilya.tocar@intel.com>
* gcc.target/i386/fma-check.h: New.
* gcc.target/i386/fma-256-fmaddXX.c: New testcase.
diff --git a/gcc/testsuite/gcc.target/i386/builtin-apply-mmx.c b/gcc/testsuite/gcc.target/i386/builtin-apply-mmx.c
index f6477e2..badfe03 100644
--- a/gcc/testsuite/gcc.target/i386/builtin-apply-mmx.c
+++ b/gcc/testsuite/gcc.target/i386/builtin-apply-mmx.c
@@ -11,7 +11,7 @@
/* { dg-do run { xfail { ! *-*-darwin* } } } */
/* { dg-options "-O2 -mmmx" } */
-/* { dg-require-effective-target ilp32 } */
+/* { dg-require-effective-target ia32 } */
#include "mmx-check.h"