• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

ios - asm (arm64) 中的未知寄存器名称 "q0"

[复制链接]
菜鸟教程小白 发表于 2022-12-13 05:29:43 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

我目前正在尝试为新的 arm64 架构编译我的库。我有一堆 NEON 组件,但我收到了一个错误

Unknown register name "q0" in asm.

即使我写得这么简单:

asm (
     ""
     :
     :
     : "q0", "q1", "q2", "q3"
     );

我认为 arm64 支持 NEON。我错过了什么吗?



Best Answer-推荐答案


“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 指令和寄存器布局是全新的。您将需要为新架构重新编写或调整汇编代码。

关于ios - asm (arm64) 中的未知寄存器名称 "q0",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19984307/

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap