diff options
author | Uros Bizjak <uros@gcc.gnu.org> | 2011-09-06 23:04:55 +0200 |
---|---|---|
committer | Uros Bizjak <uros@gcc.gnu.org> | 2011-09-06 23:04:55 +0200 |
commit | 8092dd900b9483f1f8ec716c5d94a5686e669b0d (patch) | |
tree | 57a0ec9253debe2d7c1bdc28fe3529f9b8bd4e76 /gcc | |
parent | cf8fd3097aff02f561ab0f960b107830a8d90168 (diff) | |
download | gcc-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/ChangeLog | 18 | ||||
-rw-r--r-- | gcc/config/i386/i386.c | 20 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/testsuite/gcc.target/i386/builtin-apply-mmx.c | 2 |
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" |