------- Comment #1 from pinskia at gcc dot gnu dot org 2006-06-01 17:21 ------- Confirmed, this is a RA issue. Before register allocation: (insn:HI 10 7 11 2 (set (reg:SI 63) (const_int 3 [0x3])) 34 {*movsi_1} (nil) (expr_list:REG_EQUIV (const_int 3 [0x3]) (nil)))
(insn:HI 11 10 15 2 (parallel [ (set (reg:SI 61) (udiv:SI (reg/v:SI 59 [ val ]) (reg:SI 63))) (set (reg:SI 62) (umod:SI (reg/v:SI 59 [ val ]) (reg:SI 63))) (clobber (reg:CC 17 flags)) ]) 197 {udivmodsi4} (insn_list:REG_DEP_TRUE 6 (insn_list:REG_DEP_TRUE 10 (nil))) (expr_list:REG_UNUSED (reg:CC 17 flags) (expr_list:REG_UNUSED (reg:SI 62) (expr_list:REG_DEAD (reg/v:SI 59 [ val ]) (expr_list:REG_DEAD (reg:SI 63) (expr_list:REG_UNUSED (reg:CC 17 flags) (expr_list:REG_UNUSED (reg:SI 62) (nil)))))))) ----------- After: (insn:HI 10 7 30 2 (set (reg:SI 1 dx [63]) (const_int 3 [0x3])) 34 {*movsi_1} (nil) (expr_list:REG_EQUIV (const_int 3 [0x3]) (nil))) (insn 30 10 11 2 (set (reg:SI 2 cx) (reg:SI 1 dx [63])) 34 {*movsi_1} (nil) (nil)) (insn:HI 11 30 15 2 (parallel [ (set (reg:SI 0 ax [61]) (udiv:SI (reg/v:SI 0 ax [orig:59 val ] [59]) (reg:SI 2 cx))) (set (reg:SI 1 dx [62]) (umod:SI (reg/v:SI 0 ax [orig:59 val ] [59]) (reg:SI 2 cx))) (clobber (reg:CC 17 flags)) ]) 197 {udivmodsi4} (insn_list:REG_DEP_TRUE 6 (insn_list:REG_DEP_TRUE 10 (nil))) (nil)) -- pinskia at gcc dot gnu dot org changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Ever Confirmed|0 |1 Keywords| |ra Last reconfirmed|0000-00-00 00:00:00 |2006-06-01 17:21:06 date| | http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27856