summaryrefslogtreecommitdiff
path: root/gcm.cpp
diff options
context:
space:
mode:
authorJeffrey Walton <noloader@gmail.com>2022-08-21 21:31:35 -0400
committerJeffrey Walton <noloader@gmail.com>2022-08-21 21:31:35 -0400
commit01a18bdbcb221120beffc6579f549e32490067c5 (patch)
tree716e6f652add48524cc1fe226718cb7ed9207c0b /gcm.cpp
parent09ad51cf9ea90586039f6cba7abb51f966fe5595 (diff)
downloadcryptopp-git-01a18bdbcb221120beffc6579f549e32490067c5.tar.gz
Fix inline ASM on x86 (GH #1142)
Diffstat (limited to 'gcm.cpp')
-rw-r--r--gcm.cpp11
1 files changed, 8 insertions, 3 deletions
diff --git a/gcm.cpp b/gcm.cpp
index fa5736ca..837bc2a2 100644
--- a/gcm.cpp
+++ b/gcm.cpp
@@ -726,8 +726,10 @@ size_t GCM_Base::AuthenticateBlocks(const byte *data, size_t len)
ATT_PREFIX
:
: "c" (data), "d" (len/16), "S" (hashBuffer), "D" (s_reductionTable)
- : "memory", "cc", "%eax", "%ebx", PERCENT_REG(AS_REG_7), "%xmm0",
- "%xmm1", "%xmm2", "%xmm3", "%xmm4", "%xmm5"
+ : "memory", "cc", "%eax", "%ebx"
+#if (CRYPTOPP_BOOL_X32 || CRYPTOPP_BOOL_X64)
+ , PERCENT_REG(AS_REG_7), "%xmm0", "%xmm1", "%xmm2", "%xmm3", "%xmm4", "%xmm5"
+#endif
);
#elif defined(CRYPTOPP_GENERATE_X64_MASM)
pop rbx
@@ -803,7 +805,10 @@ size_t GCM_Base::AuthenticateBlocks(const byte *data, size_t len)
ATT_PREFIX
:
: "c" (data), "d" (len/16), "S" (hashBuffer)
- : "memory", "cc", "%edi", "%eax", "%xmm0", "%xmm1"
+ : "memory", "cc", "%edi", "%eax"
+#if (CRYPTOPP_BOOL_X32 || CRYPTOPP_BOOL_X64)
+ , "%xmm0", "%xmm1"
+#endif
);
#elif defined(CRYPTOPP_GENERATE_X64_MASM)
pop rdi