diff --git a/libcpp/ChangeLog b/libcpp/ChangeLog index 5a41cf4b5f5..2224b9ea315 100644 --- a/libcpp/ChangeLog +++ b/libcpp/ChangeLog @@ -1,3 +1,10 @@ +2017-12-20 Michael Weiser + + 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-12-14 Bernd Edlinger * internal.h (maybe_print_line): Change signature. diff --git a/libcpp/lex.c b/libcpp/lex.c index a8dc3bae5e4..6fca2577105 100644 --- a/libcpp/lex.c +++ b/libcpp/lex.c @@ -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};