From: Uros Bizjak Date: Wed, 6 Feb 2008 10:45:29 +0000 (+0100) Subject: re PR target/35083 (ICE: in extract_insn, at recog.c:1990) X-Git-Tag: releases/gcc-4.3.0~254 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=cc8d36a15a4dbbf65efc38edbce5660518ea239a;p=thirdparty%2Fgcc.git re PR target/35083 (ICE: in extract_insn, at recog.c:1990) PR target/35083 * optabs.c (expand_float): Do not check for decimal modes when expanding unsigned integer through signed conversion. From-SVN: r132144 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 871e6ddd8584..c6631740992d 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2008-02-06 Uros Bizjak + + PR target/35083 + * optabs.c (expand_float): Do not check for decimal modes when + expanding unsigned integer through signed conversion. + 2008-02-06 Nick Clifton * config/stormy16/stormy16.md (eqbranchsi): Replace a match_dup diff --git a/gcc/optabs.c b/gcc/optabs.c index 448b799cb091..11df818fb891 100644 --- a/gcc/optabs.c +++ b/gcc/optabs.c @@ -1,6 +1,6 @@ /* Expand the basic unary and binary arithmetic operations, for GNU compiler. Copyright (C) 1987, 1988, 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. @@ -5144,10 +5144,8 @@ expand_float (rtx to, rtx from, int unsignedp) } /* Unsigned integer, and no way to convert directly. Convert as signed, - then unconditionally adjust the result. For decimal float values we - do this only if we have already determined that a signed conversion - provides sufficient accuracy. */ - if (unsignedp && (can_do_signed || !DECIMAL_FLOAT_MODE_P (GET_MODE (to)))) + then unconditionally adjust the result. */ + if (unsignedp && can_do_signed) { rtx label = gen_label_rtx (); rtx temp;