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
This commit is contained in:
Jakub Jelinek 2008-11-21 14:47:05 +01:00 committed by Jakub Jelinek
parent b15b7ef84d
commit 231a1e5243
2 changed files with 8 additions and 2 deletions

View File

@ -1,3 +1,9 @@
2008-11-21 Jakub Jelinek <jakub@redhat.com>
PR target/38208
* reload1.c (eliminate_regs_in_insn): For trunc_int_for_mode use
mode of PLUS, not mode of the eliminated register.
2008-11-21 Uros Bizjak <ubizjak@gmail.com>
* config/i386/mmx.md (mmx_nand<mode>3): Rename to mmx_andnot<mode>3.

View File

@ -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)),