[Bug target/86139] New: [7/8/9 Regression] ICE in in store_constructor, at expr.c:6849 on aarch64-linux-gnu and arm-linux-gnueabihf
doko at debian dot org
gcc-bugzilla@gcc.gnu.org
Thu Jun 14 00:23:00 GMT 2018
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86139
Bug ID: 86139
Summary: [7/8/9 Regression] ICE in in store_constructor, at
expr.c:6849 on aarch64-linux-gnu and
arm-linux-gnueabihf
Product: gcc
Version: 8.1.1
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: target
Assignee: unassigned at gcc dot gnu.org
Reporter: doko at debian dot org
Target Milestone: ---
[forwarded from https://bugs.debian.org/901290]
seen when building a recent version of chromium-browser on aarch64-linux-gnu
and arm-linux-gnueabihf. The reduced test case was made with a gcc-8 cross
arm-linux-gnueabihf gcc.
according to the bug reporter it fails on armhf in 6, 7 and 8, on arm64 on 7
and 8.
$ cat preprocessed.i
typedef int a;
typedef int c;
typedef char d;
typedef unsigned short f;
typedef long long g;
typedef float __attribute__((vector_size(16))) aa;
typedef c bv;
typedef g __attribute__((vector_size(32))) bw;
typedef f __attribute__((vector_size(8))) bx;
bv h, i;
aa *l;
bx m, n, o;
char q;
f *s;
f u;
void *memcpy(void *v, void *w, a z) {
return __builtin___memcpy_chk(v, w, z, 0);
}
typedef struct {
} ac;
typedef struct {
} e;
typedef struct {
} agab(ac *);
typedef enum {
ao,
ad,
ab,
ar,
as,
ae,
af,
ag,
ak,
ah,
ai,
aj,
ba,
al,
am,
an,
be,
ap,
aq,
av,
aw,
at,
au,
az,
bm,
ax,
ay,
bp,
bq,
bb,
bc,
bd,
bi,
bf,
bg,
bh,
by,
bj,
bk,
bl,
ca,
bn,
bo,
bt,
bu,
br
} bs;
void bz(bx);
bx cc();
f cb();
bx cd(bv v) {
d *j = 0;
bx k = {cb(j, v)};
return k;
}
void ce() {
__attribute__((__vector_size__(4 * sizeof(short)))) unsigned short p = n,
k = p;
m = k;
o = cd(h);
}
bs t;
void x() {
aa r, b;
while (1)
switch (t) {
case ao:
case ad:
case ab:
case ar:
case as:
case ae:
case af:
case ag:
case ak: {
bw a;
__builtin_memcpy(&a, s, 4);
bx y = {(a & 5)[3]};
bz(y);
}
case ah:
case ai:
case aj:
case ba:
case al:
case am:
case an:
case be:
case ap:
case aq:
case av:
case aw:
case at:
case au:
case az:
case bm:
case ax:
case ay:
case bp:
case bq:
case bb:
case bc:
case bd:
case bi:
case bf:
case bg:
break;
case bh:
case by: {
bx c = (bx){r[2]} | (bx){b[2]};
__builtin_memcpy(&q + i, &c, 2 * 4);
}
case bj:
case bk:
case bl:
case ca:
case bn:
case bo:
return;
case bt: {
bx y = cc();
bw d = u | (bw){y[2]};
__builtin_memcpy(s, &d, 4);
}
case bu:
case br:;
}
}
void cf() {}
$ arm-linux-gnueabihf-gcc-8 -c -std=gnu11 -O0 -Wall -Wextra preprocessed.i
during RTL pass: expand
preprocessed.i: In function 'x':
preprocessed.i:88:6: internal compiler error: in store_constructor, at
expr.c:6849
void x() {
^
Please submit a full bug report,
with preprocessed source if appropriate.
gcc configured with
-v --with-pkgversion='Debian 8.1.0-4'
--with-bugurl=file:///usr/share/doc/gcc-8/README.Bugs
--enable-languages=c,ada,c++,go,d,fortran,objc,obj-c++ --prefix=/usr
--with-gcc-major-version-only --program-suffix=-8 --enable-shared
--enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext
--enable-threads=posix --libdir=/usr/lib --enable-nls --with-sysroot=/
--enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes
--with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-libitm
--disable-libquadmath --disable-libquadmath-support --enable-plugin
--enable-default-pie --with-system-zlib --with-target-system-zlib
--enable-multiarch --disable-sjlj-exceptions --with-arch=armv7-a
--with-fpu=vfpv3-d16 --with-float=hard --with-mode=thumb --disable-werror
--enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu
--target=arm-linux-gnueabihf --program-prefix=arm-linux-gnueabihf-
--includedir=/usr/arm-linux-gnueabihf/include
More information about the Gcc-bugs
mailing list