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

H.J. Lu <hjl.tools at gmail dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
          Component|target                      |middle-end

--- Comment #2 from H.J. Lu <hjl.tools at gmail dot com> ---
sibcall is disabled by

              if (known_eq (arg->locate.offset.constant, i))
                {
                  /* Even though they appear to be at the same location,
                     if part of the outgoing argument is in registers,
                     they aren't really at the same location.  Check for
                     this by making sure that the incoming size is the
                     same as the outgoing size.  */
                  if (maybe_ne (arg->locate.size.constant, size_val))
                    sibcall_failure_1 = true;
                }

(gdb) p size_val
$1 = {coeffs = {52}}
(gdb) p arg->locate.size.constant
$2 = {coeffs = {56}}

Reply via email to