0

のコンパイル エラーが発生しましたError: operand type mismatch for 'movaps'。Google で調べても解決策が見つかりませんでした。movupsまたaddps、同じエラーが発生します。

関連する抜粋を次に示します。

# load address into %eax
movaps %eax, %mm0

.s完全を期すために、ファイルをコンパイルしています-m32.

4

1 に答える 1

1

最初の引数に間接的なレベルがありません。2 番目の引数は、MM レジスタ (古い 64 ビット MMX) ではなく、XMM レジスタ (つまり、128 ビット SSE) である必要があります。

movaps (%eax), %xmm0

生の asm を書くのではなく、C または C++ で組み込み関数を使用できる場合は、この種のことをより簡単に行うことができます。

__m128 v = _mm_load_ps(ptr);
于 2013-09-19T11:50:37.663 に答える