https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93568
--- Comment #4 from CVS Commits <cvs-commit at gcc dot gnu.org> --- The releases/gcc-9 branch has been updated by Peter Bergner <berg...@gcc.gnu.org>: https://gcc.gnu.org/g:428a4feef8594142e5324c0f5cfc8281e43bf75a commit r9-8268-g428a4feef8594142e5324c0f5cfc8281e43bf75a Author: Michael Meissner <meiss...@gcc.gnu.org> Date: Sun Feb 23 18:17:12 2020 -0600 Adjust how variable vector extraction is done. Backport from master 2020-02-03 Michael Meissner <meiss...@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 <meiss...@linux.ibm.com> PR target/93568 * config/rs6000/rs6000.c (get_vector_offset): Fix Q constraint assert to use MEM.