33 lines
566 B
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;
|
|
}
|