On Nov 8, 2010, at 6:20 AM, Richard Guenther wrote: > On Mon, Nov 8, 2010 at 12:20 PM, Andi Kleen <a...@firstfloor.org> wrote: >> Richard Guenther <richard.guent...@gmail.com> writes: >> >>> On Mon, Nov 8, 2010 at 12:03 AM, Andi Kleen <a...@firstfloor.org> wrote: >>>> Andreas Schwab <sch...@linux-m68k.org> writes: >>>>> >>>>> The asm fails to mention that it modifies *regs. >>>> >>>> It has a memory clobber, that should be enough, no? >>> >>> No. A memory clobber does not cover automatic storage. >> >> That's a separate problem. >> >>> Btw, I can't see a testcase anywhere so I just assume Andreas got >>> it right as usual. >> >> An asm with live inputs and outputs should never be optimized >> way. If 4.5.1 started doing that it's seriously broken. > > Please provide a testcase, such asms can be optimized if the > outputs are dead.
I don't know about 4.5, but I noticed that with 4.6 (trunk), testcasese like gcc.c-torture/compile/20000804-1.c optimize away the asm and all the operand generation except for -O0. paul