[llvm] [llvm][arm] add T1 and T2 assembly options for vlldm and vlstm (PR #83116)

via llvm-commits llvm-commits at lists.llvm.org
Wed Feb 28 03:18:52 PST 2024


================
@@ -7596,6 +7601,38 @@ bool ARMAsmParser::validateInstruction(MCInst &Inst,
 
   const unsigned Opcode = Inst.getOpcode();
   switch (Opcode) {
+  case ARM::VLLDM:
+    [[fallthrough]];
+  case ARM::VLLDM_T2:
+    [[fallthrough]];
+  case ARM::VLSTM:
+    [[fallthrough]];
+  case ARM::VLSTM_T2: {
+    // Since in some cases both T1 and T2 are valid, tablegen can not always
+    // pick the correct instruction.
+    if (Operands.size() == 4) { // a register list has been provided
----------------
sivan-shani wrote:

`DecodeLazyLoadStoreMul` is part of the Decoding process (Binary representation to MCInst), this code handle the Parsing (Assembly to MCInst).
When the assembly does not contain a registry list (e.g. legacy T1) there will be only 3 operands. 

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


More information about the llvm-commits mailing list