https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84101
Richard Biener <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |ASSIGNED Assignee|unassigned at gcc dot gnu.org |rguenth at gcc dot gnu.org --- Comment #2 from Richard Biener <rguenth at gcc dot gnu.org> --- Created attachment 43287 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=43287&action=edit prototype patch So the following would be a hack to avoid vectorizing this. Hack because it would be confused by intermediate aggregate copies before returning (that will eventually be elided). Hack because for CONCATs we _might_ be able to undo this at expansion, avoiding the spill dance. Likewise for PARALLELs. Likewise properly sized integer regs could be handled with a reg-reg move or be aliased to vector regs. Thus some RTL foo is needed here to sanitize the hard_function_value usage. Anybody?