Re: [PATCH 2/5] atomic: introduce atomic_inc_not_zero

From: David S. Miller
Date: Sun Sep 18 2005 - 01:06:49 EST


From: Russell King <rmk+lkml@xxxxxxxxxxxxxxxx>
Date: Sat, 17 Sep 2005 08:27:36 +0100

> gcc did have some support to pass condition codes into assembly.
> On ARM, you used to be able to do things like:
>
> if (foo)
> asm("blah%? whatever");
>
> and gcc would replace %? with whatever condition was appropriate
> for the current block of code. You can still write it as the
> above.
>
> However, this optimisation was disabled on ARM apparantly because
> it was very hard to for people to get correct - if you forgot the
> %?, you need to add a "cc" clobber, and if you forget that as well
> you might get unconditional behaviour.

Yes, that is an error prone syntax to use, that's for sure.
That is, incidentally, why I said the condition test should
be an explicit input arg to the asm.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/