From mboxrd@z Thu Jan 1 00:00:00 1970 From: philippe_ribet@hotmail.com To: gcc-gnats@gcc.gnu.org Subject: optimization/4570: error reading bytes from double variable Date: Mon, 15 Oct 2001 02:06:00 -0000 Message-id: <20011015085925.15985.qmail@sourceware.cygnus.com> X-SW-Source: 2001-10/msg00306.html List-Id: >Number: 4570 >Category: optimization >Synopsis: error reading bytes from double variable >Confidential: no >Severity: critical >Priority: medium >Responsible: unassigned >State: open >Class: sw-bug >Submitter-Id: net >Arrival-Date: Mon Oct 15 02:06:02 PDT 2001 >Closed-Date: >Last-Modified: >Originator: philippe_ribet@hotmail.com >Release: gcc version 3.0.2 20010922 >Organization: >Environment: Athlon processor >Description: gcc-3.0.1 give good result up to -O2, bad one with -O3 gcc-3.0.2 give good result without optimization, bad with -O2 May be relative to optimization recently moved from -O3 to -O2. main() { double e=0; e=(double)(0.5); printf("e=%08x%08x\n",*((int *)(((char *)(&e)))),*((int *)(((char *)(&e))+4))); } >How-To-Repeat: >Fix: >Release-Note: >Audit-Trail: >Unformatted: