xmmwordっておいw

unsgined __int32 onealpha[4];

__asm {
paddusw xmm6, dqword ptr onealpha;
};

あれ?コンパイルエラー…
Double Quadruple WORDじゃない?

調べてみると、MASMではOWORDだそうで…
インラインだとXMMWORD…

統一しようよ…Intelの表記の方で…と思ってみた。

__asm {
paddusw xmm6, xmmword ptr onealpha;
};

とやったら、あら?アクセス違反…
もしかして、movdqaと同じでアライメントされてないとダメなのかな…

ビンゴ。
16byteアライメントされていないメモリはダメなようで。

IA32ドキュメントに書いておいてくれ~と言うのは贅沢でしょうか…

コメントなし

コメントを残す