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コードを生成する。よりクリーンな代替手段はインラインアセンブラだろう。 Quote from: jgarzik on August 27, 2010, 11:35:26 PM Quote from: BioMike on August 27, 2010, 10:40:35 PM Quote from: satoshi on August 27, 2010, 09:54:12 PM
- -march=amdfam10でビルドし、-4wayがわずかに高速化
-marchは古いシステムとのABI互換性を壊さないのか?
その可能性は十分ある。-mtune=XXXXの方が好ましいかもしれない。-march=XXXXはコンパイラがバイナリはamdfam10でのみ実行されると想定するからだ。
で、どのCPUがこれをサポートするのか? 最新のAMDだけか? そしてこのためにどれだけのシステムを除外することになるのか?