aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorLEROY Christophe <christophe.leroy@c-s.fr>2014-08-29 05:14:39 -0400
committerScott Wood <scottwood@freescale.com>2014-09-04 20:28:56 -0400
commit111e32b2f6b3f9d348b549013dab8f5053acdf19 (patch)
tree34785d525cc911cc792250c71c0e0c834345b2c1 /arch
parent41cacac63c98803e9fbb054db0b74f92a8c082e4 (diff)
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')
-rw-r--r--arch/powerpc/kernel/head_8xx.S6
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:
644 644
645 /* special handling for r10,r11 since these are modified already */ 645 /* special handling for r10,r11 since these are modified already */
646153: mfspr r11, SPRN_SPRG_SCRATCH1 /* load r11 from SPRN_SPRG_SCRATCH1 */ 646153: mfspr r11, SPRN_SPRG_SCRATCH1 /* load r11 from SPRN_SPRG_SCRATCH1 */
647 b 155f 647 add r10, r10, r11 /* add it */
648 mfctr r11 /* restore r11 */
649 b 151b
648154: mfspr r11, SPRN_SPRG_SCRATCH0 /* load r10 from SPRN_SPRG_SCRATCH0 */ 650154: mfspr r11, SPRN_SPRG_SCRATCH0 /* load r10 from SPRN_SPRG_SCRATCH0 */
649155: add r10, r10, r11 /* add it */ 651 add r10, r10, r11 /* add it */
650 mfctr r11 /* restore r11 */ 652 mfctr r11 /* restore r11 */
651 b 151b 653 b 151b
652#endif 654#endif