Added cds_likely/cds_unlikely macro
[libcds.git] / cds / compiler / clang / defs.h
index 4a84e3a00c97aec28020e7f2e31e98dc9790b661..7d271354c86a0cc94f0e4a641878ac742fca2682 100644 (file)
 #define CDS_DATA_ALIGNMENT(n)   __attribute__ ((aligned (n)))
 
 
+// likely/unlikely
+
+#define cds_likely( expr )   __builtin_expect( !!( expr ), 1 )
+#define cds_unlikely( expr ) __builtin_expect( !!( expr ), 0 )
+
 #include <cds/compiler/gcc/compiler_barriers.h>
 
 #endif // #ifndef CDSLIB_COMPILER_GCC_DEFS_H