Browse Source

powerpc: Align hot loops of some string functions

Align the hot loops in our assembly implementation of strncpy(),
strncmp() and memchr().

Signed-off-by: Anton Blanchard <anton@samba.org>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Anton Blanchard 9 years ago
parent
commit
87a156fb18
1 changed files with 3 additions and 0 deletions
  1. 3 0
      arch/powerpc/lib/string.S

+ 3 - 0
arch/powerpc/lib/string.S

@@ -24,6 +24,7 @@ _GLOBAL(strncpy)
 	mtctr	r5
 	mtctr	r5
 	addi	r6,r3,-1
 	addi	r6,r3,-1
 	addi	r4,r4,-1
 	addi	r4,r4,-1
+	.balign 16
 1:	lbzu	r0,1(r4)
 1:	lbzu	r0,1(r4)
 	cmpwi	0,r0,0
 	cmpwi	0,r0,0
 	stbu	r0,1(r6)
 	stbu	r0,1(r6)
@@ -42,6 +43,7 @@ _GLOBAL(strncmp)
 	mtctr	r5
 	mtctr	r5
 	addi	r5,r3,-1
 	addi	r5,r3,-1
 	addi	r4,r4,-1
 	addi	r4,r4,-1
+	.balign 16
 1:	lbzu	r3,1(r5)
 1:	lbzu	r3,1(r5)
 	cmpwi	1,r3,0
 	cmpwi	1,r3,0
 	lbzu	r0,1(r4)
 	lbzu	r0,1(r4)
@@ -73,6 +75,7 @@ _GLOBAL(memchr)
 	beq-	2f
 	beq-	2f
 	mtctr	r5
 	mtctr	r5
 	addi	r3,r3,-1
 	addi	r3,r3,-1
+	.balign 16
 1:	lbzu	r0,1(r3)
 1:	lbzu	r0,1(r3)
 	cmpw	0,r0,r4
 	cmpw	0,r0,r4
 	bdnzf	2,1b
 	bdnzf	2,1b