This is the mail archive of the gcc@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]

Re: Use of check_vect() in vectorizer testsuite


Devang Patel <dpatel@apple.com> wrote:

> check_vect() is used to test whether to run the test or not. Now,
> vect.exp does the job more efficiently.
>
>       29 # If the target system supports vector instructions, the
> default action
>       30 # for a test is 'run', otherwise it's 'compile'.  Save
> current default.
>       31 # Executing vector instructions on a system without hardware
> vector support
>       32 # is also disabled by a call to check_vect, but disabling
> execution here is
>       33 # more efficient.
>
>
> And dg-require-... should control whether this test should be enabled
> or not. So depending upon the failure (runtime or compiler not
> vectorizing loops), you want to update appropriate code block in
> vect.exp for your platform.

The point is that my target is i686-pc-linux-gnu, which supports vector
instruction (through -msse2), but whether the instructions can actually be
run or not depends on the given processor (e.g. Pentium 3 vs Pentium 4).
Even if my processor cannot *execute* the vectorized tests, I would still
like to test whether vectorization succeeds or not (that is, at least as
compile-time tests).

So, the point is that you cannot select between compile-time/run-time based
on a target triplet check, at least for this target. What do you suggest?
All the other tests use check_vect() exactly for this reason, as far as I
can see, so it looks to me that the sensible thing to do is to use
check_vect there as well.

For an example of the failures, see for instance:
http://gcc.gnu.org/ml/gcc-testresults/2005-06/msg00553.html (which is
Diego's tester).
-- 
Giovanni Bajo


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]