[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Bug-gnubg] Vectorizing 3rd step

From: Øystein O Johansen
Subject: Re: [Bug-gnubg] Vectorizing 3rd step
Date: Tue, 19 Apr 2005 08:41:45 +0200

> I initialize a vector for scaling in the second loop. I believe this
> can be made simpler. Any suggestions?

My own suggestion:

  float scale[4];
  v4sf scalevector;
  scale[0] = scale[1] = scale[2] = scale[3] = ari;
  scalevector = __builtin_ia32_loadaps(scale);

  v4sf scalevector = (v4sf) { ari, ari, ari, ari };

Just this little initialisation improvement gains about 1000 extra
static evaluation / second. I'm now at ~26300.

> Some comments: I believe having an integer counter in the loop slows
> it down. Can I exit the loop in an other way?

I'll see if I can exit the loops with comparing the pointers? Will
that work? Will it gain anything?


The information contained in this message may be CONFIDENTIAL and is
intended for the addressee only. Any unauthorised use, dissemination of the
information or copying of this message is prohibited. If you are not the
addressee, please notify the sender immediately by return e-mail and delete
this message.
Thank you.

reply via email to

[Prev in Thread] Current Thread [Next in Thread]