https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115261

Richard Biener <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |missed-optimization
            Version|unknown                     |14.1.0
   Target Milestone|---                         |11.5
                 CC|                            |rguenth at gcc dot gnu.org

--- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> ---
I suppose it's

  di_result[0] += si_result[0];
  di_result[1] += si_result[1];

on x86 we do

  vect__5.11_99 = (vector(2) long long int) _100;
  vect__6.12_98 = _29 + vect__5.11_99;

as we have a extendv2siv2di pattern.  It's probably easier to try reproducing
with a testcase not involving varargs but {di,si}_result initialized from
incoming parameters?

Reply via email to