From mboxrd@z Thu Jan 1 00:00:00 1970 From: Sean Quinlan Subject: Re: [9fans] p9/linux/fbsd compiler shootout To: 9fans@cse.psu.edu Message-id: <3C7BB2B7.5287E965@research.bell-labs.com> MIME-version: 1.0 Content-type: text/plain; charset=us-ascii Content-transfer-encoding: 7BIT References: <807a8afd7bb1bf60ebcafe1adb3004b1@plan9.bell-labs.com> Date: Tue, 26 Feb 2002 11:07:19 -0500 Topicbox-Message-UUID: 5662f29a-eaca-11e9-9e20-41e7f4b1d025 8c does almost no registerisation for floating point. The floating point stack is used as a stack; i.e. the code for y = y + x looks like FMOVD y+-16(SP),F0 FADDD x+-8(SP),F0 FMOVDP F0,y+-16(SP) even in the inner loops. If you care about floating point on the x86, you have to use a compiler that tries to treat the x86 floating point stack into a register file... this is not easy and even with a lot of effort and large amounts of hardware assistance, x86 floating point is still relatively slow. As rob said, ken never did this... on machines where the floating point unit uses a register file, ken does a lot better. seanq rob pike wrote: > > > Rob, can you say more about what 8c's shortcomings are in > > floating point? > > Ken just didn't spend much time on it. A fair bit of effort was spent > on integer code for most of the architectures, including x86. When > you have finite time (unlike the GCC people, who have infinite people > and forever to work on it, 8c was a one-man operation) you choose > where to spend it. > > -rob