1  /* Test the __rint[32,64][z,x] intrinsics.  */
       2  
       3  /* { dg-do compile } */
       4  /* { dg-options "-O2 -march=armv8.5-a" } */
       5  
       6  #include <arm_acle.h>
       7  
       8  #ifdef __ARM_FEATURE_FRINT
       9  float
      10  foo_32z_f32_scal (float a)
      11  {
      12    return __rint32zf (a);
      13  }
      14  
      15  /* { dg-final { scan-assembler-times "frint32z\ts\[0-9\]+, s\[0-9\]+\n" 1 } } */
      16  
      17  double
      18  foo_32z_f64_scal (double a)
      19  {
      20    return __rint32z (a);
      21  }
      22  
      23  /* { dg-final { scan-assembler-times "frint32z\td\[0-9\]+, d\[0-9\]+\n" 1 } } */
      24  
      25  float
      26  foo_32x_f32_scal (float a)
      27  {
      28    return __rint32xf (a);
      29  }
      30  
      31  /* { dg-final { scan-assembler-times "frint32x\ts\[0-9\]+, s\[0-9\]+\n" 1 } } */
      32  
      33  double
      34  foo_32x_f64_scal (double a)
      35  {
      36    return __rint32x (a);
      37  }
      38  
      39  /* { dg-final { scan-assembler-times "frint32x\td\[0-9\]+, d\[0-9\]+\n" 1 } } */
      40  
      41  float
      42  foo_64z_f32_scal (float a)
      43  {
      44    return __rint64zf (a);
      45  }
      46  
      47  /* { dg-final { scan-assembler-times "frint64z\ts\[0-9\]+, s\[0-9\]+\n" 1 } } */
      48  
      49  double
      50  foo_64z_f64_scal (double a)
      51  {
      52    return __rint64z (a);
      53  }
      54  
      55  /* { dg-final { scan-assembler-times "frint64z\td\[0-9\]+, d\[0-9\]+\n" 1 } } */
      56  
      57  float
      58  foo_64x_f32_scal (float a)
      59  {
      60    return __rint64xf (a);
      61  }
      62  
      63  /* { dg-final { scan-assembler-times "frint64x\ts\[0-9\]+, s\[0-9\]+\n" 1 } } */
      64  
      65  double
      66  foo_64x_f64_scal (double a)
      67  {
      68    return __rint64x (a);
      69  }
      70  
      71  /* { dg-final { scan-assembler-times "frint64x\td\[0-9\]+, d\[0-9\]+\n" 1 } } */
      72  
      73  #endif