150471Speter/* { dg-do run } */
21556Srgrimes/* { dg-options "-O2 -msse" } */
31556Srgrimes/* { dg-require-effective-target sse } */
41556Srgrimes
5105831Srwatson#ifndef CHECK_H
6140903Sdelphij#define CHECK_H "sse-check.h"
731552Sdyson#endif
831552Sdyson
931552Sdyson#ifndef TEST
1031552Sdyson#define TEST sse_test
1131552Sdyson#endif
1231552Sdyson
1376812Sru#include CHECK_H
1411779Storstenb
151556Srgrimes#include <xmmintrin.h>
161556Srgrimes
171556Srgrimesstatic __m128
18__attribute__((noinline, unused))
19test (float *e)
20{
21  return _mm_loadu_ps (e);
22}
23
24static void
25TEST (void)
26{
27  union128 u;
28  float e[4] = {2134.3343,1234.635654, 1.2234, 876.8976};
29
30  u.x = test (e);
31
32  if (check_union128 (u, e))
33    abort ();
34}
35