]>
Commit | Line | Data |
---|---|---|
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 |
11 | typedef unsigned __int64 size_t;\r | |
482704df | 12 | #else\r |
429309e0 | 13 | typedef unsigned __int32 size_t;\r |
482704df PB |
14 | #endif\r |
15 | \r | |
429309e0 MK |
16 | int\r |
17 | memcmp (\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 |
25 | int\r |
26 | memcmp (\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 |