Bug 40577 - ICE on valid code: in extract_insn
Summary: ICE on valid code: in extract_insn
Status: RESOLVED FIXED
Alias: None
Product: gcc
Classification: Unclassified
Component: target (show other bugs)
Version: 4.5.0
: P3 normal
Target Milestone: 4.3.5
Assignee: Uroš Bizjak
URL: http://gcc.gnu.org/ml/gcc-patches/200...
Keywords:
Depends on:
Blocks:
 
Reported: 2009-06-29 00:48 UTC by James McKelvey
Modified: 2009-08-04 19:27 UTC (History)
2 users (show)

See Also:
Host: alphaev56-unknown-linux-gnu
Target: alphaev56-unknown-linux-gnu
Build: alphaev56-unknown-linux-gnu
Known to work:
Known to fail:
Last reconfirmed:


Attachments
Preprocessed source (78.47 KB, application/octet-stream)
2009-06-29 00:49 UTC, James McKelvey
Details
patch to fix the failure (213 bytes, patch)
2009-07-26 10:11 UTC, Uroš Bizjak
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description James McKelvey 2009-06-29 00:48:49 UTC
uname -a
Linux alpha1 2.4.9-40 #1 Mon Sep 23 08:14:02 EDT 2002 alpha unknown

g++ -v
Using built-in specs.
Target: alphaev56-unknown-linux-gnu
Configured with: ../gcc/configure --verbose --enable-languages=c++ --disable-linux-futex --disable-nls --disable-tls --enable-clocale=generic
Thread model: posix
gcc version 4.5.0 20090624 (experimental) (GCC) 

BUILDING:
alias CONFIGURECVS='../gcc/configure --verbose --enable-languages=c++ --disable-linux-futex --disable-nls --disable-tls --enable-clocale=generic 2>&1 | tee clog'

