This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.
| Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
|---|---|---|
| Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
| Other format: | [Raw text] | |
This patch enables the vectorizer testcases for the SPU, and fixes a few
bits here and there to have the vectorizer testsuite pass (almost) cleanly.
Enabling the testcases for the SPU just means adding this in vect.exp:
@@ -49,6 +49,8 @@
}
set dg-do-what-default compile
}
+} elseif { [istarget "spu-*-*"] } {
+ set dg-do-what-default run
} elseif { [istarget "i?86-*-*"] || [istarget "x86_64-*-*"] } {
lappend DEFAULT_VECTCFLAGS "-msse2"
set dg-do-what-default run
and also adding spu to the list of targets that support vector float, int,
and double (in target-supports.exp).
In the meantime, I also added the spu to list of targets that don't support
misalignment (until I model the "mask_for_realign_load" idiom - coming up).
These are the testcases that failed (when just adding the above to vect.exp
and target-support.exp), and corresponfing fixes:
(1) testcases that xpass because of this problem:
http://gcc.gnu.org/ml/gcc-patches/2006-12/msg00017.html (the patch to fix
this is also included in that link):
XPASS: gcc.dg/vect/pr16105.c scan-tree-dump-times vectorized 1 loops 1
XPASS: gcc.dg/vect/pr20122.c scan-tree-dump-times vectorized 1 loops 2
XPASS: gcc.dg/vect/vect-105.c scan-tree-dump-times vectorized 1 loops 1
XPASS: gcc.dg/vect/vect-30.c scan-tree-dump-times vectorized 1 loops 2
XPASS: gcc.dg/vect/vect-42.c scan-tree-dump-times vectorized 1 loops 1
XPASS: gcc.dg/vect/vect-43.c scan-tree-dump-times vectorized 1 loops 1
XPASS: gcc.dg/vect/vect-74.c scan-tree-dump-times vectorized 1 loops 1
XPASS: gcc.dg/vect/vect-75.c scan-tree-dump-times vectorized 1 loops 1
XPASS: gcc.dg/vect/vect-8.c scan-tree-dump-times vectorized 1 loops 1
XPASS: gcc.dg/vect/vect-multitypes-3.c scan-tree-dump-times vectorized 1
loops 1
XPASS: gcc.dg/vect/vect-multitypes-6.c scan-tree-dump-times vectorized 1
loops 1
(2) testcases that require integer maximum vector idiom; Until we model the
required idioms, I'm adding the spu to the list of targets that are
"no_int_max" (for which the testcase already xfails):
FAIL: gcc.dg/vect/vect-13.c scan-tree-dump-times vectorized 1 loops 1
FAIL: gcc.dg/vect/vect-reduc-1.c scan-tree-dump-times vectorized 3 loops 1
FAIL: gcc.dg/vect/vect-reduc-1char.c scan-tree-dump-times vectorized 3
loops 1
FAIL: gcc.dg/vect/vect-reduc-1short.c scan-tree-dump-times vectorized 3
loops 1
FAIL: gcc.dg/vect/vect-reduc-2.c scan-tree-dump-times vectorized 3 loops 1
FAIL: gcc.dg/vect/wrapv-vect-reduc-2char.c scan-tree-dump-times vectorized
3 loops 1
FAIL: gcc.dg/vect/wrapv-vect-reduc-2short.c scan-tree-dump-times vectorized
3 loops 1
(3) testcases that fail because the data is too large; The data size is
really not the point of these tests, so I just reduced the size of the
arrays in these tests:
FAIL: gcc.dg/vect/vect-70.c execution test
FAIL: gcc.dg/vect/no-section-anchors-vect-69.c (test for excess errors)
WARNING: gcc.dg/vect/no-section-anchors-vect-69.c compilation failed to
produce executable
(4) testcases that require a float maximum vector idiom. I modeled this one
in spu.md:
FAIL: gcc.dg/vect/fast-math-vect-reduc-5.c scan-tree-dump-times vectorized
3 loops 1
(5) testcases that require double-precision-fp conditional operations. I
added a keyword for targets that don't support this, and xfailed this test
for those targets:
FAIL: gcc.dg/vect/fast-math-vect-reduc-7.c scan-tree-dump-times vectorized
3 loops 1
(6) these tests would still fail (a fix is not included in this patch). I
think this is related to the fact that we son't have neg and sub idioms for
v16qi, so we fall back to use TImode, and I guess the respective TImode
arithmetic is wrong:
FAIL: gcc.dg/vect/vect-22.c execution test
FAIL: gcc.dg/vect/vect-reduc-1char.c execution test
FAIL: gcc.dg/vect/wrapv-vect-reduc-2char.c execution test
tested on the vectorizer testcases. ok to commit once passes full
regression suite?
thanks,
dorit
(See attached file: spupatch.txt)Attachment:
spupatch.txt
Description: Text document
| Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
|---|---|---|
| Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |