On Nov 8, 2010, at 6:20 AM, Richard Guenther wrote:
> On Mon, Nov 8, 2010 at 12:20 PM, Andi Kleen <[email protected]> wrote:
>> Richard Guenther <[email protected]> writes:
>>
>>> On Mon, Nov 8, 2010 at 12:03 AM, Andi Kleen <[email protected]> wrote:
>>>> Andreas Schwab <[email protected]> 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