From a649cc75b37387df759f5d128582b4aa99f59041 Mon Sep 17 00:00:00 2001 From: Akira Hatanaka Date: Thu, 24 May 2012 18:37:43 +0000 Subject: [PATCH] Turn on mips16 pseudo op when compiling for mips16. Expand test case for this. Patch by Reed Kotler. llvm-svn: 157410 --- llvm/lib/Target/Mips/MipsAsmPrinter.cpp | 8 +++++++- llvm/test/CodeGen/Mips/null.ll | 3 +++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/llvm/lib/Target/Mips/MipsAsmPrinter.cpp b/llvm/lib/Target/Mips/MipsAsmPrinter.cpp index d62df4d..dfeae9a 100644 --- a/llvm/lib/Target/Mips/MipsAsmPrinter.cpp +++ b/llvm/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/llvm/test/CodeGen/Mips/null.ll b/llvm/test/CodeGen/Mips/null.ll index a5e2c06..f34f6a4 100644 --- a/llvm/test/CodeGen/Mips/null.ll +++ b/llvm/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 } -- 2.7.4