アカウント名:
パスワード:
AMD64 版 Windows の 64bit モード下では、x87 FPU レジスタの内容を保存・復元しなくなりましたので、事実上 x87 FPU 浮動小数点演算や、その x87 FPU レジスタを間借りしている MMX/3DNow! が使えなくなってます。
これの情報ソースを教えてください。 Windows の 64bit モー
これは Other Calling Convention Process Issues [microsoft.com]
Kernel-Mode Driver Architecture: Windows DDK
とあるのでDDK、ディバイスドライバのついて限定されるのではないかと思います。 これまでドライバでx8
64-bitネイティブスレッドで実行されるプログラムがx87とか3DNow!とかMMXの命令を使うようなら、それはコンパイラがタコなのでは...
しかし(インラインアセンブラを含む)アセンブラで書かれた資産はちがいます。 #個人的には 64bit に移行する今がx87と決別するいい潮時だと思います。
しかし(インラインアセンブラを含む)アセンブラで書かれた資産はちがいます。
そもそも64ビットコンパイラではインラインアセンブラが使えないはずですが(gccは使えるのかな?)
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
アレゲは一日にしてならず -- アレゲ研究家
無知な私におせーて! (スコア:1, 興味深い)
Re:無知な私におせーて! (スコア:1, 参考になる)
レジスタのやりくりロスが減るんじゃないかと。
(もちろんCPU内部にはより多くの物理レジスタがあってレジスタ
リネームされてるんでしょうけど)
浮動小数点周りは退化? (スコア:4, 参考になる)
けど、AMD64 版 Windows の 64bit モード下では、x87 FPU レジスタの内容を保存・復元しなくなりましたので、事実上 x87 FPU 浮動小数点演算や、その x87 FPU レジスタを間借りしている MMX/3DNow! が使えなくなってます。MMX/3DNow! はともかく x87 FPU が使えないとなると、80bit の拡張倍精度フォーマットが使えなくなりますし、超越関数(sin/cosなど)のハードウェア演算ができなくなるので、状況によっては 6
Re:浮動小数点周りは退化? (スコア:1)
これの情報ソースを教えてください。
Windows の 64bit モー
Re:浮動小数点周りは退化? (スコア:2, 参考になる)
・Legacy Floating-Point Support
The MMX and floating-point stack registers (MM0-MM7/ST0-ST7) are volatile. That is, these legacy floating-point stack registers do not have their
Re:浮動小数点周りは退化? (スコア:2, 興味深い)
教えていただいた URL [microsoft.com] は該当の記載が無いので Google で "Legacy Floating-Point Support " を検索 [google.co.jp]したところ、Other Calling Convention Process Issues [microsoft.com]を発見できました。
これは Other Calling Convention Process Issues [microsoft.com]
とあるのでDDK、ディバイスドライバのついて限定されるのではないかと思います。
これまでドライバでx8
Re:浮動小数点周りは退化? (スコア:1)
これがドライバに限定されるのかどうかは、私も実際に実機で試したわけではないのではっきりしたことは言えませんけど、ドライバだけ実行環境が違うというのもヘンなので、おそらくユーザーアプリでも同じだと思います。AMD の文 [amd.com]
Re:浮動小数点周りは退化? (スコア:1)
=^..^=
Enjoy Computing, Skiing, as much as Horse Racing.
Re:浮動小数点周りは退化? (スコア:1)
コンパイラはx86や3DNow!、MMX のコードを生成しないと思います。
しかし(インラインアセンブラを含む)アセンブラで書かれた資産はちがいます。
#個人的には 64bit に移行する今がx87と決別するいい潮時だと思います。
Re:浮動小数点周りは退化? (スコア:0)
そもそも64ビットコンパイラではインラインアセンブラが使えないはずですが(gccは使えるのかな?)
GCCのばぁい(Re:浮動小数点周りは退化?) (スコア:1)
最低でもgcc3まではインラインアセンブラ有効です。
従って、PC U*ixベースで開発されているAV系のソフトでは、x86_64などのSIMD命令をインラインアセンブラで記述している(そしてcofigure段階でMPUを判別して関数レベルで最適なコード記述を選択している)ものが結構あります。
# 勿論、インラインアセンブラだけでなく、XviD [xvid.org]のように
# 独立したアセンブルソースで書いてある例も多々ありますが…
Re:浮動小数点周りは退化? (スコア:1)
そうです,過去に決別して,さぁ,
Welcome to EPIC world!(寂しいので誰か来て)
# x86をすっ飛ばして,Itaniumのアセンブラしか知らないから微妙に話についていけん.