using __POPCNT__ instead of __SSE4_2__ macro to detect popcount support