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

Georg-Johann Lay <gjl at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
      Known to fail|                            |13.1.0
                 CC|                            |gjl at gcc dot gnu.org

--- Comment #16 from Georg-Johann Lay <gjl at gcc dot gnu.org> ---
...also from the combine dump, combine hallucinates about an insn that does not
exist:

Trying 11 -> 15:
   11: {r54:SI=udiv(r49:SI,r56:SI);r55:SI=umod(r49:SI,r56:SI);clobber
r18:SI;clobber r22:SI;clobber r26:HI;clobber r30:HI;}
      REG_UNUSED r30:HI
      REG_UNUSED r26:HI
      REG_UNUSED r22:SI
      REG_UNUSED r18:SI
   15: r49:SI=r54:SI
      REG_DEAD r54:SI
Successfully matched this instruction:
(parallel [
        (set (reg/v:SI 49 [ n ])
            (udiv:SI (reg/v:SI 49 [ n ])
                (reg:SI 56)))
        (set (reg:SI 55)
            (umod:SI (reg/v:SI 49 [ n ])
                (reg:SI 56)))
    ])

EMERGENCY DUMP:

Such an insn does not exist, because only versoins with hard-reg clobbers exist
which represent the transparent libcall to __udivmodsi4.

The "emergency dump" then shows the non-existing udiv and umod insns as of
comment 15.

Reply via email to