------- Comment #12 from amodra at gmail dot com 2010-06-16 03:14 ------- testsuite/gcc.dg/vect/pr44507.c is invalid on LP64. This:
curVal = *((unsigned long *)(&pArray[index])); loads 8 bytes, ie. the last time around the loop this loads 4 bytes past the end of the array. On big-endian machines this is the low 32 bits so the test fails. The obvious fix is to replace the cast with (unsigned int *) and indeed this makes the test pass on powerpc64. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44507