This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug c/19039] New: another SSE optimization ICE
- From: "stuart at apple dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 16 Dec 2004 18:14:50 -0000
- Subject: [Bug c/19039] New: another SSE optimization ICE
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
Attached testcase ICEs GCC:
[opel:/Volumes/sandbox/stuart] hasting2% gcc.fsf.debug.obj/gcc/xgcc -B gcc.fsf.debug.obj/gcc -O1 -
msse2 -S m4.i
m4.i: In function 'rrr':
m4.i:36: error: unrecognizable insn:
(insn 283 210 211 10 (set (reg:V16QI 22 xmm1)
(const_int 1 [0x1])) -1 (nil)
(nil))
m4.i:36: internal compiler error: in extract_insn, at recog.c:2020
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://gcc.gnu.org/bugs.html> for instructions.
---------------------------------------------------
Here is the testcase:
---------------------------------------------------
typedef unsigned long ulong;
typedef long long __v2di __attribute__ ((vector_size (16)));
typedef char __v16qi __attribute__ ((vector_size (16)));
typedef struct
{
void *v1;
ulong kk;
ulong ss;
}bbbccc;
long rrr(const bbbccc *od, ulong lc, ulong rc, ulong br, ulong kw)
{
long i, j, x, y, kx = kw, ky, p1 = (kx)/2, r1 = (ky)/2, kk = od->kk, q1 = lc - p1, sts = p1, lml = od-
>ss - rc, g1, *pg1, i1, s1, j1;
char *out = (char*) od->v1;
__v2di h1;
for( i = 0; i < kk; i++ )
{
j1 = i + r1;
if( i >= kk - (long) br )
j1 = ( kk-1) + r1 - (long) br;
s1 = j1 - i1;
for(; y < s1; y++ )
{
for( x = q1; x < sts; x++ )
;
}
out[j] = g1;
for( ; j <= lml - 16; j += 16 )
{
h1 = (__v2di)__builtin_ia32_pcmpeqb128 ((__v16qi)h1, (__v16qi)h1);
for( y = 0; y < s1; y++ )
for( x = 0; x < (long) kw; x++ )
;
__builtin_ia32_storedqu ((char *)pg1, (__v16qi)h1);
}
}
}
--
Summary: another SSE optimization ICE
Product: gcc
Version: 4.0.0
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: c
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: stuart at apple dot com
CC: gcc-bugs at gcc dot gnu dot org
GCC build triplet: i686-apple-darwin
GCC host triplet: i686-apple-darwin
GCC target triplet: i686-apple-darwin
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19039