http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55981
--- Comment #10 from Uros Bizjak <ubizjak at gmail dot com> 2013-01-15 20:01:41 UTC --- (In reply to comment #9) > (In reply to comment #4) > > (In reply to comment #2) > > > Btw, the same happens if atomic is replaced with "volatile unsigned long > > > y" - > > > which does not violate the standard, but may be considered undesirable by > > > some. > > > I don't have a strong opinion about this. > > > > This really does need to be fixed in the "volatile unsigned long y" case, or > > device drivers storing constants to device registers will break. So please > > fix > > this for volatiles as well as atomics. > > Please open a new PR for this. It looks to me that volatiles should not be allowed as offsetable operands, but let's discuss this in a separate PR.