This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug middle-end/28421] New: ICE with SSE code in extract_insn, at recog.c:2020
- From: "micis at gmx dot de" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 18 Jul 2006 14:31:17 -0000
- Subject: [Bug middle-end/28421] New: ICE with SSE code in extract_insn, at recog.c:2020
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
I get an ICE when I compile at -O1 (and only at -O1).
With the original source only gcc403 ICEs but not gcc401.
With the reduced source gcc401 ICEs too.
Michael Cieslinski
g++403 -O1 -S mb.ii -v
Using built-in specs.
Target: x86_64-unknown-linux-gnu
Configured with: ../gcc-4.0.3/configure --prefix=/usr/local/gcc403
--program-suffix=403 --with-arch=opteron --enable-languages=c,c++
Thread model: posix
gcc version 4.0.3
/usr/local/gcc403/libexec/gcc/x86_64-unknown-linux-gnu/4.0.3/cc1plus
-fpreprocessed mb.ii -quiet -dumpbase mb.ii -march=opteron -auxbase mb -O1
-version -o mb.s
GNU C++ version 4.0.3 (x86_64-unknown-linux-gnu)
compiled by GNU C version 4.0.3.
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
mb.ii: In function 'long int __vector__ foo()':
mb.ii:29: error: unrecognizable insn:
(insn 109 30 96 3 (set (reg:V2SI 0 ax)
(const_vector:V2SI [
(const_int -1 [0xffffffffffffffff])
(const_int -1 [0xffffffffffffffff])
])) -1 (nil)
(nil))
mb.ii:29: internal compiler error: in extract_insn, at recog.c:2020
mb.ii:
typedef long V2 __attribute__ ((__vector_size__(16)));
typedef int V4 __attribute__ ((__vector_size__(16)));
int bar(V2);
__inline V2 baz(int a, int b)
{
return (V4) {a, b};
}
V2 foo ()
{
V2* G;
int* H;
V2 A;
for (int E; E<10; E++)
{
G++;
for (int F; F<E; F++)
{
*G = baz(0x0ffffffff, 0x0ffffffff);
*H = bar(__builtin_ia32_psrldqi128(A, 8))
| bar(__builtin_ia32_psrldqi128(A, 96));
}
}
}
--
Summary: ICE with SSE code in extract_insn, at recog.c:2020
Product: gcc
Version: 4.0.3
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: middle-end
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: micis at gmx dot de
GCC build triplet: x86_64-unknown-linux-gnu
GCC host triplet: x86_64-unknown-linux-gnu
GCC target triplet: x86_64-unknown-linux-gnu
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28421