gcc

Comment 3 for bug 809446

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

Thank you for the bug report. I've confirmed this with gcc-linaro-4.6-2011.06-0 on ARM:

michaelh@ursa1:~/linaro/bugs$ /tools/toolchains/arch/armv7l/gcc-linaro-4.6-2011.06-0-armv7l-maverick-cbuild130-ursa3-cortexa9r1/bin/gcc -O2 -mfpu=neon -S jsimd_arm.i
jsimd_arm.c: In function 'jsimd_quantize':
jsimd_arm.c:1334:1: internal compiler error: in smallest_mode_for_size, at stor-layout.c:451

The fault occurs at all optimisation levels. There is no known work-around partly as this is NEON specific code. The fault does not occur in gcc-linaro-4.5-2011.06 or gcc trunk r176026.

It fails in a dfferent way in gcc 4.5.3 and gcc 4.6.1:

/tools/toolchains/arch/armv7l/gcc-4.5.3-armv7l-maverick-cbuild121-ursa4-cortexa9r1
jsimd_arm.c: In function 'jsimd_ycc_rgb_convert':
jsimd_arm.c:831:1: error: insn does not satisfy its constraints:
(insn 577 490 578 30 /opt/x-tools/arm-cortex_a9-linux-gnueabi/lib/gcc/arm-cortex_a9-linux-gnueabi/4.6.1/include/arm_neon.h:9670 (set (reg:EI 95 d16 [orig:566 __b ] [566])
        (mem/s/c:EI (pre_dec:SI (reg/f:SI 3 r3 [565])) [11 __b+0 S24 A64])) 730 {*neon_movei} (expr_list:REG_INC (reg/f:SI 3 r3 [565])
        (nil)))
jsimd_arm.c:831:1: internal compiler error: in reload_cse_simplify_operands, at postreload.c:396

This has been fixed in later gcc-linaro releases.

I've set this to medium priority as it is a ftbfs and occurs in NEON specific code.