【arm】arm neon 优化技巧

本文介绍了ARM NEON优化技巧,包括避免数据依赖、减少分支跳转、利用逻辑运算指令和预载指令PLD提高性能。同时指出VMLA指令的延迟问题以及NEON汇编与内联汇编性能对比。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

2018.7.29 周末

https://community.arm.com/android-community/b/android/posts/arm-neon-optimization

翻译总结如下:

  1. 去除数据依赖
    不要将当前指令的目的寄存器作为下一条指令的源寄存器!
    原因:arm架构采用的是多级流水线技术,如果下一条指令的源寄存器是当前指令的目的寄存器,就需要当前指令执行完之后,下一条指令才能取指执行,这样会产生很大的延迟,影响性能。

  2. 减少分支跳转
    ARM处理器中广泛使用分支预测技术。但是一旦分支预测失败,性能就会损失很大。所以,
    尽量不要用分支跳转!可以采用逻辑运算指令替代分支跳转!
    比如:
    VCEQ, VCGE, VCGT, VCLE, VCLT……
    VBIT, VBIF, VBSL……
    另外,可以使用条件执行指令,比如addgt,suble等减少分支跳转!
    建议一次性多处理几行数据&#

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

飞翔的鲲

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值