blob: 447af53f8f574d065eee95c8c1544f9e389587fc [file] [log] [blame]
/*
* arch/s390/lib/memset.S
* S390 fast memset routine
*
* S390 version
* Copyright (C) 1999 IBM Deutschland Entwicklung GmbH, IBM Corporation
* Author(s): Martin Schwidefsky (schwidefsky@de.ibm.com),
*/
/*
* R2 = address to memory area
* R3 = byte to fill memory with
* R4 = number of bytes to fill
*/
.globl memset
memset:
LTR 4,4
JZ memset_end
LR 0,2 # save pointer to memory area
LR 1,3 # move pad byte to R1
LR 3,4
SR 4,4 # no source for MVCLE, only a pad byte
SR 5,5
MVCLE 2,4,0(1) # thats it, MVCLE is your friend
JO .-4
LR 2,0 # return pointer to mem.
memset_end:
BR 14