How to deal with inline asm functions in Phobos/druntime?
Johan Engelen via digitalmars-d-ldc
digitalmars-d-ldc at puremagic.com
Wed Apr 8 07:31:57 PDT 2015
On Wednesday, 8 April 2015 at 13:28:16 UTC, David Nadlinger wrote:
> On 8 Apr 2015, at 15:15, Daniel Murphy via digitalmars-d-ldc
> wrote:
>> I don't think it's so much about vectorizing as it is about
>> avoiding the x87 FPU, which you can do when 80-bit precision
>> is not needed.
>
> Indeed. On x86_64, the SSE registers (%xmm0 and so on) are used
> by default for single- and double-precision floating point
> operations. The x87 FPU is not particularly well-optimized on
> newer CPUs to begin with, and transferring data from the SSE
> registers to the FPU on function entry and then back again is
> quite costly too.
>
> For example, this is what made us (all D compilers) look bad on
> that Perlin noise microbenchmark (the thread from a couple of
> months ago).
Ah, ok. Didn't realize.
For future reference:
http://gruntthepeon.free.fr/ssemath
More information about the digitalmars-d-ldc
mailing list