« 64bit対応作業の予定 | メイン | ブレンド処理のSSE2化版 »
2016年01月21日
吉里吉里Z 開発:: MMX サポートを残すかどうか
Tweet @jin1016をフォローSSE2 は Pentium 4 以降で使えるので、それ以降の CPU であれば使える。
MMX を残すかどうかは、Pentium III 世代がまだ使われているかとだいたい同じ。
XP や Vista、7 がいつ登場したかを見ると以下のような感じ。
Windows XP 2001年~
Windows Vista 2006年~
Windows 7 2009年~
CPU の方は、こんな感じ。
Pentium 4 2000年~
Pentium M 2003年~
Core 2 (Duo/Solo) 2006年~
Core i(3/5/7) 2008年~
Atom 2008年~
XP 以降サポートであれば MMX を切ってしまうのはまだ時期尚早、Vista 以降サポートなら大丈夫か。
32bit 版では現在のアセンブリでの MMX サポートを一応残しておこうかと思っていたけど、なくしてしまってもいいかもしれない。
残すとなると、最終出力されるバイナリサイズが少し増えるのと、ビルド時間が少し伸びるくらい。
バイナリサイズがどれくらい増えるか見て判断と考えていたけど、ビルド時間の方は少し気になるか。
本体のアセンブリをなくして nasm 依存をなくしても、libjpeg(SIMD) で使っているから結局ビルドには nasm 必要で、nasm 依存はなくせないからその部分は一緒。
64bit 版では MMX サポートはなくしてしまう。
64bit(AMD64) 環境では SSE2 は必須で、必ず使えることが分かっているからと言うのと、アセンブリの書き換えが必要となるので追加で作業が増えるため残す意味はほとんどない。
投稿者 Takenori : 2016年01月21日 23:19
comments powered by Disqus