diff options
author | Richard Henderson <rth@redhat.com> | 2010-08-21 12:05:40 -0700 |
---|---|---|
committer | Richard Henderson <rth@gcc.gnu.org> | 2010-08-21 12:05:40 -0700 |
commit | 246a2fcb5ebf059b9761cec0d0d4b7c0c1147f17 (patch) | |
tree | be59d009f746b778dfd3ea463d4b4b994b456230 /libcpp/config.in | |
parent | 1d0134b3ccdc7e224f89540f05898742b13fecf9 (diff) | |
download | gcc-246a2fcb5ebf059b9761cec0d0d4b7c0c1147f17.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 '?'.
Co-Authored-By: Andi Kleen <ak@linux.intel.com>
Co-Authored-By: David S. Miller <davem@davemloft.net>
From-SVN: r163446
Diffstat (limited to 'libcpp/config.in')
-rw-r--r-- | libcpp/config.in | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/libcpp/config.in b/libcpp/config.in index 996993405db..95606c18abf 100644 --- a/libcpp/config.in +++ b/libcpp/config.in @@ -1,5 +1,8 @@ /* config.in. Generated from configure.ac by autoheader. */ +/* Define if building universal (internal helper macro) */ +#undef AC_APPLE_UNIVERSAL_BUILD + /* Define to one of `_getb67', `GETB67', `getb67' for Cray-2 and Cray-YMP systems. This function is required for `alloca.c' support on those systems. */ @@ -209,6 +212,9 @@ /* Define if <sys/types.h> defines \`uchar'. */ #undef HAVE_UCHAR +/* Define to 1 if the system has the type `uintptr_t'. */ +#undef HAVE_UINTPTR_T + /* Define to 1 if you have the <unistd.h> header file. */ #undef HAVE_UNISTD_H @@ -266,6 +272,18 @@ /* Define to 1 if your <sys/time.h> declares `struct tm'. */ #undef TM_IN_SYS_TIME +/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most + significant byte first (like Motorola and SPARC, unlike Intel). */ +#if defined AC_APPLE_UNIVERSAL_BUILD +# if defined __BIG_ENDIAN__ +# define WORDS_BIGENDIAN 1 +# endif +#else +# ifndef WORDS_BIGENDIAN +# undef WORDS_BIGENDIAN +# endif +#endif + /* Define to empty if `const' does not conform to ANSI C. */ #undef const @@ -278,8 +296,15 @@ /* Define to `long int' if <sys/types.h> does not define. */ #undef off_t +/* Define to `int' if <sys/types.h> does not define. */ +#undef ptrdiff_t + /* Define to `unsigned int' if <sys/types.h> does not define. */ #undef size_t /* Define to `int' if <sys/types.h> does not define. */ #undef ssize_t + +/* Define to the type of an unsigned integer type wide enough to hold a + pointer, if such a type exists, and if the system does not define it. */ +#undef uintptr_t |