diff --git a/src/vector.h b/src/vector.h index 722a4d9d0457aa480a30e9e3ebb8cd34cf4117c9..395d7d32e220215ff8ce1ae4b61a98f2fa28f0f6 100644 --- a/src/vector.h +++ b/src/vector.h @@ -84,10 +84,10 @@ #define vec_and(a, b) _mm512_and_ps(a, b) #define vec_mask_and(a, b) _mm512_kand(a, b) #define vec_and_mask(a, mask) _mm512_maskz_mov_ps(mask, a) -#define vec_init_mask_true(mask) mask = 0xFFFF -#define vec_zero_mask(mask) mask = 0 -#define vec_create_mask(mask, cond) mask = cond -#define vec_pad_mask(mask, pad) mask = mask >> (pad) +#define vec_init_mask_true(mask) ({mask = 0xFFFF}) +#define vec_zero_mask(mask) ({mask = 0}) +#define vec_create_mask(mask, cond) ({mask = cond}) +#define vec_pad_mask(mask, pad) ({mask = mask >> (pad)}) #define vec_blend(mask, a, b) _mm512_mask_blend_ps(mask, a, b) #define vec_todbl_lo(a) _mm512_cvtps_pd(_mm512_extract128_ps(a, 0)) #define vec_todbl_hi(a) _mm512_cvtps_pd(_mm512_extract128_ps(a, 1))