[clang] [Clang][SME2] Add multi-vector add/sub builtins (PR #69725)
David Sherwood via cfe-commits
cfe-commits at lists.llvm.org
Fri Oct 20 08:04:34 PDT 2023
================
@@ -1016,29 +1021,24 @@ std::string Intrinsic::mangleName(ClassKind LocalCK) const {
getMergeSuffix();
}
-void Intrinsic::emitIntrinsic(raw_ostream &OS, SVEEmitter &Emitter) const {
+void Intrinsic::emitIntrinsic(raw_ostream &OS, ACLEKind Kind) const {
bool IsOverloaded = getClassKind() == ClassG && getProto().size() > 1;
std::string FullName = mangleName(ClassS);
std::string ProtoName = mangleName(getClassKind());
std::string SMEAttrs = "";
- if (Flags & Emitter.getEnumValueForFlag("IsStreaming"))
- SMEAttrs += ", arm_streaming";
- if (Flags & Emitter.getEnumValueForFlag("IsStreamingCompatible"))
- SMEAttrs += ", arm_streaming_compatible";
- if (Flags & Emitter.getEnumValueForFlag("IsSharedZA"))
- SMEAttrs += ", arm_shared_za";
- if (Flags & Emitter.getEnumValueForFlag("IsPreservesZA"))
- SMEAttrs += ", arm_preserves_za";
-
OS << (IsOverloaded ? "__aio " : "__ai ")
- << "__attribute__((__clang_arm_builtin_alias("
- << (SMEAttrs.empty() ? "__builtin_sve_" : "__builtin_sme_")
- << FullName << ")";
- if (!SMEAttrs.empty())
- OS << SMEAttrs;
----------------
david-arm wrote:
It looks like we're no longer printing out the attributes for the builtin - is this because the attributes are dealt with explicitly elsewhere in clang and so they are no longer needed?
https://github.com/llvm/llvm-project/pull/69725
More information about the cfe-commits
mailing list