From: Akira Hatanaka Date: Thu, 24 May 2012 18:37:43 +0000 (+0000) Subject: Turn on mips16 pseudo op when compiling for mips16. X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=c784395a79ba44f12816ab71b6468e40c2c29ccb;p=oota-llvm.git Turn on mips16 pseudo op when compiling for mips16. Expand test case for this. Patch by Reed Kotler. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@157410 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Target/Mips/MipsAsmPrinter.cpp b/lib/Target/Mips/MipsAsmPrinter.cpp index d62df4dcc33..dfeae9a4162 100644 --- a/lib/Target/Mips/MipsAsmPrinter.cpp +++ b/lib/Target/Mips/MipsAsmPrinter.cpp @@ -274,8 +274,14 @@ const char *MipsAsmPrinter::getCurrentABIString() const { } void MipsAsmPrinter::EmitFunctionEntryLabel() { - if (OutStreamer.hasRawTextSupport()) + if (OutStreamer.hasRawTextSupport()) { + if (Subtarget->inMips16Mode()) + OutStreamer.EmitRawText(StringRef("\t.set\tmips16")); + else + OutStreamer.EmitRawText(StringRef("\t.set\tnomips16")); + OutStreamer.EmitRawText(StringRef("\t.set\tnomicromips")); OutStreamer.EmitRawText("\t.ent\t" + Twine(CurrentFnSym->getName())); + } OutStreamer.EmitLabel(CurrentFnSym); } diff --git a/test/CodeGen/Mips/null.ll b/test/CodeGen/Mips/null.ll index a5e2c06576d..f34f6a4b8cb 100644 --- a/test/CodeGen/Mips/null.ll +++ b/test/CodeGen/Mips/null.ll @@ -5,6 +5,9 @@ define i32 @main() nounwind { entry: ret i32 0 +; 16: .set mips16 # @main +; 16: .set nomicromips + ; 16: jr $ra }