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 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

* [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
  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
  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 ` 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

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).