Devang Patel <[EMAIL PROTECTED]> 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