The new round_32.c and round_64.c tests depend on the optimizers to recognize
the conversions feeding the floor/ceil calls and convert them into ceilf,
floorf and the like.
Those transformations only occur when the target indicates the C library has
the appropriate routines (fnclass == function_c99_misc). While newlib has
these routines, they are not exposed as available to the compiler and thus the
transformation the tests depend on do not happen. Naturally the scan-tests then
fail.
gcc/testsuite
* gcc.target/riscv/round_32.c: Add require-effective-target glibc.
* gcc.target/riscv/round_64.c: Likewise.
/* { dg-do compile { target { riscv32*-*-* } } } */
+/* { dg-require-effective-target glibc } */
/* { dg-options "-march=rv32gc -mabi=ilp32d -fno-math-errno -funsafe-math-optimizations -fno-inline" } */
/* { dg-skip-if "" { *-*-* } { "-O0" "-Og" } } */
/* { dg-do compile { target { riscv64*-*-* } } } */
+/* { dg-require-effective-target glibc } */
/* { dg-options "-march=rv64gc -mabi=lp64d -fno-math-errno -funsafe-math-optimizations -fno-inline" } */
/* { dg-skip-if "" { *-*-* } { "-O0" "-Og" } } */