https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104582
--- Comment #11 from Jakub Jelinek <jakub at gcc dot gnu.org> --- True. So another option is to try to undo some of those short vectorization cases during isel, expansion or later, though e.g. for the negdi2 case it will go already during expansion into memory.