https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83778
--- Comment #1 from David Malcolm <dmalcolm at gcc dot gnu.org> --- It does look like an issue with r256448, but I haven't been able to reproduce it here yet. There are 3 in-tree copies of get_element_number, in 3 backends; each has 2 users per backend; they all look like: static int get_element_number (tree vec_type, tree arg) { unsigned HOST_WIDE_INT elt, max = TYPE_VECTOR_SUBPARTS (vec_type) - 1; if (!tree_fits_uhwi_p (arg) || (elt = tree_to_uhwi (arg), elt > max)) { error ("selector must be an integer constant in the range 0..%wi", max); return 0; } return elt; } which is going to fail if a location wrapper node around a INTEGER_CST is passed for ARG, rather than a plain INTEGER_CST.