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