lower-subreg.c (resolve_shift_zext): Don't adjust src_reg_num for wordmode operands.

2007-08-10  Andreas Krebbel  <krebbel1@de.ibm.com>

	* lower-subreg.c (resolve_shift_zext): Don't adjust
	src_reg_num for wordmode operands.

From-SVN: r127342
This commit is contained in:
Andreas Krebbel 2007-08-10 17:16:57 +00:00 committed by Andreas Krebbel
parent 174bd8cad0
commit acbe5496b3
2 changed files with 8 additions and 2 deletions

View File

@ -1,3 +1,8 @@
2007-08-10 Andreas Krebbel <krebbel1@de.ibm.com>
* lower-subreg.c (resolve_shift_zext): Don't adjust
src_reg_num for wordmode operands.
2007-08-10 Sandra Loosemore <sandra@codesourcery.com>
David Ung <davidu@mips.com>

View File

@ -1043,11 +1043,12 @@ resolve_shift_zext (rtx insn)
endian machines this is register 0. */
src_reg_num = GET_CODE (op) == LSHIFTRT ? 1 : 0;
if (WORDS_BIG_ENDIAN)
if (WORDS_BIG_ENDIAN
&& GET_MODE_SIZE (GET_MODE (op_operand)) > UNITS_PER_WORD)
src_reg_num = 1 - src_reg_num;
if (GET_CODE (op) == ZERO_EXTEND)
dest_reg_num = src_reg_num;
dest_reg_num = WORDS_BIG_ENDIAN ? 1 : 0;
else
dest_reg_num = 1 - src_reg_num;