--- src/include/i386/__math.h-- Thu Mar 5 03:19:12 1998 +++ src/include/i386/__math.h Fri Jul 3 13:59:51 1998 @@ -179,7 +179,7 @@ __asm __volatile__ ("fldl %%st(0)\n\t" "frndint # int(x)\n\t" - "fxch\n\t" + "fxch %%st(1)\n\t" "fsub %%st(1) # fract(x)\n\t" "f2xm1 # 2^(fract(x)) - 1\n\t" : "=t" (__value), "=u" (__exponent) : "0" (__x)); @@ -254,7 +254,7 @@ "fmul %%st(1) # x * log2(e)\n\t" \ "fstl %%st(1)\n\t" \ "frndint # int(x * log2(e))\n\t" \ - "fxch\n\t" \ + "fxch %%st(1)\n\t" \ "fsub %%st(1) # fract(x * log2(e))\n\t" \ "f2xm1 # 2^(fract(x * log2(e))) - 1\n\t" \ "fscale # 2^(x * log2(e)) - 2^(int(x * log2(e)))\n\t" \ @@ -275,7 +275,7 @@ "fmul %%st(1) # x * log2(e)\n\t" \ "fstl %%st(1)\n\t" \ "frndint # int(x * log2(e))\n\t" \ - "fxch\n\t" \ + "fxch %%st(1)\n\t" \ "fsub %%st(1) # fract(x * log2(e))\n\t" \ "f2xm1 # 2^(fract(x * log2(e))) - 1\n\t" \ : "=t" (__value), "=u" (__exponent) : "0" (__x)); \ @@ -350,7 +350,7 @@ ("fmul %%st(1) # y * log2(x)\n\t" "fst %%st(1)\n\t" "frndint # int(y * log2(x))\n\t" - "fxch\n\t" + "fxch %%st(1)\n\t" "fsub %%st(1) # fract(y * log2(x))\n\t" "f2xm1 # 2^(fract(y * log2(x))) - 1\n\t" : "=t" (__value), "=u" (__exponent) : "0" (__y), "1" (__value)); @@ -380,8 +380,8 @@ __inline_mathop (cos, "fcos") __inline_mathop (atan, "fld1; fpatan") -__inline_mathop (log, "fldln2; fxch; fyl2x") -__inline_mathop (log10, "fldlg2; fxch; fyl2x") +__inline_mathop (log, "fldln2; fxch %%st(1); fyl2x") +__inline_mathop (log10, "fldlg2; fxch %%st(1); fyl2x") __inline_mathcode (asin, __x, return __atan2l (__x, __sqrtl (1.0 - __x * __x))) __inline_mathcode (acos, __x, return __atan2l (__sqrtl (1.0 - __x * __x), __x)) @@ -441,7 +441,7 @@ /* Optimized versions for some non-standardized functions. */ #if defined __USE_ISOC9X || defined __USE_MISC -__inline_mathop(log2, "fld1; fxch; fyl2x") +__inline_mathop(log2, "fld1; fxch %%st(1); fyl2x") __inline_mathcode (expm1, __x, __expm1_code) @@ -456,7 +456,7 @@ else __asm __volatile__ ("fldln2\n\t" - "fxch\n\t" + "fxch %%st(1)\n\t" "fyl2xp1" : "=t" (__value) : "0" (__x)); return __value)