[llvm] [AMDGPU][Disassembler][NFCI] Always defer immediate operands. (PR #138885)

Joe Nash via llvm-commits llvm-commits at lists.llvm.org
Wed May 7 08:30:16 PDT 2025


================
@@ -711,6 +691,76 @@ DecodeStatus AMDGPUDisassembler::getInstruction(MCInst &MI, uint64_t &Size,
 
   DecodeStatus Status = MCDisassembler::Success;
 
+  // Handle immediates.
+  const MCInstrDesc &Desc = MCII->get(MI.getOpcode());
+  for (auto [OpNo, OpDesc] : enumerate(Desc.operands())) {
+    if (OpNo >= MI.getNumOperands())
+      continue;
+
+    // TODO: Fix V_DUAL_FMAMK_F32_X_FMAAK_F32_gfx12 vsrc operands,
+    // defined to take VGPR_32, but in reality allowing inline constants.
+    if (OpDesc.OperandType != MCOI::OPERAND_REGISTER &&
+        !(AMDGPU::OPERAND_SRC_FIRST <= OpDesc.OperandType &&
----------------
Sisyph wrote:

nit: Apply DeMorgan's rule?

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


More information about the llvm-commits mailing list