------- Comment #2 from rguenth at gcc dot gnu dot org 2010-02-04 10:11 ------- dse1 deletes insn 7 in
(insn 7 6 8 2 t.c:11 (set (mem:SI (reg/f:DI 58 [ p.0 ]) [0 S4 A32]) (const_int 0 [0x0])) 47 {*movsi_1} (nil)) (insn 8 7 9 2 t.c:12 (set (reg/f:DI 63 [ q ]) (mem/u/f/c/i:DI (symbol_ref:DI ("q") [flags 0x2] <var_decl 0x7ffff5ae7140 q>) [0 q+0 S8 A64])) 89 {*movdi_1_rex64} (nil)) (insn 9 8 10 2 t.c:12 (set (reg:SI 64) (mem:SI (reg/f:DI 63 [ q ]) [0 S4 A32])) 47 {*movsi_1} (expr_list:REG_DEAD (reg/f:DI 63 [ q ]) (nil))) (insn 10 9 11 2 t.c:12 (set (mem:SI (reg/f:DI 58 [ p.0 ]) [0 S4 A32]) (reg:SI 64)) 47 {*movsi_1} (expr_list:REG_DEAD (reg:SI 64) (expr_list:REG_DEAD (reg/f:DI 58 [ p.0 ]) (nil)))) The two canonical RTXen that are not detected as conflicting are (mem/u/f/c/i:DI (symbol_ref:DI ("q") [flags 0x2] <var_decl 0x7ffff5ae7140 q>) [0 q+0 S8 A64]) (mem/u/f/c/i:DI (symbol_ref:DI ("p") [flags 0x2] <var_decl 0x7ffff5ae70a0 p>) [0 p+0 S8 A64]) I will have a look. -- rguenth at gcc dot gnu dot org changed: What |Removed |Added ---------------------------------------------------------------------------- AssignedTo|unassigned at gcc dot gnu |rguenth at gcc dot gnu dot |dot org |org Status|NEW |ASSIGNED Last reconfirmed|2010-02-04 10:03:02 |2010-02-04 10:11:02 date| | http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42952