Speed kills
Basile B. via Digitalmars-d
digitalmars-d at puremagic.com
Wed Feb 17 11:01:38 PST 2016
On Wednesday, 17 February 2016 at 18:50:45 UTC, Jack Stouffer
wrote:
> On Wednesday, 17 February 2016 at 18:26:47 UTC, Basile B. wrote:
>> Anyway, not good for phobos, why? When looking for
>> documentation yesterday night I've landed on a post by Walter
>> who explained that the library for a system programming
>> language shouldn't be specific to an architecture.
>
> While I don't know about the post you're talking about, I don't
> think what Walter says applies to internal version blocks in a
> function. You could make it so on AMD lround and friends are
> much faster by using those ASM routines. Also, std.math is
> already chock full of architecture specific code.
That's more subtile than that.
The oldest 64 bit processor (AMD64) supports SSE, always. So when
we do "cast(int) 0.1;" on X86_64, the backend always generate SSE
instructions.
The oldest 32 bit processor (X86) doesn't support SSE, maybe MMX
(not sure). So when we do "cast(int) 0.1;" on X86, the backend
always generate FPU instructions.
This is how I understand the post 'I've landed onto'.
My current works always use SSE so it's not conform with the "at
least available" feature.
More information about the Digitalmars-d
mailing list