diff options
| author | Eric Christopher <echristo@apple.com> | 2012-05-30 19:05:19 +0000 | 
|---|---|---|
| committer | Eric Christopher <echristo@apple.com> | 2012-05-30 19:05:19 +0000 | 
| commit | f481ab3877a6b00046385b5ac028164004e631ff (patch) | |
| tree | 0c0832d35f0944bf058122796176713fade68a20 | |
| parent | 0eda3e1de66a6ad8aaa902afcb602b7a19d398da (diff) | |
| download | bcm5719-llvm-f481ab3877a6b00046385b5ac028164004e631ff.tar.gz bcm5719-llvm-f481ab3877a6b00046385b5ac028164004e631ff.zip  | |
Add support for the mips inline asm 'm' output modifier.
Patch by Jack Carter.
llvm-svn: 157709
| -rw-r--r-- | llvm/lib/Target/Mips/MipsAsmPrinter.cpp | 5 | ||||
| -rw-r--r-- | llvm/test/CodeGen/Mips/inlineasm-operand-code.ll | 6 | 
2 files changed, 11 insertions, 0 deletions
diff --git a/llvm/lib/Target/Mips/MipsAsmPrinter.cpp b/llvm/lib/Target/Mips/MipsAsmPrinter.cpp index 6ed0513ac15..ed8a1871a1f 100644 --- a/llvm/lib/Target/Mips/MipsAsmPrinter.cpp +++ b/llvm/lib/Target/Mips/MipsAsmPrinter.cpp @@ -377,6 +377,11 @@ bool MipsAsmPrinter::PrintAsmOperand(const MachineInstr *MI, unsigned OpNum,          return true;        O << MO.getImm();        return false; +    case 'm': // decimal const int minus 1 +      if ((MO.getType()) != MachineOperand::MO_Immediate) +        return true; +      O << MO.getImm() - 1; +      return false;      }    } diff --git a/llvm/test/CodeGen/Mips/inlineasm-operand-code.ll b/llvm/test/CodeGen/Mips/inlineasm-operand-code.ll index 92abf84cc7e..2dcc10def2f 100644 --- a/llvm/test/CodeGen/Mips/inlineasm-operand-code.ll +++ b/llvm/test/CodeGen/Mips/inlineasm-operand-code.ll @@ -23,5 +23,11 @@ entry:  ;CHECK:	#NO_APP    tail call i32 asm sideeffect "addi $0,$1,${2:d}", "=r,r,I"(i32 7, i32 -3) nounwind +; m with -3 +;CHECK:	#APP +;CHECK:	addi ${{[0-9]+}},${{[0-9]+}},-4 +;CHECK:	#NO_APP +  tail call i32 asm sideeffect "addi $0,$1,${2:m}", "=r,r,I"(i32 7, i32 -3) nounwind +    ret i32 0  }  | 

