[clang] [llvm] [Clang][LLVM] Implement single-single vectors MOP4{A/S} (PR #127797)
Virginia Cangelosi via cfe-commits
cfe-commits at lists.llvm.org
Wed Mar 5 07:35:46 PST 2025
================
@@ -376,6 +376,24 @@ let SMETargetGuard = "sme2" in {
// Outer product and accumulate/subtract
//
+multiclass MOP4<string name, string n, string t, string i, string wide, list<ImmCheck> checks> {
+ def NAME # "_1x1" : Inst<"svmop4" # name # "_1x1_" # n # "[_{d}_{d}]", "vidd", t, MergeNone, i # wide # "_1x1", [IsInOutZA, IsStreaming], checks>;
+}
+
+multiclass SUMOP4<string s, string za, string t, string i, list<ImmCheck> checks> {
+ def _1x1 : SInst<"svmop4" # s # "[_1x1_]" # za # "[_{d}_{3}]",
+ "vidu", t, MergeNone, "aarch64_sme_sumop4" # s # i # "_wide_1x1",
+ [IsStreaming, IsInOutZA],
+ checks>;
+}
+
+multiclass USMOP4<string s, string za, string t, string i, list<ImmCheck> checks> {
+ def _1x1 : SInst<"svmop4" # s # "[_1x1_]" # za # "[_{d}_{3}]",
+ "vidx", t, MergeNone, "aarch64_sme_usmop4" # s # i # "_wide_1x1",
+ [IsStreaming, IsInOutZA],
+ checks>;
+}
+
----------------
virginia-cangelosi wrote:
This isn't possible anymore after merging the wide field
https://github.com/llvm/llvm-project/pull/127797
More information about the cfe-commits
mailing list