about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog12
-rw-r--r--sysdeps/x86_64/fpu/multiarch/s_ceil.S2
-rw-r--r--sysdeps/x86_64/fpu/multiarch/s_ceilf.S2
-rw-r--r--sysdeps/x86_64/fpu/multiarch/s_floor.S2
-rw-r--r--sysdeps/x86_64/fpu/multiarch/s_floorf.S2
5 files changed, 16 insertions, 4 deletions
diff --git a/ChangeLog b/ChangeLog
index f327aa8a9f..8f119fa949 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,15 @@
+2016-05-24  Joseph Myers  <joseph@codesourcery.com>
+
+	[BZ #15479]
+	* sysdeps/x86_64/fpu/multiarch/s_ceil.S (__ceil_sse41): Set bit 3
+	of immediate operand to rounding instruction.
+	* sysdeps/x86_64/fpu/multiarch/s_ceilf.S (__ceilf_sse41):
+	Likewise.
+	* sysdeps/x86_64/fpu/multiarch/s_floor.S (__floor_sse41):
+	Likewise.
+	* sysdeps/x86_64/fpu/multiarch/s_floorf.S (__floorf_sse41):
+	Likewise.
+
 2016-05-24  Paul E. Murphy  <murphyp@linux.vnet.ibm.com>
 
 	* math/libm-test.inc (MIN_EXP): Directly define as
diff --git a/sysdeps/x86_64/fpu/multiarch/s_ceil.S b/sysdeps/x86_64/fpu/multiarch/s_ceil.S
index 40fa729955..f2ca31e5fa 100644
--- a/sysdeps/x86_64/fpu/multiarch/s_ceil.S
+++ b/sysdeps/x86_64/fpu/multiarch/s_ceil.S
@@ -33,6 +33,6 @@ weak_alias (__ceil, ceil)
 
 
 ENTRY(__ceil_sse41)
-	roundsd	$2, %xmm0, %xmm0
+	roundsd	$10, %xmm0, %xmm0
 	ret
 END(__ceil_sse41)
diff --git a/sysdeps/x86_64/fpu/multiarch/s_ceilf.S b/sysdeps/x86_64/fpu/multiarch/s_ceilf.S
index 9a06a5c174..e7a7b3a470 100644
--- a/sysdeps/x86_64/fpu/multiarch/s_ceilf.S
+++ b/sysdeps/x86_64/fpu/multiarch/s_ceilf.S
@@ -33,6 +33,6 @@ weak_alias (__ceilf, ceilf)
 
 
 ENTRY(__ceilf_sse41)
-	roundss	$2, %xmm0, %xmm0
+	roundss	$10, %xmm0, %xmm0
 	ret
 END(__ceilf_sse41)
diff --git a/sysdeps/x86_64/fpu/multiarch/s_floor.S b/sysdeps/x86_64/fpu/multiarch/s_floor.S
index 57a0eee5ba..19c0d44001 100644
--- a/sysdeps/x86_64/fpu/multiarch/s_floor.S
+++ b/sysdeps/x86_64/fpu/multiarch/s_floor.S
@@ -33,6 +33,6 @@ weak_alias (__floor, floor)
 
 
 ENTRY(__floor_sse41)
-	roundsd	$1, %xmm0, %xmm0
+	roundsd	$9, %xmm0, %xmm0
 	ret
 END(__floor_sse41)
diff --git a/sysdeps/x86_64/fpu/multiarch/s_floorf.S b/sysdeps/x86_64/fpu/multiarch/s_floorf.S
index 74a149a950..96f51b6399 100644
--- a/sysdeps/x86_64/fpu/multiarch/s_floorf.S
+++ b/sysdeps/x86_64/fpu/multiarch/s_floorf.S
@@ -33,6 +33,6 @@ weak_alias (__floorf, floorf)
 
 
 ENTRY(__floorf_sse41)
-	roundss	$1, %xmm0, %xmm0
+	roundss	$9, %xmm0, %xmm0
 	ret
 END(__floorf_sse41)