builtin_ctzl takes an unsigned long argument which need not be 64-bit
long on all platforms. Using builtin_ctzll, which takes an unsigned
long long argument, ensures that 64-bit values will be handled on a
wider range of platforms.
Without this change, the test corresponding to M512 fails in Windows.