diff --git a/gcm.cpp b/gcm.cpp index 882f10c9..b36e6c9e 100644 --- a/gcm.cpp +++ b/gcm.cpp @@ -368,8 +368,7 @@ void GCM_Base::SetKeyWithoutResync(const byte *userKey, size_t keylength, const { const uint64x2_t r = s_clmulConstants[0]; const uint64x2_t t = vld1q_u64((const uint64_t *)hashKey); - const uint64x2_t h0 = vreinterpretq_u64_u8(vrev64q_u8( - vreinterpretq_u8_u64(vcombine_u64(vget_high_u64(t), vget_low_u64(t))))); + const uint64x2_t h0 = vrev64q_u8(vextq_u64(t, t, 1)); uint64x2_t h = h0; for (i=0; i