gcc/gcc/testsuite/gcc.dg/pr82004.c

33 lines
566 B
C

/* PR tree-optimization/82004 */
/* { dg-do run } */
/* { dg-options "-Ofast" } */
extern double log10 (double);
extern double pow (double, double);
__attribute__((noipa)) void
bar (double x)
{
if (x < 0.001)
__builtin_abort ();
asm volatile ("" : : : "memory");
}
int
main ()
{
double d = 0.001;
double e = 10.0;
double f = (log10 (e) - log10 (d)) / 400.0;
double g = log10 (d) - f;
volatile int q = 0;
int i;
if (__builtin_expect (q == 0, 0))
for (i = 0; i < 400; ++i)
{
g = g + f;
bar (pow (10.0, g));
}
return 0;
}