https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106579
--- Comment #13 from CVS Commits <cvs-commit at gcc dot gnu.org> --- The releases/gcc-12 branch has been updated by Jakub Jelinek <ja...@gcc.gnu.org>: https://gcc.gnu.org/g:c5d4e67e764fb157404142cfc8d2bc4436fcf0f5 commit r12-8723-gc5d4e67e764fb157404142cfc8d2bc4436fcf0f5 Author: Jakub Jelinek <ja...@redhat.com> Date: Fri Aug 26 09:52:02 2022 +0200 fortran: Expand ieee_arithmetic module's ieee_class inline [PR106579] The following patch expands IEEE_CLASS inline in the FE but only for the powerpc64le-linux IEEE quad real(kind=16), using the __builtin_fpclassify builtin and explicit check of the MSB mantissa bit in place of missing __builtin_signbit builtin. 2022-08-26 Jakub Jelinek <ja...@redhat.com> PR fortran/106579 gcc/fortran/ * f95-lang.cc (gfc_init_builtin_functions): Initialize BUILT_IN_FPCLASSIFY. * libgfortran.h (IEEE_OTHER_VALUE, IEEE_SIGNALING_NAN, IEEE_QUIET_NAN, IEEE_NEGATIVE_INF, IEEE_NEGATIVE_NORMAL, IEEE_NEGATIVE_DENORMAL, IEEE_NEGATIVE_SUBNORMAL, IEEE_NEGATIVE_ZERO, IEEE_POSITIVE_ZERO, IEEE_POSITIVE_DENORMAL, IEEE_POSITIVE_SUBNORMAL, IEEE_POSITIVE_NORMAL, IEEE_POSITIVE_INF): New enum. * trans-intrinsic.cc (conv_intrinsic_ieee_class): New function. (gfc_conv_ieee_arithmetic_function): Handle ieee_class. libgfortran/ * ieee/ieee_helper.c (IEEE_OTHER_VALUE, IEEE_SIGNALING_NAN, IEEE_QUIET_NAN, IEEE_NEGATIVE_INF, IEEE_NEGATIVE_NORMAL, IEEE_NEGATIVE_DENORMAL, IEEE_NEGATIVE_SUBNORMAL, IEEE_NEGATIVE_ZERO, IEEE_POSITIVE_ZERO, IEEE_POSITIVE_DENORMAL, IEEE_POSITIVE_SUBNORMAL, IEEE_POSITIVE_NORMAL, IEEE_POSITIVE_INF): Move to gcc/fortran/libgfortran.h. (cherry picked from commit db630423a97ec6690a8eb0e5c3cb186c91e3740d)