[llvm-commits] CVS: llvm/test/Regression/CodeGen/X86/2006-11-28-Memcpy.ll

Evan Cheng evan.cheng at apple.com
Tue Nov 28 17:57:21 PST 2006



Changes in directory llvm/test/Regression/CodeGen/X86:

2006-11-28-Memcpy.ll added (r1.1)
---
Log message:

Add test cases for PR1022: http://llvm.org/PR1022 , 1023.

---
Diffs of the changes:  (+34 -0)

 2006-11-28-Memcpy.ll |   34 ++++++++++++++++++++++++++++++++++
 1 files changed, 34 insertions(+)


Index: llvm/test/Regression/CodeGen/X86/2006-11-28-Memcpy.ll
diff -c /dev/null llvm/test/Regression/CodeGen/X86/2006-11-28-Memcpy.ll:1.1
*** /dev/null	Tue Nov 28 19:57:16 2006
--- llvm/test/Regression/CodeGen/X86/2006-11-28-Memcpy.ll	Tue Nov 28 19:57:06 2006
***************
*** 0 ****
--- 1,34 ----
+ ; RUN: llvm-as < %s | llc -march=x86 &&
+ ; RUN: llvm-as < %s | llc -march=x86 | grep 3721182122 | wc -l | grep 1 &&
+ ; RUN: llvm-as < %s | llc -march=x86 | grep 'movl _bytes2' | wc -l | grep 1
+ ; PR1022, 1023
+ 
+ %fmt = constant [4 x sbyte] c"%x\0A\00"
+ %bytes = constant [4 x sbyte] c"\AA\BB\CC\DD"
+ %bytes2 = global [4 x sbyte] c"\AA\BB\CC\DD"
+ 
+ 
+ int %test1() {
+         %y = alloca uint
+         %c = cast uint* %y to sbyte*
+         %z = getelementptr [4 x sbyte]* %bytes, int 0, int 0
+         call void %llvm.memcpy.i32( sbyte* %c, sbyte* %z, uint 4, uint 1 )
+         %r = load uint* %y
+         %t = cast [4 x sbyte]* %fmt to sbyte*
+         %tmp = call int (sbyte*, ...)* %printf( sbyte* %t, uint %r )
+         ret int 0
+ }
+ 
+ void %test2() {
+         %y = alloca uint
+         %c = cast uint* %y to sbyte*
+         %z = getelementptr [4 x sbyte]* %bytes2, int 0, int 0
+         call void %llvm.memcpy.i32( sbyte* %c, sbyte* %z, uint 4, uint 1 )
+         %r = load uint* %y
+         %t = cast [4 x sbyte]* %fmt to sbyte*
+         %tmp = call int (sbyte*, ...)* %printf( sbyte* %t, uint %r )
+         ret void
+ }
+ 
+ declare void %llvm.memcpy.i32(sbyte*, sbyte*, uint, uint)
+ declare int %printf(sbyte*, ...)






More information about the llvm-commits mailing list