[Groonga-commit] groonga/grnxx at b7be450 [master] Fix bugs of bit_scan_reverse/forward().

Back to archive index

susumu.yata null+****@clear*****
Mon Jul 1 18:48:57 JST 2013


susumu.yata	2013-07-01 18:48:57 +0900 (Mon, 01 Jul 2013)

  New Revision: b7be4502e9400abe84dc26c98433926a80423b59
  https://github.com/groonga/grnxx/commit/b7be4502e9400abe84dc26c98433926a80423b59

  Message:
    Fix bugs of bit_scan_reverse/forward().

  Modified files:
    lib/grnxx/intrinsic.hpp

  Modified: lib/grnxx/intrinsic.hpp (+5 -5)
===================================================================
--- lib/grnxx/intrinsic.hpp    2013-07-01 18:35:04 +0900 (d9a4894)
+++ lib/grnxx/intrinsic.hpp    2013-07-01 18:48:57 +0900 (3ce60ee)
@@ -24,19 +24,19 @@
 # include <intrin.h>
 # pragma intrinsic(_BitScanReverse)
 # pragma intrinsic(_BitScanForward)
+# pragma intrinsic(_InterlockedCompareExchange)
+# pragma intrinsic(_InterlockedCompareExchange64)
 # pragma intrinsic(_InterlockedExchangeAdd)
 # pragma intrinsic(_InterlockedOr)
 # pragma intrinsic(_InterlockedAnd)
 # pragma intrinsic(_InterlockedXor)
-# pragma intrinsic(_InterlockedCompareExchange)
-# pragma intrinsic(_InterlockedCompareExchange64)
 # ifdef GRNXX_MSC64
 #  pragma intrinsic(_BitScanReverse64)
 #  pragma intrinsic(_BitScanForward64)
+#  pragma intrinsic(_InterlockedExchangeAdd64)
 #  pragma intrinsic(_InterlockedOr64)
 #  pragma intrinsic(_InterlockedAnd64)
 #  pragma intrinsic(_InterlockedXor64)
-#  pragma intrinsic(_InterlockedExchangeAdd64)
 # endif  // GRNXX_MSC64
 #endif  // GRNXX_MSC
 
@@ -136,7 +136,7 @@ class BitScanReverse<8> {
     return static_cast<uint8_t>(index);
 #  else  // GRNXX_MSC64
     if ((value >> 32) != 0) {
-      return static_cast<uint8_t>(BitScanReverse<4>((value >> 32) + 32));
+      return static_cast<uint8_t>(BitScanReverse<4>(value >> 32) + 32);
     }
     return BitScanReverse<4>(value);
 #  endif  // GRNXX_MSC64
@@ -202,7 +202,7 @@ class BitScanForward<8> {
     return static_cast<uint8_t>(index);
 #  else  // GRNXX_MSC64
     if ((value & 0xFFFFFFFFU) == 0) {
-      return static_cast<uint8_t>(BitScanForward<4>((value >> 32) + 32));
+      return static_cast<uint8_t>(BitScanForward<4>(value >> 32) + 32);
     }
     return BitScanForward<4>(value);
 #  endif  // GRNXX_MSC64
-------------- next part --------------
HTML����������������������������...
下载 



More information about the Groonga-commit mailing list
Back to archive index