アカウント名:
パスワード:
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
リンクの張り方が不親切でしたね。お詫びします。
"Microsoft Windows for AMD64 will not context switch x87, 3DNow!, MMX for 64-bit native threads." となってますし。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
UNIXはシンプルである。必要なのはそのシンプルさを理解する素質だけである -- Dennis Ritchie
無知な私におせーて! (スコア: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)
Re:浮動小数点周りは退化? (スコア:1)
Calling conventions for different C++ compilers and operating systems (PDF) [agner.org] という文書では、MSDN の記述にある "context switches" とはタスク切り替えのことではなくて関数呼び出しのことを指しているのではないか、というようなことが書かれています。要するに MSDN のあの一文の意味は「関数呼び出しの前後で FP レジスタの値は保存されない」という意味ではないかという説。
確かに FXSAVE/FXRSTOR 命令を使えば、FP レジスタを含むすべてのレジスタを一括して保存できるので、タスク切り替えの前後で FP レジスタだけ保存されないというのもヘンな仕様だなぁとは思っていたのですが。