delorie.com/archives/browse.cgi   search  
Mail Archives: pgcc/1999/09/27/03:40:45

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 <w DOT formann AT neuss DOT netsurf DOT de>
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>
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

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019