Bug#762028: gcc-4.7: internal compiler error: in prepare_cmp_insn, at optabs.c:4092
Package: gcc-4.7
Version: 4.7.2-5
Severity: important
Dear Maintainer,
I managed to crash gcc using some of its vectorization builtins.
Precompiled source attached. I did not test upstream; sorry, they
don't pay me to do that.
Cheers,
Anye Li
*** Please consider answering these questions, where appropriate ***
* What led up to the situation?
* What exactly did you do (or not do) that was effective (or
ineffective)?
* What was the outcome of this action?
* What outcome did you expect instead?
*** End of the template - remove these lines ***
-- System Information:
Debian Release: 7.6
APT prefers stable
APT policy: (500, 'stable')
Architecture: amd64 (x86_64)
Kernel: Linux 3.2.0-4-amd64 (SMP w/8 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Versions of packages gcc-4.7 depends on:
ii binutils 2.22-8
ii cpp-4.7 4.7.2-5
ii gcc-4.7-base 4.7.2-5
ii libc6 2.13-38+deb7u4
ii libgcc1 1:4.7.2-5
ii libgmp10 2:5.0.5+dfsg-2
ii libgomp1 4.7.2-5
ii libitm1 4.7.2-5
ii libmpc2 0.9-4
ii libmpfr4 3.1.0-5
ii libquadmath0 4.7.2-5
ii zlib1g 1:1.2.7.dfsg-13
Versions of packages gcc-4.7 recommends:
ii libc6-dev 2.13-38+deb7u4
Versions of packages gcc-4.7 suggests:
pn binutils-gold <none>
pn gcc-4.7-doc <none>
pn gcc-4.7-locales <none>
ii gcc-4.7-multilib 4.7.2-5
ii libcloog-ppl0 0.15.11-4
pn libgcc1-dbg <none>
pn libgomp1-dbg <none>
pn libitm1-dbg <none>
pn libmudflap0-4.7-dev <none>
pn libmudflap0-dbg <none>
pn libppl-c2 <none>
pn libppl7 <none>
pn libquadmath0-dbg <none>
-- no debconf information
// /usr/lib/gcc/x86_64-linux-gnu/4.7/cc1 -quiet -imultiarch x86_64-linux-gnu crash.c -quiet -dumpbase crash.c -mtune=generic -march=x86-64 -auxbase crash -O3 -o - -frandom-seed=0
# 1 "crash.c"
# 1 "<command-line>"
# 1 "crash.c"
typedef float v4sf __attribute__ ((vector_size(16)));
typedef int v4si __attribute__ ((vector_size(16)));
void vcabsf8(int n, v4sf *a, const v4sf (*x)[2]) {
int i,j;
v4si i0={0,2,4,6},i1={1,3,5,7};
v4sf z={0.0f,0.0f,0.0f,0.0f},o={1.0f,1.0f,1.0f,1.0f},
sgn={-1.0f,1.0f},sel={0.0f,1.0f},
xr,xi,p,q,r,s;
for (i=0;i<n;++i) {
xr=__builtin_shuffle(x[i][0],x[i][1],i0);
xi=__builtin_shuffle(x[i][0],x[i][1],i1);
xr*=__builtin_shuffle(sgn,1+(xr<z));
xi*=__builtin_shuffle(sgn,1+(xi<z));
s=__builtin_shuffle(sel,1+(xi<xr));
r=o-s;
p=s*xr+r*xi;
q=r*xr+s*xi;
for (j=0;j<3;++j) {
r=q/p; r*=r;
s=r/(4.0f+r);
p+=2*s*p;
q*=s;
}
a[i]=p;
}
}
Reply to: