我在 Android JNI 上使用 Neon 实现了一个算法。当我想将向量添加在一起时,我注意到有两种类型的方法,我无法发现差异。
// pairwise addition
int8x8_t vpadd_s8(int8x8_t a, int8x8_t b); // VPADD.I8 d0,d0,d0
// addition
int8x8_t vadd_s8(int8x8_t a, int8x8_t b); // VADD.I8 d0,d0,d0
第二个做你所期望的。它获取 a 中的第 i 个 int8 并将其添加到 b 中的第 i 个 int8 中。为什么是这两种方法?