On 1/14/2012 9:15 PM, Sean Cavanaugh wrote:
What about the 256 bit types that are already present in AVX instruction set?

Eventually, I'd like to do them, too.

I've written a several C++ based SIMD math libraries (for SSE2 up through AVX),
and PPC's VMX instruction sets that you can find on game consoles.

The variable type naming is probably the most annoying thing to work out.

For HLSL they use float, float1, float2, float3, float4 and int, uint and double
versions, and this convention works out quite well until you start having to
deal with smaller integer types or FP16 half floats.

However on the CPU side of things there are signed and unsigned 8, 16, 32, 64
and 128 bit values.

I'm not sure why the convention used in std.simd fails here.

It gets even more complicated in that not all the math
operations or comparisons are supported on the non-32 bit types.

Right. D is designed to give an error for operations that are not supported, rather than downgrade to emulation like gcc does.

Reply via email to