diff --git a/llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp b/llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp --- a/llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp +++ b/llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp @@ -1738,10 +1738,6 @@ void cvtVOP3Interp(MCInst &Inst, const OperandVector &Operands); void cvtVINTERP(MCInst &Inst, const OperandVector &Operands); - - void cvtMIMG(MCInst &Inst, const OperandVector &Operands, - bool IsAtomic = false); - void cvtMIMGAtomic(MCInst &Inst, const OperandVector &Operands); void cvtSMEMAtomic(MCInst &Inst, const OperandVector &Operands); bool parseDimId(unsigned &Encoding); @@ -7654,60 +7650,9 @@ } //===----------------------------------------------------------------------===// -// mimg +// SMEM //===----------------------------------------------------------------------===// -void AMDGPUAsmParser::cvtMIMG(MCInst &Inst, const OperandVector &Operands, - bool IsAtomic) { - unsigned I = 1; - const MCInstrDesc &Desc = MII.get(Inst.getOpcode()); - for (unsigned J = 0; J < Desc.getNumDefs(); ++J) { - ((AMDGPUOperand &)*Operands[I++]).addRegOperands(Inst, 1); - } - - if (IsAtomic) { - // Add src, same as dst - assert(Desc.getNumDefs() == 1); - ((AMDGPUOperand &)*Operands[I - 1]).addRegOperands(Inst, 1); - } - - OptionalImmIndexMap OptionalIdx; - - for (unsigned E = Operands.size(); I != E; ++I) { - AMDGPUOperand &Op = ((AMDGPUOperand &)*Operands[I]); - - // Add the register arguments - if (Op.isReg()) { - Op.addRegOperands(Inst, 1); - } else if (Op.isImmModifier()) { - OptionalIdx[Op.getImmTy()] = I; - } else if (!Op.isToken()) { - llvm_unreachable("unexpected operand type"); - } - } - - bool IsGFX10Plus = isGFX10Plus(); - - addOptionalImmOperand(Inst, Operands, OptionalIdx, AMDGPUOperand::ImmTyDMask); - if (IsGFX10Plus) - addOptionalImmOperand(Inst, Operands, OptionalIdx, AMDGPUOperand::ImmTyDim, -1); - addOptionalImmOperand(Inst, Operands, OptionalIdx, AMDGPUOperand::ImmTyUNorm); - addOptionalImmOperand(Inst, Operands, OptionalIdx, AMDGPUOperand::ImmTyCPol); - addOptionalImmOperand(Inst, Operands, OptionalIdx, AMDGPUOperand::ImmTyR128A16); - if (IsGFX10Plus) - addOptionalImmOperand(Inst, Operands, OptionalIdx, AMDGPUOperand::ImmTyA16); - if (AMDGPU::hasNamedOperand(Inst.getOpcode(), AMDGPU::OpName::tfe)) - addOptionalImmOperand(Inst, Operands, OptionalIdx, AMDGPUOperand::ImmTyTFE); - addOptionalImmOperand(Inst, Operands, OptionalIdx, AMDGPUOperand::ImmTyLWE); - if (!IsGFX10Plus) - addOptionalImmOperand(Inst, Operands, OptionalIdx, AMDGPUOperand::ImmTyDA); - addOptionalImmOperand(Inst, Operands, OptionalIdx, AMDGPUOperand::ImmTyD16); -} - -void AMDGPUAsmParser::cvtMIMGAtomic(MCInst &Inst, const OperandVector &Operands) { - cvtMIMG(Inst, Operands, true); -} - void AMDGPUAsmParser::cvtSMEMAtomic(MCInst &Inst, const OperandVector &Operands) { OptionalImmIndexMap OptionalIdx; bool IsAtomicReturn = false; diff --git a/llvm/lib/Target/AMDGPU/MIMGInstructions.td b/llvm/lib/Target/AMDGPU/MIMGInstructions.td --- a/llvm/lib/Target/AMDGPU/MIMGInstructions.td +++ b/llvm/lib/Target/AMDGPU/MIMGInstructions.td @@ -207,7 +207,6 @@ : MIMG_Base { let hasPostISelHook = 1; - let AsmMatchConverter = "cvtMIMG"; Instruction Opcode = !cast(NAME); MIMGBaseOpcode BaseOpcode; @@ -693,7 +692,6 @@ RegisterClass addr_rc, string dns=""> : MIMG_gfx6789 { let Constraints = "$vdst = $vdata"; - let AsmMatchConverter = "cvtMIMGAtomic"; let InOperandList = (ins data_rc:$vdata, addr_rc:$vaddr, SReg_256:$srsrc, DMask:$dmask, UNorm:$unorm, CPol:$cpol, @@ -705,7 +703,6 @@ RegisterClass addr_rc, string dns=""> : MIMG_gfx90a .ret:$vdst), dns> { let Constraints = "$vdst = $vdata"; - let AsmMatchConverter = "cvtMIMGAtomic"; let InOperandList = (ins getLdStRegisterOperand.ret:$vdata, addr_rc:$vaddr, SReg_256:$srsrc, @@ -741,7 +738,6 @@ : MIMG_gfx10(op.GFX10M), (outs DataRC:$vdst), !if(enableDisasm, "AMDGPU", "")> { let Constraints = "$vdst = $vdata"; - let AsmMatchConverter = "cvtMIMGAtomic"; let InOperandList = (ins DataRC:$vdata, AddrRC:$vaddr0, SReg_256:$srsrc, DMask:$dmask, Dim:$dim, UNorm:$unorm, CPol:$cpol, @@ -755,7 +751,6 @@ : MIMG_nsa_gfx10(op.GFX10M), (outs DataRC:$vdst), num_addrs, !if(enableDisasm, "AMDGPU", "")> { let Constraints = "$vdst = $vdata"; - let AsmMatchConverter = "cvtMIMGAtomic"; let InOperandList = !con((ins DataRC:$vdata), AddrIns, @@ -771,7 +766,6 @@ : MIMG_gfx11(op.GFX11), (outs DataRC:$vdst), !if(enableDisasm, "AMDGPU", "")> { let Constraints = "$vdst = $vdata"; - let AsmMatchConverter = "cvtMIMGAtomic"; let InOperandList = (ins DataRC:$vdata, AddrRC:$vaddr0, SReg_256:$srsrc, DMask:$dmask, Dim:$dim, UNorm:$unorm, CPol:$cpol, @@ -785,7 +779,6 @@ : MIMG_nsa_gfx11(op.GFX11), (outs DataRC:$vdst), num_addrs, !if(enableDisasm, "AMDGPU", "")> { let Constraints = "$vdst = $vdata"; - let AsmMatchConverter = "cvtMIMGAtomic"; let InOperandList = !con((ins DataRC:$vdata), AddrIns, @@ -1228,8 +1221,7 @@ let BVH = 1; let A16 = IsA16; } - let AsmMatchConverter = "", - dmask = 0xf, + let dmask = 0xf, unorm = 1, d16 = 0, cpol = 0,