diff Changes @ 82:25654dc29ecc

First Floating Point coding done.
author kono
date Wed, 05 Mar 2003 00:39:39 +0900
parents f94ca1168520
children 3789aef7331d
line wrap: on
line diff
--- a/Changes	Mon Mar 03 20:59:51 2003 +0900
+++ b/Changes	Wed Mar 05 00:39:39 2003 +0900
@@ -1856,3 +1856,30 @@
 違うんだろうな。
 
 dreg/creg のfloating versionが必要です。( です? )
+
+Tue Mar  4 14:56:28 JST 2003
+
+double のcurrent register は387のスタックを使う。(?)
+関数呼び出し時に387のスタックが保存されるという
+保証は無いので、emit_dpushでは、%esp に保存する。
+
+でも、そうすると、代入の後などで387のスタックが
+常に残ることになる。こいつをクリアするコードは
+どこにいれる? free_register でもいいんだけど....
+ううーむ、つかいずらいやつ。ld じゃなくて、
+stack top に代入するオペレーションはないの?
+
+(あぁ、でも、なんか、floatは、もうすぐ終っちゃうな... なんか、
+さびし...)
+
+Tue Mar  4 23:58:07 JST 2003
+
+fmulp とかでは、fpp のstackのつじつまはあう。fstl とかだと、
+合わない。fstpl すればいいんだが、そうすると連続代入でまずくなる。
+値を使うかどうかを代入時に知ることができれば良いんだが。
+
+結局、freg は、使わなかったね。0が、入っているので直さないとまずいか。
+fregを見て、stack を直すってのは、やっぱり、まずいよな...
+
+でも、浮動小数点レジスタを持つCPUの場合はいるんじゃないの?
+