https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118916
Andrew Pinski <pinskia at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |RESOLVED Resolution|--- |INVALID --- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> --- There is no ignoring volatile here since the exact memory locations are written. Rather you have a memory location which needs to be written using an exact instruction which has no post increment. Thus would mean the definition of __raw_writel is incorrect and you have to use inline-asm to not get the increment for the address.