Siehe da, obwohl sich (wahrscheinlich) kein Entwickler mehr ernsthaft mit dem m68k-Backend beschäftigt, bringen neue Compilerversionen auch für unsere Oldtimer noch die ein oder andere Überraschung mit:
Ja, habe ich auch schon festgestellt. Liegt vermutlich daran, daß ein grossteil der Optimierungen auf einer Ebene gemacht wird, die völlig unabhängig vom m68k-backend ist. Sieht man auch daran, daß mittlerweile die 192k-versionen von EmuTOS damit kompiliert ~500 bytes kleiner sind (nicht dramatisch, aber immerhin).
Gibt aber wohl auch Gegenbeispiele. Zum einen führt die nicht mehr besonders intensiv duchgeführte Pflege von m68k dazu, daß einige Code-Sequenzen die aus dem Optimierer heraus kommen, nicht mehr erkannt werden und verschiedene, m68k-spezifische Optimierungen, dadurch manchmal nicht durchgeführt werden. Zum anderen sind neuere Compiler-Versionen sehr viel empfindlicher geworden was pointer-aliasing angeht, und alte Sourcen, bei denen das ignoriert wurde weil es sowieso keine Rolle spielte, erzeugen dadurch manchmal mittlerweile tatsächlich ungültigen code wenn man die Warnungen ignoriert.