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.  */

Reply via email to