================
@@ -136,10 +136,10 @@ defm SVWRITE_ZA128 : ZAWrite<"za128", "csilUcUsUiUlhbfd",
"aarch64_sme_writeq",
let TargetGuard = "sme" in {
def SVZERO_MASK_ZA : SInst<"svzero_mask_za", "vi", "", MergeNone,
"aarch64_sme_zero",
- [IsOverloadNone, IsStreamingCompatible,
IsSharedZA],
+ [IsOverloadNone, IsStreamingCompatible,
IsInOutZA],
[ImmCheck<0, ImmCheck0_255>]>;
def SVZERO_ZA : SInst<"svzero_za", "v", "", MergeNone,
"aarch64_sme_zero",
- [IsOverloadNone, IsStreamingCompatible,
IsSharedZA]>;
+ [IsOverloadNone, IsStreamingCompatible, IsOutZA]>;
----------------
sdesmalen-arm wrote:
SVZERO_MASK_ZA zeroes a ZA tile, not the whole ZA array. It takes part of ZA as
input and zeroes only part of that, to return the combined result as output.
SVZERO_ZA only writes to ZA, because it zeroes the whole of ZA. It discards any
values in ZA that came in.
https://github.com/llvm/llvm-project/pull/78258
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits