霓虹64bit aarch64:关于ld4r的困惑

时间:2017-02-25 22:28:19

标签: arm 64-bit neon

我对aarch64中新的ld4r指令感到困惑。

以下代码(将相同的4个32位值加载到v [20-23]中):

ld1 { v20.4s }, [out1]
ld1 { v21.4s }, [out1]
ld1 { v22.4s }, [out1]
ld1 { v23.4s }, [out1]

似乎等同于以下代码:

ld1 { v20.4s }, [out1]
mov v21.16b, v20.16b
mov v22.16b, v20.16b
mov v23.16b, v20.16b

但它似乎不等同于以下行:

ld4r { v20.4s, v21.4s, v22.4s, v23.4s }, [out1]

我误读了ld4r指令吗?是不是应该复制超过4个车道?

1 个答案:

答案 0 :(得分:0)

似乎ld4r只加载一个4元素结构,并在SAME通道上复制它。这不是通道到通道的复制。