================
@@ -20,7 +20,8 @@ bool TargetInfo::isAggregateTypeForABI(const Type *Ty) const {
return isAggregateTypeForABI(AT->getValueType());
// Check for fundamental scalar types.
- if (Ty->isInteger() || Ty->isFloat() || Ty->isPointer() || Ty->isVector())
+ if (Ty->isInteger() || Ty->isFloat() || Ty->isPointer() || Ty->isVector() ||
----------------
madhur13490 wrote:
This affects every target, and it's what routes SVE tuples through the direct
path on Darwin and Windows, but nothing tests it yet. SVInt32x2 gets added to
the test class but no test uses it, and the new SVE clang test has no tuple
types.
Could you add a unit test that passes and returns SVInt32x2? It should come out
direct on DarwinPCS and Win64, and still hit the NYI path on AAPCS. A predicate
tuple would be good to cover too.
It'd also be good to have a couple of tuple arguments in
abi-classify-sve-types.c (__clang_svint32x2_t, __clang_svboolx2_t). They'd need
to go behind an #ifdef that only the Darwin and Windows RUN lines turn on,
since on AAPCS they'll print the NYI warning and fail the implicit-check-not.
If tuples are meant for a follow-up, maybe just drop SVInt32x2 from this patch.
https://github.com/llvm/llvm-project/pull/225201
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits