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.