aarch64:使用 gcc 编译时 NEON 注册

aarch64: NEON registers when compiling with gcc

我正在尝试使用 gcc 为 aarch64 编译我的代码。但是,输出二进制文件确实使用了 NEON 寄存器 (q0 ~ q7)。我怎样才能指示编译器不使用它们!?

您可以使用 -mgeneral-regs-only 指示编译器仅使用通用寄存器(在 GCC Documentation 中阅读更多内容)。

但是,请注意,AArch64 的唯一 ABI 确实假定会有浮点和高级 SIMD 支持。如果您在代码中使用浮点数,将被标记为错误。如果您处于 linux 环境中,您将链接到假定支持高级 SIMD 和浮点的二进制文件。