http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52876
Uros Bizjak <ubizjak at gmail dot com> changed: What |Removed |Added ---------------------------------------------------------------------------- Depends on| |52854 --- Comment #6 from Uros Bizjak <ubizjak at gmail dot com> 2012-04-05 10:16:32 UTC --- This is similar issue as PR 52854, but this time: (insn 6 3 7 2 (set (reg/f:DI 64 [ addr ]) (sign_extend:DI (subreg/u:SI (reg/v/f:DI 63 [ addr ]) 0))) pr52876.c:6 122 {*extendsidi2_rex64} (expr_list:REG_DEAD (reg/v/f:DI 63 [ addr ]) (nil))) (insn 7 6 8 2 (parallel [ (set (reg:DI 61 [ li.4 ]) (and:DI (reg/f:DI 64 [ addr ]) (const_int 4294967295 [0xffffffff]))) (clobber (reg:CC 17 flags)) ]) pr52876.c:10 377 {*anddi_1} (expr_list:REG_DEAD (reg/f:DI 64 [ addr ]) (expr_list:REG_UNUSED (reg:CC 17 flags) (nil)))) combine converts this to: Trying 6 -> 7: Successfully matched this instruction: (set (reg:DI 61 [ li.4 ]) (reg/v/f:DI 63 [ addr ])) (note 6 3 7 2 NOTE_INSN_DELETED) (insn 7 6 8 2 (set (reg:DI 61 [ li.4 ]) (reg/v/f:DI 63 [ addr ])) pr52876.c:10 62 {*movdi_internal_rex64} (expr_list:REG_DEAD (reg/v/f:DI 63 [ addr ]) (nil)))