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.
Created attachment 18088 [details] Preprocessed source
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
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
(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!
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
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
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
Fixed.