================
@@ -318,7 +359,36 @@ const llvm::abi::Type
*QualTypeMapper::convertVectorType(const VectorType *VT) {
llvm::ElementCount NumElements = llvm::ElementCount::getFixed(NElems);
llvm::Align VectorAlign = getTypeAlign(VectorQualType);
- return Builder.getVectorType(ElementType, NumElements, VectorAlign);
+ return Builder.getVectorType(ElementType, NumElements, VectorAlign,
+ getABIVectorKind(VT->getVectorKind()));
----------------
madhur13490 wrote:
Worth a comment: a sizeless predicate ends up with an i1 element (line 385
path), but a fixed-length SveFixedLengthPredicate keeps its unsigned char (i8)
element here — and both get tagged SVEPredicate. It matches the AST, but anyone
keying off the kind will be surprised by the two element types. The
FixedLengthSVEVectors test doesn't assert the predicate element, so it's not
pinned either
https://github.com/llvm/llvm-project/pull/221375
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits