On Fri, Feb 3, 2023 at 6:44 AM Michael Meissner via Gcc-patches <gcc-patches@gcc.gnu.org> wrote: > > I'm reposting these two patches that allow GCC to build on Fedora 36 just to > be > clear which patches I'm talking about. The issue is that if GCC is configured > with long double using the IEEE 128-bit representation, it currently cannot > build _mulkc3 and _divkc3 in libgcc.
It's interesting that we do not see this with openSUSE where I configure with --with-cpu=power8 --with-tune=power9 --with-long-double-format=ieee --with-long-double-128 note this is ppc64le, we leave ppc64 and ppc with their default. > Note, these patches do not solve the underlying problem of mixing _Float128 > and > long double types and using built-in functions (i.e. calling a _Float128 > built-in function with long double arguments when long double is IEEE 128-bit, > or vice versa calling a long double built-in function with _Float128 > arguments). But they do allow the compiler to build. > > Note, it is the morning of February 3rd, and I will be off on vacation from > February 7th through February 14th. > > The first patch changes libgcc so that it uses either _Float128 or long double > as the base IEEE 128-bit type, depending on whether long double uses the IBM > double-double representation, or the IEEE 128-bit representation. And for the > complex type it uses _Complex _Float128 or _Complex long double. The _mulkc3 > and _divkc3 functions are adjusted to use the f128 built-in functions or the > long double built-in functions, based on the long double type. > > The second patch improves how the compiler generates the call to _mulkc3 and > _divkc3. I've discovered as I have tried to fix underlying problem with the > IEEE 128-bit floating point types, it breaks the calls for IEEE 128-bit > complex > multiply and divide. This patch uses a cleaner approach to generate these > calls, and it will work with the current setup, and with the various fixes > that > I've attempted to do to fix the underlying problem. > > -- > Michael Meissner, IBM > PO Box 98, Ayer, Massachusetts, USA, 01432 > email: meiss...@linux.ibm.com