(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.target/
i386/
sse4_1-pr93078.c
       1  /* PR target/93078 */
       2  /* { dg-do compile } */
       3  /* { dg-options "-O2 -ftree-vectorize -msse4.1 -mno-sse4.2 -masm=att" } */
       4  /* { dg-final { scan-assembler "roundps\[ \t]\+\\\$12," } } */
       5  /* { dg-final { scan-assembler "roundps\[ \t]\+\\\$4," } } */
       6  /* { dg-final { scan-assembler "roundpd\[ \t]\+\\\$12," } } */
       7  /* { dg-final { scan-assembler "roundpd\[ \t]\+\\\$4," } } */
       8  
       9  float a[16], b[16];
      10  double c[8], d[8];
      11  
      12  void
      13  foo (void)
      14  {
      15    int i;
      16    for (i = 0; i < 16; ++i)
      17      b[i] = __builtin_nearbyintf (a[i]);
      18  }
      19  
      20  void
      21  bar (void)
      22  {
      23    int i;
      24    for (i = 0; i < 16; ++i)
      25      b[i] = __builtin_rintf (a[i]);
      26  }
      27  
      28  void
      29  baz (void)
      30  {
      31    int i;
      32    for (i = 0; i < 8; ++i)
      33      d[i] = __builtin_nearbyint (c[i]);
      34  }
      35  
      36  void
      37  qux (void)
      38  {
      39    int i;
      40    for (i = 0; i < 8; ++i)
      41      d[i] = __builtin_rint (c[i]);
      42  }