math: fix x86_64 and x32 asm not to use sahf instruction
[musl] / src / math / x32 / exp2l.s
index d9f4d6e..dfb2bc7 100644 (file)
@@ -6,9 +6,7 @@ expm1l:
        fmulp
        movl $0xc2820000,-4(%esp)
        flds -4(%esp)
-       fucomp %st(1)
-       fnstsw %ax
-       sahf
+       fucomip %st(1)
        fld1
        jb 1f
                # x*log2e <= -65, return -1 without underflow
@@ -17,11 +15,8 @@ expm1l:
        ret
 1:     fld %st(1)
        fabs
-       fucom %st(1)
-       fnstsw %ax
+       fucomip %st(1)
        fstp %st(0)
-       fstp %st(0)
-       sahf
        ja 1f
        f2xm1
        ret
@@ -53,9 +48,7 @@ exp2l:
        fld %st(1)
        fsub %st(1)
        faddp
-       fucomp %st(1)
-       fnstsw
-       sahf
+       fucomip %st(1)
        je 2f             # x - 0x1p63 + 0x1p63 == x
        movl $1,(%esp)
        flds (%esp)       # 0x1p-149