Messages in this thread | | | Subject | Re: gcc 4.5.1 / as 2.20.51.0.11 miscompiling drivers/char/i8k.c ? | From | Paul Koning <> | Date | Mon, 8 Nov 2010 06:47:59 -0500 |
| |
On Nov 8, 2010, at 6:20 AM, Richard Guenther wrote:
> On Mon, Nov 8, 2010 at 12:20 PM, Andi Kleen <andi@firstfloor.org> wrote: >> Richard Guenther <richard.guenther@gmail.com> writes: >> >>> On Mon, Nov 8, 2010 at 12:03 AM, Andi Kleen <andi@firstfloor.org> wrote: >>>> Andreas Schwab <schwab@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
| |