2006-12-02 04:23:10 +00:00
|
|
|
; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis
|
2004-02-28 05:28:42 +00:00
|
|
|
|
2006-12-02 20:41:53 +00:00
|
|
|
declare void %llvm.memmove.i32(sbyte*, sbyte*, uint, uint)
|
|
|
|
declare void %llvm.memcpy.i32(sbyte*, sbyte*, uint, uint)
|
|
|
|
declare void %llvm.memset.i32(sbyte*, ubyte, uint, uint)
|
2004-02-28 05:28:42 +00:00
|
|
|
|
|
|
|
%X = global sbyte 0
|
|
|
|
%Y = global sbyte 12
|
|
|
|
|
|
|
|
void %zero_byte_test() {
|
|
|
|
; These process zero bytes, so they are a noop.
|
2006-12-02 20:41:53 +00:00
|
|
|
call void %llvm.memmove.i32(sbyte* %X, sbyte* %Y, uint 0, uint 100)
|
|
|
|
call void %llvm.memcpy.i32(sbyte* %X, sbyte* %Y, uint 0, uint 100)
|
|
|
|
call void %llvm.memset.i32(sbyte* %X, ubyte 123, uint 0, uint 100)
|
2004-02-28 05:28:42 +00:00
|
|
|
ret void
|
|
|
|
}
|
|
|
|
|