This patch adds a test to make sure __float128 and __ibm128 are not allowed to be combined in binary operations. I re-ran the test suite on power8 little endian, and this test passed. Once the preceeding 16 patches are applied to the tree, is this patch ok to commit into trunk?
2015-10-27 Michael Meissner <meiss...@linux.vnet.ibm.com> * gcc.target/powerpc/float128-mix.c: New test for IEEE 128-bit floating point. -- Michael Meissner, IBM IBM, M/S 2506R, 550 King Street, Littleton, MA 01460-6245, USA email: meiss...@linux.vnet.ibm.com, phone: +1 (978) 899-4797
Index: gcc/testsuite/gcc.target/powerpc/float128-mix.c =================================================================== --- gcc/testsuite/gcc.target/powerpc/float128-mix.c (revision 0) +++ gcc/testsuite/gcc.target/powerpc/float128-mix.c (revision 0) @@ -0,0 +1,17 @@ +/* { dg-do compile { target { powerpc*-*-linux* } } } */ +/* { dg-skip-if "" { powerpc*-*-darwin* } { "*" } { "" } } */ +/* { dg-require-effective-target powerpc_vsx_ok } */ +/* { dg-skip-if "do not override -mcpu" { powerpc*-*-* } { "-mcpu=*" } { "-mcpu=power7" } } */ +/* { dg-options "-O2 -mcpu=power7 -mfloat128" } */ + + +/* Test to make sure that __float128 and __ibm128 cannot be combined together. */ +__float128 add (__float128 a, __ibm128 b) +{ + return a+b; /* { dg-error "__float128 and __ibm128 cannot be used in the same expression" "" } */ +} + +__ibm128 sub (__ibm128 a, __float128 b) +{ + return a-b; /* { dg-error "__float128 and __ibm128 cannot be used in the same expression" "" } */ +}