xref: /aosp_15_r20/external/arm-optimized-routines/string/aarch64/memcpy-mops.S (revision 412f47f9e737e10ed5cc46ec6a8d7fa2264f8a14)
1*412f47f9SXin Li/*
2*412f47f9SXin Li * memcpy using MOPS extension.
3*412f47f9SXin Li *
4*412f47f9SXin Li * Copyright (c) 2023, Arm Limited.
5*412f47f9SXin Li * SPDX-License-Identifier: MIT OR Apache-2.0 WITH LLVM-exception
6*412f47f9SXin Li */
7*412f47f9SXin Li
8*412f47f9SXin Li#include "asmdefs.h"
9*412f47f9SXin Li
10*412f47f9SXin LiENTRY (__memcpy_aarch64_mops)
11*412f47f9SXin Li	PTR_ARG (0)
12*412f47f9SXin Li	PTR_ARG (1)
13*412f47f9SXin Li	SIZE_ARG (2)
14*412f47f9SXin Li
15*412f47f9SXin Li	mov	x3, x0
16*412f47f9SXin Li	.inst	0x19010443	/* cpyfp   [x3]!, [x1]!, x2!  */
17*412f47f9SXin Li	.inst	0x19410443	/* cpyfm   [x3]!, [x1]!, x2!  */
18*412f47f9SXin Li	.inst	0x19810443	/* cpyfe   [x3]!, [x1]!, x2!  */
19*412f47f9SXin Li	ret
20*412f47f9SXin Li
21*412f47f9SXin LiEND (__memcpy_aarch64_mops)
22