Можно ли устанавливать разные значения для нескольких дорожек вектора одновременно, используя ARM NEON Intrinsics?
Например, вместо того, чтобы делать как
int32x2_t a, b, c, d, e, f;
.......... a few other operations...................
int *val;
...............val is pointing to another variable......
for(int i=0;i<var1;i++)
{
a = vset_lane_s32(val1[i], a, 0);
a = vset_lane_s32(val2[i], a, 1);
b = vset_lane_s32(val3[i], b, 0);
b = vset_lane_s32(val4[i], b, 1);
c = vset_lane_s32(val5[i], c, 0);
c = vset_lane_s32(val6[i], c, 1);
d = vset_lane_s32(val7[i], d, 0);
d = vset_lane_s32(val8[i], d, 1);
few operations based on a,b,c, and d
}
Значения из val1 в val7 меняются в каждой итерации l oop. Есть ли другой оптимальный способ инициализации?