From e060a1ff71252296027d8914d937c13de424f27a Mon Sep 17 00:00:00 2001 From: joerg Date: Tue, 21 Jun 2011 21:52:49 +0000 Subject: [PATCH] Actually used SSE branch. Noticed by enami@ --- lib/libm/arch/i387/s_copysignf.S | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) diff --git a/lib/libm/arch/i387/s_copysignf.S b/lib/libm/arch/i387/s_copysignf.S index a217d357f54b..470d3ff82717 100644 --- a/lib/libm/arch/i387/s_copysignf.S +++ b/lib/libm/arch/i387/s_copysignf.S @@ -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 @@ ENTRY(copysignf) 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