Dan Gohman | 36a0947 | 2009-09-08 23:54:48 +0000 | [diff] [blame] | 1 | ; RUN: llc < %s -march=x86-64 | grep call.*memcpy | count 2 |
Rafael Espindola | 068317b | 2007-09-28 12:53:01 +0000 | [diff] [blame] | 2 | |
| 3 | declare void @llvm.memcpy.i64(i8*, i8*, i64, i32) |
| 4 | |
Evan Cheng | da72249 | 2010-04-05 22:30:05 +0000 | [diff] [blame^] | 5 | define i8* @my_memcpy(i8* %a, i8* %b, i64 %n) nounwind { |
Rafael Espindola | 068317b | 2007-09-28 12:53:01 +0000 | [diff] [blame] | 6 | entry: |
| 7 | tail call void @llvm.memcpy.i64( i8* %a, i8* %b, i64 %n, i32 1 ) |
| 8 | ret i8* %a |
| 9 | } |
| 10 | |
Evan Cheng | da72249 | 2010-04-05 22:30:05 +0000 | [diff] [blame^] | 11 | define i8* @my_memcpy2(i64* %a, i64* %b, i64 %n) nounwind { |
Rafael Espindola | 068317b | 2007-09-28 12:53:01 +0000 | [diff] [blame] | 12 | entry: |
| 13 | %tmp14 = bitcast i64* %a to i8* |
| 14 | %tmp25 = bitcast i64* %b to i8* |
| 15 | tail call void @llvm.memcpy.i64(i8* %tmp14, i8* %tmp25, i64 %n, i32 8 ) |
| 16 | ret i8* %tmp14 |
| 17 | } |