Skip to content
Snippets Groups Projects
  • Richard Henderson's avatar
    246a2fcb
    Vectorize fast path of _cpp_clean_line. · 246a2fcb
    Richard Henderson authored
    
    	* 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: default avatarAndi Kleen <ak@linux.intel.com>
    Co-Authored-By: default avatarDavid S. Miller <davem@davemloft.net>
    
    From-SVN: r163446
    246a2fcb
    History
    Vectorize fast path of _cpp_clean_line.
    Richard Henderson authored
    
    	* 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: default avatarAndi Kleen <ak@linux.intel.com>
    Co-Authored-By: default avatarDavid S. Miller <davem@davemloft.net>
    
    From-SVN: r163446