1117395Skan/* { dg-do run } */
2117395Skan/* { dg-options "-O2 -msse2" } */
3117395Skan/* { dg-require-effective-target sse2 } */
4117395Skan
5117395Skan#ifndef CHECK_H
6117395Skan#define CHECK_H "sse2-check.h"
7117395Skan#endif
8117395Skan
9117395Skan#ifndef TEST
10117395Skan#define TEST sse2_test
11117395Skan#endif
12117395Skan
13117395Skan#include CHECK_H
14117395Skan
15117395Skan#include <emmintrin.h>
16117395Skan
17117395Skanstatic __m128i
18117395Skan__attribute__((noinline, unused))
19117395Skantest (__m128i b)
20117395Skan{
21117395Skan  return _mm_move_epi64 (b);
22117395Skan}
23117395Skan
24117395Skanstatic void
25117395SkanTEST (void)
26117395Skan{
27117395Skan  union128i_q u, s1;
28117395Skan  long long e[2] = {0};
29117395Skan
30117395Skan  s1.x = _mm_set_epi64x(12876, 3376590);
31117395Skan  u.x = test (s1.x);
32117395Skan  e[0] = s1.a[0];
33117395Skan
34117395Skan  if (check_union128i_q (u, e))
35117395Skan    abort ();
36117395Skan}
37117395Skan