From d0ab3aaa2e722ac3cbbcb5b94d6a3cba538ed04d Mon Sep 17 00:00:00 2001 From: Recep Aslantas Date: Fri, 7 May 2021 01:46:03 +0300 Subject: [PATCH] arm, neon: util macros --- include/cglm/simd/arm.h | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/include/cglm/simd/arm.h b/include/cglm/simd/arm.h index e943ce3..d0c4bc3 100644 --- a/include/cglm/simd/arm.h +++ b/include/cglm/simd/arm.h @@ -29,6 +29,15 @@ vreinterpretq_f32_s32(veorq_s32(vreinterpretq_s32_f32(a), \ vreinterpretq_s32_f32(b))) +#define glmm_swplane(v) vextq_f32(v, v, 2) +#define glmm_low(x) vget_low_f32(x) +#define glmm_high(x) vget_high_f32(x) + +#define glmm_combine_ll(x, y) vcombine_f32(vget_low_f32(x), vget_low_f32(y)) +#define glmm_combine_hl(x, y) vcombine_f32(vget_high_f32(x), vget_low_f32(y)) +#define glmm_combine_lh(x, y) vcombine_f32(vget_low_f32(x), vget_high_f32(y)) +#define glmm_combine_hh(x, y) vcombine_f32(vget_high_f32(x), vget_high_f32(y)) + static inline float32x4_t glmm_abs(float32x4_t v) {