blob: daf04e54a726714844297c1068b1355b4234346b [file] [log] [blame]
/* { dg-do run } */
/* { dg-require-effective-target avx } */
/* { dg-options "-O3 -ffast-math -fschedule-insns -mavx -mvzeroupper" } */
#include "avx-check.h"
#define N 100
double
__attribute__((noinline))
foo (int size, double *y, double *x)
{
double sum = 0.0;
int i;
for (i = 0; i < size; i++)
sum += y[i] * x[i];
return sum;
}
static void
__attribute__ ((noinline))
avx_test ()
{
double x[N], y[N];
double s;
int i;
for (i = 0; i < N; i++)
{
x[i] = i;
y[i] = i;
}
s = foo (N, y, x);
if (s != 328350.0)
abort ();
}