diff --git a/libi2pd/Crypto.cpp b/libi2pd/Crypto.cpp index ff6e91a6..2abc6ca1 100644 --- a/libi2pd/Crypto.cpp +++ b/libi2pd/Crypto.cpp @@ -632,6 +632,7 @@ namespace crypto static const uint64_t opads[] = { OPAD, OPAD, OPAD, OPAD }; #if defined(__x86_64__) || defined(__i386__) +#pragma GCC push_options #pragma GCC target("avx") #endif void HMACMD5Digest (uint8_t * msg, size_t len, const MACKey& key, uint8_t * digest) @@ -694,6 +695,9 @@ namespace crypto // calculate digest MD5((uint8_t *)hash, 96, digest); } +#if defined(__x86_64__) || defined(__i386__) +#pragma GCC pop_options +#endif // AES #ifdef __AES__ diff --git a/libi2pd/Identity.cpp b/libi2pd/Identity.cpp index 3f62365b..10c20a71 100644 --- a/libi2pd/Identity.cpp +++ b/libi2pd/Identity.cpp @@ -826,6 +826,7 @@ namespace data } #if defined(__x86_64__) || defined(__i386__) +#pragma GCC push_options #pragma GCC target("avx") #endif XORMetric operator^(const IdentHash& key1, const IdentHash& key2) @@ -855,5 +856,9 @@ namespace data return m; } +#if defined(__x86_64__) || defined(__i386__) +#pragma GCC pop_options +#endif + } }