28#ifndef INCLUDE_VOLK_VOLK_SSE_INTRINSICS_H_
29#define INCLUDE_VOLK_VOLK_SSE_INTRINSICS_H_
34 __m128 iValue, qValue;
36 iValue = _mm_shuffle_ps(cplxValue1, cplxValue2, _MM_SHUFFLE(2, 0, 2, 0));
38 qValue = _mm_shuffle_ps(cplxValue1, cplxValue2, _MM_SHUFFLE(3, 1, 3, 1));
39 iValue = _mm_mul_ps(iValue, iValue);
40 qValue = _mm_mul_ps(qValue, qValue);
41 return _mm_add_ps(iValue, qValue);
50 const __m128 symbols1,
56 const __m128 diff0 = _mm_sub_ps(symbols0, points0);
57 const __m128 diff1 = _mm_sub_ps(symbols1, points1);
59 return _mm_mul_ps(norms, scalar);
63 __m128 sq_acc, __m128 acc, __m128
val, __m128 rec, __m128 aux)
65 aux = _mm_mul_ps(aux,
val);
66 aux = _mm_sub_ps(aux, acc);
67 aux = _mm_mul_ps(aux, aux);
68 aux = _mm_mul_ps(aux, rec);
69 return _mm_add_ps(sq_acc, aux);
val
Definition: volk_arch_defs.py:66
static __m128 _mm_magnitudesquared_ps(__m128 cplxValue1, __m128 cplxValue2)
Definition: volk_sse_intrinsics.h:32
static __m128 _mm_accumulate_square_sum_ps(__m128 sq_acc, __m128 acc, __m128 val, __m128 rec, __m128 aux)
Definition: volk_sse_intrinsics.h:62
static __m128 _mm_scaled_norm_dist_ps_sse(const __m128 symbols0, const __m128 symbols1, const __m128 points0, const __m128 points1, const __m128 scalar)
Definition: volk_sse_intrinsics.h:49
static __m128 _mm_magnitude_ps(__m128 cplxValue1, __m128 cplxValue2)
Definition: volk_sse_intrinsics.h:44