]> git.proxmox.com Git - mirror_edk2.git/blame - ArmPkg/Library/CompilerIntrinsicsLib/memcmp_ms.c
UefiCpuPkg: Move AsmRelocateApLoopStart from Mpfuncs.nasm to AmdSev.nasm
[mirror_edk2.git] / ArmPkg / Library / CompilerIntrinsicsLib / memcmp_ms.c
CommitLineData
429309e0 1// ------------------------------------------------------------------------------\r
482704df
PB
2//\r
3// Copyright (c) 2019, Pete Batard. All rights reserved.\r
53aabb97 4// Copyright (c) 2021, Arm Limited. All rights reserved.<BR>\r
482704df
PB
5//\r
6// SPDX-License-Identifier: BSD-2-Clause-Patent\r
7//\r
429309e0 8// ------------------------------------------------------------------------------\r
482704df 9\r
429309e0
MK
10#if defined (_M_ARM64)\r
11typedef unsigned __int64 size_t;\r
482704df 12#else\r
429309e0 13typedef unsigned __int32 size_t;\r
482704df
PB
14#endif\r
15\r
429309e0
MK
16int\r
17memcmp (\r
18 void *,\r
19 void *,\r
20 size_t\r
21 );\r
22\r
482704df
PB
23#pragma intrinsic(memcmp)\r
24#pragma function(memcmp)\r
429309e0
MK
25int\r
26memcmp (\r
27 const void *s1,\r
28 const void *s2,\r
29 size_t n\r
30 )\r
482704df 31{\r
429309e0
MK
32 unsigned char const *t1;\r
33 unsigned char const *t2;\r
fb48f1e2
PG
34\r
35 t1 = s1;\r
36 t2 = s2;\r
482704df 37\r
53aabb97 38 while (n-- != 0) {\r
429309e0 39 if (*t1 != *t2) {\r
482704df 40 return (int)*t1 - (int)*t2;\r
429309e0
MK
41 }\r
42\r
482704df
PB
43 t1++;\r
44 t2++;\r
45 }\r
46\r
47 return 0;\r
48}\r