__atomic_load_generic
#define atomic_load_int(p) __atomic_load_generic(p, int, u_int, int)
#define atomic_load_long(p) __atomic_load_generic(p, long, u_long, long)
#define atomic_load_8(p) __atomic_load_generic(p, int8_t, uint8_t, 8)
#define atomic_load_16(p) __atomic_load_generic(p, int16_t, uint16_t, 16)
#define atomic_load_32(p) __atomic_load_generic(p, int32_t, uint32_t, 32)
#define atomic_load_64(p) __atomic_load_generic(p, int64_t, uint64_t, 64)
#define atomic_load_char(p) __atomic_load_generic(p, char, u_char, char)
#define atomic_load_short(p) __atomic_load_generic(p, short, u_short, short)