https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77399
--- Comment #4 from Richard Biener <rguenth at gcc dot gnu.org> --- Note that this is a patten matching issue that could be quite easily fixed in tree-ssa-forwprop.c:simplify_vector_constructor (which currently recognizes a VEC_PERM but it should be easy to handle intermediate conversions meaning to handle even pack-/unpack-style permuted (float-int) conversions). Just to give a hint where this can be handled. [yeah, match.pd but there we'd need a way to handle variable-length stuff like CONSTRUCTORs first..., see the "awkward" handling of BIT_FIELD_REF <CONSTRUCTOR, ..> there]