]> git.proxmox.com Git - mirror_edk2.git/blob - ArmPkg/Library/CompilerIntrinsicsLib/memcpy_ms.c
fe5b1d04c7c21451c085fa6fdf51347709b18ae8
[mirror_edk2.git] / ArmPkg / Library / CompilerIntrinsicsLib / memcpy_ms.c
1 //------------------------------------------------------------------------------
2 //
3 // Copyright (c) 2017, Pete Batard. All rights reserved.<BR>
4 // Copyright (c) 2021, Arm Limited. All rights reserved.<BR>
5 //
6 // SPDX-License-Identifier: BSD-2-Clause-Patent
7 //
8 //------------------------------------------------------------------------------
9
10 #if defined(_M_ARM64)
11 typedef unsigned __int64 size_t;
12 #else
13 typedef unsigned __int32 size_t;
14 #endif
15
16 void* memcpy(void *, const void *, size_t);
17 #pragma intrinsic(memcpy)
18 #pragma function(memcpy)
19 void* memcpy(void *dest, const void *src, size_t n)
20 {
21 unsigned char *d = dest;
22 unsigned char const *s = src;
23
24 while (n-- != 0) {
25 *d++ = *s++;
26 }
27
28 return dest;
29 }