This is the mail archive of the gcc-help@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

RE: -O2 problem / GCC 3.3.x


Thank you!

I tested on your advice (i386 hardware)...

-O2 -fno-strict-aliasing, still wrong result
but
-O2 -fno-gcse, correct result

Daniel

-----Ursprüngliche Nachricht-----
Von: Bossom, John [mailto:John.Bossom@Cognos.COM]
Gesendet: Montag, 15. November 2004 21:53
An: Beschorner Daniel; gcc-help@gcc.gnu.org
Betreff: RE: -O2 problem / GCC 3.3.x


Read up on -fstrict-aliasing (which is on with -O2).

Try building again with -O2 -fno-strict-aliasing

(Not saying this is the problem, however, if it goes away with the
-fno-strict-aliasing
 then you'll know)


-----Original Message-----
From: gcc-help-owner@gcc.gnu.org [mailto:gcc-help-owner@gcc.gnu.org]On
Behalf Of Beschorner Daniel
Sent: Monday, November 15, 2004 3:42 PM
To: 'gcc-help@gcc.gnu.org'
Subject: -O2 problem / GCC 3.3.x


Any idea why results differ between -O and -O2 with GCC 3.3.x/Linux??? GCC
2.95 works fine.

results:
-O	500000
-O2	300000

Thanks
Daniel



#include <stdio.h>

int A,B,C;
int i;
int Q[1];

int H(int X, int Y)
{
        return X^Y^100000;
}

int main()
{
        A=B=C=100000;

        A+=H(B,C);
        C+=H(A,B);
        A+=H(B,C);
        C+=H(A,B);

        for (i=0;i<1;i++)
                Q[i] = 0;

        printf("%i\n",A);
        return 0;
} 
  
       This message may contain privileged and/or confidential information.
If you have received this e-mail in error or are not the intended recipient,
you may not use, copy, disseminate or distribute it; do not open any
attachments, delete it immediately from your system and notify the sender
promptly by e-mail that you have done so.  Thank you. 
 


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]