]> git.proxmox.com Git - mirror_edk2.git/blob - ArmPkg/Library/CompilerIntrinsicsLib/memcmp_ms.c
UefiCpuPkg: Move AsmRelocateApLoopStart from Mpfuncs.nasm to AmdSev.nasm
[mirror_edk2.git] / ArmPkg / Library / CompilerIntrinsicsLib / memcmp_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 int memcmp(void *, void *, size_t);
16 #pragma intrinsic(memcmp)
17 #pragma function(memcmp)
18 int memcmp(const void *s1, const void *s2, size_t n)
19 {
20 unsigned char const *t1 = s1;
21 unsigned char const *t2 = s2;
22
23 while (n--) {
24 if (*t1 != *t2)
25 return (int)*t1 - (int)*t2;
26 t1++;
27 t2++;
28 }
29
30 return 0;
31 }