summaryrefslogtreecommitdiffstats
path: root/llvm/lib
diff options
context:
space:
mode:
authorNAKAMURA Takumi <geek4civic@gmail.com>2011-02-05 15:11:03 +0000
committerNAKAMURA Takumi <geek4civic@gmail.com>2011-02-05 15:11:03 +0000
commitb1bbdd8d44a068a3b85263a986ccd386eb3854b7 (patch)
tree7e30c0d34cdb1df86c8b052caf895c9920317df3 /llvm/lib
parentf7f319d4d35c1b447f4afca97029b90e5b4364e9 (diff)
downloadbcm5719-llvm-b1bbdd8d44a068a3b85263a986ccd386eb3854b7.tar.gz
bcm5719-llvm-b1bbdd8d44a068a3b85263a986ccd386eb3854b7.zip
lib/Target/X86/X86JITInfo.cpp: Add Win64 stuff.
llvm-svn: 124947
Diffstat (limited to 'llvm/lib')
-rw-r--r--llvm/lib/Target/X86/X86JITInfo.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/llvm/lib/Target/X86/X86JITInfo.cpp b/llvm/lib/Target/X86/X86JITInfo.cpp
index 9a07700b930..3f88fa69d0e 100644
--- a/llvm/lib/Target/X86/X86JITInfo.cpp
+++ b/llvm/lib/Target/X86/X86JITInfo.cpp
@@ -127,9 +127,17 @@ extern "C" {
"movaps %xmm6, 96(%rsp)\n"
"movaps %xmm7, 112(%rsp)\n"
// JIT callee
+#ifdef _WIN64
+ "subq $32, %rsp\n"
+ "movq %rbp, %rcx\n" // Pass prev frame and return address
+ "movq 8(%rbp), %rdx\n"
+ "call " ASMPREFIX "X86CompilationCallback2\n"
+ "addq $32, %rsp\n"
+#else
"movq %rbp, %rdi\n" // Pass prev frame and return address
"movq 8(%rbp), %rsi\n"
"call " ASMPREFIX "X86CompilationCallback2\n"
+#endif
// Restore all XMM arg registers
"movaps 112(%rsp), %xmm7\n"
"movaps 96(%rsp), %xmm6\n"
OpenPOWER on IntegriCloud