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 <[email protected]>
* 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: [email protected], 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. */