libcpp, c, middle-end: Optimize initializers using #embed in C
[official-gcc.git] / gcc / testsuite / gcc.dg / vect / fast-math-vect-reduc-8.c
blob840d07cb8ca46f284f434a9e6f2c158b42f8b8ae
1 /* { dg-do compile } */
2 /* { dg-require-effective-target vect_float } */
4 #include "tree-vect.h"
6 extern float x[128] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
7 extern float y[128] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
8 extern float z[128] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
10 float f (unsigned n)
12 float ret = 0.0;
13 unsigned i;
14 for (i = 0; i < n; i++)
16 float diff = x[i] - y[i];
17 ret -= diff * diff * z[i];
19 return ret;
22 /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" } } */