------- Comment #4 from ubizjak at gmail dot com 2007-09-30 10:03 ------- segfaults with -ftree-vectorize in SLP.
reduced testcase: --cut here-- typedef unsigned char uint8_t; typedef unsigned short uint16_t; void rgb15to24_C (const uint8_t * src, uint8_t * dst, long src_size) { const uint16_t *end; const uint16_t *s = (uint16_t *)src; uint8_t *d = (uint8_t *)dst; end = s + src_size/2; while (s < end) { uint16_t bgr = *s++; *d++ = (bgr&0x1F)<<3; *d++ = (bgr&0x3E0)>>2; *d++ = (bgr&0x7C00)>>7; } } --cut here-- gcc -O2 -ftree-vectorize -msse2: t.c: In function �rgb15to24_C�: t.c:6: internal compiler error: Segmentation fault Please submit a full bug report, with preprocessed source if appropriate. See <http://gcc.gnu.org/bugs.html> for instructions. Program received signal SIGSEGV, Segmentation fault. 0x0000000000a94d24 in vect_build_slp_tree (loop_vinfo=0x1039cc0, node=0x7fffb8b97da0, group_size=3, slp_impossible=0x7fffb8b97e3f "", inside_cost=0x7fffb8b97e38, outside_cost=0x7fffb8b97e34, ncopies_for_cost=3) at ../../gcc-svn/trunk/gcc/tree-vect-analyze.c:2700 2700 if (!VECTOR_MODE_P (optab_op2_mode)) #0 0x0000000000a94d24 in vect_build_slp_tree (loop_vinfo=0x1039cc0, node=0x7fffb8b97da0, group_size=3, slp_impossible=0x7fffb8b97e3f "", inside_cost=0x7fffb8b97e38, outside_cost=0x7fffb8b97e34, ncopies_for_cost=3) at ../../gcc-svn/trunk/gcc/tree-vect-analyze.c:2700 #1 0x0000000000a94f73 in vect_build_slp_tree (loop_vinfo=0x1039cc0, node=0x7fffb8b97e28, group_size=3, slp_impossible=0x7fffb8b97e3f "", inside_cost=0x7fffb8b97e38, outside_cost=0x7fffb8b97e34, ncopies_for_cost=3) at ../../gcc-svn/trunk/gcc/tree-vect-analyze.c:2870 #2 0x0000000000a955e3 in vect_analyze_slp_instance (loop_vinfo=0x1039cc0, stmt=<value optimized out>) at ../../gcc-svn/trunk/gcc/tree-vect-analyze.c:3000 #3 0x0000000000a993e0 in vect_analyze_loop (loop=<value optimized out>) at ../../gcc-svn/trunk/gcc/tree-vect-analyze.c:3045 #4 0x00000000007f82ce in vectorize_loops () at ../../gcc-svn/trunk/gcc/tree-vectorizer.c:2501 Confirmed on x86_64 and i686/sse2. -- ubizjak at gmail dot com changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Ever Confirmed|0 |1 Last reconfirmed|0000-00-00 00:00:00 |2007-09-30 10:03:40 date| | http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33597