|
@@ -91,17 +91,17 @@ EXPORT_SYMBOL(memset16)
|
|
* replaced by a nop once cache is active. This is done in machine_init()
|
|
* replaced by a nop once cache is active. This is done in machine_init()
|
|
*/
|
|
*/
|
|
_GLOBAL(memset)
|
|
_GLOBAL(memset)
|
|
|
|
+ cmplwi 0,r5,4
|
|
|
|
+ blt 7f
|
|
|
|
+
|
|
rlwimi r4,r4,8,16,23
|
|
rlwimi r4,r4,8,16,23
|
|
rlwimi r4,r4,16,0,15
|
|
rlwimi r4,r4,16,0,15
|
|
|
|
|
|
- addi r6,r3,-4
|
|
|
|
- cmplwi 0,r5,4
|
|
|
|
- blt 7f
|
|
|
|
- stwu r4,4(r6)
|
|
|
|
|
|
+ stw r4,0(r3)
|
|
beqlr
|
|
beqlr
|
|
- andi. r0,r6,3
|
|
|
|
|
|
+ andi. r0,r3,3
|
|
add r5,r0,r5
|
|
add r5,r0,r5
|
|
- subf r6,r0,r6
|
|
|
|
|
|
+ subf r6,r0,r3
|
|
cmplwi 0,r4,0
|
|
cmplwi 0,r4,0
|
|
bne 2f /* Use normal procedure if r4 is not zero */
|
|
bne 2f /* Use normal procedure if r4 is not zero */
|
|
_GLOBAL(memset_nocache_branch)
|
|
_GLOBAL(memset_nocache_branch)
|
|
@@ -132,13 +132,20 @@ _GLOBAL(memset_nocache_branch)
|
|
1: stwu r4,4(r6)
|
|
1: stwu r4,4(r6)
|
|
bdnz 1b
|
|
bdnz 1b
|
|
6: andi. r5,r5,3
|
|
6: andi. r5,r5,3
|
|
-7: cmpwi 0,r5,0
|
|
|
|
beqlr
|
|
beqlr
|
|
mtctr r5
|
|
mtctr r5
|
|
addi r6,r6,3
|
|
addi r6,r6,3
|
|
8: stbu r4,1(r6)
|
|
8: stbu r4,1(r6)
|
|
bdnz 8b
|
|
bdnz 8b
|
|
blr
|
|
blr
|
|
|
|
+
|
|
|
|
+7: cmpwi 0,r5,0
|
|
|
|
+ beqlr
|
|
|
|
+ mtctr r5
|
|
|
|
+ addi r6,r3,-1
|
|
|
|
+9: stbu r4,1(r6)
|
|
|
|
+ bdnz 9b
|
|
|
|
+ blr
|
|
EXPORT_SYMBOL(memset)
|
|
EXPORT_SYMBOL(memset)
|
|
|
|
|
|
/*
|
|
/*
|