]> git.ipfire.org Git - thirdparty/gcc.git/commit
Adjust how variable vector extraction is done.
authorMichael Meissner <meissner@gcc.gnu.org>
Mon, 24 Feb 2020 00:17:12 +0000 (18:17 -0600)
committerPeter Bergner <bergner@linux.ibm.com>
Mon, 24 Feb 2020 00:31:56 +0000 (18:31 -0600)
commit428a4feef8594142e5324c0f5cfc8281e43bf75a
treece82bf904db5a95cb83e0810e4ce77b738974ade
parent48558cdf49373ba508cf8d7fcaaafb383316f644
Adjust how variable vector extraction is done.

Backport from master
2020-02-03  Michael Meissner  <meissner@linux.ibm.com>

* config/rs6000/rs6000.c (get_vector_offset): New helper function
to calculate the offset in memory from the start of a vector of a
particular element.  Add code to keep the element number in
bounds if the element number is variable.
(rs6000_adjust_vec_address): Move calculation of offset of the
vector element to get_vector_offset.
(rs6000_split_vec_extract_var): Do not do the initial AND of
element here, move the code to get_vector_offset.

Fix PR 93568 (thinko)

Backport from master
2020-02-05  Michael Meissner  <meissner@linux.ibm.com>

PR target/93568
* config/rs6000/rs6000.c (get_vector_offset): Fix Q constraint assert
to use MEM.
gcc/ChangeLog
gcc/config/rs6000/rs6000.c