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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|ra                          |
   Last reconfirmed|2020-05-16 00:00:00         |2021-8-22
          Component|middle-end                  |rtl-optimization

--- Comment #2 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
The DI mode comes from combine:

Trying 7 -> 8:
    7: r98:SI=r96:SF#0 0>>0x14
    8: r99:SI=r98:SI&0x7ff
      REG_DEAD r98:SI
Successfully matched this instruction:
(set (subreg:DI (reg:SI 99) 0)
    (zero_extract:DI (subreg:DI (reg/v:SF 96 [ y ]) 0)
        (const_int 11 [0xb])
        (const_int 20 [0x14])))
allowing combination of insns 7 and 8
original costs 16 + 4 = 20
replacement cost 16
deferring deletion of insn with uid = 7.
modifying insn i3     8: r99:SI#0=zero_extract(r96:SF#0,0xb,0x14)
deferring rescan insn with uid = 8.

Reply via email to