xref: /llvm-project/clang/test/CodeGen/mempcpy-libcall.c (revision 39db5e1ed87363a9ffea81e53520b542201b3262)
1 // RUN: %clang_cc1 -triple x86_64-unknown-linux-gnu -emit-llvm < %s| FileCheck %s
2 
3 typedef __SIZE_TYPE__ size_t;
4 
5 void *mempcpy(void *, void const *, size_t);
6 
test(char * d,char * s,size_t n)7 char *test(char *d, char *s, size_t n) {
8   // CHECK:      call void @llvm.memcpy.p0.p0.i64(ptr {{.*}} %[[REG1:[^ ]+]], ptr {{.*}} %1, i64 %[[REG2:[^ ]+]], i1 false)
9   // CHECK-NEXT: %[[REGr:[^ ]+]] = getelementptr inbounds i8, ptr %[[REG1]], i64 %[[REG2]]
10   // CHECK-NEXT: ret ptr %[[REGr]]
11   return mempcpy(d, s, n);
12 }
13