MacとLinuxでのgccの動作の違い

とある研究用のプログラムを動かしていて,Macでやる場合とLinuxでやる場合で
計算時間がわずかに違うことがあって何が原因なのか調べていた.

アセンブラのリストをだしてみると,Macはsqrtss(SSEの平方根)を使っていて,
Linuxはfsqrt(FPUの平方根)を使っていた.

Mac用のgccは,算術演算の場合,積極的にSSEを使うようにでもなっているのだろうか.
ここら辺,ちょっとどうなっているのか,興味深いところ...時間があるときに調べてみよう.

Posted at : 2011-05-16 01:05:38 / Category : none

Comments

ぜひ検証していただきたい!Xcodeでの開発に着手するので・・・
(gcc4.2だとエラー吐いてgcc4.0だと吐かないことがあるので不思議がってます。

じゃ - 2011-05-16 04:33:02

apple-gcc 4.2の出力がそんな感じなのかな。gccのバージョン・最適化オプション同じでもそうなのかとか気になる。gcc4は最適化ONにしたら、SSE・ベクトル化云々は割と入る物だという印象を持ってる。

suma - 2011-05-21 05:31:46

> じゃさん
おぉ,Xcode使って開発してるんだね.4.2だと仕様が微妙に違うとか...?

yasuharu - 2011-05-24 14:05:43

> sumaさん
最適化オプションはなしでやったんだけど,SSE有効になってたかな.
挙動を見てると,gcc4系列だとSSEを積極的に使うようになってるのかも.

yasuharu - 2011-05-24 14:06:49

Send comment


Name


Mail-address (empty is OK. If you want to notify update, please fill mail-address.)


Bot check code (240426 と入力してください / Please input 240426.)