Here is a patch in case SF did not update sources. ~d
Index: msp430.c =================================================================== RCS file: /cvsroot/mspgcc/gcc/gcc-3.3/gcc/config/msp430/msp430.c,v retrieving revision 1.73 diff -c -3 -p -r1.73 msp430.c *** msp430.c 1 Oct 2003 16:26:44 -0000 1.73 --- msp430.c 15 Oct 2003 16:35:48 -0000 *************** msp430_cc_source (insn, code, x, y) *** 5643,5649 **** --- 5643,5660 ---- enum attr_cc cc; rtx set; rtx src, dst; + rtx x1 = 0; + if(GET_CODE(x) == MEM) + { + x1 = XEXP(x,0); + if(GET_CODE(x1) == PLUS) + { + x1 = XEXP(x1,0); + } + + if(!REG_P(x1)) x1 = 0; + } while (0 != (prev = PREV_INSN (prev))) { *************** msp430_cc_source (insn, code, x, y) *** 5664,5670 **** { /*The one spot by Nick C. */ dst = SET_DEST (set); ! if(dst && rtx_equal_p (x, dst)) return 0; else continue; --- 5675,5682 ---- { /*The one spot by Nick C. */ dst = SET_DEST (set); ! if((dst && rtx_equal_p (x, dst)) || ! (x1 && dst && rtx_equal_p (x1, dst))) return 0; else continue; *************** msp430_umul3_guard (operands, sext) *** 9165,9171 **** { rtx m_mpy = mpy_rtx; rtx m_op2 = op2_rtx; - rtx m_reslo = reslo_rtx; enum machine_mode op0mode = GET_MODE (operands[0]); enum machine_mode op1mode = GET_MODE (operands[1]); rtx r12 = gen_rtx_REG (op1mode, 12); --- 9177,9182 ----