/* 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]; | |
} |