23 lines
1.4 KiB
Diff
23 lines
1.4 KiB
Diff
diff --git a/src/common.h b/src/common.h
|
|||
|
|
index f0249b6..854bd16 100644
|
||
|
|
--- a/src/common.h
|
||
|
|
+++ b/src/common.h
|
||
|
|
@@ -533,7 +533,7 @@ INLINE unsigned long long rotl_64(const unsigned long long x, const unsigned int
|
||
|
|
{
|
||
|
|
#ifdef _MSC_VER
|
||
|
|
return _rotl64(x, count);
|
||
|
|
-#elif !defined(__arm__) && !defined(__aarch64__) && (defined(__INTEL_COMPILER) || (defined(__GNUC__) && (__GNUC__ > 3)) || defined(__clang__))
|
||
|
|
+#elif !defined(__arm__) && !defined(__aarch64__) && !defined(__EMSCRIPTEN__) && !defined(__wasm__) && (defined(__INTEL_COMPILER) || (defined(__GNUC__) && (__GNUC__ > 3)) || defined(__clang__))
|
||
|
|
return __rolq(x, count);
|
||
|
|
#else
|
||
|
|
return (x<<count) | (x>>( (unsigned int)(-(int)count)&63 )); // -count&63 instead of 64-count to handle count==0
|
||
|
|
@@ -555,7 +555,7 @@ INLINE unsigned long long rotr_64(const unsigned long long x, const unsigned int
|
||
|
|
{
|
||
|
|
#ifdef _MSC_VER
|
||
|
|
return _rotr64(x, count);
|
||
|
|
-#elif !defined(__arm__) && !defined(__aarch64__) && (defined(__INTEL_COMPILER) || (defined(__GNUC__) && (__GNUC__ > 3)) || defined(__clang__))
|
||
|
|
+#elif !defined(__arm__) && !defined(__aarch64__) && !defined(__EMSCRIPTEN__) && !defined(__wasm__) && (defined(__INTEL_COMPILER) || (defined(__GNUC__) && (__GNUC__ > 3)) || defined(__clang__))
|
||
|
|
return __rorq(x, count);
|
||
|
|
#else
|
||
|
|
return (x>>count) | (x<<( (unsigned int)(-(int)count)&63 )); // -count&63 instead of 64-count to handle count==0
|