Bug 86167

Summary: fesetround() does not set SSE floating-point rounding modes
Product: [Retired] Red Hat Linux Reporter: David Monniaux <david.monniaux>
Component: glibcAssignee: Jakub Jelinek <jakub>
Status: CLOSED UPSTREAM QA Contact: Brian Brock <bbrock>
Severity: medium Docs Contact:
Priority: medium    
Version: 8.0CC: fweimer, mitr
Target Milestone: ---   
Target Release: ---   
Hardware: i386   
OS: Linux   
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2003-04-29 07:19:14 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:

Description David Monniaux 2003-03-15 13:08:18 UTC
Description of problem:

fesetround() does not set SSE rounding modes, even though gcc now has options to
compile floating-point code to SSE.

(Checked in glibc source code.)

Version-Release number of selected component (if applicable): 2.2.93

How reproducible:


Steps to Reproduce:
1.Write code using fesetround() and whose results depends on the correct
rounding mode being set.
2.Compile with or without -march=pentium4 -msse -msse2
3.Compare the results.
Actual results:

The rounding mode is not set.

Expected results:

The rounding mode should be set.

Additional info:

Reported to glibc gnats as bug libc/4987.
Fix: use stmxcsr/ldmxcsr.

Comment 1 Ulrich Drepper 2003-04-29 07:19:14 UTC
I've checked in a patch in the official glibc CVS archive.  They should appear
in the next RPM.