1  /* PR target/95046 */
       2  /* { dg-do compile { target { ! ia32 } } } */
       3  /* { dg-options "-O3 -mavx512vl" } */
       4  
       5  
       6  double r[2];
       7  int s[2];
       8  unsigned int u[2];
       9  
      10  void
      11  test_float (void)
      12  {
      13    for (int i = 0; i < 2; i++)
      14      r[i] = s[i];
      15  }
      16  
      17  /* { dg-final { scan-assembler "\tvcvtdq2pd" } } */
      18  
      19  void
      20  test_ufloat (void)
      21  {
      22    for (int i = 0; i < 2; i++)
      23      r[i] = u[i];
      24  }
      25  
      26  /* { dg-final { scan-assembler "\tvcvtudq2pd" } } */
      27  
      28  void
      29  test_fix (void)
      30  {
      31    for (int i = 0; i < 2; i++)
      32      s[i] = r[i];
      33  }
      34  
      35  /* { dg-final { scan-assembler "\tvcvttpd2dqx" } } */
      36  
      37  void
      38  test_ufix (void)
      39  {
      40    for (int i = 0; i < 2; i++)
      41      u[i] = r[i];
      42  }
      43  
      44  /* { dg-final { scan-assembler "\tvcvttpd2udqx" } } */