2021-09-26 19:44:47 +01:00
|
|
|
#if defined(__x86_64__) || defined(__amd64) || defined(_M_AMD64) || defined(_M_X64) || defined(__I386__) || \
|
|
|
|
|
defined(__i386__) || defined(__THW_INTEL) || defined(_M_IX86)
|
|
|
|
|
|
2021-09-28 22:30:57 +01:00
|
|
|
#define AVX2 __attribute__((target("avx2")))
|
|
|
|
|
|
2021-09-26 19:44:47 +01:00
|
|
|
int have_clmul(void);
|
2021-09-28 20:16:40 +01:00
|
|
|
int have_ssse3(void);
|
2021-09-28 22:30:57 +01:00
|
|
|
int have_avx2(void);
|
2021-09-26 19:44:47 +01:00
|
|
|
#endif
|
2021-09-29 01:27:02 +01:00
|
|
|
|
|
|
|
|
#if defined(__arm__) || defined(_M_ARM)
|
|
|
|
|
#define HWCAP_NEON (1 << 12)
|
2021-09-29 02:49:40 +01:00
|
|
|
#define HWCAP2_CRC32 (1 << 4)
|
2021-09-29 01:27:02 +01:00
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
#if defined(__aarch64__) || defined(_M_ARM64)
|
|
|
|
|
#define HWCAP_NEON (1 << 1)
|
2021-09-29 02:49:40 +01:00
|
|
|
#define HWCAP_CRC32 (1 << 7)
|
2021-09-29 01:27:02 +01:00
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
#if defined(__aarch64__) || defined(_M_ARM64) || defined(__arm__) || defined(_M_ARM)
|
|
|
|
|
int have_neon(void);
|
2021-09-29 02:49:40 +01:00
|
|
|
int have_arm_crc32(void);
|
2021-09-29 01:27:02 +01:00
|
|
|
#endif
|