| // ------------------------------------------------------------------------------ | |
| // | |
| // Copyright (c) 2019, Pete Batard. All rights reserved. | |
| // Copyright (c) 2021, Arm Limited. All rights reserved.<BR> | |
| // | |
| // SPDX-License-Identifier: BSD-2-Clause-Patent | |
| // | |
| // ------------------------------------------------------------------------------ | |
| #if defined (_M_ARM64) | |
| typedef unsigned __int64 size_t; | |
| #else | |
| typedef unsigned __int32 size_t; | |
| #endif | |
| int | |
| memcmp ( | |
| void *, | |
| void *, | |
| size_t | |
| ); | |
| #pragma intrinsic(memcmp) | |
| #pragma function(memcmp) | |
| int | |
| memcmp ( | |
| const void *s1, | |
| const void *s2, | |
| size_t n | |
| ) | |
| { | |
| unsigned char const *t1; | |
| unsigned char const *t2; | |
| t1 = s1; | |
| t2 = s2; | |
| while (n-- != 0) { | |
| if (*t1 != *t2) { | |
| return (int)*t1 - (int)*t2; | |
| } | |
| t1++; | |
| t2++; | |
| } | |
| return 0; | |
| } |