diff options
author | David Mosberger-Tang <davidm@hpl.hp.com> | 2005-04-28 00:13:33 -0400 |
---|---|---|
committer | Tony Luck <tony.luck@intel.com> | 2005-04-28 00:13:33 -0400 |
commit | 9ec1a7ad434fa951ff845dbee3397cf6ad4f76df (patch) | |
tree | 05e8a156ccd42bfbed3293b386f0e4d905d04a88 | |
parent | 06ef66081620e94fe35a518f98624b83a140096e (diff) |
[IA64] Use dynamic prediction for RSE-clearing branches.
This by itself is good for a 1-2 cycle speed up. Effect is bigger
when combined with the later patches.
Signed-off-by: David Mosberger-Tang <davidm@hpl.hp.com>
Signed-off-by: Tony Luck <tony.luck@intel.com>
-rw-r--r-- | arch/ia64/kernel/entry.S | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/arch/ia64/kernel/entry.S b/arch/ia64/kernel/entry.S index 5b469db23268..c0f28339d58b 100644 --- a/arch/ia64/kernel/entry.S +++ b/arch/ia64/kernel/entry.S | |||
@@ -1012,14 +1012,14 @@ rse_clear_invalid: | |||
1012 | mov loc5=0 | 1012 | mov loc5=0 |
1013 | mov loc6=0 | 1013 | mov loc6=0 |
1014 | mov loc7=0 | 1014 | mov loc7=0 |
1015 | (pRecurse) br.call.sptk.few b0=rse_clear_invalid | 1015 | (pRecurse) br.call.dptk.few b0=rse_clear_invalid |
1016 | ;; | 1016 | ;; |
1017 | mov loc8=0 | 1017 | mov loc8=0 |
1018 | mov loc9=0 | 1018 | mov loc9=0 |
1019 | cmp.ne pReturn,p0=r0,in1 // if recursion count != 0, we need to do a br.ret | 1019 | cmp.ne pReturn,p0=r0,in1 // if recursion count != 0, we need to do a br.ret |
1020 | mov loc10=0 | 1020 | mov loc10=0 |
1021 | mov loc11=0 | 1021 | mov loc11=0 |
1022 | (pReturn) br.ret.sptk.many b0 | 1022 | (pReturn) br.ret.dptk.many b0 |
1023 | #endif /* !CONFIG_ITANIUM */ | 1023 | #endif /* !CONFIG_ITANIUM */ |
1024 | # undef pRecurse | 1024 | # undef pRecurse |
1025 | # undef pReturn | 1025 | # undef pReturn |