Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
freebsd
GitHub Repository: freebsd/freebsd-src
Path: blob/main/contrib/llvm-project/compiler-rt/lib/builtins/arm/aeabi_memmove.S
35292 views
1
//===-- aeabi_memmove.S - EABI memmove implementation --------------------===//
2
//
3
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4
// See https://llvm.org/LICENSE.txt for license information.
5
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6
//
7
//===---------------------------------------------------------------------===//
8
9
#include "../assembly.h"
10
11
// void __aeabi_memmove(void *dest, void *src, size_t n) { memmove(dest, src, n); }
12
13
.p2align 2
14
DEFINE_COMPILERRT_FUNCTION(__aeabi_memmove)
15
#ifdef USE_THUMB_1
16
push {r7, lr}
17
bl memmove
18
pop {r7, pc}
19
#else
20
b memmove
21
#endif
22
END_COMPILERRT_FUNCTION(__aeabi_memmove)
23
24
DEFINE_AEABI_FUNCTION_ALIAS(__aeabi_memmove4, __aeabi_memmove)
25
DEFINE_AEABI_FUNCTION_ALIAS(__aeabi_memmove8, __aeabi_memmove)
26
27
NO_EXEC_STACK_DIRECTIVE
28
29
30