1 /* PR optimization/5887 */
2 /* { dg-do compile } */
3 /* { dg-options "-O2" } */
4 /* { dg-options "-O2 -msse -ffast-math" { target i?86-*-* x86_64-*-* } } */
5 /* { dg-skip-if "exceeds eBPF stack limit" { bpf-*-* } } */
6
7 void bar (float *a, float *b);
8
foo(char * x)9 void foo (char *x)
10 {
11 float a, b;
12 char c[256];
13 int i, j;
14
15 bar (&a, &b);
16 for (i = 0; i < 256; i++)
17 {
18 float v = a;
19 if (v < 0.0f) v = 0.0f;
20 if (v < 255.0f) v = 255.0f;
21 c[i] = v;
22 a += b;
23 }
24
25 for (j = 0; j < 256; j++)
26 x[j] = c[j];
27 }
28