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
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_ceil_pd (s.x);
26
27 for (i = 0; i < 2; i++)
28 {
29 __m128d tmp = _mm_load_sd (&s.a[i]);
30 tmp = _mm_ceil_sd (tmp, tmp);
31 _mm_store_sd (&e[i], tmp);
32 }
33
34 if (check_union128d (u, e))
35 abort ();
36 }