From c784395a79ba44f12816ab71b6468e40c2c29ccb 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@157410 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Target/Mips/MipsAsmPrinter.cpp | 8 +++++++- test/CodeGen/Mips/null.ll | 3 +++ 2 files changed, 10 insertions(+), 1 deletion(-) 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 } -- 2.34.1