1 /* { dg-do run } */ 2 /* { dg-require-effective-target avx } */ 3 /* { dg-options "-O2 -mavx" } */ 4 5 #include "avx-check.h" 6 7 void static avx_test(void)8avx_test (void) 9 { 10 union256d u, s1; 11 double source [4] = {2134.3343,1234.635654,453.345635,54646.464356}; 12 double e[4] = {0.0}; 13 int i; 14 15 s1.x = _mm256_loadu_pd (source); 16 u.x = _mm256_floor_pd (s1.x); 17 18 for (i = 0; i < 4; i++) 19 { 20 __m128d tmp = _mm_load_sd (&s1.a[i]); 21 tmp = _mm_floor_sd (tmp, tmp); 22 _mm_store_sd (&e[i], tmp); 23 } 24 25 if (check_union256d (u, e)) 26 abort (); 27 } 28