aarch64:使用gcc编译NEON时注册
答
您可以使用-mgeneral-regs-only
指示编译器仅使用通用寄存器(详见GCC Documentation)。
但是,请注意,AArch64唯一的ABI确实假设会有浮点和高级SIMD支持。如果您在您的代码中使用浮点,将被标记为错误。如果您处于Linux环境中,您将链接到支持高级SIMD和浮点的二进制文件。
+0
谢谢@james,我想在内核中使用它。 – amrzar
如果你正在生成aarch64,那么没有Q寄存器。 ARMv8的NEON向量寄存器命名为v0-v31。 – BitBank
@BBBank,这并不完全准确,它们也根据上下文命名为b *,h *,s *,d *或q *,例如在'ldr q0,[x0]'或sqdmlsl s0中, h1,v2.h [0]' –
@JamesGreenhalgh是对的。 – amrzar