This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug optimization/14040] New: ARM cross compiler: error: could not split insn
- From: "phillim2 at comcast dot net" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 6 Feb 2004 05:40:31 -0000
- Subject: [Bug optimization/14040] New: ARM cross compiler: error: could not split insn
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
gcc spits out the following error:
ni_morphology.c: In function `NI_BinaryErosion':
ni_morphology.c:277: error: could not split insn
(insn 3632 1279 3633 (nil) (cond_exec (ne (reg:CC 24 cc)
(const_int 0 [0x0]))
(set (reg:SI 2 r2)
(plus:SI (reg/f:SI 13 sp)
(const_int 3388 [0xd3c])))) 507 {ffssi2+1} (nil)
(nil))
ni_morphology.c:277: internal compiler error: in final_scan_insn, at final.c:2793
gcc cmdline to reproduce:
/opt/cross/bin/arm-linux-gcc -fexpensive-optimizations -fPIC ni_prep2.c -o
ni_prep2.o -fif-conversion2 -fcse-follow-jumps -frerun-cse-after-loop
-fomit-frame-pointer
Preprocessed file to reproduce error:
http://www.linuxtr.net/gcc/ni_prep2.c
(Apologies for the size of the file, it took me long enough to reduce it this much)
Removal of any one of the above optimizations will allow the compile to complete.
If -O2 is given the compiler will enter an infinite loop and eat memory until it
runs out. strace shows it looping on mmap(65536.....) and getting a new block of
memory for each mmap
Broken Versions: 3.3.2, 3.3.1.
Known Working Versions: 2.95.3
Native i386 gcc works fine, so does x86_64 native.
--
Summary: ARM cross compiler: error: could not split insn
Product: gcc
Version: 3.3.2
Status: UNCONFIRMED
Severity: critical
Priority: P2
Component: optimization
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: phillim2 at comcast dot net
CC: gcc-bugs at gcc dot gnu dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14040