aboutsummaryrefslogtreecommitdiff
path: root/contrib/arm-optimized-routines/string/aarch64/memset-mops.S
blob: ec791493bae9c019b92374f0920edbec00b10507 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
/*
 * memset using MOPS extension.
 *
 * Copyright (c) 2023, Arm Limited.
 * SPDX-License-Identifier: MIT OR Apache-2.0 WITH LLVM-exception
 */

#include "asmdefs.h"

ENTRY (__memset_aarch64_mops)
	PTR_ARG (0)
	SIZE_ARG (2)

	mov     x3, x0
	.inst   0x19c10443	/* setp    [x3]!, x2!, x1  */
	.inst   0x19c14443	/* setm    [x3]!, x2!, x1  */
	.inst   0x19c18443	/* sete    [x3]!, x2!, x1  */
	ret

END (__memset_aarch64_mops)