Passing AVX 256-bit structures in Win64 was wrong.
[oota-llvm.git] / test / CodeGen / X86 / avx-win64-args.ll
1 ; RUN: llc < %s -mcpu=corei7-avx -mattr=+avx | FileCheck %s\r
2 target triple = "x86_64-pc-win32"\r
3 \r
4 declare <8 x float> @foo(<8 x float>, i32)\r
5 \r
6 define <8 x float> @test1(<8 x float> %x, <8 x float> %y) nounwind uwtable readnone ssp {\r
7 entry:\r
8 ; CHECK: test1\r
9 ; CHECK: leaq {{.*}}, %rcx\r
10 ; CHECK: movl {{.*}}, %edx\r
11 ; CHECK: call\r
12 ; CHECK: ret\r
13   %x1 = fadd  <8 x float>  %x, %y\r
14   %call = call  <8 x float> @foo(<8 x float> %x1, i32 1) nounwind\r
15   %y1 = fsub  <8 x float>  %call, %y\r
16   ret <8 x float> %y1\r
17 }\r
18 \r