alias BUILD='nice gmake CFLAGS='\'''\'' BOOT_CFLAGS='\'''\'' LIBCFLAGS='\''-g'\'' LIBCXXFLAGS='\''-g'\'' bootstrap 2>&1 | tee log'




alpha1:PD>/usr/local/bin/g++ -c  -O3 -DNDEBUG     -DUSE_INTL=1 -DUSE_MUTEX=1 -findirect-inlining -Winline -pedantic-errors -Werror -ansi -fno-common -Wall -Wold-style-cast -Wsign-promo -Wpointer-arith -Wundef -Wwrite-strings -Winvalid-pch -Woverloaded-virtual -Wcast-qual -Wextra -Wredundant-decls -Wshadow -Wcast-align -Wcomment -fstrict-aliasing -Winit-self -Wmissing-include-dirs -Wswitch-default -Wswitch-enum -Wlogical-op -Wconversion -Wsign-conversion -Wmissing-declarations -Wdeprecated -ftree-switch-conversion -Wuninitialized -Wparentheses -Wunused -fvisibility-inlines-hidden -MMD   -save-temps   -fimplicit-templates -o x.o x.cc


In file included from /usr/local/lib/gcc/alphaev56-unknown-linux-gnu/4.5.0/../../../../include/c++/4.5.0/deque:68:0,
                 from Types.h:40,
                 from PDStl.h:31,
                 from x.cc:1:
/usr/local/lib/gcc/alphaev56-unknown-linux-gnu/4.5.0/../../../../include/c++/4.5.0/bits/deque.tcc: In member function 'void std::deque<_Tp, _Alloc>::_M_insert_aux(std::deque<_Tp, _Alloc>::iterator, std::deque::size_type, const value_type&) [with _Tp = bool, _Alloc = std::allocator<bool>, std::deque<_Tp, _Alloc>::iterator = std::_Deque_iterator<bool, bool&, bool*>, std::deque::size_type = long unsigned int, value_type = bool]':
/usr/local/lib/gcc/alphaev56-unknown-linux-gnu/4.5.0/../../../../include/c++/4.5.0/bits/deque.tcc:630:5: error: unrecognizable insn:
(insn 719 718 720 65 /usr/local/lib/gcc/alphaev56-unknown-linux-gnu/4.5.0/../../../../include/c++/4.5.0/bits/stl_algobase.h:702 (set (reg:DI 1274)
        (ashift:DI (reg:V8QI 699 [ vect_cst_.738 ])
            (ashift:DI (reg:DI 1276)
                (const_int 3 [0x3])))) -1 (nil))
/usr/local/lib/gcc/alphaev56-unknown-linux-gnu/4.5.0/../../../../include/c++/4.5.0/bits/deque.tcc:630:5: internal compiler error: in extract_insn, at recog.c:2078
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://gcc.gnu.org/bugs.html> for instructions.
Comment 1 James McKelvey 2009-06-29 00:49:58 UTC
Created attachment 18088 [details]
Preprocessed source
Comment 2 Rainer Orth 2009-07-09 18:36:49 UTC
I see the same problem when running the gcc testsuite on alpha-dec-osf4.0f and
alpha-dec-osf5.1b.  The problem was introduced between 20090522 and 20090612, e.g.

/vol/gccsrc/src/gcc-dist/gcc/testsuite/gcc.c-torture/compile/20000403-1.c:18:1: error: unrecognizable insn:


(insn 100 99 101 6 /vol/gccsrc/src/gcc-dist/gcc/testsuite/gcc.c-torture/compile/20000403-1.c:16 (set (reg:DI 165)


        (ashift:DI (reg:V8QI 161)


            (ashift:DI (reg:DI 167)


                (const_int 3 [0x3])))) -1 (nil))


/vol/gccsrc/src/gcc-dist/gcc/testsuite/gcc.c-torture/compile/20000403-1.c:18:1: internal compiler error: in extract_insn, at recog.c:2078


Comment 3 Uroš Bizjak 2009-07-26 10:11:59 UTC
Created attachment 18254 [details]
patch to fix the failure

This patch fixes the failure on x86_64 -> alpha crosscompiler. Since gcc30 of compile farm fame apparently lost its bluesmoke, can someone bootstrap and regression test it on alpha?

BTW: This patch should also fix many failures at [1].

[1] http://gcc.gnu.org/ml/gcc-testresults/2009-07/msg02192.html
Comment 4 James McKelvey 2009-07-29 01:47:42 UTC
(In reply to comment #3)
> Created an attachment (id=18254) [edit]
> patch to fix the failure
> 
> This patch fixes the failure on x86_64 -> alpha crosscompiler. Since gcc30 of
> compile farm fame apparently lost its bluesmoke, can someone bootstrap and
> regression test it on alpha?
> 

I bootstrapped and it runs my code with no errors. Thanks!
Comment 5 uros 2009-07-29 07:11:28 UTC
Subject: Bug 40577

Author: uros
Date: Wed Jul 29 07:11:09 2009
New Revision: 150198

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=150198
Log:
	PR target/40577
	* config/alpha/alpha.c (alpha_expand_unaligned_store): Convert src
	to DImode when generating insq_le insn.


Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/config/alpha/alpha.c

Comment 6 uros 2009-07-30 07:45:42 UTC
Subject: Bug 40577

Author: uros
Date: Thu Jul 30 07:45:26 2009
New Revision: 150249

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=150249
Log:
	PR target/40577
	* config/alpha/alpha.c (alpha_expand_unaligned_store): Convert src
	to DImode when generating insq_le insn.


Modified:
    branches/gcc-4_4-branch/gcc/ChangeLog
    branches/gcc-4_4-branch/gcc/config/alpha/alpha.c

Comment 7 uros 2009-08-04 19:25:18 UTC
Subject: Bug 40577

Author: uros
Date: Tue Aug  4 19:25:05 2009
New Revision: 150466

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=150466
Log:
	Backport from mainline:
	2009-08-03  Uros Bizjak  <ubizjak@gmail.com>

	* config/alpha/alpha.c (alpha_legitimate_constant_p): Reject CONST
	constants referencing TLS symbols.

	2009-07-29  Uros Bizjak  <ubizjak@gmail.com>

	PR target/40577
	* config/alpha/alpha.c (alpha_expand_unaligned_store): Convert src
	to DImode when generating insq_le insn.


Modified:
    branches/gcc-4_3-branch/gcc/ChangeLog
    branches/gcc-4_3-branch/gcc/config/alpha/alpha.c

Comment 8 Uroš Bizjak 2009-08-04 19:27:42 UTC
Fixed.