------- Comment #2 from ubizjak at gmail dot com 2009-09-12 19:25 ------- The testcase does not verctorize anymore, even in the modified form:
--cut here-- const int srcshift; void good (int *restrict srcdata, int *restrict dstdata) { int i; for (i = 0; i < 256; i++) dstdata[i] = srcdata[i] << srcshift; } void bad (int *restrict srcdata, int *restrict dstdata) { int i; for (i = 0; i < 256; i++) { dstdata[i] |= srcdata[i] << srcshift; } } --cut here-- -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34011