https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116611
--- Comment #7 from Richard Biener <rguenth at gcc dot gnu.org> --- (In reply to Robin Dapp from comment #6) > Hmm, the RTL follows the gimple code pretty well and those > vect_array.27[0] = vect__2.17_71; > become subreg-subreg moves. > > vect_array.27 is only dead after the v10 use. > How should it ideally work? Could we recognize the array move as a > tuple/struct move and optimize it away? Maybe we're just missing some > expander for that? But right now we at least do subreg "element" moves. I have no idea how register groups usually are set up. Does the vsseg8e32.v invalidate the register contents?