Comment 2 for bug 736007

Revision history for this message
Michael Hope (michaelh1) wrote :

Confirmed in gcc-linaro-4.5+bzr99489:

ichaelh@ursa1:/scratch/michaelh/bugs$ ../toolchains/gcc-linaro-4.5+bzr99489-armv7l-maverick-cbuild79-carina5-cortexa8r1/bin/gcc -mfpu=neon -O1 -g -c emit-rtl-ice.i
optimized.c: In function 'move_16bit_to_32bit':
optimized.c:4:6: internal compiler error: in immed_double_const, at emit-rtl.c:552

Also appears on a cross compiler. The backtrace is:

#1 0x0000000000580d19 in immed_double_const (i0=0, i1=0, mode=OImode)
    at ../../../src/gcc-linaro-4.5-2011.03-0/gcc/emit-rtl.c:552
#2 0x00000000005a34c3 in expand_expr_real_1 (exp=0x7ffff4dd1ca8, target=0x0,
    tmode=<value optimized out>, modifier=<value optimized out>, alt_rtl=0x0)
    at ../../../src/gcc-linaro-4.5-2011.03-0/gcc/expr.c:8465
#3 0x0000000000521425 in expand_expr (exp=0x7ffff4dd1ca8)
    at ../../../src/gcc-linaro-4.5-2011.03-0/gcc/expr.h:558
#4 expand_debug_expr (exp=0x7ffff4dd1ca8)
    at ../../../src/gcc-linaro-4.5-2011.03-0/gcc/cfgexpand.c:2329
#5 0x00000000005237d8 in expand_debug_locations ()
    at ../../../src/gcc-linaro-4.5-2011.03-0/gcc/cfgexpand.c:3122
#6 gimple_expand_cfg () at ../../../src/gcc-linaro-4.5-2011.03-0/gcc/cfgexpand.c:3885
#7 0x00000000006715dc in execute_one_pass (pass=0xf8a720)
    at ../../../src/gcc-linaro-4.5-2011.03-0/gcc/passes.c:1572

Note that mode is OImode (a 32 byte integer) which makes sense with the int32x4x2 types in the example code.