Pass AVX vectors which are arguments to varargs functions on the stack. <rdar://probl...
[oota-llvm.git] / test / CodeGen / X86 / vec_set-B.ll
1 ; RUN: llc < %s -march=x86 -mattr=+sse2 | not grep movaps
2 ; RUN: llc < %s -march=x86 -mattr=+sse2 | grep esp | count 2
3
4 ; These should both generate something like this:
5 ;_test3:
6 ;       movl    $1234567, %eax
7 ;       andl    4(%esp), %eax
8 ;       movd    %eax, %xmm0
9 ;       ret
10
11 define <2 x i64> @test3(i64 %arg) nounwind {
12 entry:
13         %A = and i64 %arg, 1234567
14         %B = insertelement <2 x i64> zeroinitializer, i64 %A, i32 0
15         ret <2 x i64> %B
16 }
17
18 define <2 x i64> @test2(i64 %arg) nounwind {
19 entry:
20         %A = and i64 %arg, 1234567
21         %B = insertelement <2 x i64> undef, i64 %A, i32 0
22         ret <2 x i64> %B
23 }
24