diff --git a/llvm/lib/Target/AVR/MCTargetDesc/AVRInstPrinter.cpp b/llvm/lib/Target/AVR/MCTargetDesc/AVRInstPrinter.cpp --- a/llvm/lib/Target/AVR/MCTargetDesc/AVRInstPrinter.cpp +++ b/llvm/lib/Target/AVR/MCTargetDesc/AVRInstPrinter.cpp @@ -131,7 +131,7 @@ O << getPrettyRegisterName(Op.getReg(), MRI); } } else if (Op.isImm()) { - O << Op.getImm(); + O << formatImm(Op.getImm()); } else { assert(Op.isExpr() && "Unknown operand kind in printOperand"); O << *Op.getExpr(); diff --git a/llvm/test/MC/AVR/hex-immediates.s b/llvm/test/MC/AVR/hex-immediates.s new file mode 100644 --- /dev/null +++ b/llvm/test/MC/AVR/hex-immediates.s @@ -0,0 +1,7 @@ +; RUN: llvm-mc -filetype=obj -triple=avr %s -o %t +; RUN: llvm-objdump -d %t | FileCheck %s --check-prefix=DEC +; RUN: llvm-objdump -d --print-imm-hex %t | FileCheck %s --check-prefix=HEX + +; DEC: ldi r24, 66 +; HEX: ldi r24, 0x42 + ldi r24, 0x42