Arm 霓虹灯64位aarch64:关于ld4r的困惑

Arm 霓虹灯64位aarch64:关于ld4r的困惑,arm,64-bit,neon,Arm,64 Bit,Neon,我对AARC64中的新ld4r指令感到困惑 以下代码(将相同的4个32位值加载到v[20-23]): 似乎相当于以下代码: 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个车道上复制吗?似乎ld4r只加

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

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

似乎相当于以下代码:

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个车道上复制吗?

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

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