SIMD/intrinsincs questions

Bill Baxter wbaxter at gmail.com
Fri Nov 6 20:06:06 PST 2009


On Fri, Nov 6, 2009 at 11:29 AM, Don <nospam at nospam.com> wrote:
> Hi Mike, Welcome to D!
> In the latest compiler release (ie, this morning!), fixed-length arrays have
> become value types. This is a big step: it means that (eg) float[4] can be
> returned from a function for the first time. On 32-bit, we're a bit limited
> in SSE support (eg, since *no* 32-bit AMD processors have SSE2) -- but this
> will mean that on 64 bit, we'll be able to define an ABI in which  short
> static arrays are passed in SSE registers.
>
> Also, D has array operations.  If x, y, and z are int[4], then
> x[] = y[]*3 + z[];
> corresponds directly to SIMD operations. DMD doesn't do much with them yet
> (there's been so many language design issues that optimisation hasn't
> received much attention), but the language has definitely been planned with
> SIMD in mind.

But what about the question of direct support for SSE intrinsics?
I don't see any in std.* but is there any reason not to, say, beef up
std.intrinsics with such things?  Is there any major hurdle to
overcome?  Seems like it would be useful to have.

--bb



More information about the Digitalmars-d mailing list