ICE building SPEC2006 403.gcc emit-rtl.c

Bug #797748 reported by Kevin Jaget
6
This bug affects 1 person
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-linux-gnueabi-gcc -c -o lin45BLD2011-05-0_cortex-a9_th2_neon_quad/emit-rtl.o -DSPEC_CPU -DNDEBUG -I. -march=armv7-a -mcpu=cortex-a9 -fno-common -mfpu=neon -mfloat-abi=softfp -O3 -g -mthumb -ffast-math -funsafe-loop-optimizations -mvectorize-with-neon-quad emit-rtl.c

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_cse_simplify_operands, at postreload.c:402

# arm-unknown-linux-gnueabi-gcc.exe -v
Using built-in specs.
COLLECT_GCC=/usr/local/linaro-gcc/bin/arm-unknown-linux-gnueabi-gcc
COLLECT_LTO_WRAPPER=/usr/local/linaro-gcc/libexec/gcc/arm-unknown-linux-gnueabi/4.5.4/lto-wrapper.exe
Target: arm-unknown-linux-gnueabi
Configured with: ../configure --enable-languages=c,c++,fortran --target=arm-unknown-linux-gnueabi --prefix=/usr/local/linaro-gcc --with-sysroot=/usr/local/linaro-gcc/sysroot --with-cloog=/usr/local --with-ppl=/usr/local --enable-lto --with-arch=armv7-a --with-float=softfp --with-fpu=neon
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

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

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-cortexa9r1/bin/gcc -S -mfpu=neon -fno-common -O3 emit-rtl.i
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_cse_simplify_operands, at postreload.c:402

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...

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

Attached the preprocessed source. The failing code is from GCC which is licensed under the GPL and trumps any restrictions in the benchmark license.

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

Checking past builds shows that this was exposed in r99503. Richard, could you have a look?

Revision history for this message
Ramana Radhakrishnan (ramana) wrote :

I suspect this is a dup of the other bug LP:744754 .

Should be fixed soonish if the tests for https://code.launchpad.net/~ramana/gcc-linaro/fix-lp-744754-46/+merge/66263 pass

Ramana

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

Ramana's branch clears the problem.

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

Make that branches.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.