Programmieren mit Intrinsics: Code optimieren ohne Assembler

Mit Vektorbefehlen lässt sich oft noch viel Leistung aus bestehendem Code holen. Wir zeigen, wie das ohne Assembler-Programmierung funktioniert.

Eine Anleitung von Johannes Hiltscher veröffentlicht am
Maschinennah programmieren geht auch ohne Assembler.
Maschinennah programmieren geht auch ohne Assembler. (Bild: Johannes Hiltscher, Golem.de)

Keine Frage: Compiler erzeugen meist besseren Code als Menschen, doch manchmal muss man ihnen auf die Sprünge helfen. Das gilt besonders für die Verwendung von Vektoranweisungen. Auch hier sind Compiler zwar deutlich besser geworden, übersehen aber oft mögliche Optimierungen. Dann hilft alles nichts und man muss selbst ran und passenden Code schreiben. Da Hochsprachen wie C und C++ aber keine Vektorbefehle mitbringen, bedeutet das, Assembler-Code zu schreiben und mit Registern zu jonglieren. Es geht aber auch einfacher: Mit Intrinsics lassen sich Vektorbefehle und andere plattformspezifische Anweisungen auch ohne Assembler verwenden. Wir zeigen, wie das funktioniert.


Weitere Golem-Plus-Artikel
Energiewende: Deutsche Stromnetze im Dornröschenschlaf
Energiewende: Deutsche Stromnetze im Dornröschenschlaf

IT ist der Game Changer der Energiewende - nur nicht in Deutschland.
Eine Analyse von Gerd Mischler


Aus dem Verlag: Weihnachtsrabatt für Golem Plus
Aus dem Verlag: Weihnachtsrabatt für Golem Plus

Im Weihnachtsangebot gibt es Golem Plus mit vielen jobrelevanten Deep Dives, Analysen und Ratgebern bei Neuabschluss 20 Prozent günstiger!


Qi wird 15: Laden ohne Kabel
Qi wird 15: Laden ohne Kabel

Was bei einer Elektrozahnbürste geht, sollte auch mit Smartphones gehen, oder? So wurde mit Qi vor 15 Jahren ein Standard für drahtloses Laden entwickelt. Richtig genutzt wird er aber erst jetzt.
Von Ingo Heinicke


    •  /