https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113622
--- Comment #18 from GCC Commits <cvs-commit at gcc dot gnu.org> --- The master branch has been updated by Richard Biener <rgue...@gcc.gnu.org>: https://gcc.gnu.org/g:0f7945417f913c85bd556904c0c4e7bf77793488 commit r14-8498-g0f7945417f913c85bd556904c0c4e7bf77793488 Author: Richard Biener <rguent...@suse.de> Date: Mon Jan 29 10:24:39 2024 +0100 middle-end/113622 - handle store with variable index to register The following implements storing to a non-MEM_P with a variable offset. We usually avoid this by forcing expansion to memory but this doesn't work for hard register variables. The solution is to spill and operate on the stack. PR middle-end/113622 * expr.cc (expand_assignment): Spill hard registers if we index them with a variable offset. * gcc.target/i386/pr113622-2.c: New testcase. * gcc.target/i386/pr113622-3.c: Likewise.