まあ、待て屋。(Win32 など、32ビット環境)
Sun 18 Mar 2007



32ビットにおいては、XMM版 と MMX版をサポートしています。
MMX および CMOVcc が利用できないアーキテクチャは対象外です。



* いじりかた

** Cygwin の場合

Cygwinネイティヴでもコンパイルは通ります。

$ gcc -c -msse2 -O3 -Wall -mno-cygwin -fomit-frame-pointer mty.c

Cygwin GCC 収録の xmmintrin.h は、 -msse2 がないとコンパイル通してくれません。

MMX版(昔の待て屋相当)をつくってみたい場合は、以下のように。

$ gcc -c -DUSE_MMX -O3 -Wall -mno-cygwin -fomit-frame-pointer mty.c


** Linux など POSIX 準拠 OS の場合

あまり多様なディストロで試していませんが、glibc ベースのものであれば大きく
いじらずにコンパイル通せるハズです。Cygwin の場合を参考にしてテケトーに
やってみてください。
気が向いたら Autoconf 化します。


** Microsoft 環境の場合

興味がなかったので一瞬だけ試してみただけですが、C 部はほとんどいじらずに
コンパイル通せるようになっています。ていうか Windows x64 環境のためには
今のところ選択肢が少ないので、もし非 MSFT 環境でビルドできるようになったら
MSVC のことは忘れていく、かもしれません。
アセンブラ部 crypt64.S は、GCC にアセンブルさせて crypt64.obj をプロジェクトに
食わせればイケてしまいそうです。レッツトライ。



* 改版履歴


** 20070307 - 20070303

64 ビット環境 (GCC, MSVC) のためにいろいろ調整。
Microsoft 環境のためにいろいろ調整。
相変わらず機能は増えていませんよ。


** 20070303 - 20070301

 - SSE2 をサポートしているCPU専用です。
   AMD Opteron/Athlon64, Intel Pentium4/Pentium M 以降が対象でしょう。
 - なお、ソースコードは、-DMMX でコンパイルすることにより、MMX対応になります。


** 20070301

 - 永らく塩漬けになっていたコードを掘り起こし、
   John 由来の x86-mmx.S をくっつけて放流。



* How to contact me

mailto:chapuni@users.sourceforge.jp


*EOF
