On Thu, Sep 25, 2025 at 10:23:45AM +0100, Andre Vieira wrote:
> 
> This patch circumvents the softfp_wrap for bitint functions in libgcc as 
> certain
> ports, like arm, can use softfp_wrap to distinquigh between targets they want 
> to
> use specialized assembly functions for and targets that they use the soft-fp
> C implementations for.  This is an orthogonal choice to the use of the soft-fp
> C implementations for bitint conversions.
> 
> This patch also adds extra options to build bitint soft-fp functions, this is
> needed by the arm port to build HF bitint conversion functions.
> ---
>  libgcc/config/t-softfp | 12 +++++++++---
>  1 file changed, 9 insertions(+), 3 deletions(-)
> 

> diff --git a/libgcc/config/t-softfp b/libgcc/config/t-softfp
> index b352dfaa24a..f5cc8017666 100644
> --- a/libgcc/config/t-softfp
> +++ b/libgcc/config/t-softfp
> @@ -73,12 +73,15 @@ softfp_bid_list += bitintpow10 \
>                                       floatti$(m) floatunti$(m))
>  endif
>  
> +bitint_func_list :=  \

Could this be s/bitint_func_list/softfp_bitint_func_list/g ?

Otherwise please add a ChangeLog entry and commit separately to trunk.
LGTM.

> +  $(foreach m,sf df,$(softfp_floatbitint_funcs)) \
> +  $(bitint_extras)
> +
>  softfp_func_list := \
>    $(foreach m,$(softfp_float_modes), \
>                $(softfp_float_funcs) \
>                $(foreach i,$(softfp_int_modes), \
>                            $(softfp_floatint_funcs))) \
> -  $(foreach m,sf df,$(softfp_floatbitint_funcs)) \
>    $(foreach e,$(softfp_extensions),extend$(e)2) \
>    $(foreach t,$(softfp_truncations),trunc$(t)2) \
>    $(softfp_extras)
> @@ -93,7 +96,8 @@ softfp_func_list := $(filter-out floatdidf floatdisf 
> fixunsdfsi fixunssfsi \
>  endif
>  
>  ifeq ($(softfp_compat),y)
> -softfp_file_list := $(addsuffix .c,$(softfp_func_list))
> +softfp_file_list := $(addsuffix .c,$(softfp_func_list)) \
> +                 $(addsuffix .c,$(bitint_func_list))
>  
>  ifeq ($(enable_shared),yes)
>  softfp_map_dep := libgcc.map.in
> @@ -124,6 +128,8 @@ else
>  softfp_file_list := \
>    $(addsuffix .c,$(addprefix $(srcdir)/soft-fp/,$(softfp_func_list)))
>  endif
> +softfp_file_list += \
> +  $(addsuffix .c,$(addprefix $(srcdir)/soft-fp/,$(bitint_func_list)))
>  endif
>  softfp_bid_file_list := \
>    $(addsuffix .c,$(addprefix $(srcdir)/soft-fp/,$(softfp_bid_list)))
> @@ -137,7 +143,7 @@ soft-fp-objects-base = $(basename $(notdir 
> $(softfp_file_list)))
>  soft-fp-objects = $(addsuffix $(objext), $(soft-fp-objects-base)) \
>    $(addsuffix _s$(objext), $(soft-fp-objects-base))
>  
> -$(soft-fp-objects) : INTERNAL_CFLAGS += -Wno-missing-prototypes 
> -Wno-type-limits
> +$(soft-fp-objects) : INTERNAL_CFLAGS += -Wno-missing-prototypes 
> -Wno-type-limits $(softfp_cflags)
>  
>  LIB2ADD += $(softfp_file_list)
>  LIB2ADD_ST += $(softfp_bid_file_list)


        Jakub

Reply via email to