From: Stuart Hastings Date: Wed, 23 Aug 2006 21:41:35 +0000 (+0000) Subject: re PR target/28825 (return (vector float) { a, a, b, b } generates unwanted MMX insns) X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=12b3553fe4111b2f095d2397acbddf4d9b019eac;p=gcc.git 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 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 195c92b9929..a15af37cb51 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2006-08-23 Stuart Hastings + + 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 PR debug/28692 diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c index 5161ddaa693..a7f3c0d8078 100644 --- a/gcc/config/i386/i386.c +++ b/gcc/config/i386/i386.c @@ -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 */ diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 7c1cb9419e9..45cf402e21b 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2006-08-23 Stuart Hastings + + PR 28825 + * gcc.target/i386/20060821-1.c: New. + 2006-08-23 Danny Smith gcc.dg/attr-invalid.c: Insert an " |directive" substitution into diff --git a/gcc/testsuite/gcc.target/i386/20060821-1.c b/gcc/testsuite/gcc.target/i386/20060821-1.c new file mode 100644 index 00000000000..56e980fddfb --- /dev/null +++ b/gcc/testsuite/gcc.target/i386/20060821-1.c @@ -0,0 +1,9 @@ +/* { dg-do compile } */ +/* { dg-options "-O2 -msse3 -S" } */ +/* { dg-final { scan-assembler-not "%mm" } } */ +/* PR 28825 */ +#include +__m128 ggg(float* m) +{ + return (__m128) {m[0], m[5], m[10], m[10]}; +}