Fixed some bugs in register stack pass.
[llvm/zpu.git] / test / CodeGen / X86 / byval7.ll
blob686ed9c74dde12f10db7de0f8306155b0f102b5d
1 ; RUN: llc < %s -march=x86 -mcpu=yonah | FileCheck %s
3         %struct.S = type { <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>,
4                            <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>,
5                            <2 x i64> }
7 define i32 @main() nounwind  {
8 entry:
9 ; CHECK: main:
10 ; CHECK: movl $1, (%esp)
11 ; CHECK: leal 16(%esp), %edi
12 ; CHECK: movl $36, %ecx
13 ; CHECK: leal 160(%esp), %esi
14 ; CHECK: rep;movsl
15         %s = alloca %struct.S           ; <%struct.S*> [#uses=2]
16         %tmp15 = getelementptr %struct.S* %s, i32 0, i32 0              ; <<2 x i64>*> [#uses=1]
17         store <2 x i64> < i64 8589934595, i64 1 >, <2 x i64>* %tmp15, align 16
18         call void @t( i32 1, %struct.S* byval  %s ) nounwind 
19         ret i32 0
22 declare void @t(i32, %struct.S* byval )