arm.c (arm_no_early_mul_dep): Handle multiply-subtract.

2008-09-01  Paul Brook  <paul@codesourcery.com>

	gcc/
	* config/arm/arm.c (arm_no_early_mul_dep): Handle multiply-subtract.

From-SVN: r139860
This commit is contained in:
Paul Brook 2008-09-01 12:28:06 +00:00 committed by Paul Brook
parent 840018d9d1
commit 756f763b0b
2 changed files with 13 additions and 2 deletions

View File

@ -1,3 +1,7 @@
2008-09-01 Paul Brook <paul@codesourcery.com>
* config/arm/arm.c (arm_no_early_mul_dep): Handle multiply-subtract.
2008-00-01 Jan Hubicka <jh@suse.cz>
* config/spu/spu.c (spu_expand_block_move) Update call of MOVE_RATIO.

View File

@ -18235,8 +18235,15 @@ arm_no_early_mul_dep (rtx producer, rtx consumer)
op = XVECEXP (op, 0, 0);
op = XEXP (op, 1);
return (GET_CODE (op) == PLUS
&& !reg_overlap_mentioned_p (value, XEXP (op, 0)));
if (GET_CODE (op) == PLUS || GET_CODE (op) == MINUS)
{
if (GET_CODE (XEXP (op, 0)) == MULT)
return !reg_overlap_mentioned_p (value, XEXP (op, 0));
else
return !reg_overlap_mentioned_p (value, XEXP (op, 1));
}
return 0;
}
/* We can't rely on the caller doing the proper promotion when