]> git.ipfire.org Git - thirdparty/gcc.git/commit - libcpp/ChangeLog
Vectorize fast path of _cpp_clean_line.
authorRichard Henderson <rth@redhat.com>
Sat, 21 Aug 2010 19:05:40 +0000 (12:05 -0700)
committerRichard Henderson <rth@gcc.gnu.org>
Sat, 21 Aug 2010 19:05:40 +0000 (12:05 -0700)
commit246a2fcb5ebf059b9761cec0d0d4b7c0c1147f17
treebe59d009f746b778dfd3ea463d4b4b994b456230
parent1d0134b3ccdc7e224f89540f05898742b13fecf9
Vectorize fast path of _cpp_clean_line.

* configure.ac (AC_C_BIGENDIAN, AC_TYPE_UINTPTR_T): New tests.
(ssize_t): Check via AC_TYPE_SSIZE_T instead of AC_CHECK_TYPE.
(ptrdiff_t): Check via AC_CHECK_TYPE.
* config.in, configure: Rebuild.
* system.h: Include stdint.h, if available.
* lex.c (WORDS_BIGENDIAN): Provide default.
(acc_char_mask_misalign, acc_char_replicate, acc_char_cmp,
acc_char_index, search_line_acc_char, repl_chars, search_line_mmx,
search_line_sse2, search_line_sse42, init_vectorized_lexer,
search_line_fast): New.
(_cpp_clean_line): Use search_line_fast.  Restructure the fast
loop to make it clear when we're leaving the loop.  Stay in the
fast loop for non-trigraph '?'.

Co-Authored-By: Andi Kleen <ak@linux.intel.com>
Co-Authored-By: David S. Miller <davem@davemloft.net>
From-SVN: r163446
libcpp/ChangeLog
libcpp/config.in
libcpp/configure
libcpp/configure.ac
libcpp/lex.c
libcpp/system.h