【问题标题】:What is the difference between -mfpu=fpv5-sp-d16 and -mfpu=fpv5-d16?-mfpu=fpv5-sp-d16 和 -mfpu=fpv5-d16 有什么区别?
【发布时间】:2020-02-01 08:12:02
【问题描述】:

我正在尝试让双精度 FPv5-DP-D16-M FPU 在带有 arm-none-eabi-gcc 编译器的 ARM Cortex-M7f 上运行。基于documentation,我似乎有两个选项可供选择来启用FPU:-mfpu=fpv5-d16-mfpu=fpv5-sp-d16。 “fpv5”是非常自我解释的,而“d16”(如文档和其他 StackOverflow 问题中所述)仅表示有 16 个双精度寄存器,而不是标称的 32 个寄存器。由于缺乏其他任何有意义的东西,我猜“sp”代表“单精度”,这意味着 fpv5-d16 是我想要的选项。

但是,我找不到任何明确证实这一点的文档。我的推论正确吗?为什么没有fpv5-dp-d16 选项/别名,就像clang 中的一样?

【问题讨论】:

    标签: gcc arm fpu


    【解决方案1】:

    你的推论是正确的,是的。您可以参考Arm Cortex-M7 Processor Technical Reference Manual 来查看哪些 ISA 配置可以开始使用。

    说到这里,我真的不知道 gcc 中的原始 ARM 工程师adding support for it 可能在想什么(也许有一些硬件恶作剧证明了这一点?)。无论如何,我是 under the impression 在最新的 gcc 版本中的“正确做法”只是使用类似 -march=armv7e-m+fpv5+fp.dp 的东西。也许出于这个原因,没有人真正集思广益来查看您可能关心的所有别名(实际上,您已经可以在我最后一个链接的补丁 28 中看到 fpv5-d16 几乎是事后的想法)。

    但我想开发人员会愿意接受任何建议吗?

    【讨论】:

      猜你喜欢
      • 2019-07-12
      • 1970-01-01
      • 1970-01-01
      • 2011-01-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-09-08
      • 1970-01-01
      相关资源
      最近更新 更多