xref: /openbsd-src/gnu/usr.bin/gcc/gcc/testsuite/gcc.dg/20020418-1.c (revision f2da64fbbbf1b03f09f390ab01267c93dfd77c4c)
1 /* PR optimization/5887 */
2 /* { dg-do compile } */
3 /* { dg-options "-O2" } */
4 /* { dg-options "-O2 -msse -ffast-math" { target i?86-*-* } } */
5 
6 void bar (float *a, float *b);
7 
8 void foo (char *x)
9 {
10   float a, b;
11   char c[256];
12   int i, j;
13 
14   bar (&a, &b);
15   for (i = 0; i < 256; i++)
16     {
17       float v = a;
18       if (v < 0.0f) v = 0.0f;
19       if (v < 255.0f) v = 255.0f;
20       c[i] = v;
21       a += b;
22     }
23 
24   for (j = 0; j < 256; j++)
25     x[j] = c[j];
26 }
27