For MSVC 7+, attempt to use _BitScanReverse* for better assembly.  Untested.