/* SPDX-License-Identifier: GPL-2.0-or-later */ /* * OpenRISC memset.S * * Hand-optimized assembler version of memset for OpenRISC. * Algorithm inspired by several other arch-specific memset routines * in the kernel tree * * Copyright (C) 2015 Olof Kindgren <olof.kindgren@gmail.com>
*/
.global memset
.type memset, @function
memset: /* arguments: * r3 = *s * r4 = c * r5 = n * r13, r15, r17, r19 used as temp regs
*/
/* Exit if n == 0 */
l.sfeqi r5, 0
l.bf 4f
/* Truncate c to char */
l.andi r13, r4, 0xff
/* Skip word extension if c is 0 */
l.sfeqi r13, 0
l.bf 1f /* Check for at least two whole words (8 bytes) */
l.sfleui r5, 7
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.