Cut-in to utilize GNU_ATT_SYNTAX and GNU_INTEL_SYNTAX macros. Also see LLVM Bug 18916 (https://llvm.org/bugs/show_bug.cgi?id=18916)
parent
5e8b114e58
commit
444d1f1a3b
8
gcm.cpp
8
gcm.cpp
|
|
@ -574,7 +574,7 @@ size_t GCM_Base::AuthenticateBlocks(const byte *data, size_t len)
|
||||||
#ifdef __GNUC__
|
#ifdef __GNUC__
|
||||||
__asm__ __volatile__
|
__asm__ __volatile__
|
||||||
(
|
(
|
||||||
".intel_syntax noprefix;"
|
GNU_INTEL_SYNTAX
|
||||||
#elif defined(CRYPTOPP_GENERATE_X64_MASM)
|
#elif defined(CRYPTOPP_GENERATE_X64_MASM)
|
||||||
ALIGN 8
|
ALIGN 8
|
||||||
GCM_AuthenticateBlocks_2K PROC FRAME
|
GCM_AuthenticateBlocks_2K PROC FRAME
|
||||||
|
|
@ -702,7 +702,7 @@ size_t GCM_Base::AuthenticateBlocks(const byte *data, size_t len)
|
||||||
AS_POP_IF86( bx)
|
AS_POP_IF86( bx)
|
||||||
|
|
||||||
#ifdef __GNUC__
|
#ifdef __GNUC__
|
||||||
".att_syntax prefix;"
|
GNU_ATT_SYNTAX
|
||||||
:
|
:
|
||||||
: "c" (data), "d" (len/16), "S" (hashBuffer), "D" (s_reductionTable)
|
: "c" (data), "d" (len/16), "S" (hashBuffer), "D" (s_reductionTable)
|
||||||
: "memory", "cc", "%eax"
|
: "memory", "cc", "%eax"
|
||||||
|
|
@ -725,7 +725,7 @@ size_t GCM_Base::AuthenticateBlocks(const byte *data, size_t len)
|
||||||
#ifdef __GNUC__
|
#ifdef __GNUC__
|
||||||
__asm__ __volatile__
|
__asm__ __volatile__
|
||||||
(
|
(
|
||||||
".intel_syntax noprefix;"
|
GNU_INTEL_SYNTAX
|
||||||
#elif defined(CRYPTOPP_GENERATE_X64_MASM)
|
#elif defined(CRYPTOPP_GENERATE_X64_MASM)
|
||||||
ALIGN 8
|
ALIGN 8
|
||||||
GCM_AuthenticateBlocks_64K PROC FRAME
|
GCM_AuthenticateBlocks_64K PROC FRAME
|
||||||
|
|
@ -779,7 +779,7 @@ size_t GCM_Base::AuthenticateBlocks(const byte *data, size_t len)
|
||||||
AS2( movdqa [WORD_REG(si)], xmm0 )
|
AS2( movdqa [WORD_REG(si)], xmm0 )
|
||||||
|
|
||||||
#ifdef __GNUC__
|
#ifdef __GNUC__
|
||||||
".att_syntax prefix;"
|
GNU_ATT_SYNTAX
|
||||||
:
|
:
|
||||||
: "c" (data), "d" (len/16), "S" (hashBuffer)
|
: "c" (data), "d" (len/16), "S" (hashBuffer)
|
||||||
: "memory", "cc", "%edi", "%eax"
|
: "memory", "cc", "%edi", "%eax"
|
||||||
|
|
|
||||||
14
integer.cpp
14
integer.cpp
|
|
@ -450,9 +450,9 @@ inline word DWord::operator%(word a)
|
||||||
int result; \
|
int result; \
|
||||||
__asm__ __volatile__ \
|
__asm__ __volatile__ \
|
||||||
( \
|
( \
|
||||||
".intel_syntax noprefix;"
|
GNU_INTEL_SYNTAX
|
||||||
#define AddEpilogue \
|
#define AddEpilogue \
|
||||||
".att_syntax prefix;" \
|
GNU_ATT_SYNTAX \
|
||||||
: "=a" (result)\
|
: "=a" (result)\
|
||||||
: "d" (C), "a" (A), "D" (B), "c" (N) \
|
: "d" (C), "a" (A), "D" (B), "c" (N) \
|
||||||
: "%esi", "memory", "cc" \
|
: "%esi", "memory", "cc" \
|
||||||
|
|
@ -461,12 +461,12 @@ inline word DWord::operator%(word a)
|
||||||
#define MulPrologue \
|
#define MulPrologue \
|
||||||
__asm__ __volatile__ \
|
__asm__ __volatile__ \
|
||||||
( \
|
( \
|
||||||
".intel_syntax noprefix;" \
|
GNU_INTEL_SYNTAX \
|
||||||
AS1( push ebx) \
|
AS1( push ebx) \
|
||||||
AS2( mov ebx, edx)
|
AS2( mov ebx, edx)
|
||||||
#define MulEpilogue \
|
#define MulEpilogue \
|
||||||
AS1( pop ebx) \
|
AS1( pop ebx) \
|
||||||
".att_syntax prefix;" \
|
GNU_ATT_SYNTAX \
|
||||||
: \
|
: \
|
||||||
: "d" (s_maskLow16), "c" (C), "a" (A), "D" (B) \
|
: "d" (s_maskLow16), "c" (C), "a" (A), "D" (B) \
|
||||||
: "%esi", "memory", "cc" \
|
: "%esi", "memory", "cc" \
|
||||||
|
|
@ -474,7 +474,7 @@ inline word DWord::operator%(word a)
|
||||||
#define SquPrologue MulPrologue
|
#define SquPrologue MulPrologue
|
||||||
#define SquEpilogue \
|
#define SquEpilogue \
|
||||||
AS1( pop ebx) \
|
AS1( pop ebx) \
|
||||||
".att_syntax prefix;" \
|
GNU_ATT_SYNTAX \
|
||||||
: \
|
: \
|
||||||
: "d" (s_maskLow16), "c" (C), "a" (A) \
|
: "d" (s_maskLow16), "c" (C), "a" (A) \
|
||||||
: "%esi", "%edi", "memory", "cc" \
|
: "%esi", "%edi", "memory", "cc" \
|
||||||
|
|
@ -482,7 +482,7 @@ inline word DWord::operator%(word a)
|
||||||
#define TopPrologue MulPrologue
|
#define TopPrologue MulPrologue
|
||||||
#define TopEpilogue \
|
#define TopEpilogue \
|
||||||
AS1( pop ebx) \
|
AS1( pop ebx) \
|
||||||
".att_syntax prefix;" \
|
GNU_ATT_SYNTAX \
|
||||||
: \
|
: \
|
||||||
: "d" (s_maskLow16), "c" (C), "a" (A), "D" (B), "S" (L) \
|
: "d" (s_maskLow16), "c" (C), "a" (A), "D" (B), "S" (L) \
|
||||||
: "memory", "cc" \
|
: "memory", "cc" \
|
||||||
|
|
@ -570,7 +570,7 @@ int Baseline_Sub(size_t N, word *C, const word *A, const word *B)
|
||||||
word result;
|
word result;
|
||||||
__asm__ __volatile__
|
__asm__ __volatile__
|
||||||
(
|
(
|
||||||
".intel_syntax;"
|
GNU_INTEL_SYNTAX
|
||||||
AS1( neg %1)
|
AS1( neg %1)
|
||||||
ASJ( jz, 1, f)
|
ASJ( jz, 1, f)
|
||||||
AS2( mov %0,[%3+8*%1])
|
AS2( mov %0,[%3+8*%1])
|
||||||
|
|
|
||||||
|
|
@ -45,7 +45,7 @@ void CRYPTOPP_NOINLINE Panama_SSE2_Pull(size_t count, word32 *state, word32 *z,
|
||||||
#ifdef CRYPTOPP_GNU_STYLE_INLINE_ASSEMBLY
|
#ifdef CRYPTOPP_GNU_STYLE_INLINE_ASSEMBLY
|
||||||
asm __volatile__
|
asm __volatile__
|
||||||
(
|
(
|
||||||
".intel_syntax noprefix;"
|
GNU_INTEL_SYNTAX
|
||||||
AS_PUSH_IF86( bx)
|
AS_PUSH_IF86( bx)
|
||||||
#else
|
#else
|
||||||
AS2( mov AS_REG_1, count)
|
AS2( mov AS_REG_1, count)
|
||||||
|
|
@ -289,7 +289,7 @@ void CRYPTOPP_NOINLINE Panama_SSE2_Pull(size_t count, word32 *state, word32 *z,
|
||||||
|
|
||||||
#ifdef CRYPTOPP_GNU_STYLE_INLINE_ASSEMBLY
|
#ifdef CRYPTOPP_GNU_STYLE_INLINE_ASSEMBLY
|
||||||
AS_POP_IF86( bx)
|
AS_POP_IF86( bx)
|
||||||
".att_syntax prefix;"
|
GNU_ATT_SYNTAX
|
||||||
:
|
:
|
||||||
#if CRYPTOPP_BOOL_X64
|
#if CRYPTOPP_BOOL_X64
|
||||||
: "D" (count), "S" (state), "d" (z), "c" (y)
|
: "D" (count), "S" (state), "d" (z), "c" (y)
|
||||||
|
|
|
||||||
|
|
@ -614,7 +614,7 @@ CRYPTOPP_NAKED void CRYPTOPP_FASTCALL Rijndael_Enc_AdvancedProcessBlocks(void *l
|
||||||
#elif defined(__GNUC__)
|
#elif defined(__GNUC__)
|
||||||
__asm__ __volatile__
|
__asm__ __volatile__
|
||||||
(
|
(
|
||||||
".intel_syntax noprefix;"
|
GNU_INTEL_SYNTAX
|
||||||
#if CRYPTOPP_BOOL_X64
|
#if CRYPTOPP_BOOL_X64
|
||||||
AS2( mov L_REG, rcx)
|
AS2( mov L_REG, rcx)
|
||||||
#endif
|
#endif
|
||||||
|
|
@ -969,7 +969,7 @@ CRYPTOPP_NAKED void CRYPTOPP_FASTCALL Rijndael_Enc_AdvancedProcessBlocks(void *l
|
||||||
Rijndael_Enc_AdvancedProcessBlocks ENDP
|
Rijndael_Enc_AdvancedProcessBlocks ENDP
|
||||||
#endif
|
#endif
|
||||||
#ifdef __GNUC__
|
#ifdef __GNUC__
|
||||||
".att_syntax prefix;"
|
GNU_ATT_SYNTAX
|
||||||
:
|
:
|
||||||
: "c" (locals), "d" (k), "S" (Te), "D" (g_cacheLineSize)
|
: "c" (locals), "d" (k), "S" (Te), "D" (g_cacheLineSize)
|
||||||
: "memory", "cc", "%eax"
|
: "memory", "cc", "%eax"
|
||||||
|
|
|
||||||
|
|
@ -150,7 +150,7 @@ void Salsa20_Policy::OperateKeystream(KeystreamOperation operation, byte *output
|
||||||
#ifdef __GNUC__
|
#ifdef __GNUC__
|
||||||
__asm__ __volatile__
|
__asm__ __volatile__
|
||||||
(
|
(
|
||||||
".intel_syntax noprefix;"
|
GNU_INTEL_SYNTAX
|
||||||
AS_PUSH_IF86( bx)
|
AS_PUSH_IF86( bx)
|
||||||
#else
|
#else
|
||||||
void *s = m_state.data();
|
void *s = m_state.data();
|
||||||
|
|
@ -458,7 +458,7 @@ void Salsa20_Policy::OperateKeystream(KeystreamOperation operation, byte *output
|
||||||
AS_POP_IF86( bp)
|
AS_POP_IF86( bp)
|
||||||
#ifdef __GNUC__
|
#ifdef __GNUC__
|
||||||
AS_POP_IF86( bx)
|
AS_POP_IF86( bx)
|
||||||
".att_syntax prefix;"
|
GNU_ATT_SYNTAX
|
||||||
#if CRYPTOPP_BOOL_X64
|
#if CRYPTOPP_BOOL_X64
|
||||||
: "+r" (input), "+r" (output), "+r" (iterationCount)
|
: "+r" (input), "+r" (output), "+r" (iterationCount)
|
||||||
: "r" (m_rounds), "r" (m_state.m_ptr), "r" (workspace)
|
: "r" (m_rounds), "r" (m_state.m_ptr), "r" (workspace)
|
||||||
|
|
|
||||||
8
sha.cpp
8
sha.cpp
|
|
@ -244,7 +244,7 @@ static void CRYPTOPP_FASTCALL X86_SHA256_HashBlocks(word32 *state, const word32
|
||||||
#if CRYPTOPP_BOOL_X64
|
#if CRYPTOPP_BOOL_X64
|
||||||
"lea %4, %%r8;"
|
"lea %4, %%r8;"
|
||||||
#endif
|
#endif
|
||||||
".intel_syntax noprefix;"
|
GNU_INTEL_SYNTAX
|
||||||
#elif defined(CRYPTOPP_GENERATE_X64_MASM)
|
#elif defined(CRYPTOPP_GENERATE_X64_MASM)
|
||||||
ALIGN 8
|
ALIGN 8
|
||||||
X86_SHA256_HashBlocks PROC FRAME
|
X86_SHA256_HashBlocks PROC FRAME
|
||||||
|
|
@ -424,7 +424,7 @@ static void CRYPTOPP_FASTCALL X86_SHA256_HashBlocks(word32 *state, const word32
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef __GNUC__
|
#ifdef __GNUC__
|
||||||
".att_syntax prefix;"
|
GNU_ATT_SYNTAX
|
||||||
:
|
:
|
||||||
: "c" (state), "d" (data), "S" (SHA256_K+48), "D" (len)
|
: "c" (state), "d" (data), "S" (SHA256_K+48), "D" (len)
|
||||||
#if CRYPTOPP_BOOL_X64
|
#if CRYPTOPP_BOOL_X64
|
||||||
|
|
@ -675,7 +675,7 @@ CRYPTOPP_NAKED static void CRYPTOPP_FASTCALL SHA512_SSE2_Transform(word64 *state
|
||||||
#ifdef __GNUC__
|
#ifdef __GNUC__
|
||||||
__asm__ __volatile__
|
__asm__ __volatile__
|
||||||
(
|
(
|
||||||
".intel_syntax noprefix;"
|
GNU_INTEL_SYNTAX
|
||||||
AS1( push ebx)
|
AS1( push ebx)
|
||||||
AS2( mov ebx, eax)
|
AS2( mov ebx, eax)
|
||||||
#else
|
#else
|
||||||
|
|
@ -841,7 +841,7 @@ CRYPTOPP_NAKED static void CRYPTOPP_FASTCALL SHA512_SSE2_Transform(word64 *state
|
||||||
|
|
||||||
#if defined(__GNUC__)
|
#if defined(__GNUC__)
|
||||||
AS1( pop ebx)
|
AS1( pop ebx)
|
||||||
".att_syntax prefix;"
|
GNU_ATT_SYNTAX
|
||||||
:
|
:
|
||||||
: "a" (SHA512_K), "c" (state), "d" (data)
|
: "a" (SHA512_K), "c" (state), "d" (data)
|
||||||
: "%esi", "%edi", "memory", "cc"
|
: "%esi", "%edi", "memory", "cc"
|
||||||
|
|
|
||||||
|
|
@ -355,7 +355,7 @@ void SosemanukPolicy::OperateKeystream(KeystreamOperation operation, byte *outpu
|
||||||
#endif
|
#endif
|
||||||
__asm__ __volatile__
|
__asm__ __volatile__
|
||||||
(
|
(
|
||||||
".intel_syntax noprefix;"
|
GNU_INTEL_SYNTAX
|
||||||
AS_PUSH_IF86( bx)
|
AS_PUSH_IF86( bx)
|
||||||
#else
|
#else
|
||||||
word32 *state = m_state;
|
word32 *state = m_state;
|
||||||
|
|
@ -595,7 +595,7 @@ void SosemanukPolicy::OperateKeystream(KeystreamOperation operation, byte *outpu
|
||||||
|
|
||||||
#ifdef __GNUC__
|
#ifdef __GNUC__
|
||||||
AS_POP_IF86( bx)
|
AS_POP_IF86( bx)
|
||||||
".att_syntax prefix;"
|
GNU_ATT_SYNTAX
|
||||||
:
|
:
|
||||||
: "a" (m_state.m_ptr), "c" (iterationCount), "S" (s_sosemanukMulTables), "D" (output), "d" (input)
|
: "a" (m_state.m_ptr), "c" (iterationCount), "S" (s_sosemanukMulTables), "D" (output), "d" (input)
|
||||||
#if CRYPTOPP_BOOL_X64
|
#if CRYPTOPP_BOOL_X64
|
||||||
|
|
|
||||||
|
|
@ -38,7 +38,7 @@ void Tiger::Transform (word64 *digest, const word64 *X)
|
||||||
#ifdef __GNUC__
|
#ifdef __GNUC__
|
||||||
__asm__ __volatile__
|
__asm__ __volatile__
|
||||||
(
|
(
|
||||||
".intel_syntax noprefix;"
|
GNU_INTEL_SYNTAX
|
||||||
AS1( push ebx)
|
AS1( push ebx)
|
||||||
#else
|
#else
|
||||||
#if _MSC_VER < 1300
|
#if _MSC_VER < 1300
|
||||||
|
|
@ -194,7 +194,7 @@ void Tiger::Transform (word64 *digest, const word64 *X)
|
||||||
AS1( emms)
|
AS1( emms)
|
||||||
#ifdef __GNUC__
|
#ifdef __GNUC__
|
||||||
AS1( pop ebx)
|
AS1( pop ebx)
|
||||||
".att_syntax prefix;"
|
GNU_ATT_SYNTAX
|
||||||
:
|
:
|
||||||
: "a" (digest), "S" (X), "d" (table)
|
: "a" (digest), "S" (X), "d" (table)
|
||||||
: "%ecx", "%edi", "memory", "cc"
|
: "%ecx", "%edi", "memory", "cc"
|
||||||
|
|
|
||||||
4
vmac.cpp
4
vmac.cpp
|
|
@ -158,7 +158,7 @@ VMAC_Base::VHASH_Update_SSE2(const word64 *data, size_t blocksRemainingInWord64,
|
||||||
(
|
(
|
||||||
AS2( mov %%ebx, %0)
|
AS2( mov %%ebx, %0)
|
||||||
AS2( mov %1, %%ebx)
|
AS2( mov %1, %%ebx)
|
||||||
".intel_syntax noprefix;"
|
GNU_INTEL_SYNTAX
|
||||||
#else
|
#else
|
||||||
#if _MSC_VER < 1300 || defined(__INTEL_COMPILER)
|
#if _MSC_VER < 1300 || defined(__INTEL_COMPILER)
|
||||||
char isFirstBlock = m_isFirstBlock;
|
char isFirstBlock = m_isFirstBlock;
|
||||||
|
|
@ -377,7 +377,7 @@ VMAC_Base::VHASH_Update_SSE2(const word64 *data, size_t blocksRemainingInWord64,
|
||||||
AS1( pop ebp)
|
AS1( pop ebp)
|
||||||
AS1( emms)
|
AS1( emms)
|
||||||
#ifdef __GNUC__
|
#ifdef __GNUC__
|
||||||
".att_syntax prefix;"
|
GNU_ATT_SYNTAX
|
||||||
AS2( mov %0, %%ebx)
|
AS2( mov %0, %%ebx)
|
||||||
: "=m" (temp)
|
: "=m" (temp)
|
||||||
: "m" (L1KeyLength), "c" (blocksRemainingInWord64), "S" (data), "D" (nhK+tagPart*2), "d" (m_isFirstBlock), "a" (polyS+tagPart*4)
|
: "m" (L1KeyLength), "c" (blocksRemainingInWord64), "S" (data), "D" (nhK+tagPart*2), "d" (m_isFirstBlock), "a" (polyS+tagPart*4)
|
||||||
|
|
|
||||||
|
|
@ -401,7 +401,7 @@ void Whirlpool::Transform(word64 *digest, const word64 *block)
|
||||||
#endif
|
#endif
|
||||||
__asm__ __volatile__
|
__asm__ __volatile__
|
||||||
(
|
(
|
||||||
".intel_syntax noprefix;"
|
GNU_INTEL_SYNTAX
|
||||||
AS_PUSH_IF86( bx)
|
AS_PUSH_IF86( bx)
|
||||||
AS2( mov AS_REG_6, WORD_REG(ax))
|
AS2( mov AS_REG_6, WORD_REG(ax))
|
||||||
#else
|
#else
|
||||||
|
|
@ -569,7 +569,7 @@ void Whirlpool::Transform(word64 *digest, const word64 *block)
|
||||||
AS_POP_IF86( bx)
|
AS_POP_IF86( bx)
|
||||||
#endif
|
#endif
|
||||||
#ifdef __GNUC__
|
#ifdef __GNUC__
|
||||||
".att_syntax prefix;"
|
GNU_ATT_SYNTAX
|
||||||
:
|
:
|
||||||
: "a" (Whirlpool_C), "c" (digest), "d" (block)
|
: "a" (Whirlpool_C), "c" (digest), "d" (block)
|
||||||
#if CRYPTOPP_BOOL_X64
|
#if CRYPTOPP_BOOL_X64
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue