Bug 9190 – Vector operations are not optimized for x86_64 architecture
Status
RESOLVED
Resolution
FIXED
Severity
enhancement
Priority
P2
Component
druntime
Product
D
Version
D2
Platform
x86_64
OS
All
Creation time
2012-12-20T12:49:00Z
Last change time
2013-10-05T12:30:43Z
Assigned to
nobody
Creator
lomereiter
Comments
Comment #0 by lomereiter — 2012-12-20T12:49:53Z
From what I see in druntime/src/rt/arrayint.d, there are some heavy optimizations for x86 architecture but not for x86_64.
For instance, in my code replacing a vector operation which resulted in a call to _arrayExpSliceAddass_k, with a loop, gave me 2x performance boost with -O -release -inline flags (and even more with LDC compiler).
As a temporary solution (until optimized versions will be written), I suggest to enhance the following condition by taking target architecture into account: https://github.com/D-Programming-Language/dmd/blob/master/src/arrayop.c#L304
Comment #1 by safety0ff.bugz — 2013-10-05T12:30:43Z