[llvm] [TableGen] Implement getOperandIdxName (PR #154944)

Matt Arsenault via llvm-commits llvm-commits at lists.llvm.org
Sat Aug 23 04:27:45 PDT 2025


================
@@ -320,3 +320,22 @@ TEST(AMDGPU, TestReverseComposeSubRegIndices) {
     }
   }
 }
+
+TEST(AMDGPU, TestGetNamedOperandIdx) {
+  auto TM = createAMDGPUTargetMachine("amdgcn-amd-", "gfx900", "");
+  if (!TM)
+    return;
+  const MCInstrInfo *MCII = TM->getMCInstrInfo();
+
+  for (unsigned Opcode = 0, E = MCII->getNumOpcodes(); Opcode != E; ++Opcode) {
+    const MCInstrDesc &Desc = MCII->get(Opcode);
+    for (unsigned Idx = 0; Idx < Desc.getNumOperands(); ++Idx) {
+      AMDGPU::OpName OpName = AMDGPU::getOperandIdxName(Opcode, Idx);
+      if (OpName == AMDGPU::OpName::NUM_OPERAND_NAMES)
+        continue;
+      int16_t RetrievedIdx = AMDGPU::getNamedOperandIdx(Opcode, OpName);
+      EXPECT_EQ(Idx, RetrievedIdx)
+          << "Opcode " << Opcode << " (" << MCII->getName(Opcode) << ")";
+    }
+  }
+}
----------------
arsenm wrote:

```suggestion
}

```

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


More information about the llvm-commits mailing list