System programming in D (Was: The God Language)

Manu turkeyman at gmail.com
Wed Jan 4 15:39:40 PST 2012


>
> Manu:
>
> >  * vector type ... D has exactly no way to tell the compiler to allocate
> > 128bit vector registers, load/store, and pass then to/from functions.
> That
> > is MOST of the register memory on virtually every modern processor, and D
> > can't address it... wtf?
>
> Currently the built-in vector operations of D are not optimized, their
> syntax and semantics has some small holes that I'd like to see fixed (it's
> not just a matter of implementation bugs, I also mean design bugs). So I
> suggest first to improve them a lot, and only later, if necessary, to
> introduce intrinsics.
>

I'm not referring to vector OPERATIONS. I only refer to the creation of a
type to identify these registers... anything more than that can be done
with inline asm, hardware intrinsics, etc, but the language MUST at least
expose the type to allow register allocation and parameter passing.

A language defined 128bit SIMD type would be fine for basically all
architectures. Even though they support different operations on these
registers, the size and allocation patterns are always the same across all
architectures; 128 bits, 16byte aligned, etc. This allows at minimum
platform independent expression of structures containing simd data, and
calling of functions passing these types as args.

SSE, VMX (PPC), VFP (ARM)... they all share the same rules.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.puremagic.com/pipermail/digitalmars-d/attachments/20120105/2f62c9c6/attachment.html>


More information about the Digitalmars-d mailing list