https://gcc.gnu.org/g:ee34ccae9b8a6e949864093fb952eb241a7464ea

commit ee34ccae9b8a6e949864093fb952eb241a7464ea
Author: Alexandre Oliva <ol...@adacore.com>
Date:   Thu Apr 10 16:47:28 2025 -0300

    [testsuite] [ppc] require float128 available for copysign
    
    The rs6000.md copysign<mode>3 expander requires the mode to satisfy
    FLOAT128_IEEE_P, so requiring float128 on ppc for ifn_copysign
    effective target is hopefully a close-enough approximation.
    
    gcc.dg/fold-copysign-1.c and gcc.dg/pr55152-2.c fail on ppc-elf
    without this.
    
    
    for  gcc/testsuite/ChangeLog
    
            * lib/target-supports.exp (check_effective_target_ifn_copysign):
            Require float128 on ppc.

Diff:
---
 gcc/testsuite/lib/target-supports.exp | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/gcc/testsuite/lib/target-supports.exp 
b/gcc/testsuite/lib/target-supports.exp
index ee4138aa6971..1c64472bbc24 100644
--- a/gcc/testsuite/lib/target-supports.exp
+++ b/gcc/testsuite/lib/target-supports.exp
@@ -8379,7 +8379,8 @@ proc check_effective_target_ifn_copysign { } {
          && [is-effective-target sse])
         || ([istarget loongarch*-*-*]
             && [check_effective_target_hard_float])
-        || [istarget powerpc*-*-*]
+        || ([istarget powerpc*-*-*]
+            && [check_ppc_float128_sw_available])
         || [istarget alpha*-*-*]
         || [istarget aarch64*-*-*]
         || [is-effective-target arm_neon]

Reply via email to