summaryrefslogtreecommitdiff
path: root/sysdeps/libm-i387/e_powl.S
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps/libm-i387/e_powl.S')
-rw-r--r--sysdeps/libm-i387/e_powl.S13
1 files changed, 7 insertions, 6 deletions
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