Messages in this thread | | | Date | Mon, 8 Nov 2010 13:20:01 +0100 (CET) | From | Michael Matz <> | Subject | Re: gcc 4.5.1 / as 2.20.51.0.11 miscompiling drivers/char/i8k.c ? |
| |
Hi,
On Mon, 8 Nov 2010, Andi Kleen 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.
You know the drill: testcase -> gcc.gnu.org/bugzilla/
(In particular up to now it's only speculation in some forum that the asm really is optimized away, which I agree would be a bug, or if it isn't merely that regs->eax isn't reloaded after the asm(), which would be caused by the problem Andreas mentioned)
Ciao, Michael.
| |