Module Name:    src
Committed By:   joerg
Date:           Tue Jun 21 21:52:49 UTC 2011

Modified Files:
        src/lib/libm/arch/i387: s_copysignf.S

Log Message:
Actually used SSE branch. Noticed by enami@


To generate a diff of this commit:
cvs rdiff -u -r1.6 -r1.7 src/lib/libm/arch/i387/s_copysignf.S

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/lib/libm/arch/i387/s_copysignf.S
diff -u src/lib/libm/arch/i387/s_copysignf.S:1.6 src/lib/libm/arch/i387/s_copysignf.S:1.7
--- src/lib/libm/arch/i387/s_copysignf.S:1.6	Sat Jun 18 20:49:26 2011
+++ src/lib/libm/arch/i387/s_copysignf.S	Tue Jun 21 21:52:49 2011
@@ -9,7 +9,7 @@
  * XXXfvdl split this file.
  */
 
-RCSID("$NetBSD: s_copysignf.S,v 1.6 2011/06/18 20:49:26 joerg Exp $")
+RCSID("$NetBSD: s_copysignf.S,v 1.7 2011/06/21 21:52:49 joerg Exp $")
 
 #ifdef __x86_64__
 .Lneg:
@@ -28,14 +28,10 @@
 	movl	%eax,4(%esp)
 	flds	4(%esp)
 #else
-	movss	%xmm0,-4(%rsp)
-	movss	%xmm1,-8(%rsp)
-	movl	-8(%rsp),%edx
-	andl	$0x80000000,%edx
-	movl	-4(%rsp),%eax
-	andl	$0x7fffffff,%eax
-	orl	%edx,%eax
-	movl	%eax,-4(%rsp)
-	movss	-4(%rsp),%xmm0
+	movss	.Lpos(%rip),%xmm2
+	movss	.Lneg(%rip),%xmm3
+	pand	%xmm2,%xmm1
+	pand	%xmm3,%xmm0
+	por	%xmm1,%xmm0
 #endif
 	ret

Reply via email to