Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/lib/libm/arch/i387 Actually used SSE branch. Noticed by enami@



details:   https://anonhg.NetBSD.org/src/rev/f0b5adc20bba
branches:  trunk
changeset: 766407:f0b5adc20bba
user:      joerg <joerg%NetBSD.org@localhost>
date:      Tue Jun 21 21:52:49 2011 +0000

description:
Actually used SSE branch. Noticed by enami@

diffstat:

 lib/libm/arch/i387/s_copysignf.S |  16 ++++++----------
 1 files changed, 6 insertions(+), 10 deletions(-)

diffs (32 lines):

diff -r 85cb52e89a7e -r f0b5adc20bba lib/libm/arch/i387/s_copysignf.S
--- a/lib/libm/arch/i387/s_copysignf.S  Tue Jun 21 21:49:22 2011 +0000
+++ b/lib/libm/arch/i387/s_copysignf.S  Tue Jun 21 21:52:49 2011 +0000
@@ -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



Home | Main Index | Thread Index | Old Index