(In reply to comment #17) > This looks like an unrelated problem - the vectorizer does not perform loop > peeling here so it's not an issue of natural alignment. Lets open a separate > PR > for this one, unless there's already one open. In the meantime, would you > please try this patch?: > > Index: tree-vectorizer.c > =================================================================== > *** tree-vectorizer.c (revision 126902) > --- tree-vectorizer.c (working copy) > *************** vect_can_force_dr_alignment_p (tree decl > *** 1527,1533 **** > PREFERRED_STACK_BOUNDARY is honored by all translation units. > However, until someone implements forced stack alignment, SSE > isn't really usable without this. */ > ! return (alignment <= PREFERRED_STACK_BOUNDARY); > } > > > --- 1527,1533 ---- > PREFERRED_STACK_BOUNDARY is honored by all translation units. > However, until someone implements forced stack alignment, SSE > isn't really usable without this. */ > ! return (alignment <= STACK_BOUNDARY); > } >
Hey Dorit. With this patch zlib appears to compile successfully. The loop is vectorized with an "alignment of access forced using peeling" note and linked apps no longer segfault. I also tested using Andrew's patch from bug #16660 and always returning true in vect_can_force_dr_alignment_p but it does not fix this error. Let me know if I can provide any other info that would be useful to you. -- Summary: zlib segfault in inflate_table() compiled w/ -O -msse2 ftree-vectorize Product: gcc Version: 4.2.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: target AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: dirtyepic at gentoo dot org GCC build triplet: i686-linux-gnu GCC host triplet: i686-linux-gnu GCC target triplet: i686-linux-gnu http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32893