Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
__m128iタイプを使用するコードについてGCCによって生成されたアセンブリコードを調べると、大惨事のように見えることがわかります。目的を果たさない冗長な命令がたくさんあります。
それでも、アセンブリプログラマーとしては、asm {}を使用したいのですが、GCCを使用すると、asm{}でXMMレジスタを使用できなくなります。
GCCにXMMを使用させるためのトリックはありますか、それとも将来のリリースを待つ必要がありますか?私は4.3.4を持っています。
-O3などの最適化を有効にしてコンパイルしていますか?もしそうなら、gccは通常組み込み関数からかなりまともなSSEコードを生成します。ほとんどの組み込み関数は、正確に1つのSSE命令にマップされます。特に非効率だと思う例を挙げていただけますか?
また、「GCCによってasm {}でXMMレジスタを使用できない」とはどういう意味かわかりません。具体的な例を示しれば、簡単な解決策があるかもしれません。