1276789Sdim//===-- aeabi_memcmp.S - EABI memcmp implementation -----------------------===//
2276789Sdim//
3353358Sdim// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4353358Sdim// See https://llvm.org/LICENSE.txt for license information.
5353358Sdim// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6276789Sdim//
7276789Sdim//===----------------------------------------------------------------------===//
8276789Sdim
9276789Sdim#include "../assembly.h"
10276789Sdim
11276789Sdim//  void __aeabi_memcmp(void *dest, void *src, size_t n) { memcmp(dest, src, n); }
12276789Sdim
13309124Sdim        .syntax unified
14276789Sdim        .p2align 2
15276789SdimDEFINE_COMPILERRT_FUNCTION(__aeabi_memcmp)
16327952Sdim#ifdef USE_THUMB_1
17327952Sdim        push    {r7, lr}
18327952Sdim        bl      memcmp
19327952Sdim        pop     {r7, pc}
20327952Sdim#else
21276789Sdim        b       memcmp
22327952Sdim#endif
23276789SdimEND_COMPILERRT_FUNCTION(__aeabi_memcmp)
24276789Sdim
25276789SdimDEFINE_AEABI_FUNCTION_ALIAS(__aeabi_memcmp4, __aeabi_memcmp)
26276789SdimDEFINE_AEABI_FUNCTION_ALIAS(__aeabi_memcmp8, __aeabi_memcmp)
27288373Skib
28309124SdimNO_EXEC_STACK_DIRECTIVE
29309124Sdim
30