2019-05-30 10:21:29 +08:00
|
|
|
diff --git a/itpp/base/random_dsfmt.h b/itpp/base/random_dsfmt.h
|
2019-08-02 08:54:45 +08:00
|
|
|
index ccbf182..de819fb 100644
|
2019-05-30 10:21:29 +08:00
|
|
|
--- a/itpp/base/random_dsfmt.h
|
|
|
|
+++ b/itpp/base/random_dsfmt.h
|
2019-08-02 08:54:45 +08:00
|
|
|
@@ -299,7 +299,12 @@ private:
|
2019-05-30 10:21:29 +08:00
|
|
|
*/
|
|
|
|
static void do_recursion(typename Context::w128_t *r, typename Context::w128_t *a, typename Context::w128_t *b, typename Context::w128_t *lung) {
|
|
|
|
#if defined(__SSE2__)
|
2019-08-02 08:54:45 +08:00
|
|
|
+
|
|
|
|
+#ifdef __linux__
|
2019-05-30 10:21:29 +08:00
|
|
|
+#define SSE2_SHUFF 0x1bU
|
2019-08-02 08:54:45 +08:00
|
|
|
+#else
|
|
|
|
const unsigned int SSE2_SHUFF = 0x1bU;
|
|
|
|
+#endif
|
2019-05-30 10:21:29 +08:00
|
|
|
|
|
|
|
__m128i x = a->si;
|
|
|
|
__m128i z = _mm_slli_epi64(x, SL1);
|