Commit 667e8acb by Xinliang David Li Committed by Xinliang David Li

better m128i constant materialization

From-SVN: r145418
parent eec49116
2009-04-1 Xinliang David Li <davidxl@google.com>
* config/i386/i386.c (legitimate_constant_p): Recognize
all one vector constant.
2009-04-01 Jan-Benedict Glaw <jbglaw@jbglaw-dev.homezone.telefonica.de> 2009-04-01 Jan-Benedict Glaw <jbglaw@jbglaw-dev.homezone.telefonica.de>
* gcc/config/vax/vax.c: Add #includes to silence warnings. * gcc/config/vax/vax.c: Add #includes to silence warnings.
......
...@@ -8951,9 +8951,8 @@ legitimate_constant_p (rtx x) ...@@ -8951,9 +8951,8 @@ legitimate_constant_p (rtx x)
break; break;
case CONST_VECTOR: case CONST_VECTOR:
if (x == CONST0_RTX (GET_MODE (x))) if (!standard_sse_constant_p (x))
return true; return false;
return false;
default: default:
break; break;
......
2009-04-01 Xinliang David Li <davidxl@google.com>
* gcc.target/i386/all_one_m128i.c: New test.
2009-04-01 Janis Johnson <janis187@us.ibm.com> 2009-04-01 Janis Johnson <janis187@us.ibm.com>
PR c/33466 PR c/33466
......
/* { dg-do compile } */
/* { dg-options "-O2 -msse2" } */
typedef long long __m128i __attribute__ ((__vector_size__ (16)));
typedef int __v4si __attribute__ ((__vector_size__ (16)));
__m128i foo ()
{
__m128i minus_1 = (__m128i) (__v4si) { -1, -1, -1, -1 };
return minus_1;
}
/* { dg-final { scan-assembler "pcmpeqd" } } */
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment