https://gcc.gnu.org/g:80b52301e8ee9a211ee882863b32caf613fd0a78
commit r15-6956-g80b52301e8ee9a211ee882863b32caf613fd0a78 Author: Tamar Christina <tamar.christ...@arm.com> Date: Thu Jan 16 12:54:44 2025 +0000 middle-end: Add early break conditions to vect-switch-search-line-fast.c [PR118451] When this test was added initially it didn't add the early break effective target tests. This means that the test was "passing" (as in, it was failing to vectorize) because many targets don't support early break. But the test should not have been run for these targets. When the vectorizer learned PFA the test started passing for 32-bit targets. I had adjusted the testcase but fail to notice the requirements were wrong. Thus this adds the extra guards, and on targets that don't support early break this test will move to UNSUPPORTED, which is what it should have been all along... gcc/testsuite/ChangeLog: PR testsuite/118451 * gcc.dg/vect/vect-switch-search-line-fast.c: Add early_break guards. Diff: --- gcc/testsuite/gcc.dg/vect/vect-switch-search-line-fast.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/gcc/testsuite/gcc.dg/vect/vect-switch-search-line-fast.c b/gcc/testsuite/gcc.dg/vect/vect-switch-search-line-fast.c index 02ad7a451ca2..21c77f49ebd7 100644 --- a/gcc/testsuite/gcc.dg/vect/vect-switch-search-line-fast.c +++ b/gcc/testsuite/gcc.dg/vect/vect-switch-search-line-fast.c @@ -1,6 +1,8 @@ /* PR116126 -- once this works use this version in libcpp/lex.c. This also requires working value range propagation for s/end. */ /* { dg-do compile } */ +/* { dg-add-options vect_early_break } */ +/* { dg-require-effective-target vect_early_break } */ /* { dg-require-effective-target vect_int } */ const unsigned char *search_line_fast2 (const unsigned char *s,