Eli Friedman | 5842c99 | 2009-12-17 21:07:31 +0000 | [diff] [blame] | 1 | ; RUN: opt < %s -instcombine -S | FileCheck %s |
| 2 | |
Chris Lattner | 98e8267 | 2010-10-01 05:47:16 +0000 | [diff] [blame] | 3 | declare void @llvm.memcpy.p0i8.p0i8.i32(i8* nocapture, i8* nocapture, i32, i32, i1) nounwind |
Michael Liao | 69e172a | 2012-08-15 03:49:59 +0000 | [diff] [blame] | 4 | declare void @llvm.memcpy.p0i8.p0i8.i64(i8* nocapture, i8* nocapture, i64, i32, i1) nounwind |
Eli Friedman | 5842c99 | 2009-12-17 21:07:31 +0000 | [diff] [blame] | 5 | |
Chris Lattner | c663a67 | 2010-10-01 05:51:02 +0000 | [diff] [blame] | 6 | define void @test1(i8* %a) { |
Chris Lattner | 98e8267 | 2010-10-01 05:47:16 +0000 | [diff] [blame] | 7 | tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %a, i8* %a, i32 100, i32 1, i1 false) |
Eli Friedman | 5842c99 | 2009-12-17 21:07:31 +0000 | [diff] [blame] | 8 | ret void |
Stephen Lin | a76289a | 2013-07-14 01:50:49 +0000 | [diff] [blame] | 9 | ; CHECK-LABEL: define void @test1( |
Eli Friedman | 5842c99 | 2009-12-17 21:07:31 +0000 | [diff] [blame] | 10 | ; CHECK-NEXT: ret void |
Chris Lattner | c663a67 | 2010-10-01 05:51:02 +0000 | [diff] [blame] | 11 | } |
| 12 | |
| 13 | |
| 14 | ; PR8267 |
| 15 | define void @test2(i8* %a) { |
| 16 | tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %a, i8* %a, i32 100, i32 1, i1 true) |
| 17 | ret void |
Stephen Lin | a76289a | 2013-07-14 01:50:49 +0000 | [diff] [blame] | 18 | ; CHECK-LABEL: define void @test2( |
Chris Lattner | c663a67 | 2010-10-01 05:51:02 +0000 | [diff] [blame] | 19 | ; CHECK-NEXT: call void @llvm.memcpy |
| 20 | } |
Michael Liao | 69e172a | 2012-08-15 03:49:59 +0000 | [diff] [blame] | 21 | |
| 22 | define void @test3(i8* %d, i8* %s) { |
| 23 | tail call void @llvm.memcpy.p0i8.p0i8.i64(i8* %d, i8* %s, i64 17179869184, i32 4, i1 false) |
| 24 | ret void |
Stephen Lin | a76289a | 2013-07-14 01:50:49 +0000 | [diff] [blame] | 25 | ; CHECK-LABEL: define void @test3( |
Michael Liao | 69e172a | 2012-08-15 03:49:59 +0000 | [diff] [blame] | 26 | ; CHECK-NEXT: call void @llvm.memcpy |
| 27 | } |