1/* { dg-do run } */
2/* { dg-require-effective-target lp64 } */
3/* { dg-require-effective-target sse2 } */
4/* { dg-options "-O2 -msse2" } */
5
6#ifndef CHECK_H
7#define CHECK_H "sse2-check.h"
8#endif
9
10#ifndef TEST
11#define TEST sse2_test
12#endif
13
14#include CHECK_H
15
16#include <emmintrin.h>
17
18static long long
19__attribute__((noinline, unused))
20test (__m128i b)
21{
22  return _mm_cvtsi128_si64 (b);
23}
24
25static void
26TEST (void)
27{
28  union128i_q u;
29  long long e;
30
31  u.x = _mm_set_epi64x (4294967295133LL, 3844294967295133LL);
32  e = test (u.x);
33  if (e != u.a[0])
34    abort ();
35}
36