[Bug tree-optimization/56933] [4.9 Regression] Vectorizer missing read-write dependency for interleaved accesses

bernd.edlinger at hotmail dot de gcc-bugzilla@gcc.gnu.org
Wed Aug 28 15:10:00 GMT 2013


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

--- Comment #7 from Bernd Edlinger <bernd.edlinger at hotmail dot de> ---
Created attachment 30712
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=30712&action=edit
fixed test case

Looking deeper into the matter it seems like this an example
where vectorisation is not supposed to happen.
But this is still vectorized and causes the crash here:

   for (i = 0; i < 2*1024; i++)
     d[i] = 1.;


So this is my proposed fix for the test case:
- added check_vect() to prevent invalid instruction as Jakub suggested
- addeded scan-tree-dump to detect the READ_WRITE depencency
  to make sure that the vectorization in foo() did not happen
  for the right reason.



More information about the Gcc-bugs mailing list