From d7e9a32ab05c1c1ebb1ec6cf1dea7b2907ed8a09 Mon Sep 17 00:00:00 2001 From: Michael Weiser Date: Fri, 5 Jan 2018 13:58:54 +0000 Subject: [PATCH] [PATCH, PR83492] Fix selection of aarch64 big-endian shift parameters based on __AARCH64EB__ 2018-01-05 Michael Weiser Backport from trunk 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. From-SVN: r256278 --- libcpp/ChangeLog | 10 ++++++++++ libcpp/lex.c | 2 +- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/libcpp/ChangeLog b/libcpp/ChangeLog index 907eaed1ebe..8967b7d8a14 100644 --- a/libcpp/ChangeLog +++ b/libcpp/ChangeLog @@ -1,3 +1,13 @@ +2018-01-05 Michael Weiser + + Backport from trunk + 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-08-14 Release Manager * GCC 7.2.0 released. diff --git a/libcpp/lex.c b/libcpp/lex.c index 9edd2a6afdb..097c78002cb 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};