0

__m128iタイプを使用するコードについてGCCによって生成されたアセンブリコードを調べると、大惨事のように見えることがわかります。目的を果たさない冗長な命令がたくさんあります。

それでも、アセンブリプログラマーとしては、asm {}を使用したいのですが、GCCを使用すると、asm{}でXMMレジスタを使用できなくなります。

GCCにXMMを使用させるためのトリックはありますか、それとも将来のリリースを待つ必要がありますか?私は4.3.4を持っています。

4

1 に答える 1

2

-O3などの最適化を有効にしてコンパイルしていますか?もしそうなら、gccは通常組み込み関数からかなりまともなSSEコードを生成します。ほとんどの組み込み関数は、正確に1つのSSE命令にマップされます。特に非効率だと思う例を挙げていただけますか?

また、「GCCによってasm {}でXMMレジスタを使用できない」とはどういう意味かわかりません。具体的な例を示しれば、簡単な解決策があるかもしれません。

于 2011-03-11T14:59:14.413 に答える