EightBit/inc/EightBitCompilerDefinitions.h
Adrian Conlon f50c83ad36 Whoops: missed GCC problem.
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
2017-11-20 20:54:17 +00:00

28 lines
470 B
C

#pragma once
#ifdef _MSC_VER
# include <intrin.h>
# define LIKELY(x) (x)
# define UNLIKELY(x) (x)
# define EIGHTBIT_PARITY(x) (__popcnt(value) % 2)
# define UNREACHABLE __assume(0)
#elif defined(__GNUG__)
# include <x86intrin.h>
# define LIKELY(x) __builtin_expect(!!(x), 1)
# define UNLIKELY(x) __builtin_expect(!!(x), 0)
# define EIGHTBIT_PARITY(x) __builtin_parity(value)
# define UNREACHABLE __builtin_unreachable();
#else
# error Unknown compiler
#endif