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