[Bug tree-optimization/80928] SLP vectorization does not handle induction in outer loop vectorization
ro at CeBiTec dot Uni-Bielefeld.DE
gcc-bugzilla@gcc.gnu.org
Wed Jun 7 12:10:00 GMT 2017
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80928
--- Comment #12 from ro at CeBiTec dot Uni-Bielefeld.DE <ro at CeBiTec dot Uni-Bielefeld.DE> ---
>> --- Comment #5 from Rainer Orth <ro at gcc dot gnu.org> ---
>> The patch also caused a couple of regressions on i386-pc-solaris2.12:
>>
>> +FAIL: gcc.dg/vect/slp-perm-8.c (internal compiler error)
>> +FAIL: gcc.dg/vect/slp-perm-8.c (test for excess errors)
>> +FAIL: gcc.dg/vect/slp-perm-8.c -flto -ffat-lto-objects (internal compiler
>> error
>> )
>> +FAIL: gcc.dg/vect/slp-perm-8.c -flto -ffat-lto-objects (test for excess
>> errors)
>> +WARNING: gcc.dg/vect/slp-perm-8.c -flto -ffat-lto-objects compilation failed
>> to
>> produce executable
>> +WARNING: gcc.dg/vect/slp-perm-8.c compilation failed to produce executable
>
> Can't reproduce with a cross.
I see the same in a i686-pc-linux-gnu build.
>> Excess errors:
>> during GIMPLE pass: vect
>> dump file: slp-perm-8.c.156t.vect
>> /vol/gcc/src/hg/trunk/local/gcc/testsuite/gcc.dg/vect/slp-perm-8.c:25:5:
>> internal compiler error: in operator[], at vec.h:729
>> 0x8b58359 vec<edge_def*, va_gc, vl_embed>::operator[](unsigned int)
>> /vol/gcc/src/hg/trunk/local/gcc/vec.h:729
>> 0x8b58359 gimple_phi_arg_edge
>> /vol/gcc/src/hg/trunk/local/gcc/gimple.h:4398
>> 0x8b58359 dump_gimple_phi
>> /vol/gcc/src/hg/trunk/local/gcc/gimple-pretty-print.c:2185
>> 0x8b5a668 print_gimple_stmt(__FILE*, gimple*, int, unsigned long long)
>> /vol/gcc/src/hg/trunk/local/gcc/gimple-pretty-print.c:117
>> 0x8a254c5 dump_gimple_stmt(unsigned long long, unsigned long long, gimple*,
>> int)
>> /vol/gcc/src/hg/trunk/local/gcc/dumpfile.c:340
>> 0x90750dd vect_schedule_slp_instance
>> /vol/gcc/src/hg/trunk/local/gcc/tree-vect-slp.c:3680
>> 0x9074f6f vect_schedule_slp_instance
>> /vol/gcc/src/hg/trunk/local/gcc/tree-vect-slp.c:3641
>> 0x9074f6f vect_schedule_slp_instance
>> /vol/gcc/src/hg/trunk/local/gcc/tree-vect-slp.c:3641
>> 0x9074f6f vect_schedule_slp_instance
>> /vol/gcc/src/hg/trunk/local/gcc/tree-vect-slp.c:3641
>> 0x9075861 vect_schedule_slp(vec_info*)
>> /vol/gcc/src/hg/trunk/local/gcc/tree-vect-slp.c:3834
>> 0x905a2ba vect_transform_loop(_loop_vec_info*)
>> /vol/gcc/src/hg/trunk/local/gcc/tree-vect-loop.c:7151
>> 0x907b4e8 vectorize_loops()
>> /vol/gcc/src/hg/trunk/local/gcc/tree-vectorizer.c:690
>>
>> 32 and 64-bit x86
>
> That is, i686-linux with -m32 / -m64? I see no issues on
> x86_64 with -m32 or -m64.
Both i386-pc-solaris2.12 and i686-pc-linux-gnu. Haven't tried an x86_64
build yet.
>> +FAIL: libgomp.fortran/vla1.f90 -O3 -fomit-frame-pointer -funroll-loops
>> -fpeel
>> -loops -ftracer -finline-functions (internal compiler error)
>> +FAIL: libgomp.fortran/vla1.f90 -O3 -fomit-frame-pointer -funroll-loops
>> -fpeel
>> -loops -ftracer -finline-functions (test for excess errors)
>> +WARNING: libgomp.fortran/vla1.f90 -O3 -fomit-frame-pointer -funroll-loops
>> -fp
>> eel-loops -ftracer -finline-functions compilation failed to produce executable
>> +FAIL: libgomp.fortran/vla1.f90 -O3 -g (internal compiler error)
>> +FAIL: libgomp.fortran/vla1.f90 -O3 -g (test for excess errors)
>> +WARNING: libgomp.fortran/vla1.f90 -O3 -g compilation failed to produce
>> execu
>> table
>>
>> and several more
>>
>> Excess errors:
>> during GIMPLE pass: vect
>> /vol/gcc/src/hg/trunk/local/libgomp/testsuite/libgomp.fortran/vla1.f90:40:0:
>> internal compiler error: in vect_free_slp_tree, at tree-vect-slp.c:62
>> 0x90e874f vect_free_slp_tree
>> /vol/gcc/src/hg/trunk/local/gcc/tree-vect-slp.c:62
>> 0x90e859d vect_free_slp_tree
>> /vol/gcc/src/hg/trunk/local/gcc/tree-vect-slp.c:55
>> 0x90e859d vect_free_slp_tree
>> /vol/gcc/src/hg/trunk/local/gcc/tree-vect-slp.c:55
>> 0x90e859d vect_free_slp_tree
>> /vol/gcc/src/hg/trunk/local/gcc/tree-vect-slp.c:55
>> 0x90eb870 vect_free_slp_instance(_slp_instance*)
>> /vol/gcc/src/hg/trunk/local/gcc/tree-vect-slp.c:80
>> 0x90d5678 vect_transform_loop(_loop_vec_info*)
>> /vol/gcc/src/hg/trunk/local/gcc/tree-vect-loop.c:7249
>> 0x90f6a48 vectorize_loops()
>> /vol/gcc/src/hg/trunk/local/gcc/tree-vectorizer.c:690
>>
>> 64-bit x86
Also on both i386-pc-solaris2.12 -m64 and i686-pc-linux-gnu -m64.
Rainer
More information about the Gcc-bugs
mailing list