------- Additional Comments From pinskia at gcc dot gnu dot org 2005-02-08 13:49 ------- Fixed on the mainline. We now combine the following RTL to fix the problem: (insn 16 15 17 0 (set (reg:SI 126) (lt:SI (reg:CC 127) (const_int 0 [0x0]))) 382 {*rs6000.md:11380} (insn_list:REG_DEP_TRUE 15 (nil)) (expr_list:REG_DEAD (reg:CC 127) (nil)))
(insn 17 16 21 0 (set (reg:DI 128) (sign_extend:DI (reg:SI 126))) 43 {*rs6000.md:446} (insn_list:REG_DEP_TRUE 16 (nil)) (expr_list:REG_DEAD (reg:SI 126) (nil))) (insn 24 21 30 0 (set (reg/i:DI 3 r3 [ <result> ]) (reg:DI 128)) 312 {*movdi_internal64} (insn_list:REG_DEP_TRUE 17 (nil)) (expr_list:REG_DEAD (reg:DI 128) (nil))) Into: (insn 24 21 30 0 (set (reg/i:DI 3 r3 [ <result> ]) (lt:DI (reg:CC 127) (const_int 0 [0x0]))) 383 {*rs6000.md:11412} (insn_list:REG_DEP_TRUE 15 (nil)) (expr_list:REG_DEAD (reg:CC 127) (nil))) -- What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |FIXED Target Milestone|--- |4.0.0 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16802