Fix float128-call.c test for power8 IEEE 128 and power10.
authorMichael Meissner <meissner@linux.ibm.com>
Fri, 27 Aug 2021 17:19:54 +0000 (13:19 -0400)
committerMichael Meissner <meissner@linux.ibm.com>
Fri, 27 Aug 2021 17:19:54 +0000 (13:19 -0400)
commit94a047359f84c7ea5ade378028852b19529a7495
tree843072ecf397fb3c8e11f648441c52637c29503f
parent66526c6a1c01b6110eaeda94ecc885177c636605
Fix float128-call.c test for power8 IEEE 128 and power10.

I built a compiler on a little endian power8 system where the default long
double was IEEE 128-bit instead of IBM 128-bit.  I discovered that on
power8, we would generate a lxvd2x and xxpermdi to deal with the endianess
instead of the Altivec lxv.

In addition, I noticed the constant that was being loaded (1.0q) could be
loaded by the lxvkq instruction.

I rewrote the test to handle all forms of vector load and store that can
be generated.

2021-08-27  Michael Meissner  <meissner@linux.ibm.com>

gcc/testsuite/
* gcc.target/powerpc/float128-call.c: Fix test for IEEE 128-bit
long double and power10.
gcc/testsuite/gcc.target/powerpc/float128-call.c