对 Apple Silicon 的 SSE/neon 支持

new*_*ser 1 macos arm sse neon apple-silicon

我正在努力让我的应用程序为 Apple Silicon 做好准备。我的应用程序目前使用适用于 Mac 的 SSE 指令和适用于 iOS 的等效 Neon 实现。

Apple 移植指南建议转向 Accelerate 框架,我现在还没有准备好。

有没有办法在 Apple 芯片的通用二进制文件中继续使用 SSE/neon(基于架构)?我可以看到 arm64_neon.h 不适用于 Apple Silicon。

mst*_*sjo 5

NEON 内在函数可通过arm_neon.h标头获得,并且是标准的ARM C 语言扩展内在函数。arm64_neon.h是 MSVC 特定的标头名称(并且由于 MSVC 的几个版本,您arm_neon.h甚至可以像其他编译器一样为 32 位和 64 位 ARM使用标准标头名称)。