File indexing completed on 2025-01-18 09:54:55
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023 #ifndef CRYPTOPP_CONFIG_ASM_H
0024 #define CRYPTOPP_CONFIG_ASM_H
0025
0026 #include "config_os.h"
0027 #include "config_cpu.h"
0028 #include "config_ver.h"
0029
0030
0031
0032
0033
0034
0035
0036
0037
0038
0039 #if defined(__native_client__)
0040 # undef CRYPTOPP_DISABLE_ASM
0041 # define CRYPTOPP_DISABLE_ASM 1
0042 #endif
0043
0044
0045
0046
0047
0048
0049
0050 #if defined(__clang__) || (defined(__APPLE__) && defined(__GNUC__)) || defined(__SUNPRO_CC)
0051 # undef CRYPTOPP_DISABLE_MIXED_ASM
0052 # define CRYPTOPP_DISABLE_MIXED_ASM 1
0053 #endif
0054
0055
0056
0057
0058
0059
0060
0061
0062
0063
0064
0065 #if (CRYPTOPP_BOOL_X86 || CRYPTOPP_BOOL_X32 || CRYPTOPP_BOOL_X64)
0066
0067
0068 #if defined(CRYPTOPP_APPLE_CLANG_VERSION) && (CRYPTOPP_APPLE_CLANG_VERSION < 50000)
0069 # define CRYPTOPP_DISABLE_ASM 1
0070 #endif
0071
0072
0073
0074 #if defined(__SUNPRO_CC) && (__SUNPRO_CC < 0x5100)
0075 # define CRYPTOPP_DISABLE_ASM 1
0076 #endif
0077
0078
0079 #if !defined(CRYPTOPP_DISABLE_ASM)
0080
0081 #if (defined(_MSC_VER) && defined(_M_IX86)) || ((defined(__GNUC__) && (defined(__i386__)) || defined(__x86_64__)))
0082
0083 #define CRYPTOPP_X86_ASM_AVAILABLE 1
0084
0085 #if !defined(CRYPTOPP_DISABLE_SSE2) && (defined(_MSC_VER) || CRYPTOPP_GCC_VERSION >= 30300 || defined(__SSE2__))
0086 #define CRYPTOPP_SSE2_ASM_AVAILABLE 1
0087 #endif
0088
0089 #if !defined(CRYPTOPP_DISABLE_SSSE3) && (_MSC_VER >= 1500 || CRYPTOPP_GCC_VERSION >= 40300 || defined(__SSSE3__))
0090 #define CRYPTOPP_SSSE3_ASM_AVAILABLE 1
0091 #endif
0092 #endif
0093
0094 #if defined(_MSC_VER) && defined(_M_X64)
0095 #define CRYPTOPP_X64_MASM_AVAILABLE 1
0096 #endif
0097
0098 #if defined(__GNUC__) && defined(__x86_64__)
0099 #define CRYPTOPP_X64_ASM_AVAILABLE 1
0100 #endif
0101
0102
0103 #if !defined(CRYPTOPP_DISABLE_SSE2) && (defined(CRYPTOPP_MSC_VERSION) || CRYPTOPP_GCC_VERSION >= 30300 || defined(__SSE2__) || (__SUNPRO_CC >= 0x5100))
0104 #define CRYPTOPP_SSE2_INTRIN_AVAILABLE 1
0105 #endif
0106
0107 #if !defined(CRYPTOPP_DISABLE_SSSE3)
0108 # if defined(__SSSE3__) || (CRYPTOPP_MSC_VERSION >= 1500) || \
0109 (CRYPTOPP_GCC_VERSION >= 40300) || (__INTEL_COMPILER >= 1000) || (__SUNPRO_CC >= 0x5110) || \
0110 (CRYPTOPP_LLVM_CLANG_VERSION >= 20300) || (CRYPTOPP_APPLE_CLANG_VERSION >= 40000)
0111 #define CRYPTOPP_SSSE3_AVAILABLE 1
0112 # endif
0113 #endif
0114
0115
0116
0117
0118 #if !defined(CRYPTOPP_DISABLE_SSE4) && defined(CRYPTOPP_SSSE3_AVAILABLE) && \
0119 (defined(__SSE4_1__) || (CRYPTOPP_MSC_VERSION >= 1500) || \
0120 (CRYPTOPP_GCC_VERSION >= 40300) || (__INTEL_COMPILER >= 1000) || (__SUNPRO_CC >= 0x5110) || \
0121 (CRYPTOPP_LLVM_CLANG_VERSION >= 20300) || (CRYPTOPP_APPLE_CLANG_VERSION >= 40000))
0122 #define CRYPTOPP_SSE41_AVAILABLE 1
0123 #endif
0124
0125 #if !defined(CRYPTOPP_DISABLE_SSE4) && defined(CRYPTOPP_SSSE3_AVAILABLE) && \
0126 (defined(__SSE4_2__) || (CRYPTOPP_MSC_VERSION >= 1500) || (__SUNPRO_CC >= 0x5110) || \
0127 (CRYPTOPP_GCC_VERSION >= 40300) || (__INTEL_COMPILER >= 1000) || \
0128 (CRYPTOPP_LLVM_CLANG_VERSION >= 20300) || (CRYPTOPP_APPLE_CLANG_VERSION >= 40000))
0129 #define CRYPTOPP_SSE42_AVAILABLE 1
0130 #endif
0131
0132
0133
0134 #if defined(CRYPTOPP_DISABLE_AESNI)
0135 #define CRYPTOPP_DISABLE_CLMUL 1
0136 #endif
0137
0138
0139 #if !defined(CRYPTOPP_DISABLE_CLMUL) && defined(CRYPTOPP_SSE42_AVAILABLE) && \
0140 (defined(__PCLMUL__) || (_MSC_FULL_VER >= 150030729) || (__SUNPRO_CC >= 0x5120) || \
0141 (CRYPTOPP_GCC_VERSION >= 40300) || (__INTEL_COMPILER >= 1110) || \
0142 (CRYPTOPP_LLVM_CLANG_VERSION >= 30200) || (CRYPTOPP_APPLE_CLANG_VERSION >= 40300))
0143 #define CRYPTOPP_CLMUL_AVAILABLE 1
0144 #endif
0145
0146
0147 #if !defined(CRYPTOPP_DISABLE_AESNI) && defined(CRYPTOPP_SSE42_AVAILABLE) && \
0148 (defined(__AES__) || (_MSC_FULL_VER >= 150030729) || (__SUNPRO_CC >= 0x5120) || \
0149 (CRYPTOPP_GCC_VERSION >= 40300) || (__INTEL_COMPILER >= 1110) || \
0150 (CRYPTOPP_LLVM_CLANG_VERSION >= 30200) || (CRYPTOPP_APPLE_CLANG_VERSION >= 40300))
0151 #define CRYPTOPP_AESNI_AVAILABLE 1
0152 #endif
0153
0154
0155 #if !defined(CRYPTOPP_DISABLE_AVX) && defined(CRYPTOPP_SSE42_AVAILABLE) && \
0156 (defined(__AVX2__) || (CRYPTOPP_MSC_VERSION >= 1800) || (__SUNPRO_CC >= 0x5130) || \
0157 (CRYPTOPP_GCC_VERSION >= 40700) || (__INTEL_COMPILER >= 1400) || \
0158 (CRYPTOPP_LLVM_CLANG_VERSION >= 30100) || (CRYPTOPP_APPLE_CLANG_VERSION >= 40600))
0159 #define CRYPTOPP_AVX_AVAILABLE 1
0160 #endif
0161
0162
0163 #if !defined(CRYPTOPP_DISABLE_AVX2) && defined(CRYPTOPP_AVX_AVAILABLE) && \
0164 (defined(__AVX2__) || (CRYPTOPP_MSC_VERSION >= 1800) || (__SUNPRO_CC >= 0x5130) || \
0165 (CRYPTOPP_GCC_VERSION >= 40900) || (__INTEL_COMPILER >= 1400) || \
0166 (CRYPTOPP_LLVM_CLANG_VERSION >= 30100) || (CRYPTOPP_APPLE_CLANG_VERSION >= 40600))
0167 #define CRYPTOPP_AVX2_AVAILABLE 1
0168 #endif
0169
0170
0171
0172
0173
0174 #if !defined(CRYPTOPP_DISABLE_SHANI) && defined(CRYPTOPP_SSE42_AVAILABLE) && \
0175 (defined(__SHA__) || (CRYPTOPP_MSC_VERSION >= 1900) || (__SUNPRO_CC >= 0x5160) || \
0176 (CRYPTOPP_GCC_VERSION >= 40900) || (__INTEL_COMPILER >= 1600) || \
0177 (CRYPTOPP_LLVM_CLANG_VERSION >= 30400) || (CRYPTOPP_APPLE_CLANG_VERSION >= 50100))
0178 #define CRYPTOPP_SHANI_AVAILABLE 1
0179 #endif
0180
0181
0182
0183 #if !defined(CRYPTOPP_DISABLE_RDRAND) && defined(CRYPTOPP_AESNI_AVAILABLE)
0184 #define CRYPTOPP_RDRAND_AVAILABLE 1
0185 #endif
0186
0187
0188
0189 #if !defined(CRYPTOPP_DISABLE_RDSEED) && defined(CRYPTOPP_AESNI_AVAILABLE)
0190 #define CRYPTOPP_RDSEED_AVAILABLE 1
0191 #endif
0192
0193
0194 #if !defined(CRYPTOPP_DISABLE_PADLOCK) && \
0195 !(defined(__ANDROID__) || defined(ANDROID) || defined(__APPLE__)) && \
0196 defined(CRYPTOPP_X86_ASM_AVAILABLE)
0197 #define CRYPTOPP_PADLOCK_AVAILABLE 1
0198 #define CRYPTOPP_PADLOCK_RNG_AVAILABLE 1
0199 #define CRYPTOPP_PADLOCK_ACE_AVAILABLE 1
0200 #define CRYPTOPP_PADLOCK_ACE2_AVAILABLE 1
0201 #define CRYPTOPP_PADLOCK_PHE_AVAILABLE 1
0202 #define CRYPTOPP_PADLOCK_PMM_AVAILABLE 1
0203 #endif
0204
0205
0206 #if defined(__SUNPRO_CC) && (__SUNPRO_CC <= 0x5130)
0207 # undef CRYPTOPP_AESNI_AVAILABLE
0208 #endif
0209
0210
0211
0212 #if defined(__SUNPRO_CC) && (__SUNPRO_CC <= 0x5150)
0213 # undef CRYPTOPP_CLMUL_AVAILABLE
0214 #endif
0215
0216
0217 #define M128_CAST(x) ((__m128i *)(void *)(x))
0218 #define CONST_M128_CAST(x) ((const __m128i *)(const void *)(x))
0219 #define M256_CAST(x) ((__m256i *)(void *)(x))
0220 #define CONST_M256_CAST(x) ((const __m256i *)(const void *)(x))
0221
0222 #endif
0223
0224 #endif
0225
0226
0227
0228 #if (CRYPTOPP_BOOL_ARM32 || CRYPTOPP_BOOL_ARMV8)
0229
0230
0231
0232 #if (CRYPTOPP_BIG_ENDIAN)
0233 # define CRYPTOPP_DISABLE_ASM 1
0234 #endif
0235
0236
0237 #if !defined(CRYPTOPP_DISABLE_ASM)
0238
0239
0240
0241
0242 #if !defined(CRYPTOPP_ARM_NEON_AVAILABLE) && !defined(CRYPTOPP_DISABLE_ARM_NEON)
0243 # if defined(__arm__) || defined(__ARM_NEON) || defined(__ARM_FEATURE_NEON) || defined(_M_ARM)
0244 # if (CRYPTOPP_GCC_VERSION >= 40300) || (CRYPTOPP_LLVM_CLANG_VERSION >= 20800) || \
0245 (CRYPTOPP_APPLE_CLANG_VERSION >= 30200) || (CRYPTOPP_MSC_VERSION >= 1700)
0246 # define CRYPTOPP_ARM_NEON_AVAILABLE 1
0247 # endif
0248 # endif
0249 #endif
0250
0251
0252
0253
0254 #if !defined(CRYPTOPP_ARM_ASIMD_AVAILABLE) && !defined(CRYPTOPP_DISABLE_ARM_ASIMD)
0255 # if defined(__aarch32__) || defined(__aarch64__) || defined(__arm64__) || defined(_M_ARM64)
0256 # if defined(__ARM_NEON) || defined(__ARM_ASIMD) || defined(__ARM_FEATURE_NEON) || defined(__ARM_FEATURE_ASIMD) || \
0257 (CRYPTOPP_GCC_VERSION >= 40800) || (CRYPTOPP_LLVM_CLANG_VERSION >= 30300) || \
0258 (CRYPTOPP_APPLE_CLANG_VERSION >= 40000) || (CRYPTOPP_MSC_VERSION >= 1916)
0259 # define CRYPTOPP_ARM_NEON_AVAILABLE 1
0260 # define CRYPTOPP_ARM_ASIMD_AVAILABLE 1
0261 # endif
0262 # endif
0263 #endif
0264
0265
0266
0267 #if !defined(CRYPTOPP_ARM_CRC32_AVAILABLE) && !defined(CRYPTOPP_DISABLE_ARM_CRC32)
0268 # if defined(__aarch32__) || defined(__aarch64__) || defined(_M_ARM64)
0269 # if defined(__ARM_FEATURE_CRC32) || (CRYPTOPP_GCC_VERSION >= 40800) || \
0270 (CRYPTOPP_LLVM_CLANG_VERSION >= 30300) || (CRYPTOPP_APPLE_CLANG_VERSION >= 40300) || \
0271 (CRYPTOPP_MSC_VERSION >= 1916)
0272 # define CRYPTOPP_ARM_CRC32_AVAILABLE 1
0273 # endif
0274 # endif
0275 #endif
0276
0277
0278
0279 #if !defined(CRYPTOPP_ARM_AES_AVAILABLE) && !defined(CRYPTOPP_DISABLE_ARM_AES)
0280 # if defined(__aarch32__) || defined(__aarch64__) || defined(_M_ARM64)
0281 # if defined(__ARM_FEATURE_CRYPTO) || (CRYPTOPP_GCC_VERSION >= 40800) || \
0282 (CRYPTOPP_LLVM_CLANG_VERSION >= 30300) || (CRYPTOPP_APPLE_CLANG_VERSION >= 40300) || \
0283 (CRYPTOPP_MSC_VERSION >= 1916)
0284 # define CRYPTOPP_ARM_AES_AVAILABLE 1
0285 # endif
0286 # endif
0287 #endif
0288
0289
0290
0291 #if !defined(CRYPTOPP_ARM_PMULL_AVAILABLE) && !defined(CRYPTOPP_DISABLE_ARM_PMULL)
0292 # if defined(__aarch32__) || defined(__aarch64__) || defined(_M_ARM64)
0293 # if defined(__ARM_FEATURE_CRYPTO) || (CRYPTOPP_GCC_VERSION >= 40800) || \
0294 (CRYPTOPP_LLVM_CLANG_VERSION >= 30300) || (CRYPTOPP_APPLE_CLANG_VERSION >= 40300) || \
0295 (CRYPTOPP_MSC_VERSION >= 1916)
0296 # define CRYPTOPP_ARM_PMULL_AVAILABLE 1
0297 # endif
0298 # endif
0299 #endif
0300
0301
0302
0303 #if !defined(CRYPTOPP_ARM_SHA_AVAILABLE) && !defined(CRYPTOPP_DISABLE_ARM_SHA)
0304 # if defined(__aarch32__) || defined(__aarch64__) || defined(_M_ARM64)
0305 # if defined(__ARM_FEATURE_CRYPTO) || (CRYPTOPP_GCC_VERSION >= 40800) || \
0306 (CRYPTOPP_LLVM_CLANG_VERSION >= 30300) || (CRYPTOPP_APPLE_CLANG_VERSION >= 40300) || \
0307 (CRYPTOPP_MSC_VERSION >= 1916)
0308 # define CRYPTOPP_ARM_SHA1_AVAILABLE 1
0309 # define CRYPTOPP_ARM_SHA2_AVAILABLE 1
0310 # endif
0311 # endif
0312 #endif
0313
0314
0315 #if defined(CRYPTOPP_MSC_VERSION)
0316 # undef CRYPTOPP_ARM_SHA1_AVAILABLE
0317 # undef CRYPTOPP_ARM_SHA2_AVAILABLE
0318 #endif
0319
0320
0321
0322 #if !defined(CRYPTOPP_ARM_SHA3_AVAILABLE) && !defined(CRYPTOPP_DISABLE_ARM_SHA)
0323 # if defined(__aarch32__) || defined(__aarch64__) || defined(_M_ARM64)
0324 # if defined(__ARM_FEATURE_SHA3) || (CRYPTOPP_GCC_VERSION >= 80000) || \
0325 (CRYPTOPP_APPLE_CLANG_VERSION >= 120000) || (CRYPTOPP_LLVM_CLANG_VERSION >= 110000)
0326 # define CRYPTOPP_ARM_SHA512_AVAILABLE 1
0327 # define CRYPTOPP_ARM_SHA3_AVAILABLE 1
0328 # endif
0329 # endif
0330 #endif
0331
0332
0333
0334
0335 #if !defined(CRYPTOPP_ARM_SM3_AVAILABLE) && !defined(CRYPTOPP_DISABLE_ARM_SM3)
0336 # if defined(__aarch32__) || defined(__aarch64__) || defined(_M_ARM64)
0337 # if defined(__ARM_FEATURE_SM3) || (CRYPTOPP_GCC_VERSION >= 80000)
0338 # define CRYPTOPP_ARM_SM3_AVAILABLE 1
0339 # define CRYPTOPP_ARM_SM4_AVAILABLE 1
0340 # endif
0341 # endif
0342 #endif
0343
0344
0345 #if !defined(CRYPTOPP_ARM_NEON_HEADER)
0346 # if defined(CRYPTOPP_ARM_NEON_AVAILABLE) || defined (CRYPTOPP_ARM_ASIMD_AVAILABLE)
0347 # if !defined(_M_ARM64)
0348 # define CRYPTOPP_ARM_NEON_HEADER 1
0349 # endif
0350 # endif
0351 #endif
0352
0353
0354 #if !defined(CRYPTOPP_ARM_ACLE_HEADER)
0355 # if defined(__aarch32__) || defined(__aarch64__) || (__ARM_ARCH >= 8) || defined(__ARM_ACLE)
0356 # define CRYPTOPP_ARM_ACLE_HEADER 1
0357 # endif
0358 #endif
0359
0360
0361
0362
0363
0364 #if defined(__APPLE__) && !defined(__ARM_FEATURE_CRC32)
0365 # undef CRYPTOPP_ARM_ACLE_HEADER
0366 #endif
0367
0368
0369
0370
0371
0372
0373
0374 #if !defined(CRYPTOPP_DISABLE_ARM_NEON)
0375 # if defined(__arm__) && defined(__linux__)
0376 # if defined(__GNUC__) || defined(__clang__)
0377 # define CRYPTOGAMS_ARM_AES 1
0378 # define CRYPTOGAMS_ARM_SHA1 1
0379 # define CRYPTOGAMS_ARM_SHA256 1
0380 # define CRYPTOGAMS_ARM_SHA512 1
0381 # endif
0382 # endif
0383 #endif
0384
0385
0386
0387 #undef CRYPTOGAMS_ARM_AES
0388
0389
0390 #define UINT64_CAST(x) ((uint64_t *)(void *)(x))
0391 #define CONST_UINT64_CAST(x) ((const uint64_t *)(const void *)(x))
0392
0393 #endif
0394
0395 #endif
0396
0397
0398
0399 #if (CRYPTOPP_BOOL_PPC32 || CRYPTOPP_BOOL_PPC64)
0400
0401
0402 #if !defined(CRYPTOPP_DISABLE_ASM) && !defined(CRYPTOPP_DISABLE_ALTIVEC)
0403
0404
0405 #if !defined(CRYPTOPP_ALTIVEC_AVAILABLE)
0406 # if defined(_ARCH_PWR4) || defined(__ALTIVEC__) || \
0407 (CRYPTOPP_XLC_VERSION >= 100000) || (CRYPTOPP_GCC_VERSION >= 40001) || \
0408 (CRYPTOPP_LLVM_CLANG_VERSION >= 20900)
0409 # define CRYPTOPP_ALTIVEC_AVAILABLE 1
0410 # endif
0411 #endif
0412
0413 #if defined(CRYPTOPP_ALTIVEC_AVAILABLE)
0414
0415
0416 #if !defined(CRYPTOPP_POWER7_AVAILABLE) && !defined(CRYPTOPP_DISABLE_POWER7)
0417 # if defined(_ARCH_PWR7) || (CRYPTOPP_XLC_VERSION >= 100000) || \
0418 (CRYPTOPP_GCC_VERSION >= 40100) || (CRYPTOPP_LLVM_CLANG_VERSION >= 30100)
0419 # define CRYPTOPP_POWER7_AVAILABLE 1
0420 # endif
0421 #endif
0422
0423 #if defined(CRYPTOPP_POWER7_AVAILABLE)
0424
0425
0426 #if !defined(CRYPTOPP_POWER8_AVAILABLE) && !defined(CRYPTOPP_DISABLE_POWER8)
0427 # if defined(_ARCH_PWR8) || (CRYPTOPP_XLC_VERSION >= 130000) || \
0428 (CRYPTOPP_GCC_VERSION >= 40800) || (CRYPTOPP_LLVM_CLANG_VERSION >= 70000)
0429 # define CRYPTOPP_POWER8_AVAILABLE 1
0430 # endif
0431 #endif
0432
0433 #if !defined(CRYPTOPP_POWER8_AES_AVAILABLE) && !defined(CRYPTOPP_DISABLE_POWER8_AES) && defined(CRYPTOPP_POWER8_AVAILABLE)
0434 # if defined(__CRYPTO__) || defined(_ARCH_PWR8) || (CRYPTOPP_XLC_VERSION >= 130000) || \
0435 (CRYPTOPP_GCC_VERSION >= 40800) || (CRYPTOPP_LLVM_CLANG_VERSION >= 70000)
0436
0437 # define CRYPTOPP_POWER8_AES_AVAILABLE 1
0438 # define CRYPTOPP_POWER8_VMULL_AVAILABLE 1
0439 # define CRYPTOPP_POWER8_SHA_AVAILABLE 1
0440 # endif
0441 #endif
0442
0443 #if defined(CRYPTOPP_POWER8_AVAILABLE)
0444
0445
0446 #if !defined(CRYPTOPP_POWER9_AVAILABLE) && !defined(CRYPTOPP_DISABLE_POWER9)
0447 # if defined(_ARCH_PWR9) || (CRYPTOPP_XLC_VERSION >= 130200) || \
0448 (CRYPTOPP_GCC_VERSION >= 70000) || (CRYPTOPP_LLVM_CLANG_VERSION >= 80000)
0449 # define CRYPTOPP_POWER9_AVAILABLE 1
0450 # endif
0451 #endif
0452
0453 #endif
0454 #endif
0455 #endif
0456 #endif
0457 #endif
0458
0459
0460 #if defined(CRYPTOPP_DISABLE_ANDROID_ADVANCED_ISA)
0461 # if defined(__ANDROID__) || defined(ANDROID)
0462 # if (CRYPTOPP_BOOL_X86)
0463 # undef CRYPTOPP_SSE41_AVAILABLE
0464 # undef CRYPTOPP_SSE42_AVAILABLE
0465 # undef CRYPTOPP_CLMUL_AVAILABLE
0466 # undef CRYPTOPP_AESNI_AVAILABLE
0467 # undef CRYPTOPP_SHANI_AVAILABLE
0468 # undef CRYPTOPP_RDRAND_AVAILABLE
0469 # undef CRYPTOPP_RDSEED_AVAILABLE
0470 # undef CRYPTOPP_AVX_AVAILABLE
0471 # undef CRYPTOPP_AVX2_AVAILABLE
0472 # endif
0473 # if (CRYPTOPP_BOOL_X64)
0474 # undef CRYPTOPP_CLMUL_AVAILABLE
0475 # undef CRYPTOPP_AESNI_AVAILABLE
0476 # undef CRYPTOPP_SHANI_AVAILABLE
0477 # undef CRYPTOPP_RDRAND_AVAILABLE
0478 # undef CRYPTOPP_RDSEED_AVAILABLE
0479 # undef CRYPTOPP_AVX_AVAILABLE
0480 # undef CRYPTOPP_AVX2_AVAILABLE
0481 # endif
0482 # if (CRYPTOPP_BOOL_ARMV8)
0483 # undef CRYPTOPP_ARM_CRC32_AVAILABLE
0484 # undef CRYPTOPP_ARM_PMULL_AVAILABLE
0485 # undef CRYPTOPP_ARM_AES_AVAILABLE
0486 # undef CRYPTOPP_ARM_SHA1_AVAILABLE
0487 # undef CRYPTOPP_ARM_SHA2_AVAILABLE
0488 # endif
0489 # endif
0490 #endif
0491
0492 #endif