POV-Ray : Newsgroups : povray.beta-test : Radiosity Status: Giving Up... : Re: Radiosity Status: Giving Up... Server Time
29 Jul 2024 10:25:24 EDT (-0400)
  Re: Radiosity Status: Giving Up...  
From: Thorsten Froehlich
Date: 31 Dec 2008 19:44:38
Message: <495c11f6$1@news.povray.org>
clipka wrote:
> Thorsten Froehlich <tho### [at] trfde> wrote:
>>> You are looking at the wrong manual. This manual does not tell you how
>>> to do something but what is available.
>> ...
>> I guess it would help if M$ would not call x86-64 "AMD64" in older documents...
> 
> I'm not surprised that they did, because that's what the original implementation
> was named...
> 
>>
<http://download.microsoft.com/download/5/b/5/5b5bec17-ea71-4653-9539-204a672f11cf/AMD64_PortApp.doc>
>> <http://developer.amd.com/pages/62720069_4.aspx>
> 
> I still don't get the point.

x87 is "bad" because the FPU stack architecture (effectively only having two 
registers) makes it next to impossible to schedule instructions in a 
compiler in any reasonable way. SSE provides eight registers instead, 
reducing register pressure and hence making floating-point computations more 
efficient.

That is why AMD/MS defined x86-64 to pass floating-point values by SSE 
registers. This change enables all kinds of common optimizations the non-x86 
world has enjoyed for decades. Of course, all this has nothing to really do 
with x86-64, it just happens that as an ABI change was needed, this old 
issue has been fixed while also adding 64-bit integer support.

> There is no mention that SSE2 could do the same transcendental functions without
> some additional piece of software, and I wonder whether that will do good to
> performance.

In essence x86 is the only architecture where more than sqrt is still 
supported in microcode hardware. Doing this in software is much more 
desirable and efficient.

	Thorsten


Post a reply to this message

Copyright 2003-2023 Persistence of Vision Raytracer Pty. Ltd.