[Bug tree-optimization/33246] Missed opportunities for vectorization due to data ref analysis

2007-08-29 Thread spop at gcc dot gnu dot org


--- Comment #1 from spop at gcc dot gnu dot org  2007-08-30 03:07 ---
Created an attachment (id=14136)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=14136&action=view)
testcase

I just realized that all these inlined testcases were scrambled by bugzilla.
I'm submitting the testcases as attachments.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33246



[Bug tree-optimization/33246] Missed opportunities for vectorization due to data ref analysis

2007-08-30 Thread steven at gcc dot gnu dot org


--- Comment #2 from steven at gcc dot gnu dot org  2007-08-30 08:07 ---
Having this case vectorized might help us look better compared to other
compilers.  gfortran produces a 65% slower "fatigue" binary than the faster
compiler (Sun f95, see http://www.eleves.ens.fr/home/coudert/benchmark.pdf)


-- 

steven at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2007-08-30 08:07:00
   date||


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33246



[Bug tree-optimization/33246] Missed opportunities for vectorization due to data ref analysis

2007-08-31 Thread dorit at gcc dot gnu dot org


--- Comment #3 from dorit at gcc dot gnu dot org  2007-08-31 13:57 ---
...
> This is due to data ref analysis problems:
> ./fatigue.f90:14: note: not vectorized: data ref analysis failed
> (*stress_tensor.0_16)[D.1508_168] = D.1513_173
> ./fatigue.f90:14: note: bad data references.
> and
> ./fatigue.f90:14: note: not vectorized: data ref analysis failed D.1489_133 =
> (*strain_tensor.0_41)[D.1488_132]
> ./fatigue.f90:14: note: bad data references.

The data-ref analyzer reports:
   failed: evolution of offset is not affine.

As a result, the DR fields that represent the access relative to the inner-most
loop are almost all empty:

base_address:
offset from base address:
constant offset from base address:
step:
aligned to:
base_object: (*(real8[0:D.1433] *) D.1437_15)[0]
symbol tag: SMT.79

However note that the DR fields relative to the outer-loop are computable:

outer base_address: &A.23
outer offset from base address: 0
outer constant offset from base address: 0
outer step: 24
outer aligned to: 128

If the data-ref analyzer can return the expression for the evolution in the
inner-loop, instead of failing, we would at least have a chance to do
outer-loop vectorization. 

This is a duplicate of PR33113.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33246



[Bug tree-optimization/33246] Missed opportunities for vectorization due to data ref analysis

2007-08-31 Thread spop at gcc dot gnu dot org


--- Comment #4 from spop at gcc dot gnu dot org  2007-08-31 14:19 ---
Duplicate.

*** This bug has been marked as a duplicate of 33113 ***


-- 

spop at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||DUPLICATE


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33246