This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [lno] Fix bootstrap on ppc
- From: Toon Moene <toon at moene dot indiv dot nluug dot nl>
- To: Zdenek Dvorak <rakdver at atrey dot karlin dot mff dot cuni dot cz>
- Cc: gcc-patches at gcc dot gnu dot org, DORIT at il dot ibm dot com
- Date: Sun, 25 Jan 2004 16:53:00 +0100
- Subject: Re: [lno] Fix bootstrap on ppc
- Organization: Moene Computational Physics, Maartensdijk, The Netherlands
- References: <20040125000427.GA30780@atrey.karlin.mff.cuni.cz>
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)