This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: RFA: Revamp fortran array types


Looking more carefully the induct test the critical loops at lines 1660,
1772, 2077, and 2220 are no longer vectorized with the patch. this explain
the factor almost two on a Core2Duo. Looking at some differences of the output
of -fdump-tree-vect-details, I see:

induct.f90:1660: note: Access function of PHI: {9, +, 4294967295}_3
induct.f90:1660: note: step: 4294967295,  init: 9
induct.f90:1660: note: Detected induction.
induct.f90:1660: note: Analyze phi: l12_lower_10 = PHI <l12_lower_9(13), l12_lower_442(15)>

induct.f90:1660: note: detected reduction: l12_lower_442 = D.8621_441 + l12_lower_10;

without the patch and

induct.f90:1660: note: Access function of PHI: {9, +, 4294967295}_3
induct.f90:1660: note: step: 4294967295,  init: 9
induct.f90:1660: note: Detected induction.
induct.f90:1660: note: Analyze phi: l12_lower_10 = PHI <l12_lower_9(13), l12_lower_442(15)>

induct.f90:1660: note: reduction: multiple types: operation type: real(kind=8), operands types: real(kind=8),real(kind=8)
induct.f90:1660: note: Unknown def-use cycle pattern.

with it. Is this enough to explain the missed vectorizations with
"not vectorized: unsupported use in stmt."?

It would also be nice to understand why the vectorization is not profitable
on an AMD Athlon64 X2 dual core 4800+ x86-64 (64bit) openSUSE to explain
why Tobias sees a speed-up.

Cheers

Dominique


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]