Small optimization to sparc 64-bit copysign.

* 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.
This commit is contained in:
David S. Miller 2012-03-14 16:21:40 -07:00
parent bd951ccbe8
commit 7bd951ff59
3 changed files with 10 additions and 6 deletions

View File

@ -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

View 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

View 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