Go to the documentation of this file.
15 #ifndef ABSL_RANDOM_INTERNAL_PLATFORM_H_
16 #define ABSL_RANDOM_INTERNAL_PLATFORM_H_
49 #if defined(__APPLE__)
50 #include <TargetConditionals.h>
61 #if defined(__x86_64__) || defined(__x86_64) || defined(_M_AMD64) || \
63 #define ABSL_ARCH_X86_64
64 #elif defined(__i386) || defined(_M_IX86)
65 #define ABSL_ARCH_X86_32
66 #elif defined(__aarch64__) || defined(__arm64__) || defined(_M_ARM64)
67 #define ABSL_ARCH_AARCH64
68 #elif defined(__arm__) || defined(__ARMEL__) || defined(_M_ARM)
70 #elif defined(__powerpc64__) || defined(__PPC64__) || defined(__powerpc__) || \
71 defined(__ppc__) || defined(__PPC__)
86 #if defined(__clang__) || defined(__GNUC__)
87 #define ABSL_RANDOM_INTERNAL_RESTRICT __restrict__
88 #elif defined(_MSC_VER)
89 #define ABSL_RANDOM_INTERNAL_RESTRICT __restrict
91 #define ABSL_RANDOM_INTERNAL_RESTRICT
97 #define ABSL_HAVE_ACCELERATED_AES 0
99 #if defined(ABSL_ARCH_X86_64)
101 #if defined(__AES__) || defined(__AVX__)
102 #undef ABSL_HAVE_ACCELERATED_AES
103 #define ABSL_HAVE_ACCELERATED_AES 1
106 #elif defined(ABSL_ARCH_PPC)
109 #if (defined(__VEC__) || defined(__ALTIVEC__)) && defined(__VSX__) && \
111 #undef ABSL_HAVE_ACCELERATED_AES
112 #define ABSL_HAVE_ACCELERATED_AES 1
115 #elif defined(ABSL_ARCH_ARM) || defined(ABSL_ARCH_AARCH64)
119 #if defined(__ARM_NEON) && defined(__ARM_FEATURE_CRYPTO)
120 #undef ABSL_HAVE_ACCELERATED_AES
121 #define ABSL_HAVE_ACCELERATED_AES 1
127 #if defined(__native_client__)
128 #undef ABSL_HAVE_ACCELERATED_AES
129 #define ABSL_HAVE_ACCELERATED_AES 0
135 #define ABSL_RANDOM_INTERNAL_AES_DISPATCH 0
137 #if defined(ABSL_ARCH_X86_64)
139 #undef ABSL_RANDOM_INTERNAL_AES_DISPATCH
140 #define ABSL_RANDOM_INTERNAL_AES_DISPATCH 1
141 #elif defined(__linux__) && defined(ABSL_ARCH_PPC)
143 #undef ABSL_RANDOM_INTERNAL_AES_DISPATCH
144 #define ABSL_RANDOM_INTERNAL_AES_DISPATCH 1
145 #elif defined(__linux__) && defined(ABSL_ARCH_AARCH64)
147 #undef ABSL_RANDOM_INTERNAL_AES_DISPATCH
148 #define ABSL_RANDOM_INTERNAL_AES_DISPATCH 1
149 #elif defined(__linux__) && defined(ABSL_ARCH_ARM) && (__ARM_ARCH >= 8)
152 #undef ABSL_RANDOM_INTERNAL_AES_DISPATCH
153 #define ABSL_RANDOM_INTERNAL_AES_DISPATCH 1
157 #if defined(__native_client__)
158 #undef ABSL_RANDOM_INTERNAL_AES_DISPATCH
159 #define ABSL_RANDOM_INTERNAL_AES_DISPATCH 0
165 #if (defined(TARGET_OS_IPHONE) && TARGET_OS_IPHONE) || \
166 (defined(TARGET_OS_IPHONE_SIMULATOR) && TARGET_OS_IPHONE_SIMULATOR)
167 #undef ABSL_RANDOM_INTERNAL_AES_DISPATCH
168 #define ABSL_RANDOM_INTERNAL_AES_DISPATCH 0
171 #endif // ABSL_RANDOM_INTERNAL_PLATFORM_H_
grpc
Author(s):
autogenerated on Fri May 16 2025 02:59:43