From: Tamar Christina Date: Thu, 16 Jan 2025 12:54:44 +0000 (+0000) Subject: middle-end: Add early break conditions to vect-switch-search-line-fast.c [PR118451] X-Git-Tag: basepoints/gcc-16~2597 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=80b52301e8ee9a211ee882863b32caf613fd0a78;p=thirdparty%2Fgcc.git 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 --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 02ad7a451ca..21c77f49ebd 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,