diff options
author | Andre Vieira <andre.simoesdiasvieira@arm.com> | 2024-04-10 16:29:46 +0100 |
---|---|---|
committer | Andre Vieira <andre.simoesdiasvieira@arm.com> | 2024-04-10 16:47:15 +0100 |
commit | 5aa3fec38cc6f52285168b161bab1a869d864b44 (patch) | |
tree | 240b76a5c4d738f997556a7e8c6f84894b3425e4 /gcc/analyzer/infinite-recursion.cc | |
parent | 3a787e038fe3549d6ec9ec9aa6416dcbba664fd9 (diff) | |
download | gcc-5aa3fec38cc6f52285168b161bab1a869d864b44.zip gcc-5aa3fec38cc6f52285168b161bab1a869d864b44.tar.gz gcc-5aa3fec38cc6f52285168b161bab1a869d864b44.tar.bz2 |
aarch64: Add support for _BitInt
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.
* gcc.target/aarch64/bitfield-bitint-abi.h: New header.
* gcc.target/aarch64/bitfield-bitint-abi-align16.c: New test.
* gcc.target/aarch64/bitfield-bitint-abi-align8.c: New test.
Diffstat (limited to 'gcc/analyzer/infinite-recursion.cc')
0 files changed, 0 insertions, 0 deletions