对Apple Silicon的SSE /霓虹灯支持

问题描述

我正在尝试为Apple Silicon准备好我的应用程序。我的应用当前在Mac上使用SSE指令,在iOS上使用等效的Neon实现。

Apple移植指南建议迁移到Accelerate框架,我现在不准备这样做。

有没有办法在Apple硅通用二进制文件中继续使用SSE / neon(基于体系结构)?我可以看到arm64_neon.h无法用于Apple Silicon。

解决方法

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