从 nios2-elf-gcc 4.9.2 开始,Nios® II GCC 编译器支持新的选项:
-march, -mbmx, -mno-bmx, -mcdx, -mno-cdx
这些选项不能用于公开发布的 Nios II 处理器版本,并设置为默认设置。这些选项目前仅适用于内部Altera使用。
Altera开发了一个当前仅用于内部Altera使用的已修改指令集编码(称为 R2)的Nios II处理器版本。同Nios II GCC 编译器支持 R1(原始)和 R2(新)指令集编码,以简化编译器开发和维护。Nios II R2 指令集在很大程度上是向上组装语言,与 Nios II R1 指令集兼容,但支持其他强制和可选指令。
以下 GCC Nios II R2 编译器选项/交换机目前仅供内部Altera使用:
-march=
这指定了编译器将使用的目标Nios II架构/指令集架构 (ISA) R1/R2 的修订版。
GCC 使用此名称来确定生成装配代码时应该使用哪个指令集。
可接受的名称是:'r1','r2'。默认设置是 \'r1\'。
Nios II组装程序也为无需使用编译器而组装的工程师接受 -march=r2 交换机。
以下交换机需要指定 – march=r2:
-mbmx 支持生成架构可选Nios II R2 BMX(位操作扩展)指令。
-mno-bmx 禁用生成 BMX 指令。 这是默认值。
-mcdx 支持生成架构可选Nios II R2 CDX(代码密度扩展)指令。
-mno-cdx 禁用生成 CDX 指令。 这是默认值。