aboutsummaryrefslogtreecommitdiffstats
path: root/arch/powerpc/lib/copyuser_64.S
diff options
context:
space:
mode:
authorOlof Johansson <olof@lixom.net>2007-03-22 09:34:13 -0500
committerPaul Mackerras <paulus@samba.org>2007-04-13 03:55:13 +1000
commit3467bfd340f9ad48f3732415533a2e9c18240b62 (patch)
tree91f57918199d9508868aa0889a5b2aca4cc1da13 /arch/powerpc/lib/copyuser_64.S
parent569975591c5530fdc9c7a3c45122e5e46f075a74 (diff)
downloadkernel_samsung_smdk4412-3467bfd340f9ad48f3732415533a2e9c18240b62.zip
kernel_samsung_smdk4412-3467bfd340f9ad48f3732415533a2e9c18240b62.tar.gz
kernel_samsung_smdk4412-3467bfd340f9ad48f3732415533a2e9c18240b62.tar.bz2
[POWERPC] Use mtocrf instruction in asm when CONFIG_POWER4_ONLY=y
mtocrf is a faster single-field mtcrf (move to condition register fields) instruction available in POWER4 and later processors. It can make quite a difference in performance on some implementations, so use it for CONFIG_POWER4_ONLY builds. Signed-off-by: Olof Johansson <olof@lixom.net> Signed-off-by: Paul Mackerras <paulus@samba.org>
Diffstat (limited to 'arch/powerpc/lib/copyuser_64.S')
-rw-r--r--arch/powerpc/lib/copyuser_64.S6
1 files changed, 3 insertions, 3 deletions
diff --git a/arch/powerpc/lib/copyuser_64.S b/arch/powerpc/lib/copyuser_64.S
index a6b54cb..25ec537 100644
--- a/arch/powerpc/lib/copyuser_64.S
+++ b/arch/powerpc/lib/copyuser_64.S
@@ -24,7 +24,7 @@ _GLOBAL(__copy_tofrom_user)
dcbt 0,r4
beq .Lcopy_page_4K
andi. r6,r6,7
- mtcrf 0x01,r5
+ PPC_MTOCRF 0x01,r5
blt cr1,.Lshort_copy
bne .Ldst_unaligned
.Ldst_aligned:
@@ -135,7 +135,7 @@ _GLOBAL(__copy_tofrom_user)
b .Ldo_tail
.Ldst_unaligned:
- mtcrf 0x01,r6 /* put #bytes to 8B bdry into cr7 */
+ PPC_MTOCRF 0x01,r6 /* put #bytes to 8B bdry into cr7 */
subf r5,r6,r5
li r7,0
cmpldi r1,r5,16
@@ -150,7 +150,7 @@ _GLOBAL(__copy_tofrom_user)
2: bf cr7*4+1,3f
37: lwzx r0,r7,r4
83: stwx r0,r7,r3
-3: mtcrf 0x01,r5
+3: PPC_MTOCRF 0x01,r5
add r4,r6,r4
add r3,r6,r3
b .Ldst_aligned