gcc/libgcc/config/aarch64
Andre Vieira 5aa3fec38c 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.
2024-04-10 16:47:15 +01:00
..
__aarch64_have_sme.c Update copyright years. 2024-01-03 12:19:35 +01:00
__arm_sme_state.S Ifdef .hidden, .type, and .size pseudo-ops for aarch64-w64-mingw32 target 2024-01-23 15:32:30 +00:00
__arm_tpidr2_restore.S Update copyright years. 2024-01-03 12:19:35 +01:00
__arm_tpidr2_save.S Ifdef .hidden, .type, and .size pseudo-ops for aarch64-w64-mingw32 target 2024-01-23 15:32:30 +00:00
__arm_za_disable.S Ifdef .hidden, .type, and .size pseudo-ops for aarch64-w64-mingw32 target 2024-01-23 15:32:30 +00:00
aarch64-asm.h Ifdef .hidden, .type, and .size pseudo-ops for aarch64-w64-mingw32 target 2024-01-23 15:32:30 +00:00
aarch64-unwind.h Update copyright years. 2024-01-03 12:19:35 +01:00
cpuinfo.c libgcc: Add missing HWCAP entries to aarch64/cpuinfo.c 2024-04-03 16:24:03 +01:00
crtfastmath.c Update copyright years. 2024-01-03 12:19:35 +01:00
crti.S aarch64: libgcc: Cleanup ELF marking in asm 2024-02-01 09:10:23 +00:00
crtn.S aarch64: libgcc: Cleanup ELF marking in asm 2024-02-01 09:10:23 +00:00
freebsd-unwind.h Update copyright years. 2024-01-03 12:19:35 +01:00
gnu-unwind.h libgcc: Add basic support for aarch64-gnu (GNU/Hurd on AArch64) 2024-04-09 09:23:33 +02:00
heap-trampoline.c libgcc: Add basic support for aarch64-gnu (GNU/Hurd on AArch64) 2024-04-09 09:23:33 +02:00
libgcc-sme.ver Update copyright years. 2024-01-03 12:19:35 +01:00
libgcc-softfp.ver aarch64: Add support for _BitInt 2024-04-10 16:47:15 +01:00
linux-unwind.h Update copyright years. 2024-01-03 12:19:35 +01:00
lse-init.c Update copyright years. 2024-01-03 12:19:35 +01:00
lse.S aarch64: libgcc: Cleanup ELF marking in asm 2024-02-01 09:10:23 +00:00
sfp-exceptions.c Update copyright years. 2024-01-03 12:19:35 +01:00
sfp-machine.h Update copyright years. 2024-01-03 12:19:35 +01:00
sync-cache.c Update copyright years. 2024-01-03 12:19:35 +01:00
t-aarch64 Update copyright years. 2024-01-03 12:19:35 +01:00
t-heap-trampoline libgcc: Make heap trampoline support dynamic [PR113403]. 2024-01-30 09:32:48 +00:00
t-lse Update copyright years. 2024-01-03 12:19:35 +01:00
t-softfp aarch64: Add support for _BitInt 2024-04-10 16:47:15 +01:00
value-unwind.h Update copyright years. 2024-01-03 12:19:35 +01:00