This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: basic asm and memory clobbers


> On Nov 20, 2015, at 3:01 PM, Jeff Law <law@redhat.com> wrote:
> 
> On 11/20/2015 07:56 AM, Segher Boessenkool wrote:
> 
>>>>> When basic asm changes, I expect that having a way to "just do what it
>>>>> used to do" is going to be useful for some people.
>>>> 24414 says the documented behaviour hasn't been true for at least
>>>> fourteen years.  It isn't likely anyone is relying on that behaviour.
>>> 
>>> ?
>> 
>> 24414 says these things haven't worked since at least 2.95.3, which is
>> fourteen years old now.
> That's not a good reason to leave things as-is.
> 
> The problem is that optimizers continue to improve.   So an old-style asm that worked in the past may mysteriously start failing as folks move forward with their compiler -- because we haven't properly implemented the right semantics of old-style asms, which is in part because certain aspects were never documented properly and partly because of reload issues :(
> 
> If we keep old style asms, then we need to properly document what their behaviour is supposed to be, and continue to fix bugs where we do not honor that behaviour.

Yes.  I know I've run into cases before where certain documented properties were not honored. I can't find the details right now; I think it was "old style asm always behaves as if marked 'volatile'. "

	paul


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]