[clang] [Clang][AArch64] Fix checkArmStreamingBuiltin for 'sve-b16b16' (PR #109420)
via cfe-commits
cfe-commits at lists.llvm.org
Tue Sep 24 07:03:00 PDT 2024
================
@@ -1802,9 +1854,29 @@ void SVEEmitter::createStreamingAttrs(raw_ostream &OS, ACLEKind Kind) {
if (Def->isFlagSet(IsStreamingFlag))
StreamingMap["ArmStreaming"].insert(Def->getMangledName());
- else if (Def->isFlagSet(VerifyRuntimeMode))
+ else if (Def->isFlagSet(VerifyRuntimeMode)) {
+ // Verify that the target guards contain at least one feature that
+ // actually enables SVE or SME (explicitly, or implicitly). This is needed
+ // for the code in SemaARM.cpp (checkArmStreamingBuiltin) that checks
+ // whether the required runtime mode for an intrinsic matches with the
+ // given set of target features and function attributes.
+ //
+ // The feature lists below must match the disabled features in
+ // 'checkArmStreamingBuiltin'!
+ if (!Def->getSVEGuard().empty() &&
+ !verifyGuard(Def->getSVEGuard(),
+ {"sve", "sve2", "sve2p1", "sve2-aes", "sve2-sha3",
----------------
SpencerAbson wrote:
Yes, I believe so.
https://github.com/llvm/llvm-project/pull/109420
More information about the cfe-commits
mailing list