------- Comment #2 from dougkwan at google dot com 2008-01-25 07:49 ------- (In reply to comment #0)
A slightly simpler test case: -------------- extern double sin (double), cos (double); __inline double atan (double __x) { register double __result; __asm __volatile__ ("fld1; fpatan" : "=t" (__result) : "0" (__x) : "st(1)"); return __result; } double f(double x) { double t = atan (x); return cos (t) + sin (t); } ------------- -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34966