[clang] [Clang][AArch64] Fix Pure Scalables Types argument passing and return (PR #112747)
Momchil Velikov via cfe-commits
cfe-commits at lists.llvm.org
Fri Oct 18 03:19:14 PDT 2024
================
@@ -353,6 +427,17 @@ AArch64ABIInfo::classifyArgumentType(QualType Ty, bool IsVariadic,
nullptr, true, Align);
}
+ // In AAPCS named arguments of a Pure Scalable Type are passed expanded in
+ // registers, or indirectly if there are not enough registers.
+ if (Kind == AArch64ABIKind::AAPCS && !IsVariadic) {
----------------
momchil-velikov wrote:
That's Rule C.7, that wants the argument to be named.
> If the argument is a Pure Scalable Type that consists of NV Scalable Vector Types and
> NP Scalable Predicate Types, **if the argument is named**, if NSRN+NV ≤ 8,
> and if NPRN+NP ≤ 4, then the Scalable Vector Types are
https://github.com/llvm/llvm-project/pull/112747
More information about the cfe-commits
mailing list