1  /* { dg-do compile } */
       2  /* { dg-options "-Ofast -mavx512fp16" } */
       3  
       4  int
       5  f1 (_Float16 x, _Float16 y)
       6  {
       7    return x > y;
       8  }
       9  
      10  int
      11  f2 (_Float16 x, _Float16 y)
      12  {
      13    return x < y;
      14  }
      15  
      16  /* { dg-final { scan-assembler-times "seta" 2 } } */
      17  
      18  int
      19  f3 (_Float16 x, _Float16 y)
      20  {
      21    return x >= y;
      22  }
      23  
      24  int
      25  f4 (_Float16 x, _Float16 y)
      26  {
      27    return x <= y;
      28  }
      29  
      30  /* { dg-final { scan-assembler-times "setnb" 2 } } */
      31  
      32  int
      33  f5 (_Float16 x, _Float16 y)
      34  {
      35    return __builtin_isunordered (x, y);
      36  }
      37  
      38  /* { dg-final { scan-assembler-not "vcvtsh2s\[sd\]" } }  */
      39  /* { dg-final { scan-assembler-times "xorl" 5 } } */
      40  /* { dg-final { scan-assembler-times "vcomish\[^\n\r\]*xmm\[0-9\]" 4 } } */