These patches fix the tests in the testsuite that check whether -mno-float128 works properly. In these cases, I explicitly run them with long double being set to IBM extended double.
I have tested these on a little endian power8 system using two builds with long double being set to IEEE and IBM 128-bit floating point. These tests now pass when long double is set to IEEE 128-bit floating point. Can I check these into the trunk and back port them to GCC 8.x? [gcc/testsuite] 2018-06-20 Michael Meissner <meiss...@linux.ibm.com> * gcc.target/powerpc/float128-3.c: Change tests that test for errors in enabling/disable IEEE 128-bit floating point use the -mabi=ibmlongdouble to force long double to be IBM extended. * gcc.target/powerpc/float128-5.c: Likewise. * gcc.target/powerpc/float128-mix.c: Likewise. -- Michael Meissner, IBM IBM, M/S 2506R, 550 King Street, Littleton, MA 01460-6245, USA email: meiss...@linux.ibm.com, phone: +1 (978) 899-4797
Index: gcc/testsuite/gcc.target/powerpc/float128-3.c =================================================================== --- gcc/testsuite/gcc.target/powerpc/float128-3.c (revision 261755) +++ gcc/testsuite/gcc.target/powerpc/float128-3.c (working copy) @@ -1,8 +1,10 @@ /* { dg-do compile { target { powerpc*-*-linux* } } } */ /* { dg-require-effective-target powerpc_vsx_ok } */ -/* { dg-options "-O2 -mvsx -mno-float128" } */ +/* { dg-options "-O2 -mvsx -mno-float128 -mabi=ibmlongdouble -Wno-psabi" } */ -/* Test that we can use #pragma GCC target to enable -mfloat128. */ +/* Test that we can use #pragma GCC target to enable -mfloat128. This depends + on the long double format being IBM extended double in order to enable or + disable IEEE 128-bit floating point. */ #ifdef __FLOAT128__ #error "-mno-float128 should disable initially defining __FLOAT128__" Index: gcc/testsuite/gcc.target/powerpc/float128-5.c =================================================================== --- gcc/testsuite/gcc.target/powerpc/float128-5.c (revision 261755) +++ gcc/testsuite/gcc.target/powerpc/float128-5.c (working copy) @@ -1,6 +1,6 @@ /* { dg-do compile { target { powerpc*-*-linux* && lp64 } } } */ /* { dg-require-effective-target powerpc_p9vector_ok } */ -/* { dg-options "-O2 -mpower9-vector -mno-float128" } */ +/* { dg-options "-O2 -mpower9-vector -mno-float128 -mabi=ibmlongdouble -Wno-psabi" } */ /* Test that we can use #pragma GCC target to enable -mfloat128 and generate code on ISA 3.0 for the float128 built-in functions. Lp64 is required Index: gcc/testsuite/gcc.target/powerpc/float128-mix.c =================================================================== --- gcc/testsuite/gcc.target/powerpc/float128-mix.c (revision 261755) +++ gcc/testsuite/gcc.target/powerpc/float128-mix.c (working copy) @@ -1,6 +1,6 @@ /* { dg-do compile { target { powerpc*-*-linux* } } } */ /* { dg-require-effective-target powerpc_vsx_ok } */ -/* { dg-options "-O2 -mvsx" } */ +/* { dg-options "-O2 -mvsx -mabi=ibmlongdouble -Wno-psabi" } */ /* Test to make sure that __float128 and long double cannot be combined together. */