首页 > 解决方案 > 手臂霓虹灯 - 将 32x4x2 分成两个 32x4

问题描述

我是 Arm 和 Neon 的新手。

我想将 int32x4x2_t A 分成两个 int32x4_t B1,int32x4_t B2。

所以,如果 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);

但它不起作用。

我该如何解决?

标签: armneon

解决方案


int32x4x2_t真的只是一个看起来像的结构

typedef struct int32x4x2_t {
  int32x4_t val[2];
} int32x4x2_t;

所以你所要做的就是

B1 = A.val[0];
B2 = A.val[1];

推荐阅读