-
Notifications
You must be signed in to change notification settings - Fork 11
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
DMD: Support D_SIMD #42
Comments
Also DMD: use core.simd instead of emulation when available. |
Blocked by #59 |
Each version of DMD bring regressions when SIMD vectors are actually used. It's a maintenance burden. |
D_SIMD finally enabled in intel-intrinsics v1.9, when DMD 2.099+ is used. Let's see what happens next. |
8 hours later I was asked to remove it. 4 bugs are kinda blockers for D_SIMD to happen (well, more will be found as translation progress, but also perf will augment). |
4 more issues fixed by core. |
Enable core.simd and D_SIMD usage in DMD now! It seems like the best time to do it. (mmm, not really) |
DMD debug builds now surprisingly useful since, they are at a 5% difference with LDC builds but build faster. Could become both faster to build and more efficient with a bit of effort on intel-intrinsics. |
Another final attemps at making D_SIMD used by default. Phew. |
It triggered only one regression, some Linux only bugs, and it seems like this is it? D_SIMD finally activated. (but not for AVX, only SSE) |
Some critical instructions:
|
Besides, DMD output is wrong vs LDC on a complete plugin such as Lens. |
Critical for Lens:
|
Are we still in the DMD test suite? latest DMD fails in GH Actions => yes we are |
Enabling core.simd:
Instead of the slow replacements. But does it support float2, int2? (EDIT: no, but we can work around it)
_mm_movehl_ps
generates MOVHLPS with__simd
(and not MOVLPS)_mm_movelh_ps
generates MOVLHPS with__simd
(and not MOVHPS)The text was updated successfully, but these errors were encountered: