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: unassig...@gcc.gnu.org ReportedBy: raj.k...@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)