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.
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 to_32bit' :
optimized.c: In function 'move_16bit_
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) ./src/gcc- linaro- 4.5-2011. 03-0/gcc/ emit-rtl. c:552 1ca8, target=0x0, ./src/gcc- linaro- 4.5-2011. 03-0/gcc/ expr.c: 8465 1ca8) ./src/gcc- linaro- 4.5-2011. 03-0/gcc/ expr.h: 558 1ca8) ./src/gcc- linaro- 4.5-2011. 03-0/gcc/ cfgexpand. c:2329 debug_locations () ./src/gcc- linaro- 4.5-2011. 03-0/gcc/ cfgexpand. c:3122 ./src/gcc- linaro- 4.5-2011. 03-0/gcc/ cfgexpand. c:3885 ./src/gcc- linaro- 4.5-2011. 03-0/gcc/ passes. c:1572
at ../../.
#2 0x00000000005a34c3 in expand_expr_real_1 (exp=0x7ffff4dd
tmode=<value optimized out>, modifier=<value optimized out>, alt_rtl=0x0)
at ../../.
#3 0x0000000000521425 in expand_expr (exp=0x7ffff4dd
at ../../.
#4 expand_debug_expr (exp=0x7ffff4dd
at ../../.
#5 0x00000000005237d8 in expand_
at ../../.
#6 gimple_expand_cfg () at ../../.
#7 0x00000000006715dc in execute_one_pass (pass=0xf8a720)
at ../../.
Note that mode is OImode (a 32 byte integer) which makes sense with the int32x4x2 types in the example code.