Still NFC here.
- Take the 9 functions that each had an #ifndef _LIBCPP_COMPILER_MSVC .. #else .. endif block in them and make just two blocks, each with 9 functions. Much easier to read, but makes for a terrible diff.
- Change the return type of __ctz and __clz from the same type as the parameter to int. I would have preferred unsigned, but that's not what P0553 gave us. I reviewed all the call sites for these functions, and for __ctz it was always immediately static_cast-ed to another type, and __clz it made no difference either.
- Change the name __pop_count to __popcount to match the name that we're going to add from P0553.
- Rename the local variable in the windows code from where to __where. Shame on someone ;-)
Funny spacing between __builtin_popcount and (__x)