diff --git a/llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp b/llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp --- a/llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp +++ b/llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp @@ -704,8 +704,8 @@ int ImmLitIdx = AMDGPU::getNamedOperandIdx(MI.getOpcode(), AMDGPU::OpName::imm); - bool isVOP2 = MCII->get(MI.getOpcode()).TSFlags & SIInstrFlags::VOP2; - if (Res && ImmLitIdx != -1 && (isVOP2 || AMDGPU::isVOPD(MI.getOpcode()))) + bool IsSOPK = MCII->get(MI.getOpcode()).TSFlags & SIInstrFlags::SOPK; + if (Res && ImmLitIdx != -1 && !IsSOPK) Res = convertFMAanyK(MI, ImmLitIdx); // if the opcode was not recognized we'll assume a Size of 4 bytes