]> git.proxmox.com Git - mirror_edk2.git/blob - ArmPkg/Library/CompilerIntrinsicsLib/memmove_ms.c
SecurityPkg/OpalPassword: Add PCD to skip password prompt
[mirror_edk2.git] / ArmPkg / Library / CompilerIntrinsicsLib / memmove_ms.c
1 //------------------------------------------------------------------------------
2 //
3 // Copyright (c) 2019, Pete Batard. All rights reserved.
4 //
5 // SPDX-License-Identifier: BSD-2-Clause-Patent
6 //
7 //------------------------------------------------------------------------------
8
9 #if defined(_M_ARM64)
10 typedef unsigned __int64 size_t;
11 #else
12 typedef unsigned __int32 size_t;
13 #endif
14
15 void* memmove(void *, const void *, size_t);
16 #pragma intrinsic(memmove)
17 #pragma function(memmove)
18 void* memmove(void *dest, const void *src, size_t n)
19 {
20 unsigned char *d = dest;
21 unsigned char const *s = src;
22
23 if (d < s) {
24 while (n--)
25 *d++ = *s++;
26 } else {
27 d += n;
28 s += n;
29 while (n--)
30 *--d = *--s;
31 }
32
33 return dest;
34 }