1 // { dg-do run { target i?86-*-* x86_64-*-* } } 2 // { dg-options "-O2" } 3 foo(double x)4inline double foo (double x) 5 { 6 register double r; 7 asm volatile ("fsqrt" : "=t" (r) : "0" (x)); 8 return r; 9 } 10 11 struct X 12 { ~XX13 ~X() {} 14 }; 15 16 int b; 17 bar(X x)18double bar (X x) 19 { 20 if (b) 21 return 1.0; 22 return 36.0 * foo (36.0); 23 } 24 main()25int main () 26 { 27 X x; 28 if (bar (x) != 216.0) 29 return 1; 30 return 0; 31 } 32