https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114140
--- Comment #2 from Joseph S. Myers <jsm28 at gcc dot gnu.org> --- Returning a quiet NaN when either argument is a signaling NaN is correct at least for C (fmin/fmax correspond to IEEE 754-2008 operations, *not* the new IEEE 754-2019 operations which are fminimum/fmaximum/fminimum_num/fmaximum_num). This is not a self-contained bug report ("not work" doesn't say what was expected or why). But the output reported from the godbolt link is std::float128_t inf inf inf inf __float128 inf inf nan nan which looks correct for __float128 and incorrect for float128_t (suggesting that, in the float128_t case, something might have wrongly converted the signaling NaN to a quiet NaN before calling the underlying function).