Fix pointer info on PPC byval stores
[oota-llvm.git] / test / Transforms / InstCombine / memcpy.ll
index 2e7b2c0bb41d57805977b0f29b3d93108e5ee02a..f66e14c95af7926ec3713d8d18f5d4039c16146a 100644 (file)
@@ -1,10 +1,27 @@
 ; RUN: opt < %s -instcombine -S | FileCheck %s
 
-declare void @llvm.memcpy.i32(i8*, i8*, i32, i32)
+declare void @llvm.memcpy.p0i8.p0i8.i32(i8* nocapture, i8* nocapture, i32, i32, i1) nounwind
+declare void @llvm.memcpy.p0i8.p0i8.i64(i8* nocapture, i8* nocapture, i64, i32, i1) nounwind
 
-define void @test4(i8* %a) {
-        tail call void @llvm.memcpy.i32( i8* %a, i8* %a, i32 100, i32 1 )
+define void @test1(i8* %a) {
+        tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %a, i8* %a, i32 100, i32 1, i1 false)
         ret void
-}
-; CHECK: define void @test4
+; CHECK-LABEL: define void @test1(
 ; CHECK-NEXT: ret void
+}
+
+
+; PR8267
+define void @test2(i8* %a) {
+        tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %a, i8* %a, i32 100, i32 1, i1 true)
+        ret void
+; CHECK-LABEL: define void @test2(
+; CHECK-NEXT: call void @llvm.memcpy
+}
+
+define void @test3(i8* %d, i8* %s) {
+        tail call void @llvm.memcpy.p0i8.p0i8.i64(i8* %d, i8* %s, i64 17179869184, i32 4, i1 false)
+        ret void
+; CHECK-LABEL: define void @test3(
+; CHECK-NEXT: call void @llvm.memcpy
+}