Fix a bad typo in the inline assembly code for mips16 pic fp stubs
[oota-llvm.git] / lib / Target / Mips / Mips16HardFloat.cpp
index 14a942490f5ee7a49708bd6c7a4c7d1c6c86f119..4d728bdfc697d2d41efbdeaa74796eeb3ee10c5f 100644 (file)
@@ -421,7 +421,7 @@ static void createFPFnStub(Function *F, Module *M, FPParamVariant PV,
   std::string Name = F->getName();
   std::string SectionName = ".mips16.fn." + Name;
   std::string StubName = "__fn_stub_" + Name;
-  std::string LocalName = "__fn_local_" + Name;
+  std::string LocalName = "$$__fn_local_" + Name;
   Function *FStub = Function::Create
     (F->getFunctionType(),
      Function::InternalLinkage, StubName, M);
@@ -436,14 +436,14 @@ static void createFPFnStub(Function *F, Module *M, FPParamVariant PV,
   IAH.Out(" .set  macro");
   if (PicMode) {
     IAH.Out(".set noreorder");
-    IAH.Out(".cpload  $$2");
+    IAH.Out(".cpload  $$25");
     IAH.Out(".set reorder");
     IAH.Out(".reloc 0,R_MIPS_NONE," + Name);
     IAH.Out("la $$25," + LocalName);
   }
   else {
     IAH.Out(".set reorder");
-    IAH.Out("la $$25, " + Name);
+    IAH.Out("la $$25," + Name);
   }
   swapFPIntParams(PV, M, IAH, LE, false);
   IAH.Out("jr $$25");