ostannard added a comment. Should `poly128_t` be available on AArch32 too? I don't see anything in the ACLE version you linked restricting it to AArch64 only, and the intrinsics reference has a number of intrinsics available for both ISAs using it.
================ Comment at: clang/include/clang/Basic/TargetBuiltins.h:160 EltType ET = getEltType(); - return ET == Poly8 || ET == Poly16; + return ET == Poly8 || ET == Poly16 || ET == Poly64; } ---------------- Should `Poly128` be in this list too? ================ Comment at: clang/lib/Sema/SemaType.cpp:7658 } else { - // AArch32 polynomial vector are signed. + // AArch32 polynomial vectors are signed. return BTy->getKind() == BuiltinType::SChar || ---------------- The version of the ACLE you linked says all polynomial types are unsigned, not mentioning any difference between AArch32 and AArch64: poly8_t, poly16_t, poly64_t and poly128_t are defined as unsigned integer types. It is unspecified whether these are the same type as uint8_t, uint16_t, uint64_t and uint128_t for overloading and mangling purposes. Maybe this is something left over from an old version of the ACLE which needs updating now? Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D79711/new/ https://reviews.llvm.org/D79711 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits