aboutsummaryrefslogtreecommitdiffstats
path: root/src/lib/modes
diff options
context:
space:
mode:
authorJack Lloyd <[email protected]>2017-10-20 22:02:43 -0400
committerJack Lloyd <[email protected]>2017-10-20 22:02:43 -0400
commit09ff689fcd24ee6d5e677f5769d2b4ac26a3a9e6 (patch)
treedb71f2437201c081b9594e9c319415eccf010216 /src/lib/modes
parent9123c7b7193f671c0fe8646b62f73357a5b190e4 (diff)
Fix for 32-bit Windows
The buffer is not aligned :/
Diffstat (limited to 'src/lib/modes')
-rw-r--r--src/lib/modes/aead/gcm/clmul_ssse3/clmul_ssse3.cpp8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/lib/modes/aead/gcm/clmul_ssse3/clmul_ssse3.cpp b/src/lib/modes/aead/gcm/clmul_ssse3/clmul_ssse3.cpp
index 3aace1094..207820ec7 100644
--- a/src/lib/modes/aead/gcm/clmul_ssse3/clmul_ssse3.cpp
+++ b/src/lib/modes/aead/gcm/clmul_ssse3/clmul_ssse3.cpp
@@ -34,10 +34,10 @@ void gcm_multiply_ssse3(uint8_t x[16],
for(size_t i = 0; i != 64; i += 2)
{
- const __m128i HM0 = _mm_load_si128(HM_mm + 2*i);
- const __m128i HM1 = _mm_load_si128(HM_mm + 2*i + 1);
- const __m128i HM2 = _mm_load_si128(HM_mm + 2*i + 2);
- const __m128i HM3 = _mm_load_si128(HM_mm + 2*i + 3);
+ const __m128i HM0 = _mm_loadu_si128(HM_mm + 2*i);
+ const __m128i HM1 = _mm_loadu_si128(HM_mm + 2*i + 1);
+ const __m128i HM2 = _mm_loadu_si128(HM_mm + 2*i + 2);
+ const __m128i HM3 = _mm_loadu_si128(HM_mm + 2*i + 3);
const __m128i XMASK1 = _mm_add_epi64(_mm_srli_epi64(X, 63), ones);
X = _mm_slli_epi64(X, 1);