[Bug rtl-optimization/17387] Redundant instructions in loop optimization

steven at gcc dot gnu dot org gcc-bugzilla@gcc.gnu.org
Thu Jan 27 01:43:00 GMT 2005


------- Additional Comments From steven at gcc dot gnu dot org  2005-01-27 01:43 -------
GCC can't see that this is a NOP because of the zero_extend: 
 
#(insn 34 30 37 (set (reg:DI 0 ax [orig:76 D.1460 ] [76]) 
#        (zero_extend:DI (reg:SI 0 ax [orig:70 D.1460 ] [70]))) 111 
{zero_extendsidi2_rex64} (insn_list:REG_DEP_ANTI 30 (insn_list:REG_DEP_TRUE 29 
(nil))) 
#    (nil)) 
        mov     %eax, %eax      # D.1460, D.1460        # 34    
zero_extendsidi2_rex64/1        [length = 3] 
 
Perhaps we should have a peephole2 for this.  I'm curious why we can not 
eliminate the move earlier on, though. 
 
 

-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17387



More information about the Gcc-bugs mailing list