[llvm] [AArch64][llvm] Remove `+d128` gating on `sysp`, `msrr` and `mrrs` instructions (PR #178912)
Jonathan Thackray via llvm-commits
llvm-commits at lists.llvm.org
Wed Feb 4 03:47:04 PST 2026
================
@@ -903,10 +903,12 @@ multiclass TLBI<string name, bit hasTLBIP, bits<3> op1, bits<4> crn, bits<4> crm
let ExtraRequires = ["AArch64::FeatureXS"];
}
if !eq(hasTLBIP, true) then {
- def : TLBIPEntry<name, op1, crn, crm, op2, needsreg, optionalreg>;
+ def : TLBIPEntry<name, op1, crn, crm, op2, needsreg, optionalreg> {
----------------
jthackray wrote:
It's a good suggestion, but actually causes more ripple changes, as the parser has this code:
```
std::string Name =
std::string(TLBIP.Name) + (HasnXSQualifier ? "nXS" : "");
std::string Str("TLBIP " + Name + " requires: ");
setRequiredFeatureString(TLBIP.getRequiredFeatures(), Str);
```
which means changing `armv9a-sysp.s`:
```
-// CHECK-ERROR: error: instruction requires: d128
+// CHECK-ERROR: error: {{.*}} requires: xs, d128
```
all through the file. I'm updating error message handling in the subsequent PR, so I think I'll keep it like this for now, as those extra 2 lines in the parser are excised in the next PR. They're only there because we've removed `+d128` from all `sysp`s.
Also, this line will require removing in the next PR, since we need to allow "tlbid" or "d128".
https://github.com/llvm/llvm-project/pull/178912
More information about the llvm-commits
mailing list