Unreviewed, follow-up after r232244
authorutatane.tea@gmail.com <utatane.tea@gmail.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 29 May 2018 17:56:47 +0000 (17:56 +0000)
committerutatane.tea@gmail.com <utatane.tea@gmail.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 29 May 2018 17:56:47 +0000 (17:56 +0000)
https://bugs.webkit.org/show_bug.cgi?id=186023

_BitScanReverse64 is available only in X86_64 and ARM.

* wtf/MathExtras.h:
(WTF::clz64):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@232264 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Source/WTF/ChangeLog
Source/WTF/wtf/MathExtras.h

index 025b985..87f05a1 100644 (file)
@@ -1,3 +1,13 @@
+2018-05-29  Yusuke Suzuki  <utatane.tea@gmail.com>
+
+        Unreviewed, follow-up after r232244
+        https://bugs.webkit.org/show_bug.cgi?id=186023
+
+        _BitScanReverse64 is available only in X86_64 and ARM.
+
+        * wtf/MathExtras.h:
+        (WTF::clz64):
+
 2018-05-27  Yusuke Suzuki  <utatane.tea@gmail.com>
 
         [WTF] Add clz32 / clz64 for MSVC
index 0a166b5..fb98b17 100644 (file)
@@ -555,9 +555,10 @@ inline unsigned clz64(uint64_t number)
     if (number)
         return __builtin_clzll(number);
     return 64;
-#elif COMPILER(MSVC)
+#elif COMPILER(MSVC) && !CPU(X86)
     // Visual Studio 2008 or upper have __lzcnt, but we can't detect Intel AVX at compile time.
     // So we use bit-scan-reverse operation to calculate clz.
+    // _BitScanReverse64 is defined in X86_64 and ARM in MSVC supported environments.
     unsigned long ret = 0;
     if (_BitScanReverse64(&ret, number))
         return 63 - ret;