Comment 13 for bug 968766

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

Thank you for the bug report. I've confirmed this with gcc-linaro-4.6-2012.03+bzr106882 on x86_64:

michaelh@crucis:~/linaro/gcc/build/native-4.6/gcc$ PATH=.:$PATH ./xgcc -c -O3 -march=native -fno-use-linker-plugin ~/linaro/bugs/lp968766.i
../../mpfr-3.1.0/src/set_f.c: In function ‘mpfr_set_f’:
../../mpfr-3.1.0/src/set_f.c:27:1: internal compiler error: Segmentation fault

The fault occurs in the SLP vectoriser. The work-around is to compile at -O3 -fno-tree-slp-vectorize or at -O2. I'll try to reproduce it against upstream.

I've set it to medium priority as it is a ftbfs, has a work around, and occurs at high optimisation levels. It seems similar to LP: #960283.

The backtrace is:

supportable_widening_operation (code=WIDEN_MULT_EXPR, stmt=0x7ffff5045410,
    vectype_out=0x7ffff504ca80, vectype_in=0x7ffff504c930, decl1=0x7fffffffdbf0,
    decl2=0x7fffffffdbf0, code1=0x7fffffffdc04, code2=0x7fffffffdc04,
    multi_step_cvt=0x7fffffffdc08, interm_types=0x7fffffffdbf8)
    at ../../../4.6/gcc/tree-vect-stmts.c:5922
5922 loop_vec_info loop_info = STMT_VINFO_LOOP_VINFO (stmt_info);
(gdb) back
#0 supportable_widening_operation (code=WIDEN_MULT_EXPR, stmt=0x7ffff5045410,
    vectype_out=0x7ffff504ca80, vectype_in=0x7ffff504c930, decl1=0x7fffffffdbf0,
    decl2=0x7fffffffdbf0, code1=0x7fffffffdc04, code2=0x7fffffffdc04,
    multi_step_cvt=0x7fffffffdc08, interm_types=0x7fffffffdbf8)
    at ../../../4.6/gcc/tree-vect-stmts.c:5922
#1 0x0000000000b31ef4 in vect_recog_widen_mult_pattern (stmts=0x7fffffffdc98,
    type_in=0x7fffffffdca0, type_out=0x7fffffffdca8) at ../../../4.6/gcc/tree-vect-patterns.c:634
#2 0x0000000000b329a2 in vect_pattern_recog_1 (stmts_to_replace=0x7fffffffdc98,
    vect_recog_func=0xb31b00 <vect_recog_widen_mult_pattern>, si=...)
    at ../../../4.6/gcc/tree-vect-patterns.c:1727
#3 vect_pattern_recog (loop_vinfo=<optimized out>, bb_vinfo=0x126bcf0)
    at ../../../4.6/gcc/tree-vect-patterns.c:1934
#4 0x00000000008260a5 in vect_slp_analyze_bb_1 (bb=0x7ffff52606e8)
    at ../../../4.6/gcc/tree-vect-slp.c:1977
#5 vect_slp_analyze_bb (bb=0x7ffff52606e8) at ../../../4.6/gcc/tree-vect-slp.c:2108
#6 0x0000000000826d7b in execute_vect_slp () at ../../../4.6/gcc/tree-vectorizer.c:256