--- a/gcc/config/avr32/avr32.c +++ b/gcc/config/avr32/avr32.c @@ -6501,12 +6501,23 @@ avr32_reorg_optimization (void) continue; set = single_set (scan); - if (set && rtx_equal_p (src_reg, SET_DEST (set))) - { - link = scan; - break; - } - + // Fix for bug #11763 : the following if condition + // has been modified and else part is included to + // set the link to NULL_RTX. + // if (set && rtx_equal_p (src_reg, SET_DEST (set))) + if (set && (REGNO(src_reg) == REGNO(SET_DEST(set)))) + { + if (rtx_equal_p (src_reg, SET_DEST (set))) + { + link = scan; + break; + } + else + { + link = NULL_RTX; + break; + } + } }