MD5 Optimized in MMX part4
前回の続き:(http://d.hatena.ne.jp/studiokingyo/20051214)
ただ今、MMXでMD5を最適化中。
結構曲者である。MMXレジスタほとんどを使用してしまう勢いだ。(ただ単に考え方が未熟なだけかもしれないが・・・)
ちょっと他力本願質問なのだが、0xd76aa478という32bitデータをmm0レジスタの32bit上位下位両方に入れたいのだがどのようにすればいいのだろうか?
やっぱりビット演算駆使して64bitデータにしてどうにかするしかないのだろうか?
解決:mm0の下位32bitに0xd76aa478を代入した後、punpckldqで下位32bitの内容を上位32bitに写す。教えてくださったhoshu氏に感謝。
さて、コンパイルできるところまでこぎつけたが・・・どんなデータを入れても常に間違った可笑しい値が出てくる・・・。
一つ一つのステップをC言語版と比較していくしかないのかしら(泣)
もーやだ!つかれだー _| ̄|○⇒_|\○_⇒_/\○_⇒____○_ {続く・・・ zoo...