This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug regression/55676] New: ICE in int_mode_for_mode, at stor-layout.c:423
- From: "gretay at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Thu, 13 Dec 2012 18:51:38 +0000
- Subject: [Bug regression/55676] New: ICE in int_mode_for_mode, at stor-layout.c:423
- Auto-submitted: auto-generated
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55676
Bug #: 55676
Summary: ICE in int_mode_for_mode, at stor-layout.c:423
Classification: Unclassified
Product: gcc
Version: 4.8.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: regression
AssignedTo: unassigned@gcc.gnu.org
ReportedBy: gretay@gcc.gnu.org
Target: arm-none-eabi
FAIL: gcc.dg/sms-11.c (internal compiler error)
/work/dec-builds/base/install/bin/arm-none-eabi-gcc -S -O2 -fmodulo-sched
/work/local-checkouts/gcc-fsf/gcc/testsuite/gcc.dg/sms-11.c
/work/local-checkouts/gcc-fsf/gcc/testsuite/gcc.dg/sms-11.c: In function
'invert':
/work/local-checkouts/gcc-fsf/gcc/testsuite/gcc.dg/sms-11.c:28:1: internal
compiler error: in int_mode_for_mode, at stor-layout.c:423
}
^
0x8ca223 int_mode_for_mode(machine_mode)
/work/local-checkouts/gcc-fsf/gcc/stor-layout.c:423
0x6a0cf1 emit_move_via_integer
/work/local-checkouts/gcc-fsf/gcc/expr.c:3069
0x6ac7f9 emit_move_ccmode
/work/local-checkouts/gcc-fsf/gcc/expr.c:3285
0x6ac7f9 emit_move_insn_1(rtx_def*, rtx_def*)
/work/local-checkouts/gcc-fsf/gcc/expr.c:3436
0x81d9b3 gen_move_insn(rtx_def*, rtx_def*)
/work/local-checkouts/gcc-fsf/gcc/optabs.c:4794
0xd051f8 schedule_reg_moves
/work/local-checkouts/gcc-fsf/gcc/modulo-sched.c:769
0xd0854d sms_schedule
/work/local-checkouts/gcc-fsf/gcc/modulo-sched.c:1691
0xd0854d rest_of_handle_sms
/work/local-checkouts/gcc-fsf/gcc/modulo-sched.c:3347
Please submit a full bug report,
with preprocessed source if appropriate.
The problem is that emit_move_via_integer called with CCFPmode.
Known to fail with gcc trunk r194473, has been failing for at least a month
with the same error message.
Configured with: /work/local-checkouts/gcc-fsf/configure --target=arm-none-eabi
--with-newlib --with-gnu-as --with-gnu-ld --enable-languages=c,c++
--disable-shared --disable-nls --disable-threads --disable-lto --disable-tls
--enable-checking=yes --disable-libssp --disable-libgomp --disable-libmudflap
--with-cpu=cortex-a15 --with-fpu=neon-vfpv4 --with-float=softfp
When the test is compiled -mcpu=cortex-a9, there is no ICE but execution fails
with segmentation fault (tested on qemu) because generated code is incorrect.
In the first inner loop, the register r4 that holds the value of j keeps
increasing until tmp array is accessed out of bounds.
$ /work/dec-builds/base/install/bin/arm-none-eabi-gcc
/work/local-checkouts/gcc-fsf/gcc/testsuite/gcc.dg/sms-11.c
-fno-diagnostics-show-caret -O2 -lm -o ./sms-11.exe -mfloat-abi=softfp
-mcpu=cortex-a9 -fmodulo-sched
$ qemu-arm sms-11.exe
qemu: uncaught target signal 11 (Segmentation fault) - core dumped
Segmentation fault