Index: llvm/trunk/lib/Target/Mips/InstPrinter/MipsInstPrinter.cpp =================================================================== --- llvm/trunk/lib/Target/Mips/InstPrinter/MipsInstPrinter.cpp +++ llvm/trunk/lib/Target/Mips/InstPrinter/MipsInstPrinter.cpp @@ -195,7 +195,7 @@ } if (Op.isImm()) { - O << Op.getImm(); + O << formatImm(Op.getImm()); return; } @@ -211,7 +211,7 @@ Imm -= Offset; Imm &= (1 << Bits) - 1; Imm += Offset; - O << Imm; + O << formatImm(Imm); return; } Index: llvm/trunk/test/MC/Mips/hex-immediates.s =================================================================== --- llvm/trunk/test/MC/Mips/hex-immediates.s +++ llvm/trunk/test/MC/Mips/hex-immediates.s @@ -0,0 +1,11 @@ +# RUN: llvm-mc -filetype=obj %s -triple=mips-unknown-linux \ +# RUN: | llvm-objdump -d --print-imm-hex - | FileCheck %s + +# CHECK: jal 0x20 +# CHECK: addiu $sp, $sp, -0x20 +# CHECK: sw $2, 0x10($fp) + +jal 32 +addiu $sp, $sp, -32 +sw $2, 16($fp) +lui $2, 2