[PATCH, PR83492] Fix selection of aarch64 big-endian shift parameters based on __AARCH64EB__

2018-01-05  Michael Weiser  <michael.weiser@gmx.de>

	Backport from trunk
	2017-12-20  Michael Weiser  <michael.weiser@gmx.de>

	PR preprocessor/83492
	* lex.c (search_line_fast) [__ARM_NEON && __ARM_64BIT_STATE]:
	Fix selection of big-endian shift parameters by using
	__ARM_BIG_ENDIAN.

From-SVN: r256278
This commit is contained in:
Michael Weiser 2018-01-05 13:58:54 +00:00 committed by Kyrylo Tkachov
parent 30833826aa
commit d7e9a32ab0
2 changed files with 11 additions and 1 deletions

View File

@ -1,3 +1,13 @@
2018-01-05 Michael Weiser <michael.weiser@gmx.de>
Backport from trunk
2017-12-20 Michael Weiser <michael.weiser@gmx.de>
PR preprocessor/83492
* lex.c (search_line_fast) [__ARM_NEON && __ARM_64BIT_STATE]:
Fix selection of big-endian shift parameters by using
__ARM_BIG_ENDIAN.
2017-08-14 Release Manager
* GCC 7.2.0 released.

View File

@ -772,7 +772,7 @@ search_line_fast (const uchar *s, const uchar *end ATTRIBUTE_UNUSED)
const uint8x16_t repl_qm = vdupq_n_u8 ('?');
const uint8x16_t xmask = (uint8x16_t) vdupq_n_u64 (0x8040201008040201ULL);
#ifdef __AARCH64EB
#ifdef __ARM_BIG_ENDIAN
const int16x8_t shift = {8, 8, 8, 8, 0, 0, 0, 0};
#else
const int16x8_t shift = {0, 0, 0, 0, 8, 8, 8, 8};