SSE, AVX, and beyond

Eljay eljay at adobe.com
Sun Aug 9 08:11:53 PDT 2009


As cent/ucent, should a keyword be reserved for 256?  512?  1024?

- - - - - - - - - - - - - - -

Most programming languages are loathe to add new keywords, because that has the chance to impact existing code.

So the time to add keywords for D 2.0(alpha) is now, since the language is in alpha.

For 128-bit signed/unsigned int, D has reserved cent and ucent.  Perfect for working with UUIDs.  But not implemented yet.

The next generation of SSE, called AVX, will support 256-bit data.  Now, granted, those 256-bit registers and data-path is more like (u)byte[32], or (u)short[16], or (u)int[8], or float[8] arrays with specially optimized SIMD instructions.

The current generation of GPUs support 256-bit data.  Some of which may be used for GPGPU work.  (D Programming Language does not target those GPGPUs, yet.  But with a little luck...)

It is within the realm of reason that there may be larger-than-64-bit integers in the near future.  128 is ready, with cent/ucent.  Should larger sizes have reserved keywords?  Or are those larger sizes just too ludicrously large to worry about?

Or maybe a language extension like int!256, int!512, int!1024 (and retrofit to int!128, int!64, int!32, int!16, int!8 ... much as MSVC++ has __int64, __int32, __int16, __int8, or FORTRAN has integer*8, integer*4, integer*2, integer*1).

Thoughts?

[My FORTRAN is very, very rusty, so my apologies if I misremembered.]



More information about the Digitalmars-d mailing list