]> sourceware.org Git - glibc.git/commitdiff
Small optimization to sparc 64-bit copysign.
authorDavid S. Miller <davem@davemloft.net>
Wed, 14 Mar 2012 23:21:40 +0000 (16:21 -0700)
committerDavid S. Miller <davem@davemloft.net>
Wed, 14 Mar 2012 23:21:40 +0000 (16:21 -0700)
* sysdeps/sparc/sparc64/fpu/s_copysign.S (__copysign): Use fzeros/fnegs
to load 0x80000000 into a float register instead of using the stack.
* sysdeps/sparc/sparc64/fpu/s_copysignf.S (__copysignf): Likewise.

ChangeLog
sysdeps/sparc/sparc64/fpu/s_copysign.S
sysdeps/sparc/sparc64/fpu/s_copysignf.S

index 83d5d2b289d83c27571e8f66493adc404583a0d8..4983816df30383777916c9815cb27a32646dc842 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2012-03-14  David S. Miller  <davem@davemloft.net>
+
+       * sysdeps/sparc/sparc64/fpu/s_copysign.S (__copysign): Use fzeros/fnegs
+       to load 0x80000000 into a float register instead of using the stack.
+       * sysdeps/sparc/sparc64/fpu/s_copysignf.S (__copysignf): Likewise.
+
 2012-03-14  Joseph Myers  <joseph@codesourcery.com>
 
        * sysdeps/unix/sysv/linux/Makefile (sysdep_headers): Add
index 571f57cbdce9861eecc5e00e6242ea9524ce5253..f7f69fb8d913ba877de8d6f953d2ea0b6211f951 100644 (file)
@@ -20,9 +20,8 @@
 #include <sysdep.h>
 
 ENTRY (__copysign)
-       sethi   %hi(0x80000000), %g1
-       st      %g1, [%sp + STACK_BIAS + 128]
-       ld      [%sp + STACK_BIAS + 128], %f7
+       fzeros  %f7
+       fnegs   %f7, %f7
        fands   %f2, %f7, %f9
        fandnot2s %f0, %f7, %f0
        retl
index db6a384c600ecb5564833acd624faa89b6d55e7b..85577a7170d97052ec21885658814aed8e58fefc 100644 (file)
@@ -20,9 +20,8 @@
 #include <sysdep.h>
 
 ENTRY (__copysignf)
-       sethi   %hi(0x80000000), %g1
-       st      %g1, [%sp + STACK_BIAS + 128]
-       ld      [%sp + STACK_BIAS + 128], %f7
+       fzeros  %f7
+       fnegs   %f7, %f7
        fands   %f3, %f7, %f9
        fandnot2s %f1, %f7, %f1
        retl
This page took 0.047155 seconds and 5 git commands to generate.