re PR target/51278 (gcc.target/mips/octeon-baddu-1.c fails on the trunk)

gcc/
	PR target/51278
	* config/mips/mips.c (mips_rtx_costs): Handle baddu.

From-SVN: r181763
This commit is contained in:
Richard Sandiford 2011-11-27 10:18:25 +00:00 committed by Richard Sandiford
parent fd2d6b1b16
commit a1c48edc71
2 changed files with 15 additions and 0 deletions

View file

@ -1,3 +1,8 @@
2011-11-27 Richard Sandiford <rdsandiford@googlemail.com>
PR target/51278
* config/mips/mips.c (mips_rtx_costs): Handle baddu.
2011-11-27 Richard Sandiford <rdsandiford@googlemail.com>
* config/mips/mips.c (mips16_unextended_reference_p): Test for BLKmode.

View file

@ -3777,6 +3777,16 @@ mips_rtx_costs (rtx x, int code, int outer_code, int opno ATTRIBUTE_UNUSED,
return false;
case ZERO_EXTEND:
if (outer_code == SET
&& ISA_HAS_BADDU
&& (GET_CODE (XEXP (x, 0)) == TRUNCATE
|| GET_CODE (XEXP (x, 0)) == SUBREG)
&& GET_MODE (XEXP (x, 0)) == QImode
&& GET_CODE (XEXP (XEXP (x, 0), 0)) == PLUS)
{
*total = set_src_cost (XEXP (XEXP (x, 0), 0), speed);
return true;
}
*total = mips_zero_extend_cost (mode, XEXP (x, 0));
return false;