为 iOS 编译半浮动霓虹灯指令
Posted
技术标签:
【中文标题】为 iOS 编译半浮动霓虹灯指令【英文标题】:Compiling half float neon instructions for iOS 【发布时间】:2013-08-23 16:44:54 【问题描述】:我遇到的问题是一些我认为 arm7 架构支持的霓虹灯指令。我使用的是默认编译器(Apple LLVM 5.0),虽然它不喜欢半浮点指令,但它可以识别其他霓虹灯指令。
代码如下:
vcvt.f32.f16, q0, d1
这已经在 gcc 上编译,虽然苹果编译器不喜欢这条指令并给出错误:指令需要:半浮点
我可以给 XCode 一个编译器标志吗?我不知道如何启用半浮动指令谷歌搜索。
谢谢!
【问题讨论】:
试试-mfpu=neon-fp16
【参考方案1】:
并非所有 ARM v7 实现都支持半浮点格式。请参阅ARM manual here。 vfp4 需要它,所以如果你的芯片支持它,那是一个好的开始。一般来说,我建议使用运行时检测和调度。一般来说,要启用该指令,您需要使用几个浮点支持选项之一,通常“fp16”是关键字,例如:
-mfpu=neon-fp16
如果您确定您的目标支持霓虹灯。我也找不到 llvm 的所有示例,但我认为它们通常与 GCC manual 中的 GCC 选项兼容。
【讨论】:
以上是关于为 iOS 编译半浮动霓虹灯指令的主要内容,如果未能解决你的问题,请参考以下文章
sh 用霓虹灯支持编译SVN 1.7.20(Ubuntu 14.04)