uns hash_block_aligned(const byte *str, uns len) PURE;
#ifdef CPU_ALLOW_UNALIGNED
uns hash_block_aligned(const byte *str, uns len) PURE;
#ifdef CPU_ALLOW_UNALIGNED
#define hash_string(str) hash_string_aligned(str)
#define hash_block(str, len) hash_block_aligned(str, len)
#else
#define hash_string(str) hash_string_aligned(str)
#define hash_block(str, len) hash_block_aligned(str, len)
#else
*/
static inline uns CONST hash_u32(uns x) { return 0x01008041*x; }
static inline uns CONST hash_u64(u64 x) { return hash_u32((uns)x ^ (uns)(x >> 32)); }
*/
static inline uns CONST hash_u32(uns x) { return 0x01008041*x; }
static inline uns CONST hash_u64(u64 x) { return hash_u32((uns)x ^ (uns)(x >> 32)); }