Fix live variables issues:
[oota-llvm.git] / test / CodeGen / X86 / 2004-02-12-Memcpy.llx
1 ; RUN: llvm-as < %s | llc -march=x86 -mtriple=i686-pc-linux-gnu | grep movs | count 1
2 ; RUN: llvm-as < %s | llc -march=x86 -mtriple=i686-pc-linux-gnu | grep memcpy | count 2
3
4 @A = global [32 x i32] zeroinitializer
5 @B = global [32 x i32] zeroinitializer
6
7 declare void @llvm.memcpy.i32(i8*, i8*, i32, i32)
8
9 define void @main() {
10   ; dword copy
11   call void @llvm.memcpy.i32(i8* bitcast ([32 x i32]* @A to i8*),
12                            i8* bitcast ([32 x i32]* @B to i8*),
13                            i32 128, i32 4 )
14
15   ; word copy
16   call void @llvm.memcpy.i32( i8* bitcast ([32 x i32]* @A to i8*),
17                            i8* bitcast ([32 x i32]* @B to i8*),
18                            i32 128, i32 2 )
19
20   ; byte copy
21   call void @llvm.memcpy.i32( i8* bitcast ([32 x i32]* @A to i8*),
22                            i8* bitcast ([32 x i32]* @B to i8*),
23                             i32 128, i32 1 )
24
25   ret void
26 }