我想要使用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是可以的。
谢谢。
答案 0 :(得分:0)
您可以按原样加载数据,然后将向量与自身进行转置:
A0 = vld1q_s32(arr1);
A0 = vtrn1q_s32(A0, A0);