ZHCUAU3J January 2018 – March 2024
这些选项专用于 C7000 工具集。有关更多信息,请参阅参考的章节。
--big_endian | 以大端格式生成代码。默认情况下生成小端代码。 | |
--common={on|off} | 当为 on(默认设置)时,未初始化的文件范围变量作为通用符号发出。设置为 off 时,不会创建通用符号。允许创建通用符号的好处是生成的代码可以删除未使用的变量,否则会增加 .bss 段的大小。(大于 32 字节的未初始化变量通过放置在可以在链接时省略的单独子段中被单独地优化。)如果变量已分配到 .bss 以外的段或具有指定的存储体,则变量不能作为通用符号。 | |
--debug_software_pipeline | 生成详细的软件流水线报告。请参阅节 4.7.2。 | |
--disable_software_pipeline | 关闭软件流水线。请参阅节 4.7.1。 | |
--fp_not_associative | 编译器不会对浮点运算进行重新排序。请参阅节 4.10。 | |
--mma_version={ 1 | 2 | 2_256 | disallow } | 指定待使用的器件上的矩阵乘法加速器 (MMA) 修订版。对于特定的 C7000 器件版本,--mma_version 的设置可能是与器件版本(默认)相对应的 MMA 版本或 disallow 。禁止指定与器件版本不一致的 MMA 版本,否则会导致错误。
编译器在其生成的目标文件中放置适当的 MMA 构建属性。 |
|
目标文件指定:如果使用 --mma_version=disallow 选项禁用 MMA,或者应用程序中的代码不执行任何可以使用 MMA 的操作,则不使用 (UNUSED) MMA。 | ||
MMA 构建属性可确保使用不兼容 MMA 版本的目标文件不允许链接。MMA 的版本 1、2 和 2_256 彼此都不兼容。MMA 版本设置为 UNUSED 的目标文件可以与使用任何 MMA 版本(但最多使用一个版本)的文件链接。有关更多详细信息,请参阅 C7000 EABI 技术参考指南 (SPRUIG4)。 | ||
--pending_instantiations=# | 指定在任何给定时间内可能正在进行的模板实例化的数量。使用 0 指定一个不受限制的数字。 | |
--ramfunc={on|off} | 如果设置为 on,则表示每个函数都将从 RAM 运行。函数将被放置在 RAM 中,并针对 RAM 执行进行优化。等效于在转换单元的所有函数中指定 __attribute__((ram_func))。如果设置为 off,则只有具有 ramfunc 函数属性的函数才会以此种方式被处理。请参阅节 5.13.2。 | |
--silicon_version=num | 选择目标 CPU 版本。请参阅节 3.3.5。 | |
--silicon_errata_i2117 | --silicon_errata_i2117 编译器选项生成的代码会在具有 C7100 CPU 内核的器件上自动处理器件勘误表 i2117。在边缘情况下使用此选项可能会对 MMA 性能产生负面影响。默认情况下,此选项处于禁用状态。 | |
--silicon_errata_i2376={on|off} | --silicon_errata_i2376=on 编译器选项生成的代码会在具有 C7504 CPU 内核的器件上自动处理器件勘误表 i2376。性能应该不会受到此权变措施的严重影响。如果使用 --silicon_version=7504 编译器选项(或 -mv7504 别名),则此选项默认打开。要关闭此权变措施的使用,请使用 --silicon_errata_i2376=off。不建议关闭此权变措施,仅供高级用户在特定情况下关闭。 |