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]

Difference between -O3 and -O2 with the -f options -O3 adds


Hi,

I just updated to 4.4.1 and now one of my unit tests fails when it is compiled 
with -O3.
OTOH when I compile with -O2 -finline-functions -funswitch-loops -ftree-
vectorize -fpredictive-commoning -fgcse-after-reload -fipa-cp-clone the 
resulting binary does not fail.

I looked at the Assembly with objdump -dwC and I can see at least that the -O3 
compiled binary has some loop unrolling done that's not in the other binary.

The gcc manual says that -O3 is the same as -O2 plus -finline-functions -
funswitch-loops -ftree-vectorize -fpredictive-commoning -fgcse-after-reload

gcc -c -Q -O3 --help=optimizers compared to the same with -O2 shows that also 
-fipa-cp-clone goes in that list. But still the result is not the same.

Any ideas how to debug this regression further?

Regards,
	Matthias


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