[llvm] [LLVM][AArch64]Use load/store with consecutive registers in SME2 or S… (PR #77665)

Sander de Smalen via llvm-commits llvm-commits at lists.llvm.org
Mon Mar 4 03:07:33 PST 2024


================
@@ -1508,6 +1508,12 @@ static bool IsSVECalleeSave(MachineBasicBlock::iterator I) {
   switch (I->getOpcode()) {
   default:
     return false;
+  case AArch64::PTRUE_C_B:
+  case AArch64::LD1B_2Z_IMM:
+  case AArch64::ST1B_2Z_IMM:
+    assert((I->getMF()->getSubtarget<AArch64Subtarget>().hasSVE2p1() ||
+            I->getMF()->getSubtarget<AArch64Subtarget>().hasSME2()) &&
+           "Expected SME2 or SVE2.1 Targer Architecture.");
----------------
sdesmalen-arm wrote:

nit: What's the idea behind having this assert in this place? I would expect other code (e.g. machine-verifier) to give a more user-friendly message about invalid instructions being emitted if the target doesn't have the right feature.

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


More information about the llvm-commits mailing list