diff options
author | NAKAMURA Takumi <geek4civic@gmail.com> | 2011-02-05 15:11:32 +0000 |
---|---|---|
committer | NAKAMURA Takumi <geek4civic@gmail.com> | 2011-02-05 15:11:32 +0000 |
commit | 1850c80afb3f55d2476d9e4f10c9cd507f2ff858 (patch) | |
tree | d511e0339d996a1c947f04226de40644cbb89c70 /llvm/test | |
parent | b21c3db9204e6c45b7aca16e612e0d4a6e559ec5 (diff) | |
download | bcm5719-llvm-1850c80afb3f55d2476d9e4f10c9cd507f2ff858.tar.gz bcm5719-llvm-1850c80afb3f55d2476d9e4f10c9cd507f2ff858.zip |
Target/X86: Tweak allocating shadow area (aka home) on Win64. It must be enough for caller to allocate one.
llvm-svn: 124949
Diffstat (limited to 'llvm/test')
-rw-r--r-- | llvm/test/CodeGen/X86/2009-06-03-Win64DisableRedZone.ll | 9 | ||||
-rw-r--r-- | llvm/test/CodeGen/X86/2009-06-03-Win64SpillXMM.ll | 14 | ||||
-rw-r--r-- | llvm/test/CodeGen/X86/win64_params.ll | 4 | ||||
-rw-r--r-- | llvm/test/CodeGen/X86/win64_vararg.ll | 10 |
4 files changed, 17 insertions, 20 deletions
diff --git a/llvm/test/CodeGen/X86/2009-06-03-Win64DisableRedZone.ll b/llvm/test/CodeGen/X86/2009-06-03-Win64DisableRedZone.ll index c5982285afe..9d06a9e84d0 100644 --- a/llvm/test/CodeGen/X86/2009-06-03-Win64DisableRedZone.ll +++ b/llvm/test/CodeGen/X86/2009-06-03-Win64DisableRedZone.ll @@ -1,9 +1,8 @@ -; RUN: llc < %s | grep "subq.*\\\$40, \\\%rsp" -target triple = "x86_64-pc-mingw64" +; RUN: llc -mtriple=x86_64-pc-mingw64 < %s | FileCheck %s +; CHECK-NOT: -{{[1-9][0-9]*}}(%rsp) define x86_fp80 @a(i64 %x) nounwind readnone { entry: - %conv = sitofp i64 %x to x86_fp80 ; <x86_fp80> [#uses=1] - ret x86_fp80 %conv + %conv = sitofp i64 %x to x86_fp80 ; <x86_fp80> [#uses=1] + ret x86_fp80 %conv } - diff --git a/llvm/test/CodeGen/X86/2009-06-03-Win64SpillXMM.ll b/llvm/test/CodeGen/X86/2009-06-03-Win64SpillXMM.ll index 810a6f4d6c6..6e8d9a996ef 100644 --- a/llvm/test/CodeGen/X86/2009-06-03-Win64SpillXMM.ll +++ b/llvm/test/CodeGen/X86/2009-06-03-Win64SpillXMM.ll @@ -1,12 +1,10 @@ -; RUN: llc < %s -o %t1 -; RUN: grep "subq.*\\\$72, \\\%rsp" %t1 -; RUN: grep "movaps \\\%xmm8, 32\\\(\\\%rsp\\\)" %t1 -; RUN: grep "movaps \\\%xmm7, 48\\\(\\\%rsp\\\)" %t1 -target triple = "x86_64-pc-mingw64" +; RUN: llc -mtriple=x86_64-pc-mingw64 < %s | FileCheck %s +; CHECK: subq $40, %rsp +; CHECK: movaps %xmm8, (%rsp) +; CHECK: movaps %xmm7, 16(%rsp) define i32 @a() nounwind { entry: - tail call void asm sideeffect "", "~{xmm7},~{xmm8},~{dirflag},~{fpsr},~{flags}"() nounwind - ret i32 undef + tail call void asm sideeffect "", "~{xmm7},~{xmm8},~{dirflag},~{fpsr},~{flags}"() nounwind + ret i32 undef } - diff --git a/llvm/test/CodeGen/X86/win64_params.ll b/llvm/test/CodeGen/X86/win64_params.ll index 0b67368e04f..f9d4bf9c309 100644 --- a/llvm/test/CodeGen/X86/win64_params.ll +++ b/llvm/test/CodeGen/X86/win64_params.ll @@ -4,8 +4,8 @@ ; on the stack. define i32 @f6(i32 %p1, i32 %p2, i32 %p3, i32 %p4, i32 %p5, i32 %p6) nounwind readnone optsize { entry: -; CHECK: movl 80(%rsp), %eax -; CHECK: addl 72(%rsp), %eax +; CHECK: movl 48(%rsp), %eax +; CHECK: addl 40(%rsp), %eax %add = add nsw i32 %p6, %p5 ret i32 %add } diff --git a/llvm/test/CodeGen/X86/win64_vararg.ll b/llvm/test/CodeGen/X86/win64_vararg.ll index 072f36afb7b..a451318f6e8 100644 --- a/llvm/test/CodeGen/X86/win64_vararg.ll +++ b/llvm/test/CodeGen/X86/win64_vararg.ll @@ -5,11 +5,11 @@ ; calculated. define void @average_va(i32 %count, ...) nounwind { entry: -; CHECK: subq $40, %rsp -; CHECK: movq %r9, 72(%rsp) -; CHECK: movq %r8, 64(%rsp) -; CHECK: movq %rdx, 56(%rsp) -; CHECK: leaq 56(%rsp), %rax +; CHECK: pushq +; CHECK: movq %r9, 40(%rsp) +; CHECK: movq %r8, 32(%rsp) +; CHECK: movq %rdx, 24(%rsp) +; CHECK: leaq 24(%rsp), %rax %ap = alloca i8*, align 8 ; <i8**> [#uses=1] %ap1 = bitcast i8** %ap to i8* ; <i8*> [#uses=1] |