On Thu, Jan 25, 2024 at 05:45:01PM +0000, Andre Vieira wrote:
> This patch adds support for C23's _BitInt for the AArch64 port when compiling
> for little endianness.  Big Endianness requires further target-agnostic
> support and we therefor disable it for now.
> 
> gcc/ChangeLog:
> 
>       * config/aarch64/aarch64.cc (TARGET_C_BITINT_TYPE_INFO): Declare MACRO.
>       (aarch64_bitint_type_info): New function.
>       (aarch64_return_in_memory_1): Return large _BitInt's in memory.
>       (aarch64_function_arg_alignment): Adapt to correctly return the ABI
>       mandated alignment of _BitInt(N) where N > 128 as the alignment of
>       TImode.
>       (aarch64_composite_type_p): Return true for _BitInt(N), where N > 128.
> 
> libgcc/ChangeLog:
> 
>       * config/aarch64/t-softfp: Add fixtfbitint, floatbitinttf and
>       floatbitinthf to the softfp_extras variable to ensure the
>       runtime support is available for _BitInt.

I think this lacks some config/aarch64/t-whatever.ver
additions.
See PR113700 for some more details.
We want the support routines for binary floating point <-> _BitInt
conversions in both libgcc.a and libgcc_s.so.1 and exported from the latter
too at GCC_14.0.0 symver, while decimal floating point <-> _BitInt solely in
libgcc.a (as with all the huge dfp/bid stuff).

        Jakub

Reply via email to