On Tue, Feb 27, 2024 at 01:40:09PM +0000, Andre Vieira (lists) wrote:
> Dropped the first patch and dealt with the comments above, hopefully I
> didn't miss any this time.
> 
> ----------------------------------
> 
> 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 (softfp_extras): Add floatbitinthf,
>       floatbitintbf, floatbitinttf and fixtfbitint.
>       * config/aarch64/libgcc-softfp.ver (GCC_14.0.0): Add __floatbitinthf,
>       __floatbitintbf, __floatbitinttf and __fixtfbitint.
> 
> gcc/testsuite/ChangeLog:
> 
>       * gcc.target/aarch64/bitint-alignments.c: New test.
>       * gcc.target/aarch64/bitint-args.c: New test.
>       * gcc.target/aarch64/bitint-sizes.c: New test.

LGTM, but as this is mostly aarch64 specific, I'll defer the final ack
to Richard or Kyrylo.

        Jakub

Reply via email to