This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug target/45847] New: ICE in supportable_widening_operation
- From: "raj.khem at gmail dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Thu, 30 Sep 2010 19:17:24 +0000
- Subject: [Bug target/45847] New: ICE in supportable_widening_operation
- Auto-submitted: auto-generated
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45847
Summary: ICE in supportable_widening_operation
Product: gcc
Version: unknown
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: target
AssignedTo: unassigned@gcc.gnu.org
ReportedBy: raj.khem@gmail.com
Host: i686-linux-gnu
Target: arm-none-linux-gnueabi
Build: i686-linux-gnu
The following sample causes gcc ICE on arm
int decode_subframe_lpc(int channel, int pred_order)
{
int i, j;
int qlevel;
int coeffs[pred_order];
int *decoded = channel;
long long sum;
for (i = pred_order; i < channel; i++) {
for (j = 0; j < pred_order; j++)
sum += (long long)coeffs[j] * decoded[i-j-1];
decoded[i] += sum >> qlevel;
}
return 0;
}
here is the commandline to reproduce it, it only happens at O3
arm-none-linux-gnueabi-gcc-4.6.0 -march=armv7-a -mtune=cortex-a8 -mfpu=neon
-mfloat-abi=softfp flacdec.i -c -O3
here is backtrace
Analyzing compilation unit
Performing interprocedural optimizations
<*free_lang_data> <visibility> <early_local_cleanups> <increase_alignment>
<whole-program> <ipa-profile> <cp> <inline> <pure-const> <static-var>Assembling
functions:
decode_subframe_lpc
Program received signal SIGSEGV, Segmentation fault.
0x085bfa6a in supportable_widening_operation (code=WIDEN_MULT_EXPR,
stmt=0xb7f942d8, vectype_out=0x0, vectype_in=0xb7de8660, decl1=0xbffff26c,
decl2=0xbffff26c, code1=0xbffff268, code2=0xbffff268,
multi_step_cvt=0xbffff264, interm_types=0xbffff260)
at
/home/kraj/work/cross/arm-none-linux-gnueabi/../../gcc-trunk/gcc/tree-vect-stmts.c:5193
5193 if (insn_data[icode1].operand[0].mode != TYPE_MODE (wide_vectype)
here is the compiler configure
$ arm-none-linux-gnueabi-gcc-4.6.0 -v
Using built-in specs.
COLLECT_GCC=arm-none-linux-gnueabi-gcc-4.6.0
COLLECT_LTO_WRAPPER=/home/kraj/work/cross/arm-none-linux-gnueabi/tools/libexec/gcc/arm-none-linux-gnueabi/4.6.0/lto-wrapper
Target: arm-none-linux-gnueabi
Configured with:
/home/kraj/work/cross/arm-none-linux-gnueabi/../../gcc-trunk/configure
--target=arm-none-linux-gnueabi
--prefix=/home/kraj/work/cross/arm-none-linux-gnueabi/tools
--with-sysroot=/home/kraj/work/cross/arm-none-linux-gnueabi/sysroot
--enable-__cxa_atexit --disable-libssp --disable-libgomp --disable-libmudflap
--enable-languages=c,c++
Thread model: posix
gcc version 4.6.0 20100927 (experimental) (GCC)