re PR target/28825 (return (vector float) { a, a, b, b } generates unwanted MMX insns)

PR 28825
	* gcc/config/i386/i386.c (ix86_expand_vector_init_duplicate,
	ix86_expand_vector_init_one_nonzero): Remove TARGET_SSE test.
	* gcc.target/i386/20060821-1.c: New.

From-SVN: r116356
This commit is contained in:
Stuart Hastings 2006-08-23 21:41:35 +00:00 committed by Stuart Hastings
parent b2742484fc
commit 12b3553fe4
4 changed files with 22 additions and 2 deletions

View file

@ -1,3 +1,9 @@
2006-08-23 Stuart Hastings <stuart@apple.com>
PR 28825
* gcc/config/i386/i386.c (ix86_expand_vector_init_duplicate,
ix86_expand_vector_init_one_nonzero): Remove TARGET_SSE test.
2006-08-21 Geoffrey Keating <geoffk@apple.com>
PR debug/28692

View file

@ -17928,7 +17928,7 @@ ix86_expand_vector_init_duplicate (bool mmx_ok, enum machine_mode mode,
{
case V2SImode:
case V2SFmode:
if (!mmx_ok && !TARGET_SSE)
if (!mmx_ok)
return false;
/* FALLTHRU */
@ -18067,7 +18067,7 @@ ix86_expand_vector_init_one_nonzero (bool mmx_ok, enum machine_mode mode,
{
case V2SFmode:
case V2SImode:
if (!mmx_ok && !TARGET_SSE)
if (!mmx_ok)
return false;
/* FALLTHRU */

View file

@ -1,3 +1,8 @@
2006-08-23 Stuart Hastings <stuart@apple.com>
PR 28825
* gcc.target/i386/20060821-1.c: New.
2006-08-23 Danny Smith <dannysmith@users.sourceforge.net>
gcc.dg/attr-invalid.c: Insert an " |directive" substitution into

View file

@ -0,0 +1,9 @@
/* { dg-do compile } */
/* { dg-options "-O2 -msse3 -S" } */
/* { dg-final { scan-assembler-not "%mm" } } */
/* PR 28825 */
#include <pmmintrin.h>
__m128 ggg(float* m)
{
return (__m128) {m[0], m[5], m[10], m[10]};
}