http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52897
Bug #: 52897 Summary: gcc 4.7.0 generates worse code than gcc 3.4.6 for m68000 Classification: Unclassified Product: gcc Version: 4.7.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c AssignedTo: unassig...@gcc.gnu.org ReportedBy: fdarkan...@gmail.com cube_flat demo included with SGDK (http://code.google.com/p/sgdk) performed very differently when compiled with gcc 3.4.6 and gcc 4.7.0. Attached code was the core of the problem; you can find the assembly codes generated by -O2, although the problem appears at -O3 as well. I also noticed that turning off gsce adds a pointless "move.l #12582912,%a1" instruction (.L3 of bmp-gcc4-O2-no-gcse.s), which doesn't appear in gcc3.