diff options
author | Andreas Krebbel <krebbel1@de.ibm.com> | 2007-08-10 17:16:57 +0000 |
---|---|---|
committer | Andreas Krebbel <krebbel@gcc.gnu.org> | 2007-08-10 17:16:57 +0000 |
commit | acbe5496b3160137b72217c7afb80f245dc70699 (patch) | |
tree | 76efbc1ba058c1f5b70c4eac5eb34f35ad71c7a6 /gcc | |
parent | 174bd8cad0658aec401a03bfb09edf31545105d5 (diff) | |
download | gcc-acbe5496b3160137b72217c7afb80f245dc70699.zip gcc-acbe5496b3160137b72217c7afb80f245dc70699.tar.gz gcc-acbe5496b3160137b72217c7afb80f245dc70699.tar.bz2 |
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
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/lower-subreg.c | 5 |
2 files changed, 8 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 958765c..f3b16cd 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -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> diff --git a/gcc/lower-subreg.c b/gcc/lower-subreg.c index c61a8b7..4354640 100644 --- a/gcc/lower-subreg.c +++ b/gcc/lower-subreg.c @@ -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; |