delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2001/11/13/01:56:16

Mailing-List: contact cygwin-help AT sourceware DOT cygnus DOT com; run by ezmlm
List-Subscribe: <mailto:cygwin-subscribe AT sources DOT redhat DOT com>
List-Archive: <http://sources.redhat.com/ml/cygwin/>
List-Post: <mailto:cygwin AT sources DOT redhat DOT com>
List-Help: <mailto:cygwin-help AT sources DOT redhat DOT com>, <http://sources.redhat.com/ml/#faqs>
Sender: cygwin-owner AT sources DOT redhat DOT com
Delivered-To: mailing list cygwin AT sources DOT redhat DOT com
Message-ID: <3BF0C475.ECF56C8D@mimosa.ceng.cea.fr>
Date: Tue, 13 Nov 2001 07:57:57 +0100
From: gilles civario <civario AT mimosa DOT ceng DOT cea DOT fr>
X-Mailer: Mozilla 4.7 [fr] (WinNT; I)
X-Accept-Language: fr
MIME-Version: 1.0
To: cygwin AT cygwin DOT com
Subject: Re: gcc bug: different results between -O0 and -O1
References: <3BEFA31B DOT B06D4C37 AT mimosa DOT ceng DOT cea DOT fr> <13971066568 DOT 20011112134524 AT logos-m DOT ru>

Hello.

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.

I'm not sure that the problem is mine.
First, consider that this little program works fine on a large variety of
different machine, event on Linux PCs.
But, I've tried a different test for my float values :
Instead of (t2 != t1), when I use ((t2-t1)>1.E-10), I got the same results
with -O1 than with -O0. Alleluia !!! But when I use ((t2-t1)>1.E-20), I've
got the initial results and the enormous differences between the two optimization
modes. Why such a comparison gives different results when changing an
optimization flag ? And only with Cygwin ?

Regards

Gilles Civario.

--
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/

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019