backport: re PR target/39767 (libgcc2.c:562: internal compiler error: RTL check: expected code 'reg', have 'ashiftrt' in rhs_regno, at rtl.h:1005)

Backport from mainline:
	PR target/39767
	* config/sh/predicates.md (arith_operand): Check if the operand
	of TRUNCATE is a REG.

From-SVN: r146218
This commit is contained in:
Kaz Kojima 2009-04-16 23:09:53 +00:00
parent ff0ab33a9d
commit 40b377be74
2 changed files with 8 additions and 0 deletions

View File

@ -1,3 +1,10 @@
2009-04-16 Kaz Kojima <kkojima@gcc.gnu.org>
Backport from mainline:
PR target/39767
* config/sh/predicates.md (arith_operand): Check if the operand
of TRUNCATE is a REG.
2009-04-15 Richard Guenther <rguenther@suse.de>
Backport from mainline:

View File

@ -112,6 +112,7 @@
|| satisfies_constraint_Css (op))
return 1;
else if (GET_CODE (op) == TRUNCATE
&& GET_CODE (XEXP (op, 0)) == REG
&& ! system_reg_operand (XEXP (op, 0), VOIDmode)
&& (mode == VOIDmode || mode == GET_MODE (op))
&& (GET_MODE_SIZE (GET_MODE (op))