From 129b29eaf3df98bdca0f064e6835091ce953b724 Mon Sep 17 00:00:00 2001 From: Imbus <> Date: Thu, 4 Sep 2025 05:00:09 +0200 Subject: [PATCH] Likely/unlikely --- kern/libkern/util.h | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 kern/libkern/util.h diff --git a/kern/libkern/util.h b/kern/libkern/util.h new file mode 100644 index 0000000..ffb9cf2 --- /dev/null +++ b/kern/libkern/util.h @@ -0,0 +1,15 @@ +#ifndef UTIL_H +#define UTIL_H + +/* + * Give hints to the compiler for branch prediction optimization. + */ +#if defined(__clang__) || (defined(__GNUC__) && (__GNUC__ > 2)) +#define likely(c) (__builtin_expect(!!(c), 1)) +#define unlikely(c) (__builtin_expect(!!(c), 0)) +#else +#define likely(c) (c) +#define unlikely(c) (c) +#endif + +#endif // UTIL_H