1051f0ffdSSiva Chandra Reddy //===-- Implementation of memcpy ------------------------------------------===//
2051f0ffdSSiva Chandra Reddy //
3051f0ffdSSiva Chandra Reddy // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4051f0ffdSSiva Chandra Reddy // See https://llvm.org/LICENSE.txt for license information.
5051f0ffdSSiva Chandra Reddy // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6051f0ffdSSiva Chandra Reddy //
7051f0ffdSSiva Chandra Reddy //===----------------------------------------------------------------------===//
8051f0ffdSSiva Chandra Reddy 
9051f0ffdSSiva Chandra Reddy #include "src/string/memcpy.h"
10051f0ffdSSiva Chandra Reddy #include "src/__support/common.h"
11*c2ce8f02SGuillaume Chatelet #include "src/string/memory_utils/memcpy_implementations.h"
12051f0ffdSSiva Chandra Reddy 
13051f0ffdSSiva Chandra Reddy namespace __llvm_libc {
14051f0ffdSSiva Chandra Reddy 
15a0b65a7bSMichael Jones LLVM_LIBC_FUNCTION(void *, memcpy,
16a0b65a7bSMichael Jones                    (void *__restrict dst, const void *__restrict src,
17a0b65a7bSMichael Jones                     size_t size)) {
18*c2ce8f02SGuillaume Chatelet   inline_memcpy(reinterpret_cast<char *>(dst),
19051f0ffdSSiva Chandra Reddy                 reinterpret_cast<const char *>(src), size);
20051f0ffdSSiva Chandra Reddy   return dst;
21051f0ffdSSiva Chandra Reddy }
22051f0ffdSSiva Chandra Reddy 
23051f0ffdSSiva Chandra Reddy } // namespace __llvm_libc
24