summaryrefslogtreecommitdiff
path: root/sysdeps/libm-i387
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps/libm-i387')
-rw-r--r--sysdeps/libm-i387/e_pow.S13
-rw-r--r--sysdeps/libm-i387/e_powf.S13
-rw-r--r--sysdeps/libm-i387/e_powl.S13
3 files changed, 21 insertions, 18 deletions
diff --git a/sysdeps/libm-i387/e_pow.S b/sysdeps/libm-i387/e_pow.S
index efe184168b..ab6b454339 100644
--- a/sysdeps/libm-i387/e_pow.S
+++ b/sysdeps/libm-i387/e_pow.S
@@ -64,6 +64,13 @@ nan: .byte 0, 0, 0, 0, 0, 0, 0xff, 0x7f
ENTRY(__ieee754_pow)
fldl 12(%esp) // y
fxam
+
+#ifdef PIC
+ call 1f
+1: popl %ecx
+ addl $_GLOBAL_OFFSET_TABLE_+[.-1b], %ecx
+#endif
+
fnstsw
movb %ah, %dl
andb $0x45, %ah
@@ -76,12 +83,6 @@ ENTRY(__ieee754_pow)
cmpb $0x01, %ah // is y == NaN ?
je 30f
-#ifdef PIC
- call 1f
-1: popl %ecx
- addl $_GLOBAL_OFFSET_TABLE_+[.-1b], %ecx
-#endif
-
fldl 4(%esp) // x : y
subl $8,%esp
diff --git a/sysdeps/libm-i387/e_powf.S b/sysdeps/libm-i387/e_powf.S
index 54af93c961..48316464ef 100644
--- a/sysdeps/libm-i387/e_powf.S
+++ b/sysdeps/libm-i387/e_powf.S
@@ -64,6 +64,13 @@ nan: .byte 0, 0, 0, 0, 0, 0, 0xff, 0x7f
ENTRY(__ieee754_powf)
flds 8(%esp) // y
fxam
+
+#ifdef PIC
+ call 1f
+1: popl %ecx
+ addl $_GLOBAL_OFFSET_TABLE_+[.-1b], %ecx
+#endif
+
fnstsw
movb %ah, %dl
andb $0x45, %ah
@@ -76,12 +83,6 @@ ENTRY(__ieee754_powf)
cmpb $0x01, %ah // is y == NaN ?
je 30f
-#ifdef PIC
- call 1f
-1: popl %ecx
- addl $_GLOBAL_OFFSET_TABLE_+[.-1b], %ecx
-#endif
-
flds 4(%esp) // x : y
subl $4, %esp
diff --git a/sysdeps/libm-i387/e_powl.S b/sysdeps/libm-i387/e_powl.S
index 3cfb96b213..dba725aa77 100644
--- a/sysdeps/libm-i387/e_powl.S
+++ b/sysdeps/libm-i387/e_powl.S
@@ -64,6 +64,13 @@ nan: .byte 0, 0, 0, 0, 0, 0, 0xff, 0x7f
ENTRY(__ieee754_powl)
fldt 16(%esp) // y
fxam
+
+#ifdef PIC
+ call 1f
+1: popl %ecx
+ addl $_GLOBAL_OFFSET_TABLE_+[.-1b], %ecx
+#endif
+
fnstsw
movb %ah, %dl
andb $0x45, %ah
@@ -76,12 +83,6 @@ ENTRY(__ieee754_powl)
cmpb $0x01, %ah // is y == NaN ?
je 30f
-#ifdef PIC
- call 1f
-1: popl %ecx
- addl $_GLOBAL_OFFSET_TABLE_+[.-1b], %ecx
-#endif
-
fldt 4(%esp) // x : y
subl $8,%esp