about summary refs log tree commit diff
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)