https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69135
--- Comment #4 from cctsai57 <cctsai57 at gmail dot com> --- Following gcc/testsuite/gcc.target/arm/{lceil-vcvt_1.c,lfloor-vcvt_1.c,lround-vcvt_1.c}, suggest: /* { dg-do compile } */ /* { dg-require-effective-target arm_v8_vfp_ok } */ /* { dg-options "-O2 -march=armv8-a -ffast-math" } */ /* { dg-add-options arm_v8_vfp } */ int global; void lceil_float (float x, int b) { if (b) global = __builtin_lceilf (x); /* { dg-final { scan-assembler-times "vcvtp.s32.f32\ts\[0-9\]+, s\[0-9\]+" 1 } } */ } void lceil_double (double x, int b) { if (b) global = __builtin_lceil (x); /* { dg-final { scan-assembler-times "vcvtp.s32.f64\ts\[0-9\]+, d\[0-9\]+" 1 } } */ } void lfloor_float (float x, int b) { if (b) global = __builtin_lfloorf (x); /* { dg-final { scan-assembler-times "vcvtm.s32.f32\ts\[0-9\]+, s\[0-9\]+" 1 } } */ } void lfloor_double (double x, int b) { if (b) global = __builtin_lfloor (x); /* { dg-final { scan-assembler-times "vcvtm.s32.f64\ts\[0-9\]+, d\[0-9\]+" 1 } } */ } void lround_float (float x, int b) { if (b) global = __builtin_lroundf (x); /* { dg-final { scan-assembler-times "vcvta.s32.f32\ts\[0-9\]+, s\[0-9\]+" 1 } } */ } void lround_double (double x, int b) { if (b) global = __builtin_lround (x); /* { dg-final { scan-assembler-times "vcvta.s32.f64\ts\[0-9\]+, d\[0-9\]+" 1 } } */ }