------- Comment #2 from dorit at il dot ibm dot com  2007-02-18 21:50 -------
I was able to reproduce it. Here's a reduced testcase:

void dacP98FillRGBMap( unsigned char *pBuffer )
{
    unsigned long dw, dw1;
    unsigned long *pdw = (unsigned long *)(pBuffer);

    for( dw = 256, dw1 = 0; dw; dw--, dw1 += 0x01010101 ) {
  *pdw++ = dw1;
  *pdw++ = dw1;
  *pdw++ = dw1;
  *pdw++ = dw1;
    }
}

Looks like possibly some bad interaction between vectorization of induction and
vectorization of strided-access. Will investigate. 


-- 

dorit at il dot ibm dot com changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
            Summary|ice for legal code with -   |ice for legal code with -
                   |ftree-vectorize -O2         |ftree-vectorize -O2


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30843

Reply via email to