diff options
author | Eric Christopher <echristo@apple.com> | 2012-05-19 00:51:56 +0000 |
---|---|---|
committer | Eric Christopher <echristo@apple.com> | 2012-05-19 00:51:56 +0000 |
commit | 75f89b54b588521e9e5aac113e3c4f7088bb6106 (patch) | |
tree | 6020ac14f019b67ea5620189598a22f9838b9206 /lib/Target/Mips | |
parent | 8aa22019ca5ef29a15058be905d782e7225aa206 (diff) | |
download | external_llvm-75f89b54b588521e9e5aac113e3c4f7088bb6106.zip external_llvm-75f89b54b588521e9e5aac113e3c4f7088bb6106.tar.gz external_llvm-75f89b54b588521e9e5aac113e3c4f7088bb6106.tar.bz2 |
Add support for the 'd' mips inline asm output modifier.
Patch by Jack Carter.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@157093 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/Mips')
-rw-r--r-- | lib/Target/Mips/MipsAsmPrinter.cpp | 29 |
1 files changed, 17 insertions, 12 deletions
diff --git a/lib/Target/Mips/MipsAsmPrinter.cpp b/lib/Target/Mips/MipsAsmPrinter.cpp index 3fa773b..d62df4d 100644 --- a/lib/Target/Mips/MipsAsmPrinter.cpp +++ b/lib/Target/Mips/MipsAsmPrinter.cpp @@ -376,18 +376,23 @@ bool MipsAsmPrinter::PrintAsmOperand(const MachineInstr *MI, unsigned OpNum, const MachineOperand &MO = MI->getOperand(OpNum); switch (ExtraCode[0]) { - default: - return true; // Unknown modifier. - case 'X': // hex const int - if ((MO.getType()) != MachineOperand::MO_Immediate) - return true; - O << "0x" << StringRef(utohexstr(MO.getImm())).lower(); - return false; - case 'x': // hex const int (low 16 bits) - if ((MO.getType()) != MachineOperand::MO_Immediate) - return true; - O << "0x" << StringRef(utohexstr(MO.getImm() & 0xffff)).lower(); - return false; + default: + return true; // Unknown modifier. + case 'X': // hex const int + if ((MO.getType()) != MachineOperand::MO_Immediate) + return true; + O << "0x" << StringRef(utohexstr(MO.getImm())).lower(); + return false; + case 'x': // hex const int (low 16 bits) + if ((MO.getType()) != MachineOperand::MO_Immediate) + return true; + O << "0x" << StringRef(utohexstr(MO.getImm() & 0xffff)).lower(); + return false; + case 'd': // decimal const int + if ((MO.getType()) != MachineOperand::MO_Immediate) + return true; + O << MO.getImm(); + return false; } } |