PR tree-optimization/82004
[official-gcc.git] / gcc / testsuite / gcc.dg / pr82004.c
blob2dd3eae90a8f8b288d838e09c0788a9a56e5aff6
1 /* PR tree-optimization/82004 */
2 /* { dg-do run } */
3 /* { dg-options "-Ofast" } */
5 extern double log10 (double);
6 extern double pow (double, double);
8 __attribute__((noipa)) void
9 bar (double x)
11 if (x < 0.001)
12 __builtin_abort ();
13 asm volatile ("" : : : "memory");
16 int
17 main ()
19 double d = 0.001;
20 double e = 10.0;
21 double f = (log10 (e) - log10 (d)) / 400.0;
22 double g = log10 (d) - f;
23 volatile int q = 0;
24 int i;
25 if (__builtin_expect (q == 0, 0))
26 for (i = 0; i < 400; ++i)
28 g = g + f;
29 bar (pow (10.0, g));
31 return 0;