diff options
author | Christophe Leroy <christophe.leroy@c-s.fr> | 2016-02-09 17:08:31 +0100 |
---|---|---|
committer | Scott Wood <oss@buserror.net> | 2016-03-11 17:20:12 -0600 |
commit | 716fa91d19fb122a1392b362e85929e8385b1fd2 (patch) | |
tree | f01d18bd63dbe57393fea1983bbfaad04404e260 /arch/powerpc | |
parent | 8478d7f091138be32154c8fc28c52978e342cc6f (diff) | |
download | op-kernel-dev-716fa91d19fb122a1392b362e85929e8385b1fd2.zip op-kernel-dev-716fa91d19fb122a1392b362e85929e8385b1fd2.tar.gz |
powerpc32: small optimisation in flush_icache_range()
Inlining of _dcache_range() functions has shown that the compiler
does the same thing a bit better with one insn less
Signed-off-by: Christophe Leroy <christophe.leroy@c-s.fr>
Signed-off-by: Scott Wood <oss@buserror.net>
Diffstat (limited to 'arch/powerpc')
-rw-r--r-- | arch/powerpc/kernel/misc_32.S | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/arch/powerpc/kernel/misc_32.S b/arch/powerpc/kernel/misc_32.S index 09e1e5d..3ec5a22 100644 --- a/arch/powerpc/kernel/misc_32.S +++ b/arch/powerpc/kernel/misc_32.S @@ -348,10 +348,9 @@ BEGIN_FTR_SECTION PURGE_PREFETCHED_INS blr /* for 601, do nothing */ END_FTR_SECTION_IFSET(CPU_FTR_COHERENT_ICACHE) - li r5,L1_CACHE_BYTES-1 - andc r3,r3,r5 + rlwinm r3,r3,0,0,31 - L1_CACHE_SHIFT subf r4,r3,r4 - add r4,r4,r5 + addi r4,r4,L1_CACHE_BYTES - 1 srwi. r4,r4,L1_CACHE_SHIFT beqlr mtctr r4 |