Update concepts branch to revision 131834
[official-gcc.git] / gcc / testsuite / gcc.target / i386 / sse-set-ps-1.c
blob8232c7229c5ca16ae28c23cb88112f5b0be29af1
1 /* { dg-do run } */
2 /* { dg-options "-O2 -msse" } */
4 #include "sse-check.h"
6 #ifdef DEBUG
7 #include <stdio.h>
8 #endif
10 #include <xmmintrin.h>
12 static void
13 __attribute__((noinline))
14 test (float *v)
16 union
18 __m128 x;
19 float f[4];
20 } u;
21 unsigned int i;
23 u.x = _mm_set_ps (v[3], v[2], v[1], v[0]);
25 for (i = 0; i < sizeof (v) / sizeof (v[0]); i++)
26 if (v[i] != u.f[i])
28 #ifdef DEBUG
29 printf ("%i: %f != %f\n", i, v[i], u.f[i]);
30 #endif
31 abort ();
35 static void
36 sse_test (void)
38 float v[4] = { -3, 2, 1, 9 };
39 test (v);