|
|
@ -258,19 +258,19 @@ void srslte_vec_neg_bbb_simd(const int8_t* x, const int8_t* y, int8_t* z, const
|
|
|
|
#if SRSLTE_SIMD_B_SIZE
|
|
|
|
#if SRSLTE_SIMD_B_SIZE
|
|
|
|
if (SRSLTE_IS_ALIGNED(x) && SRSLTE_IS_ALIGNED(y) && SRSLTE_IS_ALIGNED(z)) {
|
|
|
|
if (SRSLTE_IS_ALIGNED(x) && SRSLTE_IS_ALIGNED(y) && SRSLTE_IS_ALIGNED(z)) {
|
|
|
|
for (; i < len - SRSLTE_SIMD_B_SIZE + 1; i += SRSLTE_SIMD_B_SIZE) {
|
|
|
|
for (; i < len - SRSLTE_SIMD_B_SIZE + 1; i += SRSLTE_SIMD_B_SIZE) {
|
|
|
|
simd_s_t a = srslte_simd_b_load(&x[i]);
|
|
|
|
simd_b_t a = srslte_simd_b_load(&x[i]);
|
|
|
|
simd_s_t b = srslte_simd_b_load(&y[i]);
|
|
|
|
simd_b_t b = srslte_simd_b_load(&y[i]);
|
|
|
|
|
|
|
|
|
|
|
|
simd_s_t r = srslte_simd_b_neg(a, b);
|
|
|
|
simd_b_t r = srslte_simd_b_neg(a, b);
|
|
|
|
|
|
|
|
|
|
|
|
srslte_simd_b_store(&z[i], r);
|
|
|
|
srslte_simd_b_store(&z[i], r);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
} else {
|
|
|
|
} else {
|
|
|
|
for (; i < len - SRSLTE_SIMD_B_SIZE + 1; i += SRSLTE_SIMD_B_SIZE) {
|
|
|
|
for (; i < len - SRSLTE_SIMD_B_SIZE + 1; i += SRSLTE_SIMD_B_SIZE) {
|
|
|
|
simd_s_t a = srslte_simd_b_loadu(&x[i]);
|
|
|
|
simd_b_t a = srslte_simd_b_loadu(&x[i]);
|
|
|
|
simd_s_t b = srslte_simd_b_loadu(&y[i]);
|
|
|
|
simd_b_t b = srslte_simd_b_loadu(&y[i]);
|
|
|
|
|
|
|
|
|
|
|
|
simd_s_t r = srslte_simd_b_neg(a, b);
|
|
|
|
simd_b_t r = srslte_simd_b_neg(a, b);
|
|
|
|
|
|
|
|
|
|
|
|
srslte_simd_b_storeu(&z[i], r);
|
|
|
|
srslte_simd_b_storeu(&z[i], r);
|
|
|
|
}
|
|
|
|
}
|
|
|
|