/* APPLE LOCAL file */ /* { dg-do compile } */ /* { dg-options "-O2 -fno-tree-dominator-opts -funroll-loops" } */ void foo(void) { int n = 16875; while (n) { if (n&1) bar (n); n >>= 1; } } static inline int power (long x, unsigned int n) { long y = n % 2 ? x : 1; while (n >>= 1) { x = x * x; if (n % 2) y = y * x; } return y; } void test(long x) { bar (power (x, 10)); bar (power (x, 27)); } /* All loops should be completely unrolled, so there should be no local labels. */ /* { dg-final { scan-assembler-not "L\[0-9\]*:" } } */