https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112773
--- Comment #9 from Robin Dapp <rdapp at gcc dot gnu.org> --- Ok, it's not the fold_extract_last expander. It just appeared that way here because I disabled some other things. What we want to do is extract the last element from a vector. This works as long as we have a loop length (or a loop mask) as we can defer that to vec_extract with element index len - 1. In the epilog here we don't have either so the only workaround I can quickly think of is allowing a poly_int constant as vec_extract index (where we know the vector length and can extract the proper thing with a bit of extra work). Richi, Richard: Is that somehow viable or am I on the wrong track?