Ab Nios2-elf-gcc 4.9.2 unterstützt der Nios® II GCC Compiler neue Optionen:
-march, -mbmx, -mno-bmx, -mcdx, -mno-cdx
Diese Optionen können nicht mit den öffentlich veröffentlichten Versionen des Nios II Prozessors verwendet werden und sind standardmäßig deaktiviert. Diese Optionen sind derzeit nur für interne Altera vorgesehen.
Altera hat eine Version des Nios II Prozessors mit einer modifizierten Befehlssatz-Kodierung (bekannt als R2) entwickelt, die derzeit nur für interne Altera vorgesehen ist. Sowohl die R1 (original) als auch die R2 (neue) Befehlssatzcodierung werden vom gleichen Nios II GCC-Compiler unterstützt, um die Entwicklung und Wartung von Compilern zu optimieren. Der Nios II R2 Befehlssatz ist weitgehend Assembly-Sprache, die mit dem Nios II R1 Befehlssatz kompatibel ist, unterstützt aber zusätzliche obligatorische und optionale Anweisungen.
Die folgenden GCC Nios II R2 Compiler-Optionen/Switches sind derzeit nur für interne Altera vorgesehen:
-march=
Dies gibt die Revision des vom Compiler zu verwendenden Ziel-Nios II-Architektur/Befehlssatz-Architektur (ISA) R1/R2 an.
GCC verwendet diesen Namen, um festzustellen, welcher Befehlssatz bei der Erzeugung von Assembly-Code verwendet werden soll.
Zulässige Namen sind: "r1", "r2". Die Standardeinstellung ist \'r1\'.
Der Switch -march=r2 wird auch vom Nios II Assembler akzeptiert, für Ingenieure, die zusammenbauen, ohne den Compiler zu verwenden.
Die folgenden Switches müssen –march=r2 angegeben werden:
-mbmx Aktivieren Sie die Generierung der Architektur-optionalen Nios II R2 BMX (Bitmanipulationserweiterung).
-mno-bmx Deaktivieren der Generierung von BMX-Befehlen. Dies ist die Standardeinstellung.
-mcdx Aktivieren Sie die Generation der Architektur-optionalen Nios II R2 CDX (Code-Density-Erweiterung).
-mno-cdx Die Generation von CDX-Befehlen deaktivieren. Dies ist die Standardeinstellung.