#define _label _label_(__LINE__)
#define _packed \
- __attribute__((packed))
-
-#define _finline inline __attribute__((always_inline))
+ __attribute__((__packed__))
+#define _finline \
+ inline __attribute__((__always_inline__))
#define _assume(e) \
_assert(e)
default: \
_assume(false); \
throw;
+
+#define _likely(expr) \
+ __builtin_expect(expr, 1)
+
+#define _unlikely(expr) \
+ __builtin_expect(expr, 0)