Skip to content
Snippets Groups Projects
Commit 64532e6a authored by James Willis's avatar James Willis
Browse files

Added support for blending in AVX.

parent 90262c9f
No related branches found
No related tags found
1 merge request!396Avx512 fixes
...@@ -185,6 +185,7 @@ ...@@ -185,6 +185,7 @@
#define vec_zero_mask(mask) mask.v = vec_setzero() #define vec_zero_mask(mask) mask.v = vec_setzero()
#define vec_pad_mask(mask, pad) \ #define vec_pad_mask(mask, pad) \
for (int i = VEC_SIZE - (pad); i < VEC_SIZE; i++) mask.i[i] = 0 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_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_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) #define vec_dbl_tofloat(a, b) _mm256_insertf128(_mm256_castps128_ps256(a), b, 1)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment