Mercurial > hg > CbC > old > device
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の場合はいるんじゃないの? +