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. Regstrapped on powerpc64le-linux-gnu. Also tested with gcc-14 on x86_64-linux-x-powerpc-elf. Ok to install? for gcc/testsuite/ChangeLog * lib/target-supports.exp (check_effective_target_ifn_copysign): Require float128 on ppc. --- 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 ee4138aa69714..1c64472bbc241 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] -- Alexandre Oliva, happy hacker https://blog.lx.oliva.nom.br/ Free Software Activist FSFLA co-founder GNU Toolchain Engineer More tolerance and less prejudice are key for inclusion and diversity. Excluding neuro-others for not behaving ""normal"" is *not* inclusive!