On Wednesday, 2 September 2015 at 19:04:10 UTC, qznc wrote:
The bad news: cmplepd and movmskpd are not used. Is that possible somehow four years later?

I just checked, and LLVM does not know how to automatically vectorize that loop. You would need to write it manually using vector types (like in the C version).

[0] https://github.com/qznc/d-shootout

As a general note, you might want to add "-boundscheck=off -mcpu=native" to the flags for LDC too for a fair comparison to the other compilers. Also, if you use the DMD-style flags (e.g. -O -inline), you should use the ldmd2 wrapper instead of ldc2.

You might also want to use 2.067 branch of ldc2 (just released as an alpha version) for better comparability to DMD.

 — David


Reply via email to