(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.target/
i386/
avx512f-pr96891-1.c
       1  /* { dg-do compile } */
       2  /* { dg-options "-mavx512vl -O2" } */
       3  /* { dg-final { scan-assembler-not "%k\[0-7\]" } } */
       4  
       5  typedef float v4sf __attribute__ ((vector_size (16)));
       6  typedef float v8sf __attribute__ ((vector_size (32)));
       7  typedef double v2df __attribute__ ((vector_size (16)));
       8  typedef double v4df __attribute__ ((vector_size (32)));
       9  
      10  #define FOO(VTYPE, OPNAME, OP)			\
      11    VTYPE						\
      12    foo_##VTYPE##_##OPNAME (VTYPE a, VTYPE b)	\
      13    {						\
      14      return a OP b;				\
      15    }						\
      16  
      17  FOO (v4sf, eq, ==)
      18  FOO (v4sf, neq, !=)
      19  FOO (v4sf, gt, >)
      20  FOO (v4sf, ge, >=)
      21  FOO (v4sf, lt, <)
      22  FOO (v4sf, le, <=)
      23  FOO (v8sf, eq, ==)
      24  FOO (v8sf, neq, !=)
      25  FOO (v8sf, gt, >)
      26  FOO (v8sf, ge, >=)
      27  FOO (v8sf, lt, <)
      28  FOO (v8sf, le, <=)
      29  FOO (v2df, eq, ==)
      30  FOO (v2df, neq, !=)
      31  FOO (v2df, gt, >)
      32  FOO (v2df, ge, >=)
      33  FOO (v2df, lt, <)
      34  FOO (v2df, le, <=)
      35  FOO (v4df, eq, ==)
      36  FOO (v4df, neq, !=)
      37  FOO (v4df, gt, >)
      38  FOO (v4df, ge, >=)
      39  FOO (v4df, lt, <)
      40  FOO (v4df, le, <=)