On 2012-10-09 09:50, Manu wrote:

std.simd already does have a mammoth mess of static if(arch & compiler).
The thing about std.simd is that it's designed to be portable, so it
doesn't make sense to expose the low-level sse intrinsics directly there.
But giving it some thought, it might be nice to produce std.simd.sse and
std.simd.vmx, etc for collating the intrinsics used by different
compilers, and anyone who is writing sse code explicitly might use
std.simd.sse to avoid having to support all different compilers
intrinsics themselves.
This sounds like a reasonable approach, the only question is what all
these wrappers will do to the code-gen. I'll need to experiment/prove
that out.

An alternative approach is to have one module per architecture or compiler.

--
/Jacob Carlborg

Reply via email to