================
@@ -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]>;
----------------
MDevereau wrote:

I'm a bit confused about this change. `IsOutZA` seems to make sense since the 
instruction creates a new zeroed ZA state, but doesn't this also mean the old 
state is input and destroyed?

https://github.com/llvm/llvm-project/pull/78258
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to