From aa39860aeffbe4a6fe621bbdc5bfd1b12e16468b Mon Sep 17 00:00:00 2001 From: Willy Tarreau Date: Fri, 10 Nov 2017 11:19:54 +0100 Subject: [PATCH] MINOR: tools: don't use unlikely() in hex2i() This small inline function causes some pain to the compiler when used inside other functions due to its use of the unlikely() hint for non-digits. It causes the letters to be processed far away in the calling function and makes the code less efficient. Removing these unlikely() hints has increased the chunk size parsing by around 5%. --- include/common/standard.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/include/common/standard.h b/include/common/standard.h index a06fb8446..d88599de4 100644 --- a/include/common/standard.h +++ b/include/common/standard.h @@ -317,9 +317,9 @@ extern int ishex(char s); */ static inline int hex2i(int c) { - if (unlikely((unsigned char)(c -= '0') > 9)) { - if (likely((unsigned char)(c -= 'A' - '0') > 5 && - (unsigned char)(c -= 'a' - 'A') > 5)) + if ((unsigned char)(c -= '0') > 9) { + if ((unsigned char)(c -= 'A' - '0') > 5 && + (unsigned char)(c -= 'a' - 'A') > 5) c = -11; c += 10; }