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 ----