Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00048
00049
00050
00051
00052
00053
00054 #ifndef __compiler_opt_h
00055 #define __compiler_opt_h
00056
00057
00058 #if __GNUC__ >= 3
00059
00060 #define likely(expr) __builtin_expect(!!(expr), 1)
00061 #define unlikely(expr) __builtin_expect(!!(expr), 0)
00062
00063 #else
00064
00065
00066 #define likely(expr) (expr)
00067 #define unlikely(expr) (expr)
00068
00069 #endif
00070
00071
00072
00073
00074 #if ( __GNUC__ > 3 ) || ( __GNUC__ == 3 && __GNUC_MINOR__ >= 1 )
00075
00076 #define prefetch(addr) __builtin_prefetch((addr))
00077 #define prefetch_w(addr) __builtin_prefetch((addr), 1)
00078 #define prefetch_loc_r(addr, loc) __builtin_prefetch((addr), 0, (loc))
00079 #define prefetch_loc_w(addr, loc) __builtin_prefetch((addr), 1, (loc))
00080
00081 #else
00082
00083 #define prefetch(addr)
00084 #define prefetch_w(addr)
00085 #define prefetch_loc_r(addr, loc)
00086 #define prefetch_loc_w(addr, loc)
00087
00088 #endif
00089
00090 #endif