www.digitalmars.com         C & C++   DMDScript  

D - VectorC

reply "Sean L. Palmer" <spalmer iname.com> writes:
Walter, you should definitely check this shit out.

----- Original Message -----
To: <sweng-gamedev midnightryder.com>
Sent: Wednesday, May 15, 2002 3:56 PM
Subject: Re: [sweng-gamedev] Using vector assembly/intrinsics cleverly?


 VectorC is exactly what you want.

 http://www.codeplay.com/vectorc/feat-vec.html

 ----- Original Message -----
 To: <sweng-gamedev midnightryder.com>
 Sent: Wednesday, May 15, 2002 3:57 PM
 Subject: [sweng-gamedev] Using vector assembly/intrinsics cleverly?


 The question I have is if anyone out there know of a good way of using the
3DNow/SSE instruction set / intrinsics in a platform
 independent kind of way? That is, I want one exe for both (or all three,
if we count the ones without either) and INLINE vector /
 matrix class members. It's important that the vector members are inlined
because otherwise the compiler cant optimise egister
 allocation over the calls. As in:

 Vect a,b; <- some cool values
 a *= 12.0f;
 b += a;
 b /= 13.0f;

 Here we want the compiler to leave a & b in registers the whole time,
which is not possible if the operators are not inlined.
 Solutions that have occured to me is:
 1) Build different exe's append together and use a launcher. (somehow)
 2) Only use SSE/3DNow in larger modules and use function pointers /
switches.
 3) Dont use them at all.

 any suggestions welcome!

 cheers
May 15 2002
parent "Walter" <walter digitalmars.com> writes:
Thanks, I did. I think it clearly shows C's weaknesses in being able to
handle vector operations.

"Sean L. Palmer" <spalmer iname.com> wrote in message
news:abvjn7$1eck$1 digitaldaemon.com...
 Walter, you should definitely check this shit out.

 ----- Original Message -----
 To: <sweng-gamedev midnightryder.com>
 Sent: Wednesday, May 15, 2002 3:56 PM
 Subject: Re: [sweng-gamedev] Using vector assembly/intrinsics cleverly?


 VectorC is exactly what you want.

 http://www.codeplay.com/vectorc/feat-vec.html

 ----- Original Message -----
 To: <sweng-gamedev midnightryder.com>
 Sent: Wednesday, May 15, 2002 3:57 PM
 Subject: [sweng-gamedev] Using vector assembly/intrinsics cleverly?


 The question I have is if anyone out there know of a good way of using
the
 3DNow/SSE instruction set / intrinsics in a platform
 independent kind of way? That is, I want one exe for both (or all three,
if we count the ones without either) and INLINE vector /
 matrix class members. It's important that the vector members are inlined
because otherwise the compiler cant optimise egister
 allocation over the calls. As in:

 Vect a,b; <- some cool values
 a *= 12.0f;
 b += a;
 b /= 13.0f;

 Here we want the compiler to leave a & b in registers the whole time,
which is not possible if the operators are not inlined.
 Solutions that have occured to me is:
 1) Build different exe's append together and use a launcher. (somehow)
 2) Only use SSE/3DNow in larger modules and use function pointers /
switches.
 3) Dont use them at all.

 any suggestions welcome!

 cheers
May 16 2002