Hi, from the recent discussion on gcc@gcc.gnu.org I became aware that the so called "basic asm" which is an asm without colon, has no way to specify the clobber list. That makes it rather useless, because everyone would expect it to be able to use at least global memory. Furthermore there is a target hook that allows extended asm to implicitly clobber the "cc" register on certain targets. This hook should also be called for basic asm, because nobody would expect to have to preserve that on a basic asm. But I would say it is naturally clear that if the basic asm would clobber any general purpose register the previous value must be pushed by the assembler code and restored at the end. Furthermore there is a documented use for asm(""): The empty assembler string is used to make a function volatile, thus calls can not be optimized away. But I think it is not necessary to make this clobber anything, nor should it be an instruction scheduling barrier, as it used to be in the past. The attached patch implements this by introducing a new parallel block for asm_input with clobbers. I believe it is quite safe, and will not break any existing code. It was boot-strapped and regression-tested on x86_64-pc-linux-gnu. Is it OK for trunk? ... or should I wait for the next stage1? Thanks Bernd.