[PATCH] bitops: remove condition code clobber for CLZ

Russell King - ARM Linux linux at arm.linux.org.uk
Wed Jan 12 09:22:20 EST 2011


On Wed, Jan 12, 2011 at 07:48:10PM +0530, Rabin Vincent wrote:
> On Wed, Jan 12, 2011 at 00:21, Nicolas Pitre <nico at fluxnic.net> wrote:
> > On Tue, 11 Jan 2011, Russell King - ARM Linux wrote:
> >> On Tue, Jan 11, 2011 at 11:12:05PM +0530, Rabin Vincent wrote:
> >> > The CLZ instruction does not alter the condition flags, so remove the
> >> > "cc" clobber from the inline asm for fls().
> >>
> >> Do you have any evidence that this changes anything, or is it just
> >> subjective?
> >
> > This probably doesn't change anything, as gcc has been presuming that
> > inline asms do clobber the condition code for years now, in order to
> > prevent issues caused by a lack of %? appended to instructions in order
> > to conditionally execute them otherwise.
> 
> FWIW, note that I am able to see GCC using the condition code clobber
> information.  For example, for this (artificial) test code:

Ok, better code generation is a reason to apply this patch (not that
the example particularly shows that the new order was better - but it
can potentially be if there's loads around.)



More information about the linux-arm-kernel mailing list