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

--- Comment #25 from Aleksei Voitylov <aleksei.voity...@bell-sw.com> ---
(In reply to Richard Biener from comment #22)
> Fixed on trunk.  Can arm people verify?  I checked the DSE dump only.  Bonus
> if you manage to create a testcase for the testsuite failing before, passing
> now.
> 
> The patch is simple enough to backport if it works.

Unfortunately it still fails for arm32. Here is the relevant piece of rtl dump
for dse1:

**scanning insn=21
  mem: (plus:SI (reg/f:SI 125)
    (reg/v:SI 118 [ offset ]))

   after canon_rtx address: (plus:SI (plus:SI (reg/f:SI 102 sfp)
        (reg/v:SI 118 [ offset ]))
    (const_int -8 [0xfffffffffffffff8]))

   after cselib_expand address: (plus:SI (minus:SI (reg/f:SI 102 sfp)
        (reg:SI 116 [ _10 ]))
    (const:SI (plus:SI (symbol_ref:SI ("*.LANCHOR0") [flags 0x182])
            (const_int -8 [0xfffffffffffffff8]))))

   after canon_rtx address: (plus:SI (minus:SI (reg/f:SI 102 sfp)
        (reg:SI 116 [ _10 ]))
    (const:SI (plus:SI (symbol_ref:SI ("*.LANCHOR0") [flags 0x182])
            (const_int -8 [0xfffffffffffffff8]))))
  varying cselib base=11:2037069969 offset = 0
 processing cselib store [0..1)
mems_found = 1, cannot_delete = false

**scanning insn=22
  mem: (plus:SI (reg/f:SI 102 sfp)
    (const_int -8 [0xfffffffffffffff8]))

   after canon_rtx address: (plus:SI (reg/f:SI 102 sfp)
    (const_int -8 [0xfffffffffffffff8]))
  gid=1 offset=-8
 processing const load gid=1[-8..-4)
trying to replace SImode load in insn 22 from SImode store in insn 16
deferring rescan insn with uid = 22.
deferring rescan insn with uid = 90.
 -- replaced the loaded MEM with (reg 135)

Reply via email to