1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-24 03:33:20 +01:00
llvm-mirror/test/CodeGen/X86/memcpy.ll
Rafael Espindola 01b306e575 Refactor the memcpy lowering for the x86 target.
The only generated code difference is that now we call memcpy when
the size of the array is unknown. This matches GCC behavior and is
better since the run time value can be arbitrarily large.

llvm-svn: 42433
2007-09-28 12:53:01 +00:00

18 lines
473 B
LLVM

; RUN: llvm-as < %s | llc -march=x86-64 | grep call.*memcpy | count 2
declare void @llvm.memcpy.i64(i8*, i8*, i64, i32)
define i8* @my_memcpy(i8* %a, i8* %b, i64 %n) {
entry:
tail call void @llvm.memcpy.i64( i8* %a, i8* %b, i64 %n, i32 1 )
ret i8* %a
}
define i8* @my_memcpy2(i64* %a, i64* %b, i64 %n) {
entry:
%tmp14 = bitcast i64* %a to i8*
%tmp25 = bitcast i64* %b to i8*
tail call void @llvm.memcpy.i64(i8* %tmp14, i8* %tmp25, i64 %n, i32 8 )
ret i8* %tmp14
}