From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 2099 invoked by alias); 6 Jun 2004 19:35:12 -0000 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 Received: (qmail 2092 invoked by alias); 6 Jun 2004 19:35:12 -0000 Date: Sun, 06 Jun 2004 19:35:00 -0000 Message-ID: <20040606193512.2091.qmail@sourceware.org> From: "jsm at polyomino dot org dot uk" To: gcc-bugs@gcc.gnu.org In-Reply-To: <20040606180702.15852.sliwa@theta1.cft.edu.pl> References: <20040606180702.15852.sliwa@theta1.cft.edu.pl> Reply-To: gcc-bugzilla@gcc.gnu.org Subject: [Bug target/15852] issues related to floating point precision X-Bugzilla-Reason: CC X-SW-Source: 2004-06/txt/msg00717.txt.bz2 List-Id: ------- Additional Comments From jsm at polyomino dot org dot uk 2004-06-06 19:35 ------- Subject: Re: issues related to floating point precision On Sun, 6 Jun 2004, pinskia at gcc dot gnu dot org wrote: > Not a bug, read the references in bug 323. You mean "known bug", not "not a bug". Excess precision is allowed by C99, and you can even define FLT_EVAL_METHOD to -1 to say that it's indeterminate when there's excess precision (which at present it is, given that spills reduce excess precision unpredictably), but we define FLT_EVAL_METHOD to 2 on x86 (saying that expressions are predictably evaluated as long double), and even with -ffloat-store we don't follow the standard rules that conversions to the same or narrower type (by assignment, cast and (probably) function call and return) get rid of excess precision (but note that conversions of float to double don't get rid of excess precision even if the float is being stored with the precision of long double). That we don't get rid of excess precision on casts is clearly a bug, as is the bad definition of FLT_EVAL_METHOD. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=15852