1 ttp://codepad.org/mFAHo8Y3
2 ttp://codepad.org/8o6YwVQM
これでアセンブラコードを出力させてみましたところ、
どちらも違うコードとなりました。
(VC++, g++, bccで最適化有効にして確認。)

そのアセンブラファイルサイズは
g++, bccでは2のコードが1より小さく
VC++では1のコードが2より小さく
なりました。

意味的には同じだと思うのですが、
どうして違うasmに帰着してしまうのでしょうか?