XenevaOS
Loading...
Searching...
No Matches
compiler.h
Go to the documentation of this file.
1
2#ifndef __COMPILER_H__
3#define __COMPILER_H__
4
5#if defined(_MSC_VER)
6#define likely(x) ((x) ? (1) : (__assume(0), 0))
7#define unlikely(x) ((x) ? (__assume(0), 1) : 0)
8#elif defined(__GNUC__) || defined(__clang__)
9#define likely(x) __builtin_expect(!!(x),1)
10#define unlikely(x) __builtin_expect(!!(x), 0)
11#else
12#define likely(x) (x)
13#define unlikely(x) (x)
14#endif
15
16#endif