Define target hook to emit KFmode constants for libgcc.
This patch defines a target hook so that the KFmode constants
(__LIBGCC_KF_MAX__, __LIBGCC_KF_MIN__, and __LIBGCC_KF_EPSILON__) needed to
build _divkc3.c in libgcc are defined. The need for these constants were added
in the April 28th changes to libgcc that added complex division optimizations.
We only define the KFmode constants if IEEE 128-bit floating point is
supported, but long double does not use the IEEE 128-bit format. If long
double uses the IEEE 128-bit format, it will use TFmode and not KFmode.
gcc/
2021-04-30 Michael Meissner <meissner@linux.ibm.com>
PR bootstrap/100327
* config/rs6000/rs6000.c
(TARGET_LIBGCC_FLOATING_MODE_SUPPORTED_P): Define.
(rs6000_libgcc_floating_mode_supported_p): New target hook.