https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66233
--- Comment #4 from Jakub Jelinek <jakub at gcc dot gnu.org> --- Indeed, in 4.9 this is in tree-ssa-forwprop.c (combine_conversions) and in fold-const.c (fold_unary_loc). Perhaps we need {inter,inside,final}_vec_{int,float,unsignedp} variables too and use them?