summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.dg/20020418-1.c
blob: 308bfa3a266aec0e3aa698129fcc6413c1d3c9bb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
/* PR optimization/5887 */
/* { dg-do compile } */
/* { dg-options "-O2" } */
/* { dg-options "-O2 -msse -ffast-math" { target i?86-*-* } } */

void bar (float *a, float *b);

void foo (char *x)
{
  float a, b;
  char c[256];
  int i, j;

  bar (&a, &b);
  for (i = 0; i < 256; i++)
    {
      float v = a;
      if (v < 0.0f) v = 0.0f;
      if (v < 255.0f) v = 255.0f;
      c[i] = v;
      a += b;
    }

  for (j = 0; j < 256; j++)
    x[j] = c[j];
}