1 /* { dg-do run { target { x86_64-*-* && lp64 } } } */ 2 /* { dg-options "-g" } */ 3 4 volatile int vv; 5 6 __attribute__((noinline, noclone)) long foo(long x)7foo (long x) 8 { 9 long f = __builtin_clzl (x); 10 long g = f; 11 asm volatile ("" : "+r" (f)); 12 vv++; /* { dg-final { gdb-test 12 "g" "f" } } */ 13 return f; 14 } 15 16 __attribute__((noinline, noclone)) long bar(long x)17bar (long x) 18 { 19 long f = __builtin_clzl (x); 20 long g = f; 21 asm volatile ("" : "+r" (f)); 22 vv++; /* { dg-final { gdb-test 22 "g" "f" } } */ 23 return f; 24 } 25 26 int main()27main () 28 { 29 long x = vv; 30 foo (x + 0x123456UL); 31 bar (x + 0x7fffffffUL); 32 return 0; 33 } 34