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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Priority|P3                          |P2
            Summary|[10.3, 11, 12 Regression]   |[10/11/12 Regression] used
                   |used caller-saved register  |caller-saved register not
                   |not preserved across a      |preserved across a call.
                   |call.                       |
           Keywords|                            |ra

--- Comment #30 from Richard Biener <rguenth at gcc dot gnu.org> ---
(In reply to Iain Sandoe from comment #29)
> what is also somewhat peculiar is that replacing the first function in the
> reduced test case with "extern void ___UTF_8_put(char *a, int b);" changes
> the code-gen for the second function.

That might hint at IPA RA which you can try disabling via -fno-ipa-ra which
in turn hints at a target issue.  I'm seeing whether a cross reproduces the
issue on your reduced testcase.

Btw, the GIMPLE optimization change just exposes the issue - it can have no
influence on the used registers.

Reply via email to