f438160bdaabd4beb2b2aec5a2eef213bfd8dc82
[oota-llvm.git] / test / CodeGen / X86 / byval2.ll
1 ; RUN: llvm-as < %s | llc -march=x86-64 | grep rep.movsq | count 2
2 ; RUN: llvm-as < %s | llc -march=x86    | grep rep.movsl | count 2
3
4 %struct.s = type { i64, i64, i64 }
5
6 define void @g(i64 %a, i64 %b, i64 %c) {
7 entry:
8         %d = alloca %struct.s, align 16
9         %tmp = getelementptr %struct.s* %d, i32 0, i32 0
10         store i64 %a, i64* %tmp, align 16
11         %tmp2 = getelementptr %struct.s* %d, i32 0, i32 1
12         store i64 %b, i64* %tmp2, align 16
13         %tmp4 = getelementptr %struct.s* %d, i32 0, i32 2
14         store i64 %c, i64* %tmp4, align 16
15         call void @f( %struct.s* %d byval)
16         call void @f( %struct.s* %d byval)
17         ret void
18 }
19
20 declare void @f(%struct.s* byval)