[clang] [clang][AArch64] Don't round parameters to multiples of 8-byte (PR #215264)

via cfe-commits cfe-commits at lists.llvm.org
Fri Oct 16 03:18:11 PDT 2026


bgra8 wrote:

@eleviant this PR is problematic: In [AAPCS64 (ยง6.8.2 Parameter Passing, Rule C.12)](https://github.com/ARM-software/abi-aa/blob/main/aapcs64/aapcs64.rst#parameter-passing-rules), composite types allocated to general-purpose registers explicitly specify:

> the size of the argument is rounded up to the nearest multiple of 8 bytes.

Lowering sub-64-bit aggregates to raw arbitrary integer types (`i8`, `i16`, `i24`, `i32`, `i40`, `i48`) in Clang frontend ABI lowering violates this assumption and produces non-standard types that break sanitizer invariants.

Please revert.


https://github.com/llvm/llvm-project/pull/215264


More information about the cfe-commits mailing list