public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug tree-optimization/32375] not vectorized: can't determine dependence (array sections)
[not found] <bug-32375-4@http.gcc.gnu.org/bugzilla/>
@ 2012-07-13 8:59 ` rguenth at gcc dot gnu.org
2012-07-16 13:03 ` rguenth at gcc dot gnu.org
1 sibling, 0 replies; 7+ messages in thread
From: rguenth at gcc dot gnu.org @ 2012-07-13 8:59 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32375
Richard Guenther <rguenth at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Blocks| |53947
--- Comment #7 from Richard Guenther <rguenth at gcc dot gnu.org> 2012-07-13 08:58:32 UTC ---
Link to vectorizer missed-optimization meta-bug.
^ permalink raw reply [flat|nested] 7+ messages in thread
* [Bug tree-optimization/32375] not vectorized: can't determine dependence (array sections)
[not found] <bug-32375-4@http.gcc.gnu.org/bugzilla/>
2012-07-13 8:59 ` [Bug tree-optimization/32375] not vectorized: can't determine dependence (array sections) rguenth at gcc dot gnu.org
@ 2012-07-16 13:03 ` rguenth at gcc dot gnu.org
1 sibling, 0 replies; 7+ messages in thread
From: rguenth at gcc dot gnu.org @ 2012-07-16 13:03 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32375
--- Comment #8 from Richard Guenther <rguenth at gcc dot gnu.org> 2012-07-16 13:03:10 UTC ---
The issue is that we have
<bb 5>:
# j_2 = PHI <2(4), j_30(10)>
pretmp.38_71 = (integer(kind=8)) j_2;
pretmp.38_72 = stride.2_6 * pretmp.38_71;
pretmp.38_73 = offset.3_8 + pretmp.38_72;
pretmp.39_75 = j_2 + -1;
pretmp.40_76 = (integer(kind=8)) pretmp.39_75;
pretmp.40_77 = stride.2_6 * pretmp.40_76;
pretmp.40_78 = offset.3_8 + pretmp.40_77;
<bb 6>:
# i_37 = PHI <i_29(7), 1(5)>
...
D.1940_22 = *aa_21(D)[D.1939_20];
*aa_21(D)[D.1934_14] = D.1950_28;
and data-dependence analysis sees
(analyze_overlapping_iterations
(chrec_a = {pretmp.40_78 + 1, +, 1}_2)
(chrec_b = {pretmp.38_73 + 1, +, 1}_2)
and
(analyze_overlapping_iterations
(chrec_a = {{(stride.2_6 + offset.3_8) + 1, +, stride.2_6}_1, +, 1}_2)
(chrec_b = {{(stride.2_6 * 2 + offset.3_8) + 1, +, stride.2_6}_1, +, 1}_2)
^ permalink raw reply [flat|nested] 7+ messages in thread
* [Bug fortran/32375] New: not vectorized: can't determine dependence (array sections)
@ 2007-06-17 15:02 tprince at computer dot org
2007-06-18 3:14 ` [Bug tree-optimization/32375] " pinskia at gcc dot gnu dot org
` (4 more replies)
0 siblings, 5 replies; 7+ messages in thread
From: tprince at computer dot org @ 2007-06-17 15:02 UTC (permalink / raw)
To: gcc-bugs
gfortran -O2 -ftree-vectorize -ftree-vectorizer-verbose=2 -c -v s414a.f
The source and destination sections of aa(:,:) do not overlap, unless there is
a subscript over-run. Even that case could be taken care of by loop reversal.
This is a simplification of a case from:
http://www.netlib.org/benchmark/vectors
--
Summary: not vectorized: can't determine dependence (array
sections)
Product: gcc
Version: 4.3.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: fortran
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: tprince at computer dot org
GCC build triplet: x86_64-unknown-linux-gnu
GCC host triplet: x86_64-unknown-linux-gnu
GCC target triplet: x86_64-unknown-linux-gnu
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32375
^ permalink raw reply [flat|nested] 7+ messages in thread
* [Bug tree-optimization/32375] not vectorized: can't determine dependence (array sections)
2007-06-17 15:02 [Bug fortran/32375] New: " tprince at computer dot org
@ 2007-06-18 3:14 ` pinskia at gcc dot gnu dot org
2007-07-01 12:46 ` dorit at gcc dot gnu dot org
` (3 subsequent siblings)
4 siblings, 0 replies; 7+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2007-06-18 3:14 UTC (permalink / raw)
To: gcc-bugs
------- Comment #2 from pinskia at gcc dot gnu dot org 2007-06-18 03:13 -------
I think some of this is related to PR 32075.
--
pinskia at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
BugsThisDependsOn| |32075
Severity|normal |enhancement
Status|UNCONFIRMED |NEW
Component|fortran |tree-optimization
Ever Confirmed|0 |1
GCC build triplet|x86_64-unknown-linux-gnu |
GCC host triplet|x86_64-unknown-linux-gnu |
GCC target triplet|x86_64-unknown-linux-gnu |
Keywords| |missed-optimization
Last reconfirmed|0000-00-00 00:00:00 |2007-06-18 03:13:55
date| |
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32375
^ permalink raw reply [flat|nested] 7+ messages in thread
* [Bug tree-optimization/32375] not vectorized: can't determine dependence (array sections)
2007-06-17 15:02 [Bug fortran/32375] New: " tprince at computer dot org
2007-06-18 3:14 ` [Bug tree-optimization/32375] " pinskia at gcc dot gnu dot org
@ 2007-07-01 12:46 ` dorit at gcc dot gnu dot org
2007-10-30 17:01 ` spop at gcc dot gnu dot org
` (2 subsequent siblings)
4 siblings, 0 replies; 7+ messages in thread
From: dorit at gcc dot gnu dot org @ 2007-07-01 12:46 UTC (permalink / raw)
To: gcc-bugs
------- Comment #3 from dorit at gcc dot gnu dot org 2007-07-01 12:46 -------
Looks like a similar problem to PR32378:
(compute_affine_dependence
(stmt_a =
D.1398_74 = (*aa_73(D))[D.1397_72])
(stmt_b =
(*aa_73(D))[D.1393_68] = D.1408_88)
(subscript_dependence_tester
(analyze_overlapping_iterations
(chrec_a = {D.1396_71 + 1, +, 1}_2)
(chrec_b = {D.1392_67 + 1, +, 1}_2)
(analyze_siv_subscript
siv test failed: unimplemented.
)
(overlap_iterations_a = not known
)
(overlap_iterations_b = not known
)
)
(dependence classified: scev_not_known)
--
dorit at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |spop at gcc dot gnu dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32375
^ permalink raw reply [flat|nested] 7+ messages in thread
* [Bug tree-optimization/32375] not vectorized: can't determine dependence (array sections)
2007-06-17 15:02 [Bug fortran/32375] New: " tprince at computer dot org
2007-06-18 3:14 ` [Bug tree-optimization/32375] " pinskia at gcc dot gnu dot org
2007-07-01 12:46 ` dorit at gcc dot gnu dot org
@ 2007-10-30 17:01 ` spop at gcc dot gnu dot org
2007-10-30 17:37 ` spop at gcc dot gnu dot org
2007-10-30 17:59 ` sebpop at gmail dot com
4 siblings, 0 replies; 7+ messages in thread
From: spop at gcc dot gnu dot org @ 2007-10-30 17:01 UTC (permalink / raw)
To: gcc-bugs
------- Comment #4 from spop at gcc dot gnu dot org 2007-10-30 17:01 -------
Subject: Re: not vectorized: can't determine dependence (array sections)
On 1 Jul 2007 12:46:31 -0000, dorit at gcc dot gnu dot org
<gcc-bugzilla@gcc.gnu.org> wrote:
> (dependence classified: scev_not_known)
>
I still see the data dependence problem, but now the loop gets
vectorized on i686-linux with "-O3 -msse2" and also with "-O2
-ftree-vectorize -msse2"
> Looks like a similar problem to PR32378:
The same with this other PR. The testcase gets vectorized even with
the failed dependence test.
Sebastian
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32375
^ permalink raw reply [flat|nested] 7+ messages in thread
* [Bug tree-optimization/32375] not vectorized: can't determine dependence (array sections)
2007-06-17 15:02 [Bug fortran/32375] New: " tprince at computer dot org
` (2 preceding siblings ...)
2007-10-30 17:01 ` spop at gcc dot gnu dot org
@ 2007-10-30 17:37 ` spop at gcc dot gnu dot org
2007-10-30 17:59 ` sebpop at gmail dot com
4 siblings, 0 replies; 7+ messages in thread
From: spop at gcc dot gnu dot org @ 2007-10-30 17:37 UTC (permalink / raw)
To: gcc-bugs
------- Comment #5 from spop at gcc dot gnu dot org 2007-10-30 17:36 -------
Subject: Re: not vectorized: can't determine dependence (array sections)
> The testcase gets vectorized even with the failed dependence test.
>
This is okay. The test for non-dependence is added to the run-time
condition with which we version the code. We call the function
vect_mark_for_runtime_alias_test instead of failing because of the
undetermined dependence test.
Sebastian
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32375
^ permalink raw reply [flat|nested] 7+ messages in thread
* [Bug tree-optimization/32375] not vectorized: can't determine dependence (array sections)
2007-06-17 15:02 [Bug fortran/32375] New: " tprince at computer dot org
` (3 preceding siblings ...)
2007-10-30 17:37 ` spop at gcc dot gnu dot org
@ 2007-10-30 17:59 ` sebpop at gmail dot com
4 siblings, 0 replies; 7+ messages in thread
From: sebpop at gmail dot com @ 2007-10-30 17:59 UTC (permalink / raw)
To: gcc-bugs
------- Comment #6 from sebpop at gmail dot com 2007-10-30 17:59 -------
Subject: Re: not vectorized: can't determine dependence (array sections)
I would like to keep the two bugs, PR32375 and PR32378, open as we can
vectorize them without having to version the code.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32375
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2012-07-16 13:03 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
[not found] <bug-32375-4@http.gcc.gnu.org/bugzilla/>
2012-07-13 8:59 ` [Bug tree-optimization/32375] not vectorized: can't determine dependence (array sections) rguenth at gcc dot gnu.org
2012-07-16 13:03 ` rguenth at gcc dot gnu.org
2007-06-17 15:02 [Bug fortran/32375] New: " tprince at computer dot org
2007-06-18 3:14 ` [Bug tree-optimization/32375] " pinskia at gcc dot gnu dot org
2007-07-01 12:46 ` dorit at gcc dot gnu dot org
2007-10-30 17:01 ` spop at gcc dot gnu dot org
2007-10-30 17:37 ` spop at gcc dot gnu dot org
2007-10-30 17:59 ` sebpop at gmail dot com
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).