AMD Improves GCC Tuning for Zen 4 and Zen 5, Boosting SPEC Tests Up to 12%

AMD hat am GCC-CPU-Tuning für Zen 4 und Zen 5 nachgebessert und dabei in einem SPEC-CPU-Test bei einem einzelnen Benchmark einen Sprung von bis zu 12 Prozent gemessen. Für die meisten Ryzen-Spieler bleibt das zunächst ohne spürbare Auswirkung, weil der Patch nur beim Kompilieren greift – bestehende Programme und Spiele werden durch das Update nicht nachträglich schneller.

Konkret geht es um eine Änderung der CPU-spezifischen Kostenmodelle in der GNU Compiler Collection (GCC), die beim Übersetzen von Software einschätzen, welche Befehlsfolgen auf einer Zielarchitektur voraussichtlich günstiger sind. AMD beschreibt den Patch als Anpassung für Zen 4 und Zen 5, relevant wird das Ganze vor allem bei Anwendungen, die neu mit einer aktuellen GCC-Version erstellt und dabei gezielt auf Zen 4 oder Zen 5 optimiert werden.

In der Praxis betrifft der Eingriff laut den vorliegenden Details nur zwei Zeilen in den GCC-Kostenmodellen: In den Dateien für znver4_cost und znver5_cost steigt der Wert für den „Branch mispredict scale“ jeweils von COSTS_N_INSNS(2) auf COSTS_N_INSNS(2) + 3. AMD nennt als Ergebnis für den SPEC-Benchmark 544.nab_r Leistungsgewinne von bis zu 12 Prozent auf Zen 5 und 9 Prozent auf Zen 4. Die Änderung wurde am 22. August zur Prüfung eingereicht und am 24. August für den GCC-Hauptentwicklungszweig freigegeben; zu dem Zeitpunkt der Recherche war ein anschließender Commit der Zen-Änderung nicht öffentlich nachvollziehbar.

Warum die Änderung nicht direkt am Ryzen-Performance-„Tuning“ hängt

Der Patch beschleunigt laut Einordnung nicht „einen Ryzen-Prozessor an sich“, sondern beeinflusst, welchen Maschinencode GCC beim Kompilieren erzeugt. GCC nutzt interne Kostenmodelle, um zu entscheiden, welche Code-Varianten für eine bestimmte Ziel-CPU sinnvoller sind. Eine der Stellen, an denen sich das bemerkbar machen kann, ist die sogenannte If-Conversion: Dabei kann GCC unter bestimmten Bedingungen einen klassischen Sprung durch eine Befehlsfolge ersetzen, die ohne klassischen Branch auskommt. Wenn Fehlvorhersagen (Branch Mispredictions) stärker gewichtet werden, kann der Compiler dann in Einzelfällen eine andere Variante wählen und dadurch anderen Maschinencode erzeugen.

Vergleichend wird beschrieben, dass die Kostenmodelle für Ice Lake und Alder Lake in GCC bereits denselben höheren „Branch mispredict scale“-Wert trugen. Zen 4 und Zen 5 lagen bislang beim niedrigeren Wert; AMD gleicht die beiden Modelle nun offenbar an. Entscheidend ist dabei nicht, welcher Ryzen im System steckt, sondern mit welchen Optionen die Software übersetzt wird.

Wenn GCC mit „-march=znver4“ oder „-march=znver5“ aufgerufen wird, nutzt es das jeweilige Zen-spezifische Kostenmodell automatisch. Auch „-march=native“ kann auf einem Zen-4- oder Zen-5-System dazu führen, dass genau dieses CPU-spezifische Tuning greift. Dadurch werden vor allem Linux-Nutzer und Entwickler zur Zielgruppe, die Anwendungen selbst mit solchen Optionen bauen.

Bei portablen Builds mit „-march=x86-64-v2“, „x86-64-v3“ oder „-march=x86-64-v4“ greift dagegen normalerweise generisches Tuning; erst mit einem zusätzlichen „-mtune=znver4“ oder „-mtune=znver5“ wird das Zen-spezifische Kostenmodell ausgewählt. Eine Besonderheit: Das generische GCC-Kostenmodell hatte den höheren Branch-Mispredict-Wert bereits im Juni erhalten. Die neue AMD-Änderung schließt daher vor allem die Lücke für explizit auf Zen 4 und Zen 5 abgestimmte Codepfade.

SPEC-Sprung bleibt ein Sonderfall

Dass ausgerechnet 544.nab_r so deutlich reagiert, ist laut AMD/den vorliegenden Tests kein komplett neuer Effekt. Bei einer früheren Änderung am generischen x86-Tuning hatte derselbe Benchmark bereits auf Granite Rapids um 12,7 Prozent und auf Zen 5 um 12,1 Prozent zugelegt. AMD hat die aktuelle Anpassung anschließend mit SPEC CPU 2017, SPEC CPU 2026 und ausgewählten Phoronix-Test-Suites geprüft – der zweistellige Schub ließ sich dabei nicht auf die übrigen Tests übertragen. Die meisten Benchmarks blieben überwiegend neutral, als auffällige Ausnahme verlor „Hint“ unter den getesteten Bedingungen rund 30 Prozent. Für diesen Ausreißer kündigte AMD eine gesonderte Untersuchung an.

Für den Alltag heißt das: Bereits installierte Programme und Spiele profitieren nicht automatisch. Der Patch wirkt ausschließlich beim Kompilieren; vorhandene Binärdateien bleiben unverändert. Neue Software profitiert nur dann, wenn sie mit einer GCC-Version erstellt wird, die die Änderung enthält, und parallel dazu die passenden Zen-Tuning-Optionen genutzt werden. Ob sich außerhalb des auffälligen SPEC-Effekts tatsächlich messbar mehr Leistung ergibt, müsste daher für jede Anwendung einzeln überprüft werden.

In Summe ist die wichtigste praktische Aussage eng begrenzt: Wer Software für Zen 4 oder Zen 5 selbst mit GCC neu kompiliert, erhält künftig ein korrigiertes CPU-Tuning. Ein allgemeiner Leistungsschub für Ryzen 7000 oder Ryzen 9000 lässt sich daraus bislang nicht ableiten.

Marcus Chen is a gaming journalist and industry reporter with more than 10 years of experience. He covers releases, announcements, and trends across PC, PlayStation, Xbox, and Nintendo, and keeps a close eye on the indie scene and esports. Previously an editor at several gaming publications, he now writes news, reviews, and breakdowns of major industry moments—from big showcases to updates on popular titles. His work is aimed at players who want a clear, fast read on what happened and why it matters.