diff options
author | rth <rth@138bc75d-0d04-0410-961f-82ee72b054a4> | 2010-08-21 19:05:40 +0000 |
---|---|---|
committer | rth <rth@138bc75d-0d04-0410-961f-82ee72b054a4> | 2010-08-21 19:05:40 +0000 |
commit | 2431e8baed362f79e38b5e492a417bf99f24704f (patch) | |
tree | be59d009f746b778dfd3ea463d4b4b994b456230 /libcpp/system.h | |
parent | 802532b9e1829c6b2db8a490415ee351df7023f2 (diff) | |
download | gcc-2431e8baed362f79e38b5e492a417bf99f24704f.tar.gz |
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 '?'.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163446 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libcpp/system.h')
-rw-r--r-- | libcpp/system.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/libcpp/system.h b/libcpp/system.h index 2472799c4b2..1a74734a73e 100644 --- a/libcpp/system.h +++ b/libcpp/system.h @@ -29,6 +29,9 @@ along with GCC; see the file COPYING3. If not see #ifdef HAVE_STDDEF_H # include <stddef.h> #endif +#ifdef HAVE_STDINT_H +# include <stdint.h> +#endif #include <stdio.h> |