http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52580
Bug #: 52580 Summary: [4.8 Regression] 171.swim performance drop on x86 – vectorization doesn’t happen anymore Classification: Unclassified Product: gcc Version: 4.8.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: fortran AssignedTo: unassig...@gcc.gnu.org ReportedBy: vbyakov...@gmail.com Regression could be seen on Sandy Bridge. Change set analysis points to commit commit 95539e1deabbaa9dbc84b1d81ce6d0c8e7156a0f Author: rguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4> Date: Fri Mar 2 14:58:55 2012 +0000 2012-03-02 Richard Guenther <rguent...@suse.de> PR tree-optimization/52406 * tree-data-ref.h: Update documentation about DR_BASE_OBJECT. (struct indices): Add unconstrained_base member. (struct dr_alias): Remove unused vops member. (DR_UNCONSTRAINED_BASE): New define. * tree-data-ref.c (dr_analyze_indices): For COMPONENT_REFs add indices to allow their disambiguation. Make DR_BASE_OBJECT be an artificial access that covers the whole indexed object, or mark it with DR_UNCONSTRAINED_BASE if we cannot do so. Canonicalize plain decl base-objects to their MEM_REF variant. (dr_may_alias_p): When the base-object of either data reference has unknown size use only points-to information. (compute_affine_dependence): Make dumps easier to read and more verbose. * tree-vect-data-ref.c (vector_alignment_reachable_p): Use DR_REF when looking for packed references. (vect_supportable_dr_alignment): Likewise. * gcc.dg/torture/pr52406.c: New testcase. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@184789 138bc75d-0d04-0410-961f-82ee72b054a4 There are vectorizer problems. Vectorization doesn’t happened for the hottest routines calc2() and calc3(). Command line to reproduce gfortran -g -static -m32 -S -O3 -funroll-loops -msse2 -mfpmath=sse -ffast-math -march=corei7 swim.f gcc –v Using built-in specs. COLLECT_GCC=/gnumnt/msticlxl16_users/vbyakovl/workspaces/619/install-exp/bin/gcc COLLECT_LTO_WRAPPER=/gnumnt/msticlxl16_users/vbyakovl/workspaces/619/install-exp/bin/../libexec/gcc/x86_64-unknown-linux-gnu/4.8.0/lto-wrapper Target: x86_64-unknown-linux-gnu Configured with: ../gcc/configure --prefix=/export/users/vbyakovl/workspaces/619/install-exp --disable-bootstrap --enable-languages=c,c++,fortran CFLAGS=-g3 Thread model: posix gcc version 4.8.0 20120312 (experimental) (GCC)