33 lines
		
	
	
		
			702 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			33 lines
		
	
	
		
			702 B
		
	
	
	
		
			C
		
	
	
	
	
	
| #ifndef _RTE_BRANCH_PREDICTION_H_
 | |
| #define _RTE_BRANCH_PREDICTION_H_
 | |
| 
 | |
| /**
 | |
|  * Check if a branch is likely to be taken.
 | |
|  *
 | |
|  * This compiler builtin allows the developer to indicate if a branch is
 | |
|  * likely to be taken. Example:
 | |
|  *
 | |
|  *   if (likely(x > 1))
 | |
|  *      do_stuff();
 | |
|  *
 | |
|  */
 | |
| #ifndef likely
 | |
| #define likely(x) __builtin_expect(!!(x), 1)
 | |
| #endif /* likely */
 | |
| 
 | |
| /**
 | |
|  * Check if a branch is unlikely to be taken.
 | |
|  *
 | |
|  * This compiler builtin allows the developer to indicate if a branch is
 | |
|  * unlikely to be taken. Example:
 | |
|  *
 | |
|  *   if (unlikely(x < 1))
 | |
|  *      do_stuff();
 | |
|  *
 | |
|  */
 | |
| #ifndef unlikely
 | |
| #define unlikely(x) __builtin_expect(!!(x), 0)
 | |
| #endif /* unlikely */
 | |
| 
 | |
| #endif /* _RTE_BRANCH_PREDICTION_H_ */
 |