[Bug rtl-optimization/84101] [7/8 Regression] -O3 and -ftree-vectorize trying too hard for function returning trivial pair-of-uint64_t-structure

rguenth at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Tue Jan 30 09:03:00 GMT 2018


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?


More information about the Gcc-bugs mailing list