https://gcc.gnu.org/bugzilla/show_bug.cgi?id=126290
Jakub Jelinek <jakub at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |jakub at gcc dot gnu.org
--- Comment #4 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Similarly some arithmetics (e.g. division/modulo or some shifts on x86 can use
particular registers).
I'd say you should in cases like this force the address into a register (using
volatile pointer or asm ("" : "+g" (addr)); etc.