https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87532
--- Comment #7 from Bill Schmidt <wschmidt at gcc dot gnu.org> --- To be absolutely clear, code like unsigned int get_auto_n_int ( vector unsigned int a, int n) { return __builtin_vec_extract (a, n); } is invalid. The second argument must be constant. This was not properly documented in the ABI appendix, but should have been.