volatile and R/M/W operations
Robert Dewar
dewar@adacore.com
Mon Dec 3 20:44:00 GMT 2007
Richard Kenner wrote:
>>> t1 = y | 2;
>>> y = t1;
>>>
>>> are very hard to tell apart at the RTL level. Though it's clear that
>>> a single instruction might best match the expect semantics of the former,
>>> it's a lot less clear that it would for the latter.
>> I think it would still be OK for the latter, why not?
>
> There was certainly a time when it would not, because a R/M/W cycle on
> a device register meant a different thing that a read followed by a write
> and the latter is more clearly what the above is supposed to represent.
>
> Whether there is still such hardware around is another question, but
> the point is that whether you or I THINK it would be OK really isn't
> the issue when talking about legacy code.
What is interesting is whether this translation is appropriate for
modern Intel architecture chips, and as far as I know the answer
is yes.
More information about the Gcc
mailing list