1 /* { dg-do run } */
2 /* { dg-require-effective-target p8vector_hw } */
3 /* { dg-options "-O2 -mpower8-vector -Wno-psabi" } */
4 
5 #ifndef CHECK_H
6 #define CHECK_H "sse4_1-check.h"
7 #endif
8 
9 #ifndef TEST
10 #define TEST sse4_1_test
11 #endif
12 
13 #include CHECK_H
14 
15 #include <smmintrin.h>
16 
17 static void
TEST(void)18 TEST (void)
19 {
20   union128d u, s;
21   double e[2] = {0.0};
22   int i;
23 
24   s.x = _mm_set_pd (1.1234, -2.3478);
25   u.x = _mm_floor_pd (s.x);
26 
27   for (i = 0; i < 2; i++)
28     {
29       __m128d tmp = _mm_load_sd (&s.a[i]);
30       tmp = _mm_floor_sd (tmp, tmp);
31       _mm_store_sd (&e[i], tmp);
32     }
33 
34   if (check_union128d (u, e))
35     abort ();
36 }
37