Quote from: BioMike on August 28, 2010, 08:24:05 AM
Quote from: tcatm on August 28, 2010, 12:33:35 AM Quote from: jgarzik on August 27, 2010, 11:35:26 PM
… -march=XXXXはコンパイラがバイナリをamdfam10でのみ実行されることを期待することを意味する。
まさにそれが望んでいることだ。しかし-march=amdfam10を使うのはダーティハックだということには同意する。この場合、ソースから最もコンパクトで効率的なSSE2コードが生成される。よりクリーンな代替手段はインラインアセンブラだろう。
で、どのCPUがこれをサポートするのか? 最新のAMDだけか? そしてこのためにどれだけのシステムを除外することになるのか?
私の知る限り、Phenom、i5、i7だ。128ビットSSE2命令デコーダーを持つ唯一のCPUであり、全く恩恵を受けるのはこれらだけで、それ以前のCPUはすべて遅くなる。「AMDのK10でしか動かない」ではなく「コンパイラに必要な正確なアセンブリコードを生成させつつ、将来的に他のベクトルエンジンをサポートする柔軟性を維持する」と考えてほしい。