On Mon, 23 Jul 2007, Jeremy Fitzhardinge wrote: > I'm not quite sure what your point is.
Could be a case of terminology confusion ... > The paragraph you quoted is > pretty explicit in saying that volatile doesn't prevent an "asm > volatile" from being interspersed with other code, and the example just > before that is explicit in talking about how to use dependencies to > control the ordering of asm volatiles with respect to surrounding code. Yes, that was the (2). > In fact nothing in that section precludes asm volatiles from being > reordered with respect to each other either; you just have to make sure > your dependency constraints are all correct. The (3) as I had originally written / meant was that multiple instructions in a volatile asm would not get _individually_ interspersed with the rest of the code i.e. be emitted out _consecutively_. I don't think we need any such guarantees for the non-atomic variants of those operations, so it's good to let the compiler have a free hand with what it wants to do, and optimize/combine multiple bitops as necessary / possible, which was the original intention. Satyam - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/