我正在尝试为新的arm64 arch编译我的lib.我有一堆NEON程序集,对于所有这些我收到错误
Unknown register name “q0” in asm.
即使我写简单,因此:
asm ( "" : : : "q0","q1","q2","q3" );
我以为arm64支持NEON.我错过了什么吗?
解决方法
“V0”:
scanon$cat bar.c int foo(void) { __asm__("":::"q0"); return 0; } scanon$xcrun -sdk iphoneos clang bar.c -arch arm64 -c bar.c:2:16: error: unknown register name 'q0' in asm __asm__("":::"q0"); ^ 1 error generated. scanon$cat foo.c int foo(void) { __asm__("":::"v0"); return 0; } scanon$xcrun -sdk iphoneos clang foo.c -arch arm64 -c scanon$
arm64是一个新的ISA.实际的NEON指令和寄存器布局是全新的.您需要重新编写或修改新体系结构的汇编代码.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。