1/* { dg-do run } */
2/* { dg-options "-O2 -msse" } */
3/* { dg-require-effective-target sse } */
4
5#ifndef CHECK_H
6#define CHECK_H "sse-check.h"
7#endif
8
9#ifndef TEST
10#define TEST sse_test
11#endif
12
13#include CHECK_H
14
15#include <xmmintrin.h>
16
17static void
18__attribute__((noinline, unused))
19test (__m64 *p, __m128 a)
20{
21  return _mm_storeh_pi (p, a);
22}
23
24static void
25TEST (void)
26{
27  union128 s1;
28  float e[2];
29  float d[2];
30
31  s1.x = _mm_set_ps (5.13, 6.12, 7.11, 8.9);
32
33  test ((__m64 *)d, s1.x);
34
35  e[0] = s1.a[2];
36  e[1] = s1.a[3];
37
38  if (checkVf (d, e, 2))
39    abort ();
40}
41