Nios II Custom Instructions

Gast #1934846
Lesenswert?

Hallo,
ich habe im Rahmen eines Praktikums mit dem Nios II und speziell mit 
Custom Instructions zu tun. Was die HW-Thematik an sich betrifft ist 
alles klar, jedoch habe ich eine Frage bezüglich ihrer Nutzung in SW. Im 
Altera User Guide 'Nios II Custom Instruction', Seite 19 findet man 
folgendes Codebeispiel:
1
#define ALT_CI_BITSWAP_N 0x00
2
#define ALT_CI_BITSWAP(A) __builtin_custom_ini(ALT_CI_BITSWAP_N,(A))

Hierbei handelt es sich um eine Makrodefinition. Im Text heisst es:

The ALT_CI_BITSWAP(A) macro is mapped to a gcc built-in function that 
takes a single argument.

Kann mir jemand mal erklären was sich dahinter versteckt. Warum 
deklariert man eine Funktion als gcc built-in Funktion ??? Vielen Dank,
Andi
Gast #1934870
Lesenswert?

Erklären kann ich dir das nicht. Ich habe das bisher immer mit 
Compiler-Flags gemacht, jedenfalls bei der Single-FPU, die beim Nios mit 
dabei ist. Wenn du da dem GCC "-mcustom-fmuls=252" mit gibst, dann mappt 
der den fmul single Aufruf, wenn ichs richtig verstanden habe, auf den 
opcode 252.
Jedenfalls schien das bei mir immer funktioniert zu haben. Vielleicht 
hilft dir das ja weiter.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren