Neuer GNU Compiler für Pentium III und Mac OS X

In Version 3.1 nützt die GNU Compiler Collection die SSE-Befehlserweiterung des Pentium III und unterstützt nun Mac OS X.

In Pocket speichern vorlesen Druckansicht 239 Kommentare lesen
Lesezeit: 2 Min.
Von
  • Herbert Schmid

Die Open-Source-Gemeinde hat ihren Haus-Compiler, die GNU Compiler Collection (GCC), ordentlich verbessert. Version 3.1 übersetzt jetzt auch ADA-Programme, kennt mehr Prozessoren und Betriebssysteme und erzeugt zudem noch schnellere Programme.

Bis zu 8 Prozent schnelleren Code als die Vorgängerversion 3.0 erzeugt der neue Compiler, ermittelte Andreas Jaeger von SuSE Linux anhand der SPEC CPU2000 auf einem Ahtlon-System. Für 6 Prozent der Verbesserung genügte die Standard-Optimierung "-O2 -march=athlon". Den Rest schaffte der eingebaute Profiler, mit dem man seine Software zunächst mit Testdaten laufen lässt und anschließend noch einmal übersetzt. Dank der damit gewonnen Informationen optimiert der Compiler beim zweiten Lauf besser.

Der neue Compiler kennt jetzt die Befehlserweiterungen SSE des Pentium III sowie AMDs 3Dnow!. Sie lassen sich auf dieselbe Art in den Quellcode einbauen wie bei den Compilern von Intel. Auf Wunsch verwendet der Compiler die schnelleren SSE-Befehle für Fließkomma-Berechnungen, jedoch ohne dabei die SIMD-Fähigkeiten zu nützen. Die SSE2-Erweiterung des Pentium 4 wird zwar auch genannt, doch erst die nächste Version 3.2 wird eine vergleichbare Unterstützung enthalten.

Gleich mehrere 64-Bit-Prozessoren sind hinzugekommen: AMDs kommende Opterons (Ex-Hammer) zählen nun genauso zu den Zielplattformen wie Hitachis SuperH SH5; auch Suns UltraSPARC erhält jetzt volle 64-Bit-Unterstützung. Freaks wird freuen, dass auch das Prozessorkonzept MMIX von Donald E. Knuth unterstützt wird.

Nun unterstützt der GCC von sich aus Mac OS X als Zielplattform. Uns gelang es aber in einem ersten Versuch nicht, den im Quelltext gelieferten Compiler zum Laufen zu bringen. Außerdem fehlen gegenüber der in den Apple Developer Tools enthaltenen Variante des GCC 2.95 einige Erweiterungen, etwa das Linken mit Frameworks. Eine Verschmelzung beider Linien ist indes nicht abzusehen; die Unterstützung der Altivec-Einheit der G4-Prozessoren, die derzeit noch im Beta-Stadium ist, stammt von Red Hat und nicht von Apple. (hes)