On Thu, Sep 25, 2025 at 10:23:46AM +0100, Andre Vieira wrote:
> +/* Implement TARGET_C_BITINT_TYPE_INFO
> + Return true if _BitInt(N) is supported and fill its details into *INFO.
> */
> +
> +bool
> +arm_bitint_type_info (int n, struct bitint_info *info)
> +{
> + if (TARGET_BIG_END)
> + return false;
Why? Just that it isn't tested so far? Big endian support in the generic
code should be there already, s390x _BitInt works.
> --- a/libgcc/config/arm/libgcc-bpabi.ver
> +++ b/libgcc/config/arm/libgcc-bpabi.ver
> @@ -106,3 +106,11 @@ GCC_3.5 {
> GCC_4.3.0 {
> _Unwind_Backtrace
> }
> +
> +GCC_16.0.0 {
I miss
__mulbitint3
__divmodbitint4
here, that is pretty much essential to export.
Don't you also need %import above it from whatever was the latest
GCC_* symver on arm?
> + __fixsfbitint
> + __fixdfbitint
> + __floatbitinthf
> + __floatbitintsf
> + __floatbitintdf
> +}
> diff --git a/libgcc/config/arm/t-softfp b/libgcc/config/arm/t-softfp
> index 554ec9bc47b..68aff4de068 100644
> --- a/libgcc/config/arm/t-softfp
> +++ b/libgcc/config/arm/t-softfp
> @@ -1,2 +1,4 @@
> softfp_wrap_start := '\#if !__ARM_ARCH_ISA_ARM && __ARM_ARCH_ISA_THUMB == 1'
> softfp_wrap_end := '\#endif'
> +bitint_extras += floatbitinthf
> +softfp_cflags := -mfp16-format=ieee
Other than that LGTM but I think you want Richard/Ramana to ack it; I'd suggest
to xfail the 2 tests for arm with a PR (and CC me on that), that can be
resolved incrementally.
Jakub