Xcode Apple Silicon 未编译 ARM64 半精度 neon 指令:指令操作数无效

问题描述 投票:0回答:2

迄今为止,我在 Xcode/CLANG 中编译和运行复杂的 ARM Neon 汇编语言例程没有任何问题,并且 Apple M1 据说支持 ARMv8.4。

但是 - 当我尝试使用以下语法的半精度时: “流行 v2.8h、v0.8h、v1.8h ” 我收到编译器错误“指令操作数无效”。
将 -mfpu=neon-fp16 添加到编译器选项中没有帮助。希望它只是使用不同的语法?

如果有人在 Xcode 中实现了 .8h 指令编译,我将非常感激任何提示。谢谢你。

xcode arm64 neon half-precision-float
2个回答
0
投票

我想我已经解决了这个问题——或者至少解决了一半的问题——我现在可以编译它了。有两个关键点:

  1. 要添加的编译器标志只是 -march=armv8.2-a+fp16,仅此而已。我尝试了太多事情。

  2. 在 XCode 中添加标志的方式是针对每个 C 文件。具体来说... 单击您的项目,转到“构建阶段”选项卡。 单击您的目标,您应该会看到源文件列表。 单击每个相关源文件并添加 -march=armv8.2-a+fp16

我这样做之后,它就编译好了。 如果我找到更多信息,我会添加另一个评论。


0
投票

这是个好消息。 :)。也许随着时间的推移,这将成为标准。

© www.soinside.com 2019 - 2024. All rights reserved.