1 #ifndef __LUNAIX_COMPILER_H
2 #define __LUNAIX_COMPILER_H
4 #define likely(x) __builtin_expect((x), 1)
5 #define unlikely(x) __builtin_expect((x), 0)
7 #define weak_alias(name) __attribute__((weak, alias(name)))
8 #define weak __attribute__((weak))
9 #define noret __attribute__((noreturn))
10 #define optimize(opt) __attribute__((optimize(opt)))
12 #define prefetch_rd(ptr, ll) __builtin_prefetch((ptr), 0, ll)
13 #define prefetch_wr(ptr, ll) __builtin_prefetch((ptr), 1, ll)
15 #define stringify(v) #v
16 #define stringify__(v) stringify(v)
18 inline static void noret
21 volatile int __infloop = 1;
24 __builtin_unreachable();
27 #endif /* __LUNAIX_COMPILER_H */