Mailing-List: contact cygwin-help AT sourceware DOT cygnus DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT sources DOT redhat DOT com Delivered-To: mailing list cygwin AT sources DOT redhat DOT com Message-ID: <20011113201349.29089.qmail@web14507.mail.yahoo.com> Date: Wed, 14 Nov 2001 07:13:49 +1100 (EST) From: =?iso-8859-1?q?Danny=20Smith?= Subject: Re: gcc bug: different results between -O0 and -O1 To: gilles civario Cc: cygwin AT cygwin DOT com In-Reply-To: MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit --- Mark Gordon wrote: > On Tue, 13 Nov 2001 07:57:57 +0100, gilles civario > wrote: > > >egor duda a écrit : > >> Monday, 12 November, 2001 gilles civario civario AT mimosa DOT ceng DOT cea DOT fr > wrote: > >> > >> gc> Wile developing a performance test program for gettimeofday > resolution, > >> gc> I found a strange behavior for gcc under cygwin with the -O flags. > >> gc> Everywhere else with native compiler or with gcc, the program > return constant > >> gc> results, with or without optimization. (On Sun, Dec, Linux and > Fujitsu) > >> gc> Only with cygwin, the result is divided by 5000 from -O0 to -O1, > both with > >> gc> gcc version 2.95.3-5 (cygwin special) and gcc version 3.0.2. > >> gc> But it shouldn't. Ok for a little increase, but not for 5000 ! > >> > >> you cannot reliably test float values for equality. you should rethink > >> the logic of your boucle () function to get reliable results. > > Have a look at the documentation for -mieee-fp switch. Also -ffloat-store. Then try your test case out with these switches, In C99 standard there are additional functions to control fp rounding modes. In the meantime, for more control over fp precision and unordered comparisons you could provide your own soft float library. Danny http://briefcase.yahoo.com.au - Yahoo! Briefcase - Manage your files online. -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Bug reporting: http://cygwin.com/bugs.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/