diff --git a/Source/Core/Common/Crypto/AES.cpp b/Source/Core/Common/Crypto/AES.cpp index 3fc9a80a56..272341ecca 100644 --- a/Source/Core/Common/Crypto/AES.cpp +++ b/Source/Core/Common/Crypto/AES.cpp @@ -250,7 +250,19 @@ public: } private: - std::array<__m128i, NUM_ROUND_KEYS> round_keys; + // Ensures alignment specifiers are respected. + struct XmmReg + { + __m128i data; + + XmmReg& operator=(const __m128i& m) + { + data = m; + return *this; + } + operator __m128i() const { return data; } + }; + std::array round_keys; }; #endif