This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug c/30843] ice for legal code with -ftree-vectorize -O2



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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]