[Bug fortran/32380] misaligned stores don't get vectorized
irar at il dot ibm dot com
gcc-bugzilla@gcc.gnu.org
Wed Jul 11 14:50:00 GMT 2007
------- Comment #2 from irar at il dot ibm dot com 2007-07-11 14:50 -------
I don't get any dependence test failures on current mainline. I think they were
solved by Zdenek's rewrite of data-refs' analysis, since I can still see those
failures on autovect-branch (with old data-refs' analysis):
unal.f:222: note: not vectorized: can't determine dependence between
csfsavloc.savfrc[D.2175_919] and csfsavloc.savfrc[D.2388_922]
unal.f:159: note: not vectorized: can't determine dependence between
aux01loc.fm11[D.2175_330] and aux01loc.fm11[D.2175_330]
unal.f:172: note: not vectorized: can't determine dependence between
aux01loc.ft11[D.2175_439] and aux01loc.ft11[D.2175_439]
On the mainline unal.f:222 gets vectorized now, and unal.f:159 and unal.f:172
are not vectorized because unsupported unaligned stores:
unal.f:222: note: LOOP VECTORIZED.(get_loop_exit_condition
unal.f:198: note: LOOP VECTORIZED.
unal.f:209: note: not vectorized: unsupported unaligned store.
unal.f:159: note: not vectorized: unsupported unaligned store.
unal.f:172: note: not vectorized: unsupported unaligned store.
unal.f:138: note: not vectorized: unsupported unaligned store.
unal.f:127: note: not vectorized: unsupported unaligned store.
With loop distribution we could vectorize these loops using peeling to handle
misaligned stores (multiple stores make peeling for alignment insufficient
here).
Misaligned stores support is on the top of our TODO list in Wiki (see
http://gcc.gnu.org/wiki/VectorizationTasks)...
I am adding "missed-optimization" keyword and changing the summary.
Thanks,
Ira
--
irar at il dot ibm dot com changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |irar at il dot ibm dot com
Status|UNCONFIRMED |NEW
Ever Confirmed|0 |1
Keywords| |missed-optimization
Last reconfirmed|0000-00-00 00:00:00 |2007-07-11 14:50:36
date| |
Summary|reports "unaligned store" |misaligned stores don't get
|and can't determine |vectorized
|dependence |
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32380
More information about the Gcc-bugs
mailing list