Messages in this thread Patch in this message | | | From | Rasmus Villemoes <> | Subject | [PATCH] x86: Micro-optimization in nhmex_rbox_get_constraint | Date | Thu, 19 Jun 2014 15:15:31 +0200 |
| |
Flipping the LSB doesn't require four lines of code. This shaves a few bytes of the generated code, including a branch.
Signed-off-by: Rasmus Villemoes <linux@rasmusvillemoes.dk> --- arch/x86/kernel/cpu/perf_event_intel_uncore.c | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-)
diff --git a/arch/x86/kernel/cpu/perf_event_intel_uncore.c b/arch/x86/kernel/cpu/perf_event_intel_uncore.c index 65bbbea..e009f3c 100644 --- a/arch/x86/kernel/cpu/perf_event_intel_uncore.c +++ b/arch/x86/kernel/cpu/perf_event_intel_uncore.c @@ -2946,10 +2946,7 @@ again: * extra registers. If we failed to take an extra * register, try the alternative. */ - if (idx % 2) - idx--; - else - idx++; + idx ^= 1; if (idx != reg1->idx % 6) { if (idx == 2) config1 >>= 8; -- 1.9.2
| |