182899Sjake/* { dg-do compile } */ 282899Sjake/* { dg-options "-mavx512vl -O2" } */ 380708Sjake/* { dg-final { scan-assembler-times "vpmovsxbq\[ \\t\]+\[^\{\n\]*%xmm\[0-9\]+\[^\n\]*%ymm\[0-9\]+\{%k\[1-7\]\}(?:\n|\[ \\t\]+#)" 1 } } */ 480708Sjake/* { dg-final { scan-assembler-times "vpmovsxbq\[ \\t\]+\[^\{\n\]*%xmm\[0-9\]+\[^\n\]*%xmm\[0-9\]+\{%k\[1-7\]\}(?:\n|\[ \\t\]+#)" 1 } } */ 582899Sjake/* { dg-final { scan-assembler-times "vpmovsxbq\[ \\t\]+\[^\{\n\]*%xmm\[0-9\]+\[^\n\]*%ymm\[0-9\]+\{%k\[1-7\]\}\{z\}(?:\n|\[ \\t\]+#)" 1 } } */ 682899Sjake/* { dg-final { scan-assembler-times "vpmovsxbq\[ \\t\]+\[^\{\n\]*%xmm\[0-9\]+\[^\n\]*%xmm\[0-9\]+\{%k\[1-7\]\}\{z\}(?:\n|\[ \\t\]+#)" 1 } } */ 782899Sjake 882899Sjake#include <immintrin.h> 980708Sjake 1080708Sjakevolatile __m128i s, res2; 1180708Sjakevolatile __m256i res1; 1280708Sjakevolatile __mmask8 m; 1380708Sjake 1480708Sjakevoid extern 1580708Sjakeavx512vl_test (void) 1680708Sjake{ 1782899Sjake res1 = _mm256_mask_cvtepi8_epi64 (res1, m, s); 1882899Sjake res2 = _mm_mask_cvtepi8_epi64 (res2, m, s); 1982899Sjake 2082899Sjake res1 = _mm256_maskz_cvtepi8_epi64 (m, s); 2182899Sjake res2 = _mm_maskz_cvtepi8_epi64 (m, s); 2282899Sjake} 2382899Sjake