This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: [lno] auto vectorizing on x86-64 broken
- From: Dorit Naishlos <DORIT at il dot ibm dot com>
- To: Andi Kleen <ak at muc dot de>
- Cc: gcc at gcc dot gnu dot org, Sebastian Pop <sebastian dot pop at cri dot ensmp dot fr>
- Date: Sun, 4 Jul 2004 16:45:16 +0300
- Subject: Re: [lno] auto vectorizing on x86-64 broken
> This means the i386 backend needs new patterns for logical operations
> like you added to altivec.md ?
I suspect so.
> FAIL: gcc.dg/tree-ssa-vect/tree-ssa-vect-17.c scan-tree-dump-times
vectorized 3 loops 1
> FAIL: gcc.dg/tree-ssa-vect/tree-ssa-vect-18.c scan-tree-dump-times
vectorized 3 loops 1
> FAIL: gcc.dg/tree-ssa-vect/tree-ssa-vect-19.c scan-tree-dump-times
vectorized 3 loops 1
> FAIL: gcc.dg/tree-ssa-vect/tree-ssa-vect-20.c scan-tree-dump-times
vectorized 3 loops 1
bitwise operations - may need to add new patterns to i*86 (see
http://gcc.gnu.org/ml/gcc-patches/2004-04/msg00907.html).
> FAIL: gcc.dg/tree-ssa-vect/tree-ssa-vect-30.c (test for excess errors)
> FAIL: gcc.dg/tree-ssa-vect/tree-ssa-vect-30.c scan-tree-dump-times
vectorized 1 loops 2
> FAIL: gcc.dg/tree-ssa-vect/tree-ssa-vect-46.c (test for excess errors)
> FAIL: gcc.dg/tree-ssa-vect/tree-ssa-vect-46.c scan-tree-dump-times
vectorized 1 loops 1
> FAIL: gcc.dg/tree-ssa-vect/tree-ssa-vect-8.c (test for excess errors)
> FAIL: gcc.dg/tree-ssa-vect/tree-ssa-vect-8.c scan-tree-dump-times
vectorized 1 loops 1
> FAIL: gcc.dg/tree-ssa-vect/tree-ssa-vect-none.c (test for excess errors)
> FAIL: gcc.dg/tree-ssa-vect/tree-ssa-vect-none.c scan-tree-dump-times
vectorized 3
> FAIL: gcc.dg/tree-ssa-vect/tree-ssa-vect-none.c scan-tree-dump-times
vectorized 1 loops 1
known ICE in test-cases with unknown loop bound (a fix is in the works).
> FAIL: gcc.dg/tree-ssa-vect/tree-ssa-vect-40.c execution test
> FAIL: gcc.dg/tree-ssa-vect/tree-ssa-vect-41.c execution test
> FAIL: gcc.dg/tree-ssa-vect/tree-ssa-vect-42.c execution test
> FAIL: gcc.dg/tree-ssa-vect/tree-ssa-vect-43.c execution test
> FAIL: gcc.dg/tree-ssa-vect/tree-ssa-vect-44.c execution test
> FAIL: gcc.dg/tree-ssa-vect/tree-ssa-vect-45.c execution test
> FAIL: gcc.dg/tree-ssa-vect/tree-ssa-vect-47.c execution test
> FAIL: gcc.dg/tree-ssa-vect/tree-ssa-vect-48.c execution test
> FAIL: gcc.dg/tree-ssa-vect/tree-ssa-vect-49.c execution test
These are because there's no "return 0" at the end of the test-cases - I'll
commit a fix shortly.
dorit.
Andi Kleen
<ak@muc.de> To: Dorit Naishlos/Haifa/IBM@IBMIL
cc: gcc@gcc.gnu.org, Sebastian Pop <sebastian.pop@cri.ensmp.fr>
04/07/2004 01:44 Subject: Re: [lno] auto vectorizing on x86-64 broken
On Sat, Jul 03, 2004 at 10:24:38PM +0300, Dorit Naishlos wrote:
> > FAIL: gcc.dg/tree-ssa-vect/tree-ssa-vect-17.c scan-tree-dump-times
> vectorized lloops 1
>
> This one, as well as tree-ssa-vect-[18,19,20].c, are known problems:
> http://gcc.gnu.org/ml/gcc-patches/2004-04/msg00907.html
This means the i386 backend needs new patterns for logical operations
like you added to altivec.md ?
>
> > It seems to vectorize a few loops in some test cases, but the majority
> > fails. Any ideas why this doesn't work on x86-64?
>
> The only other failures I know of (on any platform) are an ICE in
> tree-ssa-vect-[8,30,46,none].c which is related to the unknown loop bound
> support; it has since been rewritten (should be submitted to lno soon).
> There's also an execution error (on ppc) in tree-ssa-vect-[6,all].c
(looks
> like swapped arguments in vnmsubfp). Do you see other failures? I can
check
> what's the status of the tests on i686-pc-linux-gnu.
Here's all failures I see on x86-64:
FAIL: gcc.dg/tree-ssa-vect/tree-ssa-vect-17.c scan-tree-dump-times
vectorized 3 loops 1
FAIL: gcc.dg/tree-ssa-vect/tree-ssa-vect-18.c scan-tree-dump-times
vectorized 3 loops 1
FAIL: gcc.dg/tree-ssa-vect/tree-ssa-vect-19.c scan-tree-dump-times
vectorized 3 loops 1
FAIL: gcc.dg/tree-ssa-vect/tree-ssa-vect-20.c scan-tree-dump-times
vectorized 3 loops 1
FAIL: gcc.dg/tree-ssa-vect/tree-ssa-vect-30.c (test for excess errors)
FAIL: gcc.dg/tree-ssa-vect/tree-ssa-vect-30.c scan-tree-dump-times
vectorized 1 loops 2
FAIL: gcc.dg/tree-ssa-vect/tree-ssa-vect-40.c execution test
FAIL: gcc.dg/tree-ssa-vect/tree-ssa-vect-41.c execution test
FAIL: gcc.dg/tree-ssa-vect/tree-ssa-vect-42.c execution test
FAIL: gcc.dg/tree-ssa-vect/tree-ssa-vect-43.c execution test
FAIL: gcc.dg/tree-ssa-vect/tree-ssa-vect-44.c execution test
FAIL: gcc.dg/tree-ssa-vect/tree-ssa-vect-45.c execution test
FAIL: gcc.dg/tree-ssa-vect/tree-ssa-vect-46.c (test for excess errors)
FAIL: gcc.dg/tree-ssa-vect/tree-ssa-vect-46.c scan-tree-dump-times
vectorized 1 loops 1
FAIL: gcc.dg/tree-ssa-vect/tree-ssa-vect-47.c execution test
FAIL: gcc.dg/tree-ssa-vect/tree-ssa-vect-48.c execution test
FAIL: gcc.dg/tree-ssa-vect/tree-ssa-vect-49.c execution test
FAIL: gcc.dg/tree-ssa-vect/tree-ssa-vect-8.c (test for excess errors)
FAIL: gcc.dg/tree-ssa-vect/tree-ssa-vect-8.c scan-tree-dump-times
vectorized 1 loops 1
FAIL: gcc.dg/tree-ssa-vect/tree-ssa-vect-none.c (test for excess errors)
FAIL: gcc.dg/tree-ssa-vect/tree-ssa-vect-none.c scan-tree-dump-times
vectorized 3
FAIL: gcc.dg/tree-ssa-vect/tree-ssa-vect-none.c scan-tree-dump-times
vectorized 1 loops 1
-Andi