1/* { dg-do run } */
2/* { dg-require-effective-target avx } */
3/* { dg-options "-O2 -mavx" } */
4
5#include "avx-check.h"
6
7void static
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_ceil_pd (s1.x);
17
18  for (i = 0; i < 4; i++)
19    {
20      __m128d tmp = _mm_load_sd (&s1.a[i]);
21      tmp = _mm_ceil_sd (tmp, tmp);
22      _mm_store_sd (&e[i], tmp);
23    }
24
25  if (check_union256d (u, e))
26    abort ();
27}
28