(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.target/
i386/
avx512f-pr96891-3.c
       1  /* { dg-do compile } */
       2  /* { dg-options "-mavx512vl -mavx512bw -mavx512dq -O2 -masm=att -mstv -mno-stackrealign" } */
       3  /* { dg-final { scan-assembler-not {not[bwlqd]\]} } } */
       4  /* { dg-final { scan-assembler-times {(?n)vpcmp[bwdq][ \t]*\$5} 4} } */
       5  /* { dg-final { scan-assembler-times {(?n)vpcmp[bwdq][ \t]*\$6} 4} } */
       6  /* { dg-final { scan-assembler-times {(?n)vpcmp[bwdq][ \t]*\$7} 4} } */
       7  /* { dg-final { scan-assembler-times {(?n)vcmpp[sd][ \t]*\$5} 2} } */
       8  /* { dg-final { scan-assembler-times {(?n)vcmpp[sd][ \t]*\$6} 2} } */
       9  /* { dg-final { scan-assembler-times {(?n)vcmpp[sd][ \t]*\$7} 2} } */
      10  
      11  #include<immintrin.h>
      12  
      13  #define FOO(VTYPE,PREFIX,SUFFIX,MASK,LEN,CMPIMM)			\
      14    MASK								\
      15    foo_##LEN##_##SUFFIX##_##CMPIMM (VTYPE a, VTYPE b)				\
      16    {									\
      17      MASK m = _mm##PREFIX##_cmp_##SUFFIX##_mask (a, b, CMPIMM);		\
      18      return ~m;								\
      19    }									\
      20  
      21  FOO (__m128i,, epi8, __mmask16, 128, 1);
      22  FOO (__m128i,, epi16, __mmask8, 128, 1);
      23  FOO (__m128i,, epi32, __mmask8, 128, 1);
      24  FOO (__m128i,, epi64, __mmask8, 128, 1);
      25  FOO (__m256i, 256, epi8, __mmask32, 256, 2);
      26  FOO (__m256i, 256, epi16, __mmask16, 256, 2);
      27  FOO (__m256i, 256, epi32, __mmask8, 256, 2);
      28  FOO (__m256i, 256, epi64, __mmask8, 256, 2);
      29  FOO (__m512i, 512, epi8, __mmask64, 512, 3);
      30  FOO (__m512i, 512, epi16, __mmask32, 512, 3);
      31  FOO (__m512i, 512, epi32, __mmask16, 512, 3);
      32  FOO (__m512i, 512, epi64, __mmask8, 512, 3);
      33  
      34  FOO (__m128,, ps, __mmask8, 128, 1);
      35  FOO (__m128d,, pd, __mmask8, 128, 1);
      36  FOO (__m256, 256, ps, __mmask8, 256, 2);
      37  FOO (__m256d, 256, pd, __mmask8, 256, 2);
      38  FOO (__m512, 512, ps, __mmask16, 512, 3);
      39  FOO (__m512d, 512, pd, __mmask8, 512, 3);