about summary refs log tree commit diff
diff options
context:
space:
mode:
-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