Re: Vectorisation Intrinsics for DMD?
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?
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?
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?
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?
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?
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?
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?
== 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? ;)