https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115261
--- Comment #2 from Stefan Schulze Frielinghaus <stefansf at gcc dot gnu.org> --- Thanks for the pointer. Indeed, adding an extendv2siv2di pattern solves this and the code looks optimal then. I will come up with a patch.