This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug target/45847] New: ICE in supportable_widening_operation


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)


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]