Summary: | [3.3/3.4 Regression] ICE converting between double and long double with -msoft-float | ||
---|---|---|---|
Product: | gcc | Reporter: | David Taylor <dctaylor87> |
Component: | target | Assignee: | Jan Hubicka <jh> |
Status: | RESOLVED FIXED | ||
Severity: | critical | CC: | gcc-bugs, jh |
Priority: | P1 | Keywords: | ice-on-valid-code |
Version: | 3.3.1 | ||
Target Milestone: | 3.3.2 | ||
Host: | Target: | i686-pc-linux-gnu | |
Build: | Known to work: | ||
Known to fail: | Last reconfirmed: | 2003-09-05 05:31:16 |
Description
David Taylor
2003-08-26 16:41:13 UTC
Confirmed. A regression on the 3.3 branch and mainline. W. From Phil's regression hunter: Search converges between 2001-06-10-trunk (#23) and 2001-06- 17-trunk (#24). Note this was hard to use Phil's regression hunter because it does not fail for - arch=i386. The regression in PR 12070 was introduced or exposed by this patch: --- gcc/gcc/ChangeLog --- Thu Jun 14 12:44:15 CEST 2001 Jan Hubicka <jh@suse.cz> * i386.c (x86_accumulate_outgoing_args, x86_prologue_using_move, x86_epilogue_using_move): New global variables. (override_options): Enable ACCUMULATE_OUTGOING_ARGS if preferred. (ix86_emit_save_regs_using_mov): New static function. (ix86_expand_prologue, ix86_expand_epilogue): Use moves if preferred. * i386.h (MASK_MMX, MASK_SSE, MASK_SSE2, MASK_128BIT_LONG_DOUBLE, MASK_MIX_SSE_I387): Renumber. (MASK_NO_ACCUMULATE_OUTGOING_ARGS): New. (x86_accumulate_outgoing_args, x86_prologue_using_move, x86_epilogue_using_move): Declare. (TARGET_PROLOGUE_USING_MOVE, TARGET_EPILOGUE_USING_MOVE): New. The regression hunt took place on i686-pc-linux-gnu using the submitter's test case compiled with -msoft-float with cc1. Assigned to Jan because his patch caused the ICE. Subject: Bug 12070 CVSROOT: /cvs/gcc Module name: gcc Branch: gcc-3_3-branch Changes by: hubicka@gcc.gnu.org 2003-09-06 21:26:52 Modified files: gcc : ChangeLog calls.c cfgcleanup.c Log message: PR target/12070 * calls.c (emit_library_call_value_1): Fix saving of BLKmode arguments. PR opt/12082 * cfgcleanup.c (try_simplify_condjump): Avoid unreachable code warning. Patches: http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ChangeLog.diff?cvsroot=gcc&only_with_tag=gcc-3_3-branch&r1=1.16114.2.724&r2=1.16114.2.725 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/calls.c.diff?cvsroot=gcc&only_with_tag=gcc-3_3-branch&r1=1.244.2.10&r2=1.244.2.11 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cfgcleanup.c.diff?cvsroot=gcc&only_with_tag=gcc-3_3-branch&r1=1.68.2.5&r2=1.68.2.6 Subject: Bug 12070 CVSROOT: /cvs/gcc Module name: gcc Changes by: hubicka@gcc.gnu.org 2003-09-06 21:50:22 Modified files: gcc : ChangeLog calls.c cfgcleanup.c Log message: PR target/12070 * calls.c (emit_library_call_value_1): Fix saving of BLKmode arguments. PR opt/12082 * cfgcleanup.c (try_simplify_condjump): Avoid unreachable code warning. Patches: http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ChangeLog.diff?cvsroot=gcc&r1=2.988&r2=2.989 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/calls.c.diff?cvsroot=gcc&r1=1.297&r2=1.298 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cfgcleanup.c.diff?cvsroot=gcc&r1=1.91&r2=1.92 Fixed by the patch above for 3.3.2 and 3.4. |