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 /**
14 * Check if a branch is likely to be taken.
15 *
16 * This compiler builtin allows the developer to indicate if a branch is
17 * likely to be taken. Example:
18 *
19 * if (likely(x > 1))
20 * do_stuff();
21 *
22 */
23 #ifndef likely
24 #define likely(x) __builtin_expect(!!(x), 1)
25 #endif /* likely */
26
27 /**
28 * Check if a branch is unlikely to be taken.
29 *
30 * This compiler builtin allows the developer to indicate if a branch is
31 * unlikely to be taken. Example:
32 *
33 * if (unlikely(x < 1))
34 * do_stuff();
35 *
36 */
37 #ifndef unlikely
38 #define unlikely(x) __builtin_expect(!!(x), 0)
39 #endif /* unlikely */
40
41 #endif /* _RTE_BRANCH_PREDICTION_H_ */
Cache object: 0c6f03919c589e282113a17f0c301332
|