arm neon - 将 32x4x2 分成两个 32x4
arm neon - divide 32x4x2 into two 32x4
我是 Arm 和 Neon 的新手。
我想把int32x4x2_tA分成两个int32x4_tB1,int32x4_tB2。
所以,如果 A = [1 2 3 4; 5 6 7 8],我想让 B1 变成 [1 2 3 4],B2 变成 [5 6 7 8]
我试过了
B1 = vld1q_s32(A);
B2 = vld1q_s32(A+4);
但是不行。
我该如何解决?
int32x4x2_t
实际上只是一个看起来像
的结构
typedef struct int32x4x2_t {
int32x4_t val[2];
} int32x4x2_t;
所以你所要做的就是
B1 = A.val[0];
B2 = A.val[1];
我是 Arm 和 Neon 的新手。
我想把int32x4x2_tA分成两个int32x4_tB1,int32x4_tB2。
所以,如果 A = [1 2 3 4; 5 6 7 8],我想让 B1 变成 [1 2 3 4],B2 变成 [5 6 7 8]
我试过了
B1 = vld1q_s32(A);
B2 = vld1q_s32(A+4);
但是不行。
我该如何解决?
int32x4x2_t
实际上只是一个看起来像
typedef struct int32x4x2_t {
int32x4_t val[2];
} int32x4x2_t;
所以你所要做的就是
B1 = A.val[0];
B2 = A.val[1];