From 01a18bdbcb221120beffc6579f549e32490067c5 Mon Sep 17 00:00:00 2001 From: Jeffrey Walton Date: Sun, 21 Aug 2022 21:31:35 -0400 Subject: Fix inline ASM on x86 (GH #1142) --- sha.cpp | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) (limited to 'sha.cpp') diff --git a/sha.cpp b/sha.cpp index d04d8046..167f39dc 100644 --- a/sha.cpp +++ b/sha.cpp @@ -825,12 +825,12 @@ INTEL_NOPREFIX ATT_PREFIX : : "c" (state), "d" (data), "S" (SHA256_K+48), "D" (len) - #if CRYPTOPP_BOOL_X32 || CRYPTOPP_BOOL_X64 + #if (CRYPTOPP_BOOL_X32 || CRYPTOPP_BOOL_X64) , "m" (workspace[0]) #endif - : "memory", "cc", "%eax", "%xmm0", "%xmm1", PERCENT_REG(AS_REG_7) - #if CRYPTOPP_BOOL_X32 || CRYPTOPP_BOOL_X64 - , "%rbx", "%r8", "%r10" + : "memory", "cc", "%eax" + #if (CRYPTOPP_BOOL_X32 || CRYPTOPP_BOOL_X64) + , PERCENT_REG(AS_REG_7), "%rbx", "%r8", "%r10", "%xmm0", "%xmm1" #else , "%ebx" #endif @@ -1296,9 +1296,11 @@ void CRYPTOPP_FASTCALL SHA512_HashBlock_SSE2(word64 *state, const word64 *data) ATT_PREFIX : : "a" (SHA512_K), "c" (state), "d" (data) - : "%ebx", "%esi", "%edi", "%mm0", "%mm1", "%mm2", "%mm3", "%mm4", "%mm5", - "%xmm0", "%xmm1", "%xmm2", "%xmm3", "%xmm4", "%xmm5", "%xmm6", "%xmm7", - "memory", "cc" + : "%ebx", "%esi", "%edi", "memory", "cc" +#if (CRYPTOPP_BOOL_X64) + , "%mm0", "%mm1", "%mm2", "%mm3", "%mm4", "%mm5", + "%xmm0", "%xmm1", "%xmm2", "%xmm3", "%xmm4", "%xmm5", "%xmm6", "%xmm7" +#endif ); #else AS1( pop edi) -- cgit v1.2.1