In the patch submitted on October 22nd, 2020: https://gcc.gnu.org/pipermail/gcc-patches/2020-October/556869.html https://gcc.gnu.org/pipermail/gcc-patches/2020-October/557529.html
Segher suggested that rather than add #ifdef code in libgcc's ibm-ldouble.c to use __builtin_pack_ibm128 instead of __builtin_pack_longdouble, that I should instead make __ibm128 available in targets that have 128-bit IBM long double, but don't support __float128/_Float128. These two patches add this support. The first patch adds __ibm128 to those systems that don't support __float128/_Float128 and have 128-bit IBM long double. The second patch changes the libgcc ibm-ldouble.c function to use __builtin_pack_ibm128 insted of __builtin_pack_longdouble. I have tested these patches on a little endian power9 server system and there were no regressions. I have also tested the paches on a big endian power8 server system and there were no regressions. On the big endian system, I have built both compilers with power8 being the default cpu and power5 being the default cpu. I have verified that ibm-ldouble does use the ibm128 pack built-in function. -- 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