summaryrefslogtreecommitdiff
path: root/blake2.cpp
diff options
context:
space:
mode:
authorJeffrey Walton <noloader@gmail.com>2016-09-21 02:07:17 -0400
committerJeffrey Walton <noloader@gmail.com>2016-09-21 02:07:17 -0400
commit57b3a7c9cc385fb750c2b356dd10184917ac497a (patch)
tree2b518e5e8bf6b81d4df9a24b918d1735de60997b /blake2.cpp
parentec2f4f597eabae34b4744b70a80d2a40a6acf918 (diff)
downloadcryptopp-git-57b3a7c9cc385fb750c2b356dd10184917ac497a.tar.gz
Fix SunCC compile under x86_64
Diffstat (limited to 'blake2.cpp')
-rw-r--r--blake2.cpp11
1 files changed, 3 insertions, 8 deletions
diff --git a/blake2.cpp b/blake2.cpp
index a7ca8f27..931a35b1 100644
--- a/blake2.cpp
+++ b/blake2.cpp
@@ -28,14 +28,9 @@ NAMESPACE_BEGIN(CryptoPP)
#if CRYPTOPP_BOOL_SSE2_INTRINSICS_AVAILABLE && ((__SUNPRO_CC >= 0x5100 && __SUNPRO_CC < 0x5130) || (_MSC_VER >= 1200 && _MSC_VER < 1600) || (defined(_M_IX86) && _MSC_VER >= 1600))
inline __m128i _mm_set_epi64x(const word64 a, const word64 b)
{
- union INT_128_64x2 {
- __m128i v128;
- word64 v64[2];
- };
-
- INT_128_64x2 val;
- val.v64[0] = b; val.v64[1] = a;
- return val.v128;
+ const word64 t[2] = {b,a}; __m128i r;
+ memcpy(&r, &t, sizeof(r));
+ return r;
}
#endif