[llvm] [AArch64][SME] Spill p-regs as z-regs when streaming hazards are possible (PR #123752)

Benjamin Maxwell via llvm-commits llvm-commits at lists.llvm.org
Thu Jan 30 08:23:12 PST 2025


================
@@ -979,10 +979,19 @@ class ZPRRegOp <string Suffix, AsmOperandClass C, ElementSizeEnum Size,
 //******************************************************************************
 
 // SVE predicate register classes.
+
+// Note: This hardware mode is enabled in AArch64Subtarget::getHwModeSet()
+// (without the use of the table-gen'd predicates).
+def SMEWithStreamingMemoryHazards : HwMode<"", [Predicate<"false">]>;
----------------
MacDue wrote:

So:
> What if AArch64Subtarget::getHwModeSet would set 1 << 1 instead?

That'd active mode 2 and something would crash, because that does not exist. 

https://github.com/llvm/llvm-project/pull/123752


More information about the llvm-commits mailing list