[Bug target/97653] [11 Regression] Incorrect long double calculation with -mabi=ibmlongdouble

jakub at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Wed Mar 31 11:59:55 GMT 2021


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97653

--- Comment #15 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
So, just completely untested possibility:
--- libgcc/config/rs6000/t-float128.jj  2021-03-30 18:11:52.572091848 +0200
+++ libgcc/config/rs6000/t-float128     2021-03-31 13:55:47.199756547 +0200
@@ -90,8 +90,16 @@ ibm128_dec_objs              = $(addsuffix $(objext)
 FP128_CFLAGS_DECIMAL   = -mno-gnu-attribute -Wno-psabi -mabi=ieeelongdouble
 IBM128_CFLAGS_DECIMAL  = -mno-gnu-attribute -Wno-psabi -mabi=ibmlongdouble

+ibm128_siditi_tf_funcs = \
+  $(foreach f,$(sifuncs) $(difuncs) $(tifuncs),$(if $(findstring tf,$f),$f))
+ibm128_siditi_tf_objs = $(patsubst %,%$(objext),$(ibm128_siditi_tf_funcs))
+ifeq ($(enable_shared),yes)
+ibm128_siditi_tf_objs += $(patsubst %,%_s$(objext),$(ibm128_siditi_tf_funcs))
+endif
+
 $(fp128_dec_objs)      : INTERNAL_CFLAGS += $(FP128_CFLAGS_DECIMAL)
 $(ibm128_dec_objs)     : INTERNAL_CFLAGS += $(IBM128_CFLAGS_DECIMAL)
+$(ibm128_siditi_tf_objs) : INTERNAL_CFLAGS += $(IBM128_CFLAGS_DECIMAL)

 $(fp128_softfp_src) : $(srcdir)/soft-fp/$(subst -sw,,$(subst kf,tf,$@))
$(fp128_dep)
        @src="$(srcdir)/soft-fp/$(subst -sw,,$(subst kf,tf,$@))"; \


(though IBM128_CFLAGS_DECIMAL is misnamed for those because it has nothing to
do with decimal).


More information about the Gcc-bugs mailing list