diff options
author | Richard Biener <rguenther@suse.de> | 2024-01-29 10:24:39 +0100 |
---|---|---|
committer | Richard Biener <rguenther@suse.de> | 2024-01-29 14:25:10 +0100 |
commit | 0f7945417f913c85bd556904c0c4e7bf77793488 (patch) | |
tree | 24700b01ee855989ea99bc6a68ddf6cff989ed31 /gcc/tree-vect-loop-manip.cc | |
parent | 96bc048d78f804bac0fa7b2ca3b6dd3a04c68217 (diff) | |
download | gcc-0f7945417f913c85bd556904c0c4e7bf77793488.zip gcc-0f7945417f913c85bd556904c0c4e7bf77793488.tar.gz gcc-0f7945417f913c85bd556904c0c4e7bf77793488.tar.bz2 |
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.
Diffstat (limited to 'gcc/tree-vect-loop-manip.cc')
0 files changed, 0 insertions, 0 deletions