PR rtl-optimization/55845
[official-gcc.git] / gcc / testsuite / gcc.target / i386 / pr55845.c
blob59f7520efd6f189b37a0bdcc07c6b55d4fea1f5e
1 /* { dg-do run } */
2 /* { dg-require-effective-target avx } */
3 /* { dg-options "-O3 -ffast-math -fschedule-insns -mavx -mvzeroupper" } */
5 #include "avx-check.h"
7 #define N 100
9 double
10 __attribute__((noinline))
11 foo (int size, double *y, double *x)
13 double sum = 0.0;
14 int i;
15 for (i = 0, sum = 0.; i < size; i++)
16 sum += y[i] * x[i];
17 return sum;
20 static void
21 __attribute__ ((noinline))
22 avx_test ()
24 double x[N];
25 double y[N];
26 double s;
27 int i;
29 for (i = 0; i < N; i++)
31 x[i] = i;
32 y[i] = i;
35 s = foo (N, y, x);
37 if (s != 328350.0)
38 abort ();