(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.target/
i386/
pr102464.c
       1  /* PR target/102464.  */
       2  /* { dg-do compile } */
       3  /* { dg-options "-O2 -mavx512fp16 -fno-trapping-math" } */
       4  
       5  #define FOO(FUNC,SUFFIX)                       \
       6    _Float16                                     \
       7    foo_##FUNC##_##SUFFIX (_Float16 a)           \
       8    {                                            \
       9      return __builtin_##FUNC##SUFFIX (a);       \
      10    }
      11  
      12  FOO (roundeven, f16);
      13  FOO (roundeven, f);
      14  FOO (roundeven, );
      15  FOO (roundeven, l);
      16  FOO (trunc, f16);
      17  FOO (trunc, f);
      18  FOO (trunc, );
      19  FOO (trunc, l);
      20  FOO (ceil, f16);
      21  FOO (ceil, f);
      22  FOO (ceil, );
      23  FOO (ceil, l);
      24  FOO (floor, f16);
      25  FOO (floor, f);
      26  FOO (floor, );
      27  FOO (floor, l);
      28  FOO (nearbyint, f16);
      29  FOO (nearbyint, f);
      30  FOO (nearbyint, );
      31  FOO (nearbyint, l);
      32  FOO (rint, f16);
      33  FOO (rint, f);
      34  FOO (rint, );
      35  FOO (rint, l);
      36  
      37  /* { dg-final { scan-assembler-not "vcvtsh2s\[sd\]" } } */
      38  /* { dg-final { scan-assembler-not "extendhfxf" } } */
      39  /* { dg-final { scan-assembler-times "vrndscalesh\[^\n\r\]*xmm\[0-9\]" 24 } } */