Sender: wolfi AT neuss DOT netsurf DOT de Message-ID: <37EF0296.FDDAC4B1@neuss.netsurf.de> Date: Mon, 27 Sep 1999 07:37:26 +0200 From: Wolfgang Formann X-Mailer: Mozilla 4.6 [en] (X11; I; Linux 2.2.8 i586) X-Accept-Language: German, de, en MIME-Version: 1.0 To: pgcc AT delorie DOT com Subject: Re: using cmov* not that great References: <3 DOT 0 DOT 32 DOT 19990926230735 DOT 00c74930 AT pop DOT xs4all DOT nl> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Reply-To: pgcc AT delorie DOT com Vincent Diepeveen wrote: > > Hello, > > > For my search inside loops very important is next pattern: > > int *p,u,*array; > > if( !PATTERN ) > p += array[u]; > > Now pattern checks for zero. So if non-zero then > p += array[u] is applied. > > Pattern is also an array reference. something like !s[t[u]] > Hmm, isn't cadd* the thing you would need? What about modifying your code to tmp = 0 if( !PATTERN ) tmp = array[u]; p += tmp; This snipplet would fit better to cmov*. Wolfgang