2014/01/18(土)x86 で cntlz64
Counting of Leading Zeros.
Number of Leading Zeros. ともいう。
64bitのnlzをx86で求めるにはどうすりゃええんか? と思っていろいろいじってた。
ptn.2 は、__asmがかえって最適化を阻害するので、結局ptn.3の形に戻る。
ptn.3 は、どうも、わざわざスタック上に変数retを作って代入(そのまま使われない)しやがるのでやや無駄っぽいが、
それを無理に削ろうとして、ptn.4までいくと、inline化できなくなっちゃう。
結論、悩まず素直に書け?
ptn.5は分岐を後にもってきたバージョン。
無駄命令は減ってる気がするけど、やや遅くなった。