https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88284
sandra at gcc dot gnu.org changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |sandra at gcc dot gnu.org --- Comment #1 from sandra at gcc dot gnu.org --- The current behavior is intentional. GCC treats I/O peripheral memory as volatile, so accesses are not re-ordered with respect to other instructions.