On Mon, 2007-04-23 at 11:23 -0700, Bryce Schober wrote: > The gcc docs ( http://gcc.gnu.org/onlinedocs/gcc/Extended-Asm.html#Extended-Asm > ) mention "asm volatile", which may help in your case, though the > language of the documentation suggests that it's not guaranteed. I tried this, but there was no change. It wonder (I have no understanding of gcc internals) if dead-code elimination completely removes the unreached paths, and perhaps that should be refined to remove the unreachable code but not the assembler directives (e.g. labels, section changes). But I can easily see this needing to be extended to keeping unreachable code (e.g. for the cache locality trickery I'm attempting, for backpatching later with dynamic instrumentation, and other reasons). If there was only a way to hint that to gcc. Would this be a desired feature ?