DPDK  24.03.0
rte_branch_prediction.h
Go to the documentation of this file.
1 /* SPDX-License-Identifier: BSD-3-Clause
2  * Copyright(c) 2010-2014 Intel Corporation
3  */
4 
10 #ifndef _RTE_BRANCH_PREDICTION_H_
11 #define _RTE_BRANCH_PREDICTION_H_
12 
13 #ifdef __cplusplus
14 extern "C" {
15 #endif
16 
26 #ifndef likely
27 #ifdef RTE_TOOLCHAIN_MSVC
28 #define likely(x) (!!(x))
29 #else
30 #define likely(x) __builtin_expect(!!(x), 1)
31 #endif
32 #endif /* likely */
33 
43 #ifndef unlikely
44 #ifdef RTE_TOOLCHAIN_MSVC
45 #define unlikely(x) (!!(x))
46 #else
47 #define unlikely(x) __builtin_expect(!!(x), 0)
48 #endif
49 #endif /* unlikely */
50 
51 #ifdef __cplusplus
52 }
53 #endif
54 
55 #endif /* _RTE_BRANCH_PREDICTION_H_ */