Bug 64408 - fr30-elf ICE in extract_insn, at recog.c:2202
Summary: fr30-elf ICE in extract_insn, at recog.c:2202
Status: RESOLVED FIXED
Alias: None
Product: gcc
Classification: Unclassified
Component: target (show other bugs)
Version: 4.9.2
: P3 normal
Target Milestone: ---
Assignee: Not yet assigned to anyone
URL:
Keywords: ice-on-valid-code
Depends on:
Blocks:
 
Reported: 2014-12-25 20:49 UTC by Yaakov Selkowitz
Modified: 2015-02-24 19:31 UTC (History)
2 users (show)

See Also:
Host: x86_64-cygwin
Target: fr30-elf
Build: x86_64-cygwin
Known to work:
Known to fail:
Last reconfirmed:


Attachments
preprocessed source (9.19 KB, text/plain)
2014-12-25 20:49 UTC, Yaakov Selkowitz
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Yaakov Selkowitz 2014-12-25 20:49:02 UTC
Created attachment 34334 [details]
preprocessed source

While compiling newlib-2.2.0 with gcc-4.9.2 --target=fr30-elf:

fr30-elf-gcc -B/usr/src/ports/cross-newlib/cross-newlib-2.2.0-1.x86_64/build/fr30-elf/fr30-elf/newlib/ -isystem /usr/src/ports/cross-newlib/cross-newlib-2.2.0-1.x86_64/build/fr30-elf/fr30-elf/newlib/targ-include -isystem /usr/src/ports/cross-newlib/cross-newlib-2.2.0-1.x86_64/src/newlib-2.2.0/newlib/libc/include -B/usr/src/ports/cross-newlib/cross-newlib-2.2.0-1.x86_64/build/fr30-elf/fr30-elf/libgloss/fr30 -L/usr/src/ports/cross-newlib/cross-newlib-2.2.0-1.x86_64/build/fr30-elf/fr30-elf/libgloss/libnosys -L/usr/src/ports/cross-newlib/cross-newlib-2.2.0-1.x86_64/src/newlib-2.2.0/libgloss/fr30    -DPACKAGE_NAME=\"newlib\" -DPACKAGE_TARNAME=\"newlib\" -DPACKAGE_VERSION=\"2.2.0\" -DPACKAGE_STRING=\"newlib\ 2.2.0\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE_URL=\"\" -I. -I/usr/src/ports/cross-newlib/cross-newlib-2.2.0-1.x86_64/src/newlib-2.2.0/newlib/libc/stdlib -fno-builtin      -g -Os -c -o lib_a-dtoa.o `test -f 'dtoa.c' || echo '/usr/src/ports/cross-newlib/cross-newlib-2.2.0-1.x86_64/src/newlib-2.2.0/newlib/libc/stdlib/'`dtoa.c
/usr/src/ports/cross-newlib/cross-newlib-2.2.0-1.x86_64/src/newlib-2.2.0/newlib/libc/stdlib/dtoa.c: In function ‘_dtoa_r’:
/usr/src/ports/cross-newlib/cross-newlib-2.2.0-1.x86_64/src/newlib-2.2.0/newlib/libc/stdlib/dtoa.c:862:1: error: unrecognizable insn:
 }
 ^
(insn 211 210 212 2 (set (reg/v:DI 326 [ d ])
        (subreg:DI (reg/v:DF 331 [ _d ]) 0)) /usr/src/ports/cross-newlib/cross-newlib-2.2.0-1.x86_64/src/newlib-2.2.0/newlib/libc/stdlib/dtoa.c:236 -1
     (nil))
/usr/src/ports/cross-newlib/cross-newlib-2.2.0-1.x86_64/src/newlib-2.2.0/newlib/libc/stdlib/dtoa.c:862:1: internal compiler error: in extract_insn, at recog.c:2202
Comment 1 Nick Clifton 2015-02-04 13:42:58 UTC
Author: nickc
Date: Wed Feb  4 13:42:26 2015
New Revision: 220400

URL: https://gcc.gnu.org/viewcvs?rev=220400&root=gcc&view=rev
Log:
	PR target/64408
	* config/fr30/predicates.md (di_operand): Add SUBREG to the list
	of accepted codes.
	(nonimmediate_di_operand): Likewise.

Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/config/fr30/predicates.md
Comment 2 Nick Clifton 2015-02-04 13:43:36 UTC
Fixed by:

https://gcc.gnu.org/ml/gcc-patches/2015-02/msg00247.html
Comment 3 Yaakov Selkowitz 2015-02-04 17:31:17 UTC
(In reply to Nick Clifton from comment #2)
> Fixed by:
> 
> https://gcc.gnu.org/ml/gcc-patches/2015-02/msg00247.html

Fix confirmed with 4.9.2; thanks.
Comment 4 Jeffrey A. Law 2015-02-24 19:31:57 UTC
Resolved long ago by Nick's fix.