diff --git a/llvm/lib/Target/AVR/AVRInstrInfo.td b/llvm/lib/Target/AVR/AVRInstrInfo.td --- a/llvm/lib/Target/AVR/AVRInstrInfo.td +++ b/llvm/lib/Target/AVR/AVRInstrInfo.td @@ -183,7 +183,10 @@ } // Address operand for `SP+imm` used by STD{W}SPQRr -def memspi : Operand { let MIOperandInfo = (ops GPRSP, i16imm); } +def memspi : Operand { + let MIOperandInfo = (ops GPRSP, i16imm); + let PrintMethod = "printMemspi"; +} def relbrtarget_7 : Operand { let PrintMethod = "printPCRelImm"; diff --git a/llvm/lib/Target/AVR/MCTargetDesc/AVRInstPrinter.h b/llvm/lib/Target/AVR/MCTargetDesc/AVRInstPrinter.h --- a/llvm/lib/Target/AVR/MCTargetDesc/AVRInstPrinter.h +++ b/llvm/lib/Target/AVR/MCTargetDesc/AVRInstPrinter.h @@ -43,6 +43,9 @@ printPCRelImm(MI, OpNo, O); } void printMemri(const MCInst *MI, unsigned OpNo, raw_ostream &O); + void printMemspi(const MCInst *MI, unsigned OpNo, raw_ostream &O) { + printMemri(MI, OpNo, O); + } // Autogenerated by TableGen. std::pair getMnemonic(const MCInst *MI) override;