Attempt to fix Win32 build by avoiding a compiler intrinsic.
TBR=mstarzinger@chromium.org Review URL: https://chromiumcodereview.appspot.com/10198020 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11428 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
This commit is contained in:
parent
6e713a269d
commit
e07be0b068
@ -76,11 +76,6 @@ int CompilerIntrinsics::CountLeadingZeros(uint32_t value) {
|
||||
}
|
||||
|
||||
int CompilerIntrinsics::CountSetBits(uint32_t value) {
|
||||
// __popcnt is only supported from VS2008.
|
||||
#define _MSC_VER_VS2008 1500
|
||||
#if _MSC_VER >= _MSC_VER_VS2008
|
||||
return __popcnt(value);
|
||||
#else
|
||||
// Manually count set bits.
|
||||
value = ((value >> 1) & 0x55555555) + (value & 0x55555555);
|
||||
value = ((value >> 2) & 0x33333333) + (value & 0x33333333);
|
||||
@ -88,8 +83,6 @@ int CompilerIntrinsics::CountSetBits(uint32_t value) {
|
||||
value = ((value >> 8) & 0x00ff00ff) + (value & 0x00ff00ff);
|
||||
value = ((value >> 16) & 0x0000ffff) + (value & 0x0000ffff);
|
||||
return value;
|
||||
#endif
|
||||
#undef _MSC_VER_VS2008
|
||||
}
|
||||
|
||||
#else
|
||||
|
Loading…
Reference in New Issue
Block a user