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