about summary refs log tree commit diff
path: root/sysdeps/libm-i387/s_remquo.S
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps/libm-i387/s_remquo.S')
-rw-r--r--sysdeps/libm-i387/s_remquo.S7
1 files changed, 6 insertions, 1 deletions
diff --git a/sysdeps/libm-i387/s_remquo.S b/sysdeps/libm-i387/s_remquo.S
index a4c5a35468..252bf2678a 100644
--- a/sysdeps/libm-i387/s_remquo.S
+++ b/sysdeps/libm-i387/s_remquo.S
@@ -25,7 +25,12 @@ ENTRY(__remquo)
 	shrl	%cl, %eax
 	andl	$3, %eax
 	movl	20(%esp), %ecx
-	movl	%eax, (%ecx)
+	movl	8(%esp), %edx
+	xorl	16(%esp), %edx
+	testl	$0x80000000, %edx
+	jz	1f
+	negl	%eax
+1:	movl	%eax, (%ecx)
 	ret
 END (__remquo)
 weak_alias (__remquo, remquo)