public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
* [committed] [RISC-V] Don't run new rounding tests on newlib risc-v targets
@ 2024-05-02 14:44 Jeff Law
  0 siblings, 0 replies; only message in thread
From: Jeff Law @ 2024-05-02 14:44 UTC (permalink / raw)
  To: gcc-patches

[-- Attachment #1: Type: text/plain, Size: 554 bytes --]


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.

Pushing to the trunk & the coordination branch.

jeff


[-- Attachment #2: P --]
[-- Type: text/plain, Size: 1908 bytes --]

commit 1e29da0b6508b23a7a6b14a7fb643b917a195003
Author: Jeff Law <jlaw@ventanamicro.com>
Date:   Thu May 2 08:42:32 2024 -0600

    [committed] [RISC-V] Don't run new rounding tests on newlib risc-v targets
    
    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.

diff --git a/gcc/testsuite/gcc.target/riscv/round_32.c b/gcc/testsuite/gcc.target/riscv/round_32.c
index f9fea70ad55..88ff77aff2e 100644
--- a/gcc/testsuite/gcc.target/riscv/round_32.c
+++ b/gcc/testsuite/gcc.target/riscv/round_32.c
@@ -1,4 +1,5 @@
 /* { 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" } } */
 
diff --git a/gcc/testsuite/gcc.target/riscv/round_64.c b/gcc/testsuite/gcc.target/riscv/round_64.c
index e79690979a5..5e13bccdcd2 100644
--- a/gcc/testsuite/gcc.target/riscv/round_64.c
+++ b/gcc/testsuite/gcc.target/riscv/round_64.c
@@ -1,4 +1,5 @@
 /* { 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" } } */
 

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2024-05-02 14:44 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-05-02 14:44 [committed] [RISC-V] Don't run new rounding tests on newlib risc-v targets Jeff Law

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).