http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55334
--- Comment #13 from Jakub Jelinek 2012-11-16
14:17:00 UTC ---
(In reply to comment #12)
> so a "better" c case is
> float * mem;
> void sumN(int n) {
> float * a=mem;
> /*const*/ float * b=mem+n;
> /*const*/ float * c=mem+2*n;
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55334
--- Comment #12 from vincenzo Innocente
2012-11-16 13:58:33 UTC ---
so a "better" c case is
float * mem;
void sumN(int n) {
float * a=mem;
/*const*/ float * b=mem+n;
/*const*/ float * c=mem+2*n;
for (int i=0;i!=n;++i)
a[i
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55334
--- Comment #11 from Jakub Jelinek 2012-11-16
13:55:54 UTC ---
(In reply to comment #10)
> actually looking into the generated code I do not see any trace of "runtime
> check"
> even in presence of "const"
The vectorizer creates the ve
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55334
--- Comment #10 from vincenzo Innocente
2012-11-16 13:46:13 UTC ---
actually looking into the generated code I do not see any trace of "runtime
check"
even in presence of "const"
c++ -O3 -ftree-vectorizer-verbose=1 -c alias.cc
Analy
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55334
--- Comment #9 from Jakub Jelinek 2012-11-16
13:29:05 UTC ---
Ah, on the #c5 testcase the problem seems to be const float * vs. float *,
/* If the references do not access the same object, we do not know
whether they alias or not.
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55334
Jan Hubicka changed:
What|Removed |Added
CC||pthaugen at gcc dot gnu.org
--- C
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55334
--- Comment #7 from Jan Hubicka 2012-11-16
13:19:51 UTC ---
The C testcase is simiar - in the mgrid case we are probably able to derrive
useful loop bounds now and the dependency analysis could use them (but
doesn't). I will try to look in
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55334
Jakub Jelinek changed:
What|Removed |Added
CC||jakub at gcc dot gnu.org
--- Co
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55334
--- Comment #5 from vincenzo Innocente
2012-11-16 10:56:11 UTC ---
is the problem similar to what described in PR55213?
or here
float mem[3*1024];
void sum() {
float * a=mem;
const float * b=mem+1024;
const float * c=mem+2*1024;
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55334
Jan Hubicka changed:
What|Removed |Added
CC||matz at suse dot de
--- Comment #
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55334
Jan Hubicka changed:
What|Removed |Added
Status|UNCONFIRMED |NEW
Last reconfirmed|
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55334
--- Comment #2 from Jan Hubicka 2012-11-15
11:07:10 UTC ---
I think the problem is that we somehow make MEM_REF to be base...
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55334
vincenzo Innocente changed:
What|Removed |Added
CC||vincenzo.innocente at cern
13 matches
Mail list logo