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