]> git.proxmox.com Git - mirror_edk2.git/blame - ArmPkg/Library/CompilerIntrinsicsLib/memcmp_ms.c
UefiCpuPkg: Change complex DEBUG_CODE() to DEBUG_CODE_BEGIN/END()
[mirror_edk2.git] / ArmPkg / Library / CompilerIntrinsicsLib / memcmp_ms.c
CommitLineData
482704df
PB
1//------------------------------------------------------------------------------\r
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
8//------------------------------------------------------------------------------\r
9\r
10#if defined(_M_ARM64)\r
11typedef unsigned __int64 size_t;\r
12#else\r
13typedef unsigned __int32 size_t;\r
14#endif\r
15\r
16int memcmp(void *, void *, size_t);\r
17#pragma intrinsic(memcmp)\r
18#pragma function(memcmp)\r
19int memcmp(const void *s1, const void *s2, size_t n)\r
20{\r
fb48f1e2
PG
21 unsigned char const *t1;\r
22 unsigned char const *t2;\r
23\r
24 t1 = s1;\r
25 t2 = s2;\r
482704df 26\r
53aabb97 27 while (n-- != 0) {\r
482704df
PB
28 if (*t1 != *t2)\r
29 return (int)*t1 - (int)*t2;\r
30 t1++;\r
31 t2++;\r
32 }\r
33\r
34 return 0;\r
35}\r