about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog8
-rw-r--r--sysdeps/i386/fpu/s_nearbyint.S4
-rw-r--r--sysdeps/i386/fpu/s_nearbyintf.S4
-rw-r--r--sysdeps/i386/fpu/s_nearbyintl.S4
-rw-r--r--sysdeps/x86_64/fpu/s_nearbyintl.S4
5 files changed, 8 insertions, 16 deletions
diff --git a/ChangeLog b/ChangeLog
index 75722e1ec7..0328dda5ea 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2016-06-22  Joseph Myers  <joseph@codesourcery.com>
+
+	* sysdeps/i386/fpu/s_nearbyint.S (__nearbyint): Do not mask
+	"inexact" exceptions after fnstenv.
+	* sysdeps/i386/fpu/s_nearbyintf.S (__nearbyintf): Likewise.
+	* sysdeps/i386/fpu/s_nearbyintl.S (__nearbyintl): Likewise.
+	* sysdeps/x86_64/fpu/s_nearbyintl.S (__nearbyintl): Likewise.
+
 2015-06-22  Zack Weinberg  <zackw@panix.com>
 
 	* sysdeps/generic/bits/hwcap.h: Moved to ...
diff --git a/sysdeps/i386/fpu/s_nearbyint.S b/sysdeps/i386/fpu/s_nearbyint.S
index 8da8ae9792..f7b79b6ff2 100644
--- a/sysdeps/i386/fpu/s_nearbyint.S
+++ b/sysdeps/i386/fpu/s_nearbyint.S
@@ -11,10 +11,6 @@ ENTRY(__nearbyint)
 	subl	$32, %esp
 	cfi_adjust_cfa_offset (32)
 	fnstenv	4(%esp)
-	movl	4(%esp), %eax
-	orl	$0x20, %eax
-	movl	%eax, (%esp)
-	fldcw	(%esp)
 	frndint
 	fldenv	4(%esp)
 	addl	$32, %esp
diff --git a/sysdeps/i386/fpu/s_nearbyintf.S b/sysdeps/i386/fpu/s_nearbyintf.S
index 0c51f72364..92df2f87b3 100644
--- a/sysdeps/i386/fpu/s_nearbyintf.S
+++ b/sysdeps/i386/fpu/s_nearbyintf.S
@@ -11,10 +11,6 @@ ENTRY(__nearbyintf)
 	subl	$32, %esp
 	cfi_adjust_cfa_offset (32)
 	fnstenv	4(%esp)
-	movl	4(%esp), %eax
-	orl	$0x20, %eax
-	movl	%eax, (%esp)
-	fldcw	(%esp)
 	frndint
 	fldenv	4(%esp)
 	addl	$32, %esp
diff --git a/sysdeps/i386/fpu/s_nearbyintl.S b/sysdeps/i386/fpu/s_nearbyintl.S
index b260ab5914..3b7d1e2436 100644
--- a/sysdeps/i386/fpu/s_nearbyintl.S
+++ b/sysdeps/i386/fpu/s_nearbyintl.S
@@ -11,10 +11,6 @@ ENTRY(__nearbyintl)
 	subl	$32, %esp
 	cfi_adjust_cfa_offset (32)
 	fnstenv	4(%esp)
-	movl	4(%esp), %eax
-	orl	$0x20, %eax
-	movl	%eax, (%esp)
-	fldcw	(%esp)
 	frndint
 	fnstsw
 	andl	$0x1, %eax
diff --git a/sysdeps/x86_64/fpu/s_nearbyintl.S b/sysdeps/x86_64/fpu/s_nearbyintl.S
index 76d41bdd52..31b21a5037 100644
--- a/sysdeps/x86_64/fpu/s_nearbyintl.S
+++ b/sysdeps/x86_64/fpu/s_nearbyintl.S
@@ -9,10 +9,6 @@
 ENTRY(__nearbyintl)
 	fldt	8(%rsp)
 	fnstenv	-28(%rsp)
-	movl	-28(%rsp), %eax
-	orl	$0x20, %eax
-	movl	%eax, -32(%rsp)
-	fldcw	-32(%rsp)
 	frndint
 	fnstsw
 	andl	$0x1, %eax