Re: Vectorisation Intrinsics for DMD?

2011-02-06 Thread Walter Bright

Andrei Alexandrescu wrote:

Are those swizzling ops part of the topic?


I'm keeping an open mind on that the moment!




"An open mind is an empty mind" -- Mark Stroberg


Re: Vectorisation Intrinsics for DMD?

2011-02-06 Thread Andrei Alexandrescu

On 2/6/11 2:48 PM, Walter Bright wrote:

Peter Alexander wrote:

Is there any plan to add vectorisation intrinsics to DMD?

I know that DMD generates vectorised instructions for array
operations, but last time I checked, these were far from optimal for
aligned float[4] objects. In fact, it appears to generate a function
call for all vector operations, regardless of size or alignment.

I believe that these intrinsics would be very beneficial to D, and
this is because I believe that one of D's biggest markets is indie
game devs:

- They need a really high performance language, but are tired of C++
- They are not held back by legacy code
- They are generally risk takers, so are willing to invest in new tech

A lack on vector intrinsics in DMD gives them an extra reason to stick
with C++.


I agree with everything you said. I think D's array op syntax form a
sound basis for doing vector ops, and plan on doing them.


Are those swizzling ops part of the topic?

Andrei


Re: Vectorisation Intrinsics for DMD?

2011-02-06 Thread bearophile
Brad Roberts:

> Also hinted at in the above list.. I'd really like to explore how to get some 
> of the runtime library functions to be
> inlineable.  There's a lot of small functions that ought to be eligible, if 
> exposed to the compiler as a candidate.

Like the two (or more than two) needed to allocate a class instance.

Bye,
bearophile


Re: Vectorisation Intrinsics for DMD?

2011-02-06 Thread Brad Roberts
On 2/6/2011 11:48 AM, Walter Bright wrote:
> Peter Alexander wrote:
>> Is there any plan to add vectorisation intrinsics to DMD?
>>
>> I know that DMD generates vectorised instructions for array operations, but 
>> last time I checked, these were far from
>> optimal for aligned float[4] objects. In fact, it appears to generate a 
>> function call for all vector operations,
>> regardless of size or alignment.
>>
>> I believe that these intrinsics would be very beneficial to D, and this is 
>> because I believe that one of D's biggest
>> markets is indie game devs:
>>
>> - They need a really high performance language, but are tired of C++
>> - They are not held back by legacy code
>> - They are generally risk takers, so are willing to invest in new tech
>>
>> A lack on vector intrinsics in DMD gives them an extra reason to stick with 
>> C++.
> 
> I agree with everything you said. I think D's array op syntax form a sound 
> basis for doing vector ops, and plan on doing
> them.

Also hinted at in the above list.. I'd really like to explore how to get some 
of the runtime library functions to be
inlineable.  There's a lot of small functions that ought to be eligible, if 
exposed to the compiler as a candidate.


Re: Vectorisation Intrinsics for DMD?

2011-02-06 Thread Walter Bright

Peter Alexander wrote:

Is there any plan to add vectorisation intrinsics to DMD?

I know that DMD generates vectorised instructions for array operations, 
but last time I checked, these were far from optimal for aligned 
float[4] objects. In fact, it appears to generate a function call for 
all vector operations, regardless of size or alignment.


I believe that these intrinsics would be very beneficial to D, and this 
is because I believe that one of D's biggest markets is indie game devs:


- They need a really high performance language, but are tired of C++
- They are not held back by legacy code
- They are generally risk takers, so are willing to invest in new tech

A lack on vector intrinsics in DMD gives them an extra reason to stick 
with C++.


I agree with everything you said. I think D's array op syntax form a sound basis 
for doing vector ops, and plan on doing them.


Re: Vectorisation Intrinsics for DMD?

2011-02-06 Thread Peter Alexander

On 6/02/11 6:31 PM, Iain Buclaw wrote:

== Quote from Peter Alexander (peter.alexander...@gmail.com)'s article

Is there any plan to add vectorisation intrinsics to DMD?
I know that DMD generates vectorised instructions for array operations,
but last time I checked, these were far from optimal for aligned
float[4] objects. In fact, it appears to generate a function call for
all vector operations, regardless of size or alignment.
I believe that these intrinsics would be very beneficial to D, and this
is because I believe that one of D's biggest markets is indie game devs:
- They need a really high performance language, but are tired of C++
- They are not held back by legacy code
- They are generally risk takers, so are willing to invest in new tech
A lack on vector intrinsics in DMD gives them an extra reason to stick
with C++.


I take it you've been lurking in D.gnu then? ;)


Ha, actually I didn't know there was a D.gnu, but now that I've 
subscribed, I can see what made you say that :)


Actually, I'm trying to optimize part of a game I'm writing and it could 
greatly benefit from vectorisation.


Re: Vectorisation Intrinsics for DMD?

2011-02-06 Thread spir

On 02/06/2011 05:01 PM, Peter Alexander wrote:

Is there any plan to add vectorisation intrinsics to DMD?

I know that DMD generates vectorised instructions for array operations, but
last time I checked, these were far from optimal for aligned float[4] objects.
In fact, it appears to generate a function call for all vector operations,
regardless of size or alignment.

I believe that these intrinsics would be very beneficial to D, and this is
because I believe that one of D's biggest markets is indie game devs:

- They need a really high performance language, but are tired of C++
- They are not held back by legacy code
- They are generally risk takers, so are willing to invest in new tech


- They need a sympathetic /data description language/, which D is not far to B. 
--> Lua, with the power of compilation and low-level coding, in a single language.

What do you think?

Denis
--
_
vita es estrany
spir.wikidot.com



Re: Vectorisation Intrinsics for DMD?

2011-02-06 Thread Iain Buclaw
== Quote from Peter Alexander (peter.alexander...@gmail.com)'s article
> Is there any plan to add vectorisation intrinsics to DMD?
> I know that DMD generates vectorised instructions for array operations,
> but last time I checked, these were far from optimal for aligned
> float[4] objects. In fact, it appears to generate a function call for
> all vector operations, regardless of size or alignment.
> I believe that these intrinsics would be very beneficial to D, and this
> is because I believe that one of D's biggest markets is indie game devs:
> - They need a really high performance language, but are tired of C++
> - They are not held back by legacy code
> - They are generally risk takers, so are willing to invest in new tech
> A lack on vector intrinsics in DMD gives them an extra reason to stick
> with C++.

I take it you've been lurking in D.gnu then? ;)