diff options
author | Jakub Jelinek <jakub@redhat.com> | 2008-11-21 14:47:05 +0100 |
---|---|---|
committer | Jakub Jelinek <jakub@gcc.gnu.org> | 2008-11-21 14:47:05 +0100 |
commit | 231a1e524316f72bebf2b22eebb4861aaf170fca (patch) | |
tree | 535ccfa29f6397740a396ac3fd04c226cb94b85a /gcc/reload1.c | |
parent | b15b7ef84d1c9f2f856e6487c4ced86a6da977c7 (diff) | |
download | gcc-231a1e524316f72bebf2b22eebb4861aaf170fca.zip gcc-231a1e524316f72bebf2b22eebb4861aaf170fca.tar.gz gcc-231a1e524316f72bebf2b22eebb4861aaf170fca.tar.bz2 |
re PR target/38208 (gcc.c-torture/compile/20080806-1.c)
PR target/38208
* reload1.c (eliminate_regs_in_insn): For trunc_int_for_mode use
mode of PLUS, not mode of the eliminated register.
From-SVN: r142088
Diffstat (limited to 'gcc/reload1.c')
-rw-r--r-- | gcc/reload1.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/gcc/reload1.c b/gcc/reload1.c index 76175e3..e9ac148 100644 --- a/gcc/reload1.c +++ b/gcc/reload1.c @@ -1,6 +1,6 @@ /* Reload pseudo regs into hard regs for insns that require hard regs. Copyright (C) 1987, 1988, 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998, - 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 + 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. This file is part of GCC. @@ -3299,7 +3299,7 @@ eliminate_regs_in_insn (rtx insn, int replace) { rtx to_rtx = ep->to_rtx; offset += ep->offset; - offset = trunc_int_for_mode (offset, GET_MODE (reg)); + offset = trunc_int_for_mode (offset, GET_MODE (plus_cst_src)); if (GET_CODE (XEXP (plus_cst_src, 0)) == SUBREG) to_rtx = gen_lowpart (GET_MODE (XEXP (plus_cst_src, 0)), |