Re:(BioMikeの引用投稿)

参加者: BioMike

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だけか? そしてこのためにどれだけのシステムを除外することになるのか?