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

Jakub Jelinek <jakub at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
            Summary|modulus with input and      |[9/10/11/12 Regression]
                   |output set to a hard        |modulus with input and
                   |register                    |output set to a hard
                   |                            |register
                 CC|                            |jakub at gcc dot gnu.org
   Target Milestone|---                         |9.5

--- Comment #4 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Started with r9-3950-g2f0b80c7a4ab4254f57ba63de26ebb7896e3742d
Does the modsw instruction really need the early-clobber (i.e. does it first
overwrite the result register before reading the input registers)?
Though, even if it doesn't and this particular issue would be fixed by dropping
it, there can be other instructions that really do need the early-clobber.
Before the r9-3950 change, gcc would silently reload the input from r20 to some
other register to honor the early-clobber.
If that is a behavior that is fine for insns other than inline-asm, perhaps the
r9-3950 changes should be done only when reloading inline-asm and nothing else?

Reply via email to