https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96327
--- Comment #4 from Paul McKenney <paulmckrcu at gmail dot com> --- Bug 3506 has since been fixed, at least for the example shown in this bug report, as you can see if you look at the godbolt, which shows that both compilers generate a single addl instruction, which is exactly what the submitter of 3506 requested. This bug is different, instead asking that the calculation of the address of the volatile object not be split into multiple instructions.