ARM技术论坛
直播中

贾大林

7年用户 1300经验值
私信 关注
[问答]

第二个负载是否必须等待上一个负载完成,还是可以立即继续?

以下面的代码为例:

ld2 {v0.16b, v1.16b}[0], [x0]
ld2 {v0.16b, v1.16b}[1], [x1]
ld2 {v0.16b, v1.16b}[2], [x2]
...

第二个负载是否必须等待上一个负载完成,还是可以立即继续?

我正在处理需要从256个16位条目表中堆放的图像数据,并且我想使用neon对其进行进一步处理。不幸的是,由于表的大小,tbl指令不是一个选项,因为它将占用所有32个寄存器。首先使用arm进行查找,然后将结果合并并传输到4个64位寄存器中,会更快吗?

如果有帮助,我的目标是Cortex-A57。

回帖(1)

夏日余晖

2022-8-16 15:24:39
您可能要使用PMU来衡量您的特定示例:

“ Cortex-A57中的性能监视器单元(PMU)可用于确定何时真正发生寄存器转发危险。已将实现定义的PMU事件编号0x12C(DISP_SWDW_STALL)分配为计算由于这些危险而停滞所花费的周期数。 ”
举报

更多回帖

发帖
×
20
完善资料,
赚取积分