On Sun, 2005-11-27 at 03:14, Mike Stump wrote: > On Nov 22, 2005, at 7:52 AM, Richard Earnshaw wrote: > > 3) A volatile load isn't moved across any store that may alias (though > > I'd expect that to be volatile if there's a real risk of aliasning, so > > maybe we could have another dimension in the 'may-alias' test here). > > ? Is this just a restatement of the general rule that one cannot > move a load across a store that may alias? If so, we don't need to > list it here, as it comes under the normal rules of what one may not > do, and sense we don't relist all of them, there isn't any point in > listing any of them.
Possibly, but I think the more interesting observation is listed in parenthesis: Can a volatile access ever alias a non-volatile access? Logic would suggest that a program is unpredictable if written in such a way that permits such aliases to exist, since it would mean a location is being accessed in both non-volatile and volatile manner. R.