Message ID | oro813r7v9.fsf_-_@lxoliva.fsfla.org |
---|---|
State | New |
Headers | show |
Series | ppc: testsuite: pr79004 needs -mlong-double-128 (was: Re: ppc: testsuite: prune float128 partial support warnings) | expand |
diff --git a/gcc/testsuite/gcc.target/powerpc/pr79004.c b/gcc/testsuite/gcc.target/powerpc/pr79004.c index e411702dc98a9..061a0e83fe2ad 100644 --- a/gcc/testsuite/gcc.target/powerpc/pr79004.c +++ b/gcc/testsuite/gcc.target/powerpc/pr79004.c @@ -1,6 +1,6 @@ /* { dg-do compile { target { powerpc*-*-* && lp64 } } } */ /* { dg-require-effective-target powerpc_p9vector_ok } */ -/* { dg-options "-mdejagnu-cpu=power9 -O2 -mfloat128" } */ +/* { dg-options "-mdejagnu-cpu=power9 -O2 -mfloat128 -mlong-double-128" } */ /* { dg-prune-output ".-mfloat128. option may not be fully supported" } */ #include <math.h>
On Apr 13, 2022, Alexandre Oliva <oliva@adacore.com> wrote: > * gcc.target/powerpc/pr79004.c: Prune the -mfloat128 warning. I failed to mention that this fixed a problem in the test, but that was not enough for this test to pass; here's an incremental patch that is. Some of the asm opcodes expected by pr79004 depend on -mlong-double-128 to be output. E.g., without this flag, the conditions of patterns @extenddf<mode>2 and extendsf<mode>2 do not hold, and so GCC resorts to libcalls instead of even trying rs6000_expand_float128_convert. Perhaps the conditions are too strict, and they could enable the use of conversion insns involving __ieee128/_Float128 even with 64-bit long doubles. Alas, for now, we need this flag for the test to pass on target variants that use 64-bit long doubles. Tested on x86_64-linux-gnu x ppc64-vx7r2 with gcc-11. Ok to install? for gcc/testsuite/ChangeLog * gcc.target/powerpr/pr79004.c: Add -mlong-double-128. --- gcc/testsuite/gcc.target/powerpc/pr79004.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)