Update concepts branch to revision 131834
[official-gcc.git] / gcc / testsuite / gcc.target / i386 / pr33524.c
blob5b484a207ff20bdf24e91ee4d999956aaecde3e5
1 /* Test that the compiler properly optimizes vector SI->DI conversions. This
2 was a bug in the initial SSE5 code. */
4 /* { dg-do compile } */
5 /* { dg-require-effective-target lp64 } */
6 /* { dg-options "-O2 -msse5 -ftree-vectorize" } */
8 typedef long long __m128i __attribute__ ((__vector_size__ (16), __may_alias__));
10 #define SIZE 10240
11 union {
12 signed int si[SIZE];
13 signed long sl[SIZE];
14 __m128i align;
15 } a, b;
17 void conv_sign_int_sign_long (void)
19 int i;
21 for (i = 0; i < SIZE; i++)
22 a.sl[i] = b.si[i];
25 /* { dg-final { scan-assembler "pperm" } } */