libcpp, c, middle-end: Optimize initializers using #embed in C
[official-gcc.git] / gcc / testsuite / gcc.dg / vect / bb-slp-57.c
blob6f13507fd67e13babd21163c34b89582928d7234
1 /* { dg-do compile } */
2 /* { dg-additional-options "-ffast-math" } */
3 /* { dg-require-effective-target vect_float } */
5 float *a;
6 typedef struct {
7 int c;
8 float bbmax[3];
9 } d;
10 d e;
11 int f[3];
12 int g, h, i, j;
13 float k, k;
14 void l()
16 for (unsigned z = 0; z < 2048; ++z) {
18 j = e.bbmax[1] > k ? e.bbmax[1] : k;
20 e.bbmax[1] = j;
21 { i = e.bbmax[2] > k ? e.bbmax[2] : k; }
22 e.bbmax[2] = i;
23 f[2] = a[2];
25 float b;
26 h = e.bbmax[1] > b ? e.bbmax[1] : b;
28 e.bbmax[1] = h;
30 float b;
31 g = e.bbmax[2] > b ? e.bbmax[2] : b;
33 e.bbmax[2] = g;
37 /* { dg-final { scan-tree-dump-times "transform load" 1 "slp1" { target { { x86_64-*-* i?86-*-* } && lp64 } } } } */
38 /* { dg-final { scan-tree-dump "optimized: basic block" "slp1" { target { { x86_64-*-* i?86-*-* } && lp64 } } } } */