eal/linux: fix illegal memory access in uevent handler
[dpdk.git] / lib / eal / include / rte_branch_prediction.h
1 /* SPDX-License-Identifier: BSD-3-Clause
2  * Copyright(c) 2010-2014 Intel Corporation
3  */
4
5 /**
6  * @file
7  * Branch Prediction Helpers in RTE
8  */
9
10 #ifndef _RTE_BRANCH_PREDICTION_H_
11 #define _RTE_BRANCH_PREDICTION_H_
12
13 #ifdef __cplusplus
14 extern "C" {
15 #endif
16
17 /**
18  * Check if a branch is likely to be taken.
19  *
20  * This compiler builtin allows the developer to indicate if a branch is
21  * likely to be taken. Example:
22  *
23  *   if (likely(x > 1))
24  *      do_stuff();
25  *
26  */
27 #ifndef likely
28 #define likely(x)       __builtin_expect(!!(x), 1)
29 #endif /* likely */
30
31 /**
32  * Check if a branch is unlikely to be taken.
33  *
34  * This compiler builtin allows the developer to indicate if a branch is
35  * unlikely to be taken. Example:
36  *
37  *   if (unlikely(x < 1))
38  *      do_stuff();
39  *
40  */
41 #ifndef unlikely
42 #define unlikely(x)     __builtin_expect(!!(x), 0)
43 #endif /* unlikely */
44
45 #ifdef __cplusplus
46 }
47 #endif
48
49 #endif /* _RTE_BRANCH_PREDICTION_H_ */