diff options
author | Arne Schwabe <arne@rfc2549.org> | 2014-06-24 11:12:30 +0200 |
---|---|---|
committer | Arne Schwabe <arne@rfc2549.org> | 2014-06-24 11:12:30 +0200 |
commit | eb7891f0af9b787202e91e903b612eb2467ca870 (patch) | |
tree | dd2ad0eac533dca54f6ae2231430052bf8860a9d /main/openssl/crypto/arm_arch.h | |
parent | 830aec478ff774bf8beeb321f5f67a08a133e95f (diff) |
Update OpenSSL to aosp/master
--HG--
extra : amend_source : 1d737bc919a18f072b1038b548a2cbad4cf76e22
Diffstat (limited to 'main/openssl/crypto/arm_arch.h')
-rw-r--r-- | main/openssl/crypto/arm_arch.h | 19 |
1 files changed, 17 insertions, 2 deletions
diff --git a/main/openssl/crypto/arm_arch.h b/main/openssl/crypto/arm_arch.h index 5a831076..6fa87244 100644 --- a/main/openssl/crypto/arm_arch.h +++ b/main/openssl/crypto/arm_arch.h @@ -10,13 +10,24 @@ # define __ARMEL__ # endif # elif defined(__GNUC__) +# if defined(__aarch64__) +# define __ARM_ARCH__ 8 +# if __BYTE_ORDER__==__ORDER_BIG_ENDIAN__ +# define __ARMEB__ +# else +# define __ARMEL__ +# endif /* * Why doesn't gcc define __ARM_ARCH__? Instead it defines * bunch of below macros. See all_architectires[] table in * gcc/config/arm/arm.c. On a side note it defines * __ARMEL__/__ARMEB__ for little-/big-endian. */ -# if defined(__ARM_ARCH_7__) || defined(__ARM_ARCH_7A__) || \ +# elif defined(__ARM_ARCH) +# define __ARM_ARCH__ __ARM_ARCH +# elif defined(__ARM_ARCH_8A__) +# define __ARM_ARCH__ 8 +# elif defined(__ARM_ARCH_7__) || defined(__ARM_ARCH_7A__) || \ defined(__ARM_ARCH_7R__)|| defined(__ARM_ARCH_7M__) || \ defined(__ARM_ARCH_7EM__) # define __ARM_ARCH__ 7 @@ -43,9 +54,13 @@ #if !__ASSEMBLER__ extern unsigned int OPENSSL_armcap_P; +#endif #define ARMV7_NEON (1<<0) #define ARMV7_TICK (1<<1) -#endif +#define ARMV8_AES (1<<2) +#define ARMV8_SHA1 (1<<3) +#define ARMV8_SHA256 (1<<4) +#define ARMV8_PMULL (1<<5) #endif |