[Bug rtl-optimization/42952] [4.5 Regression] possible integer wrong code bug

rguenth at gcc dot gnu dot org gcc-bugzilla@gcc.gnu.org
Thu Feb 4 10:11:00 GMT 2010



------- 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



More information about the Gcc-bugs mailing list