https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97543
--- Comment #8 from Michael Meissner <meissner at gcc dot gnu.org> --- In addition to ibm-ldouble.c, the following functions set the gnu attribute #4 to 5 (i.e. pass/use IBM extended double as long double): _divtc3 _fixtfdi _fixunstfdi _floatditf _floatunditf _multc3 _powitf2 ppc64-fp This means we have to change the definition of TFmode and TCtype from: typedef float TFtype __attribute__ ((mode (TF))); typedef _Complex float TCtype __attribute__ ((mode (TC))); to: typedef float TFtype __attribute__ ((mode (IF))); typedef _Complex float TCtype __attribute__ ((mode (IC)));