GCCはえらい

ということが良くわかりました。fibonacci を累積変数2つのループ、までにはしてくれたりしないかな。ためしてないけど。

fact に関しては、前のエントリを書くまえに自分でもアセンブリコードを読んでみて、-O だと単純なループに、-O3 だとループを10個ぐらい展開した形になるのを知って、感銘を受けたところでした。

件の GCC のコードをざっと読むと、最適化が行われているかどうかを見るのに alloca を使うのは無理だったと……。