https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89582
Richard Biener <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Target| |x86_64-*-* Status|UNCONFIRMED |NEW Last reconfirmed| |2019-03-05 CC| |rguenth at gcc dot gnu.org Blocks| |53947 Depends on| |84101 Ever confirmed|0 |1 --- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> --- There's a duplicate for this (or slightly different testcases with the same underlying issue). The vectorizer knows nothing about the target ABI and assumes the arguments reside in memory while they are actually passed in two %xmm registers each. Same for the return value. PR84101 is one of the related PRs. Referenced Bugs: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=53947 [Bug 53947] [meta-bug] vectorizer missed-optimizations https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84101 [Bug 84101] [7/8/9 Regression] -O3 and -ftree-vectorize trying too hard for function returning trivial pair-of-uint64_t-structure