blob: 12572084856d8d77c9df4971605d237e1831c8e7 [file] [log] [blame]
/* Test the __rint[32,64][z,x] intrinsics. */
/* { dg-do compile } */
/* { dg-options "-O2 -march=armv8.5-a" } */
#include <arm_acle.h>
#ifdef __ARM_FEATURE_FRINT
float
foo_32z_f32_scal (float a)
{
return __rint32zf (a);
}
/* { dg-final { scan-assembler-times "frint32z\ts\[0-9\]+, s\[0-9\]+\n" 1 } } */
double
foo_32z_f64_scal (double a)
{
return __rint32z (a);
}
/* { dg-final { scan-assembler-times "frint32z\td\[0-9\]+, d\[0-9\]+\n" 1 } } */
float
foo_32x_f32_scal (float a)
{
return __rint32xf (a);
}
/* { dg-final { scan-assembler-times "frint32x\ts\[0-9\]+, s\[0-9\]+\n" 1 } } */
double
foo_32x_f64_scal (double a)
{
return __rint32x (a);
}
/* { dg-final { scan-assembler-times "frint32x\td\[0-9\]+, d\[0-9\]+\n" 1 } } */
float
foo_64z_f32_scal (float a)
{
return __rint64zf (a);
}
/* { dg-final { scan-assembler-times "frint64z\ts\[0-9\]+, s\[0-9\]+\n" 1 } } */
double
foo_64z_f64_scal (double a)
{
return __rint64z (a);
}
/* { dg-final { scan-assembler-times "frint64z\td\[0-9\]+, d\[0-9\]+\n" 1 } } */
float
foo_64x_f32_scal (float a)
{
return __rint64xf (a);
}
/* { dg-final { scan-assembler-times "frint64x\ts\[0-9\]+, s\[0-9\]+\n" 1 } } */
double
foo_64x_f64_scal (double a)
{
return __rint64x (a);
}
/* { dg-final { scan-assembler-times "frint64x\td\[0-9\]+, d\[0-9\]+\n" 1 } } */
#endif