1
0
mirror of https://github.com/ARMmbed/mbedtls.git synced 2025-07-25 01:58:41 +08:00

skip pragma when cpu modifier has been set

Signed-off-by: Jerry Yu <jerry.h.yu@arm.com>
This commit is contained in:
Jerry Yu 2023-03-14 10:42:47 +08:00
parent b28d55b242
commit ec9be84ae6

View File

@ -48,22 +48,24 @@
#if defined(MBEDTLS_HAVE_ARM64) #if defined(MBEDTLS_HAVE_ARM64)
#if defined(__clang__) #if !defined(__ARM_FEATURE_AES) || defined(MBEDTLS_NEED_TARGET_OPTIONS)
# if defined(__clang__)
# if __clang_major__ < 4 # if __clang_major__ < 4
# error "A more recent Clang is required for MBEDTLS_AESCE_C" # error "A more recent Clang is required for MBEDTLS_AESCE_C"
# endif # endif
# pragma clang attribute push (__attribute__((target("crypto"))), apply_to=function) # pragma clang attribute push (__attribute__((target("crypto"))), apply_to=function)
# define MBEDTLS_POP_TARGET_PRAGMA # define MBEDTLS_POP_TARGET_PRAGMA
#elif defined(__GNUC__) # elif defined(__GNUC__)
# if __GNUC__ < 6 # if __GNUC__ < 6
# error "A more recent GCC is required for MBEDTLS_AESCE_C" # error "A more recent GCC is required for MBEDTLS_AESCE_C"
# endif # endif
# pragma GCC push_options # pragma GCC push_options
# pragma GCC target ("arch=armv8-a+crypto") # pragma GCC target ("arch=armv8-a+crypto")
# define MBEDTLS_POP_TARGET_PRAGMA # define MBEDTLS_POP_TARGET_PRAGMA
#else # else
# error "Only GCC and Clang supported for MBEDTLS_AESCE_C" # error "Only GCC and Clang supported for MBEDTLS_AESCE_C"
#endif # endif
#endif /* !__ARM_FEATURE_AES || MBEDTLS_NEED_TARGET_OPTIONS */
#include <arm_neon.h> #include <arm_neon.h>