Bug 21283 - [4.0 regression] ICE with doubles
Summary: [4.0 regression] ICE with doubles
Status: RESOLVED FIXED
Alias: None
Product: gcc
Classification: Unclassified
Component: target (show other bugs)
Version: 4.1.0
: P5 normal
Target Milestone: 4.1.1
Assignee: Not yet assigned to anyone
URL:
Keywords: ice-on-valid-code
Depends on:
Blocks:
 
Reported: 2005-04-29 12:31 UTC by Nathan Sidwell
Modified: 2007-01-18 03:53 UTC (History)
1 user (show)

See Also:
Host:
Target: fr30-none-elf
Build:
Known to work: 3.4.5 4.1.1 4.2.0
Known to fail: 4.0.1
Last reconfirmed: 2005-05-22 21:06:04


Attachments
testcase from newlib (79 bytes, text/plain)
2005-04-29 12:32 UTC, Nathan Sidwell
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Nathan Sidwell 2005-04-29 12:31:52 UTC
the attached program, distilled from newlib's k_standard.c file, causes
an ICE at any optimization level.

nathan@garibaldi:270>./cc1 bug.i -quiet
bug.i: In function 'Foo':
bug.i:5: internal compiler error: in gen_lowpart_general, at rtlhooks.c:59
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://gcc.gnu.org/bugs.html> for instructions.
Comment 1 Nathan Sidwell 2005-04-29 12:32:39 UTC
Created attachment 8763 [details]
testcase from newlib
Comment 2 Serge Belyshev 2005-05-22 21:06:04 UTC
Confirmed.
Comment 3 Roger Sayle 2006-04-23 17:44:49 UTC
Subject: Bug 21283

Author: sayle
Date: Sun Apr 23 17:44:46 2006
New Revision: 113198

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=113198
Log:

	PR target/21283
	* config/fr30/fr30.md (define_split): Avoid calling gen_lowpart on
	a SImode SUBREG of a floating point register after no_new_pseudos.


Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/config/fr30/fr30.md

Comment 4 roger 2006-04-23 21:27:25 UTC
This has now been fixed on mainline.  I've confirmed that a cross-compiler
to fr30-elf can currently compile all of newlib without problems.  If anyone
has an fr30 board or a simulator to check the testsuite that would be great.
Comment 5 Roger Sayle 2006-04-24 05:31:32 UTC
Subject: Bug 21283

Author: sayle
Date: Mon Apr 24 05:31:28 2006
New Revision: 113215

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=113215
Log:

	PR target/21283
	* config/fr30/fr30.md (define_split): Avoid calling gen_lowpart on
	a SImode SUBREG of a floating point register after no_new_pseudos.


Modified:
    branches/gcc-4_1-branch/gcc/ChangeLog
    branches/gcc-4_1-branch/gcc/config/fr30/fr30.md

Comment 6 roger 2006-04-26 18:59:48 UTC
This has now been fixed on the 4.1 branch.  Unfortunately, its difficult to
determine whether this patch is still needed on the 4.0 branch, or if other
backports are also required, as libiberty and top-level configure are now incompatible between the gcc-4_0-branch and mainline "src", making an uberbaum build of a 4.0 cross-compiler almost impossible.
Comment 7 Mark Mitchell 2006-05-25 02:36:01 UTC
Will not be fixed in 4.1.1; adjust target milestone to 4.1.2.
Comment 8 Andrew Pinski 2006-05-25 16:31:58 UTC
Actually this was fixed in 4.1.1 so changing the milestone again.
Comment 9 Gabriel Dos Reis 2007-01-18 03:53:44 UTC
Fixed in GCC-4.1.1
Won't fix for GCC-4.0.x