Conference Room SAD
[thread display] [new arrival display] [word search] [past log] [管理用]

Subject Re^2: ad clusterのインテルマックでのコンパイルオプションについて
Date: 2008/01/21(Mon) 20:53:51
ContributorAkio Morita
URLhttp://acc-physics.kek.jp/SAD/SADrelease/distfiles/oldsad-1.0.10.2.2b.tar.gz

hsrchz.oが妖しいなら、-O1/-O2での挙動の違いを調べれば良いはずなのですが
その辺の調査結果が上がっていないようなので調べました

amsad8のgcc-4.2.0では
hsrchz() @ src/hsrch.f内の hsrchz = mod(abs(isum), HTMAX)+1の結果が
-O1 と -O2で違います
例えば、 -O1 / -O2
$DUMMYLINE -> 10652 / -10650
(このときは、isum < 0でした)

さらに、
o 直前で、mod()を作用させる前の isumを writeすると挙動が変わる(-O2時)
o amsad9のgcc-4.2.1で makeすると -O2でも問題は出ません
ということなので、isum = INT_MINでは無いようなので、abs()が効いてないのか
大数に対するmod()が負になっているのか分りませんが、最適化オプションの
実装に関するコンパイラーのバグだと思われます


- 関連一覧ツリー (Click ▼ to display all articles in a thread.)