/* 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, const unsigned char *end) { while (s < end) { if (*s == '\n' || *s == '\r' || *s == '\\' || *s == '?') break; s++; } return s; } /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target { ilp32 || { amdgcn*-*-* } } } } } */ /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 0 "vect" { target { ! { ilp32 || { amdgcn*-*-* } } } } } } */