https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96983
--- Comment #15 from Peter Bergner <bergner at gcc dot gnu.org> --- On POWER, we see with an unpatched compiler, where long double == IBM double double format: (gdb) p gfc_float128_type_node $16 = (tree) 0x0 (gdb) p gfc_real_kinds[0] $17 = {epsilon = {{_mpfr_prec = 24, _mpfr_sign = 1, _mpfr_exp = -22, _mpfr_d = 0x134f99d8}}, huge = {{_mpfr_prec = 24, _mpfr_sign = 1, _mpfr_exp = 128, _mpfr_d = 0x134f9978}}, tiny = {{_mpfr_prec = 24, _mpfr_sign = 1, _mpfr_exp = -125, _mpfr_d = 0x134f9998}}, subnormal = {{_mpfr_prec = 24, _mpfr_sign = 1, _mpfr_exp = -148, _mpfr_d = 0x134f99b8}}, kind = 4, radix = 2, digits = 24, min_exponent = -125, max_exponent = 128, range = 37, precision = 6, mode_precision = 32, c_float = 1, c_double = 0, c_long_double = 0, c_float128 = 0} (gdb) p gfc_real_kinds[1] $18 = {epsilon = {{_mpfr_prec = 53, _mpfr_sign = 1, _mpfr_exp = -51, _mpfr_d = 0x134f9a58}}, huge = {{_mpfr_prec = 53, _mpfr_sign = 1, _mpfr_exp = 1024, _mpfr_d = 0x134f9a18}}, tiny = {{_mpfr_prec = 53, _mpfr_sign = 1, _mpfr_exp = -1021, _mpfr_d = 0x134f99f8}}, subnormal = {{_mpfr_prec = 53, _mpfr_sign = 1, _mpfr_exp = -1073, _mpfr_d = 0x134f9a38}}, kind = 8, radix = 2, digits = 53, min_exponent = -1021, max_exponent = 1024, range = 307, precision = 15, mode_precision = 64, c_float = 0, c_double = 1, c_long_double = 0, c_float128 = 0} (gdb) p gfc_real_kinds[2] $19 = {epsilon = {{_mpfr_prec = 106, _mpfr_sign = 1, _mpfr_exp = -104, _mpfr_d = 0x134f9ad8}}, huge = {{_mpfr_prec = 106, _mpfr_sign = 1, _mpfr_exp = 1023, _mpfr_d = 0x134f9a98}}, tiny = {{_mpfr_prec = 106, _mpfr_sign = 1, _mpfr_exp = -968, _mpfr_d = 0x134f9a78}}, subnormal = {{_mpfr_prec = 106, _mpfr_sign = 1, _mpfr_exp = -1073, _mpfr_d = 0x134f9ab8}}, kind = 16, radix = 2, digits = 106, min_exponent = -968, max_exponent = 1023, range = 291, precision = 31, mode_precision = 127, c_float = 0, c_double = 0, c_long_double = 1, c_float128 = 0}