Index: llvm/lib/Target/AVR/AVRInstrInfo.td =================================================================== --- llvm/lib/Target/AVR/AVRInstrInfo.td +++ llvm/lib/Target/AVR/AVRInstrInfo.td @@ -182,7 +182,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"; Index: llvm/lib/Target/AVR/MCTargetDesc/AVRInstPrinter.h =================================================================== --- llvm/lib/Target/AVR/MCTargetDesc/AVRInstPrinter.h +++ 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;