■掲示板に戻る■ 全部 1- 101- 201- 301- 401- 501- 601- 701- 801- 901- 最新50


レス数が900を超えています。1000を超えると表示できなくなるよ。
ミッションUD:白血病患者を救え!Target:11

858 :22世紀を目指す名無しさん :2001/05/28(月) 14:08 ID:???
>>809
MMXじゃなくてSSEね。
UDは単精度実数演算にSSE命令を多用しています。
ud_128746.exeに含まれているSSE/SSE2命令の数は、ざっと数えて次の通り。
SSE命令 : 3489個
SSE2命令 : 39個
SSE2は倍精度実数→整数変換命令をちょこっと使っているだけです。
にも関わらず、P3はSSE2命令を実行できないという事で、CPUチェックで跳ねられ、
SSE命令すら使っていない状態です。

これはプログラミング云々の問題ではなく、単純にコンパイラオプションの問題です。
ud_128746.exe はインテルコンパイラ5.0を使っていて、
コンパイラオプションに -QaxW (P4用命令を生成) を指定しています。
これを -QaxKW (P3,P4用命令を生成) に変更してコンパイルするだけで、
P4の場合は、SSE,SSE2両方使ったコード、
P3の場合は、SSEのみを使ったコードが実行されるようになります(
その代わり生成コードが若干大きくなります)。

要するに、ud_128746.exeはP4を速く見せる為に、わざとP3で遅くなるような
コンパイルオプションを指定している事になります。

244KB
新着レスの表示

掲示板に戻る 全部 前100 次100 最新50
名前: E-mail(省略可)

0ch BBS 2004-02-21