13/12/02 19:16:05.15 pfa85m8I.net
>>109
使ってるのはIntelのコンパイラだからインラインアセンブラに手を加えてる。
詳しくはソースも一緒だからそっち見てもらうとして、
#if !defined(_WIN64)
rax eax
rsi esi
#else
rax rax
rsi rsi
#endif
mov eax, offset
mov rsi, src_ptr
movdqu xmm0, [rsi+rax]
という感じで書き換えてる。
マクロにしてるのはなるべく32bitと共用化するためと、Visual Studioでは色が変わって見やすいから。
正規表現のパターン置換で、e([abcd]x|si|di|bp)をr\1(VSではr$1)にコードの流れを見ながら順次処理すると楽。
ICLだとかなり効率的に64bit化できる(手こずってるのもあるけど)ので、
この方法はAviutilの64bit化にもつかえそうだなぁ。