(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.target/
i386/
avx512f-pr96891-2.c
       1  /* { dg-do compile } */
       2  /* { dg-options "-mavx512vl -mavx512bw -mavx512dq -O2" } */
       3  /* { dg-final { scan-assembler-not "%k\[0-7\]" } } */
       4  
       5  #include<immintrin.h>
       6  
       7  #define FOO(VTYPE,PREFIX,SUFFIX,OPNAME,MASK,LEN)			\
       8    VTYPE								\
       9    foo_##LEN##_##SUFFIX##_##OPNAME (VTYPE a, VTYPE b)		\
      10    {									\
      11      MASK m = _mm##PREFIX##_cmp##OPNAME##_##SUFFIX##_mask (a, b);	\
      12      return _mm##PREFIX##_movm_##SUFFIX (m);				\
      13    }									\
      14  
      15  FOO (__m128i,, epi8, eq, __mmask16, 128);
      16  FOO (__m128i,, epi16, eq, __mmask8, 128);
      17  FOO (__m128i,, epi32, eq, __mmask8, 128);
      18  FOO (__m128i,, epi64, eq, __mmask8, 128);
      19  FOO (__m128i,, epi8, gt, __mmask16, 128);
      20  FOO (__m128i,, epi16, gt, __mmask8, 128);
      21  FOO (__m128i,, epi32, gt, __mmask8, 128);
      22  FOO (__m128i,, epi64, gt, __mmask8, 128);
      23  FOO (__m256i, 256, epi8, eq, __mmask32, 256);
      24  FOO (__m256i, 256, epi16, eq, __mmask16, 256);
      25  FOO (__m256i, 256, epi32, eq, __mmask8, 256);
      26  FOO (__m256i, 256, epi64, eq, __mmask8, 256);
      27  FOO (__m256i, 256, epi8, gt, __mmask32, 256);
      28  FOO (__m256i, 256, epi16, gt, __mmask16, 256);
      29  FOO (__m256i, 256, epi32, gt, __mmask8, 256);
      30  FOO (__m256i, 256, epi64, gt, __mmask8, 256);