从nios2-elf-gcc 4.9.2开始,Nios®IIGCC编译器支持新选项:
-march,-mbmx,-mno-bmx,-mcdx,-mno-cdx
这些选项不能与公开发布的Nios II处理器版本一起使用,默认设置为关闭。这些选项目前仅供Altera内部使用。
Altera开发了一种带有修改指令集编码(称为R2)的Nios II处理器,目前仅用于Altera内部使用。 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 \’。
对于不使用编译器进行组装的工程师,Nios II汇编程序也接受-march = r2开关。
以下开关需要指定-march = r2:
-mbmx启用体系结构可选的Nios II R2 BMX(位操作扩展)指令的生成。
-mno-bmx禁用BMX指令的生成。这是默认值。
-mcdx启用体系结构可选的Nios II R2 CDX(代码密度扩展)指令的生成。
-mno-cdx禁用CDX指令的生成。这是默认值。
没有回复内容