start on SIMD documentation

Walter Bright newshound2 at digitalmars.com
Sat Jan 14 21:21:22 PST 2012


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.


More information about the Digitalmars-d mailing list