After some internal discussions, we concluded that moving non-memory-access and non-side-effect instructions around memory barrier intrinsics is fine in almost any typical situation. In the rare occasions where reordering is undesirable, the programmer should use inline asm instead. Thus I'm dropping this RFC. Thanks for your comments. -Yi