![]() |
1
2
NEON仅直接支持步幅高达4的非连续负载(通过VLDn指令,其中n是步幅大小)。由于您的行长度可能比这大得多,所以除了像代码代码那样单独加载每个元素之外,我看不出有什么方法可以做您想要的事情。 但是,如果需要应用此后处理步骤 不 只对第一列,但对所有列,则可以一次处理8列(如果使用Q寄存器,则为16列),而不是单独处理它们。当然,这有多可行取决于你的算法。 理想情况下,您可以进一步增大块大小,并一次处理ss多个列,以适应一个缓存行(如果元素大小为8位,则大多数ARM上为64)。否则,如果您的图像有很多行,那么在处理最后一行时,包含第一行的缓存行将已从缓存中删除,并且必须重新提取它们来处理下一个列块。 |