Path: blob/main/contrib/llvm-project/compiler-rt/lib/builtins/arm/aeabi_memmove.S
35292 views
//===-- aeabi_memmove.S - EABI memmove implementation --------------------===//1//2// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.3// See https://llvm.org/LICENSE.txt for license information.4// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception5//6//===---------------------------------------------------------------------===//78#include "../assembly.h"910// void __aeabi_memmove(void *dest, void *src, size_t n) { memmove(dest, src, n); }1112.p2align 213DEFINE_COMPILERRT_FUNCTION(__aeabi_memmove)14#ifdef USE_THUMB_115push {r7, lr}16bl memmove17pop {r7, pc}18#else19b memmove20#endif21END_COMPILERRT_FUNCTION(__aeabi_memmove)2223DEFINE_AEABI_FUNCTION_ALIAS(__aeabi_memmove4, __aeabi_memmove)24DEFINE_AEABI_FUNCTION_ALIAS(__aeabi_memmove8, __aeabi_memmove)2526NO_EXEC_STACK_DIRECTIVE27282930