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