use pre-UAL mnemonics for push/pop for compilaton callback function
authorJim Grosbach <grosbach@apple.com>
Tue, 21 Oct 2008 16:54:12 +0000 (16:54 +0000)
committerJim Grosbach <grosbach@apple.com>
Tue, 21 Oct 2008 16:54:12 +0000 (16:54 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57911 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/ARM/ARMJITInfo.cpp

index 39cde991415dec274dea109dc14189704bfcc1fa..c2db9cda8f9db1209326978ac723e48b15511413 100644 (file)
@@ -56,7 +56,7 @@ extern "C" {
     // for the real target function right now. We have to act as if this
     // whole compilation callback doesn't exist as far as the caller is
     // concerned, so we can't just preserve the callee saved regs.
-    "push {r0, r1, r2, r3, lr}\n"
+    "stmdb sp!, {r0, r1, r2, r3, lr}\n"
     // The LR contains the address of the stub function on entry.
     // pass it as the argument to the C part of the callback
     "mov  r0, lr\n"
@@ -87,7 +87,7 @@ extern "C" {
     // The above twiddling of the saved return addresses allows us to
     // deallocate everything, including the LR the stub saved, all in one
     // pop instruction.
-    "pop  {r0, r1, r2, r3, lr, pc}\n"
+    "ldmia  sp!, {r0, r1, r2, r3, lr, pc}\n"
       );
 #else  // Not an ARM host
   void ARMCompilationCallback() {