diff --git a/src/vector.h b/src/vector.h index 0e92734a6d936c4b7dec51ff679b1a1a184c0820..50142aa9063f2ad45b22b11be4ca9849940c209f 100644 --- a/src/vector.h +++ b/src/vector.h @@ -185,6 +185,7 @@ #define vec_zero_mask(mask) mask.v = vec_setzero() #define vec_pad_mask(mask, pad) \ for (int i = VEC_SIZE - (pad); i < VEC_SIZE; i++) mask.i[i] = 0 +#define vec_blend(mask, a, b) _mm256_blendv_ps(a, b, mask.v) #define vec_todbl_lo(a) _mm256_cvtps_pd(_mm256_extract128_ps(a, 0)) #define vec_todbl_hi(a) _mm256_cvtps_pd(_mm256_extract128_ps(a, 1)) #define vec_dbl_tofloat(a, b) _mm256_insertf128(_mm256_castps128_ps256(a), b, 1)