No, no, no.
> 5.1.2.3
> 2 Accessing a volatile object <...> are all side effects.
Yes, modifying is a form of access, but too is a read. Which means one can READ hardware register in a loop and expect it to change without compiler optimizing that out.