AuburnSounds / intel-intrinsics

The Dlang SIMD library
https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#techs=MMX,SSE,SSE2,SSE3,SSSE3,SSE4_1
Boost Software License 1.0
68 stars 11 forks source link

DMD: Support D_SIMD #42

Open p0nce opened 4 years ago

p0nce commented 4 years ago

Enabling core.simd:

Instead of the slow replacements. But does it support float2, int2? (EDIT: no, but we can work around it)

p0nce commented 4 years ago

Also DMD: use core.simd instead of emulation when available.

p0nce commented 3 years ago

Blocked by #59

p0nce commented 3 years ago

Each version of DMD bring regressions when SIMD vectors are actually used. It's a maintenance burden.

p0nce commented 2 years ago

D_SIMD finally enabled in intel-intrinsics v1.9, when DMD 2.099+ is used. Let's see what happens next.

p0nce commented 2 years ago

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).

p0nce commented 2 years ago

4 more issues fixed by core. https://forum.dlang.org/post/t42vs6$1nk3$1@digitalmars.com

p0nce commented 2 years ago

Enable core.simd and D_SIMD usage in DMD now! It seems like the best time to do it. (mmm, not really)

p0nce commented 2 years ago

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.

p0nce commented 2 years ago

Another final attemps at making D_SIMD used by default. Phew.

p0nce commented 2 years ago

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)

p0nce commented 2 years ago

Some critical instructions:

p0nce commented 2 years ago

Besides, DMD output is wrong vs LDC on a complete plugin such as Lens.

p0nce commented 1 year ago

Critical for Lens:

p0nce commented 1 year ago

Are we still in the DMD test suite? latest DMD fails in GH Actions => yes we are