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: [lno] Fix bootstrap on ppc


Zdenek Dvorak wrote:

my attempt to fix the problem in the doloop was obviously bogus,
since loop->scan_start is always set; this one should be a bit better,
but probably still not quite correct.  Does not matter, current doloop will
disappear from the lno branch completely next week.

This indeed fixed the bootstrap. However, using the following Fortran source, I still don't get vectorization:


DIMENSION A(1000000), B(1000000), C(1000000)
READ*, X, Y
A = LOG(X); B = LOG(Y); C = A + B
PRINT*, C(500000)
END

The current complaint is:

<<<<<<< analyze_loop_nest >>>>>>>

<<vect_analyze_loop_form>>

<<get_loop_niters>>
get_loop_niters: 0.
0 iterations??
loop_analyzer: bad loop form.

for:

L.2:;
  T.15_18 = &c - 4;
  T.9_19 = (real4[] *)T.15_18;

  # S.10_1 = PHI <1(4), S.10_39(9)>;
<L7>:;
  T.16_25 = (*T.1_5)[S.10_1];
  T.17_26 = (*T.4_10)[S.10_1];
  T.18_27 = T.16_25 + T.17_26;
  (*T.9_19)[S.10_1] = T.18_27;
  S.10_39 = S.10_1 + 1;
  if (S.10_39 > 1000000) goto L.3; else goto <L11>;

<L11>:;
  goto <bb 5> (<L7>);

I hope this enlightens ...

--
Toon Moene - mailto:toon@moene.indiv.nluug.nl - phoneto: +31 346 214290
Saturnushof 14, 3738 XG  Maartensdijk, The Netherlands
Maintainer, GNU Fortran 77: http://gcc.gnu.org/onlinedocs/g77_news.html
GNU Fortran 95: http://gcc.gnu.org/fortran/ (under construction)


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