| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
|
|
| #ifndef ABSL_RANDOM_INTERNAL_PLATFORM_H_ |
| #define ABSL_RANDOM_INTERNAL_PLATFORM_H_ |
|
|
| |
| |
| |
| |
|
|
| |
| |
| |
|
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
|
|
| #if defined(__APPLE__) |
| #include <TargetConditionals.h> |
| #endif |
|
|
| |
| |
| |
|
|
| |
| |
| |
| |
| #if defined(__x86_64__) || defined(__x86_64) || defined(_M_AMD64) || \ |
| defined(_M_X64) |
| #define ABSL_ARCH_X86_64 |
| #elif defined(__i386) || defined(_M_IX86) |
| #define ABSL_ARCH_X86_32 |
| #elif defined(__aarch64__) || defined(__arm64__) || defined(_M_ARM64) |
| #define ABSL_ARCH_AARCH64 |
| #elif defined(__arm__) || defined(__ARMEL__) || defined(_M_ARM) |
| #define ABSL_ARCH_ARM |
| #elif defined(__powerpc64__) || defined(__PPC64__) || defined(__powerpc__) || \ |
| defined(__ppc__) || defined(__PPC__) |
| #define ABSL_ARCH_PPC |
| #else |
| |
| |
| |
| |
| #endif |
|
|
| |
| |
| |
|
|
| |
| |
| #if defined(__clang__) || defined(__GNUC__) |
| #define ABSL_RANDOM_INTERNAL_RESTRICT __restrict__ |
| #elif defined(_MSC_VER) |
| #define ABSL_RANDOM_INTERNAL_RESTRICT __restrict |
| #else |
| #define ABSL_RANDOM_INTERNAL_RESTRICT |
| #endif |
|
|
| |
| |
| |
| #define ABSL_HAVE_ACCELERATED_AES 0 |
|
|
| #if defined(ABSL_ARCH_X86_64) |
|
|
| #if defined(__AES__) || defined(__AVX__) |
| #undef ABSL_HAVE_ACCELERATED_AES |
| #define ABSL_HAVE_ACCELERATED_AES 1 |
| #endif |
|
|
| #elif defined(ABSL_ARCH_PPC) |
|
|
| |
| #if (defined(__VEC__) || defined(__ALTIVEC__)) && defined(__VSX__) && \ |
| defined(__CRYPTO__) |
| #undef ABSL_HAVE_ACCELERATED_AES |
| #define ABSL_HAVE_ACCELERATED_AES 1 |
| #endif |
|
|
| #elif defined(ABSL_ARCH_ARM) || defined(ABSL_ARCH_AARCH64) |
|
|
| |
| |
| #if defined(__ARM_NEON) && defined(__ARM_FEATURE_CRYPTO) |
| #undef ABSL_HAVE_ACCELERATED_AES |
| #define ABSL_HAVE_ACCELERATED_AES 1 |
| #endif |
|
|
| #endif |
|
|
| |
| #if defined(__native_client__) |
| #undef ABSL_HAVE_ACCELERATED_AES |
| #define ABSL_HAVE_ACCELERATED_AES 0 |
| #endif |
|
|
| |
| |
| |
| #define ABSL_RANDOM_INTERNAL_AES_DISPATCH 0 |
|
|
| #if defined(ABSL_ARCH_X86_64) |
| |
| #undef ABSL_RANDOM_INTERNAL_AES_DISPATCH |
| #define ABSL_RANDOM_INTERNAL_AES_DISPATCH 1 |
| #elif defined(__linux__) && defined(ABSL_ARCH_PPC) |
| |
| #undef ABSL_RANDOM_INTERNAL_AES_DISPATCH |
| #define ABSL_RANDOM_INTERNAL_AES_DISPATCH 1 |
| #elif defined(__linux__) && defined(ABSL_ARCH_AARCH64) |
| |
| #undef ABSL_RANDOM_INTERNAL_AES_DISPATCH |
| #define ABSL_RANDOM_INTERNAL_AES_DISPATCH 1 |
| #elif defined(__linux__) && defined(ABSL_ARCH_ARM) && (__ARM_ARCH >= 8) |
| |
| |
| #undef ABSL_RANDOM_INTERNAL_AES_DISPATCH |
| #define ABSL_RANDOM_INTERNAL_AES_DISPATCH 1 |
| #endif |
|
|
| |
| #if defined(__native_client__) |
| #undef ABSL_RANDOM_INTERNAL_AES_DISPATCH |
| #define ABSL_RANDOM_INTERNAL_AES_DISPATCH 0 |
| #endif |
|
|
| |
| |
| |
| #if (defined(TARGET_OS_IPHONE) && TARGET_OS_IPHONE) || \ |
| (defined(TARGET_OS_IPHONE_SIMULATOR) && TARGET_OS_IPHONE_SIMULATOR) |
| #undef ABSL_RANDOM_INTERNAL_AES_DISPATCH |
| #define ABSL_RANDOM_INTERNAL_AES_DISPATCH 0 |
| #endif |
|
|
| #endif |
|
|