2015-12-10 Vladimir Makarov <vmakarov@redhat.com>
[official-gcc.git] / gcc / testsuite / gcc.target / i386 / sse4_1-roundpd-2.c
blob86b78ed75782b11fee35ac3fbe0909a2d7efdef7
1 /* { dg-do run } */
2 /* { dg-require-effective-target sse4 } */
3 /* { dg-options "-O2 -msse4.1" } */
4 /* { dg-skip-if "no M_PI" { vxworks_kernel } } */
6 #ifndef CHECK_H
7 #define CHECK_H "sse4_1-check.h"
8 #endif
10 #ifndef TEST
11 #define TEST sse4_1_test
12 #endif
14 #include CHECK_H
16 #include <smmintrin.h>
18 static void
19 TEST (void)
21 union128d u, s;
22 double e[2] = {0.0};
23 int i;
25 s.x = _mm_set_pd (1.1234, -2.3478);
26 u.x = _mm_floor_pd (s.x);
28 for (i = 0; i < 2; i++)
30 __m128d tmp = _mm_load_sd (&s.a[i]);
31 tmp = _mm_floor_sd (tmp, tmp);
32 _mm_store_sd (&e[i], tmp);
35 if (check_union128d (u, e))
36 abort ();