--- Comment #4 from victork at gcc dot gnu dot org 2008-09-08 20:31 ---
Here is slightly simplified test:
== cut
typedef int int_t;
typedef void (*fun_t) (int);
fun_t fun_tab[400] __attribute__ ((__aligned__(16)));
void foo (int_t a
--- Comment #3 from victork at gcc dot gnu dot org 2008-09-07 07:35 ---
Subject: Bug 37334
Author: victork
Date: Sun Sep 7 07:34:30 2008
New Revision: 140082
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=140082
Log:
2008-09-07 Victor Kaplansky <[EMAI
--- Comment #2 from victork at gcc dot gnu dot org 2008-09-03 10:20 ---
Yes, looks like a problem in testcase. This patch should fix it:
Index: gcc/testsuite/gcc.dg/fastmath-2.c
===
--- gcc/testsuite/gcc.dg/fastmath-2.c
--- Comment #3 from victork at gcc dot gnu dot org 2008-08-11 07:48 ---
*** Bug 36099 has been marked as a duplicate of this bug. ***
--
victork at gcc dot gnu dot org changed:
What|Removed |Added
--- Comment #8 from victork at gcc dot gnu dot org 2008-08-11 07:48 ---
*** This bug has been marked as a duplicate of 6 ***
--
victork at gcc dot gnu dot org changed:
What|Removed |Added
--- Comment #2 from victork at gcc dot gnu dot org 2008-08-05 11:07 ---
> Works for me if you schedule another copyprop and dce before the vectorizer.
Yes, on powerpc it gets vectorized by non-SLP even without additional copyprop
and dce, but in this case non-SLP vectorization requ
--- Comment #6 from victork at gcc dot gnu dot org 2008-08-05 08:16 ---
> Hm, following testcase doesn't vectorize due to vect cost model
> (-O2 -msse3 -ftree-vectorize -ffast-math) on i686 target:
The problem is that we count some costs twice - as being vectorized by SLP
--- Comment #7 from victork at gcc dot gnu dot org 2008-08-05 08:11 ---
Regarding missing SLP vectorization of reductions I have opened new bug report
- PR37027.
Regarding not vectorized call to __builtin_cexpi() we already have a bug report
PR6 about missing support of generic
tus: UNCONFIRMED
Keywords: missed-optimization
Severity: enhancement
Priority: P3
Component: tree-optimization
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: victork at gcc dot gnu dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37027
--- Comment #5 from victork at gcc dot gnu dot org 2008-08-04 11:15 ---
Closing as duplicate of PR30211 (and PR35252).
*** This bug has been marked as a duplicate of 30211 ***
--
victork at gcc dot gnu dot org changed:
What|Removed |Added
--- Comment #2 from victork at gcc dot gnu dot org 2008-08-04 11:15 ---
*** Bug 36840 has been marked as a duplicate of this bug. ***
--
victork at gcc dot gnu dot org changed:
What|Removed |Added
--- Comment #6 from victork at gcc dot gnu dot org 2008-07-29 22:56 ---
I had a closer look into testcase in original bug report and it appears that
vectorizer fails on attempt to vectorize __builtin_cexpi ().
Regarding different behavior of vectorizer with -m32 and -m64 described in
--- Comment #2 from victork at gcc dot gnu dot org 2008-07-29 22:06 ---
Revision 138198 fixes loop aware SLP vectorization for addition of complex
numbers. So if addition of is done inside a loop, there is a good chance now
that it will be vectorized.
--
http://gcc.gnu.org/bugzilla
--- Comment #1 from victork at gcc dot gnu dot org 2008-07-29 21:54 ---
*** Bug 35252 has been marked as a duplicate of this bug. ***
--
victork at gcc dot gnu dot org changed:
What|Removed |Added
--- Comment #3 from victork at gcc dot gnu dot org 2008-07-29 21:54 ---
Revision 138198 fixes vectorization of addition of complex numbers, while
vectorization complex multiplication works on PowerPC and on x86 is a known
issue
- see pr30211.
I'm closing this bugzilla as duplica
--- Comment #2 from victork at gcc dot gnu dot org 2008-07-27 21:45 ---
Subject: Bug 35252
Author: victork
Date: Sun Jul 27 21:44:25 2008
New Revision: 138198
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=138198
Log:
2008-07-27 Victor Kaplansky <[EMAI
--- Comment #4 from victork at gcc dot gnu dot org 2008-07-24 12:30 ---
I'm going to submit a patch which will enable SLP vectorization on complex data
types. But SLP will handle only add, substruct, compare and other operations
which doesn't require permutation.
Adding
--- Comment #7 from victork at gcc dot gnu dot org 2008-04-30 10:51 ---
> -m32?
Better, but a bunch of 45 errors like below remained.
% g++ -g -O3 -march=core2 -mfpmath=sse -msse -ftemplate-depth-4096
-Wnon-virtual-dtor -fPIC kernel_build.ii > log 2>&1
/usr/lib/gcc/i
--- Comment #4 from victork at gcc dot gnu dot org 2008-04-30 09:44 ---
> have you tried to compile with -march=core2 -mfpmath=sse -msse?
Yes, I've compiled it as following:
% g++ -g -O3 -march=core2 -mfpmath=sse -msse -ftemplate-depth-4096
-Wnon-virtual-dtor -fPIC kernel_
--- Comment #2 from victork at gcc dot gnu dot org 2008-04-30 02:48 ---
Hello,
I've tried to complile the attached kernel_build.ii on my SUSE SLES 10 x86_64
machine, but got a bunch of compile errors like this:
In file included from /usr/lib/gcc/i486-linux-gnu/4.3.1/in
--- Comment #6 from victork at gcc dot gnu dot org 2008-04-10 10:36 ---
The problem in reduced testcase is that loop gets vectorized by gcc 4.2 despite
a dependency between iterations with distance 1.
compute_data_dependences_for_loop () returns "chrec_known" for DDR {
i
--- Comment #5 from victork at gcc dot gnu dot org 2008-03-26 10:27 ---
I've managed to reproduce the problem with gcc from 4.2 branch on x86_64
machine.
Note that the reduced testcase works with -m32 command line switch.
--
victork at gcc dot gnu dot org changed:
--- Comment #15 from victork at gcc dot gnu dot org 2008-03-25 10:47
---
Just to make clear my previous comment. I think that it *is* possible that
original code violates c/c++ aliasing rules, but the example given by Richard
Guenther is not-vectorized since currently we do not
--- Comment #14 from victork at gcc dot gnu dot org 2008-03-24 19:14
---
> I tend to agree with Andrew here. If you go through a packed union the
> failure
> vanishes:
> So, IMHO this bug is invalid.
The fact that failure vanishes is not a good argument here. The fail
--- Comment #10 from victork at gcc dot gnu dot org 2008-03-23 17:26
---
> This code violates c/c++ aliasing rules.
Probably you are right, but,
1. -fno-strict-aliasing doesn't help
2. -Wstrict-aliasing -Wstrict-aliasing=2 doesn't give any warning.
3. I don't think th
--- Comment #9 from victork at gcc dot gnu dot org 2008-03-23 17:21 ---
> Accessing the memory as uint32_t is done for performance reasons,
In this particular case you write a 4-byte constant 0x04000400. Changing this
to
a loop running double number of iterations of 2-byte (unsig
--- Comment #6 from victork at gcc dot gnu dot org 2008-03-23 13:33 ---
Here is AN even more reduced example which demonstrates the problem:
int main()
{
char buf[256];
char *dest;
int i;
dest = &buf[2];
for (i = 0; i < 32; i++)
{
*(unsigned *)dest = 0;
de
--- Comment #6 from victork at gcc dot gnu dot org 2008-03-20 13:43 ---
After some regression hunting, I see that failures of vectorizer testcases
started after this patch:
r133144 | bonzini | 2008-03-12 17:33:45
--- Comment #5 from victork at gcc dot gnu dot org 2008-03-20 09:42 ---
I see same failures using compiler boostrapped with vectorization enabled using
BOOT_CFLAGS="-g -O2 -ftree-vectorize -maltivec -mabi=altivec"
Tests fail because some loops were not vectorized:
home/victor
--- Comment #4 from victork at gcc dot gnu dot org 2008-03-19 10:37 ---
I've submitted a patch http://gcc.gnu.org/ml/gcc-patches/2008-03/msg01129.html
to fix this in testsuite.
--
victork at gcc dot gnu dot org changed:
What|Removed |
--- Comment #3 from victork at gcc dot gnu dot org 2008-03-19 09:31 ---
*** Bug 34878 has been marked as a duplicate of this bug. ***
--
victork at gcc dot gnu dot org changed:
What|Removed |Added
--- Comment #9 from victork at gcc dot gnu dot org 2008-03-19 09:31 ---
*** This bug has been marked as a duplicate of 34168 ***
--
victork at gcc dot gnu dot org changed:
What|Removed |Added
--- Comment #1 from victork at gcc dot gnu dot org 2008-03-12 06:05 ---
We don't recognize REALPART_EXPR and IMAGPART_EXPR in vectorizer.
These should be recognized as load operations:
CR.39_21 = REALPART_EXPR ;
CI.40_22 = IMAGPART_EXPR ;
CR.41_23 = REALPART_EXPR ;
CI.
--- Comment #6 from victork at gcc dot gnu dot org 2008-03-05 08:08 ---
Subject: Bug 31341
Author: victork
Date: Wed Mar 5 08:08:11 2008
New Revision: 132892
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=132892
Log:
2008-03-05 Victor Kaplansky <[EMAI
ReportedBy: victork at gcc dot gnu dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35467
--- Comment #3 from victork at gcc dot gnu dot org 2008-02-28 09:48 ---
I have no installed cygwin, could you check if this patch fixes the failure?
Index: gcc/testsuite/gcc.dg/vect/pr31041.c
===
--- gcc/testsuite/gcc.dg
--- Comment #34 from victork at gcc dot gnu dot org 2008-02-14 13:41
---
> How do I resolve those issues? which might prevent from the vectorized code to
> run and therefore I dont see a bigger performance improvement?
> I'd appriciate any assistance...
This note is ju
--- Comment #31 from victork at gcc dot gnu dot org 2008-02-12 10:51
---
> I would appriciate, however, a further explaination about this issue.
The explanation has to deal with CPU architecture and is not related to
compilers. In case of cache miss the memory load and store t
--- Comment #28 from victork at gcc dot gnu dot org 2008-02-11 14:21
---
> As for the last email, Victor:
> 1. Using a smaller number of iterations, doesnt help me. This is not what
> the
> real world code runs.
Looks like in your example the memory subsystem is a
--- Comment #26 from victork at gcc dot gnu dot org 2008-02-11 13:41
---
Probably, the small difference between vectorized and non-vectorized versions
can be explained by the fact that big arrays do not fit the memory cache.
Here is the version of the original program which shows that
--- Comment #24 from victork at gcc dot gnu dot org 2008-02-11 12:23
---
Hi,
Here are some more of my observations.
1. For some unclear reason there is indeed no much difference between
vectorized and non-vectorized versions for long runs like "time ./TestNoVec
92200 8 89720
--- Comment #22 from victork at gcc dot gnu dot org 2008-02-10 15:06
---
1. It looks like vectorizer was enabled in both cases, since -O3 enables the
vectorizer by the default. You need to add -fno-tree-vectorize to disable it
explicitly.
2. To get better results from vectorized
--- Comment #4 from victork at gcc dot gnu dot org 2007-12-12 04:06 ---
I have tried both testcases with compiler built from svn branch of 4.2
(svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_2-branch) on x86_64.
Both cases run correctly. Looks like this bug is already fixed in 4.2 and 4.3
--- Comment #37 from victork at gcc dot gnu dot org 2007-11-14 12:22
---
Fixed in revision 130138.
--
victork at gcc dot gnu dot org changed:
What|Removed |Added
--- Comment #36 from victork at gcc dot gnu dot org 2007-11-13 13:53
---
Subject: Bug 32582
Author: victork
Date: Tue Nov 13 13:53:33 2007
New Revision: 130138
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=130138
Log:
2007-11-13 Victor Kaplansky <[EMAI
--- Comment #13 from victork at gcc dot gnu dot org 2007-11-13 13:26
---
I've just tested it with 4.2 on x86 on it worked OK as well.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33319
--- Comment #12 from victork at gcc dot gnu dot org 2007-11-13 12:26
---
> Still fails on 4.2 branch.
I've just tried with 4.2 on PPC from svn and it did not ICE:
./gcc/cc1plus -O3 -ftree-vectorize -maltivec ~/42/build/pr27549.C
Can we close this PR?
--
http://gcc
--- Comment #6 from victork at gcc dot gnu dot org 2007-10-30 06:51 ---
I'm not sure, but it looks like PR33319 is duplicate of this one.
(pr27549.C when compiled with -ftree-vectorize).
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31081
--- Comment #6 from victork at gcc dot gnu dot org 2007-10-23 06:57 ---
I think this bug is duplicate of pr31081.
Probably versioning which is done by vectorizer exposes the problem in inliner.
I've attached the vectorizer dump for analysys (pr27549.C.103t.vect)
% gdb --args
--- Comment #5 from victork at gcc dot gnu dot org 2007-10-23 06:53 ---
Created an attachment (id=14394)
--> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=14394&action=view)
vectorizer dump
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33319
--- Comment #32 from victork at gcc dot gnu dot org 2007-10-09 06:55
---
Zdenek, do you need an access to PPC, in order to look into this?
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32582
--- Comment #4 from victork at gcc dot gnu dot org 2007-10-09 06:52 ---
The problem starts when dependence checker fails to find distance vector
for a known dependence. I've opened another missed-optimization PR33707.
The vectorizer continue by means of versioning for alias. I
Keywords: missed-optimization
Severity: minor
Priority: P3
Component: tree-optimization
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: victork at gcc dot gnu dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33707
--- Comment #2 from victork at gcc dot gnu dot org 2007-09-17 09:37 ---
Subject: Bug 33319
Author: victork
Date: Mon Sep 17 09:37:31 2007
New Revision: 128539
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=128539
Log:
PR tree-optimization/33319
* t
--- Comment #9 from victork at gcc dot gnu dot org 2006-08-07 11:28 ---
Subject: Bug 26969
Author: victork
Date: Mon Aug 7 11:28:31 2006
New Revision: 115995
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=115995
Log:
ChangeLog
PR tree-optimization/26969
--- Comment #6 from victork at gcc dot gnu dot org 2006-06-05 08:56 ---
Subject: Bug 26360
Author: victork
Date: Mon Jun 5 08:56:49 2006
New Revision: 114386
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=114386
Log:
Changelog:
PR tree-optimization/26360
--- Comment #11 from victork at gcc dot gnu dot org 2006-02-16 09:59
---
Subject: Bug 25918
Author: victork
Date: Thu Feb 16 09:59:00 2006
New Revision: 35
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=35
Log:
testsuite/
2006-02-16 Victor Kaplansky <[EMAI
57 matches
Mail list logo