[H8-ML(5570)] Re: 最適化条件で動作が変わる場合(Re: 使えるCコンパイラ)
From: "T.Inagaki" <t10-iaai@xxxxxxxxxxxxx>
Date: 2005年05月23日(月)19時32分50秒
Takehiro Amaike wrote:
 T.Inagakiです。

>GCCで最適化を実行したら変な動きをしたので出力されたアセンブラを調べたと
>ころ、関数がインライン展開されており、(A)でレジスタに値を格納した後、(B)

(cut)

>関数の外もvolatile宣言したらその最適化でも動いたそうですが。。。
>これは普通の考えで行われた最適化なのでしょうか・・・。

ここのML#4252でも書かれているようですが、volatile宣言するのが普通みたい
です。

で、イエローソフトのCコンパイラですがさわった程度ですが最適化では
GCCに劣る印象がありました(製品版です)。まぁ統合環境に合わなかった面も
ありますが。
※例は示せませんが、特に割り込みのレジスタ関係。
最近のバージョンでは変わったかな?。
後、メモリアクセスもイマイチだった印象があります。

自分ではX680x0からの付き合いがあるので怪しそうだと思えばアセンブラの
結果を確認してます。(一回確認してしまえば後は)

----------------------------------------------
Toshio Inagaki(稲垣 敏夫)
e-mail : t10-iaai@xxxxxxxxxxxxx
URL  http://park10.wakwak.com/~hurrah4junks/
スレッド概略
[5549(R)](起点)
 └[5565(U)]
   └[表示中]


投稿順に移動
[←前の記事へ(P)]
[→次の記事へ(N)]


リスト表示へ
[このスレッド(T)]
[本記事の前後(L)]