>>634, >>636
volatileついてないグローバル変数の最適化を行わないコンパイラなんて聞いたことないな。
伝聞でなくソースだせ。

ついていない場合、最適化をできるとしている文書(あんたらの主張の逆)
http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0205hj/CJAEGDEA.html
一方、変数が volatile として宣言されていない場合、コンパイラはその値を実装の外部で変更できない
ものと見なすことができます。 そのため、コンパイラは変数に対する最適化を実行できます。