about summary refs log tree commit diff
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2012-05-08 11:17:07 -0700
committerDavid S. Miller <davem@davemloft.net>2012-05-08 11:17:07 -0700
commitee0db19075ebc3428291934df429365a5abaea47 (patch)
treebd722a172e9b71643c868cfb6083697f8e3296ba
parentdee4a4e3d0e8b9df6b35ef53e46b9346ee713af0 (diff)
downloadglibc-ee0db19075ebc3428291934df429365a5abaea47.tar.gz
glibc-ee0db19075ebc3428291934df429365a5abaea47.tar.xz
glibc-ee0db19075ebc3428291934df429365a5abaea47.zip
Minor optimization to sparc VIS3 floor() implementation.
	* sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_floor-vis3.S: Use
	movxtod instead of popping the value on the stack.
-rw-r--r--ChangeLog3
-rw-r--r--sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_floor-vis3.S3
2 files changed, 4 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index 7521d259a9..ad116e57f7 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,8 @@
 2012-05-08  David S. Miller  <davem@davemloft.net>
 
+	* sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_floor-vis3.S: Use
+	movxtod instead of popping the value on the stack.
+
 	* sysdeps/sparc/fpu/libm-test-ulps: Update.
 
 2012-05-08  Carlos O'Donell  <carlos_odonell@mentor.com>
diff --git a/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_floor-vis3.S b/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_floor-vis3.S
index d7e5d24c17..dfaf55458f 100644
--- a/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_floor-vis3.S
+++ b/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_floor-vis3.S
@@ -56,10 +56,9 @@ ENTRY (__floor_vis3)
 
 	fnegd	ZERO, SIGN_BIT
 
-	stx	%o2, [%sp + 72]
+	movxtod	%o2, %f16
 	fabsd	%f0, %f14
 
-	ldd	[%sp + 72], %f16
 	fcmpd	%fcc3, %f14, %f16
 
 	fmovduge %fcc3, ZERO, %f16