ICE building SPEC2006 403.gcc emit-rtl.c
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Linaro GCC |
Fix Released
|
Medium
|
Ramana Radhakrishnan | ||
4.5 |
Fix Released
|
Medium
|
Ramana Radhakrishnan | ||
4.6 |
Fix Released
|
Medium
|
Ramana Radhakrishnan |
Bug Description
Also fails with -marm. I haven't tried removing the rest of the optimization options.
# arm-unknown-
emit-rtl.c: In function `init_emit_once':
emit-rtl.c:5168:1: error: insn does not satisfy its constraints:
(insn 2098 503 2097 31 emit-rtl.c:5049 (set (mem/s/c:EI (post_inc:SI (reg:SI 3 r3)) [46 dconst0+0 S24 A64])
(reg:EI 103 d20)) 785 {*neon_movei} (expr_list:REG_INC (reg:SI 3 r3)
(nil)))
emit-rtl.c:5168:1: internal compiler error: in reload_
# arm-unknown-
Using built-in specs.
COLLECT_
COLLECT_
Target: arm-unknown-
Configured with: ../configure --enable-
Thread model: posix
gcc version 4.5.4 20110505 (prerelease) (Linaro GCC 4.5-2011.05-0)
Hopefully you have access to SPEC2006 source - I'm not sure if I can redistribute it even in preprocessed form.
Related branches
- Ulrich Weigand (community): Approve
-
Diff: 31 lines (+14/-0)2 files modifiedChangeLog.linaro (+9/-0)
gcc/config/arm/arm.c (+5/-0)
- Ulrich Weigand (community): Approve
-
Diff: 31 lines (+14/-0)2 files modifiedChangeLog.linaro (+9/-0)
gcc/config/arm/arm.c (+5/-0)
Thank you for the bug report. I've confirmed this with gcc-linaro- 4.5-2011. 06-0 on ARM:
michaelh@ ursa2:~ /linaro/ bugs$ /tools/ toolchains/ arch/armv7l/ gcc-linaro- 4.5-2011. 06-0-armv7l- maverick- cbuild130- ursa4-cortexa9r 1/bin/gcc -S -mfpu=neon -fno-common -O3 emit-rtl.i cse_simplify_ operands, at postreload.c:402
emit-rtl.c: In function 'init_emit_once':
emit-rtl.c:5168:1: error: insn does not satisfy its constraints:
(insn 1906 458 1905 31 emit-rtl.c:5049 (set (mem/s/c:EI (post_inc:SI (reg:SI 3 r3)) [46 dconst0+0 S24 A64])
(reg:EI 103 d20)) 785 {*neon_movei} (expr_list:REG_INC (reg:SI 3 r3)
(nil)))
emit-rtl.c:5168:1: internal compiler error: in reload_
The work around is to remove -fno-common. The fault also exists in gcc-linaro- 4.6-2011. 06-0. It does not exist in gcc-linaro- 4.5-2011. 04, gcc-4.5.3, gcc-4.6.0, or recent gcc trunk r174795.
I've set this to medium priority as it is a ftbfs, occurs at high optimisation levels, and a work-around exists.
That's an impressive set of optimisation flags by the way...