diff options
author | LEROY Christophe <christophe.leroy@c-s.fr> | 2014-08-29 11:14:39 +0200 |
---|---|---|
committer | Scott Wood <scottwood@freescale.com> | 2014-09-04 19:28:56 -0500 |
commit | 111e32b2f6b3f9d348b549013dab8f5053acdf19 (patch) | |
tree | 34785d525cc911cc792250c71c0e0c834345b2c1 /arch/powerpc | |
parent | 41cacac63c98803e9fbb054db0b74f92a8c082e4 (diff) | |
download | linux-111e32b2f6b3f9d348b549013dab8f5053acdf19.tar.gz linux-111e32b2f6b3f9d348b549013dab8f5053acdf19.tar.bz2 linux-111e32b2f6b3f9d348b549013dab8f5053acdf19.zip |
powerpc/8xx: Duplicate two insns instead of branching
Branching takes two cycles on MPC8xx. Lets duplicate the two instructions
and avoid the branching.
Signed-off-by: Christophe Leroy <christophe.leroy@c-s.fr>
Signed-off-by: Scott Wood <scottwood@freescale.com>
Diffstat (limited to 'arch/powerpc')
-rw-r--r-- | arch/powerpc/kernel/head_8xx.S | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/arch/powerpc/kernel/head_8xx.S b/arch/powerpc/kernel/head_8xx.S index 1bdd7c13ddc1..fafff8dbd5d9 100644 --- a/arch/powerpc/kernel/head_8xx.S +++ b/arch/powerpc/kernel/head_8xx.S @@ -644,9 +644,11 @@ modified_instr: /* special handling for r10,r11 since these are modified already */ 153: mfspr r11, SPRN_SPRG_SCRATCH1 /* load r11 from SPRN_SPRG_SCRATCH1 */ - b 155f + add r10, r10, r11 /* add it */ + mfctr r11 /* restore r11 */ + b 151b 154: mfspr r11, SPRN_SPRG_SCRATCH0 /* load r10 from SPRN_SPRG_SCRATCH0 */ -155: add r10, r10, r11 /* add it */ + add r10, r10, r11 /* add it */ mfctr r11 /* restore r11 */ b 151b #endif |