skip to main content

kiesler.at

Random Guide to whatever
updated by rck, 2004-10-10

Another case of trying out the swallow hack 0.2. This time, I'm shuffling some sections around. Enjoy!

0 < n < 100

High Performance Alpha Linux: Inline assembler sample code for gcc

Ein relativ langes Posting zum Thema High Performance Computing, in welchem ein umfangreiches Inline-Assemblerprogramm vorgestellt wird. Zeigt im wesentlichen, dass man mit Inline-Assembler nicht nur an Performance gewinnen sondern auch (drastisch) an Übersicht verlieren kann.

Linux-Alpha Archive: wh64 (slow)

Von der Codestruktur wird hier Alpha-Inlineassembler sehr überzeugend dargestellt. Meine Hauptwissensquelle für asma und asmb!

Using the GNU Compiler Collection (GCC): DEC Alpha Options

Hat mir den rechten Weg zu Compilerparametern gewiesen. Stichwort: gcc -mcpu=ev6

Viel Spaß mit Inline-Assembler // René C. Kiesler!

100 < n < 200

dooki
definition: what is lex?

complang
185.175 Übersetzerbau, LU 3 -- die Übung, für die ich den Scanner entwickelt habe.

informatik-forum
Das Subforum zur Übersetzerbau LU. Schauplatz wichtiger Diskussionen zur Übung. Beispielsweise gut, um gemeinsam Testfälle zu erarbeiten ;-)

200 < n < 300

Sieht im ersten Moment sehr kompliziert aus -- es ist allerdings auch schon heftig optimiert worden darin.

89 - 101 wir haben zwei Register als Operanden. Der Fall ist fast so gut, wie Nummer vier: Lauter Konstanten. Ich habe für nichtvorhandene Register -1 eingesetzt und nicht etwa 0 -- die Nummerierung der Register beginnt ja bei 0 und wir würden dadurch einen der 32 Register nicht ansprechen können.

Hier sehen wir gleich eine wichtige Optimierung: Register-Recycling. Handelt es sich bei einem der Register nämlich um einen Arbeitsregister, können wir ihn gleich als Zielregister für die Operation definieren (92 bzw. 95). Praktisch!

Wenn nicht: Auch kein Problem, einfach einen neuen aus dem Pool nehmen.

102 - 130 hier das gleiche für nur einen Register. Vermutlich kann man das alles kompakter anschreiben.

130 - 149 im Falle lauter Konstanten braucht man gar keine Operation! Einfach das Ergebnis, wenn es im Rahmen bleibt, als Konstante weitergeben. Sehr effizient, habe ich mir von Peter aka. Risewind aus dem Informatik-Forum abgeschaut. Dankeschön!

here you can see some nonsense article. in case it makes sense, it's all fault of Swallow Hack 0.5 for Article Manager!



RSSComments - Make a comment
The comments are owned by the poster. We are not responsible for its content.
RSSAll Articles
2008, 2007, 2006, 2005, 2004

What's Related

Article Manager

Hacks

Latest Updates

AdministrativeTexts
updated by freddiemac1993, 2013-06-14
wiki

Re: adventures
created by brittdavis10, 2012-02-23 (1 rply, 3 views)
thread

Re: how to run phpwebsite...
created by alexander, 2011-08-25 (2 rpls, 3607 views)
thread

Re: Forum tags
created by HaroldFaragher, 2011-08-22 (3 rpls, 8488 views)
thread


Zu den KO2100 Foren