https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93568
--- Comment #5 from CVS Commits <cvs-commit at gcc dot gnu.org> --- The releases/gcc-8 branch has been updated by Peter Bergner <berg...@gcc.gnu.org>: https://gcc.gnu.org/g:e88c006ab2b919913fcdb5a5d9db147f372cd156 commit r8-10049-ge88c006ab2b919913fcdb5a5d9db147f372cd156 Author: Michael Meissner <meiss...@gcc.gnu.org> Date: Sun Feb 23 21:57:11 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.