This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[patch, ARM] Implement Neon-optimized version of search_line_fast


search_line_fast in the lexer is documented as being a critical path.
Several architectures already provide an optimized implementation of
this routine using vector operations.  This patch provides a version for
ARM using the Neon vector extensions.

Although it has not been tested on big-endian (I don't have anything
big-endian to do native testing on), I believe the code doesn't need
further porting: the use of vld1q_u8() to read the data from memory will
always put the lowest addressed byte into lane 0 of the vector.

Bootstrapped on arm-linux-gnueabi with the necessary options to enable
the use of Neon.

OK for trunk?

	* lex.c (search_line_fast): Provide Neon-optimized version for ARM.

Attachment: lex.patch
Description: Text document


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]