From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 406 invoked by alias); 4 Oct 2006 15:29:18 -0000 Received: (qmail 309 invoked by uid 48); 4 Oct 2006 15:29:01 -0000 Date: Wed, 04 Oct 2006 15:29:00 -0000 Subject: [Bug target/29347] New: i386 mode switching clobbers fp exception handling bits X-Bugzilla-Reason: CC Message-ID: Reply-To: gcc-bugzilla@gcc.gnu.org To: gcc-bugs@gcc.gnu.org From: "amylaar at gcc dot gnu dot org" Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-bugs-owner@gcc.gnu.org X-SW-Source: 2006-10/txt/msg00317.txt.bz2 List-Id: The mode switching for floating point rounding that the i386 backend does does not actually place mode switches, but rather the calculation of values used for mode switches. Not only does that defeat the purpose of doing lazy code motion of the mode switches themselves (this problem could easily be remedied by handling the actual mode switches as a separate entity), it also leads to information in the floating point control register being clobbered if the user changes it (e.g. with feenableexcept: http://www.gnu.org/software/libc/manual/html_node/Control-Functions.html) between the calculation of the value used for a mode switch, and the point where a mode switch actually takes place. -- Summary: i386 mode switching clobbers fp exception handling bits Product: gcc Version: 4.2.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: target AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: amylaar at gcc dot gnu dot org GCC target triplet: i386-*-* http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29347