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

Andrew Pinski <pinskia at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           See Also|                            |https://gcc.gnu.org/bugzill
                   |                            |a/show_bug.cgi?id=85160
         Resolution|---                         |FIXED
             Status|NEW                         |RESOLVED
   Target Milestone|---                         |9.0

--- Comment #6 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
Fixed in GCC 9 with 2->2 combing being done now (r9-2064-gc4c5ad1d6d1e1e1fe7a):

Trying 11 -> 12:
   11: r96:SI=-r115:SI
      REG_DEAD r115:SI
   12: r108:SI=r96:SI*r103:SI
Failed to match this instruction:
(parallel [
        (set (reg:SI 108)
            (mult:SI (neg:SI (reg:SI 115))
                (reg/v:SI 103 [ cD.4384 ])))
        (set (reg/v:SI 96 [ aD.4382 ])
            (neg:SI (reg:SI 115)))
    ])
Failed to match this instruction:
(parallel [
        (set (reg:SI 108)
            (mult:SI (neg:SI (reg:SI 115))
                (reg/v:SI 103 [ cD.4384 ])))
        (set (reg/v:SI 96 [ aD.4382 ])
            (neg:SI (reg:SI 115)))
    ])
Successfully matched this instruction:
(set (reg/v:SI 96 [ aD.4382 ])
    (neg:SI (reg:SI 115)))
Successfully matched this instruction:
(set (reg:SI 108)
    (mult:SI (neg:SI (reg:SI 115))
        (reg/v:SI 103 [ cD.4384 ])))
allowing combination of insns 11 and 12
original costs 4 + 12 = 16
replacement costs 4 + 12 = 16
modifying insn i2    11: r96:SI=-r115:SI
deferring rescan insn with uid = 11.
modifying insn i3    12: r108:SI=-r115:SI*r103:SI
      REG_DEAD r115:SI
deferring rescan insn with uid = 12.

Reply via email to