nios2-elf-gcc 4.9.2 以降、Nios® II GCC コンパイラーは新しいオプションをサポートしています。
-march, -mbmx, -mno-bmx, -mcdx, -mno-cdx
これらのオプションは、一般公開されているバージョンのNios II・プロセッサーでは使用できず、デフォルトではオフに設定されています。これらのオプションは現在、内部Altera使用のみを目的としています。
Alteraは、現在内部Altera用のみを目的とした変更された命令セット・エンコーディング (R2) を備えたバージョンのNios II・プロセッサーを開発しました。R1 (オリジナル) および R2 (新しい) 命令セットのエンコーディングは、コンパイラーの開発とメンテナンスを合理化するために、同じNios II GCC コンパイラーでサポートされています。Nios II R2 命令セットは、主にアセンブリー言語でNios II R1 命令セットと互換性がありますが、追加の必須およびオプションの命令をサポートしています。
以下の GCC Nios II R2 コンパイラーのオプション / スイッチは現在、内部Altera用のみを目的としています。
-march=
これは、コンパイラーが使用するターゲット・Nios II・アーキテクチャー / インストラクション・セット・アーキテクチャー (ISA) R1/R2 のリビジョンを指定します。
GCC はこの名前を使用して、アセンブリー・コードの生成に使用する命令セットを決定します。
許可される名前は「r1」、「r2」です。デフォルトの設定は \'r1\' です。
-march=r2 スイッチは、コンパイラーを使用せずに組み立てているエンジニア向けに、Nios IIの吉禎でも受け入れられます。
次のスイッチを指定するには–march=r2 が必要です。
-mbmx アーキテクチャー (オプション) Nios II R2 BMX (ビット操作拡張) 命令の生成を有効にします。
-mno-bmx BMX 命令の生成を無効にします。 これがデフォルトです。
-mcdx アーキテクチャー (オプション) の Nios II R2 CDX (コード密度拡張) 命令の生成を有効にします。
-mno-cdx CDX 命令の生成を無効にします。 これがデフォルトです。