diff options
author | Marat Dukhan <maratek@gmail.com> | 2018-02-19 22:43:26 -0800 |
---|---|---|
committer | Marat Dukhan <maratek@gmail.com> | 2018-02-19 22:48:12 -0800 |
commit | b2fc4ab8099b802de934f24adf2da6e4c863bd3c (patch) | |
tree | e2e22022cc4d4d1de9eba0e6628f127e7e8806ee /src/utils.h | |
parent | a9e55a6afde89722af7ee30dc7bd27435e96226b (diff) | |
download | cpuinfo-b2fc4ab8099b802de934f24adf2da6e4c863bd3c.tar.gz |
Windows support
Diffstat (limited to 'src/utils.h')
-rw-r--r-- | src/utils.h | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/utils.h b/src/utils.h index 46ba9d9..157baad 100644 --- a/src/utils.h +++ b/src/utils.h @@ -8,6 +8,12 @@ inline static uint32_t bit_length(uint32_t n) { if (n_minus_1 == 0) { return 0; } else { - return 32 - __builtin_clz(n_minus_1); + #ifdef _MSC_VER + unsigned long bsr; + _BitScanReverse(&bsr, n_minus_1); + return bsr + 1; + #else + return 32 - __builtin_clz(n_minus_1); + #endif } } |