에서는 _bit_scan_forward가 bsf 명령어에 해당하는데, 내 컴에서 gcc 컴파일 하면 tzcntl이 된다. 인텔 컴파일러가 아니라 gcc를 쓰고 있다. O3 빌드하면 문제가 된다. _bit_scan_forward는 int를 파라미터로 취하고 있는데 MSB가 깨진다. 최적화 옵션을 빼니 정상적으로 동작한다. 하하.. gcc builtin을 쓰면 정상 동작한다.
__builtin_ia32_lzcnt_u32
하나만 쓰자.. 섞어 쓰니까 개고생..