@@ -34,6 +34,7 @@ struct ymm_vector<float> {
3434 using opmask_t = __mmask8;
3535 static const uint8_t numlanes = 8 ;
3636 static constexpr simd_type vec_type = simd_type::AVX512;
37+ using swizzle_ops = avx512_ymm_64bit_swizzle_ops;
3738
3839 using swizzle_ops = avx512_ymm_64bit_swizzle_ops;
3940
@@ -210,6 +211,9 @@ struct ymm_vector<float> {
210211 {
211212 return _mm256_castps_si256 (v);
212213 }
214+ static bool all_false (opmask_t k){
215+ return k == 0 ;
216+ }
213217 static reg_t reverse (reg_t ymm)
214218 {
215219 const __m256i rev_index = _mm256_set_epi32 (NETWORK_32BIT_AVX2_2);
@@ -232,6 +236,7 @@ struct ymm_vector<uint32_t> {
232236 using opmask_t = __mmask8;
233237 static const uint8_t numlanes = 8 ;
234238 static constexpr simd_type vec_type = simd_type::AVX512;
239+ using swizzle_ops = avx512_ymm_64bit_swizzle_ops;
235240
236241 using swizzle_ops = avx512_ymm_64bit_swizzle_ops;
237242
@@ -394,6 +399,9 @@ struct ymm_vector<uint32_t> {
394399 {
395400 return v;
396401 }
402+ static bool all_false (opmask_t k){
403+ return k == 0 ;
404+ }
397405 static reg_t reverse (reg_t ymm)
398406 {
399407 const __m256i rev_index = _mm256_set_epi32 (NETWORK_32BIT_AVX2_2);
@@ -416,6 +424,7 @@ struct ymm_vector<int32_t> {
416424 using opmask_t = __mmask8;
417425 static const uint8_t numlanes = 8 ;
418426 static constexpr simd_type vec_type = simd_type::AVX512;
427+ using swizzle_ops = avx512_ymm_64bit_swizzle_ops;
419428
420429 using swizzle_ops = avx512_ymm_64bit_swizzle_ops;
421430
@@ -578,6 +587,9 @@ struct ymm_vector<int32_t> {
578587 {
579588 return v;
580589 }
590+ static bool all_false (opmask_t k){
591+ return k == 0 ;
592+ }
581593 static reg_t reverse (reg_t ymm)
582594 {
583595 const __m256i rev_index = _mm256_set_epi32 (NETWORK_32BIT_AVX2_2);
0 commit comments