As I mentioned in the patch for adding _Float128 <-> Decimal conversions, there are two test cases that fail if you configure the compiler to use IEEE 128-bit long double or 64-bit long double. That is because these tests are explicitly testing that the long double is a pair of doubles (i.e. IBM 128-bit long double).
In previous iterations of this patch, I set the target condition to run the test only if long double uses the IBM 128-bit format. Segher suggest that instead I add target support tests and options to force the long double format to IBM 128-bit long double. I rewrote the patches to do this. In the last time I posted this patch, Joseph Myers noticed that I misspelled 'override' in two of the functions. I have fixed this in this patch. Thanks. There are 3 patches in this set: 1) The patch to target-supports.exp to add 3 new functions that returns true based on what the current long double format is. And there are three functions that return true if you can set the long double type at compile time and the GLIBC supports this option. The remaining 2 patches need this patch to be installed before they can be installed. 2) The patch to gcc/testsuite/gcc.target/powerpc/pr70117.c that forces this test to use IBM 128-bit long double. 3) The patch to gcc/testsuite/c-c++-common/dfp/convert-bfp-11.c that forces this test to use IBM 128-bit long double. I have done bootstrap builds on a power9 little endian system with the compiler configured for the default IBM 128-bit long double and the IEEE 128-bit long double. The 2 tests now pass when I add these patches. I also have built bootstrap compilers on a power8 big endian system, and there were no regressions. Can I check these patches into the master branch? -- 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