f4942869687c06f2bb6fd7504b074b34937b3600
[oota-llvm.git] / test / CodeGen / X86 / byval3.ll
1 ; RUN: llvm-as < %s | llc -march=x86-64 | grep rep.movsl | count 2
2
3 %struct.s = type { i32, i32, i32, i32, i32, i32 }
4
5 define void @g(i32 %a1, i32 %a2, i32 %a3, i32 %a4, i32 %a5, i32 %a6) {
6 entry:
7         %d = alloca %struct.s, align 16
8         %tmp = getelementptr %struct.s* %d, i32 0, i32 0
9         store i32 %a1, i32* %tmp, align 16
10         %tmp2 = getelementptr %struct.s* %d, i32 0, i32 1
11         store i32 %a2, i32* %tmp2, align 16
12         %tmp4 = getelementptr %struct.s* %d, i32 0, i32 2
13         store i32 %a3, i32* %tmp4, align 16
14         %tmp6 = getelementptr %struct.s* %d, i32 0, i32 3
15         store i32 %a4, i32* %tmp6, align 16
16         %tmp8 = getelementptr %struct.s* %d, i32 0, i32 4
17         store i32 %a5, i32* %tmp8, align 16
18         %tmp10 = getelementptr %struct.s* %d, i32 0, i32 5
19         store i32 %a6, i32* %tmp10, align 16
20         call void @f( %struct.s* %d byval)
21         call void @f( %struct.s* %d byval)
22         ret void
23 }
24
25 declare void @f(%struct.s* byval)