How to deal with inline asm functions in Phobos/druntime?
Kai Nacke via digitalmars-d-ldc
digitalmars-d-ldc at puremagic.com
Wed Apr 8 04:55:29 PDT 2015
On Wednesday, 8 April 2015 at 11:29:26 UTC, David Nadlinger wrote:
> Speaking about performance: Haven't we switched to 64 bit reals
> Win64 for the time being? If so, we'd probably want a version
> of ilogb
> that uses SSE instead of the x87 FPU. This is probably (I'm
> sure, but did not measure it) a much bigger performance problem
> any overly long general purpose register pushing/popping
> generated by non-naked asm functions.
Yes, reals are 64bit on Win64. Using SSE can really help here.
Speaking of performance: The only way to know the some piece of
code is faster is to measure it. This can reveal surprising
> ilogb() does not seem to be a commonly used function, though,
> so it
> might not be worth the effort.
There are lot of other functions, too. E.g. the inline assembler
in expi() is commented because of a problem with the asm parser.
I think Johan will find enough worthwhile targets.
More information about the digitalmars-d-ldc