霓虹灯-使用vld1q_s32从数组中加载一个元素

时间:2020-06-21 07:39:44

标签: arm neon

我想要使用Neon使用vld1q_s32从数组中加载一个元素。

具体来说,如果arr1 = [1、2、3、4],我想将每个元素加载到int32x4_t A0, 顺序不一样。

我想将A0设为[1、1、3、3]。 所以我用

int32x4_t A0;
A0 = vld1q_s32(arr1[0]);
A0+1 = vld1q_s32(arr1[0]);
A0+2 = vld1q_s32(arr1[2]);
A0+3 = vld1q_s32(arr1[2]);

但是没有用。 我该如何解决? 不使用vld1q_s32是可以的。

谢谢。

1 个答案:

答案 0 :(得分:0)

您可以按原样加载数据,然后将向量与自身进行转置:

A0 = vld1q_s32(arr1);
A0 = vtrn1q_s32(A0, A0);
相关问题