new testcases
[oota-llvm.git] / test / Bytecode / memcpy.ll
diff --git a/test/Bytecode/memcpy.ll b/test/Bytecode/memcpy.ll
new file mode 100644 (file)
index 0000000..eb1c22a
--- /dev/null
@@ -0,0 +1,21 @@
+; RUN: llvm-dis %s.bc-16 -o /dev/null -f &&
+; RUN: llc %s.bc-16 -o /dev/null -f -march=c &&
+; RUN: llvm-as < %s
+
+void %test(int* %P, int* %Q) {
+entry:
+       %tmp.1 = cast int* %P to sbyte*         ; <sbyte*> [#uses=2]
+       %tmp.3 = cast int* %Q to sbyte*         ; <sbyte*> [#uses=3]
+       tail call void %llvm.memcpy( sbyte* %tmp.1, sbyte* %tmp.3, uint 100000, uint 1 )
+       tail call void %llvm.memcpy( sbyte* %tmp.1, sbyte* %tmp.3, ulong 100000, uint 1 )
+       tail call void %llvm.memset( sbyte* %tmp.3, ubyte 14, uint 10000, uint 0 )
+       tail call void %llvm.memmove( sbyte* %tmp.1, sbyte* %tmp.3, uint 123124, uint 1 )
+       ret void
+}
+
+declare void %llvm.memcpy(sbyte*, sbyte*, uint, uint)
+declare void %llvm.memcpy(sbyte*, sbyte*, ulong, uint)
+
+declare void %llvm.memset(sbyte*, ubyte, uint, uint)
+
+declare void %llvm.memmove(sbyte*, sbyte*, uint, uint)