[Bug middle-end/33597] Internal compiler error while compiling libswcale from ffmpeg

ubizjak at gmail dot com gcc-bugzilla@gcc.gnu.org
Sun Sep 30 10:03:00 GMT 2007



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



More information about the Gcc-bugs mailing list