1*5a02ffc3SAndrew Turner/* 2*5a02ffc3SAndrew Turner * memset using MOPS extension. 3*5a02ffc3SAndrew Turner * 4*5a02ffc3SAndrew Turner * Copyright (c) 2023, Arm Limited. 5*5a02ffc3SAndrew Turner * SPDX-License-Identifier: MIT OR Apache-2.0 WITH LLVM-exception 6*5a02ffc3SAndrew Turner */ 7*5a02ffc3SAndrew Turner 8*5a02ffc3SAndrew Turner#include "asmdefs.h" 9*5a02ffc3SAndrew Turner 10*5a02ffc3SAndrew TurnerENTRY (__memset_aarch64_mops) 11*5a02ffc3SAndrew Turner PTR_ARG (0) 12*5a02ffc3SAndrew Turner SIZE_ARG (2) 13*5a02ffc3SAndrew Turner 14*5a02ffc3SAndrew Turner mov x3, x0 15*5a02ffc3SAndrew Turner .inst 0x19c10443 /* setp [x3]!, x2!, x1 */ 16*5a02ffc3SAndrew Turner .inst 0x19c14443 /* setm [x3]!, x2!, x1 */ 17*5a02ffc3SAndrew Turner .inst 0x19c18443 /* sete [x3]!, x2!, x1 */ 18*5a02ffc3SAndrew Turner ret 19*5a02ffc3SAndrew Turner 20*5a02ffc3SAndrew TurnerEND (__memset_aarch64_mops) 21