summaryrefslogtreecommitdiff
path: root/gcm.cpp
diff options
context:
space:
mode:
authorJeffrey Walton <noloader@gmail.com>2017-11-24 05:49:56 -0500
committerJeffrey Walton <noloader@gmail.com>2017-11-24 05:49:56 -0500
commitc3107d25199e963a6f960b1a0fc0371df1a86ba9 (patch)
tree614bcc41c7ce7712db17a9d0fea40954a209f43e /gcm.cpp
parent5a577e71acf04f4272696a2e9e36ef635115db79 (diff)
downloadcryptopp-git-c3107d25199e963a6f960b1a0fc0371df1a86ba9.tar.gz
Fix "impossible constraint in \\asm\" on i686
gcm.cpp:89:50: error: impossible constraint in \\asm\ : "=xm" (a[0]) : "xm"(b[0]), "xm"(c[0]));
Diffstat (limited to 'gcm.cpp')
-rw-r--r--gcm.cpp16
1 files changed, 1 insertions, 15 deletions
diff --git a/gcm.cpp b/gcm.cpp
index 32d286d4..f484cd7f 100644
--- a/gcm.cpp
+++ b/gcm.cpp
@@ -79,22 +79,8 @@ static inline void Xor16(byte *a, const byte *b, const byte *c)
#if CRYPTOPP_SSE2_INTRIN_AVAILABLE || CRYPTOPP_SSE2_ASM_AVAILABLE
// SunCC 5.10-5.11 compiler crash. Move GCM_Xor16_SSE2 out-of-line, and place in
// a source file with a SSE architecture switch. Also see GH #226 and GH #284.
-# if defined (__SUNPRO_CC)
extern void GCM_Xor16_SSE2(byte *a, const byte *b, const byte *c);
-# else
-static inline void GCM_Xor16_SSE2(byte *a, const byte *b, const byte *c)
-{
-# if CRYPTOPP_SSE2_ASM_AVAILABLE && defined(__GNUC__)
- asm ("movdqa %1, %%xmm0; pxor %2, %%xmm0; movdqa %%xmm0, %0;"
- : "=xm" (a[0]) : "xm"(b[0]), "xm"(c[0]));
-# else // CRYPTOPP_SSE2_INTRIN_AVAILABLE
- _mm_store_si128(M128_CAST(a), _mm_xor_si128(
- _mm_load_si128(CONST_M128_CAST(b)),
- _mm_load_si128(CONST_M128_CAST(c))));
-# endif
-}
-# endif // SunCC
-#endif // SSE2
+#endif // SSE2
#if CRYPTOPP_CLMUL_AVAILABLE
extern void GCM_SetKeyWithoutResync_CLMUL(const byte *hashKey, byte *mulTable, unsigned int tableSize);