[llvm] [AArch64][llvm] Redefine some insns as an alias of `SYS` (PR #187004)

Kerry McLaughlin via llvm-commits llvm-commits at lists.llvm.org
Tue May 5 05:57:02 PDT 2026


================
@@ -919,18 +919,56 @@ bool AArch64InstPrinter::printSysAlias(const MCInst *MI,
   bool OptionalReg = false;
   std::string Ins;
   std::string Name;
+  StringRef RegSep = ", ";
 
   if (CnVal == 7) {
     switch (CmVal) {
-    default:
-      return false;
+    default: return false;
+    // MLBI aliases
+    case 0: {
+      const AArch64MLBI::MLBI *MLBI =
+          AArch64MLBI::lookupMLBIByEncoding(Encoding);
+      if (!MLBI || !MLBI->haveFeatures(STI.getFeatureBits()))
+        return false;
+
+      NeedsReg = MLBI->NeedsReg;
+      Ins = "mlbi\t";
+      Name = std::string(MLBI->Name);
+    } break;
     // Maybe IC, maybe Prediction Restriction
     case 1:
       switch (Op1Val) {
       default: return false;
       case 0: goto Search_IC;
       case 3: goto Search_PRCTX;
       }
+    // BRB aliases.
+    case 2: {
+      if (Op1Val == 1) {
+        if (!(STI.hasFeature(AArch64::FeatureAll) ||
+              STI.hasFeature(AArch64::FeatureBRBE)))
+          return false;
+
+        NeedsReg = false;
----------------
kmclaughlin-arm wrote:

`NeedsReg` should already be false.

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


More information about the llvm-commits mailing list