64-bit and SSE

Don nospam at nospam.com
Tue Mar 2 11:05:44 PST 2010


dsimcha wrote:
> Given that Walter has indicated that 64-bit support is on the agenda for after
> D2 is finished and x87 is deprecated in 64-bit mode, will we also see SSE(2)
> support in DMD in the relatively near future?  If so, will it be exposed as a
> compiler option even when compiling in 32-bit mode?

I think the way to do this will be, as a first step, to use SSE for 
short vector operations. There's some really low-hanging fruit there.
To get the full benefit from SSE we need to use SSE registers for 
parameter passing, but I think that'll only be possible with the 64 bit API.

> I've realized that this is kind of important for me since Intel deprecated x87
> on its Core 2 and Pentium 4 chips, meaning any old school floating point code
> runs painfully slow compared to, say, an AMD chip that still has a decent x87.

x87 is only slow on P4. But everything is slow on P4.
AFAIK 80 bit loads and stores are the only things which are slower on 
Core2 and i7 than on Pentium 3 (4 vs 2 cycles). And they're actually 
faster than AMD. So I don't think this is such a big issue.
In fact, some of the x87 transcendental operations are faster on Core2 
than on any earlier processor. So they still have a decent x87 :-).

Of course, in the occasions when SSE lets you do 4 operations at once, 
you get nearly a 4X speedup...



More information about the Digitalmars-d mailing list