summaryrefslogtreecommitdiff
path: root/sysdeps/libm-i387/s_finite.S
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps/libm-i387/s_finite.S')
-rw-r--r--sysdeps/libm-i387/s_finite.S7
1 files changed, 4 insertions, 3 deletions
diff --git a/sysdeps/libm-i387/s_finite.S b/sysdeps/libm-i387/s_finite.S
index 384fc1c79e..198eb809a9 100644
--- a/sysdeps/libm-i387/s_finite.S
+++ b/sysdeps/libm-i387/s_finite.S
@@ -5,9 +5,10 @@
#include <machine/asm.h>
ENTRY(__finite)
- movl 8(%esp),%eax
- orl $0x800fffff, %eax
- incl %eax
+ movl 8(%esp)
+ movl $0xFFEFFFFF,%ecx
+ subl %eax,%ecx
+ xorl %ecx,%eax,%eax
shrl $31, %eax
ret
END (__finite)