https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70729
Martin Liška changed:
What|Removed |Added
CC||marxin at gcc dot gnu.org
--- Comment #39
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70729
Bug 70729 depends on bug 77318, which changed state.
Bug 77318 Summary: [7 regression] FAIL: gfortran.dg/graphite/pr68279.f90 -O
(internal compiler error)
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77318
What|Removed
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70729
--- Comment #38 from Jakub Jelinek ---
Sorry, make that
__attribute__((noinline, noclone)) void
baz (int *p, int *q, int *r, int *s)
{
#pragma omp simd
for (int i = 0; i < 1024; i++)
{
p[i] += q[0] * 6;
r[i] += s[0] * 9;
}
}
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70729
--- Comment #37 from Yuri Rumyantsev ---
Jakub,
I assume that yoour #C33 test-case is not correct, i.e. it can not be
marked with pragma omp simd. For example, even if we turn off lim
phase it will be aborted:
my_g++ -O3 -m64 t33.cpp -o t33.exe
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70729
--- Comment #36 from Yuri Rumyantsev ---
#c33 testcase was not tested since I have some doubts about it. Note
that original problem was
#pragma omp simd
for (int i=0; i:
> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70729
>
> --- Comment #35 f
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70729
--- Comment #35 from Jakub Jelinek ---
Doesn't it still miscompile the #c33 testcase?
Say with __attribute__((noinline, noclone)) on baz and
int v[2048];
int
main ()
{
v[1023] = 5;
baz (v, v + 1023, v + 1024, v + 1023);
int i;
for (i = 0
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70729
--- Comment #34 from Yuri Rumyantsev ---
Thanks a lot Jakub for your detail comments.
I have simple fix which cures failures from 71734. The fix is simple
enough and simply check that the ref in problem belongs to simd loop:
diff --git a/gcc/tre
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70729
--- Comment #33 from Jakub Jelinek ---
In any case, loop->safelen > 0 test looks also wrong, if there are guarantees
about single iteration only (safelen(1)), then there is nothing useful at all.
So it must be loop->safelen >= 2.
For foo in #c29
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70729
--- Comment #32 from Jakub Jelinek ---
Also, the testcase has weird dg- directives:
// { dg-do compile }
// { dg-require-effective-target vect_simd_clones }
// { dg-additional-options "-Ofast" }
// { dg-additional-options "-mavx2 -fopenmp-simd" {
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70729
--- Comment #31 from Jakub Jelinek ---
A question is if #pragma GCC ivdep has similar guarantees/restrictions; the
documentation only disallows certain loop-carried dependencies, in particular
those that would prevent vectorization, so I think it
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70729
--- Comment #30 from Jakub Jelinek ---
Another thing to think of, e.g.
void
baz (int *p, int *q)
{
#pragma omp simd safelen(2)
for (int i = 0; i < 1024; i++)
p[4 * i] += q[0];
}
for aliasing p[4 * 1022] I think still applies that if (&q[0
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70729
--- Comment #29 from Jakub Jelinek ---
The #c27 r237844 change looks bogus to me.
First of all, IMNSHO you can argue this way only if ref is a reference seen in
loop LOOP, which is the case of e.g. *.omp_data_i_23(D).a ref in simd3.f90 -O2
-fopen
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70729
--- Comment #28 from Kirill Yukhin ---
Author: kyukhin
Date: Fri Jul 1 09:42:01 2016
New Revision: 237907
URL: https://gcc.gnu.org/viewcvs?rev=237907&root=gcc&view=rev
Log:
PR tree-optimization/70729
gcc/
* tree-vectorizer.c (adjust_si
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70729
--- Comment #27 from Ilya Enkovich ---
Author: ienkovich
Date: Wed Jun 29 10:16:43 2016
New Revision: 237844
URL: https://gcc.gnu.org/viewcvs?rev=237844&root=gcc&view=rev
Log:
gcc/
2016-06-29 Yuri Rumyantsev
PR tree-optimization/707
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70729
--- Comment #26 from Richard Biener ---
(In reply to Yuri Rumyantsev from comment #25)
> Created attachment 38684 [details]
> patch.2
>
> Richard!
>
> I prepared the second part of patch and checked that it does not
> produce any new failures.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70729
--- Comment #25 from Yuri Rumyantsev ---
Richard!
I prepared the second part of patch and checked that it does not
produce any new failures.
What is your opinion - could I send it to GCC community for review?
ChangeLog:
2016-06-10 Yuri Rumyant
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70729
--- Comment #24 from rguenther at suse dot de ---
On Wed, 8 Jun 2016, ysrumyan at gmail dot com wrote:
> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70729
>
> --- Comment #23 from Yuri Rumyantsev ---
> OK. I will try to prepare the second par
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70729
--- Comment #23 from Yuri Rumyantsev ---
OK. I will try to prepare the second part of patch.
Few comments about vect-simd-clone-5.c test failure.
1. This loop is marked with safelen=MAX_INT.
2. It contains the following stmt's:
D.3301 = foo.simdc
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70729
--- Comment #22 from rguenther at suse dot de ---
On Tue, 7 Jun 2016, ysrumyan at gmail dot com wrote:
> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70729
>
> --- Comment #21 from Yuri Rumyantsev ---
> Richard!
>
> Are you planning to prepar
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70729
--- Comment #21 from Yuri Rumyantsev ---
Richard!
Are you planning to prepare the second part of the patch (zeroing safelen and
testing it in loop invariant motion phase as you proposed)?
Thanks.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70729
--- Comment #20 from rguenther at suse dot de ---
On Fri, 20 May 2016, sch...@linux-m68k.org wrote:
> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70729
>
> --- Comment #18 from Andreas Schwab ---
> FAIL: gfortran.dg/graphite/pr68279.f90 -O
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70729
ktkachov at gcc dot gnu.org changed:
What|Removed |Added
CC||ktkachov at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70729
--- Comment #18 from Andreas Schwab ---
FAIL: gfortran.dg/graphite/pr68279.f90 -O (internal compiler error)
/opt/gcc/gcc-20160520/gcc/testsuite/gfortran.dg/graphite/pr68279.f90:8:0:
internal compiler error: Aborted
0xb9e487 crash_signal
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70729
--- Comment #17 from Richard Biener ---
Only the LIM safelen part should be missing now (and unsetting of safelen after
lowering of simd-lane).
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70729
--- Comment #16 from Richard Biener ---
Author: rguenth
Date: Thu May 19 07:39:52 2016
New Revision: 236440
URL: https://gcc.gnu.org/viewcvs?rev=236440&root=gcc&view=rev
Log:
2016-05-19 Richard Biener
PR tree-optimization/70729
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70729
--- Comment #15 from rguenther at suse dot de ---
On Fri, 29 Apr 2016, ienkovich at gcc dot gnu.org wrote:
> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70729
>
> --- Comment #14 from Ilya Enkovich ---
> (In reply to Richard Biener from comme
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70729
--- Comment #14 from Ilya Enkovich ---
(In reply to Richard Biener from comment #13)
> (In reply to Yuri Rumyantsev from comment #12)
> > Created attachment 38367 [details]
> > modified patch
>
> The loop->aux flagging looks redundant to me. Wh
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70729
--- Comment #13 from Richard Biener ---
(In reply to Yuri Rumyantsev from comment #12)
> Created attachment 38367 [details]
> modified patch
The loop->aux flagging looks redundant to me. Why is ->safelen only valid
before vectorization? I supp
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70729
--- Comment #12 from Yuri Rumyantsev ---
Created attachment 38367
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=38367&action=edit
modified patch
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70729
--- Comment #11 from Yuri Rumyantsev ---
Richard,
I slightly modify the patch proposed by you:
1. Apply loop->safelen check only if lim is invoked before loop vectorization
since its value could be non-correct (I simply add bool param to it).
2.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70729
--- Comment #10 from Richard Biener ---
(In reply to Richard Biener from comment #9)
> Oh, and I believe to make nests with only outer safelen > 0 work correctly we
> need to move the check elsewhere:
>
> Index: gcc/tree-ssa-loop-im.c
>
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70729
--- Comment #9 from Richard Biener ---
Oh, and I believe to make nests with only outer safelen > 0 work correctly we
need to move the check elsewhere:
Index: gcc/tree-ssa-loop-im.c
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70729
--- Comment #8 from Richard Biener ---
Index: gcc/passes.def
===
--- gcc/passes.def (revision 235237)
+++ gcc/passes.def (working copy)
@@ -244,6 +244,7 @@ along with GCC;
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70729
--- Comment #7 from rguenther at suse dot de ---
On Tue, 19 Apr 2016, ienkovich at gcc dot gnu.org wrote:
> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70729
>
> Ilya Enkovich changed:
>
>What|Removed |Add
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70729
--- Comment #6 from Yuri Rumyantsev ---
Richard,
I did change proposed by you but it still does not help since we have
loop-carried dependency through this_4(D)->S_n:
:
_5 = this_4(D)->S_n;
...
:
pretmp_54 = this_4(D)->C2;
pretmp_57 =
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70729
Ilya Enkovich changed:
What|Removed |Added
CC||ienkovich at gcc dot gnu.org
--- Comment
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70729
--- Comment #4 from Richard Biener ---
Doing invariant motion before PRE makes sense (w/o store motion, after
loop header copying).
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70729
--- Comment #3 from Richard Biener ---
-fno-tree-pre "fixes" this.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70729
Richard Biener changed:
What|Removed |Added
Status|UNCONFIRMED |NEW
Last reconfirmed|
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70729
--- Comment #1 from Yuri Rumyantsev ---
Created attachment 38309
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=38309&action=edit
test-case to reproduce
Must be compiled with -Ofast -mavx2 -fopenmp options on x86 machine.
40 matches
Mail list logo