From: David Rientjes Date: Wed, 16 Aug 2006 21:41:50 GMT Subject: Re: [PATCH] remove inline iteration variable Message-ID: In-Reply-To: <20060816201019.GA6083@steel.home> On Wed, 16 Aug 2006, Alex Riesen wrote: > David Rientjes, Wed, Aug 16, 2006 19:14:44 +0200: > > > > Remove unnecessary iteration variable in inline. > > > > - for (i = 0; i < in; i++) putchar(' '); > > > > + for (; in > 0; in--) > > > > > > while(in--) putchar(' '); > > > > > > > That goes into an infinite loop if the argument is negative because > > it emits a cmpl $0, x(%ebp). Should never happen, but there's no > > reason not to prevent it with a for loop. > > while (in-- > 0) putchar(' '); > > still shorter :) > It emits a slightly rearranged assembly with the same number of instructions. David